From 3cc5058e7149ef78b76101c85a5e7ee29ea9261e Mon Sep 17 00:00:00 2001 From: Wendell Mor Tamayo <107296776+WendellMorTamayo@users.noreply.github.com> Date: Tue, 3 Sep 2024 08:59:54 +0800 Subject: [PATCH 001/162] feat(chrysalis): cbor serialization engine (#1) * chore: remove existing classes to start with a clean slate * feat: add primitive types record * feat: initial implementation of (de)serializer engine * feat: add Primitive record types * chore: move `.sln` file to root * feat: add other types from the CDDL * feat: initial CborSerializer engine implementation * feat: create parameterized unit test * chore: improve code and type quality * feat: add util method for getting CborTag * feat: cbor serializer now supports Union and Constructor types * chore: add new datum records * chore: add indefinite field for `CborSerializableAttribute` * feat: add util methods for getting `Value` and getting `CborType` * feat: add test for `Treasury`, `PosixTime` and `MultisigScript` * feat: adjusted the CborSerializer engine to support other types * refactor: move `SerializeRecordAsMap` method * chore: add todo for serializing maps * feat: implement definite and indefinite map types * chore: remove todo comment from `SerializeMap` * feat: implement indefinite and definite types to `SerializeRecordAsMap` * fix: remove hardcoded cborType list from `DeserializeCbor` * feat: add partial support for custom maps and list * chore: comment off transaction output test --- Chrysalis.sln | 37 ++ src/Chrysalis.Test/AddressTest.cs | 80 --- src/Chrysalis.Test/AssetTests.cs | 38 -- src/Chrysalis.Test/Bech32Test.cs | 24 - src/Chrysalis.Test/CborSerializationTests.cs | 48 ++ .../CborSerializationV2Tests.cs | 38 -- src/Chrysalis.Test/Chrysalis.Test.csproj | 54 +- src/Chrysalis.Test/GlobalUsings.cs | 1 - src/Chrysalis.Test/MultiAssetTests.cs | 51 -- src/Chrysalis.Test/TransactionBodyTests.cs | 29 - src/Chrysalis.Test/TransactionInputTests.cs | 53 -- src/Chrysalis.Test/TransactionInputsTests.cs | 44 -- src/Chrysalis.Test/TransactionOutputTests.cs | 52 -- src/Chrysalis.Test/TransactionTest.cs | 18 - src/Chrysalis.Test/ValueTests.cs | 47 -- src/Chrysalis.sln | 31 - src/Chrysalis/Bech32.cs | 211 ------- src/Chrysalis/Cardano/Models/Address.cs | 183 ------ src/Chrysalis/Cardano/Models/Asset.cs | 13 - src/Chrysalis/Cardano/Models/CIP68.cs | 16 + src/Chrysalis/Cardano/Models/CborBytes.cs | 6 + src/Chrysalis/Cardano/Models/CborInt.cs | 6 + src/Chrysalis/Cardano/Models/CborList.cs | 6 + src/Chrysalis/Cardano/Models/CborMap.cs | 9 + src/Chrysalis/Cardano/Models/CborUlong.cs | 8 + .../Cardano/Models/Coinecta/Treasury.cs | 10 + src/Chrysalis/Cardano/Models/Example.cs | 16 - src/Chrysalis/Cardano/Models/MultiAsset.cs | 17 +- .../Cardano/Models/MultisigScript.cs | 28 + src/Chrysalis/Cardano/Models/None.cs | 6 + src/Chrysalis/Cardano/Models/Option.cs | 7 + .../Models/PostAlonzoTransactionOutput.cs | 9 + .../Models/PreBabageTransactionOutput.cs | 10 + src/Chrysalis/Cardano/Models/Some.cs | 6 + src/Chrysalis/Cardano/Models/TokenBundle.cs | 5 + src/Chrysalis/Cardano/Models/Transaction.cs | 35 -- .../Cardano/Models/TransactionBody.cs | 49 +- .../Cardano/Models/TransactionInput.cs | 46 +- .../Cardano/Models/TransactionInputs.cs | 13 - .../Cardano/Models/TransactionOutput.cs | 38 +- .../Cardano/Models/TransactionOutputs.cs | 14 - src/Chrysalis/Cardano/Models/Value.cs | 51 -- src/Chrysalis/Cbor/CborIndex.cs | 14 +- src/Chrysalis/Cbor/CborPropertyAttribute.cs | 26 +- src/Chrysalis/Cbor/CborRepresentation.cs | 17 - .../Cbor/CborSerializableAttribute.cs | 26 + src/Chrysalis/Cbor/CborSerializer.cs | 510 ++++++++++++++- src/Chrysalis/Cbor/CborSerializerV2.cs | 585 ------------------ src/Chrysalis/Cbor/CborType.cs | 12 + src/Chrysalis/Cbor/CborTypeAttribute.cs | 13 - src/Chrysalis/Cbor/CborUnionTypes.cs | 7 + src/Chrysalis/Cbor/ICbor.cs | 3 + src/Chrysalis/Cbor/ICborObject.cs | 11 - src/Chrysalis/Utils/CborSerializerUtils.cs | 54 ++ 54 files changed, 892 insertions(+), 1849 deletions(-) create mode 100644 Chrysalis.sln delete mode 100644 src/Chrysalis.Test/AddressTest.cs delete mode 100644 src/Chrysalis.Test/AssetTests.cs delete mode 100644 src/Chrysalis.Test/Bech32Test.cs create mode 100644 src/Chrysalis.Test/CborSerializationTests.cs delete mode 100644 src/Chrysalis.Test/CborSerializationV2Tests.cs delete mode 100644 src/Chrysalis.Test/GlobalUsings.cs delete mode 100644 src/Chrysalis.Test/MultiAssetTests.cs delete mode 100644 src/Chrysalis.Test/TransactionBodyTests.cs delete mode 100644 src/Chrysalis.Test/TransactionInputTests.cs delete mode 100644 src/Chrysalis.Test/TransactionInputsTests.cs delete mode 100644 src/Chrysalis.Test/TransactionOutputTests.cs delete mode 100644 src/Chrysalis.Test/TransactionTest.cs delete mode 100644 src/Chrysalis.Test/ValueTests.cs delete mode 100644 src/Chrysalis.sln delete mode 100644 src/Chrysalis/Bech32.cs delete mode 100644 src/Chrysalis/Cardano/Models/Address.cs delete mode 100644 src/Chrysalis/Cardano/Models/Asset.cs create mode 100644 src/Chrysalis/Cardano/Models/CIP68.cs create mode 100644 src/Chrysalis/Cardano/Models/CborBytes.cs create mode 100644 src/Chrysalis/Cardano/Models/CborInt.cs create mode 100644 src/Chrysalis/Cardano/Models/CborList.cs create mode 100644 src/Chrysalis/Cardano/Models/CborMap.cs create mode 100644 src/Chrysalis/Cardano/Models/CborUlong.cs create mode 100644 src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs delete mode 100644 src/Chrysalis/Cardano/Models/Example.cs create mode 100644 src/Chrysalis/Cardano/Models/MultisigScript.cs create mode 100644 src/Chrysalis/Cardano/Models/None.cs create mode 100644 src/Chrysalis/Cardano/Models/Option.cs create mode 100644 src/Chrysalis/Cardano/Models/PostAlonzoTransactionOutput.cs create mode 100644 src/Chrysalis/Cardano/Models/PreBabageTransactionOutput.cs create mode 100644 src/Chrysalis/Cardano/Models/Some.cs create mode 100644 src/Chrysalis/Cardano/Models/TokenBundle.cs delete mode 100644 src/Chrysalis/Cardano/Models/Transaction.cs delete mode 100644 src/Chrysalis/Cardano/Models/TransactionInputs.cs delete mode 100644 src/Chrysalis/Cardano/Models/TransactionOutputs.cs delete mode 100644 src/Chrysalis/Cardano/Models/Value.cs delete mode 100644 src/Chrysalis/Cbor/CborRepresentation.cs create mode 100644 src/Chrysalis/Cbor/CborSerializableAttribute.cs delete mode 100644 src/Chrysalis/Cbor/CborSerializerV2.cs create mode 100644 src/Chrysalis/Cbor/CborType.cs delete mode 100644 src/Chrysalis/Cbor/CborTypeAttribute.cs create mode 100644 src/Chrysalis/Cbor/CborUnionTypes.cs create mode 100644 src/Chrysalis/Cbor/ICbor.cs delete mode 100644 src/Chrysalis/Cbor/ICborObject.cs create mode 100644 src/Chrysalis/Utils/CborSerializerUtils.cs diff --git a/Chrysalis.sln b/Chrysalis.sln new file mode 100644 index 00000000..c4a59a8f --- /dev/null +++ b/Chrysalis.sln @@ -0,0 +1,37 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.002.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{99A5B7BF-F17E-4EA3-A062-F783B9B7DB18}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis", "src\Chrysalis\Chrysalis.csproj", "{9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis.Test", "src\Chrysalis.Test\Chrysalis.Test.csproj", "{79F21F38-F55F-481B-9F8D-4EC6BAB86D8F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB}.Release|Any CPU.Build.0 = Release|Any CPU + {79F21F38-F55F-481B-9F8D-4EC6BAB86D8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {79F21F38-F55F-481B-9F8D-4EC6BAB86D8F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {79F21F38-F55F-481B-9F8D-4EC6BAB86D8F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {79F21F38-F55F-481B-9F8D-4EC6BAB86D8F}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB} = {99A5B7BF-F17E-4EA3-A062-F783B9B7DB18} + {79F21F38-F55F-481B-9F8D-4EC6BAB86D8F} = {99A5B7BF-F17E-4EA3-A062-F783B9B7DB18} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {AF7CDAC5-E37D-4AF4-B9D7-418C1B20E64F} + EndGlobalSection +EndGlobal diff --git a/src/Chrysalis.Test/AddressTest.cs b/src/Chrysalis.Test/AddressTest.cs deleted file mode 100644 index cd44016f..00000000 --- a/src/Chrysalis.Test/AddressTest.cs +++ /dev/null @@ -1,80 +0,0 @@ -using Chrysalis.Cardano.Models; - -namespace Chrysalis.Test; - -public class AddressTest -{ - [Fact] - public void Address_ToHex_FromHex_Test() - { - string expectedHex = "019493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e337b62cfff6403a06a3acbc34f8c46003c69fe79a3628cefa9c47251"; - - // Decode - Address address = Address.FromHex(expectedHex); - - // Encode - string resultHex = Address.ToHex(address).ToLowerInvariant(); - - // Assert - Assert.Equal(NetworkTag.Mainnet, address.NetworkTag); - Assert.Equal(AddressType.PaymentKeyHash_StakeKeyHash, address.AddressType); - Assert.Equal(expectedHex, resultHex); - Assert.Equal("9493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e", Convert.ToHexString(address.GetPaymentKeyHash()).ToLowerInvariant()); - Assert.Equal("337b62cfff6403a06a3acbc34f8c46003c69fe79a3628cefa9c47251", Convert.ToHexString(address.GetStakeKeyHash()).ToLowerInvariant()); - } - - - [Theory] - [InlineData("019493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e337b62cfff6403a06a3acbc34f8c46003c69fe79a3628cefa9c47251", "addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer3n0d3vllmyqwsx5wktcd8cc3sq835lu7drv2xwl2wywfgse35a3x")] - public void Address_Bech32_Test(string expectedHex, string expectedBech32) - { - // Convert the Bech32 string to Address - (_, var addressFromBech32) = Bech32.Decode(expectedBech32); // Assumes a Bech32.Decode implementation exists - var address = Address.FromBytes(addressFromBech32); - // Convert the Address object back to Bech32 string - string resultBech32 = address.ToBech32(); - - // Convert the Address object to its hex representation - string resultHex = Address.ToHex(address).ToLowerInvariant(); - - // Assert that the results match their expected values - Assert.Equal(expectedBech32, resultBech32); - Assert.Equal(expectedHex, resultHex); - } - - [Theory] - [InlineData("addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer3n0d3vllmyqwsx5wktcd8cc3sq835lu7drv2xwl2wywfgse35a3x")] - [InlineData("addr1z8phkx6acpnf78fuvxn0mkew3l0fd058hzquvz7w36x4gten0d3vllmyqwsx5wktcd8cc3sq835lu7drv2xwl2wywfgs9yc0hh")] - [InlineData("addr1yx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzerkr0vd4msrxnuwnccdxlhdjar77j6lg0wypcc9uar5d2shs2z78ve")] - [InlineData("addr1x8phkx6acpnf78fuvxn0mkew3l0fd058hzquvz7w36x4gt7r0vd4msrxnuwnccdxlhdjar77j6lg0wypcc9uar5d2shskhj42g")] - [InlineData("addr1gx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer5pnz75xxcrzqf96k")] - [InlineData("addr128phkx6acpnf78fuvxn0mkew3l0fd058hzquvz7w36x4gtupnz75xxcrtw79hu")] - [InlineData("addr1vx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzers66hrl8")] - [InlineData("addr1w8phkx6acpnf78fuvxn0mkew3l0fd058hzquvz7w36x4gtcyjy7wx")] - [InlineData("stake1uyehkck0lajq8gr28t9uxnuvgcqrc6070x3k9r8048z8y5gh6ffgw")] - [InlineData("stake178phkx6acpnf78fuvxn0mkew3l0fd058hzquvz7w36x4gtcccycj5")] - [InlineData("addr_test1qz2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer3n0d3vllmyqwsx5wktcd8cc3sq835lu7drv2xwl2wywfgs68faae")] - [InlineData("addr_test1zrphkx6acpnf78fuvxn0mkew3l0fd058hzquvz7w36x4gten0d3vllmyqwsx5wktcd8cc3sq835lu7drv2xwl2wywfgsxj90mg")] - [InlineData("addr_test1yz2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzerkr0vd4msrxnuwnccdxlhdjar77j6lg0wypcc9uar5d2shsf5r8qx")] - [InlineData("addr_test1xrphkx6acpnf78fuvxn0mkew3l0fd058hzquvz7w36x4gt7r0vd4msrxnuwnccdxlhdjar77j6lg0wypcc9uar5d2shs4p04xh")] - [InlineData("addr_test1gz2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer5pnz75xxcrdw5vky")] - [InlineData("addr_test12rphkx6acpnf78fuvxn0mkew3l0fd058hzquvz7w36x4gtupnz75xxcryqrvmw")] - [InlineData("addr_test1vz2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzerspjrlsz")] - [InlineData("addr_test1wrphkx6acpnf78fuvxn0mkew3l0fd058hzquvz7w36x4gtcl6szpr")] - [InlineData("stake_test1uqehkck0lajq8gr28t9uxnuvgcqrc6070x3k9r8048z8y5gssrtvn")] - [InlineData("stake_test17rphkx6acpnf78fuvxn0mkew3l0fd058hzquvz7w36x4gtcljw6kf")] - public void Address_Bech32DecodeEncode_Test(string inputBech32) - { - // Decode the Bech32 string - var (hrp, data) = Bech32.Decode(inputBech32); - - // Create an Address object from decoded data - Address address = Address.FromBytes(data); - - // Encode the Address object back to Bech32 - string outputBech32 = address.ToBech32(); - - // Assert - Assert.Equal(inputBech32, outputBech32); - } -} diff --git a/src/Chrysalis.Test/AssetTests.cs b/src/Chrysalis.Test/AssetTests.cs deleted file mode 100644 index 6feaff12..00000000 --- a/src/Chrysalis.Test/AssetTests.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Test; - -public class AssetTests -{ - [Fact] - public void TestAssetFromToCbor() - { - // Arrange - var originalAsset = new Asset - { - { "48595045534b554c4c535f56545f505f45", 1 }, - { "48595045534b554c4c535f56545f565f43", 2 }, - { "48595045534b554c4c535f56545f4d5f4545", 3 }, - { "48595045534b554c4c535f56545f41435f4545", 4 } - }; - - // Act - // Serialization - byte[] serializedCborData = CborSerializerV2.Serialize(originalAsset); - - // Deserialization - var deserializedAsset = CborSerializerV2.Deserialize(serializedCborData); - - // Assert - Assert.NotNull(deserializedAsset); - Assert.Equal(4, deserializedAsset.Count); - Assert.True(deserializedAsset.ContainsKey("48595045534b554c4c535f56545f505f45")); - Assert.True(deserializedAsset.ContainsKey("48595045534b554c4c535f56545f565f43")); - Assert.True(deserializedAsset.ContainsKey("48595045534b554c4c535f56545f4d5f4545")); - Assert.True(deserializedAsset.ContainsKey("48595045534b554c4c535f56545f41435f4545")); - Assert.Equal(1u, deserializedAsset["48595045534b554c4c535f56545f505f45"]); - Assert.Equal(2u, deserializedAsset["48595045534b554c4c535f56545f565f43"]); - Assert.Equal(3u, deserializedAsset["48595045534b554c4c535f56545f4d5f4545"]); - Assert.Equal(4u, deserializedAsset["48595045534b554c4c535f56545f41435f4545"]); - } -} \ No newline at end of file diff --git a/src/Chrysalis.Test/Bech32Test.cs b/src/Chrysalis.Test/Bech32Test.cs deleted file mode 100644 index 8dd0d6ba..00000000 --- a/src/Chrysalis.Test/Bech32Test.cs +++ /dev/null @@ -1,24 +0,0 @@ -namespace Chrysalis.Test; - -public class Bech32Test -{ - [Fact] - public void TestBech32Encoding() - { - // Arrange - var hrp = "addr"; // For Shelley addresses - byte[] data = Convert.FromHexString("019493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e337b62cfff6403a06a3acbc34f8c46003c69fe79a3628cefa9c47251"); - - // You can find a real-world example or use a known good library to generate an expected result. - var expectedBech32String = "addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer3n0d3vllmyqwsx5wktcd8cc3sq835lu7drv2xwl2wywfgse35a3x"; // replace ... with the expected encoding - - // Act - var result = Bech32.Encode(hrp, data); - (var decodedHrp, var payload) = Bech32.Decode(result); - - // Assert - Assert.Equal(expectedBech32String, result); - Assert.Equal(hrp, decodedHrp); - Assert.True(data.SequenceEqual(payload)); - } -} diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs new file mode 100644 index 00000000..7e001bd8 --- /dev/null +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -0,0 +1,48 @@ +using System.Reflection; +using Chrysalis.Cardano.Models; +using Chrysalis.Cardano.Models.Coinecta; +using Chrysalis.Cbor; +using Xunit; + +namespace Chrysalis.Test; + +public class CborSerializerTests +{ + [Theory] + [InlineData("1834", typeof(CborInt))] // Example hex for CBOR int 52 + [InlineData("4101", typeof(CborBytes))] // Example hex for CBOR bytes {0x01)] + [InlineData("1a000f4240", typeof(CborUlong))] // Example hex for CBOR ulong 1_000_000 + [InlineData("1a000f4240", typeof(PosixTime))] // Example hex for CBOR ulong 1_000_000 + [InlineData("43414243", typeof(CborBytes))] // Example hex for CBOR bytes of `ABC` string + [InlineData("a141614541696b656e", typeof(CborMap))] // {h'61': h'41696b656e'} + [InlineData("a1450001020304a1450001020304182a", typeof(MultiAsset))] // {h'61': h'41696b656e'} + [InlineData("9f0102030405ff", typeof(CborList))] // [_ 1, 2, 3, 4, 5] + [InlineData("9f824401020304182a824405060708182bff", typeof(CborList))] // [_ [h'01020304', 42_0], [h'05060708', 43_0]] + [InlineData("d8799f182aff", typeof(Option))] // Serialized CBOR for Option::Some(42): + [InlineData("d87a80", typeof(Option))] // Serialized CBOR for Option::None: + [InlineData("d8799f4180ff", typeof(Signature))] // Serialized CBOR for Signature: + // [InlineData("d8799f460001020304051a000f4240ff", typeof(PostAlonzoTransactionOutput))] // Serialized CBOR for PostAlonzoTransactionOutput: + [InlineData("d87c9f029fd8799f446b657931ffd8799f446b657932ffd8799f446b657933ffffff", typeof(AtLeast))] // Serialized CBOR for AtLeast Multisig: + [InlineData("d8799fd8799f581ceca3dfbde8ccb8408cefacda690e34aa9353af93fc02e75d8ba42f1bff58202325f3c999b17d4a6399bf6c02e1ff7615c13a73ecafae7fe813b9757f27ef2600ff", typeof(Treasury))] // Serialized CBOR for Signature: + public void SerializeAndDeserializePrimitives(string cborHex, Type type) + { + // Arrange + byte[] cborBytes = Convert.FromHexString(cborHex); + + // Act + MethodInfo? deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize)); + Assert.NotNull(deserializeMethod); + + MethodInfo? genericDeserializeMethod = deserializeMethod?.MakeGenericMethod(type); + Assert.NotNull(genericDeserializeMethod); + + object? cborObject = genericDeserializeMethod?.Invoke(null, [cborBytes]); + Assert.NotNull(cborObject); + + byte[] serializedBytes = CborSerializer.Serialize((ICbor)cborObject); + string serializedHex = Convert.ToHexString(serializedBytes).ToLowerInvariant(); + + // Assert + Assert.Equal(cborHex, serializedHex); + } +} \ No newline at end of file diff --git a/src/Chrysalis.Test/CborSerializationV2Tests.cs b/src/Chrysalis.Test/CborSerializationV2Tests.cs deleted file mode 100644 index 5fc6afbe..00000000 --- a/src/Chrysalis.Test/CborSerializationV2Tests.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Chrysalis.Cardano.Models; -using Chrysalis.Cbor; - -namespace Chrysalis.Test; - -public class CborSerializationV2Tests -{ - [Fact] - public void TestExampleSerializationAndDeserialization() - { - // Arrange - var nestedExample = new Example - { - TransactionId = "375aaf2a056d060b18b9f4b23233750b7bb7e5bca8655eceda87f2f76e542053", - Index = 1 - }; - - var original = new Example - { - TransactionId = "375aaf2a056d060b18b9f4b23233750b7bb7e5bca8655eceda87f2f76e542053", - Index = 0, - Examples = nestedExample // Adding nested object - }; - - // Act - byte[] serialized = CborSerializerV2.Serialize(original); - var deserialized = CborSerializerV2.Deserialize(serialized); - - // Assert - Assert.Equal(original.TransactionId, deserialized!.TransactionId); - Assert.Equal(original.Index, deserialized.Index); - - // Assert nested object - Assert.NotNull(deserialized.Examples); - Assert.Equal(nestedExample.TransactionId, deserialized.Examples.TransactionId); - Assert.Equal(nestedExample.Index, deserialized.Examples.Index); - } -} diff --git a/src/Chrysalis.Test/Chrysalis.Test.csproj b/src/Chrysalis.Test/Chrysalis.Test.csproj index 3534efc1..83f6066d 100644 --- a/src/Chrysalis.Test/Chrysalis.Test.csproj +++ b/src/Chrysalis.Test/Chrysalis.Test.csproj @@ -1,29 +1,29 @@ - - - - net8.0 - enable - enable - - false - true - - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - + + + + net8.0 + enable + enable + + false + true + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + - - - + + + \ No newline at end of file diff --git a/src/Chrysalis.Test/GlobalUsings.cs b/src/Chrysalis.Test/GlobalUsings.cs deleted file mode 100644 index 8c927eb7..00000000 --- a/src/Chrysalis.Test/GlobalUsings.cs +++ /dev/null @@ -1 +0,0 @@ -global using Xunit; \ No newline at end of file diff --git a/src/Chrysalis.Test/MultiAssetTests.cs b/src/Chrysalis.Test/MultiAssetTests.cs deleted file mode 100644 index bb9c3b88..00000000 --- a/src/Chrysalis.Test/MultiAssetTests.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Chrysalis.Cardano.Models; -using Chrysalis.Cbor; - -namespace Chrysalis.Test; - -public class MultiAssetTests -{ - [Fact] - public void TestMultiAssetFromToCbor() - { - // Arrange - - var originalAsset = new Asset - { - { "48595045534b554c4c535f56545f505f45", 1 }, - { "48595045534b554c4c535f56545f565f43", 2 }, - { "48595045534b554c4c535f56545f4d5f4545", 3 }, - { "48595045534b554c4c535f56545f41435f4545", 4 } - }; - - - var originalMultiAsset = new MultiAsset - { - { "6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56", originalAsset } - }; - - // Act - // Serialization - byte[] serializedCborData = CborSerializerV2.Serialize(originalMultiAsset); - - // Deserialization - var deserializedMultiAsset = CborSerializerV2.Deserialize(serializedCborData); - - // Assert - Assert.NotNull(deserializedMultiAsset); - Assert.Single(deserializedMultiAsset); - Assert.Equal(4, deserializedMultiAsset["6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56"].Count); - - Assert.True(deserializedMultiAsset.ContainsKey("6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56")); - Assert.Equal(1u, deserializedMultiAsset["6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56"]["48595045534b554c4c535f56545f505f45"]); - - Assert.True(deserializedMultiAsset.ContainsKey("6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56")); - Assert.Equal(2u, deserializedMultiAsset["6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56"]["48595045534b554c4c535f56545f565f43"]); - - Assert.True(deserializedMultiAsset.ContainsKey("6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56")); - Assert.Equal(3u, deserializedMultiAsset["6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56"]["48595045534b554c4c535f56545f4d5f4545"]); - - Assert.True(deserializedMultiAsset.ContainsKey("6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56")); - Assert.Equal(4u, deserializedMultiAsset["6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56"]["48595045534b554c4c535f56545f41435f4545"]); - } -} \ No newline at end of file diff --git a/src/Chrysalis.Test/TransactionBodyTests.cs b/src/Chrysalis.Test/TransactionBodyTests.cs deleted file mode 100644 index 3fd74866..00000000 --- a/src/Chrysalis.Test/TransactionBodyTests.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Blake2Fast; -using Chrysalis.Cardano.Models; -using Chrysalis.Cbor; - -namespace Chrysalis.Test; - -public class TransactionBodyTests -{ - public static readonly string originHex = "A40085825820375AAF2A056D060B18B9F4B23233750B7BB7E5BCA8655ECEDA87F2F76E542053008258200312AE1EE8A8756179A9E1844E3E591CB15114AA1F9C9BEA181AC838F82E94FE00825820B5E787BD2BBABD34CB4F5D72F092121B7A32992576D45BC5ED8C451B63FAFC7A008258209561256F19EEB08AF7C29344B1157B112C33663096ADAA14E5A4F009D1DD2348008258209561256F19EEB08AF7C29344B1157B112C33663096ADAA14E5A4F009D1DD234801018282583901E63022B0F461602484968BB10FD8F872787B862ACE2D7E943292A37003EC6A12860EF8C07D4C1A8DE7DF06ACB0F0330A6087ECBE972082A7821A001629B6A1581C6F37A98BD0C9CED4E302EC2FB3A2F19FFBA1B5C0C2BEDEE3DAC30E56A45148595045534B554C4C535F56545F505F45015148595045534B554C4C535F56545F565F43015248595045534B554C4C535F56545F4D5F4545015348595045534B554C4C535F56545F41435F45450182583901E63022B0F461602484968BB10FD8F872787B862ACE2D7E943292A37003EC6A12860EF8C07D4C1A8DE7DF06ACB0F0330A6087ECBE972082A71A00DF2AEC021A0002BD7D031A0636E8BA"; - public static readonly string expectedInputsCborHex = "85825820375aaf2a056d060b18b9f4b23233750b7bb7e5bca8655eceda87f2f76e542053008258200312ae1ee8a8756179a9e1844e3e591cb15114aa1f9c9bea181ac838f82e94fe00825820b5e787bd2bbabd34cb4f5d72f092121b7a32992576d45bc5ed8c451b63fafc7a008258209561256f19eeb08af7c29344b1157b112c33663096adaa14e5a4f009d1dd2348008258209561256f19eeb08af7c29344b1157b112c33663096adaa14e5a4f009d1dd234801"; - public static readonly string expectedOutputsCborHex = "8282583901e63022b0f461602484968bb10fd8f872787b862ace2d7e943292a37003ec6a12860ef8c07d4c1a8de7df06acb0f0330a6087ecbe972082a7821a001629b6a1581c6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56a45148595045534b554c4c535f56545f505f45015148595045534b554c4c535f56545f565f43015248595045534b554c4c535f56545f4d5f4545015348595045534b554c4c535f56545f41435f45450182583901e63022b0f461602484968bb10fd8f872787b862ace2d7e943292a37003ec6a12860ef8c07d4c1a8de7df06acb0f0330a6087ecbe972082a71a00df2aec"; - - [Fact] - public void TestTransactionBodyFromToCbor() - { - // Given - // Replace the hex string with your real hex-encoded CBOR data for a TransactionBody - byte[] originalCborData = Convert.FromHexString(originHex); - - // When (Deserialization) - var deserializedTransactionBody = CborSerializerV2.Deserialize(originalCborData); - - // When (Serialization) - byte[] serializedCborData = CborSerializerV2.Serialize(deserializedTransactionBody!); - - // Then (Validating serialization) - Assert.True(originalCborData.SequenceEqual(serializedCborData)); - } -} diff --git a/src/Chrysalis.Test/TransactionInputTests.cs b/src/Chrysalis.Test/TransactionInputTests.cs deleted file mode 100644 index f0b702a4..00000000 --- a/src/Chrysalis.Test/TransactionInputTests.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Chrysalis.Cardano.Models; -using Chrysalis.Cbor; - -namespace Chrysalis.Test -{ - public class TransactionInputTests - { - private const string OriginalHex = "825820E33B1A20C078149FDE522803EF0B6A50B672E60765AAF6FDE5D15896CA3F862600"; - private static readonly byte[] OriginalCborData = Convert.FromHexString(OriginalHex); - - [Fact] - public void TestTransactionInputFromToCbor() - { - // When (Deserialization) - var transactionInput = CborSerializerV2.Deserialize(OriginalCborData); - - // Prepare expected TransactionId - var expectedTransactionId = "e33b1a20c078149fde522803ef0b6a50b672e60765aaf6fde5d15896ca3f8626"; - - // Then - Assert.Equal(expectedTransactionId, transactionInput!.TransactionId); - Assert.Equal(0u, transactionInput.Index); - - // When (Serialization) - byte[] serializedCborData = CborSerializerV2.Serialize(transactionInput); - - // Then - Assert.True(OriginalCborData.SequenceEqual(serializedCborData)); - } - - [Fact] - public void TestTransactionInputFromToHex() - { - // When - TransactionInput originalTransactionInput = CborSerializerV2.FromHex(OriginalHex)!; - string convertedHex = CborSerializerV2.ToHex(originalTransactionInput); - - // Then - Assert.Equal(OriginalHex.ToLowerInvariant(), convertedHex); - } - - [Fact] - public void TestTransactionInputFromToBytes() - { - // When - TransactionInput originalTransactionInput = CborSerializerV2.Deserialize(OriginalCborData)!; - byte[] convertedBytes = CborSerializerV2.Serialize(originalTransactionInput); - - // Then - Assert.True(OriginalCborData.SequenceEqual(convertedBytes)); - } - } -} diff --git a/src/Chrysalis.Test/TransactionInputsTests.cs b/src/Chrysalis.Test/TransactionInputsTests.cs deleted file mode 100644 index c7309c17..00000000 --- a/src/Chrysalis.Test/TransactionInputsTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Models; - -namespace Chrysalis.Test -{ - public class TransactionInputsTests - { - [Fact] - public void TestTransactionInputsFromToCbor() - { - // Arrange - var transactionInput1 = new TransactionInput - { - TransactionId = "e33b1a20c078149fde522803ef0b6a50b672e60765aaf6fde5d15896ca3f8626", - Index = 0 - }; - - var transactionInput2 = new TransactionInput - { - TransactionId = "e33b1a20c078149fde522803ef0b6a50b672e60765aaf6fde5d15896ca3f8625", - Index = 1 - }; - - var originalTransactionInputs = new TransactionInputs - { - transactionInput1, - transactionInput2 - }; - - // Act - // Serialization - byte[] serializedCborData = CborSerializerV2.Serialize(originalTransactionInputs); - - // Deserialization - var deserializedTransactionInputs = CborSerializerV2.Deserialize(serializedCborData); - - // Assert - Assert.NotNull(deserializedTransactionInputs); - Assert.Equal(2, deserializedTransactionInputs.Count); - Assert.Contains(transactionInput1, deserializedTransactionInputs); - Assert.Contains(transactionInput2, deserializedTransactionInputs); - } - } -} diff --git a/src/Chrysalis.Test/TransactionOutputTests.cs b/src/Chrysalis.Test/TransactionOutputTests.cs deleted file mode 100644 index a7d2e838..00000000 --- a/src/Chrysalis.Test/TransactionOutputTests.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Chrysalis.Cardano.Models; -using Chrysalis.Cbor; - -namespace Chrysalis.Test; - -public class TransactionOutputTests -{ - private const string OriginalHex = "82583901E63022B0F461602484968BB10FD8F872787B862ACE2D7E943292A37003EC6A12860EF8C07D4C1A8DE7DF06ACB0F0330A6087ECBE972082A7821A001629B6A1581C6F37A98BD0C9CED4E302EC2FB3A2F19FFBA1B5C0C2BEDEE3DAC30E56A45148595045534B554C4C535F56545F505F45015148595045534B554C4C535F56545F565F43015248595045534B554C4C535F56545F4D5F4545015348595045534B554C4C535F56545F41435F454501"; // Replace with the original Hex representation - private static readonly byte[] OriginalCborData = Convert.FromHexString(OriginalHex); - - [Fact] - public void TestTransactionOutputFromToCbor() - { - // When (Deserialization) - var transactionOutput = CborSerializerV2.Deserialize(OriginalCborData); - - // Prepare expected values - var expectedAddress = "01e63022b0f461602484968bb10fd8f872787b862ace2d7e943292a37003ec6a12860ef8c07d4c1a8de7df06acb0f0330a6087ecbe972082a7"; // Replace with the expected address - var expectedAmount = CborSerializerV2.FromHex("821A001629B6A1581C6F37A98BD0C9CED4E302EC2FB3A2F19FFBA1B5C0C2BEDEE3DAC30E56A45148595045534B554C4C535F56545F505F45015148595045534B554C4C535F56545F565F43025248595045534B554C4C535F56545F4D5F4545035348595045534B554C4C535F56545F41435F454504"); - // Then - Assert.Equal(expectedAddress, transactionOutput!.AddressHex); - Assert.Equal(expectedAmount!.Coin, transactionOutput.Amount.Coin); - - // When (Serialization) - byte[] serializedCborData = CborSerializerV2.Serialize(transactionOutput); - - // Then - Assert.True(OriginalCborData.SequenceEqual(serializedCborData)); - } - - [Fact] - public void TestTransactionOutputFromToHex() - { - // When - TransactionOutput originalTransactionOutput = CborSerializerV2.FromHex(OriginalHex)!; - string convertedHex = CborSerializerV2.ToHex(originalTransactionOutput); - - // Then - Assert.Equal(OriginalHex.ToLowerInvariant(), convertedHex); - } - - [Fact] - public void TestTransactionOutputFromToBytes() - { - // When - TransactionOutput originalTransactionOutput = CborSerializerV2.Deserialize(OriginalCborData)!; - byte[] convertedBytes = CborSerializerV2.Serialize(originalTransactionOutput); - - // Then - Assert.True(OriginalCborData.SequenceEqual(convertedBytes)); - } -} diff --git a/src/Chrysalis.Test/TransactionTest.cs b/src/Chrysalis.Test/TransactionTest.cs deleted file mode 100644 index c3294196..00000000 --- a/src/Chrysalis.Test/TransactionTest.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Chrysalis.Cardano.Models; -using Chrysalis.Cbor; - -namespace Chrysalis.Test; - -public class TransactionTest -{ - public static readonly string originalTransactionCborHex = "84A400858258207E79511FF1E20B4A47B93152BA033B365BED427BE65A7DB7520045BDE58A0327018258200312AE1EE8A8756179A9E1844E3E591CB15114AA1F9C9BEA181AC838F82E94FE00825820B5E787BD2BBABD34CB4F5D72F092121B7A32992576D45BC5ED8C451B63FAFC7A008258209561256F19EEB08AF7C29344B1157B112C33663096ADAA14E5A4F009D1DD234800825820AE5FBA947FB2E1AD7A044D0BC11189CA9CB18532859B8C5841B960C4221E4D5501018282583901E63022B0F461602484968BB10FD8F872787B862ACE2D7E943292A37003EC6A12860EF8C07D4C1A8DE7DF06ACB0F0330A6087ECBE972082A7821A001629B6A1581C6F37A98BD0C9CED4E302EC2FB3A2F19FFBA1B5C0C2BEDEE3DAC30E56A45148595045534B554C4C535F56545F505F45015148595045534B554C4C535F56545F565F43015248595045534B554C4C535F56545F4D5F4545015348595045534B554C4C535F56545F41435F45450182583901E63022B0F461602484968BB10FD8F872787B862ACE2D7E943292A37003EC6A12860EF8C07D4C1A8DE7DF06ACB0F0330A6087ECBE972082A71A00817E1C021A0002BD7D031A064144F6A100818258206395DDF277DCCA535AAB1C5C65680E8C73AAE3AB883060EF88C45A2DDE1287325840B1917516E6B2F5AB51060A2D7A7C4B7DD61DED3E8BFA99EC9E26F15F22E2E2B858FA21C24BB3722076C87FF79D22D136B64C2AE8FEA9FDEB5DB563B0DFEBCC02F5F6"; - - [Fact] - public void TransactionSerializationDeserializationTest() - { - var originalTransaction = CborSerializerV2.FromHex(originalTransactionCborHex)!; - var serializedTransaction = CborSerializerV2.Serialize(originalTransaction); - var deserializedTransaction = CborSerializerV2.Deserialize(serializedTransaction); - var txId = originalTransaction.Id; - } -} diff --git a/src/Chrysalis.Test/ValueTests.cs b/src/Chrysalis.Test/ValueTests.cs deleted file mode 100644 index 8d0281ee..00000000 --- a/src/Chrysalis.Test/ValueTests.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Chrysalis.Cardano.Models; -using Chrysalis.Cbor; - -namespace Chrysalis.Test; - -public class ValueTests -{ - [Fact] - public void TestIValueSerializationAndDeserialization() - { - // Arrange - var originalAsset = new Asset - { - { "48595045534b554c4c535f56545f505f45", 1 }, - { "48595045534b554c4c535f56545f565f43", 2 }, - { "48595045534b554c4c535f56545f4d5f4545", 3 }, - { "48595045534b554c4c535f56545f41435f4545", 4 } - }; - - - var originalMultiAsset = new MultiAsset - { - { "6f37a98bd0c9ced4e302ec2fb3a2f19ffba1b5c0c2bedee3dac30e56", originalAsset } - }; - - var multiAssetValue = new Value(1452470, originalMultiAsset); - - var coinValue = new Value(1452470); - - // Act - MultiAssetValue - byte[] serializedMultiAssetValue = CborSerializerV2.Serialize(multiAssetValue); - var deserializedMultiAssetValue = CborSerializerV2.Deserialize(serializedMultiAssetValue); - - // Assert - MultiAssetValue - Assert.NotNull(deserializedMultiAssetValue); - Assert.Equal(multiAssetValue.Coin, deserializedMultiAssetValue!.Coin); - Assert.Equal(multiAssetValue.MultiAsset, deserializedMultiAssetValue.MultiAsset); // Adjust this as needed - - // Act - CoinValue - byte[] serializedCoinValue = CborSerializerV2.Serialize(coinValue); - var deserializedCoinValue = CborSerializerV2.Deserialize(serializedCoinValue); - - // Assert - CoinValue - Assert.NotNull(deserializedCoinValue); - Assert.Equal(coinValue.Coin, deserializedCoinValue!.Coin); - } -} diff --git a/src/Chrysalis.sln b/src/Chrysalis.sln deleted file mode 100644 index 0781d72f..00000000 --- a/src/Chrysalis.sln +++ /dev/null @@ -1,31 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.5.002.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis", "Chrysalis\Chrysalis.csproj", "{28AE334A-2DBD-4B01-A9E8-7EFC6DE0A601}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chrysalis.Test", "Chrysalis.Test\Chrysalis.Test.csproj", "{E380E823-6C43-4CB7-AA15-D54B4F9C7415}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {28AE334A-2DBD-4B01-A9E8-7EFC6DE0A601}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {28AE334A-2DBD-4B01-A9E8-7EFC6DE0A601}.Debug|Any CPU.Build.0 = Debug|Any CPU - {28AE334A-2DBD-4B01-A9E8-7EFC6DE0A601}.Release|Any CPU.ActiveCfg = Release|Any CPU - {28AE334A-2DBD-4B01-A9E8-7EFC6DE0A601}.Release|Any CPU.Build.0 = Release|Any CPU - {E380E823-6C43-4CB7-AA15-D54B4F9C7415}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E380E823-6C43-4CB7-AA15-D54B4F9C7415}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E380E823-6C43-4CB7-AA15-D54B4F9C7415}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E380E823-6C43-4CB7-AA15-D54B4F9C7415}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {676BDC6A-03DD-4A7A-A256-820E1F8BFE4A} - EndGlobalSection -EndGlobal diff --git a/src/Chrysalis/Bech32.cs b/src/Chrysalis/Bech32.cs deleted file mode 100644 index e1f80a7b..00000000 --- a/src/Chrysalis/Bech32.cs +++ /dev/null @@ -1,211 +0,0 @@ -/* - * This implementation of the Bech32 encoder/decoder is based on and inspired by two open-source projects: - * 1. Bech32 library by lontivero - * Source: https://github.com/lontivero/Bech32/blob/master/Bech32/Bech32.cs - * - * 2. CardanoSharp Wallet library - * Source: https://github.com/CardanoSharp/cardanosharp-wallet/blob/master/CardanoSharp.Wallet/Encoding/Bech32.cs - * - * Thanks to the authors and contributors of these projects for their valuable work. - */ - -using System.Buffers; -using System.Text; - -namespace Chrysalis; - -public static class Bech32 -{ - private const string Charset = "qpzry9x8gf2tvdw0s3jn54khce6mua7l"; - private const char Separator = '1'; - private static readonly uint[] Generator = - { - 0x3b6a57b2u, 0x26508e6du, 0x1ea119fau, 0x3d4233ddu, 0x2a1462b3u - }; - private const int checkSumSize = 6; - - private static uint Polymod(Span data) - { - uint chk = 1; - foreach (byte b in data) - { - uint temp = chk >> 25; - chk = ((chk & 0x1ffffff) << 5) ^ b; - for (int i = 0; i < 5; i++) - { - if (((temp >> i) & 1) == 1) - { - chk ^= Generator[i]; - } - } - } - return chk; - } - - private static byte[] ExpandHrp(string hrp) - { - var result = new byte[(2 * hrp.Length) + 1]; - for (int i = 0; i < hrp.Length; i++) - { - result[i] = (byte)(hrp[i] >> 5); - result[i + hrp.Length + 1] = (byte)(hrp[i] & 0b0001_1111); - } - return result; - } - - private static byte[] CalculateCheckSum(string hrp, Span data) - { - var values = ExpandHrp(hrp).AsSpan().ConcatFast(data).ConcatFast(new byte[6].AsSpan()).ToArray(); - var pm = Polymod(values.AsSpan()) ^ 1; - var result = new byte[6]; - for (var i = 0; i < 6; i++) - { - result[i] = (byte)((pm >> 5 * (5 - i)) & 0b0001_1111); - } - return result; - } - - public static string Encode(string hrp, Span data) - { - if (string.IsNullOrEmpty(hrp)) - throw new ArgumentNullException(nameof(hrp), "hrp cannot be null or empty."); - if (data.IsEmpty) - throw new ArgumentNullException(nameof(data), "Data cannot be empty."); - - var b32Arr = ConvertBits(data, 8, 5); - var checksum = CalculateCheckSum(hrp, b32Arr); - var result = new StringBuilder(hrp).Append(Separator); - foreach (var b in b32Arr) - { - result.Append(Charset[b]); - } - foreach (var b in checksum) - { - result.Append(Charset[b]); - } - - return result.ToString(); - } - - private static byte[] ConvertBits(Span data, int fromBits, int toBits, bool pad = true) - { - int acc = 0; - int bits = 0; - int maxv = (1 << toBits) - 1; - int maxacc = (1 << (fromBits + toBits - 1)) - 1; - - var result = new ArrayBufferWriter(); - foreach (var b in data) - { - if ((b >> fromBits) != 0) - { - throw new FormatException("Invalid data format."); - } - acc = ((acc << fromBits) | b) & maxacc; - bits += fromBits; - while (bits >= toBits) - { - bits -= toBits; - result.Write(new byte[] { (byte)((acc >> bits) & maxv) }); - } - } - if (pad) - { - if (bits > 0) - { - result.Write(new byte[] { (byte)((acc << (toBits - bits)) & maxv) }); - } - } - else if (bits >= fromBits || ((acc << (toBits - bits)) & maxv) != 0) - { - throw new FormatException("Invalid data format."); - } - return result.WrittenSpan.ToArray(); - } - - public static (string hrp, byte[] data) Decode(string bech32EncodedString) - { - byte[] b32Arr = Bech32Decode(bech32EncodedString, out string hrp); - - if (b32Arr.Length < checkSumSize) - { - throw new FormatException("Invalid data length."); - } - - if (!VerifyChecksum(hrp, b32Arr)) - { - throw new FormatException("Invalid checksum."); - } - - byte[] dataPart = b32Arr.SubArray(0, b32Arr.Length - checkSumSize); - byte[] b256Arr = ConvertBits(dataPart, 5, 8, false) ?? throw new FormatException("Invalid data format."); - - return (hrp, b256Arr); - } - - - private static byte[] Bech32Decode(string bech32EncodedString, out string hrp) - { - bech32EncodedString = bech32EncodedString.ToLower(); - - int sepIndex = bech32EncodedString.LastIndexOf(Separator); - hrp = bech32EncodedString[..sepIndex]; - string data = bech32EncodedString[(sepIndex + 1)..]; - - byte[] b32Arr = new byte[data.Length]; - for (int i = 0; i < data.Length; i++) - { - b32Arr[i] = (byte)Charset.IndexOf(data[i]); - } - - return b32Arr; - } - - public static byte[] ConcatFast(this byte[] firstArray, byte[] secondArray) - { - if (firstArray == null) - throw new ArgumentNullException(nameof(firstArray), "First array can not be null!"); - if (secondArray == null) - throw new ArgumentNullException(nameof(secondArray), "Second array can not be null!"); - - - byte[] result = new byte[firstArray.Length + secondArray.Length]; - Buffer.BlockCopy(firstArray, 0, result, 0, firstArray.Length); - Buffer.BlockCopy(secondArray, 0, result, firstArray.Length, secondArray.Length); - return result; - } - - public static byte[] SubArray(this byte[] sourceArray, int index, int count) - { - if (sourceArray == null) - throw new ArgumentNullException(nameof(sourceArray), "Input can not be null!"); - if (index < 0 || count < 0) - throw new IndexOutOfRangeException("Index or count can not be negative."); - if (sourceArray.Length != 0 && index > sourceArray.Length - 1 || sourceArray.Length == 0 && index != 0) - throw new IndexOutOfRangeException("Index can not be bigger than array length."); - if (count > sourceArray.Length - index) - throw new IndexOutOfRangeException("Array is not long enough."); - - - byte[] result = new byte[count]; - Buffer.BlockCopy(sourceArray, index, result, 0, count); - return result; - } - - private static bool VerifyChecksum(string hrp, byte[] data) - { - byte[] temp = ExpandHrp(hrp).ConcatFast(data); - return Polymod(temp) == 1; - } -} - -public static class SpanExtensions -{ - public static Span ConcatFast(this Span first, Span second) - { - byte[] result = new byte[first.Length + second.Length]; - first.CopyTo(result); - second.CopyTo(result.AsSpan(first.Length)); - return result; - } -} diff --git a/src/Chrysalis/Cardano/Models/Address.cs b/src/Chrysalis/Cardano/Models/Address.cs deleted file mode 100644 index 4aa29b95..00000000 --- a/src/Chrysalis/Cardano/Models/Address.cs +++ /dev/null @@ -1,183 +0,0 @@ -namespace Chrysalis.Cardano.Models; - -public enum NetworkTag -{ - Unknown = -1, - Testnet = 0x00, // ....0000 - Mainnet = 0x01 // ....0001 - // Add other network tags as needed -} - -public enum AddressType -{ - Unknown = -1, - PaymentKeyHash_StakeKeyHash = 0x00, // 0000.... - ScriptHash_StakeKeyHash = 0x10, // 0001.... - PaymentKeyHash_ScriptHash = 0x20, // 0010.... - ScriptHash_ScriptHash = 0x30, // 0011.... - PaymentKeyHash_Pointer = 0x40, // 0100.... - ScriptHash_Pointer = 0x50, // 0101.... - PaymentKeyHash = 0x60, // 0110.... - ScriptHash = 0x70, // 0111.... - Reward_StakeKeyHash = 0xE0, // 1110.... Corresponding to (14) - Reward_ScriptHash = 0xF0, // 1111.... Corresponding to (15) -} - -public class Address -{ - private const byte HeaderTypeMask = 0xF0; - private const byte NetworkTagMask = 0x0F; - - public byte Header { get; private set; } - public byte[] Payload { get; private set; } - private byte _headerType => (byte)(Header & HeaderTypeMask); - private byte _networkTag => (byte)(Header & NetworkTagMask); - public NetworkTag NetworkTag => Enum.IsDefined(typeof(NetworkTag), (int)_networkTag) ? - (NetworkTag)_networkTag : NetworkTag.Unknown; - - public AddressType AddressType => Enum.IsDefined(typeof(AddressType), (int)_headerType) ? - (AddressType)_headerType : AddressType.Unknown; - - private Address(byte header, byte[] payload) - { - Header = header; - Payload = payload; - } - - public static string ToHex(Address address) - { - Span addressBytes = stackalloc byte[address.Payload.Length + 1]; // Allocate memory on the stack - addressBytes[0] = address.Header; - address.Payload.AsSpan().CopyTo(addressBytes[1..]); // Copy data without extra allocations - - return Convert.ToHexString(addressBytes); - } - - public static Address FromHex(string hex) - { - if (hex.Length % 2 != 0) - throw new ArgumentException("Hex string should have an even length", nameof(hex)); - - // Convert hex to byte array - byte[] addressBytes = new byte[hex.Length / 2]; - for (int i = 0; i < hex.Length; i += 2) - { - addressBytes[i / 2] = byte.Parse(hex.AsSpan(i, 2).ToString(), System.Globalization.NumberStyles.HexNumber); - } - - // Use Span for slicing without new array allocations - byte header = addressBytes[0]; - byte[] payload = addressBytes.AsSpan(1).ToArray(); - - return new Address(header, payload); - } - - public static Address FromBytes(byte[] addressBytes) - { - if (addressBytes.Length < 2) - throw new ArgumentException("Address bytes should be at least 2 bytes long.", nameof(addressBytes)); - - // Use Span for slicing without new array allocations - byte header = addressBytes[0]; - byte[] payload = addressBytes.AsSpan(1).ToArray(); - - return new Address(header, payload); - } - - public static Address FromBech32(string bech32String) - { - // Decode the Bech32 string - var (_, data) = Bech32.Decode(bech32String); - - // The first byte of the data is your header (based on your previous methods) - byte header = data[0]; - - // The rest is your payload - byte[] payload = data.AsSpan(1).ToArray(); - - return new Address(header, payload); - } - - public string ToHex() - { - return ToHex(this); - } - - public string ToBech32() - { - // Determine the hrp based on NetworkTag and AddressType - string hrp = GetHrp(); - - // Combine the header and payload into a single byte array. - var combinedData = new byte[Payload.Length + 1]; - combinedData[0] = Header; - Array.Copy(Payload, 0, combinedData, 1, Payload.Length); - - return Bech32.Encode(hrp, combinedData); // Assuming you have the Bech32 class in scope - } - - private string GetHrp() - { - string networkPart = NetworkTag switch - { - NetworkTag.Testnet => "_test", - NetworkTag.Mainnet => "", - _ => throw new InvalidOperationException("Unsupported NetworkTag.") - }; - - string typePart = IsStakeAddress() ? "stake" : "addr"; - - return $"{typePart}{networkPart}"; - } - - - private bool IsStakeAddress() - { - return AddressType == AddressType.Reward_StakeKeyHash || AddressType == AddressType.Reward_ScriptHash; - } - - - public byte[] GetPaymentKeyHash() - { - if (Payload.Length < 28) // Validate if the payload is long enough - { - throw new InvalidOperationException("Payload is not long enough to contain a PaymentKeyHash."); - } - - return AddressType switch - { - AddressType.PaymentKeyHash_StakeKeyHash or AddressType.ScriptHash_StakeKeyHash or AddressType.PaymentKeyHash_ScriptHash or AddressType.ScriptHash_ScriptHash or AddressType.PaymentKeyHash_Pointer or AddressType.ScriptHash_Pointer or AddressType.PaymentKeyHash or AddressType.ScriptHash - => Payload.AsSpan(0, 28).ToArray(), - _ => throw new InvalidOperationException($"Address type {AddressType} does not contain a PaymentKeyHash."), - }; - } - - public byte[] GetStakeKeyHash() - { - if (Payload.Length < 56) // Validate if the payload is long enough - { - throw new InvalidOperationException("Payload is not long enough to contain a StakeKeyHash."); - } - - return AddressType switch - { - AddressType.PaymentKeyHash_StakeKeyHash or AddressType.ScriptHash_StakeKeyHash or AddressType.PaymentKeyHash_ScriptHash or AddressType.ScriptHash_ScriptHash - => Payload.AsSpan(28, 28).ToArray(), - _ => throw new InvalidOperationException($"Address type {AddressType} does not contain a StakeKeyHash."), - }; - } - - public override bool Equals(object? obj) - { - if (obj is not Address other) - return false; - - return Header == other.Header && Payload.SequenceEqual(other.Payload); - } - - public override int GetHashCode() - { - return HashCode.Combine(Header, Payload); - } -} - diff --git a/src/Chrysalis/Cardano/Models/Asset.cs b/src/Chrysalis/Cardano/Models/Asset.cs deleted file mode 100644 index 5cc793d6..00000000 --- a/src/Chrysalis/Cardano/Models/Asset.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis; - -/// -/// CDDL definition: -/// Asset = { name => coin } -/// -[CborType(CborRepresentation.Map)] -public class Asset : Dictionary -{ - // No additional properties, it's just a specialized Dictionary. -} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/CIP68.cs b/src/Chrysalis/Cardano/Models/CIP68.cs new file mode 100644 index 00000000..99f24749 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/CIP68.cs @@ -0,0 +1,16 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Constr, Index = 0)] +public record CIP68() : ICbor where T : ICbor +{ + [CborProperty(0)] + public required CborMap Metadata { get; init; } + + [CborProperty(1)] + public required CborInt Version { get; init; } + + [CborProperty(2)] + public required T Extra { get; init; } +} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/CborBytes.cs b/src/Chrysalis/Cardano/Models/CborBytes.cs new file mode 100644 index 00000000..a4ee02ff --- /dev/null +++ b/src/Chrysalis/Cardano/Models/CborBytes.cs @@ -0,0 +1,6 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Bytes)] +public record CborBytes(byte[] Value) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/CborInt.cs b/src/Chrysalis/Cardano/Models/CborInt.cs new file mode 100644 index 00000000..9882010a --- /dev/null +++ b/src/Chrysalis/Cardano/Models/CborInt.cs @@ -0,0 +1,6 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Int)] +public record CborInt(int Value) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/CborList.cs b/src/Chrysalis/Cardano/Models/CborList.cs new file mode 100644 index 00000000..75d5b079 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/CborList.cs @@ -0,0 +1,6 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.List, IsIndefinite = true)] +public record CborList(T[] Value) : ICbor where T : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/CborMap.cs b/src/Chrysalis/Cardano/Models/CborMap.cs new file mode 100644 index 00000000..a54d17d1 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/CborMap.cs @@ -0,0 +1,9 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Map)] +public record CborMap(Dictionary Value) : ICbor; + +[CborSerializable(CborType.Map)] +public record CborMap(Dictionary Value) : ICbor where T : ICbor where V : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/CborUlong.cs b/src/Chrysalis/Cardano/Models/CborUlong.cs new file mode 100644 index 00000000..48e35772 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/CborUlong.cs @@ -0,0 +1,8 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Ulong)] +public record CborUlong(ulong Value) : ICbor; + +public record PosixTime(ulong Value) : CborUlong(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs b/src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs new file mode 100644 index 00000000..5fadfcd9 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Coinecta; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Treasury( + MultisigScript Owner, + CborBytes TreasuryRootHash, + PosixTime UnlockTime +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Example.cs b/src/Chrysalis/Cardano/Models/Example.cs deleted file mode 100644 index 8edf4599..00000000 --- a/src/Chrysalis/Cardano/Models/Example.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models; - -[CborType(CborRepresentation.Tuple)] -public record Example -{ - [CborProperty(CborRepresentation.Int32, 0, CborRepresentation.ByteString)] - public string TransactionId { get; set; } = string.Empty; - - [CborProperty(CborRepresentation.Int32, 1, CborRepresentation.Int32)] - public int Index { get; set; } = 0; - - [CborProperty(CborRepresentation.Int32, 2, CborRepresentation.Tuple)] - public Example? Examples { get; set; } -} diff --git a/src/Chrysalis/Cardano/Models/MultiAsset.cs b/src/Chrysalis/Cardano/Models/MultiAsset.cs index 28392f37..e4d8dd41 100644 --- a/src/Chrysalis/Cardano/Models/MultiAsset.cs +++ b/src/Chrysalis/Cardano/Models/MultiAsset.cs @@ -1,14 +1,3 @@ -using System.Formats.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models; - -/// -/// CDDL definition: -/// multiasset = { * policy_id => { * asset_name => a } } -/// -[CborType(CborRepresentation.Map)] -public class MultiAsset : Dictionary -{ - // No additional properties, it's just a specialized Dictionary. -} \ No newline at end of file +namespace Chrysalis.Cardano.Models; + +public record MultiAsset(Dictionary Value) : CborMap(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/MultisigScript.cs b/src/Chrysalis/Cardano/Models/MultisigScript.cs new file mode 100644 index 00000000..f8da6d52 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/MultisigScript.cs @@ -0,0 +1,28 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(Signature)])] +public record MultisigScript : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Signature(CborBytes KeyHash) : MultisigScript; + +[CborSerializable(CborType.Constr, Index = 1)] +public record AllOf(CborList Scripts) : MultisigScript; + +[CborSerializable(CborType.Constr, Index = 2)] +public record AnyOf(CborList Scripts) : MultisigScript; + +[CborSerializable(CborType.Constr, Index = 3)] +public record AtLeast(CborUlong Required, CborList Scripts) : MultisigScript; + +[CborSerializable(CborType.Constr, Index = 4)] +public record Before(PosixTime Time) : MultisigScript; + +[CborSerializable(CborType.Constr, Index = 5)] +public record After(PosixTime Time) : MultisigScript; + +[CborSerializable(CborType.Constr, Index = 6)] +public record Script(CborBytes ScriptHash) : MultisigScript; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/None.cs b/src/Chrysalis/Cardano/Models/None.cs new file mode 100644 index 00000000..d7b00650 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/None.cs @@ -0,0 +1,6 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Constr, Index = 1)] +public record None : Option; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Option.cs b/src/Chrysalis/Cardano/Models/Option.cs new file mode 100644 index 00000000..1af0d575 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Option.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(Some<>), typeof(None<>)])] +public record Option : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/PostAlonzoTransactionOutput.cs b/src/Chrysalis/Cardano/Models/PostAlonzoTransactionOutput.cs new file mode 100644 index 00000000..ca32133c --- /dev/null +++ b/src/Chrysalis/Cardano/Models/PostAlonzoTransactionOutput.cs @@ -0,0 +1,9 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Map)] +public record PostAlonzoTransactionOutput( + [CborProperty("address")] CborBytes Address, + [CborProperty(0)] CborInt Amount +) : TransactionOutput; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/PreBabageTransactionOutput.cs b/src/Chrysalis/Cardano/Models/PreBabageTransactionOutput.cs new file mode 100644 index 00000000..5b96cf71 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/PreBabageTransactionOutput.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.List)] +public record PreBabbageTransactionOutput( + [CborProperty("address")] CborBytes Address, + [CborProperty(0)] CborInt Amount, + [CborProperty(1)] MultiAsset MultiAsset +) : TransactionOutput; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Some.cs b/src/Chrysalis/Cardano/Models/Some.cs new file mode 100644 index 00000000..abedf9a5 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Some.cs @@ -0,0 +1,6 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Some([CborProperty(0)] T Value) : Option; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/TokenBundle.cs b/src/Chrysalis/Cardano/Models/TokenBundle.cs new file mode 100644 index 00000000..3bc1e5dd --- /dev/null +++ b/src/Chrysalis/Cardano/Models/TokenBundle.cs @@ -0,0 +1,5 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +public record TokenBundle(Dictionary Value) : CborMap(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Transaction.cs b/src/Chrysalis/Cardano/Models/Transaction.cs deleted file mode 100644 index 9883dba5..00000000 --- a/src/Chrysalis/Cardano/Models/Transaction.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Formats.Cbor; -using Blake2Fast; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models; - -/// -/// Represents a Cardano transaction. -/// -/// -/// CDDL definition: -/// transaction = -/// [ transaction_body -/// , transaction_witness_set -/// , bool -/// , auxiliary_data / null -/// ] -/// -[CborType(CborRepresentation.Tuple)] -public class Transaction -{ - [CborProperty(CborRepresentation.Int32, 0, CborRepresentation.Record)] - public TransactionBody TransactionBody { get; set; } = new TransactionBody(); - - [CborProperty(CborRepresentation.Int32, 1, CborRepresentation.Ignore)] - public object TransactionWitnessSet { get; set; } = default!; - - [CborProperty(CborRepresentation.Int32, 2, CborRepresentation.Bool)] - public bool IsValid { get; set; } - - [CborProperty(CborRepresentation.Int32, 3, CborRepresentation.Ignore)] - public string? AuxiliaryData { get; set; } - - public string Id => Convert.ToHexString(Blake2b.ComputeHash(32, CborSerializerV2.Serialize(TransactionBody))).ToLowerInvariant(); -} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/TransactionBody.cs b/src/Chrysalis/Cardano/Models/TransactionBody.cs index 975576c5..e416bb0a 100644 --- a/src/Chrysalis/Cardano/Models/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Models/TransactionBody.cs @@ -1,40 +1,9 @@ -using System.Formats.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models; - -/// -/// CDDL definition: -/// transaction_body = -/// { 0 : set ; inputs -/// , 1 : [* transaction_output] -/// , 2 : coin ; fee -/// , ? 3 : uint ; time to live -/// , ? 4 : [* certificate] -/// , ? 5 : withdrawals -/// , ? 6 : update -/// , ? 7 : auxiliary_data_hash -/// , ? 8 : uint ; validity interval start -/// , ? 9 : mint -/// , ? 11 : script_data_hash ; New -/// , ? 13 : set ; Collateral ; new -/// , ? 14 : required_signers ; New -/// , ? 15 : network_id ; New -/// } -/// -[CborType(CborRepresentation.Record)] -public class TransactionBody -{ - [CborProperty(CborRepresentation.Int32, 0, CborRepresentation.Set)] - public TransactionInputs Inputs { get; set; } = []; // Assuming TransactionInputs is a collection - - [CborProperty(CborRepresentation.Int32, 1, CborRepresentation.Array)] - public TransactionOutputs Outputs { get; set; } = []; // Assuming TransactionOutputs is a collection - - [CborProperty(CborRepresentation.Int32, 2, CborRepresentation.Int32)] - public Value Fee { get; set; } = new(); - - [CborProperty(CborRepresentation.Int32, 3, CborRepresentation.Int64)] - public ulong? TTL { get; set; } -} - +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Map)] +public record TransactionBody( + [CborProperty("inputs")] CborList Inputs, + [CborProperty("outputs")] CborList Outputs +); diff --git a/src/Chrysalis/Cardano/Models/TransactionInput.cs b/src/Chrysalis/Cardano/Models/TransactionInput.cs index 75f0f58b..3b7e519c 100644 --- a/src/Chrysalis/Cardano/Models/TransactionInput.cs +++ b/src/Chrysalis/Cardano/Models/TransactionInput.cs @@ -1,37 +1,9 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models; - -/// -/// Represents an input to a Cardano transaction, consisting of a transaction ID and an index. -/// -/// -/// CDDL definition: -/// transaction_input = [ transaction_id : $hash32 -/// , index : uint -/// ] -/// -[CborType(CborRepresentation.Tuple)] // Assume that CborRepresentation is an enum specifying array or map representation -public class TransactionInput -{ - [CborProperty(CborRepresentation.Int32, 0, CborRepresentation.ByteString)] - public string? TransactionId { get; set; } - - [CborProperty(CborRepresentation.Int32, 1, CborRepresentation.UInt32)] - public uint Index { get; set; } - - public override int GetHashCode() - { - return (TransactionId?.GetHashCode() ?? 0) ^ Index.GetHashCode(); - } - - public override bool Equals(object? obj) - { - if (obj is not TransactionInput other) - { - return false; - } - - return TransactionId == other.TransactionId && Index == other.Index; - } -} \ No newline at end of file +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.List)] +public record TransactionInput( + [CborProperty(0)] CborBytes TransactionId, + [CborProperty(1)] CborInt Index +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/TransactionInputs.cs b/src/Chrysalis/Cardano/Models/TransactionInputs.cs deleted file mode 100644 index 536ecb15..00000000 --- a/src/Chrysalis/Cardano/Models/TransactionInputs.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Formats.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models -{ - /// - /// Represents a collection of transaction inputs. - /// - [CborType(CborRepresentation.Set)] - public class TransactionInputs : HashSet - { - } -} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/TransactionOutput.cs b/src/Chrysalis/Cardano/Models/TransactionOutput.cs index dbf5bfb9..015b88bf 100644 --- a/src/Chrysalis/Cardano/Models/TransactionOutput.cs +++ b/src/Chrysalis/Cardano/Models/TransactionOutput.cs @@ -1,31 +1,7 @@ -using System.Formats.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models; - -/// -/// Represents an output of a Cardano transaction, consisting of an address, an amount, and an optional datum hash. -/// -/// -/// CDDL definition: -/// transaction_output = -/// [ address -/// , amount : value -/// , ? datum_hash : hash32 ; New -/// ] -/// -[CborType(CborRepresentation.Tuple)] // Assume that CborRepresentation is an enum specifying array or map representation -public class TransactionOutput -{ - [CborProperty(CborRepresentation.Int32, 0, CborRepresentation.ByteString)] - public string AddressHex { get; set; } = string.Empty; - - [CborProperty(CborRepresentation.Int32, 1, CborRepresentation.Int64, true)] - [CborProperty(CborRepresentation.Int32, 1, CborRepresentation.Tuple)] - public Value Amount { get; set; } = new Value(); - - [CborProperty(CborRepresentation.Int32, 2, CborRepresentation.ByteString)] - public string? DatumHash { get; set; } - - public Address Address => Address.FromHex(AddressHex); -} \ No newline at end of file +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(PostAlonzoTransactionOutput), typeof(PreBabbageTransactionOutput)])] +public record TransactionOutput : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/TransactionOutputs.cs b/src/Chrysalis/Cardano/Models/TransactionOutputs.cs deleted file mode 100644 index 48d57971..00000000 --- a/src/Chrysalis/Cardano/Models/TransactionOutputs.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Formats.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models -{ - /// - /// Represents a collection of transaction outputs in a Cardano transaction. - /// - [CborType(CborRepresentation.Array)] - public class TransactionOutputs : List - { - - } -} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Value.cs b/src/Chrysalis/Cardano/Models/Value.cs deleted file mode 100644 index 7dd7ba1b..00000000 --- a/src/Chrysalis/Cardano/Models/Value.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models; - - -[CborType(CborRepresentation.UInt64, true)] -[CborType(CborRepresentation.Tuple)] -public class Value -{ - - public Value() - { - Coin = 0; - MultiAsset = []; - } - - public Value(ulong coin) - { - CborValue = coin; - MultiAsset = []; - } - - public Value(ulong coin, MultiAsset multiAsset) - { - Coin = coin; - MultiAsset = multiAsset; - } - - private ulong _coin = 0; - [CborProperty(CborRepresentation.Int32, 0, CborRepresentation.UInt64)] - public ulong Coin - { - get => CborValue ?? _coin; - set - { - if(CborValue is null) - { - _coin = value; - } - else - { - CborValue = value; - } - } - } - - [CborProperty(CborRepresentation.Int32, 1, CborRepresentation.Map)] - public MultiAsset MultiAsset { get; set; } - - public ulong? CborValue { get; set; } -} diff --git a/src/Chrysalis/Cbor/CborIndex.cs b/src/Chrysalis/Cbor/CborIndex.cs index 5e665c3c..85b5b5d2 100644 --- a/src/Chrysalis/Cbor/CborIndex.cs +++ b/src/Chrysalis/Cbor/CborIndex.cs @@ -1,7 +1,7 @@ -namespace Chrysalis.Cbor; - -public class CborIndex(CborRepresentation type, object value) -{ - public CborRepresentation Type { get; } = type; - public object Value { get; } = value; -} +namespace Chrysalis.Cbor; + +public class CborIndex(CborType type, object value) +{ + public CborType Type { get; } = type; + public object Value { get; } = value; +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborPropertyAttribute.cs b/src/Chrysalis/Cbor/CborPropertyAttribute.cs index b66c1534..c7373b21 100644 --- a/src/Chrysalis/Cbor/CborPropertyAttribute.cs +++ b/src/Chrysalis/Cbor/CborPropertyAttribute.cs @@ -1,10 +1,18 @@ -namespace Chrysalis.Cbor; - -[AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = true)] -public sealed class CborPropertyAttribute(CborRepresentation indexType, object indexValue, CborRepresentation valueType, bool isBasicType = false) : Attribute -{ - public CborRepresentation IndexType { get; } = indexType; - public object IndexValue { get; } = indexValue; - public CborRepresentation ValueType { get; } = valueType; - public bool IsBasicType { get; set; } = isBasicType; +namespace Chrysalis.Cbor; + +[AttributeUsage(AttributeTargets.Property | AttributeTargets.Parameter, AllowMultiple = false)] +public class CborPropertyAttribute : Attribute +{ + public string? Key { get; } = default!; + public int? Index { get; } = default!; + + public CborPropertyAttribute(string key) + { + Key = key; + } + + public CborPropertyAttribute(int index) + { + Index = index; + } } \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborRepresentation.cs b/src/Chrysalis/Cbor/CborRepresentation.cs deleted file mode 100644 index 15d71971..00000000 --- a/src/Chrysalis/Cbor/CborRepresentation.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace Chrysalis.Cbor; - -public enum CborRepresentation -{ - Int32, - Int64, - UInt32, - UInt64, - ByteString, - Bool, - Tuple, - Set, - Array, - Record, - Map, - Ignore -} diff --git a/src/Chrysalis/Cbor/CborSerializableAttribute.cs b/src/Chrysalis/Cbor/CborSerializableAttribute.cs new file mode 100644 index 00000000..4a77e14f --- /dev/null +++ b/src/Chrysalis/Cbor/CborSerializableAttribute.cs @@ -0,0 +1,26 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cbor; +[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)] +public class CborSerializableAttribute(CborType type) : Attribute +{ + public CborType Type { get; } = type; + public int Index { get; set; } = -1; + public bool IsIndefinite { get; set; } = false; + + public CborSerializableAttribute(CborType type, int index) : this(type) + { + Index = index; + } + + public CborSerializableAttribute(CborType type, bool isIndefinite) : this(type) + { + IsIndefinite = isIndefinite; + } + + public CborSerializableAttribute(CborType type, int index, bool isIndefinite) : this(type) + { + Index = index; + IsIndefinite = isIndefinite; + } +} diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index a0cbb8cc..c0cdb834 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -1,16 +1,494 @@ -namespace Chrysalis.Cbor; - -public class CborSerializer -{ - public static T Deserialize(byte[] data) where T : ICborObject, new() - { - T obj = new(); - obj.FromCbor(data); - return obj; - } - - public static byte[] Serialize(T obj) where T : ICborObject - { - return obj.ToCbor(); - } -} +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cardano.Models; +using Chrysalis.Utils; + +namespace Chrysalis.Cbor; +public static class CborSerializer +{ + public static byte[] Serialize(ICbor cbor) + { + CborWriter writer = new(CborConformanceMode.Strict); + SerializeCbor(writer, cbor, cbor.GetType()); + return writer.Encode(); + } + + public static T? Deserialize(byte[] cborData) + { + CborReader reader = new(cborData, CborConformanceMode.Strict); + return (T?)DeserializeCbor(reader, typeof(T), cborData); + } + + private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) + { + CborType? cborType = CborSerializerUtils.GetCborType(objType); + + if (cborType is not null) + { + CborSerializableAttribute? attr = objType.GetCustomAttribute(); + switch (cborType) + { + case CborType.Bytes: + SerializeCborBytes(writer, cbor, objType, attr!.IsIndefinite); + break; + case CborType.Int: + SerializeCborInt(writer, cbor, objType); + break; + case CborType.Ulong: + SerializeCborUlong(writer, cbor, objType); + break; + case CborType.List: + SerializeList(writer, cbor, attr!.IsIndefinite); + break; + case CborType.Map: + SerializeMap(writer, cbor, objType, attr!.IsIndefinite); + break; + case CborType.Constr: + SerializeConstructor(writer, cbor, objType); + break; + default: + throw new NotSupportedException($"CBOR type {cborType} is not supported in this context."); + } + } + else + { + throw new NotImplementedException($"Type not supported {objType}"); + } + } + + private static void SerializeList(CborWriter writer, ICbor cbor, bool indefinite = false) + { + if (cbor.GetType().IsGenericType) + { + MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); + MethodInfo genericMethod = method!.MakeGenericMethod(cbor.GetType().GetGenericArguments()); + genericMethod.Invoke(null, [writer, cbor, indefinite]); + return; + } + + PropertyInfo[] properties = cbor.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); + writer.WriteStartArray(indefinite ? null : properties.Length); + + foreach (PropertyInfo property in properties) + { + object? value = property.GetValue(cbor); + if (value is ICbor cborValue) + { + SerializeCbor(writer, cborValue, property.PropertyType); + } + else + { + throw new InvalidOperationException($"Property {property.Name} in {cbor.GetType().Name} does not implement ICbor."); + } + } + + writer.WriteEndArray(); + + } + + private static void SerializeGenericList(CborWriter writer, CborList cborList, bool indefinite = false) where T : ICbor + { + writer.WriteStartArray(indefinite ? null : cborList.Value.Length); + + foreach (T element in cborList.Value) + { + SerializeCbor(writer, element, element.GetType()); + } + + writer.WriteEndArray(); + } + + private static void SerializeCborUlong(CborWriter writer, ICbor cbor, Type targetType) + { + writer.WriteUInt64((ulong)cbor.GetValue(targetType)); + } + + private static void SerializeCborInt(CborWriter writer, ICbor cbor, Type elementType) + { + writer.WriteInt32((int)cbor.GetValue(elementType)); + } + + private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type elementType, bool indefinite = false) + { + if (indefinite) + { + writer.WriteStartIndefiniteLengthByteString(); + byte[] bytesValue = (byte[])cbor.GetValue(elementType); + const int chunkSize = 1024; + for (int i = 0; i < bytesValue.Length; i += chunkSize) + { + int length = Math.Min(chunkSize, bytesValue.Length - i); + writer.WriteByteString(((byte[])cbor.GetValue(elementType)).AsSpan(i, length)); + } + writer.WriteEndIndefiniteLengthByteString(); + } + else + { + writer.WriteByteString((byte[])cbor.GetValue(elementType)); + } + } + + private static void SerializeMap(CborWriter writer, ICbor obj, Type objType, bool indefinite = false) + { + try + { + if (obj is CborMap cborMap) + { + writer.WriteStartMap(indefinite ? null : cborMap.Value.Count); + foreach (KeyValuePair kvp in cborMap.Value) + { + SerializeCbor(writer, kvp.Key, kvp.Key.GetType()); + SerializeCbor(writer, kvp.Value, kvp.Value.GetType()); + } + writer.WriteEndMap(); + } + else if (obj is not null && objType.IsGenericType && objType.GetGenericTypeDefinition() == typeof(CborMap<,>)) + { + MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); + MethodInfo genericMethod = method!.MakeGenericMethod(objType.GetGenericArguments()); + genericMethod.Invoke(null, [writer, obj, indefinite]); + } + else if (obj is not null && objType.GetCustomAttribute()?.Type == CborType.Map) + { + SerializeCustomMap(writer, obj, objType, indefinite); + } + else + { + throw new InvalidOperationException($"Unsupported map type for serialization: {objType.Name}"); + } + } + catch (Exception ex) + { + Console.WriteLine($"Error during serialization of type {objType.Name}: {ex.Message}"); + } + } + + private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objType, bool indefinite = false) + { + Type baseMapType = objType.GetInterfaces() + .Concat(CborSerializerUtils.GetBaseTypes(objType)) + .FirstOrDefault(t => t.IsGenericType && t.GetGenericTypeDefinition() == typeof(CborMap<,>)) ?? + throw new InvalidOperationException($"Could not find CborMap<,> base type for {objType.Name}"); + + object? mapValue = obj.GetValue(baseMapType); + + Type[] genericArgs = baseMapType.GetGenericArguments(); + Type dictType = typeof(Dictionary<,>).MakeGenericType(genericArgs); + + if (!dictType.IsInstanceOfType(mapValue)) + throw new InvalidOperationException($"Value property is not of expected type {dictType.Name} for {objType.Name}"); + + Type cborMapType = typeof(CborMap<,>).MakeGenericType(genericArgs); + object? cborMap = Activator.CreateInstance(cborMapType, mapValue); + + MethodInfo? genericSerializeMethod = (typeof(CborSerializer) + .GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static) + ?.MakeGenericMethod(genericArgs)) ?? + throw new InvalidOperationException("SerializeGenericMap method with specified generic arguments not found."); + + genericSerializeMethod.Invoke(null, [writer, cborMap, indefinite]); + } + + private static void SerializeGenericMap(CborWriter writer, CborMap map, bool indefinite = false) + where TKey : ICbor + where TValue : ICbor + { + writer.WriteStartMap(indefinite ? null : map.Value.Count); + foreach (KeyValuePair kvp in map.Value) + { + SerializeCbor(writer, kvp.Key, typeof(TKey)); + SerializeCbor(writer, kvp.Value, typeof(TValue)); + } + writer.WriteEndMap(); + } + + private static void SerializeConstructor(CborWriter writer, ICbor cbor, Type objType) + { + CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); + if (cborSerializableAttr == null || cborSerializableAttr.Type != CborType.Constr) + throw new InvalidOperationException($"Type {objType.Name} is not marked as CborSerializable with CborType.Constr"); + + ConstructorInfo? constructor = objType.GetConstructors().FirstOrDefault() ?? + throw new InvalidOperationException($"No constructor found for type {objType.Name}"); + + ParameterInfo[] parameters = constructor.GetParameters(); + + writer.WriteTag(CborSerializerUtils.GetCborTag(cborSerializableAttr.Index)); + if (parameters.Length == 0) + { + writer.WriteStartArray(0); + writer.WriteEndArray(); + return; + } + writer.WriteStartArray(null); + + foreach (ParameterInfo parameter in parameters) + { + PropertyInfo? property = objType.GetProperty(parameter.Name!, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase) ?? + throw new InvalidOperationException($"Property {parameter.Name} not found in {objType.Name}"); + + object? value = property.GetValue(cbor) ?? + throw new InvalidOperationException($"Value for property {property.Name} in {objType.Name} is null"); + + SerializeCbor(writer, (ICbor)value, value.GetType()); + } + + writer.WriteEndArray(); + } + + private static ICbor? DeserializeCbor(CborReader reader, Type targetType, byte[]? cborData = null) + { + if (reader.PeekState() == CborReaderState.Null) + { + reader.ReadNull(); + return null; + } + + CborType? cborType = CborSerializerUtils.GetCborType(targetType); + + if (cborType != null) + { + return cborType switch + { + CborType.Map => DeserializeMap(reader, targetType), + CborType.Int => DeserializeCborInt(reader, targetType), + CborType.Ulong => DeserializeCborUlong(reader, targetType), + CborType.Union => DeserializeUnion(reader, cborData!, targetType), + CborType.Bytes => DeserializeCborBytes(reader, targetType), + CborType.Constr => DeserializeConstructor(reader, targetType), + CborType.List => DeserializeList(reader, targetType), + _ => throw new NotImplementedException($"Unknown CborType: {cborType}"), + }; + } + + throw new NotImplementedException($"Deserialization not implemented for target type {targetType.Name}"); + } + + private static CborBytes DeserializeCborBytes(CborReader reader, Type targetType) + { + byte[] value = reader.ReadByteString(); + return (CborBytes)Activator.CreateInstance(targetType, value)!; + } + + private static CborInt DeserializeCborInt(CborReader reader, Type targetType) + { + int value = reader.ReadInt32(); + return (CborInt)Activator.CreateInstance(targetType, value)!; + } + + private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType) + { + ulong value = reader.ReadUInt64(); + return (CborUlong)Activator.CreateInstance(targetType, value)!; + } + + private static ICbor? DeserializeList(CborReader reader, Type targetType) + { + if (targetType.IsGenericType && targetType.GetGenericTypeDefinition() == typeof(CborList<>)) + { + MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); + MethodInfo genericMethod = method!.MakeGenericMethod(targetType.GetGenericArguments()); + return (ICbor?)genericMethod.Invoke(null, [reader, targetType]); + } + + reader.ReadStartArray(); + + List properties = targetType.GetProperties().ToList(); + + object[] values = new object[properties.Count]; + + for (int i = 0; i < properties.Count; i++) + { + Type propType = properties[i].PropertyType; + values[i] = DeserializeCbor(reader, propType)!; + } + + reader.ReadEndArray(); + + return (ICbor?)Activator.CreateInstance(targetType, values); + } + + private static CborList DeserializeGenericList(CborReader reader, Type targetType) where T : ICbor + { + if (reader.PeekState() != CborReaderState.StartArray) + throw new InvalidOperationException("Expected start of array in CBOR data"); + + Type itemType = targetType.GetGenericArguments()[0]; + IList list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(itemType))!; + + reader.ReadStartArray(); + while (reader.PeekState() != CborReaderState.EndArray) + { + T item = (T)DeserializeCbor(reader, itemType)!; + list.Add(item); + } + reader.ReadEndArray(); + + return new CborList([.. list]); + } + + private static ICbor? DeserializeConstructor(CborReader reader, Type targetType) + { + reader.ReadTag(); + reader.ReadStartArray(); + + if (targetType.IsGenericType) + { + Type genericTypeDef = targetType.GetGenericTypeDefinition(); + Type[] genericArgs = targetType.GetGenericArguments(); + + CborSerializableAttribute? cborSerializableAttr = genericTypeDef.GetCustomAttribute(); + if (cborSerializableAttr != null) + { + ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); + var constructor = targetType.GetConstructors(); + object?[] args = new object?[constructorParams.Length]; + + for (int i = 0; i < constructorParams.Length; i++) + { + Type paramType = constructorParams[i].ParameterType; + args[i] = DeserializeCbor(reader, paramType); + } + + reader.ReadEndArray(); + return (ICbor?)Activator.CreateInstance(targetType, args); + } + else + { + if (genericArgs.Length == 1) + { + Type genericArg = genericArgs[0]; + ICbor? value = DeserializeCbor(reader, genericArg); + reader.ReadEndArray(); + return (ICbor?)Activator.CreateInstance(targetType, value); + } + + throw new InvalidOperationException($"Unhandled generic type: {genericTypeDef.Name}"); + } + } + else + { + CborSerializableAttribute? cborSerializableAttr = targetType.GetCustomAttribute(); + if (cborSerializableAttr == null || cborSerializableAttr.Type != CborType.Constr) + throw new InvalidOperationException($"Type {targetType.Name} is not marked as CborSerializable with CborType.Constr"); + + ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); + object?[] args = new object?[constructorParams.Length]; + + for (int i = 0; i < constructorParams.Length; i++) + { + Type paramType = constructorParams[i].ParameterType; + args[i] = DeserializeCbor(reader, paramType); + } + + reader.ReadEndArray(); + return (ICbor?)Activator.CreateInstance(targetType, args); + } + } + + private static ICbor DeserializeMap(CborReader reader, Type targetType) + { + if (targetType == typeof(CborMap)) + { + return DeserializeCborMap(reader); + } + else if (targetType.IsGenericType && targetType.GetGenericTypeDefinition() == typeof(CborMap<,>)) + { + MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); + MethodInfo genericMethod = method!.MakeGenericMethod(targetType.GetGenericArguments()); + return (ICbor)genericMethod.Invoke(null, [reader])!; + } + else if (targetType.GetCustomAttribute()?.Type == CborType.Map) + { + return DeserializeCustomMap(reader, targetType); + } + else + { + throw new InvalidOperationException($"Unsupported map type for deserialization: {targetType.Name}"); + } + } + + private static CborMap DeserializeCborMap(CborReader reader) + { + reader.ReadStartMap(); + Dictionary dictionary = []; + + while (reader.PeekState() != CborReaderState.EndMap) + { + ICbor key = DeserializeCbor(reader, typeof(ICbor))!; + ICbor value = DeserializeCbor(reader, typeof(ICbor))!; + dictionary.Add(key, value); + } + + reader.ReadEndMap(); + return new CborMap(dictionary); + } + + private static CborMap DeserializeGenericMap(CborReader reader) + where TKey : ICbor + where TValue : ICbor + { + reader.ReadStartMap(); + Dictionary dictionary = []; + + while (reader.PeekState() != CborReaderState.EndMap) + { + TKey key = (TKey)DeserializeCbor(reader, typeof(TKey))!; + TValue value = (TValue)DeserializeCbor(reader, typeof(TValue))!; + dictionary.Add(key, value); + } + + reader.ReadEndMap(); + return new CborMap(dictionary); + } + + private static ICbor DeserializeCustomMap(CborReader reader, Type targetType) + { + Type? baseType = targetType.BaseType; + Type[] genericArgs; + + if (baseType != null && baseType.IsGenericType) + { + genericArgs = baseType.GetGenericArguments(); + + MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); + MethodInfo genericMethod = method!.MakeGenericMethod(genericArgs); + + ICbor map = (ICbor)genericMethod.Invoke(null, [reader])!; + + ConstructorInfo? ctor = targetType.GetConstructor([typeof(Dictionary<,>).MakeGenericType(genericArgs)]); + if (ctor != null) + { + return (ICbor)ctor.Invoke([map.GetValue(map.GetType())]); + } + } + else + { + return DeserializeCborMap(reader); + } + + throw new InvalidOperationException($"No suitable constructor found for type: {targetType.Name}"); + } + + private static ICbor? DeserializeUnion(CborReader reader, byte[] cborData, Type targetType) + { + CborUnionTypesAttribute unionAttr = targetType.GetCustomAttribute() ?? + throw new InvalidOperationException($"Type {targetType.Name} is not marked with CborUnionTypesAttribute"); + + foreach (Type type in unionAttr.UnionTypes) + { + try + { + Type? unionType = type.IsGenericTypeDefinition ? type.MakeGenericType(targetType.GetGenericArguments()) : type; + return DeserializeCbor(reader, unionType); + } + catch + { + reader.Reset(cborData); + continue; + } + } + + throw new InvalidOperationException("No matching type found in the union"); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborSerializerV2.cs b/src/Chrysalis/Cbor/CborSerializerV2.cs deleted file mode 100644 index 98fde4ad..00000000 --- a/src/Chrysalis/Cbor/CborSerializerV2.cs +++ /dev/null @@ -1,585 +0,0 @@ -using System.Formats.Cbor; -using System.Collections; -using System.Collections.Generic; -using Microsoft.VisualBasic; -using System.Reflection; - -namespace Chrysalis.Cbor; - -public static class CborSerializerV2 -{ - public static byte[] Serialize(object obj) - { - var writer = new CborWriter(CborConformanceMode.Strict); - SerializeObject(writer, obj, obj.GetType()); - return writer.Encode(); - } - - private static void SerializeObject(CborWriter writer, object obj, Type objType) - { - var cborTypeAttrs = (IEnumerable?)Attribute.GetCustomAttributes(objType, typeof(CborTypeAttribute)); - - if (cborTypeAttrs is not null && cborTypeAttrs.Any()) - { - foreach (var cborTypeAttr in cborTypeAttrs) - { - try - { - if (cborTypeAttr.IsBasicType) - { - // Use reflection to get the value of the 'Value' property - var valueProperty = objType.GetProperty("CborValue") ?? throw new InvalidOperationException("A basic type must have a 'Value' property."); - var value = valueProperty.GetValue(obj); - if (value == null) - { - throw new ArgumentNullException(nameof(value), "Value cannot be null."); - } - SerializePrimitive(writer, value, value.GetType()); - return; // Skip the rest of the serialization steps - } - var representation = cborTypeAttr.Representation; - SerializePrimitive(writer, obj, objType, representation); - return; - } - catch - { - continue; - } - } - throw new NotImplementedException("Unknown CborRepresentation"); - } - else - { - SerializePrimitive(writer, obj, objType); - } - } - - private static void SerializePrimitive(CborWriter writer, object obj, Type objType, CborRepresentation? overrideRepresentation = null) - { - if (overrideRepresentation != null) - { - switch (overrideRepresentation) - { - case CborRepresentation.Set: - case CborRepresentation.Array: - SerializeArray(writer, obj, objType); - break; - case CborRepresentation.Tuple: - SerializeTuple(writer, obj, objType); - break; - case CborRepresentation.Map: - SerializeMap(writer, obj, objType); - break; - case CborRepresentation.Record: - SerializeRecord(writer, obj, objType); - break; - case CborRepresentation.Int32: - writer.WriteInt32((int)obj); - break; - case CborRepresentation.Int64: - writer.WriteInt64((long)obj); - break; - case CborRepresentation.UInt32: - writer.WriteUInt32((uint)obj); - break; - case CborRepresentation.UInt64: - writer.WriteUInt64((ulong)obj); - break; - case CborRepresentation.ByteString: - writer.WriteByteString(Convert.FromHexString((string)obj)); - break; - case CborRepresentation.Bool: - writer.WriteBoolean((bool)obj); - break; - default: - throw new NotImplementedException("Unknown CborRepresentation"); - } - } - else - { - - var cborPropAttrs = (IEnumerable?)Attribute.GetCustomAttributes(objType, typeof(CborPropertyAttribute)); - if (cborPropAttrs is not null && cborPropAttrs.Any()) - { - foreach (var cborPropAttr in cborPropAttrs) - { - try - { - SerializePrimitive(writer, obj, objType, cborPropAttr.ValueType); - return; - } - catch - { - continue; - } - } - throw new NotImplementedException("Unknown CborRepresentation"); - } - else - { - switch (objType) - { - case Type t when t == typeof(string): - writer.WriteByteString(Convert.FromHexString((string)obj)); - break; - case Type t when t == typeof(int): - writer.WriteInt32((int)obj); - break; - case Type t when t == typeof(long): - writer.WriteInt64((long)obj); - break; - case Type t when t == typeof(uint): - writer.WriteUInt32((uint)obj); - break; - case Type t when t == typeof(ulong): - writer.WriteUInt64((ulong)obj); - break; - case Type t when t == typeof(bool): - writer.WriteBoolean((bool)obj); - break; - case Type t when t == typeof(int?): - writer.WriteInt32((int)obj); - break; - case Type t when t == typeof(long?): - writer.WriteInt64((long)obj); - break; - case Type t when t == typeof(uint?): - writer.WriteUInt32((uint)obj); - break; - case Type t when t == typeof(ulong?): - writer.WriteUInt64((ulong)obj); - break; - case Type t when t == typeof(bool?): - writer.WriteBoolean((bool)obj); - break; - default: - throw new NotImplementedException("Type not supported"); - } - } - } - } - - private static void SerializeRecord(CborWriter writer, object obj, Type objType) - { - // Collect properties with CborPropertyAttribute and sort by index - var properties = objType.GetProperties() - .Select(prop => (prop, cborPropAttr: (CborPropertyAttribute?)Attribute.GetCustomAttribute(prop, typeof(CborPropertyAttribute)))) - .Where(x => x.cborPropAttr != null) - .OrderBy(x => x.cborPropAttr!.IndexValue) - .ToList(); - - // Write the start of the map with the item count - writer.WriteStartMap(properties.Count); - - foreach (var (prop, cborPropAttr) in properties) - { - // Serialize the index value as the key - SerializeObject(writer, cborPropAttr!.IndexValue, cborPropAttr.IndexValue.GetType()); - - // Get the property value - object? value = prop.GetValue(obj); - - if (value != null) - { - // Serialize the property value - SerializeObject(writer, value, prop.PropertyType); - } - else - { - // If the value is null, write a CBOR null value or handle as you see fit - writer.WriteNull(); - } - } - - // Write the end of the map - writer.WriteEndMap(); - } - - private static void SerializeArray(CborWriter writer, object obj, Type objType) - { - if (typeof(IEnumerable).IsAssignableFrom(objType) && objType != typeof(string)) - { - var enumerable = (IEnumerable)obj; - writer.WriteStartArray(enumerable.Cast().Count()); - - foreach (var item in enumerable) - { - SerializeObject(writer, item, item.GetType()); - } - - writer.WriteEndArray(); - } - else - { - throw new ArgumentException("Type must be an enumerable to be serialized as a CBOR array"); - } - } - - private static void SerializeTuple(CborWriter writer, object obj, Type objType) - { - var sortedProperties = objType.GetProperties() - .Select(prop => (prop, cborPropAttrs: (IEnumerable?)Attribute.GetCustomAttributes(prop, typeof(CborPropertyAttribute)))) - .Where(x => x.cborPropAttrs != null && x.cborPropAttrs.Any() && x.prop.GetValue(obj) != null) - .OrderBy(x => x.cborPropAttrs!.First().IndexValue) - .ToList(); - - writer.WriteStartArray(sortedProperties.Count); - - foreach (var (prop, cborPropAttr) in sortedProperties) - { - object? value = prop.GetValue(obj); - SerializeObject(writer, value!, value!.GetType()); - } - - writer.WriteEndArray(); - } - - private static void SerializeMap(CborWriter writer, object obj, Type objType) - { - if (typeof(IDictionary).IsAssignableFrom(objType)) - { - // Logic for handling dictionary types - IDictionary dictionary = (IDictionary)obj; - writer.WriteStartMap(dictionary.Count); - - foreach (DictionaryEntry entry in dictionary) - { - SerializeObject(writer, entry.Key, entry.Key.GetType()); - - if (entry.Value == null) - { - throw new ArgumentNullException(nameof(entry.Value), "Dictionary entry value cannot be null."); - } - - SerializeObject(writer, entry.Value, entry.Value.GetType()); - } - } - writer.WriteEndMap(); - } - - public static T? Deserialize(byte[] cborData) - { - var reader = new CborReader(cborData, CborConformanceMode.Strict); - return (T?)DeserializeObject(reader, typeof(T)); - } - - private static object? DeserializeObject(CborReader reader, Type targetType, CborRepresentation? overrideRepresentation = null) - { - var readState = reader.PeekState(); - var cborTypeAttrs = (IEnumerable?)Attribute.GetCustomAttributes(targetType, typeof(CborTypeAttribute)); - var cborTypeAttr = cborTypeAttrs?.FirstOrDefault(x => ConvertCborRepresentationToState(x.Representation) == readState); - var representationToUse = overrideRepresentation ?? cborTypeAttr?.Representation; - - if (cborTypeAttr != null) - { - try - { - if (cborTypeAttr.IsBasicType) - { - // Assume there's a "Value" property and that its type matches the representation - var valueProperty = targetType.GetProperty("CborValue") ?? throw new InvalidOperationException("A basic type must have a 'Value' property."); - var value = DeserializePrimitive(reader, valueProperty.PropertyType, cborTypeAttr.Representation); - - // Create an instance and set the 'Value' property - var instance = Activator.CreateInstance(targetType); - valueProperty.SetValue(instance, value); - - return instance; - } - else - { - return DeserializePrimitive(reader, targetType, representationToUse); - } - } - catch - { - return null; - } - } - else - { - // Fall back to primitive deserialization if no attributes are found - return DeserializePrimitive(reader, targetType, representationToUse); - } - } - - private static object? DeserializePrimitive(CborReader reader, Type targetType, CborRepresentation? representation) - { - if(reader.PeekState() == CborReaderState.Null) - { - reader.ReadNull(); - return null; - } - - if (representation != null) - { - return representation switch - { - CborRepresentation.Set => DeserializeArray(reader, targetType, true), - CborRepresentation.Array => DeserializeArray(reader, targetType), - CborRepresentation.Tuple => DeserializeTuple(reader, targetType), - CborRepresentation.Map => DeserializeMap(reader, targetType), - CborRepresentation.Record => DeserializeRecord(reader, targetType), - CborRepresentation.Int32 => reader.ReadInt32(), - CborRepresentation.Int64 => reader.ReadInt64(), - CborRepresentation.UInt32 => reader.ReadUInt32(), - CborRepresentation.UInt64 => reader.ReadUInt64(), - CborRepresentation.ByteString => Convert.ToHexString(reader.ReadByteString()).ToLowerInvariant(), - CborRepresentation.Bool => reader.ReadBoolean(), - CborRepresentation.Ignore => DeserializeIgnore(reader), - _ => throw new NotImplementedException("Unknown CborRepresentation"), - }; - } - else - { - return targetType switch - { - Type t when t == typeof(int) => reader.ReadInt32(), - Type t when t == typeof(long) => reader.ReadInt64(), - Type t when t == typeof(uint) => reader.ReadUInt32(), - Type t when t == typeof(ulong) => reader.ReadUInt64(), - Type t when t == typeof(string) => Convert.ToHexString(reader.ReadByteString()).ToLowerInvariant(), - Type t when t == typeof(bool) => reader.ReadBoolean(), - Type t when t == typeof(int?) => reader.ReadInt32(), - Type t when t == typeof(long?) => reader.ReadInt64(), - Type t when t == typeof(uint?) => reader.ReadUInt32(), - Type t when t == typeof(ulong?) => reader.ReadUInt64(), - Type t when t == typeof(bool?) => reader.ReadBoolean(), - _ => null - }; - } - } - - private static object? DeserializeRecord(CborReader reader, Type targetType) - { - if (reader.PeekState() != CborReaderState.StartMap) - { - throw new InvalidOperationException("Unexpected CBOR data format"); - } - - var itemCount = reader.ReadStartMap(); - object obj = Activator.CreateInstance(targetType)!; - - // Create a lookup dictionary that maps index values to PropertyInfo objects - var properties = targetType.GetProperties() - .Select(prop => (prop, cborPropAttr: (CborPropertyAttribute?)Attribute.GetCustomAttribute(prop, typeof(CborPropertyAttribute)))) - .Where(x => x.cborPropAttr != null) - .ToDictionary(x => x.cborPropAttr!.IndexValue, x => (x.prop, x.cborPropAttr!.ValueType)); - - for (int i = 0; i < itemCount; i++) - { - object indexValue = reader.ReadInt32(); // Assuming your Record keys are always integers. Adapt as necessary. - - if (properties.TryGetValue(indexValue, out var propertyInfo)) - { - // Deserialize the property value. - object? value = DeserializeObject(reader, propertyInfo.prop.PropertyType); - propertyInfo.prop.SetValue(obj, value); - } - else - { - // Skip unknown key-value pair - reader.SkipValue(); - } - } - - reader.ReadEndMap(); - return obj; - } - - private static object? DeserializeArray(CborReader reader, Type targetType, bool isSet = false) - { - if (!typeof(IEnumerable).IsAssignableFrom(targetType)) - { - throw new ArgumentException("Type must be an enumerable to be deserialized as a CBOR array"); - } - - Type collectionType = targetType != null && targetType!.IsGenericType ? targetType : targetType!.BaseType!; - if (collectionType == null || collectionType.GetGenericArguments().Length == 0) - { - throw new ArgumentException("Type or its base type must be generic."); - } - - Type itemType = collectionType.GetGenericArguments()[0]; - - if (isSet) - { - // create a hashset instnace of setType - var set = Activator.CreateInstance(targetType); - - reader.ReadStartArray(); - while (reader.PeekState() != CborReaderState.EndArray) - { - object? item = DeserializeObject(reader, itemType); - targetType.GetMethod("Add")!.Invoke(set, [item]); - } - reader.ReadEndArray(); - - return set; - } - else - { - IList? list = (IList?)Activator.CreateInstance(targetType); - - reader.ReadStartArray(); - while (reader.PeekState() != CborReaderState.EndArray) - { - object? item = DeserializeObject(reader, itemType); - list?.Add(item); - } - reader.ReadEndArray(); - - return list; - } - } - - private static object? DeserializeTuple(CborReader reader, Type targetType) - { - reader.ReadStartArray(); - - object? instance = Activator.CreateInstance(targetType); - - targetType.GetProperties().ToList() - .ForEach(prop => - { - // Take into account that there might be multiple CborPropertyAttributes on the same property - var readState = reader.PeekState(); - var cborPropAttrs = (CborPropertyAttribute[])Attribute.GetCustomAttributes(prop, typeof(CborPropertyAttribute)); - if (cborPropAttrs.Any() && !IsEndState(readState)) - { - var cborPropAttr = cborPropAttrs.FirstOrDefault(x => ConvertCborRepresentationToState(x.ValueType) == readState); - if (IsIgnoreProperty(prop)) - { - DeserializeObject(reader, prop.PropertyType, CborRepresentation.Ignore); - prop.SetValue(instance, null); - } - else - { - var deserializedValue = DeserializeObject(reader, prop.PropertyType, cborPropAttr?.ValueType); - prop.SetValue(instance, deserializedValue); - } - } - }); - - reader.ReadEndArray(); - - return instance; - } - - private static object? DeserializeMap(CborReader reader, Type targetType) - { - if (reader.PeekState() != CborReaderState.StartMap) - { - throw new InvalidOperationException("Unexpected CBOR data format"); - } - - var itemCount = reader.ReadStartMap(); - object? obj = null; - - Type[] genericTypes = targetType.BaseType?.GetGenericArguments() ?? new Type[0]; - if (genericTypes.Length >= 2) - { - Type keyType = genericTypes[0]; - Type valueType = genericTypes[1]; - - obj = Activator.CreateInstance(targetType); - if (obj == null) - { - throw new InvalidOperationException($"Could not create an instance of {targetType}"); - } - - IDictionary dictionary = (IDictionary)obj; - - for (int i = 0; i < itemCount; i++) - { - object? key = DeserializeObject(reader, keyType); - object? value = DeserializeObject(reader, valueType); - - if (key != null) - { - dictionary.Add(key, value); - } - } - } - - reader.ReadEndMap(); - return obj; - } - - private static bool IsIgnoreProperty(PropertyInfo prop) - { - var cborPropAttrs = (CborPropertyAttribute[])Attribute.GetCustomAttributes(prop, typeof(CborPropertyAttribute)); - return cborPropAttrs.Any(x => x.ValueType == CborRepresentation.Ignore); - } - - private static object? DeserializeIgnore(CborReader reader) - { - switch (reader.PeekState()) - { - case CborReaderState.StartArray: - reader.ReadStartArray(); - while (reader.PeekState() != CborReaderState.EndArray) - { - DeserializeIgnore(reader); - } - reader.ReadEndArray(); - break; - - case CborReaderState.StartMap: - reader.ReadStartMap(); - while (reader.PeekState() != CborReaderState.EndMap) - { - DeserializeIgnore(reader); // Key - DeserializeIgnore(reader); // Value - } - reader.ReadEndMap(); - break; - - default: - reader.SkipValue(); // For all other simple CBOR types, this should suffice - break; - } - - return null; - } - - - private static CborReaderState ConvertCborRepresentationToState(CborRepresentation representation) - { - return representation switch - { - CborRepresentation.Int32 => CborReaderState.UnsignedInteger, - CborRepresentation.Int64 => CborReaderState.UnsignedInteger, - CborRepresentation.UInt32 => CborReaderState.UnsignedInteger, - CborRepresentation.UInt64 => CborReaderState.UnsignedInteger, - CborRepresentation.ByteString => CborReaderState.ByteString, - CborRepresentation.Bool => CborReaderState.Boolean, - CborRepresentation.Tuple => CborReaderState.StartArray, - CborRepresentation.Set => CborReaderState.StartArray, // Assuming sets are also represented as arrays - CborRepresentation.Array => CborReaderState.StartArray, - CborRepresentation.Record => CborReaderState.StartMap, - CborRepresentation.Map => CborReaderState.StartMap, - CborRepresentation.Ignore => CborReaderState.Null, - _ => throw new ArgumentException("Invalid CborRepresentation"), - }; - } - - private static bool IsEndState(CborReaderState state) - { - return state == CborReaderState.EndArray || state == CborReaderState.EndMap; - } - - - - public static string ToHex(object obj) - { - byte[] cborData = Serialize(obj); - return Convert.ToHexString(cborData).ToLowerInvariant(); - } - - public static T? FromHex(string hexString) - { - byte[] cborData = Convert.FromHexString(hexString); - return Deserialize(cborData); - } -} diff --git a/src/Chrysalis/Cbor/CborType.cs b/src/Chrysalis/Cbor/CborType.cs new file mode 100644 index 00000000..63485c7d --- /dev/null +++ b/src/Chrysalis/Cbor/CborType.cs @@ -0,0 +1,12 @@ +namespace Chrysalis.Cbor; +public enum CborType +{ + Constr, + Bytes, + Int, + Ulong, + Map, + List, + Union, + PlutusData +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborTypeAttribute.cs b/src/Chrysalis/Cbor/CborTypeAttribute.cs deleted file mode 100644 index f6bacbe6..00000000 --- a/src/Chrysalis/Cbor/CborTypeAttribute.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace Chrysalis.Cbor; - -[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = true)] -sealed class CborTypeAttribute(CborRepresentation representation) : Attribute -{ - public CborRepresentation Representation { get; } = representation; - public bool IsBasicType { get; set; } - - public CborTypeAttribute(CborRepresentation representation, bool isBasicType) : this(representation) - { - IsBasicType = isBasicType; - } -} diff --git a/src/Chrysalis/Cbor/CborUnionTypes.cs b/src/Chrysalis/Cbor/CborUnionTypes.cs new file mode 100644 index 00000000..daf1f042 --- /dev/null +++ b/src/Chrysalis/Cbor/CborUnionTypes.cs @@ -0,0 +1,7 @@ +namespace Chrysalis.Cbor; + +[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, AllowMultiple = false)] +public class CborUnionTypesAttribute(params Type[] unionTypes) : Attribute +{ + public Type[] UnionTypes { get; } = unionTypes; +} diff --git a/src/Chrysalis/Cbor/ICbor.cs b/src/Chrysalis/Cbor/ICbor.cs new file mode 100644 index 00000000..2ba876d6 --- /dev/null +++ b/src/Chrysalis/Cbor/ICbor.cs @@ -0,0 +1,3 @@ +namespace Chrysalis.Cbor; + +public interface ICbor { } diff --git a/src/Chrysalis/Cbor/ICborObject.cs b/src/Chrysalis/Cbor/ICborObject.cs deleted file mode 100644 index 822e7a3f..00000000 --- a/src/Chrysalis/Cbor/ICborObject.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Formats.Cbor; - -namespace Chrysalis.Cbor; - -public interface ICborObject where T : ICborObject -{ - byte[] ToCbor(); - CborWriter ToCbor(CborWriter writer); - T FromCbor(byte[] data); - T FromCbor(CborReader reader); -} diff --git a/src/Chrysalis/Utils/CborSerializerUtils.cs b/src/Chrysalis/Utils/CborSerializerUtils.cs new file mode 100644 index 00000000..77dcf7b1 --- /dev/null +++ b/src/Chrysalis/Utils/CborSerializerUtils.cs @@ -0,0 +1,54 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor; + +namespace Chrysalis.Utils; + +public static class CborSerializerUtils +{ + private const int BaseTagValue = 121; + + public static CborTag GetCborTag(int? index = null) + { + int actualIndex = index ?? 0; + return (CborTag)(BaseTagValue + actualIndex); + } + + public static object GetValue(this ICbor cbor, Type objType) + { + if (cbor == null) + throw new ArgumentNullException(nameof(cbor), "The CBOR object cannot be null."); + + if (objType == null) + throw new ArgumentNullException(nameof(objType), "The target type cannot be null."); + + PropertyInfo? valueProperty = objType.GetProperty("Value") ?? + throw new InvalidOperationException($"Type {objType.Name} does not have a 'Value' property."); + + object? value = valueProperty.GetValue(cbor) ?? + throw new InvalidOperationException($"The 'Value' property of type {objType.Name} is null."); + + return value; + } + + public static CborType? GetCborType(this Type objType) + { + if (typeof(ICbor).IsAssignableFrom(objType)) + { + CborSerializableAttribute? attr = objType.GetCustomAttribute(); + if (attr != null) + return attr.Type; + } + return null; + } + + public static IEnumerable GetBaseTypes(Type type) + { + var baseType = type.BaseType; + while (baseType != null) + { + yield return baseType; + baseType = baseType.BaseType; + } + } +} \ No newline at end of file From e8f74802dc8ed0291435b5da80a304f6f98a83ac Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Tue, 3 Sep 2024 09:45:11 +0800 Subject: [PATCH 002/162] feat: Add CborDefiniteList and CborIndefiniteList classes for CBOR serialization (#2) --- src/Chrysalis/Cardano/Models/CborList.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Chrysalis/Cardano/Models/CborList.cs b/src/Chrysalis/Cardano/Models/CborList.cs index 75d5b079..f0b51bfe 100644 --- a/src/Chrysalis/Cardano/Models/CborList.cs +++ b/src/Chrysalis/Cardano/Models/CborList.cs @@ -2,5 +2,8 @@ namespace Chrysalis.Cardano.Models; +[CborSerializable(CborType.List, IsIndefinite = false)] +public record CborDefiniteList(T[] Value) : ICbor where T : ICbor; + [CborSerializable(CborType.List, IsIndefinite = true)] -public record CborList(T[] Value) : ICbor where T : ICbor; \ No newline at end of file +public record CborIndefiniteList(T[] Value) : ICbor where T : ICbor; \ No newline at end of file From 03678273c47e4a33832c1cfc69810eddceb31306 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Tue, 3 Sep 2024 09:48:26 +0800 Subject: [PATCH 003/162] chore: Update working directory paths in dotnet.yml workflow (#3) --- .github/workflows/dotnet.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index cc924388..21886b7e 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -28,24 +28,24 @@ jobs: - name: Restore dependencies run: dotnet restore - working-directory: ./src + working-directory: ./src/Chrysalis - name: Build run: dotnet build --no-restore - working-directory: ./src + working-directory: ./src/Chrysalis - name: Test run: dotnet test --no-build --verbosity normal - working-directory: ./src + working-directory: ./src/Chrysalis - name: Publish run: dotnet publish --no-restore - working-directory: ./src + working-directory: ./src/Chrysalis - name: Pack run: dotnet pack --no-build -c Release -o out - working-directory: ./src + working-directory: ./src/Chrysalis - name: Push to NuGet - run: dotnet nuget push ./src/out/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json + run: dotnet nuget push ./src/Chrysalis/out/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json if: github.event_name == 'release' \ No newline at end of file From 542de302168e205a73260d37e380370ae217fcad Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Tue, 3 Sep 2024 09:53:32 +0800 Subject: [PATCH 004/162] chore: replace cbor list with indefinite list (#4) --- .github/workflows/dotnet.yml | 2 +- src/Chrysalis.Test/CborSerializationTests.cs | 4 ++-- src/Chrysalis/Cardano/Models/MultisigScript.cs | 6 +++--- src/Chrysalis/Cardano/Models/TransactionBody.cs | 4 ++-- src/Chrysalis/Cbor/CborSerializer.cs | 10 +++++----- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 21886b7e..671362e0 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -36,7 +36,7 @@ jobs: - name: Test run: dotnet test --no-build --verbosity normal - working-directory: ./src/Chrysalis + working-directory: ./src/Chrysalis.Test - name: Publish run: dotnet publish --no-restore diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index 7e001bd8..bad6fd10 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -16,8 +16,8 @@ public class CborSerializerTests [InlineData("43414243", typeof(CborBytes))] // Example hex for CBOR bytes of `ABC` string [InlineData("a141614541696b656e", typeof(CborMap))] // {h'61': h'41696b656e'} [InlineData("a1450001020304a1450001020304182a", typeof(MultiAsset))] // {h'61': h'41696b656e'} - [InlineData("9f0102030405ff", typeof(CborList))] // [_ 1, 2, 3, 4, 5] - [InlineData("9f824401020304182a824405060708182bff", typeof(CborList))] // [_ [h'01020304', 42_0], [h'05060708', 43_0]] + [InlineData("9f0102030405ff", typeof(CborIndefiniteList))] // [_ 1, 2, 3, 4, 5] + [InlineData("9f824401020304182a824405060708182bff", typeof(CborIndefiniteList))] // [_ [h'01020304', 42_0], [h'05060708', 43_0]] [InlineData("d8799f182aff", typeof(Option))] // Serialized CBOR for Option::Some(42): [InlineData("d87a80", typeof(Option))] // Serialized CBOR for Option::None: [InlineData("d8799f4180ff", typeof(Signature))] // Serialized CBOR for Signature: diff --git a/src/Chrysalis/Cardano/Models/MultisigScript.cs b/src/Chrysalis/Cardano/Models/MultisigScript.cs index f8da6d52..87224c20 100644 --- a/src/Chrysalis/Cardano/Models/MultisigScript.cs +++ b/src/Chrysalis/Cardano/Models/MultisigScript.cs @@ -10,13 +10,13 @@ public record MultisigScript : ICbor; public record Signature(CborBytes KeyHash) : MultisigScript; [CborSerializable(CborType.Constr, Index = 1)] -public record AllOf(CborList Scripts) : MultisigScript; +public record AllOf(CborIndefiniteList Scripts) : MultisigScript; [CborSerializable(CborType.Constr, Index = 2)] -public record AnyOf(CborList Scripts) : MultisigScript; +public record AnyOf(CborIndefiniteList Scripts) : MultisigScript; [CborSerializable(CborType.Constr, Index = 3)] -public record AtLeast(CborUlong Required, CborList Scripts) : MultisigScript; +public record AtLeast(CborUlong Required, CborIndefiniteList Scripts) : MultisigScript; [CborSerializable(CborType.Constr, Index = 4)] public record Before(PosixTime Time) : MultisigScript; diff --git a/src/Chrysalis/Cardano/Models/TransactionBody.cs b/src/Chrysalis/Cardano/Models/TransactionBody.cs index e416bb0a..086a8bd4 100644 --- a/src/Chrysalis/Cardano/Models/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Models/TransactionBody.cs @@ -4,6 +4,6 @@ namespace Chrysalis.Cardano.Models; [CborSerializable(CborType.Map)] public record TransactionBody( - [CborProperty("inputs")] CborList Inputs, - [CborProperty("outputs")] CborList Outputs + [CborProperty("inputs")] CborIndefiniteList Inputs, + [CborProperty("outputs")] CborIndefiniteList Outputs ); diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index c0cdb834..cec9ef59 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -1,4 +1,4 @@ -using System.Formats.Cbor; +using System.Formats.Cbor; using System.Reflection; using Chrysalis.Cardano.Models; using Chrysalis.Utils; @@ -86,7 +86,7 @@ private static void SerializeList(CborWriter writer, ICbor cbor, bool indefinite } - private static void SerializeGenericList(CborWriter writer, CborList cborList, bool indefinite = false) where T : ICbor + private static void SerializeGenericList(CborWriter writer, CborIndefiniteList cborList, bool indefinite = false) where T : ICbor { writer.WriteStartArray(indefinite ? null : cborList.Value.Length); @@ -284,7 +284,7 @@ private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType private static ICbor? DeserializeList(CborReader reader, Type targetType) { - if (targetType.IsGenericType && targetType.GetGenericTypeDefinition() == typeof(CborList<>)) + if (targetType.IsGenericType && targetType.GetGenericTypeDefinition() == typeof(CborIndefiniteList<>)) { MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); MethodInfo genericMethod = method!.MakeGenericMethod(targetType.GetGenericArguments()); @@ -308,7 +308,7 @@ private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType return (ICbor?)Activator.CreateInstance(targetType, values); } - private static CborList DeserializeGenericList(CborReader reader, Type targetType) where T : ICbor + private static CborIndefiniteList DeserializeGenericList(CborReader reader, Type targetType) where T : ICbor { if (reader.PeekState() != CborReaderState.StartArray) throw new InvalidOperationException("Expected start of array in CBOR data"); @@ -324,7 +324,7 @@ private static CborList DeserializeGenericList(CborReader reader, Type tar } reader.ReadEndArray(); - return new CborList([.. list]); + return new CborIndefiniteList([.. list]); } private static ICbor? DeserializeConstructor(CborReader reader, Type targetType) From d02635c130912824b955e8e2c9f631b39a2f61ff Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Tue, 3 Sep 2024 09:57:04 +0800 Subject: [PATCH 005/162] chore: bump version `0.1.0` (#5) * chore: bump version to 0.1.0 * chore: Update dotnet test command in dotnet.yml workflow --- .github/workflows/dotnet.yml | 2 +- src/Chrysalis/Chrysalis.csproj | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 671362e0..ac56e922 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -35,7 +35,7 @@ jobs: working-directory: ./src/Chrysalis - name: Test - run: dotnet test --no-build --verbosity normal + run: dotnet test --verbosity normal working-directory: ./src/Chrysalis.Test - name: Publish diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index b501c011..24dc66a4 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,10 +4,10 @@ net8.0 enable enable - 0.0.7 + 0.1.0 Chrysalis - 0xAccretion - AccretionLabs + clark@saib.dev + SAIB Inc README.md LICENSE.md From 11302e2be1cd4c28e9a8f9072bea6b6388a2b48a Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Thu, 5 Sep 2024 10:18:26 +0800 Subject: [PATCH 006/162] feat: base implementation for transaction output (#6) * namespace restructure, CborEncodedValue implementation and DatumOption * Datum Option Test * chore: rename CborSerializableAttribute to use IsDefinite instead of IsIndefinite * feat: implement `TransactionOutput` and add support both definite and indefinite lists --------- Co-authored-by: windss --- src/Chrysalis.Test/CborSerializationTests.cs | 8 + .../Cardano/Models/{ => Cbor}/CborBytes.cs | 2 +- .../Cardano/Models/Cbor/CborEncodedValue.cs | 6 + .../Cardano/Models/{ => Cbor}/CborInt.cs | 2 +- .../Cardano/Models/{ => Cbor}/CborList.cs | 6 +- .../Cardano/Models/{ => Cbor}/CborMap.cs | 2 +- .../Cardano/Models/{ => Cbor}/CborUlong.cs | 2 +- .../Cardano/Models/Coinecta/Treasury.cs | 6 +- src/Chrysalis/Cardano/Models/Core/Address.cs | 5 + .../Cardano/Models/Core/DatumOption.cs | 20 ++ .../Cardano/Models/{ => Core}/MultiAsset.cs | 4 +- .../Cardano/Models/{ => Core}/TokenBundle.cs | 3 +- .../Models/{ => Core}/TransactionBody.cs | 3 +- .../Models/{ => Core}/TransactionInput.cs | 3 +- .../Cardano/Models/Core/TransactionOutput.cs | 40 +++ src/Chrysalis/Cardano/Models/Core/Value.cs | 16 ++ .../Cardano/Models/{ => Plutus}/CIP68.cs | 4 +- .../Cardano/Models/{ => Plutus}/None.cs | 2 +- .../Cardano/Models/{ => Plutus}/Option.cs | 2 +- .../Cardano/Models/{ => Plutus}/Some.cs | 2 +- .../Models/PostAlonzoTransactionOutput.cs | 9 - .../Models/PreBabageTransactionOutput.cs | 10 - .../Models/{ => Sundae}/MultisigScript.cs | 3 +- .../Cardano/Models/TransactionOutput.cs | 7 - .../Cbor/CborSerializableAttribute.cs | 10 +- src/Chrysalis/Cbor/CborSerializer.cs | 240 +++++++++++++----- src/Chrysalis/Cbor/CborType.cs | 2 +- 27 files changed, 307 insertions(+), 112 deletions(-) rename src/Chrysalis/Cardano/Models/{ => Cbor}/CborBytes.cs (71%) create mode 100644 src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs rename src/Chrysalis/Cardano/Models/{ => Cbor}/CborInt.cs (70%) rename src/Chrysalis/Cardano/Models/{ => Cbor}/CborList.cs (52%) rename src/Chrysalis/Cardano/Models/{ => Cbor}/CborMap.cs (85%) rename src/Chrysalis/Cardano/Models/{ => Cbor}/CborUlong.cs (79%) create mode 100644 src/Chrysalis/Cardano/Models/Core/Address.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/DatumOption.cs rename src/Chrysalis/Cardano/Models/{ => Core}/MultiAsset.cs (57%) rename src/Chrysalis/Cardano/Models/{ => Core}/TokenBundle.cs (62%) rename src/Chrysalis/Cardano/Models/{ => Core}/TransactionBody.cs (75%) rename src/Chrysalis/Cardano/Models/{ => Core}/TransactionInput.cs (70%) create mode 100644 src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Value.cs rename src/Chrysalis/Cardano/Models/{ => Plutus}/CIP68.cs (74%) rename src/Chrysalis/Cardano/Models/{ => Plutus}/None.cs (70%) rename src/Chrysalis/Cardano/Models/{ => Plutus}/Option.cs (76%) rename src/Chrysalis/Cardano/Models/{ => Plutus}/Some.cs (75%) delete mode 100644 src/Chrysalis/Cardano/Models/PostAlonzoTransactionOutput.cs delete mode 100644 src/Chrysalis/Cardano/Models/PreBabageTransactionOutput.cs rename src/Chrysalis/Cardano/Models/{ => Sundae}/MultisigScript.cs (92%) delete mode 100644 src/Chrysalis/Cardano/Models/TransactionOutput.cs diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index bad6fd10..5e3cb241 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -1,6 +1,10 @@ using System.Reflection; using Chrysalis.Cardano.Models; +using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Coinecta; +using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cardano.Models.Sundae; using Chrysalis.Cbor; using Xunit; @@ -17,6 +21,7 @@ public class CborSerializerTests [InlineData("a141614541696b656e", typeof(CborMap))] // {h'61': h'41696b656e'} [InlineData("a1450001020304a1450001020304182a", typeof(MultiAsset))] // {h'61': h'41696b656e'} [InlineData("9f0102030405ff", typeof(CborIndefiniteList))] // [_ 1, 2, 3, 4, 5] + [InlineData("850102030405", typeof(CborDefiniteList))] // [1, 2, 3, 4, 5] [InlineData("9f824401020304182a824405060708182bff", typeof(CborIndefiniteList))] // [_ [h'01020304', 42_0], [h'05060708', 43_0]] [InlineData("d8799f182aff", typeof(Option))] // Serialized CBOR for Option::Some(42): [InlineData("d87a80", typeof(Option))] // Serialized CBOR for Option::None: @@ -24,6 +29,9 @@ public class CborSerializerTests // [InlineData("d8799f460001020304051a000f4240ff", typeof(PostAlonzoTransactionOutput))] // Serialized CBOR for PostAlonzoTransactionOutput: [InlineData("d87c9f029fd8799f446b657931ffd8799f446b657932ffd8799f446b657933ffffff", typeof(AtLeast))] // Serialized CBOR for AtLeast Multisig: [InlineData("d8799fd8799f581ceca3dfbde8ccb8408cefacda690e34aa9353af93fc02e75d8ba42f1bff58202325f3c999b17d4a6399bf6c02e1ff7615c13a73ecafae7fe813b9757f27ef2600ff", typeof(Treasury))] // Serialized CBOR for Signature: + [InlineData("8201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(DatumOption))] // Serialized CBOR for Inline Datum: + [InlineData("d81842ffff", typeof(CborEncodedValue))] // Serialized CBOR for CIP68: + [InlineData("a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a00dd40a0a2581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f6a14e0014df104d494e20496e7465726e1b0000000ba43b7400581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820e08460587b08cca542bd2856b8d5e1d23bf3f63f9916fb81f6d95fda0910bf691b7fffffffd5da682b028201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(TransactionOutput))] // Serialized CBOR for TransactionOutput: public void SerializeAndDeserializePrimitives(string cborHex, Type type) { // Arrange diff --git a/src/Chrysalis/Cardano/Models/CborBytes.cs b/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs similarity index 71% rename from src/Chrysalis/Cardano/Models/CborBytes.cs rename to src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs index a4ee02ff..8f5631d0 100644 --- a/src/Chrysalis/Cardano/Models/CborBytes.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.Bytes)] public record CborBytes(byte[] Value) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs b/src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs new file mode 100644 index 00000000..72aa36ac --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs @@ -0,0 +1,6 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Cbor; + +[CborSerializable(CborType.EncodedValue)] +public record CborEncodedValue(byte[] Value) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/CborInt.cs b/src/Chrysalis/Cardano/Models/Cbor/CborInt.cs similarity index 70% rename from src/Chrysalis/Cardano/Models/CborInt.cs rename to src/Chrysalis/Cardano/Models/Cbor/CborInt.cs index 9882010a..9cbba96e 100644 --- a/src/Chrysalis/Cardano/Models/CborInt.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborInt.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.Int)] public record CborInt(int Value) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/CborList.cs b/src/Chrysalis/Cardano/Models/Cbor/CborList.cs similarity index 52% rename from src/Chrysalis/Cardano/Models/CborList.cs rename to src/Chrysalis/Cardano/Models/Cbor/CborList.cs index f0b51bfe..85b1a566 100644 --- a/src/Chrysalis/Cardano/Models/CborList.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborList.cs @@ -1,9 +1,9 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Cbor; -[CborSerializable(CborType.List, IsIndefinite = false)] +[CborSerializable(CborType.List, IsDefinite = true)] public record CborDefiniteList(T[] Value) : ICbor where T : ICbor; -[CborSerializable(CborType.List, IsIndefinite = true)] +[CborSerializable(CborType.List, IsDefinite = false)] public record CborIndefiniteList(T[] Value) : ICbor where T : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/CborMap.cs b/src/Chrysalis/Cardano/Models/Cbor/CborMap.cs similarity index 85% rename from src/Chrysalis/Cardano/Models/CborMap.cs rename to src/Chrysalis/Cardano/Models/Cbor/CborMap.cs index a54d17d1..2880cf2b 100644 --- a/src/Chrysalis/Cardano/Models/CborMap.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborMap.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Core; [CborSerializable(CborType.Map)] public record CborMap(Dictionary Value) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/CborUlong.cs b/src/Chrysalis/Cardano/Models/Cbor/CborUlong.cs similarity index 79% rename from src/Chrysalis/Cardano/Models/CborUlong.cs rename to src/Chrysalis/Cardano/Models/Cbor/CborUlong.cs index 48e35772..8b1da077 100644 --- a/src/Chrysalis/Cardano/Models/CborUlong.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborUlong.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.Ulong)] public record CborUlong(ulong Value) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs b/src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs index 5fadfcd9..d11cb651 100644 --- a/src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs +++ b/src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs @@ -1,4 +1,6 @@ using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Sundae; +using Chrysalis.Cardano.Models.Cbor; namespace Chrysalis.Cardano.Models.Coinecta; @@ -7,4 +9,6 @@ public record Treasury( MultisigScript Owner, CborBytes TreasuryRootHash, PosixTime UnlockTime -) : ICbor; \ No newline at end of file +) : ICbor; + + diff --git a/src/Chrysalis/Cardano/Models/Core/Address.cs b/src/Chrysalis/Cardano/Models/Core/Address.cs new file mode 100644 index 00000000..fdca17de --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Address.cs @@ -0,0 +1,5 @@ +using Chrysalis.Cardano.Models.Cbor; + +namespace Chrysalis.Cardano.Models.Core; + +public record Address(byte[] Value) : CborBytes(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/DatumOption.cs b/src/Chrysalis/Cardano/Models/Core/DatumOption.cs new file mode 100644 index 00000000..ca1ccaad --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/DatumOption.cs @@ -0,0 +1,20 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(DatumHashOption), typeof(InlineDatumOption)])] +public record DatumOption : ICbor; + +[CborSerializable(CborType.List)] +public record DatumHashOption( + [CborProperty(0)] CborInt Option, + [CborProperty(1)] CborBytes DatumHash +) : DatumOption; + +[CborSerializable(CborType.List)] +public record InlineDatumOption( + [CborProperty(0)] CborInt Option, + [CborProperty(1)] CborEncodedValue Data +) : DatumOption; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/MultiAsset.cs b/src/Chrysalis/Cardano/Models/Core/MultiAsset.cs similarity index 57% rename from src/Chrysalis/Cardano/Models/MultiAsset.cs rename to src/Chrysalis/Cardano/Models/Core/MultiAsset.cs index e4d8dd41..5054e617 100644 --- a/src/Chrysalis/Cardano/Models/MultiAsset.cs +++ b/src/Chrysalis/Cardano/Models/Core/MultiAsset.cs @@ -1,3 +1,5 @@ -namespace Chrysalis.Cardano.Models; +using Chrysalis.Cardano.Models.Cbor; + +namespace Chrysalis.Cardano.Models.Core; public record MultiAsset(Dictionary Value) : CborMap(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/TokenBundle.cs b/src/Chrysalis/Cardano/Models/Core/TokenBundle.cs similarity index 62% rename from src/Chrysalis/Cardano/Models/TokenBundle.cs rename to src/Chrysalis/Cardano/Models/Core/TokenBundle.cs index 3bc1e5dd..10bee798 100644 --- a/src/Chrysalis/Cardano/Models/TokenBundle.cs +++ b/src/Chrysalis/Cardano/Models/Core/TokenBundle.cs @@ -1,5 +1,6 @@ +using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Core; public record TokenBundle(Dictionary Value) : CborMap(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/TransactionBody.cs b/src/Chrysalis/Cardano/Models/Core/TransactionBody.cs similarity index 75% rename from src/Chrysalis/Cardano/Models/TransactionBody.cs rename to src/Chrysalis/Cardano/Models/Core/TransactionBody.cs index 086a8bd4..287c80da 100644 --- a/src/Chrysalis/Cardano/Models/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Models/Core/TransactionBody.cs @@ -1,6 +1,7 @@ +using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Core; [CborSerializable(CborType.Map)] public record TransactionBody( diff --git a/src/Chrysalis/Cardano/Models/TransactionInput.cs b/src/Chrysalis/Cardano/Models/Core/TransactionInput.cs similarity index 70% rename from src/Chrysalis/Cardano/Models/TransactionInput.cs rename to src/Chrysalis/Cardano/Models/Core/TransactionInput.cs index 3b7e519c..0c257aed 100644 --- a/src/Chrysalis/Cardano/Models/TransactionInput.cs +++ b/src/Chrysalis/Cardano/Models/Core/TransactionInput.cs @@ -1,6 +1,7 @@ +using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Core; [CborSerializable(CborType.List)] public record TransactionInput( diff --git a/src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs b/src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs new file mode 100644 index 00000000..157bf582 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs @@ -0,0 +1,40 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(BabbageTransactionOutput), + typeof(AlonzoTransactionOutput), + typeof(MaryTransactionOutput), + typeof(ShellyTransactionOutput) +])] +public record TransactionOutput : ICbor; + +[CborSerializable(CborType.List)] +public record ShellyTransactionOutput( + [CborProperty(0)] Address Address, + [CborProperty(1)] Lovelace Amount +) : TransactionOutput; + +[CborSerializable(CborType.List)] +public record MaryTransactionOutput( + [CborProperty(0)] Address Address, + [CborProperty(1)] Value Amount +) : TransactionOutput; + +[CborSerializable(CborType.List)] +public record AlonzoTransactionOutput( + [CborProperty(0)] Address Address, + [CborProperty(1)] Value Amount, + [CborProperty(2)] CborBytes DatumHash +) : TransactionOutput; + +[CborSerializable(CborType.Map)] +public record BabbageTransactionOutput( + [CborProperty(0)] Address Address, + [CborProperty(1)] Value Amount, + [CborProperty(2)] DatumOption Datum, + [CborProperty(3)] CborEncodedValue ScriptRef +) : TransactionOutput; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Value.cs b/src/Chrysalis/Cardano/Models/Core/Value.cs new file mode 100644 index 00000000..21d1c14c --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Value.cs @@ -0,0 +1,16 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(Lovelace), typeof(LovelaceWithMultiAsset)])] +public record Value : ICbor; + +public record Lovelace(ulong Value): CborUlong(Value); + +[CborSerializable(CborType.List)] +public record LovelaceWithMultiAsset( + Lovelace Lovelace, + MultiAsset MultiAsset +): Value; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/CIP68.cs b/src/Chrysalis/Cardano/Models/Plutus/CIP68.cs similarity index 74% rename from src/Chrysalis/Cardano/Models/CIP68.cs rename to src/Chrysalis/Cardano/Models/Plutus/CIP68.cs index 99f24749..1486209c 100644 --- a/src/Chrysalis/Cardano/Models/CIP68.cs +++ b/src/Chrysalis/Cardano/Models/Plutus/CIP68.cs @@ -1,6 +1,8 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Plutus; [CborSerializable(CborType.Constr, Index = 0)] public record CIP68() : ICbor where T : ICbor diff --git a/src/Chrysalis/Cardano/Models/None.cs b/src/Chrysalis/Cardano/Models/Plutus/None.cs similarity index 70% rename from src/Chrysalis/Cardano/Models/None.cs rename to src/Chrysalis/Cardano/Models/Plutus/None.cs index d7b00650..dd68c74d 100644 --- a/src/Chrysalis/Cardano/Models/None.cs +++ b/src/Chrysalis/Cardano/Models/Plutus/None.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Plutus; [CborSerializable(CborType.Constr, Index = 1)] public record None : Option; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Option.cs b/src/Chrysalis/Cardano/Models/Plutus/Option.cs similarity index 76% rename from src/Chrysalis/Cardano/Models/Option.cs rename to src/Chrysalis/Cardano/Models/Plutus/Option.cs index 1af0d575..287fd566 100644 --- a/src/Chrysalis/Cardano/Models/Option.cs +++ b/src/Chrysalis/Cardano/Models/Plutus/Option.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Plutus; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Some<>), typeof(None<>)])] diff --git a/src/Chrysalis/Cardano/Models/Some.cs b/src/Chrysalis/Cardano/Models/Plutus/Some.cs similarity index 75% rename from src/Chrysalis/Cardano/Models/Some.cs rename to src/Chrysalis/Cardano/Models/Plutus/Some.cs index abedf9a5..d99f67bf 100644 --- a/src/Chrysalis/Cardano/Models/Some.cs +++ b/src/Chrysalis/Cardano/Models/Plutus/Some.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Plutus; [CborSerializable(CborType.Constr, Index = 0)] public record Some([CborProperty(0)] T Value) : Option; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/PostAlonzoTransactionOutput.cs b/src/Chrysalis/Cardano/Models/PostAlonzoTransactionOutput.cs deleted file mode 100644 index ca32133c..00000000 --- a/src/Chrysalis/Cardano/Models/PostAlonzoTransactionOutput.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models; - -[CborSerializable(CborType.Map)] -public record PostAlonzoTransactionOutput( - [CborProperty("address")] CborBytes Address, - [CborProperty(0)] CborInt Amount -) : TransactionOutput; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/PreBabageTransactionOutput.cs b/src/Chrysalis/Cardano/Models/PreBabageTransactionOutput.cs deleted file mode 100644 index 5b96cf71..00000000 --- a/src/Chrysalis/Cardano/Models/PreBabageTransactionOutput.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models; - -[CborSerializable(CborType.List)] -public record PreBabbageTransactionOutput( - [CborProperty("address")] CborBytes Address, - [CborProperty(0)] CborInt Amount, - [CborProperty(1)] MultiAsset MultiAsset -) : TransactionOutput; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/MultisigScript.cs b/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs similarity index 92% rename from src/Chrysalis/Cardano/Models/MultisigScript.cs rename to src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs index 87224c20..18446ab7 100644 --- a/src/Chrysalis/Cardano/Models/MultisigScript.cs +++ b/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs @@ -1,6 +1,7 @@ +using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models; +namespace Chrysalis.Cardano.Models.Sundae; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Signature)])] diff --git a/src/Chrysalis/Cardano/Models/TransactionOutput.cs b/src/Chrysalis/Cardano/Models/TransactionOutput.cs deleted file mode 100644 index 015b88bf..00000000 --- a/src/Chrysalis/Cardano/Models/TransactionOutput.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(PostAlonzoTransactionOutput), typeof(PreBabbageTransactionOutput)])] -public record TransactionOutput : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborSerializableAttribute.cs b/src/Chrysalis/Cbor/CborSerializableAttribute.cs index 4a77e14f..4913aad0 100644 --- a/src/Chrysalis/Cbor/CborSerializableAttribute.cs +++ b/src/Chrysalis/Cbor/CborSerializableAttribute.cs @@ -6,21 +6,21 @@ public class CborSerializableAttribute(CborType type) : Attribute { public CborType Type { get; } = type; public int Index { get; set; } = -1; - public bool IsIndefinite { get; set; } = false; + public bool IsDefinite { get; set; } = true; public CborSerializableAttribute(CborType type, int index) : this(type) { Index = index; } - public CborSerializableAttribute(CborType type, bool isIndefinite) : this(type) + public CborSerializableAttribute(CborType type, bool isDefinite) : this(type) { - IsIndefinite = isIndefinite; + IsDefinite = isDefinite; } - public CborSerializableAttribute(CborType type, int index, bool isIndefinite) : this(type) + public CborSerializableAttribute(CborType type, int index, bool isDefinite) : this(type) { Index = index; - IsIndefinite = isIndefinite; + IsDefinite = isDefinite; } } diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index cec9ef59..b0b8d2c0 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -1,6 +1,7 @@ using System.Formats.Cbor; using System.Reflection; -using Chrysalis.Cardano.Models; +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core; using Chrysalis.Utils; namespace Chrysalis.Cbor; @@ -16,7 +17,7 @@ public static byte[] Serialize(ICbor cbor) public static T? Deserialize(byte[] cborData) { CborReader reader = new(cborData, CborConformanceMode.Strict); - return (T?)DeserializeCbor(reader, typeof(T), cborData); + return (T?)DeserializeCbor(reader, typeof(T)); } private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) @@ -25,11 +26,10 @@ private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) if (cborType is not null) { - CborSerializableAttribute? attr = objType.GetCustomAttribute(); switch (cborType) { case CborType.Bytes: - SerializeCborBytes(writer, cbor, objType, attr!.IsIndefinite); + SerializeCborBytes(writer, cbor, objType); break; case CborType.Int: SerializeCborInt(writer, cbor, objType); @@ -38,14 +38,17 @@ private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) SerializeCborUlong(writer, cbor, objType); break; case CborType.List: - SerializeList(writer, cbor, attr!.IsIndefinite); + SerializeList(writer, cbor); break; case CborType.Map: - SerializeMap(writer, cbor, objType, attr!.IsIndefinite); + SerializeMap(writer, cbor, objType); break; case CborType.Constr: SerializeConstructor(writer, cbor, objType); break; + case CborType.EncodedValue: + SerializeEncodedValue(writer, cbor, objType); + break; default: throw new NotSupportedException($"CBOR type {cborType} is not supported in this context."); } @@ -56,18 +59,19 @@ private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) } } - private static void SerializeList(CborWriter writer, ICbor cbor, bool indefinite = false) + private static void SerializeList(CborWriter writer, ICbor cbor) { + CborSerializableAttribute? cborSerializableAttr = cbor.GetType().GetCustomAttribute(); if (cbor.GetType().IsGenericType) { MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); MethodInfo genericMethod = method!.MakeGenericMethod(cbor.GetType().GetGenericArguments()); - genericMethod.Invoke(null, [writer, cbor, indefinite]); + genericMethod.Invoke(null, [writer, cbor, cborSerializableAttr!.IsDefinite]); return; } PropertyInfo[] properties = cbor.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); - writer.WriteStartArray(indefinite ? null : properties.Length); + writer.WriteStartArray(cborSerializableAttr!.IsDefinite ? properties.Length : null); foreach (PropertyInfo property in properties) { @@ -83,14 +87,14 @@ private static void SerializeList(CborWriter writer, ICbor cbor, bool indefinite } writer.WriteEndArray(); - } - private static void SerializeGenericList(CborWriter writer, CborIndefiniteList cborList, bool indefinite = false) where T : ICbor + private static void SerializeGenericList(CborWriter writer, ICbor cborList, bool definite = false) where T : ICbor { - writer.WriteStartArray(indefinite ? null : cborList.Value.Length); + T[] elements = (T[])cborList.GetValue(cborList.GetType()); + writer.WriteStartArray(definite ? elements.Length : null); - foreach (T element in cborList.Value) + foreach (T element in elements) { SerializeCbor(writer, element, element.GetType()); } @@ -108,9 +112,10 @@ private static void SerializeCborInt(CborWriter writer, ICbor cbor, Type element writer.WriteInt32((int)cbor.GetValue(elementType)); } - private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type elementType, bool indefinite = false) + private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type elementType) { - if (indefinite) + CborSerializableAttribute? cborSerializableAttr = elementType.GetCustomAttribute(); + if (!cborSerializableAttr!.IsDefinite) { writer.WriteStartIndefiniteLengthByteString(); byte[] bytesValue = (byte[])cbor.GetValue(elementType); @@ -128,13 +133,14 @@ private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type eleme } } - private static void SerializeMap(CborWriter writer, ICbor obj, Type objType, bool indefinite = false) + private static void SerializeMap(CborWriter writer, ICbor obj, Type objType) { try { + CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); if (obj is CborMap cborMap) { - writer.WriteStartMap(indefinite ? null : cborMap.Value.Count); + writer.WriteStartMap(cborSerializableAttr!.IsDefinite ? cborMap.Value.Count : null); foreach (KeyValuePair kvp in cborMap.Value) { SerializeCbor(writer, kvp.Key, kvp.Key.GetType()); @@ -146,11 +152,11 @@ private static void SerializeMap(CborWriter writer, ICbor obj, Type objType, boo { MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); MethodInfo genericMethod = method!.MakeGenericMethod(objType.GetGenericArguments()); - genericMethod.Invoke(null, [writer, obj, indefinite]); + genericMethod.Invoke(null, [writer, obj, cborSerializableAttr!.IsDefinite]); } else if (obj is not null && objType.GetCustomAttribute()?.Type == CborType.Map) { - SerializeCustomMap(writer, obj, objType, indefinite); + SerializeCustomMap(writer, obj, objType, cborSerializableAttr!.IsDefinite); } else { @@ -163,37 +169,83 @@ private static void SerializeMap(CborWriter writer, ICbor obj, Type objType, boo } } - private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objType, bool indefinite = false) + private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objType, bool definite = false) { - Type baseMapType = objType.GetInterfaces() - .Concat(CborSerializerUtils.GetBaseTypes(objType)) - .FirstOrDefault(t => t.IsGenericType && t.GetGenericTypeDefinition() == typeof(CborMap<,>)) ?? - throw new InvalidOperationException($"Could not find CborMap<,> base type for {objType.Name}"); + Type? baseType = objType.BaseType; - object? mapValue = obj.GetValue(baseMapType); + if (baseType != null && baseType.IsGenericType) + { + Type[] genericArgs = baseType.GetGenericArguments(); + MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); + MethodInfo genericMethod = method!.MakeGenericMethod(genericArgs); + genericMethod.Invoke(null, [writer, obj, definite]); + } + else + { + Type[] types = objType.GetProperties() + .Select(p => p.PropertyType) + .ToArray(); + ConstructorInfo? constructor = objType.GetConstructor(types); + ParameterInfo[]? parameters = (constructor?.GetParameters()) ?? + throw new InvalidOperationException($"No suitable constructor found for type: {objType.Name}"); + + int mapSize = parameters.Count(p => + { + CborPropertyAttribute? cborPropertyAttr = p.GetCustomAttribute(); + if (cborPropertyAttr == null) + return false; - Type[] genericArgs = baseMapType.GetGenericArguments(); - Type dictType = typeof(Dictionary<,>).MakeGenericType(genericArgs); + PropertyInfo? property = objType.GetProperty(p.Name!); + object? value = property?.GetValue(obj); - if (!dictType.IsInstanceOfType(mapValue)) - throw new InvalidOperationException($"Value property is not of expected type {dictType.Name} for {objType.Name}"); + return value != null; + }); - Type cborMapType = typeof(CborMap<,>).MakeGenericType(genericArgs); - object? cborMap = Activator.CreateInstance(cborMapType, mapValue); + writer.WriteStartMap(definite ? mapSize : null); - MethodInfo? genericSerializeMethod = (typeof(CborSerializer) - .GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static) - ?.MakeGenericMethod(genericArgs)) ?? - throw new InvalidOperationException("SerializeGenericMap method with specified generic arguments not found."); + foreach (ParameterInfo parameter in parameters) + { + CborPropertyAttribute? cborPropertyAttr = parameter.GetCustomAttribute(); + if (cborPropertyAttr != null) + { + PropertyInfo? property = objType.GetProperty(parameter.Name!); + object? value = property?.GetValue(obj); + + if (value is null) + { + continue; + } + + if (cborPropertyAttr.Key != null) + { + writer.WriteTextString(cborPropertyAttr.Key); + } + else if (cborPropertyAttr.Index != null) + { + writer.WriteInt32((int)cborPropertyAttr.Index); + } + + + if (value is ICbor cborValue) + { + SerializeCbor(writer, cborValue, value.GetType()); + } + else + { + throw new InvalidOperationException($"Parameter {parameter.Name} in {objType.Name} does not implement ICbor."); + } + } + } - genericSerializeMethod.Invoke(null, [writer, cborMap, indefinite]); + writer.WriteEndMap(); + } } - private static void SerializeGenericMap(CborWriter writer, CborMap map, bool indefinite = false) + private static void SerializeGenericMap(CborWriter writer, CborMap map, bool definite = false) where TKey : ICbor where TValue : ICbor { - writer.WriteStartMap(indefinite ? null : map.Value.Count); + writer.WriteStartMap(definite ? map.Value.Count : null); foreach (KeyValuePair kvp in map.Value) { SerializeCbor(writer, kvp.Key, typeof(TKey)); @@ -224,7 +276,7 @@ private static void SerializeConstructor(CborWriter writer, ICbor cbor, Type obj foreach (ParameterInfo parameter in parameters) { - PropertyInfo? property = objType.GetProperty(parameter.Name!, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase) ?? + PropertyInfo? property = objType.GetProperty(parameter.Name!, BindingFlags.Public | BindingFlags.Instance) ?? throw new InvalidOperationException($"Property {parameter.Name} not found in {objType.Name}"); object? value = property.GetValue(cbor) ?? @@ -236,7 +288,16 @@ private static void SerializeConstructor(CborWriter writer, ICbor cbor, Type obj writer.WriteEndArray(); } - private static ICbor? DeserializeCbor(CborReader reader, Type targetType, byte[]? cborData = null) + private static void SerializeEncodedValue(CborWriter writer, ICbor cbor, Type objType) + { + CborTag tag = CborTag.EncodedCborDataItem; + writer.WriteTag(tag); + + byte[] value = (byte[])cbor.GetValue(objType); + writer.WriteByteString(value); + } + + private static ICbor? DeserializeCbor(CborReader reader, Type targetType) { if (reader.PeekState() == CborReaderState.Null) { @@ -253,10 +314,11 @@ private static void SerializeConstructor(CborWriter writer, ICbor cbor, Type obj CborType.Map => DeserializeMap(reader, targetType), CborType.Int => DeserializeCborInt(reader, targetType), CborType.Ulong => DeserializeCborUlong(reader, targetType), - CborType.Union => DeserializeUnion(reader, cborData!, targetType), + CborType.Union => DeserializeUnion(reader, targetType), CborType.Bytes => DeserializeCborBytes(reader, targetType), CborType.Constr => DeserializeConstructor(reader, targetType), CborType.List => DeserializeList(reader, targetType), + CborType.EncodedValue => DeserializeEncodedValue(reader, targetType), _ => throw new NotImplementedException($"Unknown CborType: {cborType}"), }; } @@ -284,16 +346,17 @@ private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType private static ICbor? DeserializeList(CborReader reader, Type targetType) { - if (targetType.IsGenericType && targetType.GetGenericTypeDefinition() == typeof(CborIndefiniteList<>)) + if (targetType.IsGenericType) { + Type itemType = targetType.GetGenericArguments()[0]; MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(targetType.GetGenericArguments()); + MethodInfo genericMethod = method!.MakeGenericMethod(itemType, targetType); return (ICbor?)genericMethod.Invoke(null, [reader, targetType]); } reader.ReadStartArray(); - List properties = targetType.GetProperties().ToList(); + List properties = [.. targetType.GetProperties()]; object[] values = new object[properties.Count]; @@ -308,13 +371,15 @@ private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType return (ICbor?)Activator.CreateInstance(targetType, values); } - private static CborIndefiniteList DeserializeGenericList(CborReader reader, Type targetType) where T : ICbor + private static TList? DeserializeGenericList(CborReader reader, Type targetType) + where T : ICbor + where TList : ICbor { if (reader.PeekState() != CborReaderState.StartArray) throw new InvalidOperationException("Expected start of array in CBOR data"); Type itemType = targetType.GetGenericArguments()[0]; - IList list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(itemType))!; + List list = []; reader.ReadStartArray(); while (reader.PeekState() != CborReaderState.EndArray) @@ -324,7 +389,7 @@ private static CborIndefiniteList DeserializeGenericList(CborReader reader } reader.ReadEndArray(); - return new CborIndefiniteList([.. list]); + return (TList?)Activator.CreateInstance(typeof(TList), [list.ToArray()]); } private static ICbor? DeserializeConstructor(CborReader reader, Type targetType) @@ -341,7 +406,6 @@ private static CborIndefiniteList DeserializeGenericList(CborReader reader if (cborSerializableAttr != null) { ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); - var constructor = targetType.GetConstructors(); object?[] args = new object?[constructorParams.Length]; for (int i = 0; i < constructorParams.Length; i++) @@ -368,10 +432,6 @@ private static CborIndefiniteList DeserializeGenericList(CborReader reader } else { - CborSerializableAttribute? cborSerializableAttr = targetType.GetCustomAttribute(); - if (cborSerializableAttr == null || cborSerializableAttr.Type != CborType.Constr) - throw new InvalidOperationException($"Type {targetType.Name} is not marked as CborSerializable with CborType.Constr"); - ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); object?[] args = new object?[constructorParams.Length]; @@ -386,17 +446,17 @@ private static CborIndefiniteList DeserializeGenericList(CborReader reader } } - private static ICbor DeserializeMap(CborReader reader, Type targetType) + private static ICbor? DeserializeMap(CborReader reader, Type targetType) { if (targetType == typeof(CborMap)) { return DeserializeCborMap(reader); } - else if (targetType.IsGenericType && targetType.GetGenericTypeDefinition() == typeof(CborMap<,>)) + else if (targetType.IsGenericType) { MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(targetType.GetGenericArguments()); - return (ICbor)genericMethod.Invoke(null, [reader])!; + MethodInfo? genericMethod = method?.MakeGenericMethod(targetType.GetGenericArguments()); + return (ICbor?)genericMethod?.Invoke(null, [reader]); } else if (targetType.GetCustomAttribute()?.Type == CborType.Map) { @@ -408,7 +468,7 @@ private static ICbor DeserializeMap(CborReader reader, Type targetType) } } - private static CborMap DeserializeCborMap(CborReader reader) + private static CborMap? DeserializeCborMap(CborReader reader) { reader.ReadStartMap(); Dictionary dictionary = []; @@ -442,7 +502,7 @@ private static CborMap DeserializeGenericMap(CborRea return new CborMap(dictionary); } - private static ICbor DeserializeCustomMap(CborReader reader, Type targetType) + private static ICbor? DeserializeCustomMap(CborReader reader, Type targetType) { Type? baseType = targetType.BaseType; Type[] genericArgs; @@ -464,31 +524,85 @@ private static ICbor DeserializeCustomMap(CborReader reader, Type targetType) } else { - return DeserializeCborMap(reader); + reader.ReadStartMap(); + + Type[] types = targetType.GetProperties() + .Select(p => p.PropertyType) + .ToArray(); + ConstructorInfo? constructor = targetType.GetConstructor(types); + ParameterInfo[]? parameters = constructor?.GetParameters(); + + if (parameters is null || parameters.Length == 0) + return null; + + object?[] values = new object?[parameters.Length]; + + while (reader.PeekState() != CborReaderState.EndMap) + { + object? key = reader.PeekState() == CborReaderState.TextString + ? reader.ReadTextString() + : reader.ReadInt32(); + + for (int i = 0; i < parameters.Length; i++) + { + CborPropertyAttribute? cborPropertyAttribute = parameters[i].GetCustomAttribute(); + if (cborPropertyAttribute != null) + { + string? keyString = cborPropertyAttribute.Key; + int? keyIndex = cborPropertyAttribute.Index; + + if ((keyString != null && keyString.Equals(key?.ToString())) || + (keyIndex != null && keyIndex == key as int?)) + { + values[i] = DeserializeCbor(reader, parameters[i].ParameterType); + break; + } + } + } + } + + reader.ReadEndMap(); + return (ICbor?)Activator.CreateInstance(targetType, values); } throw new InvalidOperationException($"No suitable constructor found for type: {targetType.Name}"); } - private static ICbor? DeserializeUnion(CborReader reader, byte[] cborData, Type targetType) + private static ICbor? DeserializeUnion(CborReader reader, Type targetType) { CborUnionTypesAttribute unionAttr = targetType.GetCustomAttribute() ?? throw new InvalidOperationException($"Type {targetType.Name} is not marked with CborUnionTypesAttribute"); - + + ReadOnlyMemory unionByte = reader.ReadEncodedValue(); + CborReader cborReader = new(unionByte); foreach (Type type in unionAttr.UnionTypes) { try { Type? unionType = type.IsGenericTypeDefinition ? type.MakeGenericType(targetType.GetGenericArguments()) : type; - return DeserializeCbor(reader, unionType); + return DeserializeCbor(cborReader, unionType); } catch { - reader.Reset(cborData); + cborReader.Reset(unionByte); continue; } } throw new InvalidOperationException("No matching type found in the union"); } + + private static ICbor? DeserializeEncodedValue(CborReader reader, Type targetType) + { + CborTag tag = reader.ReadTag(); + + if (tag == CborTag.EncodedCborDataItem) + { + ReadOnlyMemory encodedReadonlyValue = reader.ReadByteString(); + byte[] value = encodedReadonlyValue.ToArray(); + return (ICbor)Activator.CreateInstance(targetType, value)!; + } + + throw new InvalidOperationException("Invalid Encoded Value"); + } } \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborType.cs b/src/Chrysalis/Cbor/CborType.cs index 63485c7d..1400c854 100644 --- a/src/Chrysalis/Cbor/CborType.cs +++ b/src/Chrysalis/Cbor/CborType.cs @@ -8,5 +8,5 @@ public enum CborType Map, List, Union, - PlutusData + EncodedValue } \ No newline at end of file From 1ac3d9f066c6de89267c7739018f5a8460800b66 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Thu, 5 Sep 2024 10:23:47 +0800 Subject: [PATCH 007/162] feat: added Aiken MPF initial types and Coinecta Vesting Treasury types (#7) --- src/Chrysalis.Test/CborSerializationTests.cs | 4 +- .../Cardano/Models/Coinecta/Treasury.cs | 14 ------ .../Models/Coinecta/Vesting/Treasury.cs | 49 +++++++++++++++++++ src/Chrysalis/Cardano/Models/MPF/Proof.cs | 44 +++++++++++++++++ 4 files changed, 96 insertions(+), 15 deletions(-) delete mode 100644 src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs create mode 100644 src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs create mode 100644 src/Chrysalis/Cardano/Models/MPF/Proof.cs diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index 5e3cb241..8c0dbc7a 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -2,6 +2,7 @@ using Chrysalis.Cardano.Models; using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Coinecta; +using Chrysalis.Cardano.Models.Coinecta.Vesting; using Chrysalis.Cardano.Models.Core; using Chrysalis.Cardano.Models.Plutus; using Chrysalis.Cardano.Models.Sundae; @@ -32,6 +33,7 @@ public class CborSerializerTests [InlineData("8201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(DatumOption))] // Serialized CBOR for Inline Datum: [InlineData("d81842ffff", typeof(CborEncodedValue))] // Serialized CBOR for CIP68: [InlineData("a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a00dd40a0a2581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f6a14e0014df104d494e20496e7465726e1b0000000ba43b7400581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820e08460587b08cca542bd2856b8d5e1d23bf3f63f9916fb81f6d95fda0910bf691b7fffffffd5da682b028201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(TransactionOutput))] // Serialized CBOR for TransactionOutput: + [InlineData("D8799F9FD87B9F005820567463495E4DC4FB67268D9A6E92836A68A18A317D2F0CA6CC6D695EE7733889582023B4DA2A35E86C585A6F5FCCFF3B53F7660D73536C79FF486BCAB719B518C58FFFFFD8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A140A1401A05F5E10041004100FFFF", typeof(TreasuryRedeemer))] // Serialized CBOR for TransactionOutput: public void SerializeAndDeserializePrimitives(string cborHex, Type type) { // Arrange @@ -51,6 +53,6 @@ public void SerializeAndDeserializePrimitives(string cborHex, Type type) string serializedHex = Convert.ToHexString(serializedBytes).ToLowerInvariant(); // Assert - Assert.Equal(cborHex, serializedHex); + Assert.Equal(cborHex.ToLowerInvariant(), serializedHex); } } \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs b/src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs deleted file mode 100644 index d11cb651..00000000 --- a/src/Chrysalis/Cardano/Models/Coinecta/Treasury.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Sundae; -using Chrysalis.Cardano.Models.Cbor; - -namespace Chrysalis.Cardano.Models.Coinecta; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Treasury( - MultisigScript Owner, - CborBytes TreasuryRootHash, - PosixTime UnlockTime -) : ICbor; - - diff --git a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs b/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs new file mode 100644 index 00000000..ebcf57e8 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs @@ -0,0 +1,49 @@ +using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Sundae; +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Models.Mpf; + +namespace Chrysalis.Cardano.Models.Coinecta.Vesting; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Treasury( + MultisigScript Owner, + CborBytes TreasuryRootHash, + PosixTime UnlockTime +) : ICbor; + + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(TreasuryClaimRedeemer), typeof(TreasuryWithdrawRedeemer)])] +public record TreasuryRedeemer : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record TreasuryClaimRedeemer( + [CborProperty(0)] + CborIndefiniteList Proof, + + [CborProperty(1)] + ClaimEntry ClaimEntry +) : TreasuryRedeemer; + +[CborSerializable(CborType.Constr, Index = 1)] +public record TreasuryWithdrawRedeemer() : TreasuryRedeemer; + +[CborSerializable(CborType.Constr, Index = 0)] +public record ClaimEntry( + [CborProperty(0)] + MultisigScript Claimant, + + [CborProperty(1)] + MultiAsset VestingValue, + + [CborProperty(2)] + MultiAsset DirectValue, + + [CborProperty(3)] + CborBytes VestingParameters, + + [CborProperty(4)] + CborBytes VestingProgram +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/MPF/Proof.cs b/src/Chrysalis/Cardano/Models/MPF/Proof.cs new file mode 100644 index 00000000..c8caf402 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/MPF/Proof.cs @@ -0,0 +1,44 @@ + +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Mpf; + + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(Branch), + typeof(Fork), + typeof(Leaf) +])] +public record ProofStep : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Branch( + [CborProperty(0)] + CborInt Skip, + + [CborProperty(1)] + CborBytes Neighbors +) : ProofStep; + +[CborSerializable(CborType.Constr, Index = 1)] +public record Fork( + [CborProperty(0)] + CborInt Skip, + + [CborProperty(1)] + CborBytes Neighbor +) : ProofStep; + +[CborSerializable(CborType.Constr, Index = 2)] +public record Leaf( + [CborProperty(0)] + CborInt Skip, + + [CborProperty(1)] + CborBytes Key, + + [CborProperty(2)] + CborBytes Value +) : ProofStep; From 561656e2bfcef7fbe53cd948a5d64b12032ee4af Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Thu, 5 Sep 2024 10:26:25 +0800 Subject: [PATCH 008/162] chore: bump version to `0.1.1` (#8) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 24dc66a4..4727a073 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.1.0 + 0.1.1 Chrysalis clark@saib.dev SAIB Inc From 5126a82ce3161b986c8d8987b86397bcc524f149 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Thu, 5 Sep 2024 10:34:24 +0800 Subject: [PATCH 009/162] chore: remove out directory during pack step (#9) --- .github/workflows/dotnet.yml | 1 + src/Chrysalis/Chrysalis.csproj | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index ac56e922..018ae936 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -43,6 +43,7 @@ jobs: working-directory: ./src/Chrysalis - name: Pack + run: rm -rf out run: dotnet pack --no-build -c Release -o out working-directory: ./src/Chrysalis diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 4727a073..fc46d54e 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -14,7 +14,7 @@ - + From da44e7033a5ab7ec76f9fec36a5dfd133fe1b653 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Thu, 5 Sep 2024 10:36:57 +0800 Subject: [PATCH 010/162] chore: bump version to `0.1.2` (#10) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index fc46d54e..2134522c 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.1.1 + 0.1.2 Chrysalis clark@saib.dev SAIB Inc From dda930819f3cec6678b56273a95945baea509aa3 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Thu, 5 Sep 2024 10:40:38 +0800 Subject: [PATCH 011/162] chore: update dotnet.yml workflow to remove out directory during pack step and bump version to 0.1.3 (#11) --- .github/workflows/dotnet.yml | 3 +-- src/Chrysalis/Chrysalis.csproj | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 018ae936..75b37021 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -43,8 +43,7 @@ jobs: working-directory: ./src/Chrysalis - name: Pack - run: rm -rf out - run: dotnet pack --no-build -c Release -o out + run: rm -rf out && dotnet pack --no-build -c Release -o out working-directory: ./src/Chrysalis - name: Push to NuGet diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 2134522c..e8611096 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.1.2 + 0.1.3 Chrysalis clark@saib.dev SAIB Inc From e3da98ffcf7a6f4c3abe378e577e732bbf7b8a20 Mon Sep 17 00:00:00 2001 From: Wendell Mor Tamayo <107296776+WendellMorTamayo@users.noreply.github.com> Date: Fri, 6 Sep 2024 02:57:37 +0800 Subject: [PATCH 012/162] feat: add support for inherited list records (#12) --- src/Chrysalis.Test/CborSerializationTests.cs | 4 +- .../Models/Coinecta/Vesting/Treasury.cs | 3 +- src/Chrysalis/Cardano/Models/MPF/Proof.cs | 3 +- src/Chrysalis/Cbor/CborSerializer.cs | 175 ++++++++++++------ 4 files changed, 124 insertions(+), 61 deletions(-) diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index 8c0dbc7a..7611428a 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -1,7 +1,5 @@ using System.Reflection; -using Chrysalis.Cardano.Models; using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Coinecta; using Chrysalis.Cardano.Models.Coinecta.Vesting; using Chrysalis.Cardano.Models.Core; using Chrysalis.Cardano.Models.Plutus; @@ -33,7 +31,7 @@ public class CborSerializerTests [InlineData("8201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(DatumOption))] // Serialized CBOR for Inline Datum: [InlineData("d81842ffff", typeof(CborEncodedValue))] // Serialized CBOR for CIP68: [InlineData("a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a00dd40a0a2581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f6a14e0014df104d494e20496e7465726e1b0000000ba43b7400581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820e08460587b08cca542bd2856b8d5e1d23bf3f63f9916fb81f6d95fda0910bf691b7fffffffd5da682b028201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(TransactionOutput))] // Serialized CBOR for TransactionOutput: - [InlineData("D8799F9FD87B9F005820567463495E4DC4FB67268D9A6E92836A68A18A317D2F0CA6CC6D695EE7733889582023B4DA2A35E86C585A6F5FCCFF3B53F7660D73536C79FF486BCAB719B518C58FFFFFD8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A140A1401A05F5E10041004100FFFF", typeof(TreasuryRedeemer))] // Serialized CBOR for TransactionOutput: + [InlineData("D8799F9FD87B9F005820567463495E4DC4FB67268D9A6E92836A68A18A317D2F0CA6CC6D695EE7733889582023B4DA2A35E86C585A6F5FCCFF3B53F7660D73536C79FF486BCAB719B518C58FFFFFD8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A140A1401A05F5E10041004100FFFF", typeof(TreasuryRedeemer))] // Serialized CBOR for TreasuryRedeemer: public void SerializeAndDeserializePrimitives(string cborHex, Type type) { // Arrange diff --git a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs b/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs index ebcf57e8..aa07325d 100644 --- a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs +++ b/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs @@ -13,7 +13,6 @@ public record Treasury( PosixTime UnlockTime ) : ICbor; - [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(TreasuryClaimRedeemer), typeof(TreasuryWithdrawRedeemer)])] public record TreasuryRedeemer : ICbor; @@ -21,7 +20,7 @@ public record TreasuryRedeemer : ICbor; [CborSerializable(CborType.Constr, Index = 0)] public record TreasuryClaimRedeemer( [CborProperty(0)] - CborIndefiniteList Proof, + Proof Proof, [CborProperty(1)] ClaimEntry ClaimEntry diff --git a/src/Chrysalis/Cardano/Models/MPF/Proof.cs b/src/Chrysalis/Cardano/Models/MPF/Proof.cs index c8caf402..c8b0f257 100644 --- a/src/Chrysalis/Cardano/Models/MPF/Proof.cs +++ b/src/Chrysalis/Cardano/Models/MPF/Proof.cs @@ -4,7 +4,6 @@ namespace Chrysalis.Cardano.Models.Mpf; - [CborSerializable(CborType.Union)] [CborUnionTypes([ typeof(Branch), @@ -42,3 +41,5 @@ public record Leaf( [CborProperty(2)] CborBytes Value ) : ProofStep; + +public record Proof(ProofStep[] ProofSteps) : CborIndefiniteList(ProofSteps); \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index b0b8d2c0..8dbca49f 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -38,7 +38,7 @@ private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) SerializeCborUlong(writer, cbor, objType); break; case CborType.List: - SerializeList(writer, cbor); + SerializeList(writer, cbor, objType); break; case CborType.Map: SerializeMap(writer, cbor, objType); @@ -59,34 +59,24 @@ private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) } } - private static void SerializeList(CborWriter writer, ICbor cbor) + private static void SerializeList(CborWriter writer, ICbor cbor, Type objType) { - CborSerializableAttribute? cborSerializableAttr = cbor.GetType().GetCustomAttribute(); - if (cbor.GetType().IsGenericType) + if (objType.IsGenericType) { + CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(cbor.GetType().GetGenericArguments()); + MethodInfo genericMethod = method!.MakeGenericMethod(objType.GetGenericArguments()); genericMethod.Invoke(null, [writer, cbor, cborSerializableAttr!.IsDefinite]); return; } - - PropertyInfo[] properties = cbor.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); - writer.WriteStartArray(cborSerializableAttr!.IsDefinite ? properties.Length : null); - - foreach (PropertyInfo property in properties) + else if (objType.GetCustomAttribute()?.Type == CborType.List) { - object? value = property.GetValue(cbor); - if (value is ICbor cborValue) - { - SerializeCbor(writer, cborValue, property.PropertyType); - } - else - { - throw new InvalidOperationException($"Property {property.Name} in {cbor.GetType().Name} does not implement ICbor."); - } + SerializeListStructure(writer, cbor, objType); + } + else + { + throw new InvalidOperationException($"Unsupported list type for deserialization: {cbor.GetType().Name}"); } - - writer.WriteEndArray(); } private static void SerializeGenericList(CborWriter writer, ICbor cborList, bool definite = false) where T : ICbor @@ -102,34 +92,71 @@ private static void SerializeGenericList(CborWriter writer, ICbor cborList, b writer.WriteEndArray(); } - private static void SerializeCborUlong(CborWriter writer, ICbor cbor, Type targetType) + private static void SerializeListStructure(CborWriter writer, ICbor cbor, Type objType) + { + Type? baseType = objType.BaseType; + CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); + bool IsDefinite = cborSerializableAttr?.IsDefinite ?? true; + + if (cbor is null) + return; + + if (baseType != null && baseType.IsGenericType) + { + MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); + MethodInfo genericMethod = method!.MakeGenericMethod(baseType.GetGenericArguments()); + genericMethod.Invoke(null, [writer, cbor, IsDefinite]); + } + else + { + PropertyInfo[] properties = cbor.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); + writer.WriteStartArray(IsDefinite ? properties.Length : null); + + foreach (PropertyInfo property in properties) + { + object? value = property.GetValue(cbor); + if (value is ICbor cborValue) + { + SerializeCbor(writer, cborValue, property.PropertyType); + } + else + { + throw new InvalidOperationException($"Property {property.Name} in {baseType?.Name} does not implement ICbor."); + } + } + + writer.WriteEndArray(); + } + } + + private static void SerializeCborUlong(CborWriter writer, ICbor cbor, Type objType) { - writer.WriteUInt64((ulong)cbor.GetValue(targetType)); + writer.WriteUInt64((ulong)cbor.GetValue(objType)); } - private static void SerializeCborInt(CborWriter writer, ICbor cbor, Type elementType) + private static void SerializeCborInt(CborWriter writer, ICbor cbor, Type objType) { - writer.WriteInt32((int)cbor.GetValue(elementType)); + writer.WriteInt32((int)cbor.GetValue(objType)); } - private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type elementType) + private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type objType) { - CborSerializableAttribute? cborSerializableAttr = elementType.GetCustomAttribute(); + CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); if (!cborSerializableAttr!.IsDefinite) { writer.WriteStartIndefiniteLengthByteString(); - byte[] bytesValue = (byte[])cbor.GetValue(elementType); + byte[] bytesValue = (byte[])cbor.GetValue(objType); const int chunkSize = 1024; for (int i = 0; i < bytesValue.Length; i += chunkSize) { int length = Math.Min(chunkSize, bytesValue.Length - i); - writer.WriteByteString(((byte[])cbor.GetValue(elementType)).AsSpan(i, length)); + writer.WriteByteString(((byte[])cbor.GetValue(objType)).AsSpan(i, length)); } writer.WriteEndIndefiniteLengthByteString(); } else { - writer.WriteByteString((byte[])cbor.GetValue(elementType)); + writer.WriteByteString((byte[])cbor.GetValue(objType)); } } @@ -353,22 +380,14 @@ private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType MethodInfo genericMethod = method!.MakeGenericMethod(itemType, targetType); return (ICbor?)genericMethod.Invoke(null, [reader, targetType]); } - - reader.ReadStartArray(); - - List properties = [.. targetType.GetProperties()]; - - object[] values = new object[properties.Count]; - - for (int i = 0; i < properties.Count; i++) + else if(targetType.GetCustomAttribute()?.Type == CborType.List) { - Type propType = properties[i].PropertyType; - values[i] = DeserializeCbor(reader, propType)!; + return DeserializeListStructure(reader, targetType); + } + else + { + throw new InvalidOperationException($"Unsupported list type for deserialization: {targetType.Name}"); } - - reader.ReadEndArray(); - - return (ICbor?)Activator.CreateInstance(targetType, values); } private static TList? DeserializeGenericList(CborReader reader, Type targetType) @@ -378,13 +397,13 @@ private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType if (reader.PeekState() != CborReaderState.StartArray) throw new InvalidOperationException("Expected start of array in CBOR data"); - Type itemType = targetType.GetGenericArguments()[0]; + Type? itemType = targetType.GetGenericArguments()[0]; List list = []; reader.ReadStartArray(); while (reader.PeekState() != CborReaderState.EndArray) { - T item = (T)DeserializeCbor(reader, itemType)!; + T? item = (T)DeserializeCbor(reader, itemType!)!; list.Add(item); } reader.ReadEndArray(); @@ -392,6 +411,47 @@ private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType return (TList?)Activator.CreateInstance(typeof(TList), [list.ToArray()]); } + private static ICbor? DeserializeListStructure(CborReader reader, Type targetType) + { + Type? baseType = targetType.BaseType; + + if (baseType != null && baseType.IsGenericType) + { + Type genericArg = baseType.GetGenericArguments()[0]; + + MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); + MethodInfo genericMethod = method!.MakeGenericMethod(genericArg, baseType); + + ICbor list = (ICbor)genericMethod.Invoke(null, [reader, baseType])!; + + ConstructorInfo? ctor = targetType.GetConstructors()[0]; + if (ctor != null) + { + return (ICbor?)ctor.Invoke([list.GetValue(list.GetType())]); + } + } + else + { + reader.ReadStartArray(); + + List properties = [.. targetType.GetProperties()]; + + object[] values = new object[properties.Count]; + + for (int i = 0; i < properties.Count; i++) + { + Type propType = properties[i].PropertyType; + values[i] = DeserializeCbor(reader, propType)!; + } + + reader.ReadEndArray(); + + return (ICbor?)Activator.CreateInstance(targetType, values); + } + + throw new InvalidOperationException($"No suitable constructor found for type: {targetType.Name}"); + } + private static ICbor? DeserializeConstructor(CborReader reader, Type targetType) { reader.ReadTag(); @@ -430,20 +490,23 @@ private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType throw new InvalidOperationException($"Unhandled generic type: {genericTypeDef.Name}"); } } - else + else if(targetType.GetCustomAttribute()?.Type == CborType.Constr) { ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); object?[] args = new object?[constructorParams.Length]; - - for (int i = 0; i < constructorParams.Length; i++) + if (constructorParams is not null && constructorParams.Length != 0) { - Type paramType = constructorParams[i].ParameterType; - args[i] = DeserializeCbor(reader, paramType); + for (int i = 0; i < constructorParams.Length; i++) + { + Type paramType = constructorParams[i].ParameterType; + args[i] = DeserializeCbor(reader, paramType); + } + reader.ReadEndArray(); + return (ICbor?)Activator.CreateInstance(targetType, args); } - - reader.ReadEndArray(); - return (ICbor?)Activator.CreateInstance(targetType, args); } + + throw new InvalidOperationException($"Unhandled generic type: {targetType.Name}"); } private static ICbor? DeserializeMap(CborReader reader, Type targetType) @@ -575,6 +638,7 @@ private static CborMap DeserializeGenericMap(CborRea ReadOnlyMemory unionByte = reader.ReadEncodedValue(); CborReader cborReader = new(unionByte); + foreach (Type type in unionAttr.UnionTypes) { try @@ -582,8 +646,9 @@ private static CborMap DeserializeGenericMap(CborRea Type? unionType = type.IsGenericTypeDefinition ? type.MakeGenericType(targetType.GetGenericArguments()) : type; return DeserializeCbor(cborReader, unionType); } - catch + catch(Exception ex) { + Console.WriteLine(ex.Message); cborReader.Reset(unionByte); continue; } From 261e8399ff8ba2b96f0a39539c52e622d7199510 Mon Sep 17 00:00:00 2001 From: Wendell Mor Tamayo <107296776+WendellMorTamayo@users.noreply.github.com> Date: Fri, 6 Sep 2024 04:43:23 +0800 Subject: [PATCH 013/162] chore: bump version to `0.1.4` (#13) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index e8611096..617c2bc1 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.1.3 + 0.1.4 Chrysalis clark@saib.dev SAIB Inc From e74db065bfd63734a92487c5155b82c2f97c1296 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Fri, 6 Sep 2024 15:20:25 +0800 Subject: [PATCH 014/162] fix: mpf neighbor type fork (#14) * fix: MPF Fork uses Neighbor type instead of bytes * chore: bump version to `0.1.5` --- src/Chrysalis.Test/CborSerializationTests.cs | 3 +++ src/Chrysalis/Cardano/Models/Core/Address.cs | 2 +- src/Chrysalis/Cardano/Models/MPF/Proof.cs | 20 ++++++++++++++++---- src/Chrysalis/Chrysalis.csproj | 2 +- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index 7611428a..b33088f7 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -2,6 +2,7 @@ using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Coinecta.Vesting; using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Models.Mpf; using Chrysalis.Cardano.Models.Plutus; using Chrysalis.Cardano.Models.Sundae; using Chrysalis.Cbor; @@ -32,6 +33,8 @@ public class CborSerializerTests [InlineData("d81842ffff", typeof(CborEncodedValue))] // Serialized CBOR for CIP68: [InlineData("a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a00dd40a0a2581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f6a14e0014df104d494e20496e7465726e1b0000000ba43b7400581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820e08460587b08cca542bd2856b8d5e1d23bf3f63f9916fb81f6d95fda0910bf691b7fffffffd5da682b028201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(TransactionOutput))] // Serialized CBOR for TransactionOutput: [InlineData("D8799F9FD87B9F005820567463495E4DC4FB67268D9A6E92836A68A18A317D2F0CA6CC6D695EE7733889582023B4DA2A35E86C585A6F5FCCFF3B53F7660D73536C79FF486BCAB719B518C58FFFFFD8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A140A1401A05F5E10041004100FFFF", typeof(TreasuryRedeemer))] // Serialized CBOR for TreasuryRedeemer: + [InlineData("D8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A041004100FF", typeof(ClaimEntry))] // Serialized CBOR for ClaimEntry: + [InlineData("9fd87a9f00d8799f0e405820907a68a571ed8634e16b1abac5a9765fce7a27b3cb11f0059f4755699be1702bffffff", typeof(Proof))] public void SerializeAndDeserializePrimitives(string cborHex, Type type) { // Arrange diff --git a/src/Chrysalis/Cardano/Models/Core/Address.cs b/src/Chrysalis/Cardano/Models/Core/Address.cs index fdca17de..d5d2251f 100644 --- a/src/Chrysalis/Cardano/Models/Core/Address.cs +++ b/src/Chrysalis/Cardano/Models/Core/Address.cs @@ -2,4 +2,4 @@ namespace Chrysalis.Cardano.Models.Core; -public record Address(byte[] Value) : CborBytes(Value); \ No newline at end of file +public record Address(byte[] Value) : CborBytes(Value); diff --git a/src/Chrysalis/Cardano/Models/MPF/Proof.cs b/src/Chrysalis/Cardano/Models/MPF/Proof.cs index c8b0f257..b8614ec6 100644 --- a/src/Chrysalis/Cardano/Models/MPF/Proof.cs +++ b/src/Chrysalis/Cardano/Models/MPF/Proof.cs @@ -15,7 +15,7 @@ public record ProofStep : ICbor; [CborSerializable(CborType.Constr, Index = 0)] public record Branch( [CborProperty(0)] - CborInt Skip, + CborUlong Skip, [CborProperty(1)] CborBytes Neighbors @@ -24,16 +24,16 @@ CborBytes Neighbors [CborSerializable(CborType.Constr, Index = 1)] public record Fork( [CborProperty(0)] - CborInt Skip, + CborUlong Skip, [CborProperty(1)] - CborBytes Neighbor + Neighbor Neighbor ) : ProofStep; [CborSerializable(CborType.Constr, Index = 2)] public record Leaf( [CborProperty(0)] - CborInt Skip, + CborUlong Skip, [CborProperty(1)] CborBytes Key, @@ -42,4 +42,16 @@ public record Leaf( CborBytes Value ) : ProofStep; +[CborSerializable(CborType.Constr, Index = 0)] +public record Neighbor( + [CborProperty(0)] + CborUlong Nibble, + + [CborProperty(1)] + CborBytes Prefix, + + [CborProperty(2)] + CborBytes Root +) : ProofStep; + public record Proof(ProofStep[] ProofSteps) : CborIndefiniteList(ProofSteps); \ No newline at end of file diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 617c2bc1..c2bfb8df 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.1.4 + 0.1.5 Chrysalis clark@saib.dev SAIB Inc From 27015a270fea7d765036e3b8546a4cdb29e56108 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Wed, 11 Sep 2024 10:29:26 +0800 Subject: [PATCH 015/162] feat: levvy token lending datums (#15) * Levvy datum types, plutus types and test cases * Levvy token redeemer * Update tokendatum test case * added missing attributes * moved output reference to plutus --------- Co-authored-by: rjlacanlaled --- src/Chrysalis.Test/CborSerializationTests.cs | 5 + .../Cardano/Models/Levvy/TokenDatum.cs | 94 +++++++++++++++++++ .../Cardano/Models/Levvy/TokenRedeemer.cs | 28 ++++++ .../Cardano/Models/Plutus/Address.cs | 46 +++++++++ .../Cardano/Models/Plutus/OutputReference.cs | 16 ++++ src/Chrysalis/Cbor/CborSerializer.cs | 14 +-- 6 files changed, 196 insertions(+), 7 deletions(-) create mode 100644 src/Chrysalis/Cardano/Models/Levvy/TokenDatum.cs create mode 100644 src/Chrysalis/Cardano/Models/Levvy/TokenRedeemer.cs create mode 100644 src/Chrysalis/Cardano/Models/Plutus/Address.cs create mode 100644 src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index b33088f7..714aad63 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -2,11 +2,13 @@ using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Coinecta.Vesting; using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Models.Levvy; using Chrysalis.Cardano.Models.Mpf; using Chrysalis.Cardano.Models.Plutus; using Chrysalis.Cardano.Models.Sundae; using Chrysalis.Cbor; using Xunit; +using Address = Chrysalis.Cardano.Models.Plutus.Address; namespace Chrysalis.Test; @@ -35,6 +37,9 @@ public class CborSerializerTests [InlineData("D8799F9FD87B9F005820567463495E4DC4FB67268D9A6E92836A68A18A317D2F0CA6CC6D695EE7733889582023B4DA2A35E86C585A6F5FCCFF3B53F7660D73536C79FF486BCAB719B518C58FFFFFD8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A140A1401A05F5E10041004100FFFF", typeof(TreasuryRedeemer))] // Serialized CBOR for TreasuryRedeemer: [InlineData("D8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A041004100FF", typeof(ClaimEntry))] // Serialized CBOR for ClaimEntry: [InlineData("9fd87a9f00d8799f0e405820907a68a571ed8634e16b1abac5a9765fce7a27b3cb11f0059f4755699be1702bffffff", typeof(Proof))] + [InlineData("d8799fd8799fd8799fd8799f581ce63022b0f461602484968bb10fd8f872787b862ace2d7e943292a370ffd8799fd8799fd8799f581c03ec6a12860ef8c07d4c1a8de7df06acb0f0330a6087ecbe972082a7ffffffff581c285b65ae63d4fad36321384ec61edfd5187b8194fff89b5abe9876da46414e47454c531a0112a8801a0bebc2001a00b71b001a48190800d8799fd8799f4100ff00ffffff", typeof(TokenDatum))] + [InlineData("d8799fd8799f4100ff00ff", typeof(OutputReference))] + [InlineData("d8799fd8799f581ce63022b0f461602484968bb10fd8f872787b862ace2d7e943292a370ffd8799fd8799fd8799f581c03ec6a12860ef8c07d4c1a8de7df06acb0f0330a6087ecbe972082a7ffffffff", typeof(Address))] public void SerializeAndDeserializePrimitives(string cborHex, Type type) { // Arrange diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenDatum.cs b/src/Chrysalis/Cardano/Models/Levvy/TokenDatum.cs new file mode 100644 index 00000000..fbf00699 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Levvy/TokenDatum.cs @@ -0,0 +1,94 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cbor; +using Address = Chrysalis.Cardano.Models.Plutus.Address; + +namespace Chrysalis.Cardano.Models.Levvy; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(LendTokenDatum), typeof(BorrowTokenDatum), typeof(RepayTokenDatum)])] +public record TokenDatum() : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record LendTokenDatum(LendTokenDetails LendTokenDetails) : TokenDatum; + +[CborSerializable(CborType.Constr, Index = 1)] +public record BorrowTokenDatum(BorrowTokenDetails BorrowTokenDetails) : TokenDatum; + +[CborSerializable(CborType.Constr, Index = 2)] +public record RepayTokenDatum(RepayTokenDetails RepayTokenDetails) : TokenDatum; + +[CborSerializable(CborType.Constr, Index = 0)] +public record LendTokenDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + CborBytes PolicyId, + + [CborProperty(2)] + CborBytes AssetName, + + [CborProperty(3)] + CborUlong TokenAmount, + + [CborProperty(4)] + CborUlong LoanAmount, + + [CborProperty(5)] + CborUlong InterestAmount, + + [CborProperty(6)] + CborUlong LoanDuration, + + [CborProperty(7)] + OutputReference OutputReference +) : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record BorrowTokenDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + Address AssetOwner, + + [CborProperty(2)] + CborBytes PolicyId, + + [CborProperty(3)] + CborBytes AssetName, + + [CborProperty(4)] + CborUlong TokenAmount, + + [CborProperty(5)] + CborUlong LoanAmount, + + [CborProperty(6)] + CborUlong InterestAmount, + + [CborProperty(7)] + PosixTime LoanEndTime, + + [CborProperty(8)] + OutputReference OutputReference +) : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record RepayTokenDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + CborUlong TokenAmount, + + [CborProperty(2)] + CborUlong LoanAmount, + + [CborProperty(3)] + CborUlong InterestAmount, + + [CborProperty(4)] + OutputReference OutputReference +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenRedeemer.cs b/src/Chrysalis/Cardano/Models/Levvy/TokenRedeemer.cs new file mode 100644 index 00000000..ae0c7f5f --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Levvy/TokenRedeemer.cs @@ -0,0 +1,28 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Levvy; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(BorrowTokenAction), + typeof(RepayTokenAction), + typeof(ClaimTokenAction), + typeof(ForecloseTokenAction), + typeof(CancelTokenAction), +])] +public record TokenRedeemer() : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record BorrowTokenAction() : TokenRedeemer; + +[CborSerializable(CborType.Constr, Index = 1)] +public record RepayTokenAction() : TokenRedeemer; + +[CborSerializable(CborType.Constr, Index = 2)] +public record ClaimTokenAction() : TokenRedeemer; + +[CborSerializable(CborType.Constr, Index = 3)] +public record ForecloseTokenAction() : TokenRedeemer; + +[CborSerializable(CborType.Constr, Index = 4)] +public record CancelTokenAction() : TokenRedeemer; diff --git a/src/Chrysalis/Cardano/Models/Plutus/Address.cs b/src/Chrysalis/Cardano/Models/Plutus/Address.cs new file mode 100644 index 00000000..1b163e48 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Plutus/Address.cs @@ -0,0 +1,46 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Plutus; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Address( + [CborProperty(0)] + Credential PaymentCredential, + + [CborProperty(1)] + Option> StakeCredential +) : ICbor; + + + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(VerificationKey), typeof(Script)])] +public record Credential() : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record VerificationKey([CborProperty(0)] CborBytes VerificationKeyHash) : Credential; + +[CborSerializable(CborType.Constr, Index = 1)] +public record Script([CborProperty(0)] CborBytes ScriptHash) : Credential; + + + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(Inline<>), typeof(Pointer)])] +public record Referenced() : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Inline(T Value) : Referenced; + +[CborSerializable(CborType.Constr, Index = 1)] +public record Pointer( + [CborProperty(0)] + CborUlong SlotNumber, + + [CborProperty(1)] + CborUlong TransactionIndex, + + [CborProperty(2)] + CborUlong CertificateIndex +) : Referenced; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs b/src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs new file mode 100644 index 00000000..80955b8e --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs @@ -0,0 +1,16 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Plutus; + +[CborSerializable(CborType.Constr, Index = 0)] +public record OutputReference( + [CborProperty(0)] + TransactionId TransactionId, + + [CborProperty(1)] + CborUlong Index +) : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record TransactionId(CborBytes Hash) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index 8dbca49f..a0750cfd 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -213,7 +213,7 @@ private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objTyp .Select(p => p.PropertyType) .ToArray(); ConstructorInfo? constructor = objType.GetConstructor(types); - ParameterInfo[]? parameters = (constructor?.GetParameters()) ?? + ParameterInfo[]? parameters = (constructor?.GetParameters()) ?? throw new InvalidOperationException($"No suitable constructor found for type: {objType.Name}"); int mapSize = parameters.Count(p => @@ -242,7 +242,7 @@ private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objTyp { continue; } - + if (cborPropertyAttr.Key != null) { writer.WriteTextString(cborPropertyAttr.Key); @@ -252,7 +252,7 @@ private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objTyp writer.WriteInt32((int)cborPropertyAttr.Index); } - + if (value is ICbor cborValue) { SerializeCbor(writer, cborValue, value.GetType()); @@ -380,7 +380,7 @@ private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType MethodInfo genericMethod = method!.MakeGenericMethod(itemType, targetType); return (ICbor?)genericMethod.Invoke(null, [reader, targetType]); } - else if(targetType.GetCustomAttribute()?.Type == CborType.List) + else if (targetType.GetCustomAttribute()?.Type == CborType.List) { return DeserializeListStructure(reader, targetType); } @@ -490,7 +490,7 @@ private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType throw new InvalidOperationException($"Unhandled generic type: {genericTypeDef.Name}"); } } - else if(targetType.GetCustomAttribute()?.Type == CborType.Constr) + else if (targetType.GetCustomAttribute()?.Type == CborType.Constr) { ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); object?[] args = new object?[constructorParams.Length]; @@ -635,7 +635,7 @@ private static CborMap DeserializeGenericMap(CborRea { CborUnionTypesAttribute unionAttr = targetType.GetCustomAttribute() ?? throw new InvalidOperationException($"Type {targetType.Name} is not marked with CborUnionTypesAttribute"); - + ReadOnlyMemory unionByte = reader.ReadEncodedValue(); CborReader cborReader = new(unionByte); @@ -646,7 +646,7 @@ private static CborMap DeserializeGenericMap(CborRea Type? unionType = type.IsGenericTypeDefinition ? type.MakeGenericType(targetType.GetGenericArguments()) : type; return DeserializeCbor(cborReader, unionType); } - catch(Exception ex) + catch (Exception ex) { Console.WriteLine(ex.Message); cborReader.Reset(unionByte); From 9ab6ad93266e6487c57b7f6b903d847538dfbc60 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Wed, 11 Sep 2024 10:32:18 +0800 Subject: [PATCH 016/162] chore: bump version to 0.1.6 (#16) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index c2bfb8df..75be365b 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.1.5 + 0.1.6 Chrysalis clark@saib.dev SAIB Inc From f4b9369c8c202214d1bfd75bd3b0902e040f96e6 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Wed, 11 Sep 2024 11:05:06 +0800 Subject: [PATCH 017/162] refactor: Remove unnecessary try-catch blocks in CborSerializer.cs (#17) --- src/Chrysalis/Cbor/CborSerializer.cs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index a0750cfd..78fa179e 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -162,8 +162,6 @@ private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type objTy private static void SerializeMap(CborWriter writer, ICbor obj, Type objType) { - try - { CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); if (obj is CborMap cborMap) { @@ -189,11 +187,6 @@ private static void SerializeMap(CborWriter writer, ICbor obj, Type objType) { throw new InvalidOperationException($"Unsupported map type for serialization: {objType.Name}"); } - } - catch (Exception ex) - { - Console.WriteLine($"Error during serialization of type {objType.Name}: {ex.Message}"); - } } private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objType, bool definite = false) @@ -648,7 +641,6 @@ private static CborMap DeserializeGenericMap(CborRea } catch (Exception ex) { - Console.WriteLine(ex.Message); cborReader.Reset(unionByte); continue; } From 5485d0b89eec46deb5b1989abce1da02d3b77f20 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Wed, 11 Sep 2024 11:06:02 +0800 Subject: [PATCH 018/162] chore: bump version to 0.1.7 (#18) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 75be365b..97d27048 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.1.6 + 0.1.7 Chrysalis clark@saib.dev SAIB Inc From 9c1f02a623bd1f9ace3aa13a98720afdb9a6daa6 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Wed, 11 Sep 2024 15:36:52 +0800 Subject: [PATCH 019/162] fix: babbage output with lovelace only (#19) --- src/Chrysalis.Test/CborSerializationTests.cs | 2 +- src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs | 4 ++-- src/Chrysalis/Cardano/Models/Core/Value.cs | 4 +++- src/Chrysalis/Cbor/CborSerializer.cs | 8 ++++---- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index 714aad63..e70f0228 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -33,7 +33,7 @@ public class CborSerializerTests [InlineData("d8799fd8799f581ceca3dfbde8ccb8408cefacda690e34aa9353af93fc02e75d8ba42f1bff58202325f3c999b17d4a6399bf6c02e1ff7615c13a73ecafae7fe813b9757f27ef2600ff", typeof(Treasury))] // Serialized CBOR for Signature: [InlineData("8201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(DatumOption))] // Serialized CBOR for Inline Datum: [InlineData("d81842ffff", typeof(CborEncodedValue))] // Serialized CBOR for CIP68: - [InlineData("a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a00dd40a0a2581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f6a14e0014df104d494e20496e7465726e1b0000000ba43b7400581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820e08460587b08cca542bd2856b8d5e1d23bf3f63f9916fb81f6d95fda0910bf691b7fffffffd5da682b028201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(TransactionOutput))] // Serialized CBOR for TransactionOutput: + [InlineData("A300583911343F54D6ADFB256B1E9041A72A8B519670086570D5611DF499C797AA03EC6A12860EF8C07D4C1A8DE7DF06ACB0F0330A6087ECBE972082A7011A0BEBC200028201D818589CD8799FD8799FD8799FD8799F581CE63022B0F461602484968BB10FD8F872787B862ACE2D7E943292A370FFD8799FD8799FD8799F581C03EC6A12860EF8C07D4C1A8DE7DF06ACB0F0330A6087ECBE972082A7FFFFFFFF581C285B65AE63D4FAD36321384EC61EDFD5187B8194FFF89B5ABE9876DA46414E47454C531A0121EAC01A0BEBC2001A00B71B001A48190800D8799FD8799F4100FF00FFFFFF", typeof(TransactionOutput))] // Serialized CBOR for TransactionOutput: [InlineData("D8799F9FD87B9F005820567463495E4DC4FB67268D9A6E92836A68A18A317D2F0CA6CC6D695EE7733889582023B4DA2A35E86C585A6F5FCCFF3B53F7660D73536C79FF486BCAB719B518C58FFFFFD8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A140A1401A05F5E10041004100FFFF", typeof(TreasuryRedeemer))] // Serialized CBOR for TreasuryRedeemer: [InlineData("D8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A041004100FF", typeof(ClaimEntry))] // Serialized CBOR for ClaimEntry: [InlineData("9fd87a9f00d8799f0e405820907a68a571ed8634e16b1abac5a9765fce7a27b3cb11f0059f4755699be1702bffffff", typeof(Proof))] diff --git a/src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs b/src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs index 157bf582..c53d961c 100644 --- a/src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs +++ b/src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs @@ -35,6 +35,6 @@ public record AlonzoTransactionOutput( public record BabbageTransactionOutput( [CborProperty(0)] Address Address, [CborProperty(1)] Value Amount, - [CborProperty(2)] DatumOption Datum, - [CborProperty(3)] CborEncodedValue ScriptRef + [CborProperty(2)] DatumOption? Datum, + [CborProperty(3)] CborEncodedValue? ScriptRef ) : TransactionOutput; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Value.cs b/src/Chrysalis/Cardano/Models/Core/Value.cs index 21d1c14c..6d528441 100644 --- a/src/Chrysalis/Cardano/Models/Core/Value.cs +++ b/src/Chrysalis/Cardano/Models/Core/Value.cs @@ -7,7 +7,9 @@ namespace Chrysalis.Cardano.Models.Core; [CborUnionTypes([typeof(Lovelace), typeof(LovelaceWithMultiAsset)])] public record Value : ICbor; -public record Lovelace(ulong Value): CborUlong(Value); +[CborSerializable(CborType.Ulong)] +public record Lovelace(ulong Value): Value; +// @TODO: think about how to support not recreating multiple base types [CborSerializable(CborType.List)] public record LovelaceWithMultiAsset( diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index 78fa179e..02f5759e 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -346,22 +346,22 @@ private static void SerializeEncodedValue(CborWriter writer, ICbor cbor, Type ob throw new NotImplementedException($"Deserialization not implemented for target type {targetType.Name}"); } - private static CborBytes DeserializeCborBytes(CborReader reader, Type targetType) + private static ICbor DeserializeCborBytes(CborReader reader, Type targetType) { byte[] value = reader.ReadByteString(); return (CborBytes)Activator.CreateInstance(targetType, value)!; } - private static CborInt DeserializeCborInt(CborReader reader, Type targetType) + private static ICbor DeserializeCborInt(CborReader reader, Type targetType) { int value = reader.ReadInt32(); return (CborInt)Activator.CreateInstance(targetType, value)!; } - private static CborUlong DeserializeCborUlong(CborReader reader, Type targetType) + private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) { ulong value = reader.ReadUInt64(); - return (CborUlong)Activator.CreateInstance(targetType, value)!; + return (ICbor)Activator.CreateInstance(targetType, value)!; } private static ICbor? DeserializeList(CborReader reader, Type targetType) From f4798589c717349f74c1931e0d0b4a277ed7fb50 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Wed, 11 Sep 2024 15:37:33 +0800 Subject: [PATCH 020/162] chore: bump version to 0.1.8 (#20) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 97d27048..774c2e40 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.1.7 + 0.1.8 Chrysalis clark@saib.dev SAIB Inc From 3686ca9cc23414343da535be40ec6e4c323098ac Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Fri, 13 Sep 2024 14:40:08 +0800 Subject: [PATCH 021/162] fix: constr serializer / deserializer (#21) --- .vscode/launch.json | 26 ++++++ .vscode/tasks.json | 41 ++++++++++ src/Chrysalis.Test/CborSerializationTests.cs | 3 +- .../Cardano/Models/Levvy/TokenV2/NftDatum.cs | 80 +++++++++++++++++++ .../Models/Levvy/TokenV2/PaymentDatum.cs | 7 ++ .../Models/Levvy/{ => TokenV2}/TokenDatum.cs | 2 +- .../Levvy/{ => TokenV2}/TokenRedeemer.cs | 2 +- src/Chrysalis/Cbor/CborSerializer.cs | 65 ++++++++------- 8 files changed, 195 insertions(+), 31 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json create mode 100644 src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs create mode 100644 src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs rename src/Chrysalis/Cardano/Models/Levvy/{ => TokenV2}/TokenDatum.cs (97%) rename src/Chrysalis/Cardano/Models/Levvy/{ => TokenV2}/TokenRedeemer.cs (93%) diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..ed532332 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,26 @@ +{ + "version": "0.2.0", + "configurations": [ + { + // Use IntelliSense to find out which attributes exist for C# debugging + // Use hover for the description of the existing attributes + // For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md + "name": ".NET Core Launch (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + // If you have changed target frameworks, make sure to update the program path. + "program": "${workspaceFolder}/src/Chrysalis.Test/bin/Debug/net8.0/Chrysalis.Test.dll", + "args": [], + "cwd": "${workspaceFolder}/src/Chrysalis.Test", + // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console + "console": "internalConsole", + "stopAtEntry": false + }, + { + "name": ".NET Core Attach", + "type": "coreclr", + "request": "attach" + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..fee07edc --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,41 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "command": "dotnet", + "type": "process", + "args": [ + "build", + "${workspaceFolder}/Chrysalis.sln", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary;ForceNoAlign" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "publish", + "command": "dotnet", + "type": "process", + "args": [ + "publish", + "${workspaceFolder}/Chrysalis.sln", + "/property:GenerateFullPaths=true", + "/consoleloggerparameters:NoSummary;ForceNoAlign" + ], + "problemMatcher": "$msCompile" + }, + { + "label": "watch", + "command": "dotnet", + "type": "process", + "args": [ + "watch", + "run", + "--project", + "${workspaceFolder}/Chrysalis.sln" + ], + "problemMatcher": "$msCompile" + } + ] +} \ No newline at end of file diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index e70f0228..3250d343 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -2,7 +2,7 @@ using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Coinecta.Vesting; using Chrysalis.Cardano.Models.Core; -using Chrysalis.Cardano.Models.Levvy; +using Chrysalis.Cardano.Models.Levvy.TokenV2; using Chrysalis.Cardano.Models.Mpf; using Chrysalis.Cardano.Models.Plutus; using Chrysalis.Cardano.Models.Sundae; @@ -40,6 +40,7 @@ public class CborSerializerTests [InlineData("d8799fd8799fd8799fd8799f581ce63022b0f461602484968bb10fd8f872787b862ace2d7e943292a370ffd8799fd8799fd8799f581c03ec6a12860ef8c07d4c1a8de7df06acb0f0330a6087ecbe972082a7ffffffff581c285b65ae63d4fad36321384ec61edfd5187b8194fff89b5abe9876da46414e47454c531a0112a8801a0bebc2001a00b71b001a48190800d8799fd8799f4100ff00ffffff", typeof(TokenDatum))] [InlineData("d8799fd8799f4100ff00ff", typeof(OutputReference))] [InlineData("d8799fd8799f581ce63022b0f461602484968bb10fd8f872787b862ace2d7e943292a370ffd8799fd8799fd8799f581c03ec6a12860ef8c07d4c1a8de7df06acb0f0330a6087ecbe972082a7ffffffff", typeof(Address))] + [InlineData("D87A80", typeof(TokenRedeemer))] public void SerializeAndDeserializePrimitives(string cborHex, Type type) { // Arrange diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs new file mode 100644 index 00000000..b0929067 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs @@ -0,0 +1,80 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Levvy.TokenV2; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(LendNftDatum), typeof(BorrowNftDatum), typeof(RepayNftDatum)])] +public record NftDatum() : ICbor; + + +[CborSerializable(CborType.Constr, Index = 0)] +public record LendNftDatum(LendNftDetails LendNftDetails) : NftDatum; + +[CborSerializable(CborType.Constr, Index = 1)] +public record BorrowNftDatum(BorrowNftDetails BorrowNftDetails) : NftDatum; + +[CborSerializable(CborType.Constr, Index = 2)] +public record RepayNftDatum(RepayNftDetails RepayNftDetails) : NftDatum; + + +[CborSerializable(CborType.Constr, Index = 0)] +public record LendNftDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + CborBytes PolicyId, + + [CborProperty(2)] + CborUlong LoanAmount, + + [CborProperty(3)] + CborUlong InterestAmount, + + [CborProperty(4)] + CborUlong LoanDuration +) : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record BorrowNftDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + Address AssetOwner, + + [CborProperty(2)] + CborBytes PolicyId, + + [CborProperty(3)] + CborBytes AssetName, + + [CborProperty(4)] + CborUlong LoanAmount, + + [CborProperty(5)] + CborUlong InterestAmount, + + [CborProperty(6)] + PosixTime LoanEndTime, + + [CborProperty(7)] + OutputReference OutputReference +) : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record RepayNftDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + CborUlong LoanAmount, + + [CborProperty(2)] + CborUlong InterestAmount, + + [CborProperty(3)] + OutputReference OutputReference +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs new file mode 100644 index 00000000..90af7bb1 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Levvy.TokenV2; + +[CborSerializable(CborType.Constr, Index = 0)] +public record PaymentDatum(OutputReference OutputReference) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenDatum.cs b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenDatum.cs similarity index 97% rename from src/Chrysalis/Cardano/Models/Levvy/TokenDatum.cs rename to src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenDatum.cs index fbf00699..1fe66bb5 100644 --- a/src/Chrysalis/Cardano/Models/Levvy/TokenDatum.cs +++ b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenDatum.cs @@ -3,7 +3,7 @@ using Chrysalis.Cbor; using Address = Chrysalis.Cardano.Models.Plutus.Address; -namespace Chrysalis.Cardano.Models.Levvy; +namespace Chrysalis.Cardano.Models.Levvy.TokenV2; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(LendTokenDatum), typeof(BorrowTokenDatum), typeof(RepayTokenDatum)])] diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenRedeemer.cs b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenRedeemer.cs similarity index 93% rename from src/Chrysalis/Cardano/Models/Levvy/TokenRedeemer.cs rename to src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenRedeemer.cs index ae0c7f5f..77f5f59c 100644 --- a/src/Chrysalis/Cardano/Models/Levvy/TokenRedeemer.cs +++ b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenRedeemer.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Levvy; +namespace Chrysalis.Cardano.Models.Levvy.TokenV2; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index 02f5759e..efd33578 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -162,31 +162,31 @@ private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type objTy private static void SerializeMap(CborWriter writer, ICbor obj, Type objType) { - CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); - if (obj is CborMap cborMap) - { - writer.WriteStartMap(cborSerializableAttr!.IsDefinite ? cborMap.Value.Count : null); - foreach (KeyValuePair kvp in cborMap.Value) - { - SerializeCbor(writer, kvp.Key, kvp.Key.GetType()); - SerializeCbor(writer, kvp.Value, kvp.Value.GetType()); - } - writer.WriteEndMap(); - } - else if (obj is not null && objType.IsGenericType && objType.GetGenericTypeDefinition() == typeof(CborMap<,>)) - { - MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(objType.GetGenericArguments()); - genericMethod.Invoke(null, [writer, obj, cborSerializableAttr!.IsDefinite]); - } - else if (obj is not null && objType.GetCustomAttribute()?.Type == CborType.Map) - { - SerializeCustomMap(writer, obj, objType, cborSerializableAttr!.IsDefinite); - } - else + CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); + if (obj is CborMap cborMap) + { + writer.WriteStartMap(cborSerializableAttr!.IsDefinite ? cborMap.Value.Count : null); + foreach (KeyValuePair kvp in cborMap.Value) { - throw new InvalidOperationException($"Unsupported map type for serialization: {objType.Name}"); + SerializeCbor(writer, kvp.Key, kvp.Key.GetType()); + SerializeCbor(writer, kvp.Value, kvp.Value.GetType()); } + writer.WriteEndMap(); + } + else if (obj is not null && objType.IsGenericType && objType.GetGenericTypeDefinition() == typeof(CborMap<,>)) + { + MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); + MethodInfo genericMethod = method!.MakeGenericMethod(objType.GetGenericArguments()); + genericMethod.Invoke(null, [writer, obj, cborSerializableAttr!.IsDefinite]); + } + else if (obj is not null && objType.GetCustomAttribute()?.Type == CborType.Map) + { + SerializeCustomMap(writer, obj, objType, cborSerializableAttr!.IsDefinite); + } + else + { + throw new InvalidOperationException($"Unsupported map type for serialization: {objType.Name}"); + } } private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objType, bool definite = false) @@ -447,9 +447,14 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) private static ICbor? DeserializeConstructor(CborReader reader, Type targetType) { - reader.ReadTag(); - reader.ReadStartArray(); + CborTag tag = reader.ReadTag(); + CborSerializableAttribute? targetTypeSerializable = targetType.GetCustomAttribute(); + if (121 + targetTypeSerializable?.Index != (int)tag) + throw new InvalidOperationException($"Invalid tag for type {targetType.Name}"); + + reader.ReadStartArray(); + // @TODO: IMPROVE THIS PLEASE if (targetType.IsGenericType) { Type genericTypeDef = targetType.GetGenericTypeDefinition(); @@ -479,7 +484,11 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) reader.ReadEndArray(); return (ICbor?)Activator.CreateInstance(targetType, value); } - + else + { + reader.ReadEndArray(); + return (ICbor?)Activator.CreateInstance(targetType); + } throw new InvalidOperationException($"Unhandled generic type: {genericTypeDef.Name}"); } } @@ -495,8 +504,8 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) args[i] = DeserializeCbor(reader, paramType); } reader.ReadEndArray(); - return (ICbor?)Activator.CreateInstance(targetType, args); } + return (ICbor?)Activator.CreateInstance(targetType, args); } throw new InvalidOperationException($"Unhandled generic type: {targetType.Name}"); @@ -639,7 +648,7 @@ private static CborMap DeserializeGenericMap(CborRea Type? unionType = type.IsGenericTypeDefinition ? type.MakeGenericType(targetType.GetGenericArguments()) : type; return DeserializeCbor(cborReader, unionType); } - catch (Exception ex) + catch { cborReader.Reset(unionByte); continue; From 14fae77a953ceb8263eb10c81fd5062eeb6bdf75 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Fri, 13 Sep 2024 14:40:49 +0800 Subject: [PATCH 022/162] chore: bump version to 0.1.9 (#22) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 774c2e40..717b016a 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.1.8 + 0.1.9 Chrysalis clark@saib.dev SAIB Inc From 806f5ac0e506cbf8dcc86e6b68a6fb9577a96d17 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Thu, 19 Sep 2024 18:53:03 +0800 Subject: [PATCH 023/162] feat: block definition (#23) * refactor: initial definition for block type * fix: added a condition to handle types that have properties with type union in CborSerializer * feat: added functions that support Text and RationalNumber types in CborSerializer * refactor: added serialization test for transaction metadatum * feat: added cbor type nullable * feat: defined subtypes of transaction body types * feat: added folders to have an organized folder structure * feat: added plutus types * chore: clean up * chore: change types * chore: modified basic definition types to match cddl * fix: transaction metadatum stackoverflow, complete overhaul for CborType.Map (de)serialization * fix: modified type definitions with CborMap * fix: reverted back types with option<> * implement concept of dynamic data constructors * feat: added initial maybe indefinite list type * add serialization support for MaybeIndefList * fix: removed ebb definition * temporarily disable tests --------- Co-authored-by: Katteu Co-authored-by: KeeeeEf --- src/Chrysalis.Test/CborSerializationTests.cs | 137 +++++--- src/Chrysalis/Cardano/Models/Cbor/CborList.cs | 8 +- .../Cardano/Models/Cbor/CborNullable.cs | 6 + .../Cardano/Models/Cbor/CborRationalNumber.cs | 6 + src/Chrysalis/Cardano/Models/Cbor/CborText.cs | 6 + .../Models/Coinecta/Vesting/Treasury.cs | 2 +- src/Chrysalis/Cardano/Models/Core/Anchor.cs | 10 + .../Models/Core/Block/AuxiliaryDataSet.cs | 7 + .../Cardano/Models/Core/Block/Block.cs | 20 ++ .../Cardano/Models/Core/Block/Header.cs | 16 + .../Cardano/Models/Core/Block/HeaderBody.cs | 44 +++ .../Models/Core/Block/OperationalCert.cs | 12 + .../Models/Core/Block/ProtocolVersion.cs | 10 + .../Cardano/Models/Core/Block/VrfCert.cs | 10 + .../Models/Core/Certificates/Certificate.cs | 172 ++++++++++ .../Certificates/MoveInstantaneousReward.cs | 23 ++ .../Models/Core/Certificates/PoolMetadata.cs | 10 + .../Cardano/Models/Core/Certificates/Relay.cs | 33 ++ .../Cardano/Models/Core/Credential.cs | 10 + .../Models/Core/Governance/Constitution.cs | 10 + .../Cardano/Models/Core/Governance/DRep.cs | 31 ++ .../Core/Governance/DRepVotingThresholds.cs | 18 + .../Models/Core/Governance/GovAction.cs | 66 ++++ .../Models/Core/Governance/GovActionId.cs | 10 + .../Core/Governance/MemberTermLimits.cs | 7 + .../Core/Governance/ProposalProcedure.cs | 12 + .../Cardano/Models/Core/Governance/Voter.cs | 10 + .../Models/Core/Governance/VotingProcedure.cs | 10 + .../Core/Governance/VotingProcedures.cs | 10 + .../Cardano/Models/Core/Protocol/CostMdls.cs | 12 + .../Models/Core/Protocol/ExUnitPrices.cs | 10 + .../Cardano/Models/Core/Protocol/ExUnits.cs | 10 + .../Core/Protocol/PoolVotingThresholds.cs | 13 + .../Core/Protocol/ProtocolParamUpdate.cs | 40 +++ .../Cardano/Models/Core/RewardAccount.cs | 5 + .../Models/Core/Script/NativeScript.cs | 52 +++ .../Cardano/Models/Core/Script/PlutusData.cs | 39 +++ .../Models/Core/Script/PlutusOption.cs | 11 + .../Models/Core/Transaction/AuxiliaryData.cs | 32 ++ .../Core/Transaction/BootstrapWitness.cs | 12 + .../Core/{ => Transaction}/DatumOption.cs | 2 +- .../Core/{ => Transaction}/MultiAsset.cs | 2 +- .../Models/Core/Transaction/Redeemers.cs | 44 +++ .../Core/{ => Transaction}/TokenBundle.cs | 3 +- .../Core/Transaction/TransactionBody.cs | 30 ++ .../{ => Transaction}/TransactionInput.cs | 2 +- .../Core/Transaction/TransactionMetadatum.cs | 29 ++ .../{ => Transaction}/TransactionOutput.cs | 3 +- .../Core/Transaction/TransactionWitnessSet.cs | 18 + .../Models/Core/Transaction/VKeyWitness.cs | 10 + .../Models/Core/Transaction/Withdrawals.cs | 7 + .../Cardano/Models/Core/TransactionBody.cs | 10 - src/Chrysalis/Cardano/Models/Core/Value.cs | 2 +- src/Chrysalis/Cardano/Models/Plutus/None.cs | 6 - src/Chrysalis/Cardano/Models/Plutus/Option.cs | 8 +- src/Chrysalis/Cardano/Models/Plutus/Some.cs | 6 - .../Cbor/CborSerializableAttribute.cs | 6 +- src/Chrysalis/Cbor/CborSerializer.cs | 320 +++++++++++++++--- src/Chrysalis/Cbor/CborType.cs | 5 +- src/Chrysalis/Cbor/CborUnionTypes.cs | 2 +- src/Chrysalis/Utils/CborSerializerUtils.cs | 9 +- 61 files changed, 1345 insertions(+), 141 deletions(-) create mode 100644 src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs create mode 100644 src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs create mode 100644 src/Chrysalis/Cardano/Models/Cbor/CborText.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Anchor.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Block/AuxiliaryDataSet.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Block/Block.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Block/Header.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Credential.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Governance/MemberTermLimits.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/RewardAccount.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs rename src/Chrysalis/Cardano/Models/Core/{ => Transaction}/DatumOption.cs (90%) rename src/Chrysalis/Cardano/Models/Core/{ => Transaction}/MultiAsset.cs (73%) create mode 100644 src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs rename src/Chrysalis/Cardano/Models/Core/{ => Transaction}/TokenBundle.cs (69%) create mode 100644 src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs rename src/Chrysalis/Cardano/Models/Core/{ => Transaction}/TransactionInput.cs (80%) create mode 100644 src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs rename src/Chrysalis/Cardano/Models/Core/{ => Transaction}/TransactionOutput.cs (92%) create mode 100644 src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Transaction/Withdrawals.cs delete mode 100644 src/Chrysalis/Cardano/Models/Core/TransactionBody.cs delete mode 100644 src/Chrysalis/Cardano/Models/Plutus/None.cs delete mode 100644 src/Chrysalis/Cardano/Models/Plutus/Some.cs diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index 3250d343..ee78858d 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -1,65 +1,108 @@ using System.Reflection; using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Coinecta.Vesting; -using Chrysalis.Cardano.Models.Core; -using Chrysalis.Cardano.Models.Levvy.TokenV2; -using Chrysalis.Cardano.Models.Mpf; +using Chrysalis.Cardano.Models.Core.Block; +using Chrysalis.Cardano.Models.Core.Certificates; +using Chrysalis.Cardano.Models.Core.Script; +using Chrysalis.Cardano.Models.Core.Transaction; using Chrysalis.Cardano.Models.Plutus; using Chrysalis.Cardano.Models.Sundae; using Chrysalis.Cbor; using Xunit; -using Address = Chrysalis.Cardano.Models.Plutus.Address; namespace Chrysalis.Test; public class CborSerializerTests { - [Theory] - [InlineData("1834", typeof(CborInt))] // Example hex for CBOR int 52 - [InlineData("4101", typeof(CborBytes))] // Example hex for CBOR bytes {0x01)] - [InlineData("1a000f4240", typeof(CborUlong))] // Example hex for CBOR ulong 1_000_000 - [InlineData("1a000f4240", typeof(PosixTime))] // Example hex for CBOR ulong 1_000_000 - [InlineData("43414243", typeof(CborBytes))] // Example hex for CBOR bytes of `ABC` string - [InlineData("a141614541696b656e", typeof(CborMap))] // {h'61': h'41696b656e'} - [InlineData("a1450001020304a1450001020304182a", typeof(MultiAsset))] // {h'61': h'41696b656e'} - [InlineData("9f0102030405ff", typeof(CborIndefiniteList))] // [_ 1, 2, 3, 4, 5] - [InlineData("850102030405", typeof(CborDefiniteList))] // [1, 2, 3, 4, 5] - [InlineData("9f824401020304182a824405060708182bff", typeof(CborIndefiniteList))] // [_ [h'01020304', 42_0], [h'05060708', 43_0]] - [InlineData("d8799f182aff", typeof(Option))] // Serialized CBOR for Option::Some(42): - [InlineData("d87a80", typeof(Option))] // Serialized CBOR for Option::None: - [InlineData("d8799f4180ff", typeof(Signature))] // Serialized CBOR for Signature: - // [InlineData("d8799f460001020304051a000f4240ff", typeof(PostAlonzoTransactionOutput))] // Serialized CBOR for PostAlonzoTransactionOutput: - [InlineData("d87c9f029fd8799f446b657931ffd8799f446b657932ffd8799f446b657933ffffff", typeof(AtLeast))] // Serialized CBOR for AtLeast Multisig: - [InlineData("d8799fd8799f581ceca3dfbde8ccb8408cefacda690e34aa9353af93fc02e75d8ba42f1bff58202325f3c999b17d4a6399bf6c02e1ff7615c13a73ecafae7fe813b9757f27ef2600ff", typeof(Treasury))] // Serialized CBOR for Signature: - [InlineData("8201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(DatumOption))] // Serialized CBOR for Inline Datum: - [InlineData("d81842ffff", typeof(CborEncodedValue))] // Serialized CBOR for CIP68: - [InlineData("A300583911343F54D6ADFB256B1E9041A72A8B519670086570D5611DF499C797AA03EC6A12860EF8C07D4C1A8DE7DF06ACB0F0330A6087ECBE972082A7011A0BEBC200028201D818589CD8799FD8799FD8799FD8799F581CE63022B0F461602484968BB10FD8F872787B862ACE2D7E943292A370FFD8799FD8799FD8799F581C03EC6A12860EF8C07D4C1A8DE7DF06ACB0F0330A6087ECBE972082A7FFFFFFFF581C285B65AE63D4FAD36321384EC61EDFD5187B8194FFF89B5ABE9876DA46414E47454C531A0121EAC01A0BEBC2001A00B71B001A48190800D8799FD8799F4100FF00FFFFFF", typeof(TransactionOutput))] // Serialized CBOR for TransactionOutput: - [InlineData("D8799F9FD87B9F005820567463495E4DC4FB67268D9A6E92836A68A18A317D2F0CA6CC6D695EE7733889582023B4DA2A35E86C585A6F5FCCFF3B53F7660D73536C79FF486BCAB719B518C58FFFFFD8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A140A1401A05F5E10041004100FFFF", typeof(TreasuryRedeemer))] // Serialized CBOR for TreasuryRedeemer: - [InlineData("D8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A041004100FF", typeof(ClaimEntry))] // Serialized CBOR for ClaimEntry: - [InlineData("9fd87a9f00d8799f0e405820907a68a571ed8634e16b1abac5a9765fce7a27b3cb11f0059f4755699be1702bffffff", typeof(Proof))] - [InlineData("d8799fd8799fd8799fd8799f581ce63022b0f461602484968bb10fd8f872787b862ace2d7e943292a370ffd8799fd8799fd8799f581c03ec6a12860ef8c07d4c1a8de7df06acb0f0330a6087ecbe972082a7ffffffff581c285b65ae63d4fad36321384ec61edfd5187b8194fff89b5abe9876da46414e47454c531a0112a8801a0bebc2001a00b71b001a48190800d8799fd8799f4100ff00ffffff", typeof(TokenDatum))] - [InlineData("d8799fd8799f4100ff00ff", typeof(OutputReference))] - [InlineData("d8799fd8799f581ce63022b0f461602484968bb10fd8f872787b862ace2d7e943292a370ffd8799fd8799fd8799f581c03ec6a12860ef8c07d4c1a8de7df06acb0f0330a6087ecbe972082a7ffffffff", typeof(Address))] - [InlineData("D87A80", typeof(TokenRedeemer))] - public void SerializeAndDeserializePrimitives(string cborHex, Type type) - { - // Arrange - byte[] cborBytes = Convert.FromHexString(cborHex); + // [Theory] + // [InlineData("1834", typeof(CborInt))] // Example hex for CBOR int 52 + // [InlineData("4101", typeof(CborBytes))] // Example hex for CBOR bytes {0x01)] + // [InlineData("1a000f4240", typeof(CborUlong))] // Example hex for CBOR ulong 1_000_000 + // [InlineData("1a000f4240", typeof(PosixTime))] // Example hex for CBOR ulong 1_000_000 + // [InlineData("43414243", typeof(CborBytes))] // Example hex for CBOR bytes of `ABC` string + // [InlineData("a1450001020304a1450001020304182a", typeof(MultiAsset))] // {h'61': h'41696b656e'} + // [InlineData("9f0102030405ff", typeof(CborIndefiniteList))] // [_ 1, 2, 3, 4, 5] + // [InlineData("850102030405", typeof(CborDefiniteList))] // [1, 2, 3, 4, 5] + // [InlineData("9f824401020304182a824405060708182bff", typeof(CborIndefiniteList))] // [_ [h'01020304', 42_0], [h'05060708', 43_0]] + // [InlineData("d8799f182aff", typeof(Option))] // Serialized CBOR for Option::Some(42): + // [InlineData("d87a80", typeof(Option))] // Serialized CBOR for Option::None: + // [InlineData("d8799f4180ff", typeof(Signature))] // Serialized CBOR for Signature: + // [InlineData("d87c9f029fd8799f446b657931ffd8799f446b657932ffd8799f446b657933ffffff", typeof(AtLeast))] // Serialized CBOR for AtLeast Multisig: + // [InlineData("d8799fd8799f581ceca3dfbde8ccb8408cefacda690e34aa9353af93fc02e75d8ba42f1bff58202325f3c999b17d4a6399bf6c02e1ff7615c13a73ecafae7fe813b9757f27ef2600ff", typeof(Treasury))] // Serialized CBOR for Signature: - // Act - MethodInfo? deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize)); - Assert.NotNull(deserializeMethod); + // [InlineData("8201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(DatumOption))] // Serialized CBOR for Inline Datum: + // [InlineData("d81842ffff", typeof(CborEncodedValue))] // Serialized CBOR for CIP68: + // [InlineData("a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a00dd40a0a2581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f6a14e0014df104d494e20496e7465726e1b0000000ba43b7400581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820e08460587b08cca542bd2856b8d5e1d23bf3f63f9916fb81f6d95fda0910bf691b7fffffffd5da682b028201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(TransactionOutput))] // Serialized CBOR for TransactionOutput: + // [InlineData("D8799F9FD87B9F005820567463495E4DC4FB67268D9A6E92836A68A18A317D2F0CA6CC6D695EE7733889582023B4DA2A35E86C585A6F5FCCFF3B53F7660D73536C79FF486BCAB719B518C58FFFFFD8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A140A1401A05F5E10041004100FFFF", typeof(TreasuryRedeemer))] // Serialized CBOR for TreasuryRedeemer: + // [InlineData("820800", typeof(ProtocolVersion))] // Serialized CBOR for ProtocolVersion + // [InlineData("8458205c04fb3111739a79e318135ef5bbfcba008533f2315ec5525210856024f6917f151903f65840d5341b64c77472028d78fabbc43a3873f3ae8f7e2daf6dc9e475024acbc179d42cb014ae4acd79dc2cd28c6186f4b1c07edaeecd3c48ec1cdc30e969b6ef3a03", typeof(OperationalCert))] // Serialized CBOR for OperationalCert + // [InlineData("825840bb060ee2d34b4e23c5d402ba181330ecf32777cdf745789aea9afe94c1b0df474fd2fb60e6965b247b338ebcf337c383b57731c016e71d93fd5e5f8dc8665915585060941c4ac096a3a5e25c16c910bb85393012a02b14623470130c27cf6d27ea37ed5b03c8051ec2f237ab4fd5f43aff2289721d573e8e7de7515fda4143f4dc611b5f399467c726e3375df00617cb3b05", typeof(VrfCert))] // Serialized CBOR for VrfCert + // [InlineData("8a1a00a4cdc11a07fd9ced5820f900395a8b763e7fb2630d3b4b4f8925e225205e5a4544275778bd8c5eb4f14c5820b4a64416f171e59d66e0d1890e9146211c2fb4e70930ea782f0f4983decb285e5820399f9f34c7947c86992b9cce3e6a58343d3d770de8b1525b2dea88893905efbf825840bb060ee2d34b4e23c5d402ba181330ecf32777cdf745789aea9afe94c1b0df474fd2fb60e6965b247b338ebcf337c383b57731c016e71d93fd5e5f8dc8665915585060941c4ac096a3a5e25c16c910bb85393012a02b14623470130c27cf6d27ea37ed5b03c8051ec2f237ab4fd5f43aff2289721d573e8e7de7515fda4143f4dc611b5f399467c726e3375df00617cb3b051a000150bd5820556a0b2a892073e5c0c598d3a04737d827c3708d2c9cb04c7142d80ddd1385908458205c04fb3111739a79e318135ef5bbfcba008533f2315ec5525210856024f6917f151903f65840d5341b64c77472028d78fabbc43a3873f3ae8f7e2daf6dc9e475024acbc179d42cb014ae4acd79dc2cd28c6186f4b1c07edaeecd3c48ec1cdc30e969b6ef3a03820901", typeof(BlockHeaderBody))] // Serialized CBOR for HeaderBody(Conway) + // [InlineData("8a1a00a076f71a07a51cec58203228c42f0af94c7576946942d7494634b11c4562e5d5257730a5e632dfd44bf358209ab6d0f36afdf63b527ab257f5a3f6625f2844c6cd83eecce3a1d8811cadb9b958208e4715edc8ef2d6a8c1860b11675fe0afa186eebf2cfb62aaf4c3526b8c5bd4882584066a21b2c4f9aa32fb5b499bab11891f2abce92a6f51f8ff5ed5dd4a6eeee750e23bd1505ea910637cad190766f90998fa7865a8f776ff0a3707f374abaddfe45585044bee1c7492d7d08066de3fd7e76b8e2ec48a2887cfc4c5152083edd3850f3e4969f33700163b1139ddaffb3a6cfd29e995bcbde1e1b063bb288f660e4c0ba6653233ab741762fe5b1a5368ed0fbb30819c5ca5820ca1158d016cd2cb338ce3d9f04e6f9f6314cd4b2054b5391907808f5f262c7dc845820878946c26f0fe05879a5591d77fa7b26ff6a7fa303c2ef9fd81bfce791f34ce40c1903bf58409fd5ff67c18649c50f3169e6680b33b011562a952b6fe97918c95c8604141858b8e771315c9c87d4a81843b1d62ba60e52abb9df46ad135c621aee9e5b80cc02820800", typeof(BlockHeaderBody))] // Serialized CBOR for HeaderBody(Babbage) + // [InlineData("8f1a006b0f171a035877e8582059aab61986b323527011efcc941a350b36d6d59edc21fe1600e77be8a354c7655820f492625f14992782625aac4177b76130749c888d0df6adf2da26c7086f74437d5820ab290b1f62e86b6079c179b462a4de11b2028148124be71445e083b62f535b3782584020b88ead1afcaf8880a61a1ba83793fac9a358661888fe34376709b1e18ffbd74dd9d977b2aa51b926a3755da2d0125bdf2f5018de4b47c3131ce8d4db900ee65850f10b18ce2d63c8864b182efdd221867b5c90fa02627bf594e064490a3f9f1a068cbf285446462b931c797166e7061db8189b46b250693e64236c5fc98e115f3dbc423d108fbd5cc44cd16fa917ddce0a8258400004d68febdfe65d2f45e343af88b41746ce3087e16180c0e574e1abade72f2d969f69b61024b83b682b59a773cd04f6989b2b14805371122e70fca09284ecb558504dce6f572748203bb1ee6c8162bc644d9476d56a0a97632877a014b669e48234a0a70b7c1d88b822042ff6419fb0c73521c79a6b508d9c46001e802c5bdb51b6b18430461ae518314c54c2a5d1e81b0d19b38d5820477740dfd9ad3bb33ab534ed6dc1e06e455a3397fc9adabb972220a326c0b58b5820da24cac0e7a88a4bda8a8b5f44e59c2ace45c75fac0a797b4acd352a007a6753061901a45840c42104b2b016433ade455b25aa4e81073152dfd825a7b65922c573a01f07a0f987f70243968e5348a58772458a1031144e1c1b28e7748136e87be18e29e87f0d0600", typeof(BlockHeaderBody))] // Serialized CBOR for HeaderBody(Alonzo) + // [InlineData("828f1a006b0f171a035877e8582059aab61986b323527011efcc941a350b36d6d59edc21fe1600e77be8a354c7655820f492625f14992782625aac4177b76130749c888d0df6adf2da26c7086f74437d5820ab290b1f62e86b6079c179b462a4de11b2028148124be71445e083b62f535b3782584020b88ead1afcaf8880a61a1ba83793fac9a358661888fe34376709b1e18ffbd74dd9d977b2aa51b926a3755da2d0125bdf2f5018de4b47c3131ce8d4db900ee65850f10b18ce2d63c8864b182efdd221867b5c90fa02627bf594e064490a3f9f1a068cbf285446462b931c797166e7061db8189b46b250693e64236c5fc98e115f3dbc423d108fbd5cc44cd16fa917ddce0a8258400004d68febdfe65d2f45e343af88b41746ce3087e16180c0e574e1abade72f2d969f69b61024b83b682b59a773cd04f6989b2b14805371122e70fca09284ecb558504dce6f572748203bb1ee6c8162bc644d9476d56a0a97632877a014b669e48234a0a70b7c1d88b822042ff6419fb0c73521c79a6b508d9c46001e802c5bdb51b6b18430461ae518314c54c2a5d1e81b0d19b38d5820477740dfd9ad3bb33ab534ed6dc1e06e455a3397fc9adabb972220a326c0b58b5820da24cac0e7a88a4bda8a8b5f44e59c2ace45c75fac0a797b4acd352a007a6753061901a45840c42104b2b016433ade455b25aa4e81073152dfd825a7b65922c573a01f07a0f987f70243968e5348a58772458a1031144e1c1b28e7748136e87be18e29e87f0d06005901c0ac1591f54da90ca03498d4667023f30fd09afa207b80f3f0866c730e91558ee4b10ede3810d69b842d06dc679522ad98722530bf6d8452aa2b8e6f1f5d1e9304784659cec31ebf7f29e6deff79d5d6a2842c24cd20f5ce02f80e08678daa907087b068c812eb5523afa0438134e73b2382478f93fe82d0d2b3ea7a9c1a3606f34ca3c89f0d84b280d5f716661cd93254b14c18d99d51f6a2ebd175210b5524ceb8ad3ec0ec9ca2564b168e7e00ec96e0271c47328468950edd89f4bca390acebd53413c9344a0b2a8fcb4ec668949450ad6381d2af7bbac5d024f0251b114b3732072c2851b82fbc7f5f8ce0640fd14c29dc2d591736a17c90036f7efbf8ed00239a028ee0890286615c5bbe88c6ead7d5d821d34b111133bb9806c8bb8b73d065959a427dfd5fcea80a0bbda6a07c2ed870ac8c728a57751aef30902ea8cda5961015fe7f843f892a1ae978cdd55b57e14497cc48d540f42449e803637727403dad6c188b64a61e94ab5bfed8c39360f18347aaeae473a069a6c479db3fbe190a3bb236eea6e9b163c628effafc287b081041f94df6a91a62f50ae6740cb980da7a9f5e2080a98b4a6c73de537b2a70ad50df7aea318d34ef6f2e860e511f40", typeof(BlockHeader))] // Serialized CBOR for Header(Alonzo) + // [InlineData("828a1a00a076f71a07a51cec58203228c42f0af94c7576946942d7494634b11c4562e5d5257730a5e632dfd44bf358209ab6d0f36afdf63b527ab257f5a3f6625f2844c6cd83eecce3a1d8811cadb9b958208e4715edc8ef2d6a8c1860b11675fe0afa186eebf2cfb62aaf4c3526b8c5bd4882584066a21b2c4f9aa32fb5b499bab11891f2abce92a6f51f8ff5ed5dd4a6eeee750e23bd1505ea910637cad190766f90998fa7865a8f776ff0a3707f374abaddfe45585044bee1c7492d7d08066de3fd7e76b8e2ec48a2887cfc4c5152083edd3850f3e4969f33700163b1139ddaffb3a6cfd29e995bcbde1e1b063bb288f660e4c0ba6653233ab741762fe5b1a5368ed0fbb30819c5ca5820ca1158d016cd2cb338ce3d9f04e6f9f6314cd4b2054b5391907808f5f262c7dc845820878946c26f0fe05879a5591d77fa7b26ff6a7fa303c2ef9fd81bfce791f34ce40c1903bf58409fd5ff67c18649c50f3169e6680b33b011562a952b6fe97918c95c8604141858b8e771315c9c87d4a81843b1d62ba60e52abb9df46ad135c621aee9e5b80cc028208005901c07475c5276afbfd46e7eb54515467eb3244c40c915b90378771ae235d6efc4a3ee3f6f0ab63dae2e4e3733800d61ca44b48601149f1eb47e6771326d9b2111c04f4ad4d5f9a7044b8aabedb260b86ef0472149a110b351f2a13dd93f602e2980aa06f037f755e9093d96130e4a1533fb6b20a1356185f53f39548ef569773970348f2b0638a72fe6d06b75abc29e408216c229cb4fa8956ffd36eb7c79d741274f28fee2ecda595d62e164c3081f077e590f58b1ae247c05f574c3c0b6e9b7588c19260c4ccdd9a8382896b17fbca50014ed2a72879b30c500821fdd45cfa8f1ba7183da404d63dea8261a193e7cd499c571119a73c0aaa1bffba9410a7878655b3b13136e197a5e56e21af0f9d41c0fb6a98bdbf77011128b49def09d9c351339cb3d44de4945a922fac512b87136c2b3cb3e5e57ea3474f604f8b89b722124a5ffbc6b3c85d9eda86403043912e1a2b5e500805a838da39caf4818d310e18be8792b56f37072223bff98fb9829e57676526768c2db4e0fb8fa8340b2cdcde0178614d5a25dcba2b31ef71f4b5d80b2581121c8044d98ce2b1b26ffa9f350b5184fd6dd1c24833972db817e2b8c34340933c652ff5e59acf906a56b5402a831f", typeof(BlockHeader))] // Serialized CBOR for Header(Babbage) + // [InlineData("828a1a00a4cdc11a07fd9ced5820f900395a8b763e7fb2630d3b4b4f8925e225205e5a4544275778bd8c5eb4f14c5820b4a64416f171e59d66e0d1890e9146211c2fb4e70930ea782f0f4983decb285e5820399f9f34c7947c86992b9cce3e6a58343d3d770de8b1525b2dea88893905efbf825840bb060ee2d34b4e23c5d402ba181330ecf32777cdf745789aea9afe94c1b0df474fd2fb60e6965b247b338ebcf337c383b57731c016e71d93fd5e5f8dc8665915585060941c4ac096a3a5e25c16c910bb85393012a02b14623470130c27cf6d27ea37ed5b03c8051ec2f237ab4fd5f43aff2289721d573e8e7de7515fda4143f4dc611b5f399467c726e3375df00617cb3b051a000150bd5820556a0b2a892073e5c0c598d3a04737d827c3708d2c9cb04c7142d80ddd1385908458205c04fb3111739a79e318135ef5bbfcba008533f2315ec5525210856024f6917f151903f65840d5341b64c77472028d78fabbc43a3873f3ae8f7e2daf6dc9e475024acbc179d42cb014ae4acd79dc2cd28c6186f4b1c07edaeecd3c48ec1cdc30e969b6ef3a038209015901c0e4dcaeeff4c6bbd5e47fea3ac20aee40574b450903a811a0761297aef0892111b54481e88c363ca0025501c58500efddac809cc3f10ac6289e9929d8560c230483f928a0a5016d9ae0d3ba43233983bf32014df16c02bc66a917b85d98e12bad15df95de5ffcd62e4fbdb8c50377fa6b8da5c43a27ce95923bc1cbb4faa72c9e9630926675ec4c92c5f1de8212b1b904dabc750222edce42dcaf58d236b2783f719c908d6841f177e82f2e76ca3ca0f96cbe936d24a658d26f23975572c01cb7681a6017c8d85e34b5ac343c6db51ae28d0cdf9f3eea3ef5e9b86a6c38aaab7bbc0e15b84b73ae035f0b75af9172facb7d469c743ce38f8a2d8009a1e910e1832e44037c03627e87993f83d7dc570b76f24123b93e0413c95af4f40df331b333af7f346c4067c2bb9ed83cd071a4e94048ee2b3395918bfcda4e1ecc035b4eb134e6ecbf337a64d16f1b0121918aa4347897ba30e3ec74aa8e502bcdd70d054c340648d2768303b7f095edaf28358b9f97b0093aa6c0bc76525664a0b9d0c78d872b8f7c7b840c0e3292b7c910655da1c0bffeaae80298593267c979c196cffecaff571ba6248acc7c4c338b3c7a93584d04a47c74c2c5beda2e6f4aa26d4f39", typeof(BlockHeader))] // Serialized CBOR for Header(Conway) + // [InlineData("d81e82011864", typeof(CborRationalNumber))] // Serialized CBOR for RationalNumber + // [InlineData("8301194a397272312e3170657263656e74706f6f6c2e6575", typeof(Relay))] // Serialized CBOR for Relay - MethodInfo? genericDeserializeMethod = deserializeMethod?.MakeGenericMethod(type); - Assert.NotNull(genericDeserializeMethod); + // [InlineData("a1636d736781774d696e737761703a204f72646572204578656375746564", typeof(TransactionMetadatum))] + // [InlineData("a11902a2a1636d736781774d696e737761703a204f72646572204578656375746564", typeof(AuxiliaryData))] + // [InlineData("8a03581c17a6a1f2fb36d9ef275805db17409af7ab753b9d27bdd41b89510bb95820d3f8aefa1294051e238db5f296014330f670a84e66d2bda30bce837ce709ba211b00000002540be4001a1443fd00d81e82011864581de1b8e0ffa9c7abb32c18e9712e15ad028400a41f91ead639da2f957dd681581cb8e0ffa9c7abb32c18e9712e15ad028400a41f91ead639da2f957dd6828301194a397272312e3170657263656e74706f6f6c2e65758301194a3a7272322e3170657263656e74706f6f6c2e657582782f68747470733a2f2f7777772e3170657263656e74706f6f6c2e65752f31504354322e6d657461646174612e6a736f6e582045e456dccd65ec342e4072c9e2f566fe22d2233dec45a5b48a2bc6d3fea78f5b", typeof(PoolRegistration))] //PoolRegistration + // [InlineData("82008200581c87aeddbe3a9a55e339b39d807bd5ae28698fe98f60aaab472e19beeb", typeof(StakeRegistration))] //StakeRegistration + // [InlineData("82018200581cfb8f9af27e883d383cef8436996e95a604c3d5cc29bfe7e2de02f5b4", typeof(StakeDeregistration))] //StakeDeregistration + // [InlineData("83028200581c13f76393994e463d2eeb47210313065fec562a92041e5664ad89a30b581c4744b317cba46d5f247e51d4df3d72c9e2a8b18231c30ba1708bd65b", typeof(StakeDelegation))] //StakeDelegation + // [InlineData("8304581c48b14df69375d393b3728a01bf38a049c0b1eec04d973922cab835c31901fc", typeof(PoolRetirement))] //PoolRetirement + // [InlineData("83098200581c3dd92899f772d4616a1a7fcbf1c4b161deb8f7eecc77d6bbecee62ac8200581cf0ed00410031f3288d7889aa896cfdad79a7441885d3bae8982ac151", typeof(VoteDelegCert))] //VoteDeleg + // [InlineData("830e8201581c349e55f83e9af24813e6cb368df6a80d38951b2a334dfcdf268155588201581c07e0eb70a1cfd5de084b5fcc8a9b28ff7772282b57e760d692c75bde", typeof(AuthCommitteeHotCert))] //AuthCommitteeHot + // [InlineData("84108200581ccb09d689352f623d5f5cd4e8b3ff060a165b5e6556b8e9c8ce186ac51a1dcd650082785768747470733a2f2f64726570646f7466756e2e73332e65752d776573742d322e616d617a6f6e6177732e636f6d2f31366239643165362d366638382d343730312d383836652d3465663364646366356436642e6a736f6e5820deab83c9635be8248f4a43a63efb2968ea9132b9426e6e5f4228c74cf5cb3797", typeof(RegDrepCert))] //RegDrepCert with Anchor + // [InlineData("84108200581cbfd1651564e3fe4bae43e1a6ebe090ebdcf69ef3aa684867b49219c41a1dcd6500f6", typeof(RegDrepCert))] //RegDrepCert with Anchor Null + // [InlineData("83118200581cbd1b2f8d71a5890a38946322b93fc003dc5a61873fdc7e7e5856f3e91a1dcd6500", typeof(UnRegDrepCert))] //UnRegDrepCert + // [InlineData("83128200581c725cceb7823111ea775edd2cfe577eae89b16520856703095b1b28d782784b68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f43617264616e6f4578706c6f7265722f647265702f6d61696e2f6d657461646174612e6a736f6e6c6458208bff6c4cb86f05458075c787cb843f7dffb52f2b7f438037d291d987d71f7738", typeof(UpdateDrepCert))] //UpdateDrepCert + // [InlineData("a600818258205c433145addae9555c8948cb6e041e05fe4a3379debd0c948d352aebb9e99b2f00018182583901b3326f3bba239194b2407e6a527948a7e6e3e2d199919fa07f4985f0d07820b822b66d682d973239100f9b614ee18f369c27931ab15d54e61b000000388690171d021a0002b149031a08021a2d048183128200581c725cceb7823111ea775edd2cfe577eae89b16520856703095b1b28d782784b68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f43617264616e6f4578706c6f7265722f647265702f6d61696e2f6d657461646174612e6a736f6e6c6458208bff6c4cb86f05458075c787cb843f7dffb52f2b7f438037d291d987d71f77380800", typeof(TransactionBody))] // Serialized CBOR for TransactionBody(Conway) + // [InlineData("a80082825820083d95d8352c349b453400042cc63ac34a589293dd59ccc8b062f079ea5e05ea0082582066ef6e5199ee3d875516e8ceae113e7f309186c45f1e35ef1c6b35dfb8ca5708020183a20058390195e7d4a51aec52dd528a84ad95e411b3f314a49a97714ebbe735c04768838865663d8666a24e66dd5daedb683eb48d07568b126f485d185a01821a001a3c1ba1581ca6b92cdf28af39782e8baecb712298e0bc91787375569b1f0c8fd703a1462443534276311a0132ba27a300583931905ab869961b094f1b8197278cfe15b45cbe49fa8f32c6b014f85a2db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821a2406a090a2581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b8a158209a9ab7431a3db1542009a50fbe1815054c0b8027164dfc7c1ef10fcdbe002b5501581ca6b92cdf28af39782e8baecb712298e0bc91787375569b1f0c8fd703a1462443534276311a2dd67131028201d81858e4d87989d87982581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b858209a9ab7431a3db1542009a50fbe1815054c0b8027164dfc7c1ef10fcdbe002b55d879824040d87982581ca6b92cdf28af39782e8baecb712298e0bc91787375569b1f0c8fd703462443534276311b0000001166b125ce1a001373c2581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761b000000028f200558581c8807fbe6e36b1c35ad6f36f0993e2fc67ab6f2db06041cfa3a53c04a581c554daf3e27e50c8c779713be6ba70f95c35f23f0552a28e5a7a340148258390122aea2da15e494e01767145d48bda16b6d437f1c449823a044193daf299a82ef56311aa10adf04c0072d4870eb9f4d5ff315132434841b741a001312d0021a0005cf0505a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b58203a98f88216e5025db28f06e90c56b3def9f35e3ac2beef37aef7f09ace7a60c00d81825820dd325cdb8c4b2d7fbc66d6e04f2abce41e52fbf55807948aed6b9abb726eb699000e81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761283825820c4a540ac2e06c217dd4fb3f39ca3863da394ba134677dafa9b98830ca71d584d03825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01", typeof(TransactionBody))] // Serialized CBOR for TransactionBody(Conway) //@TODO: Debug Error + // [InlineData("a800818258208d84eef32fcacf5792877809c663ceef9d94a1a83f4eb9979e5d068bb14688b00301838258390179e0c0db2fc4786546f2f7d7914cbe899b61776401d78dd21e44b8626c4734f9fa72a547d83adb86c4431df7c78c8519d8238a09b2a5cc7f821a0011b0dea1581c555a99109b2cf170069e84d98b5a94e9ca15a69d5eb80dcd044598b4a1476e616d65343431018258393195f88cd39531c64a8749a625e5d3f9a79cc85d2001db23d851ad65bd19971dfb46a7fa611ddf545ee84dabd741454c4837669de8322d71811a000f42408258390179e0c0db2fc4786546f2f7d7914cbe899b61776401d78dd21e44b8626c4734f9fa72a547d83adb86c4431df7c78c8519d8238a09b2a5cc7f1a048e908c021a0003388d031a0806dede07582052966b4accdf10a1d562d671ffebe13583892a46dcc63fc1be5038702689bd1a081a0806d0ce09a1581c555a99109b2cf170069e84d98b5a94e9ca15a69d5eb80dcd044598b4a1476e616d65343431010e82581c79e0c0db2fc4786546f2f7d7914cbe899b61776401d78dd21e44b862581c6c4734f9fa72a547d83adb86c4431df7c78c8519d8238a09b2a5cc7f", typeof(TransactionBody))] // Serialized CBOR for TransactionBody(Conway) + // [InlineData("a800838258201804b13f34a8452066ff1cad68bd09383f65d407f2f84b31fce0ef7906afe28e00825820fb62b5141e0e6595e4e7382d7b16747785b3333e89d65079c2d39f3d65b1e73100825820fb62b5141e0e6595e4e7382d7b16747785b3333e89d65079c2d39f3d65b1e73101018282583901c63fe326cf6ca78124768d68c501008c881b132ef83999c99bb8a23d22968046e259d10fbd46bf394d0327a32ea71afe3f8910c30beee404821a00165c38a2581c2e8e5e8e1d7837ccc509e30045f656f9e9ebed7ef5621085172d0e9aa446636c617261320146636c617261330146636c617261340147636c617261313101581cd436d9f6b754582f798fe33f4bed12133d47493f78b944b9cc55fd18a15053756d6d69744c6f64676531363336330182583901c63fe326cf6ca78124768d68c501008c881b132ef83999c99bb8a23d22968046e259d10fbd46bf394d0327a32ea71afe3f8910c30beee4041a010465e9021a0007cfe70b5820126750c84767cace394a3bf78350a69d2fbc9e470975a47e73672fb513431dc00d81825820fb62b5141e0e6595e4e7382d7b16747785b3333e89d65079c2d39f3d65b1e731010e81581cc63fe326cf6ca78124768d68c501008c881b132ef83999c99bb8a23d1082583901c63fe326cf6ca78124768d68c501008c881b132ef83999c99bb8a23d22968046e259d10fbd46bf394d0327a32ea71afe3f8910c30beee4041a00e55388111a000bb7db", typeof(TransactionBody))] // Serialized CBOR for TransactionBody(Babbage) + // [InlineData("a500828258209a8fbe63b8d95c30746d3337fafd8fbe11dfa72bf05c3e7876fc28665a745bf900825820548650236f3bae15b8ddb7d65dde5ba6fb1785606880f44eff04b2316f6affde0101828258390109c230576e5d6c062a0fa95edafb4b7760bf48c9569c949294993befdcffc654e5f87793e8875d6cb40cfc8da22aeeecd7b62dc26e037df5821a00169b08a1581c49450fe5ce314aa6ef5d4c947d69d4af8e298a005114718a7cc1f784a14d41444150756e6b334430333530018258390109c230576e5d6c062a0fa95edafb4b7760bf48c9569c949294993befdcffc654e5f87793e8875d6cb40cfc8da22aeeecd7b62dc26e037df51a04144c52021a000fa6b90b5820318f56b89c98d3785d39da7f7b5e519843101a7e6256ade04d10ec8ee695153f0d81825820b7aeaf10a7addfcf7a0011c5520b393d3f7450fa9dcb8d7528c565737499cb0c00", typeof(TransactionBody))] // Serialized CBOR for TransactionBody(Alonzo) + // [InlineData("82582014585da9857b30cf57edccac19d3012b602bb5650c7726a5f1504d9614d205225840f56c63ae453e3ad3434a1f46c9d703cd6d34d746229755acdf37ec8d1ecda69ae022b06af5e7fc238f8d5c68532d196d5b7478ba1d6ff9f9bddf485898fdd903", typeof(VKeyWitness))] // VKeyWitness + // [InlineData("8200581cf0939d61b27630744e09f74ec141b8d6923f8c9f211beab1d100447e", typeof(NativeScript))] // NativeScript + // [InlineData("845820bdc5ddd2037b5536b24ee0bdface0cd627e31be9d1844d868a7272f621c4431c58400b2096029281541ccfcf14d44d12c88377a1c4ead8224d4fa45f3800c9977892a46c6febaf2a394e92ddaca2afd6f468690c365385f3b8d7e6bc13214a24d502582052a081234e70e4cb8bfb8296954d42d72b2965c24f3eafe69287090f1472535e41a0", typeof(BootstrapWitness))] // BootstrapWitness + // [InlineData("a200828258207cc7091d65bf2e715a06c3d94699ec0214246dd0cdca954e3e2c84426f02a73f58407ea844aa5ac8dd919c92cd92fa58f5b1755698eb1463600ab7a2dec0dcd6e57368335898ba25f7b029939b5b78281aa3db30e0b65023c3cbf09267326f3a640682582059dadb13453650a8129bf204ebd6ce4268e61ee8b2657fd39a977f2c72cb90985840d20be7cc6417abf45fcb7c06b5fa0bdc63483ca9b7a8c0bd74c54ddfc2ba621e6f52705885f8b8d88af966565760d0ff82c6893deed3265724a79b998216af0601818200581cf0939d61b27630744e09f74ec141b8d6923f8c9f211beab1d100447e", typeof(TransactionWitnessSet))] // TransactionWitnessSet + // [InlineData("85828a1a00a5437e1a080709ee58201253745c002f37a8bf4c9254d2149da5587acaea9fe193029c05a56118f4ca1758200132f8a2c41dfdf94346bba0e694c6f893b81961f4583028a7b96aa0aae11cd65820d8b3d4dbe1012da956abca65d868c5a22f8c9e17290b5806283ed48624b34732825840913a25e9a0cb368a553d74102207f2ce0d336fb35fee4c6b0d40c7ba4ebb93d9b919befca50baec225bb33763b0407c0e06e32621de3fae5c45c0b724778a74c58509bb0011f33d513811f472e308ca24d4a6b544cbe9db39006952ede0210fb8559b13aa7f93fcc4ea26ba850c437e2f198eec5f28f04eba5dfca796ccf96661804d576f2c26809729850d64d84f64572061901e85820854f348f8dc647c11a51a139ea0c3b7adfc506ea1ba64fa8453e39a1aafeb5b1845820c4a2891ef9fdca62de54c4ddabc54fcb7e8e1d5ffb4bed038c1a53c715689fc2071903fe5840cf93116293539e99add5d060d517d676288bf271adeb9d4bc56109b547317eeaf0e9760d55128c59aa626c14106066b10bf222ea38cf8c796adb2742a44f0f088209015901c05a1eff829673047b992110ef85a39c6fb8fbb2af415604349f1c37c23a02e8ab9d87c8766791be97d2fb5537f85003da23e9da123db98db7ba662d96d054990067aeae31639dd22f4db70a340379b64002535825156dd7b797e0ce52e26e9a40f3fc845249bd7a471122a848d5873ee3138218b17513a56d0f63a48e174bbc1b5e75fa256a3483a8adb7ff111ee894622ab87337b322d655b77098423488346ea297f5e7b0c7a4a9a7ac7e2a37f8f1326e1b42eda8568f57b6ae54ddd448f1835fa0552329224ff124d0b08e7849ca478e8e9286f2851cf24c3b9541d7995774d63f49505e3242ce350a2d8fef58cb784143b043690c1dace0e7c0928c6ac2ddd37dc3ca1fa1fa598dfe8f6d8823e1443e07716f598d46a620d8af8f89e21ddce7775a29fb4f6f9df95eb5e6c08f8febd7223c945d6ce04e7890629465f2b7f5e14d5154f7161cd71a2b18e0628c20914eb5d5ea5033eead076d0d699e9c4179b2a291913d7a93ebd186f0766ebf09e5a41e1877e09d2e315afffc405795ba21994273f55f4ebe14d978a13c4ea5a5511fbd928adf3aec8b317fe406fc3be465a209e50ff5a44817bb26062bfea2c8b7bc0568307ba4853df8e88cf4d3c332e181a40082825820d202e399a18248d142dbab9cb763b642e8df1031e8c381ffb8d869410c4fcc1d01825820d202e399a18248d142dbab9cb763b642e8df1031e8c381ffb8d869410c4fcc1d0201838258390137dab9bb2d7a3a3ff47d50418b574d8b9ae85acffdd37bff7ffabbc81da920c86fee80710768690184ea9292968b4a5b1ebf2bdc2951f46d821a0011e360a1581cde9badd382e22795872bf2860dbe46e785b9c505b9c3f9c67d2b4591a14a4d484c4b42414e474b4f19714882583901d7ee9898101b050a2dcffb0cc752fb0682d2a7aadebd7e2f07435ed865bb660f6c806d23c1e3d0c0954b964778f0fe01905f46f010cba900821a0012050ca1581cde9badd382e22795872bf2860dbe46e785b9c505b9c3f9c67d2b4591a14a4d484c4b42414e474b4f1a0018047082583901d7ee9898101b050a2dcffb0cc752fb0682d2a7aadebd7e2f07435ed865bb660f6c806d23c1e3d0c0954b964778f0fe01905f46f010cba9001a008164a6021a0002b359031a0d1daffc81a1008182582038295976d2706366d670d0a0b115c360aaabc89aeb346e7a9b016e8120a829b35840254c219eb2c9a203c3bb52c91c14dced7521419d928176ec17e6042e9dbce6c9a21034cbe89ea9fac3c7af091ab64ed1833121ec925544f9876a28022caa650fa080", typeof(Block))] // Conway Block + // [InlineData("85828a1a007ea60d1a04eef88258207986632c436341dadb464eb33e9a507a1c234438517601c007799423da4d708258205153f4624db2e4f78a163da8bbd50888339d84d3830473ff2fe31e7020f603785820d746c4f866ffade3fa14371f6847f959ad507600b63e8a9748685964bcef588f8258403775fea8c6535afb589d21f74744c2c377045f8460876465651e4e69c739d5fcbaadfefaac6fa1d5b397b313a4e48cea4a52f458b3445544861eed265940b60e5850f73493ff204a2a80d1832491609ac57c42003e6d1f47aca8ebf70359c1587cfdc8485822cebb668e9a481875b88b09fa245c322a7cbe7cf0e8ed44b23bc3b9d85a4073679b08414b5dd61b00d6b4890b1901e05820c31f0c5102178ef6149c8b2f1857bbce45956b15503603e7c04b7b30b0825c3b84582043ac3937e039fc0326bfcd0f083acc5faf0d111e7f442420aacdc5b9b9fb9ba409190271584000b0ba683b83b6a9a6b5f7d027e26f3f86a8d05b6ac5d120f81272e91c383393d0c9aa0111419ed0ed4cec766cb11a2ebbdb349cffed02eb494b641252ec230a8208005901c05626fc7b5165b3efaa14a771163069fb74eed823a2681a6f2d0ca0f60dbbecd15d8db01f9ed7fffbd8df3443e09e0b90b0066e2bc3176dda89284b758efcb901e80c6d8597a6193b86621764ddbcfee1cf099ec7fb8f70d3d41aaee8efe5404bf885c9f468af82e27e4466f704a18beb9fc5f2f66e3b0e500714d1336b1706750b393d6f3df2fce415357f0caacbf8825e4b1eaa87d997c536c4018bd8fb0473ae704118f51db579840492970b86a735236c93c134516bfe656a933c6e1d6a37227c5c353008d96bea64aeb9c9cb639e5f1812374148ef6703cb58e231977e2a1212dcd4fb3b38042ef5ba7810037975ab71825dae9545b412f966100912e5d50a4b0dc824c9dfe3cdf84bcf1c8638c3410478dfb318cf44ab33abc6f8594db00d6c39c661c747f3d4feebe816bfd784378b499b5cbe3fa16b893600f28d35aefeee2854b75f063911745a164cef64c106a28adbb69df25eb21ae7943aa1bcec4013efd14ac49b593a395f08a113e6db465953f3ac5cc4b464a41d20b7bc309a7579762d6dfb4a3b6aefca8482794a018721576b567fdbb8ad5b17f6f923920eb3abe664d4d5221e76d2010a85adb42f9bde2b9542dc6fda303b13a8bd1a28fb82a30081825820ae680f6cf8e3e8ca1311beca960e8647e7009a1deb5ffaae38965cc69fe694b9000181a200583901a5df21aa0ee524fc0f8be1263cd2f80b01f59f5af8a55a054e1dbba89e31cb21c3ee2cfc0ecac5ffe56e21a3aca07434cccdf429cdd0c478011a0475b593021a0002b32da400828258203abdfc0329b22ae449bb4b79de5d96cdde7305c5fe5c2ec007135a59862c66b700825820749207f84ca33841719e920f709e5302ac16d764f67e49f093d9334082be99be010181825839013859de23916bbb41c0d691271d0a98c54b8913c870751e45c4da930200f5968396ecf5b2030660d61f9d6637443afce601ae26d5d29395be1a04b571c0021a000a036e031a04ef4cab82a1008182582078167d41cbadf29fbe2a206f385474905065ab90f26349f68daf81dfda52516158408e95c8fe5cc76986b261a1931b47f75553ebc317e51ea30802b5bb70c3ef5d28153265926e9b5139c4ab8ec407cdd49ffe31aff038e5d9d4d94d0d10165f200ba100818258206b4a301fcb1c9a89e0ee423790743b352f2ca3f9586fba267b4225fd7cec7336584042b7c8f32cb20a0c54c28dc293056fd1e156339edf568db4895a479efc123188316dc5269bce1fb7ad2cc3edcb7c0bf9c7877dd6161fadf10d512d1ebefb6400a080", typeof(Block))] // Babbage Block + // [InlineData("85828f1a005f60d71a02659fd7582017e878c2246dc522649590edc6ddff8c0910397198d9cf1da3ec7488afb44f1e58203dad01d35e7eaeeb62f95f5d76e2ee5e6396d1a6906976ebdbed78a59441cd00582076f2afc5f8986babb184c68e800856cbe034f1dff33ed8c3dc86c35c0583c7508258409d2b922d9e2bb74209e1fcb8c586fe05e2829a4ab293dcec757431cdddd1fd09a78d7bfd732ec9b6e864636c29c485806a00cad1236262562d75ea3538e17f24585088fdd2904dd4300170624027a6ae524b1742b8c50b04f04f0f58f5e909ddb930f31a50057631fd310d616cd5985756676a903b941d5dfc8f1696d97cb9a7040d2ae9262178de65ca5be01edf819c8c0d82584000005eb0b57ad1617b01c564f702a2c75778ddb57a325f1d33317f183588cd304ee638ea6323a76fe967662f232d57f85065d078ba1a169cdd598565113e556058504dc688f5eb69d8fe064ad016db62fa00625a4de9fe2794e87eaaa4503cc6e8ff4d399a2861b6c87a4d42c2272aca2e54fa71c7cd54e4fcc1c66fa7887f329f2236b3dd11bd592edcf4ca4f2acda866091901ab58202ad0f519064d482c800c6e266973185fead6c9ced91ed00040f2202a8e794a1e5820a6ad4b91df14e92d4a54b075493a2ff855d8366337f601a3cc98ad2b598328da041901325840e564622ee86b3666f9966367cd565348d8e8daa4bffb47a1985bc64a80358bc673ef226a4d7d11c6484cd32990a73ae6d0a2270c321e63f5a04165253f3c9c0c05005901c03cdaa3a6dd78fca76d62d73ee84267716b3cb43cb6d5007e06d3254f47076f4bab2282d91db2f69c38f2adef3e81fe509f2e0a8d8d999b436148b11e0e4caa01ec10812f60692edf6063fb50047fa209dff514fe33a32c47942695628355540e79ebc3ff65edf84a2b36a302423c3e13ad1dd363477721f120aa5ef5fdc01b147fdb01da60839eb06a8ec6fcb85d94d7c8862eb94e6555ce8e5902ac234eb2ed6e1523666775dd4be33f8dfd4d2d738af38b053f6b5f7cfe9fc3466dbfd0ef473ac5eefe9ae79543d09f7ddbe8af602464180007fbcde74e68c789d56a3a374178426d682286eeded33fe83518cb7eb10efbbdeec45442a9c0da4c656efcc4b408b82bef93f6773bb2cf6d6458def201b02dbe34616cd788f8bd02bfebb2dabd502f85ca78d8177abe953a6317327f1cb49206dd97437947452a52f86d0e18e52de49889b548dd05b6bb307f7b4413f060508ab2684b1324e29e74a01584337bb5a039b6abce81d90a8f193cc27af22cb43a2df3e55bbfe97696376704493322adb46ab9d716479159614bf5456ae914eff7ee3d47c3421c3af170d8e7acba34982355de78774f8ff2d817ae8d260253b7a79f12c917d25a9effd277af58f82181a50081825820d599114dee813f4c30ef56221465b4518b42ac494376f8e011f063cf513e2239080181825839016dfb187004fb9e2cd692fb1af87db1212101fb35c530f5ba960fd95c198bef55ac151048439f1a6260d8d4f56e49b17f252f420f3e5f04151a0077694f021a0002a8b1031a0265bba7048282008200581c198bef55ac151048439f1a6260d8d4f56e49b17f252f420f3e5f041583028200581c198bef55ac151048439f1a6260d8d4f56e49b17f252f420f3e5f0415581cd65467e9d63f124ed903101f82868bda6ffd39f83bc7d30de65a288f81a10082825820eb999ee40eb31fe5e46f1b9b12d892f7b557c4795fcee88bb0d633faab04b9105840426ade279ad95bdef4e6bb852d4735b2964e335d13a5eca18fa0b3f159bb815f1eee8c839cd89d727c9949c337d4a38d7e17dba18f3badcf605a0913a7bc240682582063ea71f82e651c6d12f176373ec8430fa4076cae60f82ecf5059a3640900c46f5840def0888ede9f1eabb8a28a7a03bf0db4e6b9f5600c6a34be13d4144404ba0a40721008477bbd9e6a7325acefac25de7b6dcb1ca1d534fdf4ebdca66add7a6f03a080", typeof(Block))] // Alonzo Block + // [InlineData("85828a1a00a583b81a080c288658202e62a8ecc77e71f626d2cbf35664c75b63a3eebe2d4badf6ba0b0df0af529a935820da667469a9333d13625bea1ce7e82d283f2e7881aabbb98fb730199cd1c3859158207dbc39eaa071ef17170eae8d510cc33bdeef61a7c1977bec298d13afa3cf9ca7825840e007b1d4039f47dc5822cb113e96259f945c541b949b19c315fc06fdc41e305a0ed7271a1476023845ce77be6b65d2d5caf2d157bd6df71d922f23f79391686b585092647ecf318fd0621ec4e7684df60394c2039876c0c1706ba689fd6f60900299339dc6cedf39395f855dfbb0bad05a0a7c44978a7aa101c0b9124227ff3f1c207633774320ba381245072964d5c77e0319073958203b94444f62c1852925596e0cd1fe0202ca954103c454e37a7140755cbdac1f1a845820dff43b23f75f4f0ee972dc3f0453706ff578ba0f5a3494631c50b425dff5664c1a62f12d00190409584067435dcd434790313fbfbbdd0b69174de44b26daa789095f76cb150b72971c31089b77bf98d491517637c21489b1fb8cd9079f9bb44ccb9cdd4c28e9eeb122038209015901c01bd888713fae111ac538bbd376e8c01810a0efa524096342eb201cb5e317f412b4832b9fb4353e42e3c16ed48a6615fa41719702c387c1a53de8c99b7f9a6d02036af2189e663ea69203dac44972d0620f32e3917762556f6ded1340b51fa0e4eff6b931a0127fcc1258b42c4556e924f855059907ff6b1b2c284eb01d5463550a3db9cc3e6ba2b8df23a91e8d1ce3cdbf966fd9f8f2c1e2621a2913b72ba4a7e8f47672df2e147530c698498122e8e1b1767fe57f0b957822840a536661c64c4ebea2eb9b827a2927e9cbb7f260ec5ea1012964f7439a6662b0d107c94cc8023c91cdff432031099f092853d98824687cc8c483c59767e18c3914ccff8134ec0572c4c1a967db5177b5622159e7eeb658a24e3769fd4780245f8df26865694db8c6b9c6560113c4d6410a13c5e208f99bb402153e0e2f90e880cc7b34d75b612b868151e64c8dce5de8cc79421f06c562bdae24ca28bf77aba11db4f4138fcf840713f17c2b5e71b900eae35ff32a69535108ca0f8189363c23cbe5459f550055063f9aba4beab9818558f1008cc72a5899d9ce5aa9525be4147f5d470f684641a5cecbfa2624181fecf91f3ff1252d865191c457ccbc01d25aab0fec8a202e82a500828258202af0b956e670a7f8667d4fd30f9500193d5818334aa15018e93e04060b8a137e008258202af0b956e670a7f8667d4fd30f9500193d5818334aa15018e93e04060b8a137e02018383583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a00150b80a1581c4dbde09bfa2ab3a3b37226d037a231408bd9d1c53c2aa4f7cd63ec44a15819494e56454e544f5259783636653938373566686f4651387931015820dc7b40e121c73b0bdc6250c2f6c399e611a40d5af96f54498968dfbff9d9cb6583583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a00150b80a1581c4dbde09bfa2ab3a3b37226d037a231408bd9d1c53c2aa4f7cd63ec44a15819494e56454e544f5259344936366539383735664658374b4c32015820dc7b40e121c73b0bdc6250c2f6c399e611a40d5af96f54498968dfbff9d9cb65825839016e7abfd835758934d24cf2a5dcaac7ac03d2bd8a9ae8a01136f23dd4151688125deff39bcfa0437986e1405a5f606d362351fd11a7057d9d1a00a07e96021a0003669d031a080c2bfa075820265eb17cc560853d2d0bf882a3f5a1ccdc0909803084a1d535176761b960b1d7a50081825820ffff8e7a45d4d7ff8e0c1a8df50e6303067543f0fce6062706d64f94196df01e01018282584c82d818584283581c831a859cb9c304d62fcd74385f89109b2291c50520f44b8ede4999e6a101581e581cbeab7b5c6b45ef58d70443a82faa8cf701550a6380d57d1b58096967001a608d4e411a02248ddf8258390179926128b02492c2096d072f0b929fd0a4b66c82c06295dca185be2be41edeba870a777502089dfc47d089feb3e5df3073e1ab3d9295fada1a77009305021a0002990d031a080c446a081a0639d75682a10081825820b0ca0805d01f4f69f548a5d6589df6170afab450a87742830e6f74bec942f0d05840da708dad177c98a971486ffb8d52d57b23d08658edb8517b7b3e04aed4a7c1a1f82c3a90d7441855da8900c73638a30704dbb385e9392421e73dabd01e593c05a1008182582075098bdcf84144572acc753681c03b68ab3f5d075c12affebd1620be689ca5425840bb04d58ff127f38ba019b2757b78d8f2f0e5270e769d7197335c8618b1ed03b18c8b47a5d01b23a424291551721a8a16655ebe55af0fbd7b720749796ee9b90ea100af181e61361832784064383739396639666438373939666438373939666438373939663538316336663532636230653563323736373835396463366166613933333137303062643666183378406164383838646363313430653636633130316239343366666438373939666438373939666438373939663538316365336339353336653239343765333337303318347840643537393361303262353933613864333262343961616165663033656130623262303363383766666666666666663161303034376237363066666438373939661835784064383739396664383739396635383163366537616266643833353735383933346432346366326135646361616337616330336432626438613961653861303131183678403336663233646434666664383739396664383739396664383739396635383163313531363838313235646566663339626366613034333739383665313430356118377840356636303664333632333531666431316137303537643964666666666666666631613032373633303230666666663538316336653761626664383335373538391838782d33346432346366326135646361616337616330336432626438613961653861303131333666323364643466662c1839784064383739396639666438373939666438373939666438373939663538316336663532636230653563323736373835396463366166613933333137303062643666183a784061643838386463633134306536366331303162393433666664383739396664383739396664383739396635383163653363393533366532393437653333373033183b784064353739336130326235393361386433326234396161616566303365613062326230336338376666666666666666316130303437623736306666643837393966183c784064383739396664383739396635383163366537616266643833353735383933346432346366326135646361616337616330336432626438613961653861303131183d784033366632336464346666643837393966643837393966643837393966353831633135313638383132356465666633396263666130343337393836653134303561183e784035663630366433363233353166643131613730353764396466666666666666663161303237363330323066666666353831633665376162666438333537353839183f782d33346432346366326135646361616337616330336432626438613961653861303131333666323364643466662c80", typeof(Block))] // Block with Auxiliary Data Set + // [InlineData("828a1a00a523741a08047a5f5820e0c3687aa31fb1a607b1a9f5b6a6bfbf0d6e1cb548a072b3f17c468e0e2171705820ff8543eee88111b2486c2ec3458f82becae92f25ba781feed8ed557ee20308535820598a5b0a3c1e78cc6d106cf7722100a1cfcc2eac9a00ef4f82f7493432c45c29825840b8927700daa3005fed60cea2830369c870d8bce6de7883993756e9e24b20328bb2d1b5ab0f1731f7028c7dd1f8bcdbb1cc08982ff65311cf517f148fcdab3d5e585061cfdc3b550a00326c3192d88c502c73671547ab45602a8598bfb551779cfbb64f327a6f1f91651768f129b53f049a8e425eb76b582a3b6d783dd7924ad931de7949a9b1ab95eecd9517d143ea306e0e190bdc5820fed38bd99e78b7a78bec7c62121c34e1dce8a1ffd53e0dacfb0b0162d567df09845820d588d2f424090bd34e520581418d1800c3deff3cac70f5d60554ea4b1fbbb40a061903de5840c289af8f559e339b3b3a40af6f50bca20e0c6c89819fcda3439896f5bf77e9bf096f80d730b087459ae4548ecc8e3b64409e0f9088c7f784a15a1107311e2a098209015901c0dc5742eec68aa7bd4c7e438da1c4c81cb24bd790132b0ebc95237bb65ba2e65d2c67a5f414554b4a943a48454884a6347f746aa41329d3518d1f3b59ad70f50661b321944deac8be88c4951bb5fe1f0e69ebde82a9d565384b89f6618090cf3209404fef6518cb1a76c70d0b0b088933c4725aa75456f023fa981d59f54f091affba5650b6c8127df50cefa448008c95611afb5e6410f008c3925a187c39d735258f4118b2c50370489f2373fcac341777833a44edfa13afcd44e22e165e3c309710ecdb6409c958bdbd2799b3fd8c277a1549b7f7bacf53c9cd4a432fc6272805b78b9f4797116c08afb07a4712981425017c0f76ffb3d10ac81e73c51f0b61b765880b75e03dd43705e1cc7ab887bb93be12839f809be219d6a0025ca8ea6d05411d3dea4a710a7d6269d8e7291b5628a72a5d21745af5239fe41f773d3cc2a9b6fbb12da46d0b62154210aeb30135a85f5cc357527318e90a4846c34d1d67f16c21fac52552562fe7830d852971160f945a0cab048e5b732f8de0e7b15a3e1b3728d7ed33918d1ea86b210fb9b5ff6a8abaadde4406ddfa947b4b7d72f2b87c25e64afc6821ca93c31798df13788fb18d9489c65c6d8b49cb9a61340a697b", typeof(BlockHeader))] + // [InlineData("84a30082825820c34b80824e4d50cdb9d787370ee1a15363e6488511d524ba6209248dde7df8c600825820c34b80824e4d50cdb9d787370ee1a15363e6488511d524ba6209248dde7df8c6010182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02b89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c01821a004dd1e0a1581cf3fc8638cb9b0016c979cb5543d74264e798b59dce5a66e2c49b0088a14847494741534e454b1a000ab5c7028201d81858f1d8798c4100581ca82c2d7809965ba7c0eea9a67533f3214b3576710b994e4cbf62f183d87982581cf3fc8638cb9b0016c979cb5543d74264e798b59dce5a66e2c49b00884847494741534e454b1a000ab5c71a000dbba01a05a5dbf1d879824040d8798219021c0100d87982d87981581c05ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbdad87981d87981d87981581cb89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c581c05ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbda81581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b28258390105ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbdab89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c1a0172a066021a0002c9b1ad0083825820397e26bdd945266a55a063eb268cffa2d2af8600116cfcb579882293b94a4f4802825820f2104505d658dce2a9c56e719681b74021604edefb78600ad0e4d66309f3a72c01825820f75a553e50c39504852f1646b5083aa732ab96639f692ddae0b1425be5eb8ade0201838258390139e175acc794f0c0a64e97b7e47f6725231e649552716d0ea2d1e19ea3ee719c6cc13a392afa50336fd89c7dd11339f2a327fb7464fdbdce1a152e8e62a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821b00000004ad5b8bbea2581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7ca1444e696b651a003ca249581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d53500158201cc9abfd664f73f4c2d2659382d6fef77b1cb3fbcac784de9bfbaf075454e1021b7ffffffff05c4e99028201d8185878d8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7c444e696b65ff1a0fa3b1701b00000004a9470c2d1a003c7d01181e181ed8799f190682ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991b00000001675806b3021a000a0589031a08047b0e05a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a08047a5a0b5820106f96ccb326ce0139ed1696eb5539c8cb76a97ba7cf649e0c8e2b867a487b930d81825820f75a553e50c39504852f1646b5083aa732ab96639f692ddae0b1425be5eb8ade020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991b000000016701eadc111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700a600828258203cb1e4ddaa1c566ab064f879b3c07c78e3210996e734899dc3eff17c47bf8200018258205af83a8e6496eecfae098d0517e22c87219a4777c0e8274af1096a8cd07f9e56010183a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f2001821a0029f630a1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca158204c20beaf8f5fca3cab69ac0e77002225ab68a18db599b46e69887720ce0e59db1a00340ad3028201d818590130d8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799fd8799f581c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20ffffffffd87980d8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799fd8799f581c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c58204c20beaf8f5fca3cab69ac0e77002225ab68a18db599b46e69887720ce0e59dbffd87e9fd8799f1a00340ad3ff1933951a343d4fd4d87980ff1a000b71b0d87a80ff82583901bc64c0754d2dd6b159df3116a20375fbb668de08709821054194018674714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20821a0020c0aaa2581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a048f2c13581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21b000000012ad80ca282583901bc64c0754d2dd6b159df3116a20375fbb668de08709821054194018674714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f201a00137847021a00030b59031a0804a4880758207cce1809afd843fd63688ede0a360bd003722f6f5652d327c4baa5edaace3db912818258200b7ef3c65046b9be82a43975475b155add927761f9293b6c580927c8153836e303a40082825820f2f1fd041fce9063fc79297d5617fd6d8a6eeabffc29d5c82c00b57e8bc4461d018258200b3c15163bb86f23e72883e7b93c246b22b8333e41d3bb035935e104f61b298500018182581d6170a8102ac53f3e845e1c0c631fbb2d3cec43c0b8b6b517bde9d8a4031a1490f044021a000288d4031a08047b22", typeof(CborDefiniteList))] + // [InlineData("84a10081825820e0e036402dbb03f0831399d1592c08bf6f19e37776ae3af3e31df9a6b71b74565840cba43eebf1b1a040633decb7633b072db8364bf10df5ae53a7ba582af95849be1211a672fd68be4ec65b292b9d775080001ec037033a6ec74ad7d5b26b66e008a20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f5840ddb97b1baf10aeda99a7dbe863aa733940fd92c9aed892c058f6fc429763bcb4a03d4213d176645722a489a030b459e96b00f83f92c4e59ce365452b5699500c0583840000d87980821962d91a007cc793840001d87980821a00012dfc1a0166fa60840300d8799f009f1a0013d620ff4100d87a809fd87a80ffff821a0014147e1a194b6900a10081825820d21dc325461e667c5da2e5b334dd7d50f22bbf3a6dabf93a41f8f2b01bfbd5ef58409abf83682b0548c3552510c3238cbcfd211bbc0e0f593b5793b049140fbff988f77f49404942a7c1106f7724bb73289fb6e97ff2cb30f7562d66660bc9b3e504a1008182582080deb1bd8db8574ab7cb772441c84df1012a17760f2569277157fc72f984e0cf58407b586539da655124da57b8e402fe893c5d7fff263166e1158689e3a35d58474baf0888d6d903f1610e9631fa522614b0f98e1bcc6e972a2aa96180eb5d226203", typeof(CborDefiniteList))] + // [InlineData("a201a11902a2a1636d736781774d696e737761703a204f7264657220457865637574656402a11902a2a1636d736781774d696e737761703a205769746864726177204f72646572", typeof(AuxiliaryDataSet))] + // [InlineData("83840000d87980821962d91a007cc793840001d87980821a00012dfc1a0166fa60840300d8799f009f1a0013d620ff4100d87a809fd87a80ffff821a0014147e1a194b6900", typeof(Redeemers))] + // [InlineData("d8799f009f1a0013d620ff4100d87a809fd87a80ffff", typeof(PlutusData))] + // [InlineData("d9050080", typeof(PlutusData))] + // [InlineData("d87980", typeof(PlutusData))] + // [InlineData("85828a1a00a523741a08047a5f5820e0c3687aa31fb1a607b1a9f5b6a6bfbf0d6e1cb548a072b3f17c468e0e2171705820ff8543eee88111b2486c2ec3458f82becae92f25ba781feed8ed557ee20308535820598a5b0a3c1e78cc6d106cf7722100a1cfcc2eac9a00ef4f82f7493432c45c29825840b8927700daa3005fed60cea2830369c870d8bce6de7883993756e9e24b20328bb2d1b5ab0f1731f7028c7dd1f8bcdbb1cc08982ff65311cf517f148fcdab3d5e585061cfdc3b550a00326c3192d88c502c73671547ab45602a8598bfb551779cfbb64f327a6f1f91651768f129b53f049a8e425eb76b582a3b6d783dd7924ad931de7949a9b1ab95eecd9517d143ea306e0e190bdc5820fed38bd99e78b7a78bec7c62121c34e1dce8a1ffd53e0dacfb0b0162d567df09845820d588d2f424090bd34e520581418d1800c3deff3cac70f5d60554ea4b1fbbb40a061903de5840c289af8f559e339b3b3a40af6f50bca20e0c6c89819fcda3439896f5bf77e9bf096f80d730b087459ae4548ecc8e3b64409e0f9088c7f784a15a1107311e2a098209015901c0dc5742eec68aa7bd4c7e438da1c4c81cb24bd790132b0ebc95237bb65ba2e65d2c67a5f414554b4a943a48454884a6347f746aa41329d3518d1f3b59ad70f50661b321944deac8be88c4951bb5fe1f0e69ebde82a9d565384b89f6618090cf3209404fef6518cb1a76c70d0b0b088933c4725aa75456f023fa981d59f54f091affba5650b6c8127df50cefa448008c95611afb5e6410f008c3925a187c39d735258f4118b2c50370489f2373fcac341777833a44edfa13afcd44e22e165e3c309710ecdb6409c958bdbd2799b3fd8c277a1549b7f7bacf53c9cd4a432fc6272805b78b9f4797116c08afb07a4712981425017c0f76ffb3d10ac81e73c51f0b61b765880b75e03dd43705e1cc7ab887bb93be12839f809be219d6a0025ca8ea6d05411d3dea4a710a7d6269d8e7291b5628a72a5d21745af5239fe41f773d3cc2a9b6fbb12da46d0b62154210aeb30135a85f5cc357527318e90a4846c34d1d67f16c21fac52552562fe7830d852971160f945a0cab048e5b732f8de0e7b15a3e1b3728d7ed33918d1ea86b210fb9b5ff6a8abaadde4406ddfa947b4b7d72f2b87c25e64afc6821ca93c31798df13788fb18d9489c65c6d8b49cb9a61340a697b84a30082825820c34b80824e4d50cdb9d787370ee1a15363e6488511d524ba6209248dde7df8c600825820c34b80824e4d50cdb9d787370ee1a15363e6488511d524ba6209248dde7df8c6010182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02b89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c01821a004dd1e0a1581cf3fc8638cb9b0016c979cb5543d74264e798b59dce5a66e2c49b0088a14847494741534e454b1a000ab5c7028201d81858f1d8798c4100581ca82c2d7809965ba7c0eea9a67533f3214b3576710b994e4cbf62f183d87982581cf3fc8638cb9b0016c979cb5543d74264e798b59dce5a66e2c49b00884847494741534e454b1a000ab5c71a000dbba01a05a5dbf1d879824040d8798219021c0100d87982d87981581c05ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbdad87981d87981d87981581cb89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c581c05ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbda81581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b28258390105ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbdab89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c1a0172a066021a0002c9b1ad0083825820397e26bdd945266a55a063eb268cffa2d2af8600116cfcb579882293b94a4f4802825820f2104505d658dce2a9c56e719681b74021604edefb78600ad0e4d66309f3a72c01825820f75a553e50c39504852f1646b5083aa732ab96639f692ddae0b1425be5eb8ade0201838258390139e175acc794f0c0a64e97b7e47f6725231e649552716d0ea2d1e19ea3ee719c6cc13a392afa50336fd89c7dd11339f2a327fb7464fdbdce1a152e8e62a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821b00000004ad5b8bbea2581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7ca1444e696b651a003ca249581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d53500158201cc9abfd664f73f4c2d2659382d6fef77b1cb3fbcac784de9bfbaf075454e1021b7ffffffff05c4e99028201d8185878d8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7c444e696b65ff1a0fa3b1701b00000004a9470c2d1a003c7d01181e181ed8799f190682ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991b00000001675806b3021a000a0589031a08047b0e05a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a08047a5a0b5820106f96ccb326ce0139ed1696eb5539c8cb76a97ba7cf649e0c8e2b867a487b930d81825820f75a553e50c39504852f1646b5083aa732ab96639f692ddae0b1425be5eb8ade020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991b000000016701eadc111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700a600828258203cb1e4ddaa1c566ab064f879b3c07c78e3210996e734899dc3eff17c47bf8200018258205af83a8e6496eecfae098d0517e22c87219a4777c0e8274af1096a8cd07f9e56010183a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f2001821a0029f630a1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca158204c20beaf8f5fca3cab69ac0e77002225ab68a18db599b46e69887720ce0e59db1a00340ad3028201d818590130d8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799fd8799f581c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20ffffffffd87980d8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799fd8799f581c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c58204c20beaf8f5fca3cab69ac0e77002225ab68a18db599b46e69887720ce0e59dbffd87e9fd8799f1a00340ad3ff1933951a343d4fd4d87980ff1a000b71b0d87a80ff82583901bc64c0754d2dd6b159df3116a20375fbb668de08709821054194018674714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20821a0020c0aaa2581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a048f2c13581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21b000000012ad80ca282583901bc64c0754d2dd6b159df3116a20375fbb668de08709821054194018674714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f201a00137847021a00030b59031a0804a4880758207cce1809afd843fd63688ede0a360bd003722f6f5652d327c4baa5edaace3db912818258200b7ef3c65046b9be82a43975475b155add927761f9293b6c580927c8153836e303a40082825820f2f1fd041fce9063fc79297d5617fd6d8a6eeabffc29d5c82c00b57e8bc4461d018258200b3c15163bb86f23e72883e7b93c246b22b8333e41d3bb035935e104f61b298500018182581d6170a8102ac53f3e845e1c0c631fbb2d3cec43c0b8b6b517bde9d8a4031a1490f044021a000288d4031a08047b2284a10081825820e0e036402dbb03f0831399d1592c08bf6f19e37776ae3af3e31df9a6b71b74565840cba43eebf1b1a040633decb7633b072db8364bf10df5ae53a7ba582af95849be1211a672fd68be4ec65b292b9d775080001ec037033a6ec74ad7d5b26b66e008a20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f5840ddb97b1baf10aeda99a7dbe863aa733940fd92c9aed892c058f6fc429763bcb4a03d4213d176645722a489a030b459e96b00f83f92c4e59ce365452b5699500c0583840000d87980821962d91a007cc793840001d87980821a00012dfc1a0166fa60840300d8799f009f1a0013d620ff4100d87a809fd87a80ffff821a0014147e1a194b6900a10081825820d21dc325461e667c5da2e5b334dd7d50f22bbf3a6dabf93a41f8f2b01bfbd5ef58409abf83682b0548c3552510c3238cbcfd211bbc0e0f593b5793b049140fbff988f77f49404942a7c1106f7724bb73289fb6e97ff2cb30f7562d66660bc9b3e504a1008182582080deb1bd8db8574ab7cb772441c84df1012a17760f2569277157fc72f984e0cf58407b586539da655124da57b8e402fe893c5d7fff263166e1158689e3a35d58474baf0888d6d903f1610e9631fa522614b0f98e1bcc6e972a2aa96180eb5d226203a201a11902a2a1636d736781774d696e737761703a204f7264657220457865637574656402a11902a2a1636d736781774d696e737761703a205769746864726177204f7264657280", typeof(Block))] + + // [InlineData("828f1a006837981a031c4c5c5820df4a8bb8a02d39108b7e73b2ef10ff350809fc540bcf5a1eb3b54461916cf6e05820906262e02e028a438654048b3a7e7e62f52bf05bd9caf8d84ca63e90de9599f65820ef779829ceb58a7d0efe3b23aeefd500f6984480be56004c2bb21f92eb2e97c58258405f69c63aa1485b1da727f46ab3c3e0e634eabdea87d8e912dd58c7e8184d5ee062f5ab5f0715cbb9349deaa814dde3b5975d91e96a5cb7894483ea51c83d30fc5850f4dfb1db2d680a1abaa46354e8294493b5a61c3d4ec8643befdd633f11d86eb64ea7364ae4344dd5070992c911af49f8ec798425b3a939d6cf06d0ac7245b112086ce125e1ebd8696f250f75ad2ec4008258400006c53255504a507fe4baf9ad18bd1bd282b2dfa2564f05ebd30bd086f754639911b23ddd6f9105bf1451b916e1693cc30d47d186af5889bf639035bbdea0cb58500a673e5c00e0a8eb5eb1d3d9d528abfa3352f9b5648fa93f7e419a9d752049b8d83f56811c81d3332ff8b002259ae697199e625f5709dc2146f3ab2b9dc37fe98fbfd3c45abf619c699cb01ffaadc1031a0001100f582097130f5b030b11af8810f2a448b45b889aa188483c1f5cb8eaf55b1fd7e9becb582080e55751f42ca9d0f64b663ba30b8eb6e812dc6b03fb7c950bb8773b6cab6a120219017f5840504159adcae4f57d159cf466bb045e8cb0ef633573dc4306e95ea038384e242e63b9000fe29f7354247599fdce0cb20d18cc422d050373ab27b7763190d1db0e06005901c08a2c25b10f2130e282ae36a258898d818777ff1576d2ed08dd181c377e4262b779075f5ff87f32804aeedd7f6eb620a5cabc4a7be8ee23914418ac3e0abb6b0b5b155c087c3b2e80f9c12376f0f7a416b6a9e85f53e1aeff30b7fe819b1040af031f6781f894f8936387b3be29a9fc5f5e842a11582cd383f61d2d458246bc023d56667de9b43c1e74d69239f819e1717987ca31f48bbeb654063a37fe67708a232eee8dbc28647877bf6909f7a3c3802a1a31cc5198e0fb470e2481611f0be0ce1a74a5a94e844e39abc1da532872e3202b305577e3aeac5e397bbc97f7aaef156913ed009d666de2d4c3cc2760eae8580b1b64602f862c10bd5d29f63678b620d27afe36c0078e8a429889fdb390944759825a6fb069fbd3d1d1703729b46afcbd6cc13bed0f5b57ddffe380d7bea2860c91faa1b5dff1d59554fabc5ce1853ed98536a080b625518350db395cda38e17824cdc375381ea55c760b227595c0e2c1368800d921b5d96c0138ec6ff8a7979acf374cc274087c51580fcc58076c309f403dabc7d9b5c485598dd6cdf2c504dbb04f5cdc92dd84e31eeabd6d26a0fe0e927b85a7c06a3e19233cd0e76c2c0c68c1b7bb715325185a83ef645b949a",typeof(BlockHeader))] + // [InlineData("9fa700848258202e10247051ef5ab99f17d2a53df260fe2039a16f9bfd79d83af208eb054c9e940082582091771ac5b013096baac45c2fee712e58f928f7ee2d798cb1434d5ec253480a850182582091771ac5b013096baac45c2fee712e58f928f7ee2d798cb1434d5ec253480a850282582088e7709cf70ec27b993dba67274294f03ebc18cff0e1208d750e45980870dc170001858258390170e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a721e78aae7c90cc36d624f7b3bb6d86b52696dc84e490f343eba89005f1a00f42400825839018241b9a7cc0f3e2205d22635fee1831c20c2d10e40a783f45b47f6fee4446ca418a2b0a2c8e0f1f4d999c3e646d7c8bd6afd3bdc54161bd31a00f4240082583901a114aeb8a1758760a3d61abe41895db9cd61fc5df7d4f734b17a6272d5bcb2d0561c38804942f0ae721151e84d0670d9a65d830d6947b5621a2dc6c000825839018ad56de5d1eee52f20c9d817da44ef8a24e8c571d59ae7eca102da4040a034037ace42edd17bae1292caf394675777676609c8867666b423821a001c41caa1581c1a645cd395468cf51b24ba319aefb0279e9cac89a193dc2348619fffa15041646176696c6c65486f75736532323201825839018ad56de5d1eee52f20c9d817da44ef8a24e8c571d59ae7eca102da4040a034037ace42edd17bae1292caf394675777676609c8867666b423821a071b73b9a3581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea1455041564941193a98581ca5bb0e5bb275a573d744a021f9b3bff73595468e002755b447e01559a556484f534b5943617368477261623030303137393437310156484f534b5943617368477261623030303137393437320156484f534b5943617368477261623030303137393437330156484f534b5943617368477261623030303137393437340156484f534b59436173684772616230303031373934373501581cae7d09e33000792256e010e2d116445eac5df2fec52a4ec247136c74a35819536563726574456c657068616e74536f636965747930353337015819536563726574456c657068616e74536f636965747930393535015819536563726574456c657068616e74536f63696574793138303201021a0011bca5075820d36a2619a672494604e11bb447cbcf5231e9f2ba25c2169177edc941bd50ad6c0b5820b62102e9a7b3ea7d692193a0ca4d14d1416cd01df4bdd1a39c85a64c650f56ae0d81825820f5c53bf6ac9053c104c007373b448fed3e78455b379ce81ae7508771bdf1b92f000e81581c8ad56de5d1eee52f20c9d817da44ef8a24e8c571d59ae7eca102da40a30083825820a148e7c83918fe17ae1bb4556d46f10dee2d87d284ed6a78eea8b9f55e6749e60082582083df96a9347b26b1580f6d218068c945d0123bc5e66424281fa49b2aa7e39a7f01825820bf60d34db78e305fed3267ba99ab5e92eeb5431aefe271bc41b4e0a9c168a46701018283581d71483788748bd6129043bfc87fba9c0b5bc7e49b892efdc9dd783e3285821a001c41caa1581c2d01b3496fd22b1a61e6227c27250225b1186e5ebae7360b1fc5392ca15054617665726e53717561643037323231015820824af6b4b846bdbedca823abc0262dd0dfd909a68c2163902988845da31f0c13825839016c0718ffceed49b74313fdeca1b92b9b6f1c9024dfa40e1345b03c7e9e6d63af8ef5ecf1d40b009326c4242b69f8c99a46e1263012365c17821a004a7465ad581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e01581c46f96dbed1e14d3fe1ca8ed08e7db2f848b50769b51ebf6547728ba2a152576f6f64436173746c65574c53313036363801581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431832581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d4249451903e8581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e20581c95ef7829379af37336b98b487c03c389c288cf938f54ddccd10185c2a14d536b756c6c4c5056536b756c6c01581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a02faf080581cb34b3ea80060ace9427bda98690a73d33840e27aaa8d6edb7f0c757aa145634e4554411832581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba144424541471819581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e7303581cf8f933f5c37a7e98903826a14f15c9dbc8af2bdb14c3ebbe1eb8d440a1581c436c61794e6174696f6e48616c6c6f7765656e50617274793230323101021a000318c1a90081825820a00ceea612f9731ddb8b1dd7be7619489ae4ff7c6b14ab0d428c3b493985495101018283581d71ba158766c1bae60e2117ee8987621441fac66a5e0fb9c7aca58cf20a1a3bdf7420582029818f785c315a115624ed58c4d78f20e01e428d8bc8a9c7664edfae80dfa5d3825839011b3a44750b579623b54c5e16ea3a2b040171c4239502eb5f45571bdabf79a539836ea5193c644dd841878342e49de908b4e5e93dc79d108f821a5ade79c8a1581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441b000000021c90c78a021a00033859031a031c714f07582068c09da87243e0be2be7d69b3379d2b5a850f1954696e153d822ba5719349671081a031c39100b58200dd3ed9d2b26bbd1392f81fa91edfe5d54607305f8acf473cdb04646885c5ab60d800e80a40081825820bb089400e42c512ea4b616b94edf8586885971fa29720fbac663b37797f586f70001828258390137494db976ff1c9611029a198a04d6c67f3f69ba2b3da8942fc45606116768499687de57d01976b0b29c486d8ef22691578b6bc6ee08ed181a000f42408258390137494db976ff1c9611029a198a04d6c67f3f69ba2b3da8942fc45606116768499687de57d01976b0b29c486d8ef22691578b6bc6ee08ed181a003a7783021a0002917d031a031c8e19a30083825820f0afe69dd22e56e0d4587aa6d0b90cb94a6f446226593cc49e4d035fd18f492502825820a0e75bbe1d88554e8afa95048902f4990acf06ee73fa9635bc1c3b2eff66404700825820cdb7ba25c94468d555b8e7a5b80243788160ead6ffccd1c11ac6fbd9ba42c89c03018283581d71483788748bd6129043bfc87fba9c0b5bc7e49b892efdc9dd783e3285821a001c41caa1581c16a0bf1c13772c039e6f32f39dabbe44ae997271c6e80d611938da78a14f547572746c6554726f6f707a393937015820910199c57afad3bd3e830d80cd06429833fd0d039736df78f6ac810d1cf6f98b82583901ee55dbd7d1a0be965da845c034af6a5a1f5beef18154c8e44ac3c69926fdf98bbdf2866c6cddb357d124e0787bb55482f4e26e301a68e4c3821a003376ada2581c0e4a1ac3f1158a5ba61d7c1704eb0e04dec8cd834383d0115bc5789aa156436172646153746174696f6e4c616e6450323250353401581c8af3068889a7cd26eccc1db74f9be10bd4987008669fe6acbec11467a152416461436869636b416c706861733039303201021a0002ca35a7008382582066cdb56a3e761dcc5c24c0cffefe8d27511d303306cb26062e80d4692b985c4b008258202a89802225200ffb83d31e3d2f871a154c199aab2e46d125cb382bc74900f2270182582000fe891c7858a52e9dbbcfd767fbaddf66df2558604acfbc9b5663018daef6d202018282583901c15f9e5246a16c2ce9ac5b670a8a2b1052975e7b0026c198ce02c4dbd3b062336b75e53f39a3a4216887fecf16a6edd2f678f04d14b1166f821a001c41caa1581c5a46271a9b32a4517ced20be4ba1f184c2f91b1a5dd480ab639eee57a14d42726967687450616c303135370182583901c15f9e5246a16c2ce9ac5b670a8a2b1052975e7b0026c198ce02c4dbd3b062336b75e53f39a3a4216887fecf16a6edd2f678f04d14b1166f821acca35977a8581c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b913a1456c70201e011afb6cdb4e581c1cad64fda64efd18c2379e53543b14dfe5b3ecb273794ab630acf59ca44f47656e65736973456d6572616c6434014f47656e65736973456d6572616c6438015047656e65736973456d6572616c643233015047656e65736973456d6572616c64383401581c349b99288181cb7ba1ca65f5e188dd9b9a9dc1ee1694fda7c4e61772a14e5468726561644d6f6e7a3033373401581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441b000000018f19a87c581c95ef7829379af37336b98b487c03c389c288cf938f54ddccd10185c2a14d536b756c6c4c5056536b756c6c05581cc7e043870f52b06b55f9003fdb2de82646066592c0eb054c8d763b92b81a49456d6572616c6432300149456d6572616c6432310149456d6572616c6433310149456d6572616c6437350149456d6572616c643839014a456d6572616c64313030014a456d6572616c64313431014a456d6572616c64313939014a456d6572616c64323132014a456d6572616c64323335014a456d6572616c64323631014a456d6572616c64333033014a456d6572616c64333236014a456d6572616c64333237014a456d6572616c64333432014a456d6572616c64333732014a456d6572616c64333733014a456d6572616c64333832014a456d6572616c64343832014a456d6572616c64353730014a456d6572616c64363138014a456d6572616c64363430014a456d6572616c64363431014a456d6572616c64383633014a456d6572616c64383634014a456d6572616c6439313201581cca5fc915496a771109b98c4a2b76e32c21a8229f3332398cb8babcd7a14c5261747344616f303039313601581ce2ed73b580344b69642683be7e807de1221462174c806d25164f72c4b8274e4143524f4e594d4455434b303431014e4143524f4e594d4455434b303737014e4143524f4e594d4455434b313031014e4143524f4e594d4455434b313032014e4143524f4e594d4455434b313234014e4143524f4e594d4455434b313333014e4143524f4e594d4455434b313438014e4143524f4e594d4455434b313539014e4143524f4e594d46524f47303335014e4143524f4e594d46524f47303432014e4143524f4e594d46524f47303735014e4143524f4e594d46524f47313332014f4143524f4e594d4348494d50303334014f4143524f4e594d4c4c414d41303234014f4143524f4e594d4c4c414d41303235014f4143524f4e594d4c4c414d41303334014f4143524f4e594d4c4c414d41303335014f4143524f4e594d4c4c414d41303531014f4143524f4e594d4c4c414d41303639014f4143524f4e594d4c4c414d41303731014f4143524f4e594d4c4c414d41303935014f4143524f4e594d4c4c414d41313038014f4143524f4e594d4c4c414d41313130014f4143524f4e594d4c4c414d41313137014f4143524f4e594d4c4c414d41313339014f4143524f4e594d4c4c414d41313435014f4143524f4e594d4d554c4c45543032014f4143524f4e594d4d554c4c4554333301534143524f4e594d534c5954484552494e30373001534143524f4e594d534c5954484552494e30373401534143524f4e594d534c5954484552494e30373801544143524f4e594d4752594646494e444f5230303801544143524f4e594d4752594646494e444f5230313901544143524f4e594d4752594646494e444f5230333301544143524f4e594d4752594646494e444f5230353001544143524f4e594d4752594646494e444f5230373901544143524f4e594d4752594646494e444f5230383901544143524f4e594d4752594646494e444f5231333001544143524f4e594d4752594646494e444f5231333801021a00125d85075820d36a2619a672494604e11bb447cbcf5231e9f2ba25c2169177edc941bd50ad6c0b5820debbf0b54dc8252bcbe0c0431e055921273708740766a7255421e55fa042a6520d81825820f1a4a44131329f516fce19b8d67d6890a1f23388366d06202860623205580bc5000e81581cc15f9e5246a16c2ce9ac5b670a8a2b1052975e7b0026c198ce02c4dba7008382582097bd95a1fa107a85b9d1d0965d56d7ee8e71ac359b7352620c99a4fb03ea33f80082582089a51281ce912c7a847d0c1f55e2706d43a16df4cb28820ff1bd1139971c17f80082582097bd95a1fa107a85b9d1d0965d56d7ee8e71ac359b7352620c99a4fb03ea33f801018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001cd277a1581ca6aa0561e88604f80ffbc4b884bf8d1b13a36c4f59e5502183482481a1574772756d707942756e4772756d7079466c6f6f72303439015820a8f23b3838dd5f4643bceeee70b0c79db5929a7d93513e0470670f3fff868271825839018904c9e2001076eac117e8b64df86efa331c77188ee974526d5abb67315e53b6e85def07d77b24a667bd3032c0db070fc2bdbcb34f5b9d06821a3c0634afa3581cbb78d3b6638537d6df7ae43791ead3d50e75fdae82131eff2b7ae994a5581b556e626f756e64656445617274684d696e75733236506c7573383601581b556e626f756e6465644561727468506c7573344d696e757331323601581c556e626f756e64656445617274684d696e7573313135506c7573373901581c556e626f756e64656445617274684d696e757334354d696e7573323501581d556e626f756e64656445617274684d696e757339354d696e757331303501581cccb3577601d6cf0e021288871112926338bee685c6c37eeadf6dddd9a35243617264616e6961466f756e646572526564025343617264616e6961466f756e646572426c7565035443617264616e6961466f756e646572477265656e02581cdac355946b4317530d9ec0cb142c63a4b624610786c2a32137d78e25a154616461706543616c6477656c6c4564776172647301021a0011f365075820d4037077969bf025cca4e3124bedc82557a85d9ddd42f128d760b2f0ae2712450b58206ebc6d25ba73eca1ee4b3f1a52a8634b913258b3479db159e275b003f4cadf700d81825820af811108c0b01ba89aa4289d00e95b358bc6f9065fa27c96b873f8ae8a321c60000e81581c8904c9e2001076eac117e8b64df86efa331c77188ee974526d5abb67a40082825820cbaf4915d889224920b103b2aaf251abf3abc90815c4ad7faa77f334c065089d00825820eb3c4e5e1fea516e9805929f6ebc69b8a64b6497e378bb3d5ad7096b5bc9d4f100018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001c41caa1581c247e182a8e95bb556ebfde2f8a783a1c52b0c11fd5222affd8969918a14e4d657461706c616e6573313239360158208d5dc742e12ab7bb0bb08a6a58efe45b8e4a6ef4d7097e842bb1a48740b08a268258390144b65bc761557cac97042758aa2731a205233f03f4c289873f8cbfe6558f078fb53504f9cbc5bd217eaf93a2e2bdad98788a46cf3811581c821a00846a93a1581c247e182a8e95bb556ebfde2f8a783a1c52b0c11fd5222affd8969918a24e4d657461706c616e657331383432014e4d657461706c616e65733232313701021a00033777075820ce3035b48e43d8c61e0364020ca3b3b758ce1811f9adbca1b5e623d8dfbcc993a6008282582009476e5276f492362446d16e38a89f420f5a92882ef9de7e8980702ee4ec7734008258204c948ed68812d9520a221945143fb432e03b5562fca8ff76d7fd3c9933577210010d80018282581d61f770bbfb8428d0e9e0351178d4150298ab234e01216ccd81cc5a02f11a0487ab00825839017cd74162b9b66c77fa8ad94f2ad1a5e036f8a1ea85db9a43662ce7749022c86b4739ce4ab4e4b354b0f17126d2b47150867cf58ee1fa5019821a00fe1116a1581c16a0bf1c13772c039e6f32f39dabbe44ae997271c6e80d611938da78a34f547572746c6554726f6f707a323031014f547572746c6554726f6f707a3230340150547572746c6554726f6f707a3238313001021a0002c5bd031a031c658f0e80a700838258203168b2c81480a3042d94d5a49400ca46a7b6fdb3bf358c91e69296bafe43c15000825820ae6da071c85b0aa0d7d13a76e5389fab1e1817507062d0473a88a2b81e55ebdb00825820af5aeeaf9bc4c1b0b3334e1bf1487b548a243dfaa5b6eb67939fbac745e06e8d000d81825820ae6da071c85b0aa0d7d13a76e5389fab1e1817507062d0473a88a2b81e55ebdb00018382581d61a27fc491acc4d63aeb43a4ccbe3563f3e646032c8c3b03ae9210a6ec1a0062b74e82583901f880878064316a8c2f40948820ac60605dc6d91e107ab2021feef934ecb2ada9c6dd3c187fee0448dfc28f9cc89bec35b95ebff65a75f8da821a0016e360a1581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441a3b9aca0082583901a1b297d7193b9122770526979453365b4d780f6f726ed53303e01b98838aac652e335e043dc7c5f6387eebcdb0e33129e1ad666b9f4000461a0d33d260021a000edaa8031a040ecee20e800b58203e73f3507e6445ec499e8741b85b394591a68bb46248ff9f3c5e307f16285663a7008882582016a40e6e705c693c57aa5c4a11cd26009985546d81be3d54d93552ee80233260008258203bfeeda9d8b77b96e66bfed7fd5afd02c705acf89f8065b497170f10547797ab018258206225d2a1c49cc670cc837654e524dd3112f46ee8ab06c51594823cf8e81738a0008258207d5e3a08984e3464e6d049b6a37008fd953e623e707047d0b49b494a74927afd018258208fd4563973f5fbd5d452ff2eee5250e250c3156a22a2e144a208549edc95e50601825820c3ab9c204468b902ea950ec65d8fe9dd950a58e193f190b7dc95921fb83446ee00825820cd21b1eaa66a7aebb2c17818b63a9aaaf49de14685b443e7897b7dd391cef2f000825820dad2154c553a0c76641be3ebf0a945dc17b9b783143fdc819a547e130546836d000d80018282582b82d818582183581c291b32ad27a014c1abb82dfef0a05a02cd94562cc34cf34e001e7c6da0001a016b79221b0000000980d2bc008258390127357a6e740f921781a8a4c0fc536b149d0c8ab5d530bb362360e80572a0e7096c4d10734f15d355a9ff2a7674675e13b751a02b2af3af5e1b0000000793af944a021a00035491031a031c65bc05a1581de172a0e7096c4d10734f15d355a9ff2a7674675e13b751a02b2af3af5e1b00000001340d06790e80a400818258203d879f6f5d6fbe084c060cb3eae6cd61b92a3bbc53bfc3f75a803dc52f12b14801018182583901b4f648f8a54c8e58c27ea9bdecccd5ba308582d5ecdcc35903656e61994bb491ef7b8955db858dd91a25c964ed798230bf208ad9908fc32f1a01322369021a00028651031a031c65caa40081825820a9db3267da0896e7b4a5f55a9f840efcddda23de606d89a8801c13d99dca7a6003018282584c82d818584283581cd30055f9486f928d31adb809107b76330144bb049165f17261afc45ea101581e581c5eaa48873c92614ac90b7fe371ed69627a6c16af13271f9f22708fbb001ab925c4e51a00b71b00825839017a58d5e4070f6b30916d81e6df12cb016f841aac36fb731e3c761c946a11e7b4397c5d01d3e2e98d292955178f8e3e2d939b36f3d4adf1ff1b000000011ced6b18021a00029571031a031c65d2a400981b825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d008258208a0c1c184f072824f2945c252df39a74fa07b6ac5bdf0bbae42e9657b249d86a00825820a247b664d16d538b274d8c265c4fb0199c3cbfbb98d284c3f5f6189667520bb00082582001de0b4c881ec52be20d7806a13bce162351d1502d4abe59698262b16895a8da00825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d01825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d05825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d11825820f5f9d94ead85fd3de3b531683591b3a6daaec8d33ae79874154bff36ed77221706825820bc9ceba28f3f8f2f5b0d6728c370a8ea5771e7201961ed62224a0a30621f70ae14825820f5f9d94ead85fd3de3b531683591b3a6daaec8d33ae79874154bff36ed77221717825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d14825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0c825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf00e825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d17825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0e825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0f825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d07825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf00a825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d09825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf011825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d1682582076265a7d8c35abc221ba583abb78cb1e2d896247b78fe310bdaf067600196d020d825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0882582076265a7d8c35abc221ba583abb78cb1e2d896247b78fe310bdaf067600196d020e825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0a825820be1266057338d2054928b81b4902abf7580eb03c2f068785543f99fcbce0f5a00c825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0b01981b82581d61220099e5e430475c219518179efc7e6c8289db028904834025d5b0861b000000011d210b6e82581d61c232edd30746e3bce85ffecdfcccb79f79c043e5a590260b195654531a6d9ce9c08258390106072e9540dd57013625a4c2a5f517a7c7386cdc385de786cd8d2906572e8bb2c4278ebe923aa0da61229b00a47d498b5dbef8e3b4a991ab821a002ed3e2aa581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421a3b9aca00581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461a1dcd6500581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a000f4240581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1901a4581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a000f4240581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c19014d581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531819581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f0a581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e2082583901576ec66424f8c0cd2bb4a32cd8e51985ac874561590e7f157ba57f57641c0ed06f2a1c132dec10d8f6b8ebbc345b78c84997eb7cf06e1f5f821a002f5a94aa581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a000186a0581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e01581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421a3b9aca00581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491832581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e01581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a000f4240581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a1445155494403581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a14444454653181982583901d0c70f78a7c33b9d7c912b7519738c0ac6eac8d5886f1962d52aa033f9b9270bac21803480c6328b849bd1eaa704dcecf6fd9edc7017a373821a002fe146aa581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e01581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461a1dcd6500581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a017d7840581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e05581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a000f4240581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1901a4581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431832581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a00086d13581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a000f4240581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1a09374d6482581d6103a5c2fbfdaee8f80e2bf2631925a61eb57ee6a14288f4f0036b386c821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501b009f56b913e9760082581d614fd2f639b20ca9c36de08ca42efd2f31f5e84a034a8de1929407e23b821a0014851ea1581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421b0026dac903adac0082581d61790c1f912045839eb2ef1ca07cb579f8e7021d8b651c829627e00e03821a0014851ea1581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b01629601bbbd745382581d616836aeaa1f114ce63af63bc5d876f3b86a91192472c8d0e3af8d97c2821a0014851ea1581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491b00000f7621ba2b3582581d61034e92cf3a95db6fa7fa7b2707645e1a118ada6fcced3d0c4abd359f821a0014851ea1581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1a0393279c82581d615ce8bdfb98e00d0b01b1c7040e2a3faf2115c34aa2742eb2a640aee5821a0014851ea1581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591b000000cec4bd400082581d614c9faa9b51a9ec1d07f520ca9b310ea4a5c95006d5e24a555ae96b29821a0014851ea1581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c1a0121227982581d61cb219137fa81d02325827592ede402d4a830ed8e350785dee65b50ae821a0014851ea1581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531a00884c7b82581d61a14463074aebe2f7d88a9f34b7e1df82a1692d77928d2fd4d4223020821a0014851ea1581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1a00935e8482581d61110d94104e91686e1948b338de1cef3d2243e425b4736880bd7d5875821a0014851ea1581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a1b0000000927f5b60082581d611ab9fa3f17ff6c9155931e607d0eb354e864ca7a51b883c55fe8c640821a0014851ea1581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411b000002b975fcb12082581d61f3f7e02cbaf07fec24f9353c39a5c555a348d32bff2566d084dd1e0d821a0014851ea1581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e1a1acc0a8682581d61e418e81e5cffd84e31a73d8a139def978e0f52b8abc09de0f1e77be6821a0014851ea1581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491b0000003a32d5f32e82581d61bdb2b72bd6934e2d3894210ffcc805a5d9b20769a24c9c4051fe7e3f821a0014851ea1581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e1a0006e12682581d61bf75c1d259a426d51358094aeefa2340beceb69e07e0883a54b0c722821a0014851ea1581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a144515549441906e782581d615d9a57c64c11dbfd5b91ec1b5c2e9527371df34140cc190ebc02a568821a0014851ea1581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791a01aa912c82581d613f582714c8afb9a5d468067d0cdc6ec319bf00cb8ccff503e3f6451c821a0014851ea1581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681b0000df93dff477c782581d6119b6f41d9ad64263eba792d2e6f72dc6e4f527efeafe99901d489c9c821a00150bd0a1581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e1a0029b8be82581d61ac31a7793c657061c1c6cd4b142c6ff2b81d76fa0331c32970664853821a0014851ea1581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431a0544b87682581d61b96ac3086bfbdc78822c5f50d74e58e62ca68f59f4c676693cc9c8e0821a0014851ea1581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1b00000041a07ed1f182581d617a1ff04d9cd1fac79d20bb9cddebf0b989923993ee973e342d8d4db1821a0014851ea1581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1b000020bfe7d7484082581d611c1c28481d4fb839fdea3564f662da863557a7e0d246986e1b31e4ca821a00150bd0a1581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1b00f7f4ac169a81ff021a0007a8d1031a034390a2a40095825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814200825820526a4e78d207ddbcea8b67745a7b268bbda239a33add35d05834d42918f16c1c00825820ee2ba9e4f80619a6a6ae6a515f1be793c39dad46f240185da6c5353f51a4de4400825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814201825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814206825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814215825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814211825820f5f9d94ead85fd3de3b531683591b3a6daaec8d33ae79874154bff36ed77221708825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814209825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d13825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981421819825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981420d825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981420e825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf014825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814205825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814210825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d10825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf009825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981420a825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814213825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814214019582581d61220099e5e430475c219518179efc7e6c8289db028904834025d5b0861b000000011d35b6ab82581d61c232edd30746e3bce85ffecdfcccb79f79c043e5a590260b195654531a6dbb6e40825839014a9f3d9730ce95996097965416556bdec8704fb8e53b8fcc295d1ccf46bed4b2f457d2e87338a162587553659df0bdc1c9712319fe62020a821a002f5a94aa581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421a3b9aca00581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a017d7840581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491832581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba144424541471819581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1901a4581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a02faf080581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a000f4240581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f0a581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e20581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a1444449425319138882583901e05716c5fccb95b8e2d012eb4f7d4ee392830c53588f96c2ae5ddf02814719bbdf7f6ac68d1ab2f136c1fdc9ebe7bafe1c7f129aca5415df821a002fe146aa581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e01581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e7303581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a017d7840581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1901a4581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a000f4240581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a1445155494403581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e20581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a1444449425319138882581d614fd2f639b20ca9c36de08ca42efd2f31f5e84a034a8de1929407e23b821a0014851ea1581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421b0026dac8c812e20082581d613f582714c8afb9a5d468067d0cdc6ec319bf00cb8ccff503e3f6451c821a0014851ea1581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681b0000df93de76ff8782581d61e418e81e5cffd84e31a73d8a139def978e0f52b8abc09de0f1e77be6821a0014851ea1581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491b0000003a32d5f2fc82581d610d14797c3c4134991ab90e52aa67376f9fdae136bc1c93aa93505aa6821a0014851ea1581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba144424541471a0025aef982581d61034e92cf3a95db6fa7fa7b2707645e1a118ada6fcced3d0c4abd359f821a0014851ea1581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1a0393245482581d61d117423375cdfb759cf97b39643c2fe9d84ae8f3cbfdc27cf98c5b37821a0014851ea1581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731b0023853966f1ba8382581d617a1ff04d9cd1fac79d20bb9cddebf0b989923993ee973e342d8d4db1821a0014851ea1581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1b000020bfe7c8060082581d61a14463074aebe2f7d88a9f34b7e1df82a1692d77928d2fd4d4223020821a0014851ea1581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1a00935e7a82581d61110d94104e91686e1948b338de1cef3d2243e425b4736880bd7d5875821a0014851ea1581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a1b0000000927f519c082581d611e31596d1ad39e6b83995c7654454f40b93059c2ed9e085f2dde0987821a0014851ea1581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a144444942531a3832371882581d6103a5c2fbfdaee8f80e2bf2631925a61eb57ee6a14288f4f0036b386c821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501b009f56b8d84eac0082581d61f3f7e02cbaf07fec24f9353c39a5c555a348d32bff2566d084dd1e0d821a0014851ea1581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e1a1acc0a8582581d6114547e312e90c0dfdcc4ca42a31398288792aa24f4d8e8d7cf767cd1821a00150bd0a1581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e731a0094937d82581d618654c63aea6a49ac47f216d18eed95306e62f4906c517e41fff22419821a0014851ea1581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611b0000da76e15d99f082581d615ce8bdfb98e00d0b01b1c7040e2a3faf2115c34aa2742eb2a640aee5821a0014851ea1581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591b000000cec4adfdc082581d61bf75c1d259a426d51358094aeefa2340beceb69e07e0883a54b0c722821a0014851ea1581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a144515549441906e482581d615d9a57c64c11dbfd5b91ec1b5c2e9527371df34140cc190ebc02a568821a0014851ea1581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791a01aa8f38021a00062ae9031a034390dea4008182582005d22a0442994d348857b7598cef569a14cffa2b1ad4cf2d80125a3190706df301018282584c82d818584283581cb2a3c920995422a994cc3d8ebe7d9905f91aa6084c858f4578eeb75aa101581e581c2f09fe19d45134c8d16d10b20bb2f775f3256a8c227b62e52b26e73c001a50ce1ee01a03938700825839014526edbcc66e98daaec8e43bb156e054a36b74416654a0021537517448a65080e0c14ab0ef0b21367f670746c7fe4d65e8cc10fc33edba621a74b6d17e021a000294c1031a031c65eea8008282582062e4ce64b27db42ced77575df679ca50bf8e4eb141e32f48cb2380d0c6e14fd200825820e9644e3cfeec5e77534dcfe41e479345c9685e6c1cb0b4a012c4337da2aa73e9020d8001848258390152f3aa11114eb02a87c882a7b0a1661aecd7b4a4d5f31a95811cc2c8ec05570ff31d314b72d8fd2d940259a895731374fda24031fe8cf1901a0148966882583901686add98f61e3b755b26f6e816ef33e0c49c26c7c6ec337ef2bda03dbebf3ae32a4977f0701b8d1531411c77925ad7f4c06cabc7913ad2e61a0148966882581d611386376a01c20eb92a591f6dbead3e188f8c29914867aee50d32eca6821a001e8480a1581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a6a18a50082583901e944d7cc0d54749fe82780226c76aeda58adcf109a6979ef6b43985cdaedacd371fee1c4effa38ce2a437e79aca3fcbc7713a8cee546c2a4821a0019ff17a2581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a01312d00581c39086ef91d452d1b6ea9c8c92a2f3243467ddf93bf7c142d370e7d64a15243617264616e6f4275647a4832533139323901021a00037959031a032b8b540e8009a1581c39086ef91d452d1b6ea9c8c92a2f3243467ddf93bf7c142d370e7d64a15243617264616e6f4275647a48325331393239010758206c361a1b4c179b54e359c428f7c30c02b1bf74c79a33d3604bc7b80b5074f957a4008182582037686ce676806dfbd5b0f485b7f08b72bd860ba43b8eaf813bb422f6acedf69901018282581d61f770bbfb8428d0e9e0351178d4150298ab234e01216ccd81cc5a02f11a0487ab008258390178f1a29dba560a22ae1a3c3c5c754e9c49a5fa2bf29871608bd580ec26ca97e2df24138343f31efba68aadbaf197b2a53a5581bac7202cda821a030e8525a1581c16a0bf1c13772c039e6f32f39dabbe44ae997271c6e80d611938da78a44f547572746c6554726f6f707a333331014f547572746c6554726f6f707a3338310150547572746c6554726f6f707a313038390150547572746c6554726f6f707a3133393101021a00029e35031a031c6586a7008182582081a7fe005b31bfce5cd07b5876d88214944db3521650461e7c082107ba9b21d6000d80018282581d61d5663185ad7e1db8293bac13150478dddc08f80a730c35e3322803cb1a004c4b40825839015024bc0b4d849658f417f3636cdfaeb82f46e1edbb741c191ce6e4fab604f57e5a82705bf91a40e3c554dd1abff251cb3442e3baf11753f61a1212bd5d021a0002a7d5031a031c656505a1581de1b604f57e5a82705bf91a40e3c554dd1abff251cb3442e3baf11753f61a0354d8520e80a500828258209a8fbe63b8d95c30746d3337fafd8fbe11dfa72bf05c3e7876fc28665a745bf900825820548650236f3bae15b8ddb7d65dde5ba6fb1785606880f44eff04b2316f6affde0101828258390109c230576e5d6c062a0fa95edafb4b7760bf48c9569c949294993befdcffc654e5f87793e8875d6cb40cfc8da22aeeecd7b62dc26e037df5821a00169b08a1581c49450fe5ce314aa6ef5d4c947d69d4af8e298a005114718a7cc1f784a14d41444150756e6b334430333530018258390109c230576e5d6c062a0fa95edafb4b7760bf48c9569c949294993befdcffc654e5f87793e8875d6cb40cfc8da22aeeecd7b62dc26e037df51a04144c52021a000fa6b90b5820318f56b89c98d3785d39da7f7b5e519843101a7e6256ade04d10ec8ee695153f0d81825820b7aeaf10a7addfcf7a0011c5520b393d3f7450fa9dcb8d7528c565737499cb0c00a30082825820c751c491e201bfa4096d929ba6d2b26d71dfc0a431637bcfd4e1579b6ee8494700825820c751c491e201bfa4096d929ba6d2b26d71dfc0a431637bcfd4e1579b6ee8494701018283581d71483788748bd6129043bfc87fba9c0b5bc7e49b892efdc9dd783e3285821a001d6324a1581cbb78d3b6638537d6df7ae43791ead3d50e75fdae82131eff2b7ae994a1581b556e626f756e6465644561727468506c757331384d696e75733430015820c87b3a7bff3aeced1121279e661932121773e1def8ce3d739d249fbdc56bab3582583901385d76ad737e96e8bcd9992912e1b26e1f4731e5c7d3a3ba413edee7d48e24159929cb3ca57569c1256a892a7ea74c576425ec3316934878821a027e2ef3a3581c9046c4fea7a38f05655c17ed01082ea302521ecb8fdf130cf443a7d6a34d43617761696943617430343032014d43617761696943617430363333014d4361776169694361743037363201581ca41540619e607763526c67fdb83ef654798b20d34c4ca493c7eb82d0a1484d616e64616c613101581cbb78d3b6638537d6df7ae43791ead3d50e75fdae82131eff2b7ae994b81b5819556e626f756e6465644561727468506c757334506c75733232015819556e626f756e6465644561727468506c757334506c7573393701581a556e626f756e64656445617274684d696e757337506c7573353601581a556e626f756e6465644561727468506c75733233506c7573353801581a556e626f756e6465644561727468506c75733337506c7573353701581b556e626f756e64656445617274684d696e75733130506c7573393301581b556e626f756e64656445617274684d696e75733233506c7573373201581b556e626f756e64656445617274684d696e75733234506c7573343601581b556e626f756e64656445617274684d696e757332394d696e75733601581b556e626f756e64656445617274684d696e75733734506c7573383501581b556e626f756e64656445617274684d696e75733932506c7573363501581b556e626f756e6465644561727468506c7573313033506c7573323401581b556e626f756e6465644561727468506c7573313137506c7573333801581b556e626f756e6465644561727468506c757331314d696e7573313901581b556e626f756e6465644561727468506c757332324d696e7573383801581c556e626f756e64656445617274684d696e7573313131506c7573343501581c556e626f756e64656445617274684d696e757331384d696e7573333301581c556e626f756e64656445617274684d696e757331384d696e7573383001581c556e626f756e64656445617274684d696e757332354d696e7573333301581c556e626f756e64656445617274684d696e75733731506c757331313301581c556e626f756e6465644561727468506c75733132324d696e7573313901581d556e626f756e64656445617274684d696e75733131394d696e7573393301581d556e626f756e64656445617274684d696e7573313139506c757331313601581d556e626f756e64656445617274684d696e757337314d696e757331303801581d556e626f756e64656445617274684d696e757337344d696e757331313301581e556e626f756e64656445617274684d696e75733130344d696e757331303401581e556e626f756e64656445617274684d696e75733131384d696e757331303901021a00035b19a7008182582085ce737d2a377068c921807f4ee78c393ed7f1ce95be744f3355a80c11ae4965000d8001828258390127324d9e05158c412100a9168a349050b979fca30b35803fbb702f324fa46e41a1111c816ca03188dee83445cd3b0b2fd5ab7a18367836011a13b804de825839010274bd43f0c6f0d7b812b9c30e6a340577262e39d6b56f35fc4e8882afe560337e37548b8e59e72b25ec6df7767c00e396ff4608c39b9a531a0098cf8f021a0002aca5031a031c669e05a1581de1afe560337e37548b8e59e72b25ec6df7767c00e396ff4608c39b9a531a00e6ad910e80a4008382582044963ef3c3b6eae43f8afb28964065cdd29d75d65a1a8b2ee309eb3bfeba15c801825820693a0c464d8b0c35755c3a77d0a6da2334a32c04a5b9c35ee170ff6ded14b2060182582044963ef3c3b6eae43f8afb28964065cdd29d75d65a1a8b2ee309eb3bfeba15c8020183825839013c5109303726c61a77c850195ca8d6d6a387169b24fb15d3e55bcc763d4b7417fdee1484e41c7237c3635bbfbcc924e224090b2e627bbe511a01c9c38082583901cebbc82bdfb07c9fe8452e23482878fb1cac11b0a61e9c76ed1dcf8d1cd0f5a5175404095a21931e471aaa5429c23878b6eaead699101e59821a00dc7556b839581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a01c9c380581c11ff0e0d9ad037d18e3ed575cd35a0513b8473f83008124db89f1d8fa2504861707079486f70706572303133393101504861707079486f70706572303634343001581c12efb6c78a821bfc8ab8b8dc6814aff9a695019ededa872df1b652bfa14847524f573235333001581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e1a00989680581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b000000014b230ce3581c1bf64bc834b8fb82a9896933182a444d8e3f5e9339881ac3a255c992a24a536572756d5830383530014a536572756d583038353201581c27f21547af8c9e1795c85310cb930602f46153396425a04d4bdffea3a14339303401581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e1a00989680581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a017d7840581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a000186a0581c39086ef91d452d1b6ea9c8c92a2f3243467ddf93bf7c142d370e7d64a15243617264616e6f4275647a4832533137303701581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e03581c46f96dbed1e14d3fe1ca8ed08e7db2f848b50769b51ebf6547728ba2a152576f6f64436173746c65574c53313039353201581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431896581c50dfcc6f4ce897eac827bb182e4bfe33d2f07af33ddc0859602ca1b8a14b42756c6c6973683037373901581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f5702581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a017d7840581c62afb32c355614608390ccfd007f87fb06844cec373dba4ce8272184a15818426c6f636b4f776c73476c6974636879586d61733030383601581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d4249451903e8581c7e206036ca4345a7c45d37d2dff0d7280a0854ce26d279e06f7d94f1a14f4e696674795465646479303535313501581c8655835be5469afd7b5daae723456e781be1ca0f970c13001d108fd8a14c43727970746575733338353601581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f0a581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a00439c60581c926026dc04e14a2d380cf2e4decd2f795a75f5622b5fe5e1bee4ce8ba14e4379626572486f7273653031373501581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e05581c9cc83ea54377108dd022f18095040e8d5808a3061c4fe54f3fd64a7aa25048616c6c6f7765656e41706533313635015048616c6c6f7765656e4170653431323401581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a01a9929b581ca51b52822dc9fec24c00a110d3ef509b799b06436872714ca4d4a942a14e537570657256697275733230333001581ca5bb0e5bb275a573d744a021f9b3bff73595468e002755b447e01559a256484f534b5943617368477261623030303039383034300156484f534b59436173684772616230303031343239373501581ca83bd79cb9ef16d508b841d6fb17aae60e1b1e6c4a9b72a158a8d89fa250484f534b5956455253454153323538320150484f534b59564552534544533132333201581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501ab2d05e00581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421a3b9aca00581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a1445155494403581cb108e563f733da680941310a11338cc39fdc79adf4be46f07cf19712a15061646162756c6c73636c75623136393501581cb181057c6c7d18674969c1e08508db72ff7e0dda373af209b49c50d6a15357696c6457617272696f72735353533438383801581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a02faf080581cb5240b3ae40bca2cc56b0fdfd7553724ccd18c56a98937d6b6f76265a1514164615265616c6d506c6f74313338393901581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1a49f30944581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491832581cbd1ddff147abde2b1860bf159c263e056bbd32ecbf2cf4cec5a866dea14950424532313837533101581cc281975562f394761771f13f599881517fa8455946e7e30454de22daa14e474f41545472696265303338353501581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bda14f4368696c6c65644b6f6e673437343501581cc859e9d7e71b8f90bdc1e453fd1b9adbc5e6163898fb574543cb5be8a14e5465727261666f726d303738353301581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f190348581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e01581cd26e44c3345adee43ef50a7ffccd1d19fc0cb1749a1efac60537cc62a24d43757465536869626131333235014d4375746553686962613237363601581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba144424541471864581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e7309581cdcb16550b3831a9c675b5bd827ad0ffced2dc0310b0d839c5c1dcd5ea14d4375746544756465733237303301581cde421e04b847b42b7722f0b898cb7f13dc29ab1d4d9ddecf5675ca0ca14e50616e646142616e64613232313001581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1903e8581cf7f5a12b681be1a2c02054414a726fefadd47e24b0343cd287c0283da258187a69676f7242656e6a616d696e7347726f757030313635390158187a69676f7242656e6a616d696e7347726f7570303931323601581cf8bf038a43c3bb42e1c327c347a8ca47351353cf7a00459f86c0b302a148566972757331313701581cfafd0d4fe9b65626f338020becd7bfe7515f81ca6990b8446b426066a1581d416461417065436c75624368726973746d617345646974696f6e36393001581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c19014d581cffff5571ecec795284f04ad6e6852ed2d46d924535ed68ad97fa1e70a1581a4861707079486f70706572436c7562506f7374657230363634320182583901cebbc82bdfb07c9fe8452e23482878fb1cac11b0a61e9c76ed1dcf8d1cd0f5a5175404095a21931e471aaa5429c23878b6eaead699101e591a00289605021a00047919031a031c9009a400828258205578678175bba0b0fb7732a056f2b1d3a5dbaad1f51d0e376bac4e28545ca09b0382582071af2a452357040b74b092210c50bfd2b9c494fc895bf84682ed3e4299ba095600018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001c41caa1581c9e7b9873fc65bc20ada9739b85d15057603577c1777c7325bba9ae9ca14d4c617a794c6c616d6133363835015820d0733281c5f343d8b3ac4d6bdc4b77ce37cde6cd77be5dea9f96714c8430e02c82583901e203ad26d15f996b63cef6ad225e1df64d915f2e0c39d8b7c17790aeff7008fdf487179482129ae7e84a5bedf6251e3d7346bec7f029a1431a00492029021a00032b1707582081b033f7f652d5e5b3da46bd8828007c43a63d25a0c4a40616b72603ccc5af31a30082825820b21161d2f67d707ae99a08a4a6150e2a94161c7f6f188482f4f2dd5f679991f602825820b21161d2f67d707ae99a08a4a6150e2a94161c7f6f188482f4f2dd5f679991f603018283581d71483788748bd6129043bfc87fba9c0b5bc7e49b892efdc9dd783e3285821a001cd277a1581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567da1545061766961506c75733133364d696e757331353701582048d7712c4d31e1faa9966b6b98945f965f897259211019e52109239547e7e07882583901c04c6557806e5e39dab922b8ca468ce00175f732d69e5fd9f0be1f8eb680b3d9753beefcf867dc6cb4f935c73522920351cdde316a0b7569821a024397dfac581c2a54d0a4ff765ad06a84440494b92419e769b17898415341f3b54675a15347616d696e6743617264616e6f56495038333401581c3c2cfd4f1ad33678039cfd0347cca8df363c710067d739624218abc0a151576f726c647357697468696e303733323801581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567da15250617669614d696e75733138506c7573393801581c76ebe108d0d58ba2ffe6024cf25cf5f6a890f4c61d77ee7911362b14a14b41444150756e6b3739383601581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea145504156494119208d581c8feebc6c314ce6394c50bb32a94459f71c22bfb31fefc1f1154bbbc4a25549736f6d6574726963576f726c6454776f31393430015549736f6d6574726963576f726c6454776f3231313101581c90465e141ecb7b72ed0cdbcbd848673177cd52be5af5518e95d0de1da14b33444547454e533034363701581c95c248e17f0fc35be4d2a7d186a84cdcda5b99d7ad2799ebe98a9865a24a61776f6b656e35373535014a61776f6b656e3832323401581caa4f61af3a968b979b53c5f2cbd9ebc656c172cef6a49626db24482da151507572706c65466f756e6465723137313801581cbe8e242b0419d87a15b23f037eff046796fc60c281dce89bb7966bc0a4475761796e653134014f456e6372797074696f6e4f72623233014f4578706f736564427261696e31363701545468654a6162626572776f636b7946616e67343101581ce8209a96a456202276f66224241a703676122d606d208fe464f2e09fa252576861744c69657357697468696e313935330152576861744c69657357697468696e3331313901581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa14864616e2e6d656c6501021a000325fda400818258200e7b3317b6b0514cef00f587afce78d960dde83f7d88e93ba4a761b367bc2c4a08018182583901c7f41746c8151aedf45c1d46adfafe0e20a50ae022dbcf222643f0a632dad56bb6cb83656f0f579dd3c574880eeb9e5d9a30af1890bd586f821a00160a5ba1581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441a09de0f40021a00087a25031a031c66d2a40097825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c00825820a3d8d60cb4a48d4b27615dac7024ee8989a0994a09f5083766c90b6e370fc9f80082582050f741ba9bf094e95e6be8ec40f928151185850ec3938be9077acc29568acd5100825820be84006a4085e695df769607706a2800855504684239b1cd861f6ce6bf30ecad00825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c01825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c0f825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c04825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814208825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981421818825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981420b825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c0b825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf012825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c0d825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf00f825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d1818825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c0e825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d12825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814207825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c05825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c08825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c12825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c14825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981420c019782581d61220099e5e430475c219518179efc7e6c8289db028904834025d5b0861b000000011d61a9b482581d61c232edd30746e3bce85ffecdfcccb79f79c043e5a590260b195654531a6de935008258390160b4fbc486fc0040cc9e052f07816759349e8adedc5c2f4f931ca5030bf10dafe1f9181765c0e5181b32b824c1dfd0b001b8e7c8a938a82b821a002ed3e2aa581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e01581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421a3b9aca00581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a000f4240581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a000ac645581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c19014d581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f0a581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a000186a0581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a14444494253191388581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451901f4581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a0098968082583901e6b1614a71aafa0e9eade9fbbf8d8aafd0df36193909faca6b62f2f1ea929615f8edd02a2b52576f0ce3d2e5cf374e8af633e43e3670e378821a00172698a2581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451901f4825839017602ba57f50bcfadcf0dca904b61c8f284d7c2f6b35536b6e098c37cdac1356fd6011aa60fd30c69811682799f2defc3aa79b145ca57f137821a002f5a94aa581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d4249451903e8581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461a1dcd6500581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a017d7840581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a000f4240581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1901a4581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a000862dd581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a000f4240581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c19014d581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a14444454653181982581d61f3f7e02cbaf07fec24f9353c39a5c555a348d32bff2566d084dd1e0d821a0014851ea1581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e1a1acc0a8482581d614fd2f639b20ca9c36de08ca42efd2f31f5e84a034a8de1929407e23b821a0014851ea1581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421b0026dac88c78180082581d616836aeaa1f114ce63af63bc5d876f3b86a91192472c8d0e3af8d97c2821a0014851ea1581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491b00000f76219ba6b582581d61b96ac3086bfbdc78822c5f50d74e58e62ca68f59f4c676693cc9c8e0821a0014851ea1581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1b00000041a06ba8cf82581d614c9faa9b51a9ec1d07f520ca9b310ea4a5c95006d5e24a555ae96b29821a0014851ea1581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c1a01211fdf82581d61a14463074aebe2f7d88a9f34b7e1df82a1692d77928d2fd4d4223020821a0014851ea1581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1a00935e7082581d61811b316a0c677b3034ec9cf2766ba222c9583159fb8d4676ebbe785b821a0014851ea1581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431b00000916b03243a682581d611e31596d1ad39e6b83995c7654454f40b93059c2ed9e085f2dde0987821a0014851ea1581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a144444942531a3832239082581d619e3b7c7f095d261a8c913cbdf26c4072a1908b2b884a1164b7aca2cb821a0014851ea1581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451a003a2c9482581d61a698259e8c764b3d576aa977aa9fbb15e3aea648855146fffd31d2f5821a0014851ea1581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591b00000014c259a20082581d6103a5c2fbfdaee8f80e2bf2631925a61eb57ee6a14288f4f0036b386c821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501b009f56b89cb3e20082581d619f86f8a709341f0b4f2b93635f017e0cee5afd36986444d08a0cb71f821a0014851ea1581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d4249451a333008d082581d61790c1f912045839eb2ef1ca07cb579f8e7021d8b651c829627e00e03821a0014851ea1581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b016296019df00f5382581d613f582714c8afb9a5d468067d0cdc6ec319bf00cb8ccff503e3f6451c821a0014851ea1581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681b0000df93dcf9874782581d61034e92cf3a95db6fa7fa7b2707645e1a118ada6fcced3d0c4abd359f821a0014851ea1581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1a039322b082581d615ce8bdfb98e00d0b01b1c7040e2a3faf2115c34aa2742eb2a640aee5821a0014851ea1581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591b000000cec49ebb8082581d615d9a57c64c11dbfd5b91ec1b5c2e9527371df34140cc190ebc02a568821a0014851ea1581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791a01aa8d4482581d61cb219137fa81d02325827592ede402d4a830ed8e350785dee65b50ae821a0014851ea1581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531a00884c62021a000690a9031a034390e3a400818258203e4bec634b39c7f840ee77b973ca61f432206aeb8559f7574a96d76a90c744b701018383581d7115b95fdaceeb507073a1bd198803373beeafbd82560fbf8abe9073ff821a00200b20a1581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441a3b9aca005820ccd21fda0b7d93c24093dce867c07d8dec80e542b4d07e582430998944950acf825839010a41b3a564cd26bcac64c7e61c5e0087e8b0846d5e0bcee229c962f41174bda70e3ba4e4eb64400a802cb758412af047a6890cd6ed4522301a0010dc68825839013addf48d4c39f8fafbf0ff6d8939042e2533617695542afe5ed2e4860fc752af24ad453fa1ee2c05ba9b7a303856ddb94dd793e0d26217a2821a61f75de4a1581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441a5090fac6021a0002e112075820a5073c8ac451c94b385149ae4bb51bb4a17758bccaf01d282f7310ed550a6fcba40083825820081f0159379dc540c47f6549c789c139e9b8041e74795f3a76b2e391767ef25f01825820081f0159379dc540c47f6549c789c139e9b8041e74795f3a76b2e391767ef25f028258202cafd7435ca2a119af4b8b55681e64d73069397430cac41e89090370ba9c7b3c02018382584c82d818584283581cfbb7a40762e5b504f865257812ecae4798e16dc3d43672d318f427cfa101581e581c2374b70ae27c8ccc82645f97ad4ce735d89bb40794e0d55fb4c8c052001a67f930b61a47868c00825839016f9a30ebca24df2c272a833490d5aae6c286e15a5c24a4a20cac1d4d3afbbb0236e451a87b1b1f6a0a8b57127ecf8d5be07b4eceb6dd4328821a0172f032ad581c0a30996045d57b03e01615c446baf19f02e71e105ac56ce28d50e4d0a5444355423101474355423333333701474355423732363601474355423835373101474355423930393101581c1e071a579d3d721b1749abd7cdd9274c4fbaa19f555c7141f57ddd62a24d4561726c7342616e6e65723031014f4261726f6e7342616e6e657230343001581c1fa70d2ac412b5bbf220aac84152781c0c517f7aee4667587a31e395b1494d5554414e5436383301494d5554414e5436393801494d5554414e5437303201494d5554414e5437303701494d5554414e5437313801494d5554414e5437323001494d5554414e5437323301494d5554414e5437323701494d5554414e5437333201494d5554414e5437333801494d5554414e5437353701494d5554414e5437363201494d5554414e5437363801494d5554414e5437373501494d5554414e5437383901494d5554414e5437393501494d5554414e5437393801581c2b62bb0d57c3577d624cb976f58352c38d967a30436a6acad44f23f2a6474445303937383201474445303937383401474445303937383501474445303937383601474445303937383701474445303937383801581c40fa2aa67258b4ce7b5782f74831d46a84c59a0ff0c28262fab21728a34e436c61794e6174696f6e32303536014e436c61794e6174696f6e34333936014e436c61794e6174696f6e3436333801581c49f565e692cbecf4b38a94df1dcc21635a07222efd4dafb470fa4057b8324b416e64656c733030333632014b416e64656c733030343735014b416e64656c733030343737014b416e64656c733031333430014b416e64656c733032313533014b416e64656c733032373537014b416e64656c733032373735014b416e64656c733033313937014b416e64656c733033393134014b416e64656c733035313736014b416e64656c733035373439014b416e64656c733035373935014b416e64656c733036333139014b416e64656c733038333832014b416e64656c733039313635014b416e64656c733039343534014b416e64656c733130373637014b416e64656c733131303937014b416e64656c733131303939014b416e64656c733131313430014b416e64656c733131313432014b416e64656c733131313434014b416e64656c733131313634014b416e64656c733131343134014b416e64656c733131353339014b416e64656c733131353735014b416e64656c733131363833014b416e64656c733132313636014b416e64656c733132383330014b416e64656c733133333233014b416e64656c733133363232014b416e64656c733133373038014b416e64656c733133373335014b416e64656c733134363634014b416e64656c733134383233014b416e64656c733134393833014b416e64656c733135303131014b416e64656c733136323135014b416e64656c733136353433014b416e64656c733136363634014b416e64656c733136373930014b416e64656c733136373933014b416e64656c733137383839014b416e64656c733138313737014b416e64656c733138343233014b416e64656c733139353430014b416e64656c733139353737014b416e64656c733139383037014b416e64656c733139393038014b416e64656c73313939353701581c545dc1601b5d469508698f7966a3c1c8cf207073041ad84b28d373c1b64754494745523730014854494745523331330148544947455234333201485449474552383231014854494745523930310149544947455231303438014954494745523130363501495449474552313433310149544947455232343335014954494745523239343601495449474552333033300149544947455233353539014954494745523339323001495449474552333934310149544947455234373130014954494745523533353601495449474552363238310149544947455237303135014954494745523732333601495449474552373430320149544947455237393537014954494745523833353801581c5a66b9e01c1030758023f79e108e773b20c6ed4108ca88d25d844d2da145504153533601581c70e1ad90304c7242bf8e8734b3ecedb88bce958249e15f896de172b9a55241505370656369616c436f76657230323434015241505370656369616c436f76657230333234015241505370656369616c436f76657231303035015241505370656369616c436f76657231313434015241505370656369616c436f7665723138313801581c96580bbc4fe27ac0d127db3f8a0dc698c58d303d8cae870f5771f336b826515a6f6d626965436861696e73303037333001515a6f6d626965436861696e73303039313201515a6f6d626965436861696e73303131353301515a6f6d626965436861696e73303133383101515a6f6d626965436861696e73303230363101515a6f6d626965436861696e73303233353801515a6f6d626965436861696e73303237303601515a6f6d626965436861696e73303239333401515a6f6d626965436861696e73303239333501515a6f6d626965436861696e73303332353301515a6f6d626965436861696e73303336313301515a6f6d626965436861696e73303337373601515a6f6d626965436861696e73303436323101515a6f6d626965436861696e73303439323001515a6f6d626965436861696e73303530303501515a6f6d626965436861696e73303534323301515a6f6d626965436861696e73303535303901515a6f6d626965436861696e73303535313901515a6f6d626965436861696e73303539373601515a6f6d626965436861696e73303630313501515a6f6d626965436861696e73303630323601515a6f6d626965436861696e73303633383301515a6f6d626965436861696e73303636313401515a6f6d626965436861696e73303638323401515a6f6d626965436861696e73303735303801515a6f6d626965436861696e73303735343701515a6f6d626965436861696e73303736303701515a6f6d626965436861696e73303736363201515a6f6d626965436861696e73303737303101515a6f6d626965436861696e73303737323001515a6f6d626965436861696e73303738313401515a6f6d626965436861696e73303831353301515a6f6d626965436861696e73303837363301515a6f6d626965436861696e73303838353901515a6f6d626965436861696e73303931363901515a6f6d626965436861696e73303932353001515a6f6d626965436861696e73303937373401515a6f6d626965436861696e73303938313801581cb2d25f829ebb7f4c97b5e847923a1115b23ebf78000722c229c9c9f7b818474452303437323801474452303437353601474452303437353701474452303437393401474452303438303001474452303438313201474452303438313701474452303438323501474452303438333001474452303438333201474452303438333701474452303438353001474452303438373101474452303530303801474452303530313001474452303530323101474452303531353701474452303532333101474452303532333601474452303533303301474452303737303401474452303832363101474452303833333901474452303833343101581cb7ef0cfb14f588740d02ce8a53879ff96ab03c7b21ec1c459ac2bddaa65048617368477561726469616e31353735015048617368477561726469616e33323436015048617368477561726469616e34303739015048617368477561726469616e34383834015048617368477561726469616e35303534015048617368477561726469616e3534343001581cb92f6473f18d4b78733d022fd89f3cacc1484fab6eddfd3c5d4b9494b82b474450303033393701474450303034323201474450303034333301474450303037383901474450303039313301474450303131353501474450303134343401474450303134373201474450303136383401474450303137323201474450303137343801474450303139313101474450303231313201474450303231373201474450303234383401474450303235343201474450303236353801474450303236383501474450303237313801474450303238303101474450303238363701474450303238373901474450303331373901474450303337363001474450303339393301474450303432363601474450303434363901474450303439343901474450303531323201474450303539323001474450303630363901474450303631373601474450303639373801474450303730373501474450303731373701474450303830313001474450303830353501474450303830363301474450303835303401474450303835313301474450303935313401474450303935363901474450303936373901825839016f9a30ebca24df2c272a833490d5aae6c286e15a5c24a4a20cac1d4d3afbbb0236e451a87b1b1f6a0a8b57127ecf8d5be07b4eceb6dd43281a06313cc3021a0004d1f5031a031c90c9a400828258209e067e97c467de54febc7e12b375c0510b6c04196ff0b2ecedb7bca51f164fd600825820a829f319b661d96a060e0da32626b415b3f7c4216a38662240eadfbff2025f5e01018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001cd277a1581cba7adcbe329cb7eac17efdd6ec986ed6b6127281307ae7b15701d710a15643617264616e6f4c65747465727331343630304d454e015820df866c30c4e0a42d6c94a5d6fbe915ebf1090f9dc538aada20c618cd803ea97e82583901278292a9ffd7f3a63685e4a1dd91a6985e72e4779c991ad5be79cfc0dbf7ae4edb489eb71a948043ec148256f9bb6010199bbb330d034f0c821a02be92b7a1581c5a46271a9b32a4517ced20be4ba1f184c2f91b1a5dd480ab639eee57a34d42726967687450616c33323330014d42726967687450616c37383430014d42726967687450616c3836323801021a00033b0707582000fb33b028f37152c0852306ce8ab9411bb7de7165d76c5fdfaa19ad99ccce9fff",typeof(CborMaybeIndefList))] + // public void SerializeAndDeserializePrimitives(string cborHex, Type type) + // { + // // Arrange + // byte[] cborBytes = Convert.FromHexString(cborHex); - object? cborObject = genericDeserializeMethod?.Invoke(null, [cborBytes]); - Assert.NotNull(cborObject); + // // Act + // MethodInfo? deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize)); + // Assert.NotNull(deserializeMethod); - byte[] serializedBytes = CborSerializer.Serialize((ICbor)cborObject); - string serializedHex = Convert.ToHexString(serializedBytes).ToLowerInvariant(); + // MethodInfo? genericDeserializeMethod = deserializeMethod?.MakeGenericMethod(type); + // Assert.NotNull(genericDeserializeMethod); - // Assert - Assert.Equal(cborHex.ToLowerInvariant(), serializedHex); - } + // object? cborObject = genericDeserializeMethod?.Invoke(null, [cborBytes]); + // Assert.NotNull(cborObject); + + // byte[] serializedBytes = CborSerializer.Serialize((ICbor)cborObject); + // string serializedHex = Convert.ToHexString(serializedBytes).ToLowerInvariant(); + + // // Assert + // Assert.Equal(cborHex.ToLowerInvariant(), serializedHex); + // } } \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborList.cs b/src/Chrysalis/Cardano/Models/Cbor/CborList.cs index 85b1a566..fe835649 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborList.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborList.cs @@ -2,8 +2,12 @@ namespace Chrysalis.Cardano.Models.Cbor; +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(CborDefiniteList<>), typeof(CborIndefiniteList<>)])] +public interface CborMaybeIndefList : ICbor; + [CborSerializable(CborType.List, IsDefinite = true)] -public record CborDefiniteList(T[] Value) : ICbor where T : ICbor; +public record CborDefiniteList(T[] Value) : ICbor, CborMaybeIndefList where T : ICbor; [CborSerializable(CborType.List, IsDefinite = false)] -public record CborIndefiniteList(T[] Value) : ICbor where T : ICbor; \ No newline at end of file +public record CborIndefiniteList(T[] Value) : ICbor, CborMaybeIndefList where T : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs b/src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs new file mode 100644 index 00000000..8a076722 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs @@ -0,0 +1,6 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core; + +[CborSerializable(CborType.Nullable)] +public record CborNullable(T Value) : ICbor where T : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs b/src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs new file mode 100644 index 00000000..9ae69606 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs @@ -0,0 +1,6 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Cbor; + +[CborSerializable(CborType.RationalNumber)] +public record CborRationalNumber(ulong Numerator, ulong Denominator) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborText.cs b/src/Chrysalis/Cardano/Models/Cbor/CborText.cs new file mode 100644 index 00000000..73f0d409 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Cbor/CborText.cs @@ -0,0 +1,6 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Cbor; + +[CborSerializable(CborType.Text)] +public record CborText(string Value) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs b/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs index aa07325d..d2f42569 100644 --- a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs +++ b/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs @@ -1,7 +1,7 @@ using Chrysalis.Cbor; using Chrysalis.Cardano.Models.Sundae; using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Models.Core.Transaction; using Chrysalis.Cardano.Models.Mpf; namespace Chrysalis.Cardano.Models.Coinecta.Vesting; diff --git a/src/Chrysalis/Cardano/Models/Core/Anchor.cs b/src/Chrysalis/Cardano/Models/Core/Anchor.cs new file mode 100644 index 00000000..411a4620 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Anchor.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core; + +[CborSerializable(CborType.List)] +public record Anchor( + [CborProperty(0)] CborText AnchorUrl, + [CborProperty(1)] CborBytes AnchorDataHash +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Block/AuxiliaryDataSet.cs b/src/Chrysalis/Cardano/Models/Core/Block/AuxiliaryDataSet.cs new file mode 100644 index 00000000..495db128 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Block/AuxiliaryDataSet.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Transaction; + +public record AuxiliaryDataSet(Dictionary Value) + : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Block/Block.cs b/src/Chrysalis/Cardano/Models/Core/Block/Block.cs new file mode 100644 index 00000000..9625fb2e --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Block/Block.cs @@ -0,0 +1,20 @@ +using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core.Transaction; + +namespace Chrysalis.Cardano.Models.Core.Block; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(AlonzoBlock), +])] +public record Block : ICbor; + +[CborSerializable(CborType.List)] +public record AlonzoBlock( + [CborProperty(0)] BlockHeader Header, + [CborProperty(1)] CborMaybeIndefList TransactionBodies, + [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, + [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet, + [CborProperty(4)] CborMaybeIndefList InvalidTransactions +) : Block; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Block/Header.cs b/src/Chrysalis/Cardano/Models/Core/Block/Header.cs new file mode 100644 index 00000000..def8153c --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Block/Header.cs @@ -0,0 +1,16 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Block; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(AlonzoBlockHeader), +])] +public record BlockHeader : ICbor; + +[CborSerializable(CborType.List)] +public record AlonzoBlockHeader( + [CborProperty(0)] BlockHeaderBody HeaderBody, + [CborProperty(1)] CborBytes BodySignature +) : BlockHeader; diff --git a/src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs b/src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs new file mode 100644 index 00000000..97f2647c --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs @@ -0,0 +1,44 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Block; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(BabbageHeaderBody), + typeof(AlonzoHeaderBody), +])] +public record BlockHeaderBody : ICbor; + +[CborSerializable(CborType.List)] +public record BabbageHeaderBody( + [CborProperty(0)] CborUlong BlockNumber, + [CborProperty(1)] CborUlong Slot, + [CborProperty(2)] CborNullable PrevHash, + [CborProperty(3)] CborBytes IssuerVKey, + [CborProperty(4)] CborBytes VrfVKey, + [CborProperty(5)] VrfCert VrfResult, + [CborProperty(6)] CborUlong BlockBodySize, + [CborProperty(7)] CborBytes BlockBodyHash, + [CborProperty(8)] OperationalCert OperationalCert, + [CborProperty(9)] ProtocolVersion ProtocolVersion +) : BlockHeaderBody; + +[CborSerializable(CborType.List)] +public record AlonzoHeaderBody( + [CborProperty(0)] CborUlong BlockNumber, + [CborProperty(1)] CborUlong Slot, + [CborProperty(2)] CborNullable PrevHash, + [CborProperty(3)] CborBytes IssuerVKey, + [CborProperty(4)] CborBytes VrfVKey, + [CborProperty(5)] VrfCert NonceVrf, + [CborProperty(6)] VrfCert LeaderVrf, + [CborProperty(7)] CborUlong BlockBodySize, + [CborProperty(8)] CborBytes BlockBodyHash, + [CborProperty(9)] CborBytes HotVKey, + [CborProperty(10)] CborUlong SequenceNumber, + [CborProperty(11)] CborUlong KesPeriod, + [CborProperty(12)] CborBytes Sigma, + [CborProperty(13)] CborUlong ProtocolMajor, + [CborProperty(14)] CborUlong ProtocolMinor +) : BlockHeaderBody; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs b/src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs new file mode 100644 index 00000000..6ff708b8 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Block; + +[CborSerializable(CborType.List)] +public record OperationalCert( + [CborProperty(0)] CborBytes HotVKey, + [CborProperty(1)] CborUlong SequenceNumber, + [CborProperty(2)] CborUlong KesPeriod, + [CborProperty(3)] CborBytes Sigma +) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs b/src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs new file mode 100644 index 00000000..93eb41f4 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Block; + +[CborSerializable(CborType.List)] +public record ProtocolVersion( + [CborProperty(0)] CborInt MajorProtocolVersion, + [CborProperty(1)] CborUlong SequenceNumber +) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs b/src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs new file mode 100644 index 00000000..1f334e04 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Block; + +[CborSerializable(CborType.List)] +public record VrfCert( + [CborProperty(0)] CborBytes Proof, + [CborProperty(1)] CborBytes Output +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs b/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs new file mode 100644 index 00000000..499c9bc7 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs @@ -0,0 +1,172 @@ +using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core.Governance; +using Chrysalis.Cardano.Models.Plutus; + +namespace Chrysalis.Cardano.Models.Core.Certificates; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(StakeRegistration), + typeof(StakeDeregistration), + typeof(StakeDelegation), + typeof(PoolRegistration), + typeof(PoolRetirement), + typeof(RegCert), + typeof(UnRegCert), + typeof(VoteDelegCert), + typeof(StakeVoteDelegCert), + typeof(StakeRegDelegCert), + typeof(VoteRegDelegCert), + typeof(StakeVoteRegDelegCert), + typeof(AuthCommitteeHotCert), + typeof(ResignCommitteeColdCert), + typeof(RegDrepCert), + typeof(UnRegDrepCert), + typeof(UpdateDrepCert) +])] +public record Certificate : ICbor; + +[CborSerializable(CborType.List)] +public record StakeRegistration( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential +) : Certificate; + +[CborSerializable(CborType.List)] +public record StakeDeregistration( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential +) : Certificate; + +[CborSerializable(CborType.List)] +public record StakeDelegation( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborBytes PoolKeyHash +) : Certificate; + +[CborSerializable(CborType.List)] +public record PoolRegistration( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes Operator, + [CborProperty(2)] CborBytes VrfKeyHash, + [CborProperty(3)] CborUlong Pledge, + [CborProperty(4)] CborUlong Cost, + [CborProperty(5)] CborRationalNumber Margin, + [CborProperty(6)] RewardAccount RewardAccount, + [CborProperty(7)] CborDefiniteList PoolOwners, + [CborProperty(8)] CborDefiniteList Relay, + [CborProperty(9)] CborNullable PoolMetadata +) : Certificate; + +[CborSerializable(CborType.List)] +public record PoolRetirement( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes PoolKeyHash, + [CborProperty(2)] CborUlong EpochNo +) : Certificate; + +[CborSerializable(CborType.List)] +public record RegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborUlong Coin +) : Certificate; + +[CborSerializable(CborType.List)] +public record UnRegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborUlong Coin +) : Certificate; + +[CborSerializable(CborType.List)] +public record VoteDelegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] DRep DRep +) : Certificate; + +[CborSerializable(CborType.List)] +public record StakeVoteDelegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborBytes PoolKeyHash, + [CborProperty(3)] DRep DRep +) : Certificate; + +[CborSerializable(CborType.List)] +public record StakeRegDelegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborBytes PoolKeyHash, + [CborProperty(3)] CborUlong Coin +) : Certificate; + +[CborSerializable(CborType.List)] +public record VoteRegDelegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] DRep DRep, + [CborProperty(3)] CborUlong Coin +) : Certificate; + +[CborSerializable(CborType.List)] +public record StakeVoteRegDelegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborBytes PoolKeyHash, + [CborProperty(3)] DRep Drep, + [CborProperty(4)] CborUlong Coin +) : Certificate; + +[CborSerializable(CborType.List)] +public record AuthCommitteeHotCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential CommitteeColdCredential, + [CborProperty(2)] Credential CommitteeHotCredential +) : Certificate; + +[CborSerializable(CborType.List)] +public record ResignCommitteeColdCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes CommitteeColdCredential, + [CborProperty(2)] Anchor? Anchor +) : Certificate; + +[CborSerializable(CborType.List)] +public record RegDrepCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential DRepCredential, + [CborProperty(2)] CborUlong Coin, + [CborProperty(3)] CborNullable Anchor +) : Certificate; + +[CborSerializable(CborType.List)] +public record UnRegDrepCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential DrepCredential, + [CborProperty(2)] CborUlong Coin +) : Certificate; + +[CborSerializable(CborType.List)] +public record UpdateDrepCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential DrepCredential, + [CborProperty(2)] CborNullable Anchor +) : Certificate; + +[CborSerializable(CborType.List)] +public record GenesisKeyDelegation( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes GenesisHash, + [CborProperty(2)] CborBytes GenesisDelegateHash, + [CborProperty(3)] CborBytes VrfKeyHash +) : Certificate; + +[CborSerializable(CborType.List)] +public record MoveInstantaneousRewardsCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] MoveInstantaneousReward MoveInstantaneousReward +) : Certificate; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs b/src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs new file mode 100644 index 00000000..a8fc733f --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs @@ -0,0 +1,23 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Certificates; + +[CborSerializable(CborType.List)] +public record MoveInstantaneousReward( + [CborProperty(0)] CborInt InstantaneousRewardSource, + [CborProperty(1)] Target InstantaneousRewardTarget +) : ICbor; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(StakeCredentials), + typeof(OtherAccountingPot), +])] +public interface Target : ICbor; + +public record StakeCredentials(Dictionary Value) + : CborMap(Value), Target; + +public record OtherAccountingPot(ulong Value) + : CborUlong(Value), Target; diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs b/src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs new file mode 100644 index 00000000..efa6bcf7 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Certificates; + +[CborSerializable(CborType.List)] +public record PoolMetadata( + [CborProperty(0)] CborText Url, + [CborProperty(1)] CborBytes PoolMetadataHash +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs b/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs new file mode 100644 index 00000000..34d0ba56 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs @@ -0,0 +1,33 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Certificates; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(SingleHostAddr), + typeof(SingleHostName), + typeof(MultiHostName), +])] +public record Relay : ICbor; + +[CborSerializable(CborType.List)] +public record SingleHostAddr( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborUlong? Port, + [CborProperty(2)] CborBytes? IPv4, + [CborProperty(3)] CborBytes? IPv6 +) : Relay; + +[CborSerializable(CborType.List)] +public record SingleHostName( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborUlong? Port, + [CborProperty(2)] CborText DNSName +) : Relay; + +public record MultiHostName( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborText DNSName +) : Relay; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Credential.cs b/src/Chrysalis/Cardano/Models/Core/Credential.cs new file mode 100644 index 00000000..26f52a1b --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Credential.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Cbor; + +namespace Chrysalis.Cardano.Models.Core; + +[CborSerializable(CborType.List)] +public record Credential( + [CborProperty(0)] CborInt CredentialType, + [CborProperty(1)] CborBytes Hash +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs b/src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs new file mode 100644 index 00000000..fb0bddcb --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Governance; + +[CborSerializable(CborType.List)] +public record Constitution( + [CborProperty(0)] Anchor Anchor, + [CborProperty(1)] CborNullable ScriptHash +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs b/src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs new file mode 100644 index 00000000..abf9ecc6 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs @@ -0,0 +1,31 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Governance; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(DRepAddrKeyHash), + typeof(DRepScriptHash), + typeof(Abstain), + typeof(DRepNoConfidence), +])] +public record DRep : ICbor; + +[CborSerializable(CborType.List)] +public record DRepAddrKeyHash( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes AddrKeyHash +) : DRep; + +[CborSerializable(CborType.List)] +public record DRepScriptHash( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes ScriptHash +) : DRep; + +[CborSerializable(CborType.List)] +public record Abstain(CborInt Tag) : DRep; + +[CborSerializable(CborType.List)] +public record DRepNoConfidence(CborInt Tag) : DRep; diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs b/src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs new file mode 100644 index 00000000..0ba4c133 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs @@ -0,0 +1,18 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Governance; + +[CborSerializable(CborType.List)] +public record DRepVotingThresholds( + [CborProperty(0)] CborRationalNumber MotionNoConfidence, + [CborProperty(1)] CborRationalNumber CommitteeNormal, + [CborProperty(2)] CborRationalNumber CommitteeNoConfidence, + [CborProperty(4)] CborRationalNumber UpdateConstitution, + [CborProperty(5)] CborRationalNumber HardForkInitiation, + [CborProperty(6)] CborRationalNumber PpNetworkGroup, + [CborProperty(7)] CborRationalNumber PpEconomicGroup, + [CborProperty(8)] CborRationalNumber PpTechnicalGroup, + [CborProperty(9)] CborRationalNumber PpGovernanceGroup, + [CborProperty(10)] CborRationalNumber TreasuryWithdrawal +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs b/src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs new file mode 100644 index 00000000..742d8410 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs @@ -0,0 +1,66 @@ +using Chrysalis.Cardano.Models.Core.Block; +using Chrysalis.Cardano.Models.Core.Protocol; +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Core.Transaction; + +namespace Chrysalis.Cardano.Models.Core.Governance; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(ParameterChangeAction), + typeof(HardForkInitiationAction), + typeof(TreasuryWithdrawalsAction), + typeof(NoConfidence), + typeof(UpdateCommittee), + typeof(NewConstitution), + typeof(InfoAction), +])] +public record GovAction : ICbor; + +[CborSerializable(CborType.List)] +public record ParameterChangeAction( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] CborNullable GovActionId, + [CborProperty(2)] ProtocolParamUpdate ProtocolParamUpdate, + [CborProperty(3)] CborNullable PolicyHash +) : GovAction; + +[CborSerializable(CborType.List)] +public record HardForkInitiationAction( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] CborNullable GovActionId, + [CborProperty(2)] ProtocolVersion ProtocolVersion +) : GovAction; + +[CborSerializable(CborType.List)] +public record TreasuryWithdrawalsAction( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] Withdrawals Withdrawals, + [CborProperty(2)] CborNullable PolicyHash +) : GovAction; + +[CborSerializable(CborType.List)] +public record NoConfidence( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] CborNullable GovActionId +) : GovAction; + +[CborSerializable(CborType.List)] +public record UpdateCommittee( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] CborNullable GovActionId, + [CborProperty(2)] CborDefiniteList NewMembers, + [CborProperty(3)] MemberTermLimits MemberTermLimits, + [CborProperty(4)] CborRationalNumber QuorumThreshold +) : GovAction; + +[CborSerializable(CborType.List)] +public record NewConstitution( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] CborNullable GovActionId, + [CborProperty(2)] Constitution Constitution +) : GovAction; + +[CborSerializable(CborType.List)] +public record InfoAction(CborInt Value) : GovAction; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs b/src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs new file mode 100644 index 00000000..778e3de5 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Governance; + +[CborSerializable(CborType.List)] +public record GovActionId( + [CborProperty(0)] CborBytes TransactionId, + [CborProperty(1)] CborInt GovActionIndex +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/MemberTermLimits.cs b/src/Chrysalis/Cardano/Models/Core/Governance/MemberTermLimits.cs new file mode 100644 index 00000000..40e21691 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Governance/MemberTermLimits.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Governance; + +public record MemberTermLimits(Dictionary Value) + : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs b/src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs new file mode 100644 index 00000000..ac89ea91 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Governance; + +[CborSerializable(CborType.List)] +public record ProposalProcedure( + [CborProperty(0)] CborUlong Deposit, + [CborProperty(1)] RewardAccount RewardAccount, + [CborProperty(2)] GovAction GovAction, + [CborProperty(3)] Anchor Anchor +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs b/src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs new file mode 100644 index 00000000..06f8be93 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Governance; + +[CborSerializable(CborType.List)] +public record Voter( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes Hash +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs b/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs new file mode 100644 index 00000000..acd6cb8d --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Governance; + +[CborSerializable(CborType.List)] +public record VotingProcedure( + [CborProperty(0)] CborInt Vote, + [CborProperty(1)] CborNullable Anchor +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs b/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs new file mode 100644 index 00000000..3902966c --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Governance; + +public record VotingProcedures(Dictionary Value) + : CborMap(Value), ICbor; + +public record VoterChoices(Dictionary Value) + : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs new file mode 100644 index 00000000..edd589d2 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Protocol; + +[CborSerializable(CborType.Map)] +public record CostMdls( + [CborProperty(0)] CborDefiniteList? PlutusV1, + [CborProperty(1)] CborDefiniteList? PlutusV2, + [CborProperty(2)] CborDefiniteList? PlutusV3 +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs new file mode 100644 index 00000000..0dc25d9c --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Protocol; + +[CborSerializable(CborType.List)] +public record ExUnitPrices( + [CborProperty(0)] CborRationalNumber MemPrice, + [CborProperty(1)] CborRationalNumber StepPrice +) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs new file mode 100644 index 00000000..399d1b92 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Protocol; + +[CborSerializable(CborType.List)] +public record ExUnits( + [CborProperty(0)] CborUlong Mem, + [CborProperty(1)] CborUlong Steps +) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs new file mode 100644 index 00000000..05f78891 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs @@ -0,0 +1,13 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Protocol; + +[CborSerializable(CborType.List)] +public record PoolVotingThresholds( + [CborProperty(0)] CborRationalNumber MotionNoConfidence, + [CborProperty(1)] CborRationalNumber CommitteeNormal, + [CborProperty(2)] CborRationalNumber CommitteeNoConfidence, + [CborProperty(3)] CborRationalNumber HardForkInitiation, + [CborProperty(4)] CborRationalNumber SecurityVotingThreshold +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs new file mode 100644 index 00000000..e4411057 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs @@ -0,0 +1,40 @@ +using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core.Governance; +using Chrysalis.Cardano.Models.Plutus; + +namespace Chrysalis.Cardano.Models.Core.Protocol; + +[CborSerializable(CborType.Map)] +public record ProtocolParamUpdate( + [CborProperty(0)] CborUlong? MinFeeA, + [CborProperty(1)] CborUlong? MinFeeB, + [CborProperty(2)] CborUlong? MaxBlockBodySize, + [CborProperty(3)] CborUlong? MaxTransactionSize, + [CborProperty(4)] CborUlong? MaxBlockHeaderSize, + [CborProperty(5)] CborUlong? KeyDeposit, + [CborProperty(6)] CborUlong? PoolDeposit, + [CborProperty(7)] CborUlong? MaximumEpoch, + [CborProperty(8)] CborUlong? DesiredNumberOfStakePools, + [CborProperty(9)] CborRationalNumber? PoolPledgeInfluence, + [CborProperty(10)] CborRationalNumber? ExpansionRate, + [CborProperty(11)] CborRationalNumber? TreasuryGrowthRate, + [CborProperty(16)] CborUlong? MinPoolCost, + [CborProperty(17)] CborUlong? AdaPerUTxOByte, + [CborProperty(18)] CostMdls? CostModelsForScriptLanguage, + [CborProperty(19)] ExUnitPrices? ExecutionCosts, + [CborProperty(20)] ExUnits? MaxTxExUnits, + [CborProperty(21)] ExUnits? MaxBlockExUnits, + [CborProperty(22)] CborUlong? MaxValueSize, + [CborProperty(23)] CborUlong? CollateralPercentage, + [CborProperty(24)] CborUlong? MaxCollateralInputs, + [CborProperty(25)] PoolVotingThresholds? PoolVotingThresholds, + [CborProperty(26)] DRepVotingThresholds? DRepVotingThresholds, + [CborProperty(27)] CborUlong? MinCommitteeSize, + [CborProperty(28)] CborUlong? CommitteeTermLimit, + [CborProperty(29)] CborUlong? GovernanceActionValidityPeriod, + [CborProperty(30)] CborUlong? GovernanceActionDeposit, + [CborProperty(31)] CborUlong? DRepDeposit, + [CborProperty(32)] CborUlong? DRepInactivityPeriod, + [CborProperty(33)] CborRationalNumber? MinFeeRefScriptCostPerByte +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/RewardAccount.cs b/src/Chrysalis/Cardano/Models/Core/RewardAccount.cs new file mode 100644 index 00000000..136c5b8d --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/RewardAccount.cs @@ -0,0 +1,5 @@ +using Chrysalis.Cardano.Models.Cbor; + +namespace Chrysalis.Cardano.Models.Core; + +public record RewardAccount(byte[] Value) : CborBytes(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs b/src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs new file mode 100644 index 00000000..6b76f88b --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs @@ -0,0 +1,52 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Script; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(ScriptPubKey), + typeof(ScriptAll), + typeof(ScriptAny), + typeof(ScriptNOfK), + typeof(InvalidBefore), + typeof(InvalidHereafter) +])] +public record NativeScript : ICbor; + +[CborSerializable(CborType.List)] +public record ScriptPubKey( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes AddrKeyHash +) : NativeScript; + +[CborSerializable(CborType.List)] +public record ScriptAll( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborDefiniteList Scripts +) : NativeScript; + +[CborSerializable(CborType.List)] +public record ScriptAny( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborDefiniteList Scripts +) : NativeScript; + +[CborSerializable(CborType.List)] +public record ScriptNOfK( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborInt N, + [CborProperty(2)] CborDefiniteList Scripts +) : NativeScript; + +[CborSerializable(CborType.List)] +public record InvalidBefore( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborUlong Slot +) : NativeScript; + +[CborSerializable(CborType.List)] +public record InvalidHereafter( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborUlong Slot +) : NativeScript; diff --git a/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs b/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs new file mode 100644 index 00000000..6d95cb1a --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs @@ -0,0 +1,39 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Script; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(PlutusConstr), + typeof(PlutusMap), + typeof(PlutusList), + typeof(PlutusBigInt), + typeof(PlutusBytes) +])] +public interface PlutusData: ICbor; + +[CborSerializable(CborType.Constr)] +public record PlutusConstr(int Index, PlutusData[] Value): PlutusData; + +public record PlutusMap(Dictionary Value) + : CborMap(Value), PlutusData; + +public record PlutusBigInt(ulong Value) + : CborUlong(Value), PlutusData; + +public record PlutusBytes(byte[] Value) + : CborBytes(Value), PlutusData; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(PlutusIndefiniteList), + typeof(PlutusDefiniteList), +])] +public interface PlutusList: PlutusData; + +public record PlutusIndefiniteList(PlutusData[] Value) + : CborIndefiniteList(Value), PlutusList; + +public record PlutusDefiniteList(PlutusData[] Value) + : CborIndefiniteList(Value), PlutusList; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs b/src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs new file mode 100644 index 00000000..8ec16427 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs @@ -0,0 +1,11 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Script; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([typeof(PlutusSome<>), typeof(PlutusNone<>)])] +public record PlutusOption : ICbor; + +public record PlutusSome([CborProperty(0)] T Value) : PlutusOption; + +public record PlutusNone : PlutusOption; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs new file mode 100644 index 00000000..f1dcb937 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs @@ -0,0 +1,32 @@ +using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core.Script; +using Chrysalis.Cardano.Models.Plutus; + +namespace Chrysalis.Cardano.Models.Core.Transaction; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(Metadata), + typeof(ShellyMaAuxiliaryData), + typeof(PostAlonzoAuxiliaryData), +])] +public interface AuxiliaryData : ICbor; + +public record Metadata(Dictionary Value) + : CborMap(Value), AuxiliaryData; + +[CborSerializable(CborType.List)] +public record ShellyMaAuxiliaryData( + [CborProperty(0)] Metadata TransactionMetadata, + [CborProperty(1)] CborDefiniteList AuxiliaryScripts +): AuxiliaryData; + +[CborSerializable(CborType.Map)] +public record PostAlonzoAuxiliaryData( + [CborProperty(0)] Metadata? Metadata, + [CborProperty(1)] CborDefiniteList? NativeScriptSet, + [CborProperty(2)] CborDefiniteList? PlutusV1ScriptSet, + [CborProperty(3)] CborDefiniteList? PlutusV2ScriptSet, + [CborProperty(4)] CborDefiniteList? PlutusV3ScriptSet +): AuxiliaryData; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs new file mode 100644 index 00000000..24186139 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Transaction; + +[CborSerializable(CborType.List)] +public record BootstrapWitness( + [CborProperty(0)] CborBytes PublicKey, + [CborProperty(1)] CborBytes Signature, + [CborProperty(2)] CborBytes ChainCode, + [CborProperty(3)] CborBytes Attributes +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/DatumOption.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/DatumOption.cs similarity index 90% rename from src/Chrysalis/Cardano/Models/Core/DatumOption.cs rename to src/Chrysalis/Cardano/Models/Core/Transaction/DatumOption.cs index ca1ccaad..133604be 100644 --- a/src/Chrysalis/Cardano/Models/Core/DatumOption.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/DatumOption.cs @@ -1,7 +1,7 @@ using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core; +namespace Chrysalis.Cardano.Models.Core.Transaction; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(DatumHashOption), typeof(InlineDatumOption)])] diff --git a/src/Chrysalis/Cardano/Models/Core/MultiAsset.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/MultiAsset.cs similarity index 73% rename from src/Chrysalis/Cardano/Models/Core/MultiAsset.cs rename to src/Chrysalis/Cardano/Models/Core/Transaction/MultiAsset.cs index 5054e617..d797d9aa 100644 --- a/src/Chrysalis/Cardano/Models/Core/MultiAsset.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/MultiAsset.cs @@ -1,5 +1,5 @@ using Chrysalis.Cardano.Models.Cbor; -namespace Chrysalis.Cardano.Models.Core; +namespace Chrysalis.Cardano.Models.Core.Transaction; public record MultiAsset(Dictionary Value) : CborMap(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs new file mode 100644 index 00000000..3b580b53 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs @@ -0,0 +1,44 @@ +using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core.Protocol; +using Chrysalis.Cardano.Models.Core.Script; + +namespace Chrysalis.Cardano.Models.Core.Transaction; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(RedeemerList), + typeof(RedeemerMap) +])] +public interface Redeemers : ICbor; + +// [CborSerializable(CborType.List)] +// public record RedeemerList( +// RedeemerEntry Entries +// ) : Redeemers; + +public record RedeemerList(RedeemerEntry[] Value) + : CborDefiniteList(Value), Redeemers; + +public record RedeemerMap(Dictionary Value) + : CborMap(Value), Redeemers; + +[CborSerializable(CborType.List)] +public record RedeemerEntry( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborUlong Index, + [CborProperty(2)] PlutusData Data, + [CborProperty(3)] ExUnits ExUnits +) : ICbor; + +[CborSerializable(CborType.List)] +public record RedeemerKey( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborUlong Index +) : ICbor; + +[CborSerializable(CborType.List)] +public record RedeemerValue( + [CborProperty(0)] PlutusData Data, + [CborProperty(1)] ExUnits ExUnits +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/TokenBundle.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TokenBundle.cs similarity index 69% rename from src/Chrysalis/Cardano/Models/Core/TokenBundle.cs rename to src/Chrysalis/Cardano/Models/Core/Transaction/TokenBundle.cs index 10bee798..cfb9f2cd 100644 --- a/src/Chrysalis/Cardano/Models/Core/TokenBundle.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TokenBundle.cs @@ -1,6 +1,5 @@ using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core; +namespace Chrysalis.Cardano.Models.Core.Transaction; public record TokenBundle(Dictionary Value) : CborMap(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs new file mode 100644 index 00000000..1e2ed11c --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs @@ -0,0 +1,30 @@ +using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core.Governance; +using Chrysalis.Cardano.Models.Core.Certificates; + +namespace Chrysalis.Cardano.Models.Core.Transaction; + +[CborSerializable(CborType.Map)] +public record TransactionBody( + [CborProperty(0)] CborDefiniteList Inputs, + [CborProperty(1)] CborDefiniteList Outputs, + [CborProperty(2)] CborUlong Fee, + [CborProperty(3)] CborUlong? TimeToLive, + [CborProperty(4)] CborDefiniteList? Certificates, + [CborProperty(5)] Withdrawals? Withdrawals, + [CborProperty(7)] CborBytes? AuxiliaryDataHash, + [CborProperty(8)] CborUlong? ValidityIntervalStart, + [CborProperty(9)] MultiAsset? Mint, + [CborProperty(11)] CborBytes? ScriptDataHash, + [CborProperty(13)] CborDefiniteList? Collateral, + [CborProperty(14)] CborDefiniteList? RequiredSigners, + [CborProperty(15)] CborInt? NetworkId, + [CborProperty(16)] TransactionOutput? CollateralReturn, + [CborProperty(17)] CborUlong? TotalCollateral, + [CborProperty(18)] CborDefiniteList? ReferenceInputs, + [CborProperty(19)] VotingProcedures? VotingProcedures, + [CborProperty(20)] CborDefiniteList? ProposalProcedures, + [CborProperty(21)] CborUlong? TreasuryValue, + [CborProperty(22)] CborUlong? Donation +) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/Core/TransactionInput.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionInput.cs similarity index 80% rename from src/Chrysalis/Cardano/Models/Core/TransactionInput.cs rename to src/Chrysalis/Cardano/Models/Core/Transaction/TransactionInput.cs index 0c257aed..fcce3f37 100644 --- a/src/Chrysalis/Cardano/Models/Core/TransactionInput.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionInput.cs @@ -1,7 +1,7 @@ using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core; +namespace Chrysalis.Cardano.Models.Core.Transaction; [CborSerializable(CborType.List)] public record TransactionInput( diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs new file mode 100644 index 00000000..5a116041 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs @@ -0,0 +1,29 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Transaction; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(MetadatumMap), + typeof(MetadatumList), + typeof(MetadatumInt), + typeof(MetadatumBytes), + typeof(MetadataText) +])] +public interface TransactionMetadatum : ICbor; + +public record MetadatumMap(Dictionary Value) + : CborMap(Value), TransactionMetadatum; + +public record MetadatumList(TransactionMetadatum[] Value) + : CborDefiniteList(Value), TransactionMetadatum; + +public record MetadatumInt(ulong Value) + : CborUlong(Value), TransactionMetadatum; + +public record MetadatumBytes(byte[] Value) + : CborBytes(Value), TransactionMetadatum; + +public record MetadataText(string Value) + : CborText(Value), TransactionMetadatum; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs similarity index 92% rename from src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs rename to src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs index c53d961c..94977dc1 100644 --- a/src/Chrysalis/Cardano/Models/Core/TransactionOutput.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs @@ -1,7 +1,8 @@ using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Plutus; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core; +namespace Chrysalis.Cardano.Models.Core.Transaction; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs new file mode 100644 index 00000000..e2bbf339 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs @@ -0,0 +1,18 @@ +using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core.Script; +using Chrysalis.Cardano.Models.Plutus; + +namespace Chrysalis.Cardano.Models.Core.Transaction; + +[CborSerializable(CborType.Map)] +public record TransactionWitnessSet( + [CborProperty(0)] CborDefiniteList? VKeyWitnessSet, + [CborProperty(1)] CborDefiniteList? NativeScriptSet, + [CborProperty(2)] CborDefiniteList? BootstrapWitnessSet, + [CborProperty(3)] CborDefiniteList? PlutusV1ScriptSet, + [CborProperty(4)] CborIndefiniteList? PlutusDataSet, + [CborProperty(5)] Redeemers? Redeemers, + [CborProperty(6)] CborDefiniteList? PlutusV2ScriptSet, + [CborProperty(7)] CborDefiniteList? PlutusV3ScriptSet +) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs new file mode 100644 index 00000000..96928902 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Transaction; + +[CborSerializable(CborType.List)] +public record VKeyWitness( + CborBytes VKey, + CborBytes Signature +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/Withdrawals.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/Withdrawals.cs new file mode 100644 index 00000000..af6a775d --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/Withdrawals.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Transaction; + +public record Withdrawals(Dictionary Value) + : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/TransactionBody.cs b/src/Chrysalis/Cardano/Models/Core/TransactionBody.cs deleted file mode 100644 index 287c80da..00000000 --- a/src/Chrysalis/Cardano/Models/Core/TransactionBody.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models.Core; - -[CborSerializable(CborType.Map)] -public record TransactionBody( - [CborProperty("inputs")] CborIndefiniteList Inputs, - [CborProperty("outputs")] CborIndefiniteList Outputs -); diff --git a/src/Chrysalis/Cardano/Models/Core/Value.cs b/src/Chrysalis/Cardano/Models/Core/Value.cs index 6d528441..58fa8c24 100644 --- a/src/Chrysalis/Cardano/Models/Core/Value.cs +++ b/src/Chrysalis/Cardano/Models/Core/Value.cs @@ -1,5 +1,5 @@ -using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cbor; +using Chrysalis.Cardano.Models.Core.Transaction; namespace Chrysalis.Cardano.Models.Core; diff --git a/src/Chrysalis/Cardano/Models/Plutus/None.cs b/src/Chrysalis/Cardano/Models/Plutus/None.cs deleted file mode 100644 index dd68c74d..00000000 --- a/src/Chrysalis/Cardano/Models/Plutus/None.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models.Plutus; - -[CborSerializable(CborType.Constr, Index = 1)] -public record None : Option; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Plutus/Option.cs b/src/Chrysalis/Cardano/Models/Plutus/Option.cs index 287fd566..5ba2f456 100644 --- a/src/Chrysalis/Cardano/Models/Plutus/Option.cs +++ b/src/Chrysalis/Cardano/Models/Plutus/Option.cs @@ -4,4 +4,10 @@ namespace Chrysalis.Cardano.Models.Plutus; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Some<>), typeof(None<>)])] -public record Option : ICbor; \ No newline at end of file +public record Option : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Some([CborProperty(0)] T Value) : Option; + +[CborSerializable(CborType.Constr, Index = 1)] +public record None : Option; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Plutus/Some.cs b/src/Chrysalis/Cardano/Models/Plutus/Some.cs deleted file mode 100644 index d99f67bf..00000000 --- a/src/Chrysalis/Cardano/Models/Plutus/Some.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models.Plutus; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Some([CborProperty(0)] T Value) : Option; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborSerializableAttribute.cs b/src/Chrysalis/Cbor/CborSerializableAttribute.cs index 4913aad0..c6e395d7 100644 --- a/src/Chrysalis/Cbor/CborSerializableAttribute.cs +++ b/src/Chrysalis/Cbor/CborSerializableAttribute.cs @@ -1,12 +1,12 @@ -using Chrysalis.Cbor; - namespace Chrysalis.Cbor; -[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)] + +[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface)] public class CborSerializableAttribute(CborType type) : Attribute { public CborType Type { get; } = type; public int Index { get; set; } = -1; public bool IsDefinite { get; set; } = true; + public bool IsCustom { get; set; } = false; public CborSerializableAttribute(CborType type, int index) : this(type) { diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index efd33578..3e6ea11b 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -1,7 +1,9 @@ using System.Formats.Cbor; using System.Reflection; +using System.Collections; using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Models.Core.Script; using Chrysalis.Utils; namespace Chrysalis.Cbor; @@ -49,6 +51,15 @@ private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) case CborType.EncodedValue: SerializeEncodedValue(writer, cbor, objType); break; + case CborType.RationalNumber: + SerializeRationalNumber(writer, cbor, objType); + break; + case CborType.Text: + SerializeText(writer, cbor, objType); + break; + case CborType.Nullable: + SerializeNullable(writer, cbor, objType); + break; default: throw new NotSupportedException($"CBOR type {cborType} is not supported in this context."); } @@ -81,7 +92,7 @@ private static void SerializeList(CborWriter writer, ICbor cbor, Type objType) private static void SerializeGenericList(CborWriter writer, ICbor cborList, bool definite = false) where T : ICbor { - T[] elements = (T[])cborList.GetValue(cborList.GetType()); + T[] elements = (T[])cborList.GetValue(cborList.GetType())!; writer.WriteStartArray(definite ? elements.Length : null); foreach (T element in elements) @@ -115,13 +126,19 @@ private static void SerializeListStructure(CborWriter writer, ICbor cbor, Type o foreach (PropertyInfo property in properties) { object? value = property.GetValue(cbor); - if (value is ICbor cborValue) + + if (value is null) { - SerializeCbor(writer, cborValue, property.PropertyType); + continue; + } + else if (value is ICbor cborValue) + { + Type concreteType = CborSerializerUtils.GetCborType(property.PropertyType) == CborType.Union ? value.GetType() : property.PropertyType; + SerializeCbor(writer, cborValue, concreteType); } else { - throw new InvalidOperationException($"Property {property.Name} in {baseType?.Name} does not implement ICbor."); + throw new InvalidOperationException($"Property {property.Name} in {cbor.GetType().Name} is neither ICbor nor CborNullable."); } } @@ -131,12 +148,12 @@ private static void SerializeListStructure(CborWriter writer, ICbor cbor, Type o private static void SerializeCborUlong(CborWriter writer, ICbor cbor, Type objType) { - writer.WriteUInt64((ulong)cbor.GetValue(objType)); + writer.WriteUInt64((ulong)cbor.GetValue(objType)!); } private static void SerializeCborInt(CborWriter writer, ICbor cbor, Type objType) { - writer.WriteInt32((int)cbor.GetValue(objType)); + writer.WriteInt32((int)cbor.GetValue(objType)!); } private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type objType) @@ -145,24 +162,25 @@ private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type objTy if (!cborSerializableAttr!.IsDefinite) { writer.WriteStartIndefiniteLengthByteString(); - byte[] bytesValue = (byte[])cbor.GetValue(objType); + byte[] bytesValue = (byte[])cbor.GetValue(objType)!; const int chunkSize = 1024; for (int i = 0; i < bytesValue.Length; i += chunkSize) { int length = Math.Min(chunkSize, bytesValue.Length - i); - writer.WriteByteString(((byte[])cbor.GetValue(objType)).AsSpan(i, length)); + writer.WriteByteString(((byte[])cbor.GetValue(objType)!).AsSpan(i, length)); } writer.WriteEndIndefiniteLengthByteString(); } else { - writer.WriteByteString((byte[])cbor.GetValue(objType)); + writer.WriteByteString((byte[])cbor.GetValue(objType)!); } } private static void SerializeMap(CborWriter writer, ICbor obj, Type objType) { CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); + // @TODO: Don't hardcoded types use the attributes in this cose use CborTypes.Map instead of CborMap if (obj is CborMap cborMap) { writer.WriteStartMap(cborSerializableAttr!.IsDefinite ? cborMap.Value.Count : null); @@ -173,12 +191,17 @@ private static void SerializeMap(CborWriter writer, ICbor obj, Type objType) } writer.WriteEndMap(); } - else if (obj is not null && objType.IsGenericType && objType.GetGenericTypeDefinition() == typeof(CborMap<,>)) + else if (obj is not null && objType.IsGenericType) { MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); MethodInfo genericMethod = method!.MakeGenericMethod(objType.GetGenericArguments()); genericMethod.Invoke(null, [writer, obj, cborSerializableAttr!.IsDefinite]); } + else if (obj is not null && objType.BaseType is not null && objType.BaseType.IsGenericType) // Support Mutiple Levels of Inheritance + { + IDictionary data = (IDictionary)objType.GetProperty("Value")?.GetValue(obj)!; + SerializeGenericMap(writer, data, cborSerializableAttr!.IsDefinite); + } else if (obj is not null && objType.GetCustomAttribute()?.Type == CborType.Map) { SerializeCustomMap(writer, obj, objType, cborSerializableAttr!.IsDefinite); @@ -191,11 +214,11 @@ private static void SerializeMap(CborWriter writer, ICbor obj, Type objType) private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objType, bool definite = false) { - Type? baseType = objType.BaseType; + Type? currentType = objType; - if (baseType != null && baseType.IsGenericType) + if (currentType != null && currentType.IsGenericType) { - Type[] genericArgs = baseType.GetGenericArguments(); + Type[] genericArgs = currentType.GetGenericArguments(); MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); MethodInfo genericMethod = method!.MakeGenericMethod(genericArgs); genericMethod.Invoke(null, [writer, obj, definite]); @@ -261,16 +284,16 @@ private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objTyp } } - private static void SerializeGenericMap(CborWriter writer, CborMap map, bool definite = false) - where TKey : ICbor - where TValue : ICbor + private static void SerializeGenericMap(CborWriter writer, IDictionary data, bool definite = false) { - writer.WriteStartMap(definite ? map.Value.Count : null); - foreach (KeyValuePair kvp in map.Value) + writer.WriteStartMap(definite ? data.Count : null); + + foreach (DictionaryEntry kvp in data) { - SerializeCbor(writer, kvp.Key, typeof(TKey)); - SerializeCbor(writer, kvp.Value, typeof(TValue)); + SerializeCbor(writer, (kvp.Key as ICbor)!, kvp.Key.GetType()); + SerializeCbor(writer, (kvp.Value as ICbor)!, kvp.Value!.GetType()); } + writer.WriteEndMap(); } @@ -285,27 +308,61 @@ private static void SerializeConstructor(CborWriter writer, ICbor cbor, Type obj ParameterInfo[] parameters = constructor.GetParameters(); - writer.WriteTag(CborSerializerUtils.GetCborTag(cborSerializableAttr.Index)); - if (parameters.Length == 0) + if (cborSerializableAttr.Index == -1) // Dynamic Constructor { - writer.WriteStartArray(0); - writer.WriteEndArray(); - return; - } - writer.WriteStartArray(null); + PropertyInfo? indexProperty = objType.GetProperty("Index") ?? + throw new InvalidOperationException($"Property 'Index' not found in {objType.Name}"); - foreach (ParameterInfo parameter in parameters) - { - PropertyInfo? property = objType.GetProperty(parameter.Name!, BindingFlags.Public | BindingFlags.Instance) ?? - throw new InvalidOperationException($"Property {parameter.Name} not found in {objType.Name}"); + PropertyInfo? valueProperty = objType.GetProperty("Value") ?? + throw new InvalidOperationException($"Property 'Value' not found in {objType.Name}"); + + int index = (int)indexProperty.GetValue(cbor)!; + IList? value = (IList?)valueProperty.GetValue(cbor); - object? value = property.GetValue(cbor) ?? - throw new InvalidOperationException($"Value for property {property.Name} in {objType.Name} is null"); + writer.WriteTag(CborSerializerUtils.GetCborTag(index)); - SerializeCbor(writer, (ICbor)value, value.GetType()); + if (value is null || value!.Count == 0) + { + writer.WriteStartArray(0); + writer.WriteEndArray(); + return; + } + else + { + writer.WriteStartArray(null); + + foreach (ICbor item in value) + { + SerializeCbor(writer, item, item.GetType()); + } + + writer.WriteEndArray(); + } } + else // Static Constructor + { + writer.WriteTag(CborSerializerUtils.GetCborTag(cborSerializableAttr.Index)); + if (parameters.Length == 0) + { + writer.WriteStartArray(0); + writer.WriteEndArray(); + return; + } + writer.WriteStartArray(null); - writer.WriteEndArray(); + foreach (ParameterInfo parameter in parameters) + { + PropertyInfo? property = objType.GetProperty(parameter.Name!, BindingFlags.Public | BindingFlags.Instance) ?? + throw new InvalidOperationException($"Property {parameter.Name} not found in {objType.Name}"); + + object? value = property.GetValue(cbor) ?? + throw new InvalidOperationException($"Value for property {property.Name} in {objType.Name} is null"); + + SerializeCbor(writer, (ICbor)value, value.GetType()); + } + + writer.WriteEndArray(); + } } private static void SerializeEncodedValue(CborWriter writer, ICbor cbor, Type objType) @@ -313,10 +370,59 @@ private static void SerializeEncodedValue(CborWriter writer, ICbor cbor, Type ob CborTag tag = CborTag.EncodedCborDataItem; writer.WriteTag(tag); - byte[] value = (byte[])cbor.GetValue(objType); + byte[] value = (byte[])cbor.GetValue(objType)!; writer.WriteByteString(value); } + private static void SerializeRationalNumber(CborWriter writer, ICbor cbor, Type objType) + { + writer.WriteTag((CborTag)30); + + object? numeratorValue = objType.GetProperty("Numerator")?.GetValue(cbor) ?? + throw new InvalidOperationException($"Type {objType.Name} does not have a 'Numerator' property or value."); + + object? denominatorValue = objType.GetProperty("Denominator")?.GetValue(cbor) ?? + throw new InvalidOperationException($"Type {objType.Name} does not have a 'Denominator' property or value."); + + if ((numeratorValue is not null) && (denominatorValue is not null)) + { + ulong numerator = (ulong)numeratorValue; + ulong denominator = (ulong)denominatorValue; + + writer.WriteStartArray(2); + writer.WriteUInt64(numerator); + writer.WriteUInt64(denominator); + writer.WriteEndArray(); + } + } + + private static void SerializeText(CborWriter writer, ICbor cbor, Type targetType) + { + writer.WriteTextString((string)cbor.GetValue(targetType)!); + } + + private static void SerializeNullable(CborWriter writer, ICbor cbor, Type objType) + { + Type itemType = objType.GetGenericArguments()[0]; + PropertyInfo? valueProperty = objType.GetProperty("Value") ?? + throw new InvalidOperationException($"Type {objType.Name} does not have a 'Value' property."); + + object? value = valueProperty.GetValue(cbor); + + if (value is null) + { + writer.WriteNull(); + } + else if (value is ICbor cborValue) + { + SerializeCbor(writer, cborValue, itemType); + } + else + { + throw new InvalidOperationException($"Value in {objType.Name} is not null but does not implement ICbor."); + } + } + private static ICbor? DeserializeCbor(CborReader reader, Type targetType) { if (reader.PeekState() == CborReaderState.Null) @@ -339,6 +445,9 @@ private static void SerializeEncodedValue(CborWriter writer, ICbor cbor, Type ob CborType.Constr => DeserializeConstructor(reader, targetType), CborType.List => DeserializeList(reader, targetType), CborType.EncodedValue => DeserializeEncodedValue(reader, targetType), + CborType.RationalNumber => DeserializeRationalNumber(reader, targetType), + CborType.Text => DeserializeText(reader, targetType), + CborType.Nullable => DeserializeNullable(reader, targetType), _ => throw new NotImplementedException($"Unknown CborType: {cborType}"), }; } @@ -390,10 +499,18 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) if (reader.PeekState() != CborReaderState.StartArray) throw new InvalidOperationException("Expected start of array in CBOR data"); + CborSerializableAttribute? cborSerializableAttr = targetType.GetCustomAttribute(); + bool isDefinite = cborSerializableAttr?.IsDefinite ?? false; + Type? itemType = targetType.GetGenericArguments()[0]; List list = []; - reader.ReadStartArray(); + int? length = reader.ReadStartArray(); + bool isDefiniteDetected = length is not null; + + if (isDefiniteDetected != isDefinite) + throw new InvalidOperationException("Invalid length definition for list"); + while (reader.PeekState() != CborReaderState.EndArray) { T? item = (T)DeserializeCbor(reader, itemType!)!; @@ -425,7 +542,15 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) } else { - reader.ReadStartArray(); + CborSerializableAttribute? cborSerializableAttr = targetType.GetCustomAttribute(); + bool isDefinite = cborSerializableAttr?.IsDefinite ?? false; + + int? length = reader.ReadStartArray(); + + bool isDefiniteDetected = length is not null; + + if (isDefiniteDetected != isDefinite) + throw new InvalidOperationException("Invalid length definition for list"); List properties = [.. targetType.GetProperties()]; @@ -434,7 +559,17 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) for (int i = 0; i < properties.Count; i++) { Type propType = properties[i].PropertyType; - values[i] = DeserializeCbor(reader, propType)!; + + if (propType.IsGenericType && propType.GetGenericTypeDefinition() == typeof(CborNullable<>)) + { + Type innerType = propType.GetGenericArguments()[0]; + object? innerValue = DeserializeCbor(reader, innerType); + values[i] = Activator.CreateInstance(propType, innerValue)!; + } + else + { + values[i] = DeserializeCbor(reader, propType)!; + } } reader.ReadEndArray(); @@ -450,15 +585,28 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) CborTag tag = reader.ReadTag(); CborSerializableAttribute? targetTypeSerializable = targetType.GetCustomAttribute(); - if (121 + targetTypeSerializable?.Index != (int)tag) - throw new InvalidOperationException($"Invalid tag for type {targetType.Name}"); - - reader.ReadStartArray(); - // @TODO: IMPROVE THIS PLEASE + int constrIndex = targetTypeSerializable?.Index ?? -1; + bool is121To127 = (int)tag >= 121 && (int)tag <= 127; + bool isAbove127 = (int)tag > 127; + // bool is102 = (int)tag == 102; + bool isDyanmic = targetTypeSerializable?.Index == -1; + + if (is121To127 && targetTypeSerializable != null) + { + int index = (int)tag - 121; + constrIndex = index; + } + + if (isAbove127) + { + int index = (int)tag + 7 - 1280; + constrIndex = index; + } + if (targetType.IsGenericType) { Type genericTypeDef = targetType.GetGenericTypeDefinition(); - Type[] genericArgs = targetType.GetGenericArguments(); + Type[] genericArgs = genericTypeDef.GetGenericArguments(); CborSerializableAttribute? cborSerializableAttr = genericTypeDef.GetCustomAttribute(); if (cborSerializableAttr != null) @@ -466,6 +614,8 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); object?[] args = new object?[constructorParams.Length]; + reader.ReadStartArray(); + for (int i = 0; i < constructorParams.Length; i++) { Type paramType = constructorParams[i].ParameterType; @@ -479,6 +629,7 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) { if (genericArgs.Length == 1) { + reader.ReadStartArray(); Type genericArg = genericArgs[0]; ICbor? value = DeserializeCbor(reader, genericArg); reader.ReadEndArray(); @@ -486,6 +637,7 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) } else { + reader.ReadStartArray(); reader.ReadEndArray(); return (ICbor?)Activator.CreateInstance(targetType); } @@ -495,20 +647,46 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) else if (targetType.GetCustomAttribute()?.Type == CborType.Constr) { ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); - object?[] args = new object?[constructorParams.Length]; - if (constructorParams is not null && constructorParams.Length != 0) + if (isDyanmic) { - for (int i = 0; i < constructorParams.Length; i++) + Type firstParamType = constructorParams[1].ParameterType; + Type elementType = firstParamType.GetElementType()!; + + var listType = typeof(List<>).MakeGenericType(elementType); + var args = (IList)Activator.CreateInstance(listType)!; + + reader.ReadStartArray(); + + while (reader.PeekState() != CborReaderState.EndArray) { - Type paramType = constructorParams[i].ParameterType; - args[i] = DeserializeCbor(reader, paramType); + args.Add(DeserializeCbor(reader, elementType)!); } + reader.ReadEndArray(); + + var toArrayMethod = args.GetType().GetMethod("ToArray"); + var array = toArrayMethod!.Invoke(args, null); + + return (ICbor?)Activator.CreateInstance(targetType, constrIndex, array); + } + else + { + object?[] args = new object?[constructorParams.Length]; + if (constructorParams is not null && constructorParams.Length != 0) + { + reader.ReadStartArray(); + for (int i = 0; i < constructorParams.Length; i++) + { + Type paramType = constructorParams[i].ParameterType; + args[i] = DeserializeCbor(reader, paramType); + } + reader.ReadEndArray(); + } + return (ICbor?)Activator.CreateInstance(targetType, args); } - return (ICbor?)Activator.CreateInstance(targetType, args); } - throw new InvalidOperationException($"Unhandled generic type: {targetType.Name}"); + throw new InvalidOperationException($"Unhandled Constr type: {targetType.Name}"); } private static ICbor? DeserializeMap(CborReader reader, Type targetType) @@ -671,4 +849,42 @@ private static CborMap DeserializeGenericMap(CborRea throw new InvalidOperationException("Invalid Encoded Value"); } + + private static ICbor? DeserializeRationalNumber(CborReader reader, Type targetType) + { + CborTag tag = reader.ReadTag(); + + if ((int)tag == 30) + { + reader.ReadStartArray(); + ulong numerator = reader.ReadUInt64(); + ulong denominator = reader.ReadUInt64(); + reader.ReadEndArray(); + return (ICbor)Activator.CreateInstance(targetType, numerator, denominator)!; + } + + throw new InvalidOperationException($"Invalid CBOR tag for Rational Number in type {targetType.Name}."); + } + + private static ICbor? DeserializeText(CborReader reader, Type targetType) + { + string value = reader.ReadTextString(); + return (ICbor)Activator.CreateInstance(targetType, value)!; + } + + private static ICbor? DeserializeNullable(CborReader reader, Type targetType) + { + if (reader.PeekState() == CborReaderState.Null) + { + reader.ReadNull(); + return null; + } + else if (targetType.IsGenericType) + { + Type itemType = targetType.GetGenericArguments()[0]; + return DeserializeCbor(reader, itemType)!; + } + + throw new InvalidOperationException($"Invalid Nullable Type."); + } } \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborType.cs b/src/Chrysalis/Cbor/CborType.cs index 1400c854..33b77b52 100644 --- a/src/Chrysalis/Cbor/CborType.cs +++ b/src/Chrysalis/Cbor/CborType.cs @@ -8,5 +8,8 @@ public enum CborType Map, List, Union, - EncodedValue + EncodedValue, + RationalNumber, + Text, + Nullable } \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborUnionTypes.cs b/src/Chrysalis/Cbor/CborUnionTypes.cs index daf1f042..081490bb 100644 --- a/src/Chrysalis/Cbor/CborUnionTypes.cs +++ b/src/Chrysalis/Cbor/CborUnionTypes.cs @@ -1,6 +1,6 @@ namespace Chrysalis.Cbor; -[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, AllowMultiple = false)] +[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface, AllowMultiple = false)] public class CborUnionTypesAttribute(params Type[] unionTypes) : Attribute { public Type[] UnionTypes { get; } = unionTypes; diff --git a/src/Chrysalis/Utils/CborSerializerUtils.cs b/src/Chrysalis/Utils/CborSerializerUtils.cs index 77dcf7b1..911bf1fc 100644 --- a/src/Chrysalis/Utils/CborSerializerUtils.cs +++ b/src/Chrysalis/Utils/CborSerializerUtils.cs @@ -7,14 +7,16 @@ namespace Chrysalis.Utils; public static class CborSerializerUtils { private const int BaseTagValue = 121; + private const int ExtendedTagValue = 1280; public static CborTag GetCborTag(int? index = null) { int actualIndex = index ?? 0; - return (CborTag)(BaseTagValue + actualIndex); + int baseTagValue = actualIndex > 6 ? ExtendedTagValue - 7 : BaseTagValue; + return (CborTag)(baseTagValue + actualIndex); } - public static object GetValue(this ICbor cbor, Type objType) + public static object? GetValue(this ICbor cbor, Type objType) { if (cbor == null) throw new ArgumentNullException(nameof(cbor), "The CBOR object cannot be null."); @@ -25,8 +27,7 @@ public static object GetValue(this ICbor cbor, Type objType) PropertyInfo? valueProperty = objType.GetProperty("Value") ?? throw new InvalidOperationException($"Type {objType.Name} does not have a 'Value' property."); - object? value = valueProperty.GetValue(cbor) ?? - throw new InvalidOperationException($"The 'Value' property of type {objType.Name} is null."); + object? value = valueProperty.GetValue(cbor); return value; } From 5212b2b38ec2ef85cc270f221a09a1806c3984ef Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Thu, 19 Sep 2024 18:55:27 +0800 Subject: [PATCH 024/162] chore: bump version to 0.2.0 (#24) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 717b016a..605e1aad 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.1.9 + 0.2.0 Chrysalis clark@saib.dev SAIB Inc From 762cd91d800def91f6281e0de7abeac45277df67 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Fri, 20 Sep 2024 03:32:07 +0800 Subject: [PATCH 025/162] chore: bump version to 0.2.1 (#26) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 605e1aad..26919bd5 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.2.0 + 0.2.1 Chrysalis clark@saib.dev SAIB Inc From 609a1ecde4163f641f2db4541b926c64b85c9038 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Fri, 20 Sep 2024 03:33:27 +0800 Subject: [PATCH 026/162] fix: modified block definition with added CBOR types (#25) * fix: modified block definition * fix: modified block definition * introduce the concept of infinite constructors (102) --------- Co-authored-by: Clark Alesna --- src/Chrysalis.Test/CborSerializationTests.cs | 106 +++----------- .../Cardano/Models/Core/Block/Block.cs | 10 +- .../Cardano/Models/Core/Block/Header.cs | 10 +- .../Cardano/Models/Core/Script/PlutusData.cs | 8 +- .../Models/Core/Transaction/AuxiliaryData.cs | 24 +-- .../Core/Transaction/TransactionWitnessSet.cs | 4 +- src/Chrysalis/Cbor/CborSerializer.cs | 137 ++++++++++++++---- src/Chrysalis/Cbor/CborType.cs | 3 +- 8 files changed, 155 insertions(+), 147 deletions(-) diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index ee78858d..1104bbc4 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -1,6 +1,7 @@ using System.Reflection; using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Coinecta.Vesting; +using Chrysalis.Cardano.Models.Core; using Chrysalis.Cardano.Models.Core.Block; using Chrysalis.Cardano.Models.Core.Certificates; using Chrysalis.Cardano.Models.Core.Script; @@ -9,100 +10,33 @@ using Chrysalis.Cardano.Models.Sundae; using Chrysalis.Cbor; using Xunit; +using System.Diagnostics; namespace Chrysalis.Test; public class CborSerializerTests { - // [Theory] - // [InlineData("1834", typeof(CborInt))] // Example hex for CBOR int 52 - // [InlineData("4101", typeof(CborBytes))] // Example hex for CBOR bytes {0x01)] - // [InlineData("1a000f4240", typeof(CborUlong))] // Example hex for CBOR ulong 1_000_000 - // [InlineData("1a000f4240", typeof(PosixTime))] // Example hex for CBOR ulong 1_000_000 - // [InlineData("43414243", typeof(CborBytes))] // Example hex for CBOR bytes of `ABC` string - // [InlineData("a1450001020304a1450001020304182a", typeof(MultiAsset))] // {h'61': h'41696b656e'} - // [InlineData("9f0102030405ff", typeof(CborIndefiniteList))] // [_ 1, 2, 3, 4, 5] - // [InlineData("850102030405", typeof(CborDefiniteList))] // [1, 2, 3, 4, 5] - // [InlineData("9f824401020304182a824405060708182bff", typeof(CborIndefiniteList))] // [_ [h'01020304', 42_0], [h'05060708', 43_0]] - // [InlineData("d8799f182aff", typeof(Option))] // Serialized CBOR for Option::Some(42): - // [InlineData("d87a80", typeof(Option))] // Serialized CBOR for Option::None: - // [InlineData("d8799f4180ff", typeof(Signature))] // Serialized CBOR for Signature: - // [InlineData("d87c9f029fd8799f446b657931ffd8799f446b657932ffd8799f446b657933ffffff", typeof(AtLeast))] // Serialized CBOR for AtLeast Multisig: - // [InlineData("d8799fd8799f581ceca3dfbde8ccb8408cefacda690e34aa9353af93fc02e75d8ba42f1bff58202325f3c999b17d4a6399bf6c02e1ff7615c13a73ecafae7fe813b9757f27ef2600ff", typeof(Treasury))] // Serialized CBOR for Signature: + [Theory] + [InlineData("a400818258205ca1a6583fc114574832cdcd5d070962feb50cc9b9e8c4bd6e37f29e2cb73a2258408a199beb5d65a06220a071b49d7aa91fe428b18a969a0a0dd21519ce7e0d4d5ac17a1e35cbc9ebbfcad104e9af4e992f1edc8aef6007b07770f49a1c3d1a520803815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a7200010481d866820086581ca114aeb8a1758760a3d61abe41895db9cd61fc5df7d4f734b17a62721a2faf0800581c1a645cd395468cf51b24ba319aefb0279e9cac89a193dc2348619fff5041646176696c6c65486f757365323232581c8241b9a7cc0f3e2205d22635fee1831c20c2d10e40a783f45b47f6fe140581840000d866820080821a0081b3201ab2d05e00", typeof(TransactionWitnessSet))] // Example hex for CBOR int 52 + public void SerializeAndDeserializePrimitives(string cborHex, Type type) + { + // Arrange + byte[] cborBytes = Convert.FromHexString(cborHex); - // [InlineData("8201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(DatumOption))] // Serialized CBOR for Inline Datum: - // [InlineData("d81842ffff", typeof(CborEncodedValue))] // Serialized CBOR for CIP68: - // [InlineData("a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a00dd40a0a2581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f6a14e0014df104d494e20496e7465726e1b0000000ba43b7400581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820e08460587b08cca542bd2856b8d5e1d23bf3f63f9916fb81f6d95fda0910bf691b7fffffffd5da682b028201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581caf65a4734e8a22f43128913567566d2dde30d3b3298306d6317570f64e0014df104d494e20496e7465726eff1a2a2597de1a009896801b0000000ba43b740018641864d87a80d87980ff", typeof(TransactionOutput))] // Serialized CBOR for TransactionOutput: - // [InlineData("D8799F9FD87B9F005820567463495E4DC4FB67268D9A6E92836A68A18A317D2F0CA6CC6D695EE7733889582023B4DA2A35E86C585A6F5FCCFF3B53F7660D73536C79FF486BCAB719B518C58FFFFFD8799FD8799F581CA7E1D2E57B1F9AA851B08C8934A315FFD97397FA997BB3851C626D3BFFA0A140A1401A05F5E10041004100FFFF", typeof(TreasuryRedeemer))] // Serialized CBOR for TreasuryRedeemer: - // [InlineData("820800", typeof(ProtocolVersion))] // Serialized CBOR for ProtocolVersion - // [InlineData("8458205c04fb3111739a79e318135ef5bbfcba008533f2315ec5525210856024f6917f151903f65840d5341b64c77472028d78fabbc43a3873f3ae8f7e2daf6dc9e475024acbc179d42cb014ae4acd79dc2cd28c6186f4b1c07edaeecd3c48ec1cdc30e969b6ef3a03", typeof(OperationalCert))] // Serialized CBOR for OperationalCert - // [InlineData("825840bb060ee2d34b4e23c5d402ba181330ecf32777cdf745789aea9afe94c1b0df474fd2fb60e6965b247b338ebcf337c383b57731c016e71d93fd5e5f8dc8665915585060941c4ac096a3a5e25c16c910bb85393012a02b14623470130c27cf6d27ea37ed5b03c8051ec2f237ab4fd5f43aff2289721d573e8e7de7515fda4143f4dc611b5f399467c726e3375df00617cb3b05", typeof(VrfCert))] // Serialized CBOR for VrfCert - // [InlineData("8a1a00a4cdc11a07fd9ced5820f900395a8b763e7fb2630d3b4b4f8925e225205e5a4544275778bd8c5eb4f14c5820b4a64416f171e59d66e0d1890e9146211c2fb4e70930ea782f0f4983decb285e5820399f9f34c7947c86992b9cce3e6a58343d3d770de8b1525b2dea88893905efbf825840bb060ee2d34b4e23c5d402ba181330ecf32777cdf745789aea9afe94c1b0df474fd2fb60e6965b247b338ebcf337c383b57731c016e71d93fd5e5f8dc8665915585060941c4ac096a3a5e25c16c910bb85393012a02b14623470130c27cf6d27ea37ed5b03c8051ec2f237ab4fd5f43aff2289721d573e8e7de7515fda4143f4dc611b5f399467c726e3375df00617cb3b051a000150bd5820556a0b2a892073e5c0c598d3a04737d827c3708d2c9cb04c7142d80ddd1385908458205c04fb3111739a79e318135ef5bbfcba008533f2315ec5525210856024f6917f151903f65840d5341b64c77472028d78fabbc43a3873f3ae8f7e2daf6dc9e475024acbc179d42cb014ae4acd79dc2cd28c6186f4b1c07edaeecd3c48ec1cdc30e969b6ef3a03820901", typeof(BlockHeaderBody))] // Serialized CBOR for HeaderBody(Conway) - // [InlineData("8a1a00a076f71a07a51cec58203228c42f0af94c7576946942d7494634b11c4562e5d5257730a5e632dfd44bf358209ab6d0f36afdf63b527ab257f5a3f6625f2844c6cd83eecce3a1d8811cadb9b958208e4715edc8ef2d6a8c1860b11675fe0afa186eebf2cfb62aaf4c3526b8c5bd4882584066a21b2c4f9aa32fb5b499bab11891f2abce92a6f51f8ff5ed5dd4a6eeee750e23bd1505ea910637cad190766f90998fa7865a8f776ff0a3707f374abaddfe45585044bee1c7492d7d08066de3fd7e76b8e2ec48a2887cfc4c5152083edd3850f3e4969f33700163b1139ddaffb3a6cfd29e995bcbde1e1b063bb288f660e4c0ba6653233ab741762fe5b1a5368ed0fbb30819c5ca5820ca1158d016cd2cb338ce3d9f04e6f9f6314cd4b2054b5391907808f5f262c7dc845820878946c26f0fe05879a5591d77fa7b26ff6a7fa303c2ef9fd81bfce791f34ce40c1903bf58409fd5ff67c18649c50f3169e6680b33b011562a952b6fe97918c95c8604141858b8e771315c9c87d4a81843b1d62ba60e52abb9df46ad135c621aee9e5b80cc02820800", typeof(BlockHeaderBody))] // Serialized CBOR for HeaderBody(Babbage) - // [InlineData("8f1a006b0f171a035877e8582059aab61986b323527011efcc941a350b36d6d59edc21fe1600e77be8a354c7655820f492625f14992782625aac4177b76130749c888d0df6adf2da26c7086f74437d5820ab290b1f62e86b6079c179b462a4de11b2028148124be71445e083b62f535b3782584020b88ead1afcaf8880a61a1ba83793fac9a358661888fe34376709b1e18ffbd74dd9d977b2aa51b926a3755da2d0125bdf2f5018de4b47c3131ce8d4db900ee65850f10b18ce2d63c8864b182efdd221867b5c90fa02627bf594e064490a3f9f1a068cbf285446462b931c797166e7061db8189b46b250693e64236c5fc98e115f3dbc423d108fbd5cc44cd16fa917ddce0a8258400004d68febdfe65d2f45e343af88b41746ce3087e16180c0e574e1abade72f2d969f69b61024b83b682b59a773cd04f6989b2b14805371122e70fca09284ecb558504dce6f572748203bb1ee6c8162bc644d9476d56a0a97632877a014b669e48234a0a70b7c1d88b822042ff6419fb0c73521c79a6b508d9c46001e802c5bdb51b6b18430461ae518314c54c2a5d1e81b0d19b38d5820477740dfd9ad3bb33ab534ed6dc1e06e455a3397fc9adabb972220a326c0b58b5820da24cac0e7a88a4bda8a8b5f44e59c2ace45c75fac0a797b4acd352a007a6753061901a45840c42104b2b016433ade455b25aa4e81073152dfd825a7b65922c573a01f07a0f987f70243968e5348a58772458a1031144e1c1b28e7748136e87be18e29e87f0d0600", typeof(BlockHeaderBody))] // Serialized CBOR for HeaderBody(Alonzo) - // [InlineData("828f1a006b0f171a035877e8582059aab61986b323527011efcc941a350b36d6d59edc21fe1600e77be8a354c7655820f492625f14992782625aac4177b76130749c888d0df6adf2da26c7086f74437d5820ab290b1f62e86b6079c179b462a4de11b2028148124be71445e083b62f535b3782584020b88ead1afcaf8880a61a1ba83793fac9a358661888fe34376709b1e18ffbd74dd9d977b2aa51b926a3755da2d0125bdf2f5018de4b47c3131ce8d4db900ee65850f10b18ce2d63c8864b182efdd221867b5c90fa02627bf594e064490a3f9f1a068cbf285446462b931c797166e7061db8189b46b250693e64236c5fc98e115f3dbc423d108fbd5cc44cd16fa917ddce0a8258400004d68febdfe65d2f45e343af88b41746ce3087e16180c0e574e1abade72f2d969f69b61024b83b682b59a773cd04f6989b2b14805371122e70fca09284ecb558504dce6f572748203bb1ee6c8162bc644d9476d56a0a97632877a014b669e48234a0a70b7c1d88b822042ff6419fb0c73521c79a6b508d9c46001e802c5bdb51b6b18430461ae518314c54c2a5d1e81b0d19b38d5820477740dfd9ad3bb33ab534ed6dc1e06e455a3397fc9adabb972220a326c0b58b5820da24cac0e7a88a4bda8a8b5f44e59c2ace45c75fac0a797b4acd352a007a6753061901a45840c42104b2b016433ade455b25aa4e81073152dfd825a7b65922c573a01f07a0f987f70243968e5348a58772458a1031144e1c1b28e7748136e87be18e29e87f0d06005901c0ac1591f54da90ca03498d4667023f30fd09afa207b80f3f0866c730e91558ee4b10ede3810d69b842d06dc679522ad98722530bf6d8452aa2b8e6f1f5d1e9304784659cec31ebf7f29e6deff79d5d6a2842c24cd20f5ce02f80e08678daa907087b068c812eb5523afa0438134e73b2382478f93fe82d0d2b3ea7a9c1a3606f34ca3c89f0d84b280d5f716661cd93254b14c18d99d51f6a2ebd175210b5524ceb8ad3ec0ec9ca2564b168e7e00ec96e0271c47328468950edd89f4bca390acebd53413c9344a0b2a8fcb4ec668949450ad6381d2af7bbac5d024f0251b114b3732072c2851b82fbc7f5f8ce0640fd14c29dc2d591736a17c90036f7efbf8ed00239a028ee0890286615c5bbe88c6ead7d5d821d34b111133bb9806c8bb8b73d065959a427dfd5fcea80a0bbda6a07c2ed870ac8c728a57751aef30902ea8cda5961015fe7f843f892a1ae978cdd55b57e14497cc48d540f42449e803637727403dad6c188b64a61e94ab5bfed8c39360f18347aaeae473a069a6c479db3fbe190a3bb236eea6e9b163c628effafc287b081041f94df6a91a62f50ae6740cb980da7a9f5e2080a98b4a6c73de537b2a70ad50df7aea318d34ef6f2e860e511f40", typeof(BlockHeader))] // Serialized CBOR for Header(Alonzo) - // [InlineData("828a1a00a076f71a07a51cec58203228c42f0af94c7576946942d7494634b11c4562e5d5257730a5e632dfd44bf358209ab6d0f36afdf63b527ab257f5a3f6625f2844c6cd83eecce3a1d8811cadb9b958208e4715edc8ef2d6a8c1860b11675fe0afa186eebf2cfb62aaf4c3526b8c5bd4882584066a21b2c4f9aa32fb5b499bab11891f2abce92a6f51f8ff5ed5dd4a6eeee750e23bd1505ea910637cad190766f90998fa7865a8f776ff0a3707f374abaddfe45585044bee1c7492d7d08066de3fd7e76b8e2ec48a2887cfc4c5152083edd3850f3e4969f33700163b1139ddaffb3a6cfd29e995bcbde1e1b063bb288f660e4c0ba6653233ab741762fe5b1a5368ed0fbb30819c5ca5820ca1158d016cd2cb338ce3d9f04e6f9f6314cd4b2054b5391907808f5f262c7dc845820878946c26f0fe05879a5591d77fa7b26ff6a7fa303c2ef9fd81bfce791f34ce40c1903bf58409fd5ff67c18649c50f3169e6680b33b011562a952b6fe97918c95c8604141858b8e771315c9c87d4a81843b1d62ba60e52abb9df46ad135c621aee9e5b80cc028208005901c07475c5276afbfd46e7eb54515467eb3244c40c915b90378771ae235d6efc4a3ee3f6f0ab63dae2e4e3733800d61ca44b48601149f1eb47e6771326d9b2111c04f4ad4d5f9a7044b8aabedb260b86ef0472149a110b351f2a13dd93f602e2980aa06f037f755e9093d96130e4a1533fb6b20a1356185f53f39548ef569773970348f2b0638a72fe6d06b75abc29e408216c229cb4fa8956ffd36eb7c79d741274f28fee2ecda595d62e164c3081f077e590f58b1ae247c05f574c3c0b6e9b7588c19260c4ccdd9a8382896b17fbca50014ed2a72879b30c500821fdd45cfa8f1ba7183da404d63dea8261a193e7cd499c571119a73c0aaa1bffba9410a7878655b3b13136e197a5e56e21af0f9d41c0fb6a98bdbf77011128b49def09d9c351339cb3d44de4945a922fac512b87136c2b3cb3e5e57ea3474f604f8b89b722124a5ffbc6b3c85d9eda86403043912e1a2b5e500805a838da39caf4818d310e18be8792b56f37072223bff98fb9829e57676526768c2db4e0fb8fa8340b2cdcde0178614d5a25dcba2b31ef71f4b5d80b2581121c8044d98ce2b1b26ffa9f350b5184fd6dd1c24833972db817e2b8c34340933c652ff5e59acf906a56b5402a831f", typeof(BlockHeader))] // Serialized CBOR for Header(Babbage) - // [InlineData("828a1a00a4cdc11a07fd9ced5820f900395a8b763e7fb2630d3b4b4f8925e225205e5a4544275778bd8c5eb4f14c5820b4a64416f171e59d66e0d1890e9146211c2fb4e70930ea782f0f4983decb285e5820399f9f34c7947c86992b9cce3e6a58343d3d770de8b1525b2dea88893905efbf825840bb060ee2d34b4e23c5d402ba181330ecf32777cdf745789aea9afe94c1b0df474fd2fb60e6965b247b338ebcf337c383b57731c016e71d93fd5e5f8dc8665915585060941c4ac096a3a5e25c16c910bb85393012a02b14623470130c27cf6d27ea37ed5b03c8051ec2f237ab4fd5f43aff2289721d573e8e7de7515fda4143f4dc611b5f399467c726e3375df00617cb3b051a000150bd5820556a0b2a892073e5c0c598d3a04737d827c3708d2c9cb04c7142d80ddd1385908458205c04fb3111739a79e318135ef5bbfcba008533f2315ec5525210856024f6917f151903f65840d5341b64c77472028d78fabbc43a3873f3ae8f7e2daf6dc9e475024acbc179d42cb014ae4acd79dc2cd28c6186f4b1c07edaeecd3c48ec1cdc30e969b6ef3a038209015901c0e4dcaeeff4c6bbd5e47fea3ac20aee40574b450903a811a0761297aef0892111b54481e88c363ca0025501c58500efddac809cc3f10ac6289e9929d8560c230483f928a0a5016d9ae0d3ba43233983bf32014df16c02bc66a917b85d98e12bad15df95de5ffcd62e4fbdb8c50377fa6b8da5c43a27ce95923bc1cbb4faa72c9e9630926675ec4c92c5f1de8212b1b904dabc750222edce42dcaf58d236b2783f719c908d6841f177e82f2e76ca3ca0f96cbe936d24a658d26f23975572c01cb7681a6017c8d85e34b5ac343c6db51ae28d0cdf9f3eea3ef5e9b86a6c38aaab7bbc0e15b84b73ae035f0b75af9172facb7d469c743ce38f8a2d8009a1e910e1832e44037c03627e87993f83d7dc570b76f24123b93e0413c95af4f40df331b333af7f346c4067c2bb9ed83cd071a4e94048ee2b3395918bfcda4e1ecc035b4eb134e6ecbf337a64d16f1b0121918aa4347897ba30e3ec74aa8e502bcdd70d054c340648d2768303b7f095edaf28358b9f97b0093aa6c0bc76525664a0b9d0c78d872b8f7c7b840c0e3292b7c910655da1c0bffeaae80298593267c979c196cffecaff571ba6248acc7c4c338b3c7a93584d04a47c74c2c5beda2e6f4aa26d4f39", typeof(BlockHeader))] // Serialized CBOR for Header(Conway) - // [InlineData("d81e82011864", typeof(CborRationalNumber))] // Serialized CBOR for RationalNumber - // [InlineData("8301194a397272312e3170657263656e74706f6f6c2e6575", typeof(Relay))] // Serialized CBOR for Relay + // Act + MethodInfo? deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize)); + Assert.NotNull(deserializeMethod); - // [InlineData("a1636d736781774d696e737761703a204f72646572204578656375746564", typeof(TransactionMetadatum))] - // [InlineData("a11902a2a1636d736781774d696e737761703a204f72646572204578656375746564", typeof(AuxiliaryData))] - // [InlineData("8a03581c17a6a1f2fb36d9ef275805db17409af7ab753b9d27bdd41b89510bb95820d3f8aefa1294051e238db5f296014330f670a84e66d2bda30bce837ce709ba211b00000002540be4001a1443fd00d81e82011864581de1b8e0ffa9c7abb32c18e9712e15ad028400a41f91ead639da2f957dd681581cb8e0ffa9c7abb32c18e9712e15ad028400a41f91ead639da2f957dd6828301194a397272312e3170657263656e74706f6f6c2e65758301194a3a7272322e3170657263656e74706f6f6c2e657582782f68747470733a2f2f7777772e3170657263656e74706f6f6c2e65752f31504354322e6d657461646174612e6a736f6e582045e456dccd65ec342e4072c9e2f566fe22d2233dec45a5b48a2bc6d3fea78f5b", typeof(PoolRegistration))] //PoolRegistration - // [InlineData("82008200581c87aeddbe3a9a55e339b39d807bd5ae28698fe98f60aaab472e19beeb", typeof(StakeRegistration))] //StakeRegistration - // [InlineData("82018200581cfb8f9af27e883d383cef8436996e95a604c3d5cc29bfe7e2de02f5b4", typeof(StakeDeregistration))] //StakeDeregistration - // [InlineData("83028200581c13f76393994e463d2eeb47210313065fec562a92041e5664ad89a30b581c4744b317cba46d5f247e51d4df3d72c9e2a8b18231c30ba1708bd65b", typeof(StakeDelegation))] //StakeDelegation - // [InlineData("8304581c48b14df69375d393b3728a01bf38a049c0b1eec04d973922cab835c31901fc", typeof(PoolRetirement))] //PoolRetirement - // [InlineData("83098200581c3dd92899f772d4616a1a7fcbf1c4b161deb8f7eecc77d6bbecee62ac8200581cf0ed00410031f3288d7889aa896cfdad79a7441885d3bae8982ac151", typeof(VoteDelegCert))] //VoteDeleg - // [InlineData("830e8201581c349e55f83e9af24813e6cb368df6a80d38951b2a334dfcdf268155588201581c07e0eb70a1cfd5de084b5fcc8a9b28ff7772282b57e760d692c75bde", typeof(AuthCommitteeHotCert))] //AuthCommitteeHot - // [InlineData("84108200581ccb09d689352f623d5f5cd4e8b3ff060a165b5e6556b8e9c8ce186ac51a1dcd650082785768747470733a2f2f64726570646f7466756e2e73332e65752d776573742d322e616d617a6f6e6177732e636f6d2f31366239643165362d366638382d343730312d383836652d3465663364646366356436642e6a736f6e5820deab83c9635be8248f4a43a63efb2968ea9132b9426e6e5f4228c74cf5cb3797", typeof(RegDrepCert))] //RegDrepCert with Anchor - // [InlineData("84108200581cbfd1651564e3fe4bae43e1a6ebe090ebdcf69ef3aa684867b49219c41a1dcd6500f6", typeof(RegDrepCert))] //RegDrepCert with Anchor Null - // [InlineData("83118200581cbd1b2f8d71a5890a38946322b93fc003dc5a61873fdc7e7e5856f3e91a1dcd6500", typeof(UnRegDrepCert))] //UnRegDrepCert - // [InlineData("83128200581c725cceb7823111ea775edd2cfe577eae89b16520856703095b1b28d782784b68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f43617264616e6f4578706c6f7265722f647265702f6d61696e2f6d657461646174612e6a736f6e6c6458208bff6c4cb86f05458075c787cb843f7dffb52f2b7f438037d291d987d71f7738", typeof(UpdateDrepCert))] //UpdateDrepCert - // [InlineData("a600818258205c433145addae9555c8948cb6e041e05fe4a3379debd0c948d352aebb9e99b2f00018182583901b3326f3bba239194b2407e6a527948a7e6e3e2d199919fa07f4985f0d07820b822b66d682d973239100f9b614ee18f369c27931ab15d54e61b000000388690171d021a0002b149031a08021a2d048183128200581c725cceb7823111ea775edd2cfe577eae89b16520856703095b1b28d782784b68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f43617264616e6f4578706c6f7265722f647265702f6d61696e2f6d657461646174612e6a736f6e6c6458208bff6c4cb86f05458075c787cb843f7dffb52f2b7f438037d291d987d71f77380800", typeof(TransactionBody))] // Serialized CBOR for TransactionBody(Conway) - // [InlineData("a80082825820083d95d8352c349b453400042cc63ac34a589293dd59ccc8b062f079ea5e05ea0082582066ef6e5199ee3d875516e8ceae113e7f309186c45f1e35ef1c6b35dfb8ca5708020183a20058390195e7d4a51aec52dd528a84ad95e411b3f314a49a97714ebbe735c04768838865663d8666a24e66dd5daedb683eb48d07568b126f485d185a01821a001a3c1ba1581ca6b92cdf28af39782e8baecb712298e0bc91787375569b1f0c8fd703a1462443534276311a0132ba27a300583931905ab869961b094f1b8197278cfe15b45cbe49fa8f32c6b014f85a2db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821a2406a090a2581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b8a158209a9ab7431a3db1542009a50fbe1815054c0b8027164dfc7c1ef10fcdbe002b5501581ca6b92cdf28af39782e8baecb712298e0bc91787375569b1f0c8fd703a1462443534276311a2dd67131028201d81858e4d87989d87982581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b858209a9ab7431a3db1542009a50fbe1815054c0b8027164dfc7c1ef10fcdbe002b55d879824040d87982581ca6b92cdf28af39782e8baecb712298e0bc91787375569b1f0c8fd703462443534276311b0000001166b125ce1a001373c2581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761b000000028f200558581c8807fbe6e36b1c35ad6f36f0993e2fc67ab6f2db06041cfa3a53c04a581c554daf3e27e50c8c779713be6ba70f95c35f23f0552a28e5a7a340148258390122aea2da15e494e01767145d48bda16b6d437f1c449823a044193daf299a82ef56311aa10adf04c0072d4870eb9f4d5ff315132434841b741a001312d0021a0005cf0505a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b58203a98f88216e5025db28f06e90c56b3def9f35e3ac2beef37aef7f09ace7a60c00d81825820dd325cdb8c4b2d7fbc66d6e04f2abce41e52fbf55807948aed6b9abb726eb699000e81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761283825820c4a540ac2e06c217dd4fb3f39ca3863da394ba134677dafa9b98830ca71d584d03825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01", typeof(TransactionBody))] // Serialized CBOR for TransactionBody(Conway) //@TODO: Debug Error - // [InlineData("a800818258208d84eef32fcacf5792877809c663ceef9d94a1a83f4eb9979e5d068bb14688b00301838258390179e0c0db2fc4786546f2f7d7914cbe899b61776401d78dd21e44b8626c4734f9fa72a547d83adb86c4431df7c78c8519d8238a09b2a5cc7f821a0011b0dea1581c555a99109b2cf170069e84d98b5a94e9ca15a69d5eb80dcd044598b4a1476e616d65343431018258393195f88cd39531c64a8749a625e5d3f9a79cc85d2001db23d851ad65bd19971dfb46a7fa611ddf545ee84dabd741454c4837669de8322d71811a000f42408258390179e0c0db2fc4786546f2f7d7914cbe899b61776401d78dd21e44b8626c4734f9fa72a547d83adb86c4431df7c78c8519d8238a09b2a5cc7f1a048e908c021a0003388d031a0806dede07582052966b4accdf10a1d562d671ffebe13583892a46dcc63fc1be5038702689bd1a081a0806d0ce09a1581c555a99109b2cf170069e84d98b5a94e9ca15a69d5eb80dcd044598b4a1476e616d65343431010e82581c79e0c0db2fc4786546f2f7d7914cbe899b61776401d78dd21e44b862581c6c4734f9fa72a547d83adb86c4431df7c78c8519d8238a09b2a5cc7f", typeof(TransactionBody))] // Serialized CBOR for TransactionBody(Conway) - // [InlineData("a800838258201804b13f34a8452066ff1cad68bd09383f65d407f2f84b31fce0ef7906afe28e00825820fb62b5141e0e6595e4e7382d7b16747785b3333e89d65079c2d39f3d65b1e73100825820fb62b5141e0e6595e4e7382d7b16747785b3333e89d65079c2d39f3d65b1e73101018282583901c63fe326cf6ca78124768d68c501008c881b132ef83999c99bb8a23d22968046e259d10fbd46bf394d0327a32ea71afe3f8910c30beee404821a00165c38a2581c2e8e5e8e1d7837ccc509e30045f656f9e9ebed7ef5621085172d0e9aa446636c617261320146636c617261330146636c617261340147636c617261313101581cd436d9f6b754582f798fe33f4bed12133d47493f78b944b9cc55fd18a15053756d6d69744c6f64676531363336330182583901c63fe326cf6ca78124768d68c501008c881b132ef83999c99bb8a23d22968046e259d10fbd46bf394d0327a32ea71afe3f8910c30beee4041a010465e9021a0007cfe70b5820126750c84767cace394a3bf78350a69d2fbc9e470975a47e73672fb513431dc00d81825820fb62b5141e0e6595e4e7382d7b16747785b3333e89d65079c2d39f3d65b1e731010e81581cc63fe326cf6ca78124768d68c501008c881b132ef83999c99bb8a23d1082583901c63fe326cf6ca78124768d68c501008c881b132ef83999c99bb8a23d22968046e259d10fbd46bf394d0327a32ea71afe3f8910c30beee4041a00e55388111a000bb7db", typeof(TransactionBody))] // Serialized CBOR for TransactionBody(Babbage) - // [InlineData("a500828258209a8fbe63b8d95c30746d3337fafd8fbe11dfa72bf05c3e7876fc28665a745bf900825820548650236f3bae15b8ddb7d65dde5ba6fb1785606880f44eff04b2316f6affde0101828258390109c230576e5d6c062a0fa95edafb4b7760bf48c9569c949294993befdcffc654e5f87793e8875d6cb40cfc8da22aeeecd7b62dc26e037df5821a00169b08a1581c49450fe5ce314aa6ef5d4c947d69d4af8e298a005114718a7cc1f784a14d41444150756e6b334430333530018258390109c230576e5d6c062a0fa95edafb4b7760bf48c9569c949294993befdcffc654e5f87793e8875d6cb40cfc8da22aeeecd7b62dc26e037df51a04144c52021a000fa6b90b5820318f56b89c98d3785d39da7f7b5e519843101a7e6256ade04d10ec8ee695153f0d81825820b7aeaf10a7addfcf7a0011c5520b393d3f7450fa9dcb8d7528c565737499cb0c00", typeof(TransactionBody))] // Serialized CBOR for TransactionBody(Alonzo) - // [InlineData("82582014585da9857b30cf57edccac19d3012b602bb5650c7726a5f1504d9614d205225840f56c63ae453e3ad3434a1f46c9d703cd6d34d746229755acdf37ec8d1ecda69ae022b06af5e7fc238f8d5c68532d196d5b7478ba1d6ff9f9bddf485898fdd903", typeof(VKeyWitness))] // VKeyWitness - // [InlineData("8200581cf0939d61b27630744e09f74ec141b8d6923f8c9f211beab1d100447e", typeof(NativeScript))] // NativeScript - // [InlineData("845820bdc5ddd2037b5536b24ee0bdface0cd627e31be9d1844d868a7272f621c4431c58400b2096029281541ccfcf14d44d12c88377a1c4ead8224d4fa45f3800c9977892a46c6febaf2a394e92ddaca2afd6f468690c365385f3b8d7e6bc13214a24d502582052a081234e70e4cb8bfb8296954d42d72b2965c24f3eafe69287090f1472535e41a0", typeof(BootstrapWitness))] // BootstrapWitness - // [InlineData("a200828258207cc7091d65bf2e715a06c3d94699ec0214246dd0cdca954e3e2c84426f02a73f58407ea844aa5ac8dd919c92cd92fa58f5b1755698eb1463600ab7a2dec0dcd6e57368335898ba25f7b029939b5b78281aa3db30e0b65023c3cbf09267326f3a640682582059dadb13453650a8129bf204ebd6ce4268e61ee8b2657fd39a977f2c72cb90985840d20be7cc6417abf45fcb7c06b5fa0bdc63483ca9b7a8c0bd74c54ddfc2ba621e6f52705885f8b8d88af966565760d0ff82c6893deed3265724a79b998216af0601818200581cf0939d61b27630744e09f74ec141b8d6923f8c9f211beab1d100447e", typeof(TransactionWitnessSet))] // TransactionWitnessSet - // [InlineData("85828a1a00a5437e1a080709ee58201253745c002f37a8bf4c9254d2149da5587acaea9fe193029c05a56118f4ca1758200132f8a2c41dfdf94346bba0e694c6f893b81961f4583028a7b96aa0aae11cd65820d8b3d4dbe1012da956abca65d868c5a22f8c9e17290b5806283ed48624b34732825840913a25e9a0cb368a553d74102207f2ce0d336fb35fee4c6b0d40c7ba4ebb93d9b919befca50baec225bb33763b0407c0e06e32621de3fae5c45c0b724778a74c58509bb0011f33d513811f472e308ca24d4a6b544cbe9db39006952ede0210fb8559b13aa7f93fcc4ea26ba850c437e2f198eec5f28f04eba5dfca796ccf96661804d576f2c26809729850d64d84f64572061901e85820854f348f8dc647c11a51a139ea0c3b7adfc506ea1ba64fa8453e39a1aafeb5b1845820c4a2891ef9fdca62de54c4ddabc54fcb7e8e1d5ffb4bed038c1a53c715689fc2071903fe5840cf93116293539e99add5d060d517d676288bf271adeb9d4bc56109b547317eeaf0e9760d55128c59aa626c14106066b10bf222ea38cf8c796adb2742a44f0f088209015901c05a1eff829673047b992110ef85a39c6fb8fbb2af415604349f1c37c23a02e8ab9d87c8766791be97d2fb5537f85003da23e9da123db98db7ba662d96d054990067aeae31639dd22f4db70a340379b64002535825156dd7b797e0ce52e26e9a40f3fc845249bd7a471122a848d5873ee3138218b17513a56d0f63a48e174bbc1b5e75fa256a3483a8adb7ff111ee894622ab87337b322d655b77098423488346ea297f5e7b0c7a4a9a7ac7e2a37f8f1326e1b42eda8568f57b6ae54ddd448f1835fa0552329224ff124d0b08e7849ca478e8e9286f2851cf24c3b9541d7995774d63f49505e3242ce350a2d8fef58cb784143b043690c1dace0e7c0928c6ac2ddd37dc3ca1fa1fa598dfe8f6d8823e1443e07716f598d46a620d8af8f89e21ddce7775a29fb4f6f9df95eb5e6c08f8febd7223c945d6ce04e7890629465f2b7f5e14d5154f7161cd71a2b18e0628c20914eb5d5ea5033eead076d0d699e9c4179b2a291913d7a93ebd186f0766ebf09e5a41e1877e09d2e315afffc405795ba21994273f55f4ebe14d978a13c4ea5a5511fbd928adf3aec8b317fe406fc3be465a209e50ff5a44817bb26062bfea2c8b7bc0568307ba4853df8e88cf4d3c332e181a40082825820d202e399a18248d142dbab9cb763b642e8df1031e8c381ffb8d869410c4fcc1d01825820d202e399a18248d142dbab9cb763b642e8df1031e8c381ffb8d869410c4fcc1d0201838258390137dab9bb2d7a3a3ff47d50418b574d8b9ae85acffdd37bff7ffabbc81da920c86fee80710768690184ea9292968b4a5b1ebf2bdc2951f46d821a0011e360a1581cde9badd382e22795872bf2860dbe46e785b9c505b9c3f9c67d2b4591a14a4d484c4b42414e474b4f19714882583901d7ee9898101b050a2dcffb0cc752fb0682d2a7aadebd7e2f07435ed865bb660f6c806d23c1e3d0c0954b964778f0fe01905f46f010cba900821a0012050ca1581cde9badd382e22795872bf2860dbe46e785b9c505b9c3f9c67d2b4591a14a4d484c4b42414e474b4f1a0018047082583901d7ee9898101b050a2dcffb0cc752fb0682d2a7aadebd7e2f07435ed865bb660f6c806d23c1e3d0c0954b964778f0fe01905f46f010cba9001a008164a6021a0002b359031a0d1daffc81a1008182582038295976d2706366d670d0a0b115c360aaabc89aeb346e7a9b016e8120a829b35840254c219eb2c9a203c3bb52c91c14dced7521419d928176ec17e6042e9dbce6c9a21034cbe89ea9fac3c7af091ab64ed1833121ec925544f9876a28022caa650fa080", typeof(Block))] // Conway Block - // [InlineData("85828a1a007ea60d1a04eef88258207986632c436341dadb464eb33e9a507a1c234438517601c007799423da4d708258205153f4624db2e4f78a163da8bbd50888339d84d3830473ff2fe31e7020f603785820d746c4f866ffade3fa14371f6847f959ad507600b63e8a9748685964bcef588f8258403775fea8c6535afb589d21f74744c2c377045f8460876465651e4e69c739d5fcbaadfefaac6fa1d5b397b313a4e48cea4a52f458b3445544861eed265940b60e5850f73493ff204a2a80d1832491609ac57c42003e6d1f47aca8ebf70359c1587cfdc8485822cebb668e9a481875b88b09fa245c322a7cbe7cf0e8ed44b23bc3b9d85a4073679b08414b5dd61b00d6b4890b1901e05820c31f0c5102178ef6149c8b2f1857bbce45956b15503603e7c04b7b30b0825c3b84582043ac3937e039fc0326bfcd0f083acc5faf0d111e7f442420aacdc5b9b9fb9ba409190271584000b0ba683b83b6a9a6b5f7d027e26f3f86a8d05b6ac5d120f81272e91c383393d0c9aa0111419ed0ed4cec766cb11a2ebbdb349cffed02eb494b641252ec230a8208005901c05626fc7b5165b3efaa14a771163069fb74eed823a2681a6f2d0ca0f60dbbecd15d8db01f9ed7fffbd8df3443e09e0b90b0066e2bc3176dda89284b758efcb901e80c6d8597a6193b86621764ddbcfee1cf099ec7fb8f70d3d41aaee8efe5404bf885c9f468af82e27e4466f704a18beb9fc5f2f66e3b0e500714d1336b1706750b393d6f3df2fce415357f0caacbf8825e4b1eaa87d997c536c4018bd8fb0473ae704118f51db579840492970b86a735236c93c134516bfe656a933c6e1d6a37227c5c353008d96bea64aeb9c9cb639e5f1812374148ef6703cb58e231977e2a1212dcd4fb3b38042ef5ba7810037975ab71825dae9545b412f966100912e5d50a4b0dc824c9dfe3cdf84bcf1c8638c3410478dfb318cf44ab33abc6f8594db00d6c39c661c747f3d4feebe816bfd784378b499b5cbe3fa16b893600f28d35aefeee2854b75f063911745a164cef64c106a28adbb69df25eb21ae7943aa1bcec4013efd14ac49b593a395f08a113e6db465953f3ac5cc4b464a41d20b7bc309a7579762d6dfb4a3b6aefca8482794a018721576b567fdbb8ad5b17f6f923920eb3abe664d4d5221e76d2010a85adb42f9bde2b9542dc6fda303b13a8bd1a28fb82a30081825820ae680f6cf8e3e8ca1311beca960e8647e7009a1deb5ffaae38965cc69fe694b9000181a200583901a5df21aa0ee524fc0f8be1263cd2f80b01f59f5af8a55a054e1dbba89e31cb21c3ee2cfc0ecac5ffe56e21a3aca07434cccdf429cdd0c478011a0475b593021a0002b32da400828258203abdfc0329b22ae449bb4b79de5d96cdde7305c5fe5c2ec007135a59862c66b700825820749207f84ca33841719e920f709e5302ac16d764f67e49f093d9334082be99be010181825839013859de23916bbb41c0d691271d0a98c54b8913c870751e45c4da930200f5968396ecf5b2030660d61f9d6637443afce601ae26d5d29395be1a04b571c0021a000a036e031a04ef4cab82a1008182582078167d41cbadf29fbe2a206f385474905065ab90f26349f68daf81dfda52516158408e95c8fe5cc76986b261a1931b47f75553ebc317e51ea30802b5bb70c3ef5d28153265926e9b5139c4ab8ec407cdd49ffe31aff038e5d9d4d94d0d10165f200ba100818258206b4a301fcb1c9a89e0ee423790743b352f2ca3f9586fba267b4225fd7cec7336584042b7c8f32cb20a0c54c28dc293056fd1e156339edf568db4895a479efc123188316dc5269bce1fb7ad2cc3edcb7c0bf9c7877dd6161fadf10d512d1ebefb6400a080", typeof(Block))] // Babbage Block - // [InlineData("85828f1a005f60d71a02659fd7582017e878c2246dc522649590edc6ddff8c0910397198d9cf1da3ec7488afb44f1e58203dad01d35e7eaeeb62f95f5d76e2ee5e6396d1a6906976ebdbed78a59441cd00582076f2afc5f8986babb184c68e800856cbe034f1dff33ed8c3dc86c35c0583c7508258409d2b922d9e2bb74209e1fcb8c586fe05e2829a4ab293dcec757431cdddd1fd09a78d7bfd732ec9b6e864636c29c485806a00cad1236262562d75ea3538e17f24585088fdd2904dd4300170624027a6ae524b1742b8c50b04f04f0f58f5e909ddb930f31a50057631fd310d616cd5985756676a903b941d5dfc8f1696d97cb9a7040d2ae9262178de65ca5be01edf819c8c0d82584000005eb0b57ad1617b01c564f702a2c75778ddb57a325f1d33317f183588cd304ee638ea6323a76fe967662f232d57f85065d078ba1a169cdd598565113e556058504dc688f5eb69d8fe064ad016db62fa00625a4de9fe2794e87eaaa4503cc6e8ff4d399a2861b6c87a4d42c2272aca2e54fa71c7cd54e4fcc1c66fa7887f329f2236b3dd11bd592edcf4ca4f2acda866091901ab58202ad0f519064d482c800c6e266973185fead6c9ced91ed00040f2202a8e794a1e5820a6ad4b91df14e92d4a54b075493a2ff855d8366337f601a3cc98ad2b598328da041901325840e564622ee86b3666f9966367cd565348d8e8daa4bffb47a1985bc64a80358bc673ef226a4d7d11c6484cd32990a73ae6d0a2270c321e63f5a04165253f3c9c0c05005901c03cdaa3a6dd78fca76d62d73ee84267716b3cb43cb6d5007e06d3254f47076f4bab2282d91db2f69c38f2adef3e81fe509f2e0a8d8d999b436148b11e0e4caa01ec10812f60692edf6063fb50047fa209dff514fe33a32c47942695628355540e79ebc3ff65edf84a2b36a302423c3e13ad1dd363477721f120aa5ef5fdc01b147fdb01da60839eb06a8ec6fcb85d94d7c8862eb94e6555ce8e5902ac234eb2ed6e1523666775dd4be33f8dfd4d2d738af38b053f6b5f7cfe9fc3466dbfd0ef473ac5eefe9ae79543d09f7ddbe8af602464180007fbcde74e68c789d56a3a374178426d682286eeded33fe83518cb7eb10efbbdeec45442a9c0da4c656efcc4b408b82bef93f6773bb2cf6d6458def201b02dbe34616cd788f8bd02bfebb2dabd502f85ca78d8177abe953a6317327f1cb49206dd97437947452a52f86d0e18e52de49889b548dd05b6bb307f7b4413f060508ab2684b1324e29e74a01584337bb5a039b6abce81d90a8f193cc27af22cb43a2df3e55bbfe97696376704493322adb46ab9d716479159614bf5456ae914eff7ee3d47c3421c3af170d8e7acba34982355de78774f8ff2d817ae8d260253b7a79f12c917d25a9effd277af58f82181a50081825820d599114dee813f4c30ef56221465b4518b42ac494376f8e011f063cf513e2239080181825839016dfb187004fb9e2cd692fb1af87db1212101fb35c530f5ba960fd95c198bef55ac151048439f1a6260d8d4f56e49b17f252f420f3e5f04151a0077694f021a0002a8b1031a0265bba7048282008200581c198bef55ac151048439f1a6260d8d4f56e49b17f252f420f3e5f041583028200581c198bef55ac151048439f1a6260d8d4f56e49b17f252f420f3e5f0415581cd65467e9d63f124ed903101f82868bda6ffd39f83bc7d30de65a288f81a10082825820eb999ee40eb31fe5e46f1b9b12d892f7b557c4795fcee88bb0d633faab04b9105840426ade279ad95bdef4e6bb852d4735b2964e335d13a5eca18fa0b3f159bb815f1eee8c839cd89d727c9949c337d4a38d7e17dba18f3badcf605a0913a7bc240682582063ea71f82e651c6d12f176373ec8430fa4076cae60f82ecf5059a3640900c46f5840def0888ede9f1eabb8a28a7a03bf0db4e6b9f5600c6a34be13d4144404ba0a40721008477bbd9e6a7325acefac25de7b6dcb1ca1d534fdf4ebdca66add7a6f03a080", typeof(Block))] // Alonzo Block - // [InlineData("85828a1a00a583b81a080c288658202e62a8ecc77e71f626d2cbf35664c75b63a3eebe2d4badf6ba0b0df0af529a935820da667469a9333d13625bea1ce7e82d283f2e7881aabbb98fb730199cd1c3859158207dbc39eaa071ef17170eae8d510cc33bdeef61a7c1977bec298d13afa3cf9ca7825840e007b1d4039f47dc5822cb113e96259f945c541b949b19c315fc06fdc41e305a0ed7271a1476023845ce77be6b65d2d5caf2d157bd6df71d922f23f79391686b585092647ecf318fd0621ec4e7684df60394c2039876c0c1706ba689fd6f60900299339dc6cedf39395f855dfbb0bad05a0a7c44978a7aa101c0b9124227ff3f1c207633774320ba381245072964d5c77e0319073958203b94444f62c1852925596e0cd1fe0202ca954103c454e37a7140755cbdac1f1a845820dff43b23f75f4f0ee972dc3f0453706ff578ba0f5a3494631c50b425dff5664c1a62f12d00190409584067435dcd434790313fbfbbdd0b69174de44b26daa789095f76cb150b72971c31089b77bf98d491517637c21489b1fb8cd9079f9bb44ccb9cdd4c28e9eeb122038209015901c01bd888713fae111ac538bbd376e8c01810a0efa524096342eb201cb5e317f412b4832b9fb4353e42e3c16ed48a6615fa41719702c387c1a53de8c99b7f9a6d02036af2189e663ea69203dac44972d0620f32e3917762556f6ded1340b51fa0e4eff6b931a0127fcc1258b42c4556e924f855059907ff6b1b2c284eb01d5463550a3db9cc3e6ba2b8df23a91e8d1ce3cdbf966fd9f8f2c1e2621a2913b72ba4a7e8f47672df2e147530c698498122e8e1b1767fe57f0b957822840a536661c64c4ebea2eb9b827a2927e9cbb7f260ec5ea1012964f7439a6662b0d107c94cc8023c91cdff432031099f092853d98824687cc8c483c59767e18c3914ccff8134ec0572c4c1a967db5177b5622159e7eeb658a24e3769fd4780245f8df26865694db8c6b9c6560113c4d6410a13c5e208f99bb402153e0e2f90e880cc7b34d75b612b868151e64c8dce5de8cc79421f06c562bdae24ca28bf77aba11db4f4138fcf840713f17c2b5e71b900eae35ff32a69535108ca0f8189363c23cbe5459f550055063f9aba4beab9818558f1008cc72a5899d9ce5aa9525be4147f5d470f684641a5cecbfa2624181fecf91f3ff1252d865191c457ccbc01d25aab0fec8a202e82a500828258202af0b956e670a7f8667d4fd30f9500193d5818334aa15018e93e04060b8a137e008258202af0b956e670a7f8667d4fd30f9500193d5818334aa15018e93e04060b8a137e02018383583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a00150b80a1581c4dbde09bfa2ab3a3b37226d037a231408bd9d1c53c2aa4f7cd63ec44a15819494e56454e544f5259783636653938373566686f4651387931015820dc7b40e121c73b0bdc6250c2f6c399e611a40d5af96f54498968dfbff9d9cb6583583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a00150b80a1581c4dbde09bfa2ab3a3b37226d037a231408bd9d1c53c2aa4f7cd63ec44a15819494e56454e544f5259344936366539383735664658374b4c32015820dc7b40e121c73b0bdc6250c2f6c399e611a40d5af96f54498968dfbff9d9cb65825839016e7abfd835758934d24cf2a5dcaac7ac03d2bd8a9ae8a01136f23dd4151688125deff39bcfa0437986e1405a5f606d362351fd11a7057d9d1a00a07e96021a0003669d031a080c2bfa075820265eb17cc560853d2d0bf882a3f5a1ccdc0909803084a1d535176761b960b1d7a50081825820ffff8e7a45d4d7ff8e0c1a8df50e6303067543f0fce6062706d64f94196df01e01018282584c82d818584283581c831a859cb9c304d62fcd74385f89109b2291c50520f44b8ede4999e6a101581e581cbeab7b5c6b45ef58d70443a82faa8cf701550a6380d57d1b58096967001a608d4e411a02248ddf8258390179926128b02492c2096d072f0b929fd0a4b66c82c06295dca185be2be41edeba870a777502089dfc47d089feb3e5df3073e1ab3d9295fada1a77009305021a0002990d031a080c446a081a0639d75682a10081825820b0ca0805d01f4f69f548a5d6589df6170afab450a87742830e6f74bec942f0d05840da708dad177c98a971486ffb8d52d57b23d08658edb8517b7b3e04aed4a7c1a1f82c3a90d7441855da8900c73638a30704dbb385e9392421e73dabd01e593c05a1008182582075098bdcf84144572acc753681c03b68ab3f5d075c12affebd1620be689ca5425840bb04d58ff127f38ba019b2757b78d8f2f0e5270e769d7197335c8618b1ed03b18c8b47a5d01b23a424291551721a8a16655ebe55af0fbd7b720749796ee9b90ea100af181e61361832784064383739396639666438373939666438373939666438373939663538316336663532636230653563323736373835396463366166613933333137303062643666183378406164383838646363313430653636633130316239343366666438373939666438373939666438373939663538316365336339353336653239343765333337303318347840643537393361303262353933613864333262343961616165663033656130623262303363383766666666666666663161303034376237363066666438373939661835784064383739396664383739396635383163366537616266643833353735383933346432346366326135646361616337616330336432626438613961653861303131183678403336663233646434666664383739396664383739396664383739396635383163313531363838313235646566663339626366613034333739383665313430356118377840356636303664333632333531666431316137303537643964666666666666666631613032373633303230666666663538316336653761626664383335373538391838782d33346432346366326135646361616337616330336432626438613961653861303131333666323364643466662c1839784064383739396639666438373939666438373939666438373939663538316336663532636230653563323736373835396463366166613933333137303062643666183a784061643838386463633134306536366331303162393433666664383739396664383739396664383739396635383163653363393533366532393437653333373033183b784064353739336130326235393361386433326234396161616566303365613062326230336338376666666666666666316130303437623736306666643837393966183c784064383739396664383739396635383163366537616266643833353735383933346432346366326135646361616337616330336432626438613961653861303131183d784033366632336464346666643837393966643837393966643837393966353831633135313638383132356465666633396263666130343337393836653134303561183e784035663630366433363233353166643131613730353764396466666666666666663161303237363330323066666666353831633665376162666438333537353839183f782d33346432346366326135646361616337616330336432626438613961653861303131333666323364643466662c80", typeof(Block))] // Block with Auxiliary Data Set - // [InlineData("828a1a00a523741a08047a5f5820e0c3687aa31fb1a607b1a9f5b6a6bfbf0d6e1cb548a072b3f17c468e0e2171705820ff8543eee88111b2486c2ec3458f82becae92f25ba781feed8ed557ee20308535820598a5b0a3c1e78cc6d106cf7722100a1cfcc2eac9a00ef4f82f7493432c45c29825840b8927700daa3005fed60cea2830369c870d8bce6de7883993756e9e24b20328bb2d1b5ab0f1731f7028c7dd1f8bcdbb1cc08982ff65311cf517f148fcdab3d5e585061cfdc3b550a00326c3192d88c502c73671547ab45602a8598bfb551779cfbb64f327a6f1f91651768f129b53f049a8e425eb76b582a3b6d783dd7924ad931de7949a9b1ab95eecd9517d143ea306e0e190bdc5820fed38bd99e78b7a78bec7c62121c34e1dce8a1ffd53e0dacfb0b0162d567df09845820d588d2f424090bd34e520581418d1800c3deff3cac70f5d60554ea4b1fbbb40a061903de5840c289af8f559e339b3b3a40af6f50bca20e0c6c89819fcda3439896f5bf77e9bf096f80d730b087459ae4548ecc8e3b64409e0f9088c7f784a15a1107311e2a098209015901c0dc5742eec68aa7bd4c7e438da1c4c81cb24bd790132b0ebc95237bb65ba2e65d2c67a5f414554b4a943a48454884a6347f746aa41329d3518d1f3b59ad70f50661b321944deac8be88c4951bb5fe1f0e69ebde82a9d565384b89f6618090cf3209404fef6518cb1a76c70d0b0b088933c4725aa75456f023fa981d59f54f091affba5650b6c8127df50cefa448008c95611afb5e6410f008c3925a187c39d735258f4118b2c50370489f2373fcac341777833a44edfa13afcd44e22e165e3c309710ecdb6409c958bdbd2799b3fd8c277a1549b7f7bacf53c9cd4a432fc6272805b78b9f4797116c08afb07a4712981425017c0f76ffb3d10ac81e73c51f0b61b765880b75e03dd43705e1cc7ab887bb93be12839f809be219d6a0025ca8ea6d05411d3dea4a710a7d6269d8e7291b5628a72a5d21745af5239fe41f773d3cc2a9b6fbb12da46d0b62154210aeb30135a85f5cc357527318e90a4846c34d1d67f16c21fac52552562fe7830d852971160f945a0cab048e5b732f8de0e7b15a3e1b3728d7ed33918d1ea86b210fb9b5ff6a8abaadde4406ddfa947b4b7d72f2b87c25e64afc6821ca93c31798df13788fb18d9489c65c6d8b49cb9a61340a697b", typeof(BlockHeader))] - // [InlineData("84a30082825820c34b80824e4d50cdb9d787370ee1a15363e6488511d524ba6209248dde7df8c600825820c34b80824e4d50cdb9d787370ee1a15363e6488511d524ba6209248dde7df8c6010182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02b89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c01821a004dd1e0a1581cf3fc8638cb9b0016c979cb5543d74264e798b59dce5a66e2c49b0088a14847494741534e454b1a000ab5c7028201d81858f1d8798c4100581ca82c2d7809965ba7c0eea9a67533f3214b3576710b994e4cbf62f183d87982581cf3fc8638cb9b0016c979cb5543d74264e798b59dce5a66e2c49b00884847494741534e454b1a000ab5c71a000dbba01a05a5dbf1d879824040d8798219021c0100d87982d87981581c05ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbdad87981d87981d87981581cb89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c581c05ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbda81581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b28258390105ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbdab89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c1a0172a066021a0002c9b1ad0083825820397e26bdd945266a55a063eb268cffa2d2af8600116cfcb579882293b94a4f4802825820f2104505d658dce2a9c56e719681b74021604edefb78600ad0e4d66309f3a72c01825820f75a553e50c39504852f1646b5083aa732ab96639f692ddae0b1425be5eb8ade0201838258390139e175acc794f0c0a64e97b7e47f6725231e649552716d0ea2d1e19ea3ee719c6cc13a392afa50336fd89c7dd11339f2a327fb7464fdbdce1a152e8e62a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821b00000004ad5b8bbea2581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7ca1444e696b651a003ca249581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d53500158201cc9abfd664f73f4c2d2659382d6fef77b1cb3fbcac784de9bfbaf075454e1021b7ffffffff05c4e99028201d8185878d8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7c444e696b65ff1a0fa3b1701b00000004a9470c2d1a003c7d01181e181ed8799f190682ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991b00000001675806b3021a000a0589031a08047b0e05a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a08047a5a0b5820106f96ccb326ce0139ed1696eb5539c8cb76a97ba7cf649e0c8e2b867a487b930d81825820f75a553e50c39504852f1646b5083aa732ab96639f692ddae0b1425be5eb8ade020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991b000000016701eadc111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700a600828258203cb1e4ddaa1c566ab064f879b3c07c78e3210996e734899dc3eff17c47bf8200018258205af83a8e6496eecfae098d0517e22c87219a4777c0e8274af1096a8cd07f9e56010183a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f2001821a0029f630a1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca158204c20beaf8f5fca3cab69ac0e77002225ab68a18db599b46e69887720ce0e59db1a00340ad3028201d818590130d8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799fd8799f581c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20ffffffffd87980d8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799fd8799f581c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c58204c20beaf8f5fca3cab69ac0e77002225ab68a18db599b46e69887720ce0e59dbffd87e9fd8799f1a00340ad3ff1933951a343d4fd4d87980ff1a000b71b0d87a80ff82583901bc64c0754d2dd6b159df3116a20375fbb668de08709821054194018674714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20821a0020c0aaa2581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a048f2c13581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21b000000012ad80ca282583901bc64c0754d2dd6b159df3116a20375fbb668de08709821054194018674714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f201a00137847021a00030b59031a0804a4880758207cce1809afd843fd63688ede0a360bd003722f6f5652d327c4baa5edaace3db912818258200b7ef3c65046b9be82a43975475b155add927761f9293b6c580927c8153836e303a40082825820f2f1fd041fce9063fc79297d5617fd6d8a6eeabffc29d5c82c00b57e8bc4461d018258200b3c15163bb86f23e72883e7b93c246b22b8333e41d3bb035935e104f61b298500018182581d6170a8102ac53f3e845e1c0c631fbb2d3cec43c0b8b6b517bde9d8a4031a1490f044021a000288d4031a08047b22", typeof(CborDefiniteList))] - // [InlineData("84a10081825820e0e036402dbb03f0831399d1592c08bf6f19e37776ae3af3e31df9a6b71b74565840cba43eebf1b1a040633decb7633b072db8364bf10df5ae53a7ba582af95849be1211a672fd68be4ec65b292b9d775080001ec037033a6ec74ad7d5b26b66e008a20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f5840ddb97b1baf10aeda99a7dbe863aa733940fd92c9aed892c058f6fc429763bcb4a03d4213d176645722a489a030b459e96b00f83f92c4e59ce365452b5699500c0583840000d87980821962d91a007cc793840001d87980821a00012dfc1a0166fa60840300d8799f009f1a0013d620ff4100d87a809fd87a80ffff821a0014147e1a194b6900a10081825820d21dc325461e667c5da2e5b334dd7d50f22bbf3a6dabf93a41f8f2b01bfbd5ef58409abf83682b0548c3552510c3238cbcfd211bbc0e0f593b5793b049140fbff988f77f49404942a7c1106f7724bb73289fb6e97ff2cb30f7562d66660bc9b3e504a1008182582080deb1bd8db8574ab7cb772441c84df1012a17760f2569277157fc72f984e0cf58407b586539da655124da57b8e402fe893c5d7fff263166e1158689e3a35d58474baf0888d6d903f1610e9631fa522614b0f98e1bcc6e972a2aa96180eb5d226203", typeof(CborDefiniteList))] - // [InlineData("a201a11902a2a1636d736781774d696e737761703a204f7264657220457865637574656402a11902a2a1636d736781774d696e737761703a205769746864726177204f72646572", typeof(AuxiliaryDataSet))] - // [InlineData("83840000d87980821962d91a007cc793840001d87980821a00012dfc1a0166fa60840300d8799f009f1a0013d620ff4100d87a809fd87a80ffff821a0014147e1a194b6900", typeof(Redeemers))] - // [InlineData("d8799f009f1a0013d620ff4100d87a809fd87a80ffff", typeof(PlutusData))] - // [InlineData("d9050080", typeof(PlutusData))] - // [InlineData("d87980", typeof(PlutusData))] - // [InlineData("85828a1a00a523741a08047a5f5820e0c3687aa31fb1a607b1a9f5b6a6bfbf0d6e1cb548a072b3f17c468e0e2171705820ff8543eee88111b2486c2ec3458f82becae92f25ba781feed8ed557ee20308535820598a5b0a3c1e78cc6d106cf7722100a1cfcc2eac9a00ef4f82f7493432c45c29825840b8927700daa3005fed60cea2830369c870d8bce6de7883993756e9e24b20328bb2d1b5ab0f1731f7028c7dd1f8bcdbb1cc08982ff65311cf517f148fcdab3d5e585061cfdc3b550a00326c3192d88c502c73671547ab45602a8598bfb551779cfbb64f327a6f1f91651768f129b53f049a8e425eb76b582a3b6d783dd7924ad931de7949a9b1ab95eecd9517d143ea306e0e190bdc5820fed38bd99e78b7a78bec7c62121c34e1dce8a1ffd53e0dacfb0b0162d567df09845820d588d2f424090bd34e520581418d1800c3deff3cac70f5d60554ea4b1fbbb40a061903de5840c289af8f559e339b3b3a40af6f50bca20e0c6c89819fcda3439896f5bf77e9bf096f80d730b087459ae4548ecc8e3b64409e0f9088c7f784a15a1107311e2a098209015901c0dc5742eec68aa7bd4c7e438da1c4c81cb24bd790132b0ebc95237bb65ba2e65d2c67a5f414554b4a943a48454884a6347f746aa41329d3518d1f3b59ad70f50661b321944deac8be88c4951bb5fe1f0e69ebde82a9d565384b89f6618090cf3209404fef6518cb1a76c70d0b0b088933c4725aa75456f023fa981d59f54f091affba5650b6c8127df50cefa448008c95611afb5e6410f008c3925a187c39d735258f4118b2c50370489f2373fcac341777833a44edfa13afcd44e22e165e3c309710ecdb6409c958bdbd2799b3fd8c277a1549b7f7bacf53c9cd4a432fc6272805b78b9f4797116c08afb07a4712981425017c0f76ffb3d10ac81e73c51f0b61b765880b75e03dd43705e1cc7ab887bb93be12839f809be219d6a0025ca8ea6d05411d3dea4a710a7d6269d8e7291b5628a72a5d21745af5239fe41f773d3cc2a9b6fbb12da46d0b62154210aeb30135a85f5cc357527318e90a4846c34d1d67f16c21fac52552562fe7830d852971160f945a0cab048e5b732f8de0e7b15a3e1b3728d7ed33918d1ea86b210fb9b5ff6a8abaadde4406ddfa947b4b7d72f2b87c25e64afc6821ca93c31798df13788fb18d9489c65c6d8b49cb9a61340a697b84a30082825820c34b80824e4d50cdb9d787370ee1a15363e6488511d524ba6209248dde7df8c600825820c34b80824e4d50cdb9d787370ee1a15363e6488511d524ba6209248dde7df8c6010182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02b89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c01821a004dd1e0a1581cf3fc8638cb9b0016c979cb5543d74264e798b59dce5a66e2c49b0088a14847494741534e454b1a000ab5c7028201d81858f1d8798c4100581ca82c2d7809965ba7c0eea9a67533f3214b3576710b994e4cbf62f183d87982581cf3fc8638cb9b0016c979cb5543d74264e798b59dce5a66e2c49b00884847494741534e454b1a000ab5c71a000dbba01a05a5dbf1d879824040d8798219021c0100d87982d87981581c05ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbdad87981d87981d87981581cb89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c581c05ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbda81581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b28258390105ec4ebf3dccb3d2b683a8e8debc6fbec2581c8aec218dd100b1dbdab89c2769a6c73b4f4cc15b09f8568b77afb22eb6f872d0267fd3eb9c1a0172a066021a0002c9b1ad0083825820397e26bdd945266a55a063eb268cffa2d2af8600116cfcb579882293b94a4f4802825820f2104505d658dce2a9c56e719681b74021604edefb78600ad0e4d66309f3a72c01825820f75a553e50c39504852f1646b5083aa732ab96639f692ddae0b1425be5eb8ade0201838258390139e175acc794f0c0a64e97b7e47f6725231e649552716d0ea2d1e19ea3ee719c6cc13a392afa50336fd89c7dd11339f2a327fb7464fdbdce1a152e8e62a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821b00000004ad5b8bbea2581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7ca1444e696b651a003ca249581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d53500158201cc9abfd664f73f4c2d2659382d6fef77b1cb3fbcac784de9bfbaf075454e1021b7ffffffff05c4e99028201d8185878d8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7c444e696b65ff1a0fa3b1701b00000004a9470c2d1a003c7d01181e181ed8799f190682ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991b00000001675806b3021a000a0589031a08047b0e05a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a08047a5a0b5820106f96ccb326ce0139ed1696eb5539c8cb76a97ba7cf649e0c8e2b867a487b930d81825820f75a553e50c39504852f1646b5083aa732ab96639f692ddae0b1425be5eb8ade020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991b000000016701eadc111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700a600828258203cb1e4ddaa1c566ab064f879b3c07c78e3210996e734899dc3eff17c47bf8200018258205af83a8e6496eecfae098d0517e22c87219a4777c0e8274af1096a8cd07f9e56010183a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f2001821a0029f630a1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca158204c20beaf8f5fca3cab69ac0e77002225ab68a18db599b46e69887720ce0e59db1a00340ad3028201d818590130d8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799fd8799f581c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20ffffffffd87980d8799fd8799f581cbc64c0754d2dd6b159df3116a20375fbb668de087098210541940186ffd8799fd8799fd8799f581c74714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c58204c20beaf8f5fca3cab69ac0e77002225ab68a18db599b46e69887720ce0e59dbffd87e9fd8799f1a00340ad3ff1933951a343d4fd4d87980ff1a000b71b0d87a80ff82583901bc64c0754d2dd6b159df3116a20375fbb668de08709821054194018674714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f20821a0020c0aaa2581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a048f2c13581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21b000000012ad80ca282583901bc64c0754d2dd6b159df3116a20375fbb668de08709821054194018674714e4c629583b917f6b0b667c39dff7442dd1be175ec6cb0806f201a00137847021a00030b59031a0804a4880758207cce1809afd843fd63688ede0a360bd003722f6f5652d327c4baa5edaace3db912818258200b7ef3c65046b9be82a43975475b155add927761f9293b6c580927c8153836e303a40082825820f2f1fd041fce9063fc79297d5617fd6d8a6eeabffc29d5c82c00b57e8bc4461d018258200b3c15163bb86f23e72883e7b93c246b22b8333e41d3bb035935e104f61b298500018182581d6170a8102ac53f3e845e1c0c631fbb2d3cec43c0b8b6b517bde9d8a4031a1490f044021a000288d4031a08047b2284a10081825820e0e036402dbb03f0831399d1592c08bf6f19e37776ae3af3e31df9a6b71b74565840cba43eebf1b1a040633decb7633b072db8364bf10df5ae53a7ba582af95849be1211a672fd68be4ec65b292b9d775080001ec037033a6ec74ad7d5b26b66e008a20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f5840ddb97b1baf10aeda99a7dbe863aa733940fd92c9aed892c058f6fc429763bcb4a03d4213d176645722a489a030b459e96b00f83f92c4e59ce365452b5699500c0583840000d87980821962d91a007cc793840001d87980821a00012dfc1a0166fa60840300d8799f009f1a0013d620ff4100d87a809fd87a80ffff821a0014147e1a194b6900a10081825820d21dc325461e667c5da2e5b334dd7d50f22bbf3a6dabf93a41f8f2b01bfbd5ef58409abf83682b0548c3552510c3238cbcfd211bbc0e0f593b5793b049140fbff988f77f49404942a7c1106f7724bb73289fb6e97ff2cb30f7562d66660bc9b3e504a1008182582080deb1bd8db8574ab7cb772441c84df1012a17760f2569277157fc72f984e0cf58407b586539da655124da57b8e402fe893c5d7fff263166e1158689e3a35d58474baf0888d6d903f1610e9631fa522614b0f98e1bcc6e972a2aa96180eb5d226203a201a11902a2a1636d736781774d696e737761703a204f7264657220457865637574656402a11902a2a1636d736781774d696e737761703a205769746864726177204f7264657280", typeof(Block))] - - // [InlineData("828f1a006837981a031c4c5c5820df4a8bb8a02d39108b7e73b2ef10ff350809fc540bcf5a1eb3b54461916cf6e05820906262e02e028a438654048b3a7e7e62f52bf05bd9caf8d84ca63e90de9599f65820ef779829ceb58a7d0efe3b23aeefd500f6984480be56004c2bb21f92eb2e97c58258405f69c63aa1485b1da727f46ab3c3e0e634eabdea87d8e912dd58c7e8184d5ee062f5ab5f0715cbb9349deaa814dde3b5975d91e96a5cb7894483ea51c83d30fc5850f4dfb1db2d680a1abaa46354e8294493b5a61c3d4ec8643befdd633f11d86eb64ea7364ae4344dd5070992c911af49f8ec798425b3a939d6cf06d0ac7245b112086ce125e1ebd8696f250f75ad2ec4008258400006c53255504a507fe4baf9ad18bd1bd282b2dfa2564f05ebd30bd086f754639911b23ddd6f9105bf1451b916e1693cc30d47d186af5889bf639035bbdea0cb58500a673e5c00e0a8eb5eb1d3d9d528abfa3352f9b5648fa93f7e419a9d752049b8d83f56811c81d3332ff8b002259ae697199e625f5709dc2146f3ab2b9dc37fe98fbfd3c45abf619c699cb01ffaadc1031a0001100f582097130f5b030b11af8810f2a448b45b889aa188483c1f5cb8eaf55b1fd7e9becb582080e55751f42ca9d0f64b663ba30b8eb6e812dc6b03fb7c950bb8773b6cab6a120219017f5840504159adcae4f57d159cf466bb045e8cb0ef633573dc4306e95ea038384e242e63b9000fe29f7354247599fdce0cb20d18cc422d050373ab27b7763190d1db0e06005901c08a2c25b10f2130e282ae36a258898d818777ff1576d2ed08dd181c377e4262b779075f5ff87f32804aeedd7f6eb620a5cabc4a7be8ee23914418ac3e0abb6b0b5b155c087c3b2e80f9c12376f0f7a416b6a9e85f53e1aeff30b7fe819b1040af031f6781f894f8936387b3be29a9fc5f5e842a11582cd383f61d2d458246bc023d56667de9b43c1e74d69239f819e1717987ca31f48bbeb654063a37fe67708a232eee8dbc28647877bf6909f7a3c3802a1a31cc5198e0fb470e2481611f0be0ce1a74a5a94e844e39abc1da532872e3202b305577e3aeac5e397bbc97f7aaef156913ed009d666de2d4c3cc2760eae8580b1b64602f862c10bd5d29f63678b620d27afe36c0078e8a429889fdb390944759825a6fb069fbd3d1d1703729b46afcbd6cc13bed0f5b57ddffe380d7bea2860c91faa1b5dff1d59554fabc5ce1853ed98536a080b625518350db395cda38e17824cdc375381ea55c760b227595c0e2c1368800d921b5d96c0138ec6ff8a7979acf374cc274087c51580fcc58076c309f403dabc7d9b5c485598dd6cdf2c504dbb04f5cdc92dd84e31eeabd6d26a0fe0e927b85a7c06a3e19233cd0e76c2c0c68c1b7bb715325185a83ef645b949a",typeof(BlockHeader))] - // [InlineData("9fa700848258202e10247051ef5ab99f17d2a53df260fe2039a16f9bfd79d83af208eb054c9e940082582091771ac5b013096baac45c2fee712e58f928f7ee2d798cb1434d5ec253480a850182582091771ac5b013096baac45c2fee712e58f928f7ee2d798cb1434d5ec253480a850282582088e7709cf70ec27b993dba67274294f03ebc18cff0e1208d750e45980870dc170001858258390170e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a721e78aae7c90cc36d624f7b3bb6d86b52696dc84e490f343eba89005f1a00f42400825839018241b9a7cc0f3e2205d22635fee1831c20c2d10e40a783f45b47f6fee4446ca418a2b0a2c8e0f1f4d999c3e646d7c8bd6afd3bdc54161bd31a00f4240082583901a114aeb8a1758760a3d61abe41895db9cd61fc5df7d4f734b17a6272d5bcb2d0561c38804942f0ae721151e84d0670d9a65d830d6947b5621a2dc6c000825839018ad56de5d1eee52f20c9d817da44ef8a24e8c571d59ae7eca102da4040a034037ace42edd17bae1292caf394675777676609c8867666b423821a001c41caa1581c1a645cd395468cf51b24ba319aefb0279e9cac89a193dc2348619fffa15041646176696c6c65486f75736532323201825839018ad56de5d1eee52f20c9d817da44ef8a24e8c571d59ae7eca102da4040a034037ace42edd17bae1292caf394675777676609c8867666b423821a071b73b9a3581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea1455041564941193a98581ca5bb0e5bb275a573d744a021f9b3bff73595468e002755b447e01559a556484f534b5943617368477261623030303137393437310156484f534b5943617368477261623030303137393437320156484f534b5943617368477261623030303137393437330156484f534b5943617368477261623030303137393437340156484f534b59436173684772616230303031373934373501581cae7d09e33000792256e010e2d116445eac5df2fec52a4ec247136c74a35819536563726574456c657068616e74536f636965747930353337015819536563726574456c657068616e74536f636965747930393535015819536563726574456c657068616e74536f63696574793138303201021a0011bca5075820d36a2619a672494604e11bb447cbcf5231e9f2ba25c2169177edc941bd50ad6c0b5820b62102e9a7b3ea7d692193a0ca4d14d1416cd01df4bdd1a39c85a64c650f56ae0d81825820f5c53bf6ac9053c104c007373b448fed3e78455b379ce81ae7508771bdf1b92f000e81581c8ad56de5d1eee52f20c9d817da44ef8a24e8c571d59ae7eca102da40a30083825820a148e7c83918fe17ae1bb4556d46f10dee2d87d284ed6a78eea8b9f55e6749e60082582083df96a9347b26b1580f6d218068c945d0123bc5e66424281fa49b2aa7e39a7f01825820bf60d34db78e305fed3267ba99ab5e92eeb5431aefe271bc41b4e0a9c168a46701018283581d71483788748bd6129043bfc87fba9c0b5bc7e49b892efdc9dd783e3285821a001c41caa1581c2d01b3496fd22b1a61e6227c27250225b1186e5ebae7360b1fc5392ca15054617665726e53717561643037323231015820824af6b4b846bdbedca823abc0262dd0dfd909a68c2163902988845da31f0c13825839016c0718ffceed49b74313fdeca1b92b9b6f1c9024dfa40e1345b03c7e9e6d63af8ef5ecf1d40b009326c4242b69f8c99a46e1263012365c17821a004a7465ad581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e01581c46f96dbed1e14d3fe1ca8ed08e7db2f848b50769b51ebf6547728ba2a152576f6f64436173746c65574c53313036363801581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431832581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d4249451903e8581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e20581c95ef7829379af37336b98b487c03c389c288cf938f54ddccd10185c2a14d536b756c6c4c5056536b756c6c01581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a02faf080581cb34b3ea80060ace9427bda98690a73d33840e27aaa8d6edb7f0c757aa145634e4554411832581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba144424541471819581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e7303581cf8f933f5c37a7e98903826a14f15c9dbc8af2bdb14c3ebbe1eb8d440a1581c436c61794e6174696f6e48616c6c6f7765656e50617274793230323101021a000318c1a90081825820a00ceea612f9731ddb8b1dd7be7619489ae4ff7c6b14ab0d428c3b493985495101018283581d71ba158766c1bae60e2117ee8987621441fac66a5e0fb9c7aca58cf20a1a3bdf7420582029818f785c315a115624ed58c4d78f20e01e428d8bc8a9c7664edfae80dfa5d3825839011b3a44750b579623b54c5e16ea3a2b040171c4239502eb5f45571bdabf79a539836ea5193c644dd841878342e49de908b4e5e93dc79d108f821a5ade79c8a1581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441b000000021c90c78a021a00033859031a031c714f07582068c09da87243e0be2be7d69b3379d2b5a850f1954696e153d822ba5719349671081a031c39100b58200dd3ed9d2b26bbd1392f81fa91edfe5d54607305f8acf473cdb04646885c5ab60d800e80a40081825820bb089400e42c512ea4b616b94edf8586885971fa29720fbac663b37797f586f70001828258390137494db976ff1c9611029a198a04d6c67f3f69ba2b3da8942fc45606116768499687de57d01976b0b29c486d8ef22691578b6bc6ee08ed181a000f42408258390137494db976ff1c9611029a198a04d6c67f3f69ba2b3da8942fc45606116768499687de57d01976b0b29c486d8ef22691578b6bc6ee08ed181a003a7783021a0002917d031a031c8e19a30083825820f0afe69dd22e56e0d4587aa6d0b90cb94a6f446226593cc49e4d035fd18f492502825820a0e75bbe1d88554e8afa95048902f4990acf06ee73fa9635bc1c3b2eff66404700825820cdb7ba25c94468d555b8e7a5b80243788160ead6ffccd1c11ac6fbd9ba42c89c03018283581d71483788748bd6129043bfc87fba9c0b5bc7e49b892efdc9dd783e3285821a001c41caa1581c16a0bf1c13772c039e6f32f39dabbe44ae997271c6e80d611938da78a14f547572746c6554726f6f707a393937015820910199c57afad3bd3e830d80cd06429833fd0d039736df78f6ac810d1cf6f98b82583901ee55dbd7d1a0be965da845c034af6a5a1f5beef18154c8e44ac3c69926fdf98bbdf2866c6cddb357d124e0787bb55482f4e26e301a68e4c3821a003376ada2581c0e4a1ac3f1158a5ba61d7c1704eb0e04dec8cd834383d0115bc5789aa156436172646153746174696f6e4c616e6450323250353401581c8af3068889a7cd26eccc1db74f9be10bd4987008669fe6acbec11467a152416461436869636b416c706861733039303201021a0002ca35a7008382582066cdb56a3e761dcc5c24c0cffefe8d27511d303306cb26062e80d4692b985c4b008258202a89802225200ffb83d31e3d2f871a154c199aab2e46d125cb382bc74900f2270182582000fe891c7858a52e9dbbcfd767fbaddf66df2558604acfbc9b5663018daef6d202018282583901c15f9e5246a16c2ce9ac5b670a8a2b1052975e7b0026c198ce02c4dbd3b062336b75e53f39a3a4216887fecf16a6edd2f678f04d14b1166f821a001c41caa1581c5a46271a9b32a4517ced20be4ba1f184c2f91b1a5dd480ab639eee57a14d42726967687450616c303135370182583901c15f9e5246a16c2ce9ac5b670a8a2b1052975e7b0026c198ce02c4dbd3b062336b75e53f39a3a4216887fecf16a6edd2f678f04d14b1166f821acca35977a8581c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b913a1456c70201e011afb6cdb4e581c1cad64fda64efd18c2379e53543b14dfe5b3ecb273794ab630acf59ca44f47656e65736973456d6572616c6434014f47656e65736973456d6572616c6438015047656e65736973456d6572616c643233015047656e65736973456d6572616c64383401581c349b99288181cb7ba1ca65f5e188dd9b9a9dc1ee1694fda7c4e61772a14e5468726561644d6f6e7a3033373401581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441b000000018f19a87c581c95ef7829379af37336b98b487c03c389c288cf938f54ddccd10185c2a14d536b756c6c4c5056536b756c6c05581cc7e043870f52b06b55f9003fdb2de82646066592c0eb054c8d763b92b81a49456d6572616c6432300149456d6572616c6432310149456d6572616c6433310149456d6572616c6437350149456d6572616c643839014a456d6572616c64313030014a456d6572616c64313431014a456d6572616c64313939014a456d6572616c64323132014a456d6572616c64323335014a456d6572616c64323631014a456d6572616c64333033014a456d6572616c64333236014a456d6572616c64333237014a456d6572616c64333432014a456d6572616c64333732014a456d6572616c64333733014a456d6572616c64333832014a456d6572616c64343832014a456d6572616c64353730014a456d6572616c64363138014a456d6572616c64363430014a456d6572616c64363431014a456d6572616c64383633014a456d6572616c64383634014a456d6572616c6439313201581cca5fc915496a771109b98c4a2b76e32c21a8229f3332398cb8babcd7a14c5261747344616f303039313601581ce2ed73b580344b69642683be7e807de1221462174c806d25164f72c4b8274e4143524f4e594d4455434b303431014e4143524f4e594d4455434b303737014e4143524f4e594d4455434b313031014e4143524f4e594d4455434b313032014e4143524f4e594d4455434b313234014e4143524f4e594d4455434b313333014e4143524f4e594d4455434b313438014e4143524f4e594d4455434b313539014e4143524f4e594d46524f47303335014e4143524f4e594d46524f47303432014e4143524f4e594d46524f47303735014e4143524f4e594d46524f47313332014f4143524f4e594d4348494d50303334014f4143524f4e594d4c4c414d41303234014f4143524f4e594d4c4c414d41303235014f4143524f4e594d4c4c414d41303334014f4143524f4e594d4c4c414d41303335014f4143524f4e594d4c4c414d41303531014f4143524f4e594d4c4c414d41303639014f4143524f4e594d4c4c414d41303731014f4143524f4e594d4c4c414d41303935014f4143524f4e594d4c4c414d41313038014f4143524f4e594d4c4c414d41313130014f4143524f4e594d4c4c414d41313137014f4143524f4e594d4c4c414d41313339014f4143524f4e594d4c4c414d41313435014f4143524f4e594d4d554c4c45543032014f4143524f4e594d4d554c4c4554333301534143524f4e594d534c5954484552494e30373001534143524f4e594d534c5954484552494e30373401534143524f4e594d534c5954484552494e30373801544143524f4e594d4752594646494e444f5230303801544143524f4e594d4752594646494e444f5230313901544143524f4e594d4752594646494e444f5230333301544143524f4e594d4752594646494e444f5230353001544143524f4e594d4752594646494e444f5230373901544143524f4e594d4752594646494e444f5230383901544143524f4e594d4752594646494e444f5231333001544143524f4e594d4752594646494e444f5231333801021a00125d85075820d36a2619a672494604e11bb447cbcf5231e9f2ba25c2169177edc941bd50ad6c0b5820debbf0b54dc8252bcbe0c0431e055921273708740766a7255421e55fa042a6520d81825820f1a4a44131329f516fce19b8d67d6890a1f23388366d06202860623205580bc5000e81581cc15f9e5246a16c2ce9ac5b670a8a2b1052975e7b0026c198ce02c4dba7008382582097bd95a1fa107a85b9d1d0965d56d7ee8e71ac359b7352620c99a4fb03ea33f80082582089a51281ce912c7a847d0c1f55e2706d43a16df4cb28820ff1bd1139971c17f80082582097bd95a1fa107a85b9d1d0965d56d7ee8e71ac359b7352620c99a4fb03ea33f801018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001cd277a1581ca6aa0561e88604f80ffbc4b884bf8d1b13a36c4f59e5502183482481a1574772756d707942756e4772756d7079466c6f6f72303439015820a8f23b3838dd5f4643bceeee70b0c79db5929a7d93513e0470670f3fff868271825839018904c9e2001076eac117e8b64df86efa331c77188ee974526d5abb67315e53b6e85def07d77b24a667bd3032c0db070fc2bdbcb34f5b9d06821a3c0634afa3581cbb78d3b6638537d6df7ae43791ead3d50e75fdae82131eff2b7ae994a5581b556e626f756e64656445617274684d696e75733236506c7573383601581b556e626f756e6465644561727468506c7573344d696e757331323601581c556e626f756e64656445617274684d696e7573313135506c7573373901581c556e626f756e64656445617274684d696e757334354d696e7573323501581d556e626f756e64656445617274684d696e757339354d696e757331303501581cccb3577601d6cf0e021288871112926338bee685c6c37eeadf6dddd9a35243617264616e6961466f756e646572526564025343617264616e6961466f756e646572426c7565035443617264616e6961466f756e646572477265656e02581cdac355946b4317530d9ec0cb142c63a4b624610786c2a32137d78e25a154616461706543616c6477656c6c4564776172647301021a0011f365075820d4037077969bf025cca4e3124bedc82557a85d9ddd42f128d760b2f0ae2712450b58206ebc6d25ba73eca1ee4b3f1a52a8634b913258b3479db159e275b003f4cadf700d81825820af811108c0b01ba89aa4289d00e95b358bc6f9065fa27c96b873f8ae8a321c60000e81581c8904c9e2001076eac117e8b64df86efa331c77188ee974526d5abb67a40082825820cbaf4915d889224920b103b2aaf251abf3abc90815c4ad7faa77f334c065089d00825820eb3c4e5e1fea516e9805929f6ebc69b8a64b6497e378bb3d5ad7096b5bc9d4f100018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001c41caa1581c247e182a8e95bb556ebfde2f8a783a1c52b0c11fd5222affd8969918a14e4d657461706c616e6573313239360158208d5dc742e12ab7bb0bb08a6a58efe45b8e4a6ef4d7097e842bb1a48740b08a268258390144b65bc761557cac97042758aa2731a205233f03f4c289873f8cbfe6558f078fb53504f9cbc5bd217eaf93a2e2bdad98788a46cf3811581c821a00846a93a1581c247e182a8e95bb556ebfde2f8a783a1c52b0c11fd5222affd8969918a24e4d657461706c616e657331383432014e4d657461706c616e65733232313701021a00033777075820ce3035b48e43d8c61e0364020ca3b3b758ce1811f9adbca1b5e623d8dfbcc993a6008282582009476e5276f492362446d16e38a89f420f5a92882ef9de7e8980702ee4ec7734008258204c948ed68812d9520a221945143fb432e03b5562fca8ff76d7fd3c9933577210010d80018282581d61f770bbfb8428d0e9e0351178d4150298ab234e01216ccd81cc5a02f11a0487ab00825839017cd74162b9b66c77fa8ad94f2ad1a5e036f8a1ea85db9a43662ce7749022c86b4739ce4ab4e4b354b0f17126d2b47150867cf58ee1fa5019821a00fe1116a1581c16a0bf1c13772c039e6f32f39dabbe44ae997271c6e80d611938da78a34f547572746c6554726f6f707a323031014f547572746c6554726f6f707a3230340150547572746c6554726f6f707a3238313001021a0002c5bd031a031c658f0e80a700838258203168b2c81480a3042d94d5a49400ca46a7b6fdb3bf358c91e69296bafe43c15000825820ae6da071c85b0aa0d7d13a76e5389fab1e1817507062d0473a88a2b81e55ebdb00825820af5aeeaf9bc4c1b0b3334e1bf1487b548a243dfaa5b6eb67939fbac745e06e8d000d81825820ae6da071c85b0aa0d7d13a76e5389fab1e1817507062d0473a88a2b81e55ebdb00018382581d61a27fc491acc4d63aeb43a4ccbe3563f3e646032c8c3b03ae9210a6ec1a0062b74e82583901f880878064316a8c2f40948820ac60605dc6d91e107ab2021feef934ecb2ada9c6dd3c187fee0448dfc28f9cc89bec35b95ebff65a75f8da821a0016e360a1581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441a3b9aca0082583901a1b297d7193b9122770526979453365b4d780f6f726ed53303e01b98838aac652e335e043dc7c5f6387eebcdb0e33129e1ad666b9f4000461a0d33d260021a000edaa8031a040ecee20e800b58203e73f3507e6445ec499e8741b85b394591a68bb46248ff9f3c5e307f16285663a7008882582016a40e6e705c693c57aa5c4a11cd26009985546d81be3d54d93552ee80233260008258203bfeeda9d8b77b96e66bfed7fd5afd02c705acf89f8065b497170f10547797ab018258206225d2a1c49cc670cc837654e524dd3112f46ee8ab06c51594823cf8e81738a0008258207d5e3a08984e3464e6d049b6a37008fd953e623e707047d0b49b494a74927afd018258208fd4563973f5fbd5d452ff2eee5250e250c3156a22a2e144a208549edc95e50601825820c3ab9c204468b902ea950ec65d8fe9dd950a58e193f190b7dc95921fb83446ee00825820cd21b1eaa66a7aebb2c17818b63a9aaaf49de14685b443e7897b7dd391cef2f000825820dad2154c553a0c76641be3ebf0a945dc17b9b783143fdc819a547e130546836d000d80018282582b82d818582183581c291b32ad27a014c1abb82dfef0a05a02cd94562cc34cf34e001e7c6da0001a016b79221b0000000980d2bc008258390127357a6e740f921781a8a4c0fc536b149d0c8ab5d530bb362360e80572a0e7096c4d10734f15d355a9ff2a7674675e13b751a02b2af3af5e1b0000000793af944a021a00035491031a031c65bc05a1581de172a0e7096c4d10734f15d355a9ff2a7674675e13b751a02b2af3af5e1b00000001340d06790e80a400818258203d879f6f5d6fbe084c060cb3eae6cd61b92a3bbc53bfc3f75a803dc52f12b14801018182583901b4f648f8a54c8e58c27ea9bdecccd5ba308582d5ecdcc35903656e61994bb491ef7b8955db858dd91a25c964ed798230bf208ad9908fc32f1a01322369021a00028651031a031c65caa40081825820a9db3267da0896e7b4a5f55a9f840efcddda23de606d89a8801c13d99dca7a6003018282584c82d818584283581cd30055f9486f928d31adb809107b76330144bb049165f17261afc45ea101581e581c5eaa48873c92614ac90b7fe371ed69627a6c16af13271f9f22708fbb001ab925c4e51a00b71b00825839017a58d5e4070f6b30916d81e6df12cb016f841aac36fb731e3c761c946a11e7b4397c5d01d3e2e98d292955178f8e3e2d939b36f3d4adf1ff1b000000011ced6b18021a00029571031a031c65d2a400981b825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d008258208a0c1c184f072824f2945c252df39a74fa07b6ac5bdf0bbae42e9657b249d86a00825820a247b664d16d538b274d8c265c4fb0199c3cbfbb98d284c3f5f6189667520bb00082582001de0b4c881ec52be20d7806a13bce162351d1502d4abe59698262b16895a8da00825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d01825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d05825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d11825820f5f9d94ead85fd3de3b531683591b3a6daaec8d33ae79874154bff36ed77221706825820bc9ceba28f3f8f2f5b0d6728c370a8ea5771e7201961ed62224a0a30621f70ae14825820f5f9d94ead85fd3de3b531683591b3a6daaec8d33ae79874154bff36ed77221717825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d14825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0c825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf00e825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d17825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0e825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0f825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d07825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf00a825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d09825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf011825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d1682582076265a7d8c35abc221ba583abb78cb1e2d896247b78fe310bdaf067600196d020d825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0882582076265a7d8c35abc221ba583abb78cb1e2d896247b78fe310bdaf067600196d020e825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0a825820be1266057338d2054928b81b4902abf7580eb03c2f068785543f99fcbce0f5a00c825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d0b01981b82581d61220099e5e430475c219518179efc7e6c8289db028904834025d5b0861b000000011d210b6e82581d61c232edd30746e3bce85ffecdfcccb79f79c043e5a590260b195654531a6d9ce9c08258390106072e9540dd57013625a4c2a5f517a7c7386cdc385de786cd8d2906572e8bb2c4278ebe923aa0da61229b00a47d498b5dbef8e3b4a991ab821a002ed3e2aa581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421a3b9aca00581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461a1dcd6500581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a000f4240581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1901a4581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a000f4240581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c19014d581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531819581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f0a581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e2082583901576ec66424f8c0cd2bb4a32cd8e51985ac874561590e7f157ba57f57641c0ed06f2a1c132dec10d8f6b8ebbc345b78c84997eb7cf06e1f5f821a002f5a94aa581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a000186a0581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e01581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421a3b9aca00581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491832581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e01581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a000f4240581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a1445155494403581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a14444454653181982583901d0c70f78a7c33b9d7c912b7519738c0ac6eac8d5886f1962d52aa033f9b9270bac21803480c6328b849bd1eaa704dcecf6fd9edc7017a373821a002fe146aa581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e01581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461a1dcd6500581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a017d7840581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e05581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a000f4240581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1901a4581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431832581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a00086d13581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a000f4240581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1a09374d6482581d6103a5c2fbfdaee8f80e2bf2631925a61eb57ee6a14288f4f0036b386c821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501b009f56b913e9760082581d614fd2f639b20ca9c36de08ca42efd2f31f5e84a034a8de1929407e23b821a0014851ea1581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421b0026dac903adac0082581d61790c1f912045839eb2ef1ca07cb579f8e7021d8b651c829627e00e03821a0014851ea1581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b01629601bbbd745382581d616836aeaa1f114ce63af63bc5d876f3b86a91192472c8d0e3af8d97c2821a0014851ea1581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491b00000f7621ba2b3582581d61034e92cf3a95db6fa7fa7b2707645e1a118ada6fcced3d0c4abd359f821a0014851ea1581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1a0393279c82581d615ce8bdfb98e00d0b01b1c7040e2a3faf2115c34aa2742eb2a640aee5821a0014851ea1581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591b000000cec4bd400082581d614c9faa9b51a9ec1d07f520ca9b310ea4a5c95006d5e24a555ae96b29821a0014851ea1581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c1a0121227982581d61cb219137fa81d02325827592ede402d4a830ed8e350785dee65b50ae821a0014851ea1581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531a00884c7b82581d61a14463074aebe2f7d88a9f34b7e1df82a1692d77928d2fd4d4223020821a0014851ea1581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1a00935e8482581d61110d94104e91686e1948b338de1cef3d2243e425b4736880bd7d5875821a0014851ea1581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a1b0000000927f5b60082581d611ab9fa3f17ff6c9155931e607d0eb354e864ca7a51b883c55fe8c640821a0014851ea1581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411b000002b975fcb12082581d61f3f7e02cbaf07fec24f9353c39a5c555a348d32bff2566d084dd1e0d821a0014851ea1581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e1a1acc0a8682581d61e418e81e5cffd84e31a73d8a139def978e0f52b8abc09de0f1e77be6821a0014851ea1581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491b0000003a32d5f32e82581d61bdb2b72bd6934e2d3894210ffcc805a5d9b20769a24c9c4051fe7e3f821a0014851ea1581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e1a0006e12682581d61bf75c1d259a426d51358094aeefa2340beceb69e07e0883a54b0c722821a0014851ea1581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a144515549441906e782581d615d9a57c64c11dbfd5b91ec1b5c2e9527371df34140cc190ebc02a568821a0014851ea1581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791a01aa912c82581d613f582714c8afb9a5d468067d0cdc6ec319bf00cb8ccff503e3f6451c821a0014851ea1581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681b0000df93dff477c782581d6119b6f41d9ad64263eba792d2e6f72dc6e4f527efeafe99901d489c9c821a00150bd0a1581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e1a0029b8be82581d61ac31a7793c657061c1c6cd4b142c6ff2b81d76fa0331c32970664853821a0014851ea1581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431a0544b87682581d61b96ac3086bfbdc78822c5f50d74e58e62ca68f59f4c676693cc9c8e0821a0014851ea1581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1b00000041a07ed1f182581d617a1ff04d9cd1fac79d20bb9cddebf0b989923993ee973e342d8d4db1821a0014851ea1581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1b000020bfe7d7484082581d611c1c28481d4fb839fdea3564f662da863557a7e0d246986e1b31e4ca821a00150bd0a1581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1b00f7f4ac169a81ff021a0007a8d1031a034390a2a40095825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814200825820526a4e78d207ddbcea8b67745a7b268bbda239a33add35d05834d42918f16c1c00825820ee2ba9e4f80619a6a6ae6a515f1be793c39dad46f240185da6c5353f51a4de4400825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814201825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814206825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814215825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814211825820f5f9d94ead85fd3de3b531683591b3a6daaec8d33ae79874154bff36ed77221708825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814209825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d13825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981421819825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981420d825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981420e825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf014825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814205825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814210825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d10825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf009825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981420a825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814213825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814214019582581d61220099e5e430475c219518179efc7e6c8289db028904834025d5b0861b000000011d35b6ab82581d61c232edd30746e3bce85ffecdfcccb79f79c043e5a590260b195654531a6dbb6e40825839014a9f3d9730ce95996097965416556bdec8704fb8e53b8fcc295d1ccf46bed4b2f457d2e87338a162587553659df0bdc1c9712319fe62020a821a002f5a94aa581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421a3b9aca00581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a017d7840581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491832581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba144424541471819581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1901a4581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a02faf080581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a000f4240581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f0a581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e20581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a1444449425319138882583901e05716c5fccb95b8e2d012eb4f7d4ee392830c53588f96c2ae5ddf02814719bbdf7f6ac68d1ab2f136c1fdc9ebe7bafe1c7f129aca5415df821a002fe146aa581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e01581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e7303581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a017d7840581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1901a4581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a000f4240581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a1445155494403581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e20581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a1444449425319138882581d614fd2f639b20ca9c36de08ca42efd2f31f5e84a034a8de1929407e23b821a0014851ea1581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421b0026dac8c812e20082581d613f582714c8afb9a5d468067d0cdc6ec319bf00cb8ccff503e3f6451c821a0014851ea1581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681b0000df93de76ff8782581d61e418e81e5cffd84e31a73d8a139def978e0f52b8abc09de0f1e77be6821a0014851ea1581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491b0000003a32d5f2fc82581d610d14797c3c4134991ab90e52aa67376f9fdae136bc1c93aa93505aa6821a0014851ea1581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba144424541471a0025aef982581d61034e92cf3a95db6fa7fa7b2707645e1a118ada6fcced3d0c4abd359f821a0014851ea1581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1a0393245482581d61d117423375cdfb759cf97b39643c2fe9d84ae8f3cbfdc27cf98c5b37821a0014851ea1581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731b0023853966f1ba8382581d617a1ff04d9cd1fac79d20bb9cddebf0b989923993ee973e342d8d4db1821a0014851ea1581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1b000020bfe7c8060082581d61a14463074aebe2f7d88a9f34b7e1df82a1692d77928d2fd4d4223020821a0014851ea1581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1a00935e7a82581d61110d94104e91686e1948b338de1cef3d2243e425b4736880bd7d5875821a0014851ea1581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a1b0000000927f519c082581d611e31596d1ad39e6b83995c7654454f40b93059c2ed9e085f2dde0987821a0014851ea1581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a144444942531a3832371882581d6103a5c2fbfdaee8f80e2bf2631925a61eb57ee6a14288f4f0036b386c821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501b009f56b8d84eac0082581d61f3f7e02cbaf07fec24f9353c39a5c555a348d32bff2566d084dd1e0d821a0014851ea1581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e1a1acc0a8582581d6114547e312e90c0dfdcc4ca42a31398288792aa24f4d8e8d7cf767cd1821a00150bd0a1581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e731a0094937d82581d618654c63aea6a49ac47f216d18eed95306e62f4906c517e41fff22419821a0014851ea1581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611b0000da76e15d99f082581d615ce8bdfb98e00d0b01b1c7040e2a3faf2115c34aa2742eb2a640aee5821a0014851ea1581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591b000000cec4adfdc082581d61bf75c1d259a426d51358094aeefa2340beceb69e07e0883a54b0c722821a0014851ea1581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a144515549441906e482581d615d9a57c64c11dbfd5b91ec1b5c2e9527371df34140cc190ebc02a568821a0014851ea1581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791a01aa8f38021a00062ae9031a034390dea4008182582005d22a0442994d348857b7598cef569a14cffa2b1ad4cf2d80125a3190706df301018282584c82d818584283581cb2a3c920995422a994cc3d8ebe7d9905f91aa6084c858f4578eeb75aa101581e581c2f09fe19d45134c8d16d10b20bb2f775f3256a8c227b62e52b26e73c001a50ce1ee01a03938700825839014526edbcc66e98daaec8e43bb156e054a36b74416654a0021537517448a65080e0c14ab0ef0b21367f670746c7fe4d65e8cc10fc33edba621a74b6d17e021a000294c1031a031c65eea8008282582062e4ce64b27db42ced77575df679ca50bf8e4eb141e32f48cb2380d0c6e14fd200825820e9644e3cfeec5e77534dcfe41e479345c9685e6c1cb0b4a012c4337da2aa73e9020d8001848258390152f3aa11114eb02a87c882a7b0a1661aecd7b4a4d5f31a95811cc2c8ec05570ff31d314b72d8fd2d940259a895731374fda24031fe8cf1901a0148966882583901686add98f61e3b755b26f6e816ef33e0c49c26c7c6ec337ef2bda03dbebf3ae32a4977f0701b8d1531411c77925ad7f4c06cabc7913ad2e61a0148966882581d611386376a01c20eb92a591f6dbead3e188f8c29914867aee50d32eca6821a001e8480a1581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a6a18a50082583901e944d7cc0d54749fe82780226c76aeda58adcf109a6979ef6b43985cdaedacd371fee1c4effa38ce2a437e79aca3fcbc7713a8cee546c2a4821a0019ff17a2581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a01312d00581c39086ef91d452d1b6ea9c8c92a2f3243467ddf93bf7c142d370e7d64a15243617264616e6f4275647a4832533139323901021a00037959031a032b8b540e8009a1581c39086ef91d452d1b6ea9c8c92a2f3243467ddf93bf7c142d370e7d64a15243617264616e6f4275647a48325331393239010758206c361a1b4c179b54e359c428f7c30c02b1bf74c79a33d3604bc7b80b5074f957a4008182582037686ce676806dfbd5b0f485b7f08b72bd860ba43b8eaf813bb422f6acedf69901018282581d61f770bbfb8428d0e9e0351178d4150298ab234e01216ccd81cc5a02f11a0487ab008258390178f1a29dba560a22ae1a3c3c5c754e9c49a5fa2bf29871608bd580ec26ca97e2df24138343f31efba68aadbaf197b2a53a5581bac7202cda821a030e8525a1581c16a0bf1c13772c039e6f32f39dabbe44ae997271c6e80d611938da78a44f547572746c6554726f6f707a333331014f547572746c6554726f6f707a3338310150547572746c6554726f6f707a313038390150547572746c6554726f6f707a3133393101021a00029e35031a031c6586a7008182582081a7fe005b31bfce5cd07b5876d88214944db3521650461e7c082107ba9b21d6000d80018282581d61d5663185ad7e1db8293bac13150478dddc08f80a730c35e3322803cb1a004c4b40825839015024bc0b4d849658f417f3636cdfaeb82f46e1edbb741c191ce6e4fab604f57e5a82705bf91a40e3c554dd1abff251cb3442e3baf11753f61a1212bd5d021a0002a7d5031a031c656505a1581de1b604f57e5a82705bf91a40e3c554dd1abff251cb3442e3baf11753f61a0354d8520e80a500828258209a8fbe63b8d95c30746d3337fafd8fbe11dfa72bf05c3e7876fc28665a745bf900825820548650236f3bae15b8ddb7d65dde5ba6fb1785606880f44eff04b2316f6affde0101828258390109c230576e5d6c062a0fa95edafb4b7760bf48c9569c949294993befdcffc654e5f87793e8875d6cb40cfc8da22aeeecd7b62dc26e037df5821a00169b08a1581c49450fe5ce314aa6ef5d4c947d69d4af8e298a005114718a7cc1f784a14d41444150756e6b334430333530018258390109c230576e5d6c062a0fa95edafb4b7760bf48c9569c949294993befdcffc654e5f87793e8875d6cb40cfc8da22aeeecd7b62dc26e037df51a04144c52021a000fa6b90b5820318f56b89c98d3785d39da7f7b5e519843101a7e6256ade04d10ec8ee695153f0d81825820b7aeaf10a7addfcf7a0011c5520b393d3f7450fa9dcb8d7528c565737499cb0c00a30082825820c751c491e201bfa4096d929ba6d2b26d71dfc0a431637bcfd4e1579b6ee8494700825820c751c491e201bfa4096d929ba6d2b26d71dfc0a431637bcfd4e1579b6ee8494701018283581d71483788748bd6129043bfc87fba9c0b5bc7e49b892efdc9dd783e3285821a001d6324a1581cbb78d3b6638537d6df7ae43791ead3d50e75fdae82131eff2b7ae994a1581b556e626f756e6465644561727468506c757331384d696e75733430015820c87b3a7bff3aeced1121279e661932121773e1def8ce3d739d249fbdc56bab3582583901385d76ad737e96e8bcd9992912e1b26e1f4731e5c7d3a3ba413edee7d48e24159929cb3ca57569c1256a892a7ea74c576425ec3316934878821a027e2ef3a3581c9046c4fea7a38f05655c17ed01082ea302521ecb8fdf130cf443a7d6a34d43617761696943617430343032014d43617761696943617430363333014d4361776169694361743037363201581ca41540619e607763526c67fdb83ef654798b20d34c4ca493c7eb82d0a1484d616e64616c613101581cbb78d3b6638537d6df7ae43791ead3d50e75fdae82131eff2b7ae994b81b5819556e626f756e6465644561727468506c757334506c75733232015819556e626f756e6465644561727468506c757334506c7573393701581a556e626f756e64656445617274684d696e757337506c7573353601581a556e626f756e6465644561727468506c75733233506c7573353801581a556e626f756e6465644561727468506c75733337506c7573353701581b556e626f756e64656445617274684d696e75733130506c7573393301581b556e626f756e64656445617274684d696e75733233506c7573373201581b556e626f756e64656445617274684d696e75733234506c7573343601581b556e626f756e64656445617274684d696e757332394d696e75733601581b556e626f756e64656445617274684d696e75733734506c7573383501581b556e626f756e64656445617274684d696e75733932506c7573363501581b556e626f756e6465644561727468506c7573313033506c7573323401581b556e626f756e6465644561727468506c7573313137506c7573333801581b556e626f756e6465644561727468506c757331314d696e7573313901581b556e626f756e6465644561727468506c757332324d696e7573383801581c556e626f756e64656445617274684d696e7573313131506c7573343501581c556e626f756e64656445617274684d696e757331384d696e7573333301581c556e626f756e64656445617274684d696e757331384d696e7573383001581c556e626f756e64656445617274684d696e757332354d696e7573333301581c556e626f756e64656445617274684d696e75733731506c757331313301581c556e626f756e6465644561727468506c75733132324d696e7573313901581d556e626f756e64656445617274684d696e75733131394d696e7573393301581d556e626f756e64656445617274684d696e7573313139506c757331313601581d556e626f756e64656445617274684d696e757337314d696e757331303801581d556e626f756e64656445617274684d696e757337344d696e757331313301581e556e626f756e64656445617274684d696e75733130344d696e757331303401581e556e626f756e64656445617274684d696e75733131384d696e757331303901021a00035b19a7008182582085ce737d2a377068c921807f4ee78c393ed7f1ce95be744f3355a80c11ae4965000d8001828258390127324d9e05158c412100a9168a349050b979fca30b35803fbb702f324fa46e41a1111c816ca03188dee83445cd3b0b2fd5ab7a18367836011a13b804de825839010274bd43f0c6f0d7b812b9c30e6a340577262e39d6b56f35fc4e8882afe560337e37548b8e59e72b25ec6df7767c00e396ff4608c39b9a531a0098cf8f021a0002aca5031a031c669e05a1581de1afe560337e37548b8e59e72b25ec6df7767c00e396ff4608c39b9a531a00e6ad910e80a4008382582044963ef3c3b6eae43f8afb28964065cdd29d75d65a1a8b2ee309eb3bfeba15c801825820693a0c464d8b0c35755c3a77d0a6da2334a32c04a5b9c35ee170ff6ded14b2060182582044963ef3c3b6eae43f8afb28964065cdd29d75d65a1a8b2ee309eb3bfeba15c8020183825839013c5109303726c61a77c850195ca8d6d6a387169b24fb15d3e55bcc763d4b7417fdee1484e41c7237c3635bbfbcc924e224090b2e627bbe511a01c9c38082583901cebbc82bdfb07c9fe8452e23482878fb1cac11b0a61e9c76ed1dcf8d1cd0f5a5175404095a21931e471aaa5429c23878b6eaead699101e59821a00dc7556b839581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a01c9c380581c11ff0e0d9ad037d18e3ed575cd35a0513b8473f83008124db89f1d8fa2504861707079486f70706572303133393101504861707079486f70706572303634343001581c12efb6c78a821bfc8ab8b8dc6814aff9a695019ededa872df1b652bfa14847524f573235333001581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e1a00989680581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b000000014b230ce3581c1bf64bc834b8fb82a9896933182a444d8e3f5e9339881ac3a255c992a24a536572756d5830383530014a536572756d583038353201581c27f21547af8c9e1795c85310cb930602f46153396425a04d4bdffea3a14339303401581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e1a00989680581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a017d7840581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a000186a0581c39086ef91d452d1b6ea9c8c92a2f3243467ddf93bf7c142d370e7d64a15243617264616e6f4275647a4832533137303701581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e03581c46f96dbed1e14d3fe1ca8ed08e7db2f848b50769b51ebf6547728ba2a152576f6f64436173746c65574c53313039353201581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431896581c50dfcc6f4ce897eac827bb182e4bfe33d2f07af33ddc0859602ca1b8a14b42756c6c6973683037373901581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f5702581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a017d7840581c62afb32c355614608390ccfd007f87fb06844cec373dba4ce8272184a15818426c6f636b4f776c73476c6974636879586d61733030383601581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d4249451903e8581c7e206036ca4345a7c45d37d2dff0d7280a0854ce26d279e06f7d94f1a14f4e696674795465646479303535313501581c8655835be5469afd7b5daae723456e781be1ca0f970c13001d108fd8a14c43727970746575733338353601581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f0a581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a00439c60581c926026dc04e14a2d380cf2e4decd2f795a75f5622b5fe5e1bee4ce8ba14e4379626572486f7273653031373501581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e05581c9cc83ea54377108dd022f18095040e8d5808a3061c4fe54f3fd64a7aa25048616c6c6f7765656e41706533313635015048616c6c6f7765656e4170653431323401581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a01a9929b581ca51b52822dc9fec24c00a110d3ef509b799b06436872714ca4d4a942a14e537570657256697275733230333001581ca5bb0e5bb275a573d744a021f9b3bff73595468e002755b447e01559a256484f534b5943617368477261623030303039383034300156484f534b59436173684772616230303031343239373501581ca83bd79cb9ef16d508b841d6fb17aae60e1b1e6c4a9b72a158a8d89fa250484f534b5956455253454153323538320150484f534b59564552534544533132333201581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501ab2d05e00581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421a3b9aca00581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a1445155494403581cb108e563f733da680941310a11338cc39fdc79adf4be46f07cf19712a15061646162756c6c73636c75623136393501581cb181057c6c7d18674969c1e08508db72ff7e0dda373af209b49c50d6a15357696c6457617272696f72735353533438383801581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a02faf080581cb5240b3ae40bca2cc56b0fdfd7553724ccd18c56a98937d6b6f76265a1514164615265616c6d506c6f74313338393901581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1a49f30944581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491832581cbd1ddff147abde2b1860bf159c263e056bbd32ecbf2cf4cec5a866dea14950424532313837533101581cc281975562f394761771f13f599881517fa8455946e7e30454de22daa14e474f41545472696265303338353501581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bda14f4368696c6c65644b6f6e673437343501581cc859e9d7e71b8f90bdc1e453fd1b9adbc5e6163898fb574543cb5be8a14e5465727261666f726d303738353301581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f190348581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e01581cd26e44c3345adee43ef50a7ffccd1d19fc0cb1749a1efac60537cc62a24d43757465536869626131333235014d4375746553686962613237363601581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba144424541471864581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e7309581cdcb16550b3831a9c675b5bd827ad0ffced2dc0310b0d839c5c1dcd5ea14d4375746544756465733237303301581cde421e04b847b42b7722f0b898cb7f13dc29ab1d4d9ddecf5675ca0ca14e50616e646142616e64613232313001581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1903e8581cf7f5a12b681be1a2c02054414a726fefadd47e24b0343cd287c0283da258187a69676f7242656e6a616d696e7347726f757030313635390158187a69676f7242656e6a616d696e7347726f7570303931323601581cf8bf038a43c3bb42e1c327c347a8ca47351353cf7a00459f86c0b302a148566972757331313701581cfafd0d4fe9b65626f338020becd7bfe7515f81ca6990b8446b426066a1581d416461417065436c75624368726973746d617345646974696f6e36393001581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c19014d581cffff5571ecec795284f04ad6e6852ed2d46d924535ed68ad97fa1e70a1581a4861707079486f70706572436c7562506f7374657230363634320182583901cebbc82bdfb07c9fe8452e23482878fb1cac11b0a61e9c76ed1dcf8d1cd0f5a5175404095a21931e471aaa5429c23878b6eaead699101e591a00289605021a00047919031a031c9009a400828258205578678175bba0b0fb7732a056f2b1d3a5dbaad1f51d0e376bac4e28545ca09b0382582071af2a452357040b74b092210c50bfd2b9c494fc895bf84682ed3e4299ba095600018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001c41caa1581c9e7b9873fc65bc20ada9739b85d15057603577c1777c7325bba9ae9ca14d4c617a794c6c616d6133363835015820d0733281c5f343d8b3ac4d6bdc4b77ce37cde6cd77be5dea9f96714c8430e02c82583901e203ad26d15f996b63cef6ad225e1df64d915f2e0c39d8b7c17790aeff7008fdf487179482129ae7e84a5bedf6251e3d7346bec7f029a1431a00492029021a00032b1707582081b033f7f652d5e5b3da46bd8828007c43a63d25a0c4a40616b72603ccc5af31a30082825820b21161d2f67d707ae99a08a4a6150e2a94161c7f6f188482f4f2dd5f679991f602825820b21161d2f67d707ae99a08a4a6150e2a94161c7f6f188482f4f2dd5f679991f603018283581d71483788748bd6129043bfc87fba9c0b5bc7e49b892efdc9dd783e3285821a001cd277a1581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567da1545061766961506c75733133364d696e757331353701582048d7712c4d31e1faa9966b6b98945f965f897259211019e52109239547e7e07882583901c04c6557806e5e39dab922b8ca468ce00175f732d69e5fd9f0be1f8eb680b3d9753beefcf867dc6cb4f935c73522920351cdde316a0b7569821a024397dfac581c2a54d0a4ff765ad06a84440494b92419e769b17898415341f3b54675a15347616d696e6743617264616e6f56495038333401581c3c2cfd4f1ad33678039cfd0347cca8df363c710067d739624218abc0a151576f726c647357697468696e303733323801581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567da15250617669614d696e75733138506c7573393801581c76ebe108d0d58ba2ffe6024cf25cf5f6a890f4c61d77ee7911362b14a14b41444150756e6b3739383601581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea145504156494119208d581c8feebc6c314ce6394c50bb32a94459f71c22bfb31fefc1f1154bbbc4a25549736f6d6574726963576f726c6454776f31393430015549736f6d6574726963576f726c6454776f3231313101581c90465e141ecb7b72ed0cdbcbd848673177cd52be5af5518e95d0de1da14b33444547454e533034363701581c95c248e17f0fc35be4d2a7d186a84cdcda5b99d7ad2799ebe98a9865a24a61776f6b656e35373535014a61776f6b656e3832323401581caa4f61af3a968b979b53c5f2cbd9ebc656c172cef6a49626db24482da151507572706c65466f756e6465723137313801581cbe8e242b0419d87a15b23f037eff046796fc60c281dce89bb7966bc0a4475761796e653134014f456e6372797074696f6e4f72623233014f4578706f736564427261696e31363701545468654a6162626572776f636b7946616e67343101581ce8209a96a456202276f66224241a703676122d606d208fe464f2e09fa252576861744c69657357697468696e313935330152576861744c69657357697468696e3331313901581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa14864616e2e6d656c6501021a000325fda400818258200e7b3317b6b0514cef00f587afce78d960dde83f7d88e93ba4a761b367bc2c4a08018182583901c7f41746c8151aedf45c1d46adfafe0e20a50ae022dbcf222643f0a632dad56bb6cb83656f0f579dd3c574880eeb9e5d9a30af1890bd586f821a00160a5ba1581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441a09de0f40021a00087a25031a031c66d2a40097825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c00825820a3d8d60cb4a48d4b27615dac7024ee8989a0994a09f5083766c90b6e370fc9f80082582050f741ba9bf094e95e6be8ec40f928151185850ec3938be9077acc29568acd5100825820be84006a4085e695df769607706a2800855504684239b1cd861f6ce6bf30ecad00825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c01825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c0f825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c04825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814208825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981421818825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981420b825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c0b825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf012825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c0d825820f017091a4db33fcb7b9d866b057314608fa20d6d016e9c09c0c01a364fc3acf00f825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d1818825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c0e825820f11af0a9734d771eb09521b9e4b1e2c78173b8bd0cdffa06d46ccc4a358c097d12825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a9814207825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c05825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c08825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c12825820c63bcfabccdad7d26ea1b55a2009e45ef0a3391b4a0500b474e4fc9b9cc1e97c14825820439c12e753593d9ed5bd9f042f7006bd891eefe2b8916ead2021cff752a981420c019782581d61220099e5e430475c219518179efc7e6c8289db028904834025d5b0861b000000011d61a9b482581d61c232edd30746e3bce85ffecdfcccb79f79c043e5a590260b195654531a6de935008258390160b4fbc486fc0040cc9e052f07816759349e8adedc5c2f4f931ca5030bf10dafe1f9181765c0e5181b32b824c1dfd0b001b8e7c8a938a82b821a002ed3e2aa581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e01581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421a3b9aca00581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a000f4240581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a000ac645581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c19014d581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f0a581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a000186a0581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a14444494253191388581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451901f4581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a0098968082583901e6b1614a71aafa0e9eade9fbbf8d8aafd0df36193909faca6b62f2f1ea929615f8edd02a2b52576f0ce3d2e5cf374e8af633e43e3670e378821a00172698a2581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451901f4825839017602ba57f50bcfadcf0dca904b61c8f284d7c2f6b35536b6e098c37cdac1356fd6011aa60fd30c69811682799f2defc3aa79b145ca57f137821a002f5a94aa581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d4249451903e8581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461a1dcd6500581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a017d7840581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a000f4240581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1901a4581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a000862dd581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a000f4240581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c19014d581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a14444454653181982581d61f3f7e02cbaf07fec24f9353c39a5c555a348d32bff2566d084dd1e0d821a0014851ea1581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e1a1acc0a8482581d614fd2f639b20ca9c36de08ca42efd2f31f5e84a034a8de1929407e23b821a0014851ea1581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421b0026dac88c78180082581d616836aeaa1f114ce63af63bc5d876f3b86a91192472c8d0e3af8d97c2821a0014851ea1581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491b00000f76219ba6b582581d61b96ac3086bfbdc78822c5f50d74e58e62ca68f59f4c676693cc9c8e0821a0014851ea1581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1b00000041a06ba8cf82581d614c9faa9b51a9ec1d07f520ca9b310ea4a5c95006d5e24a555ae96b29821a0014851ea1581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c1a01211fdf82581d61a14463074aebe2f7d88a9f34b7e1df82a1692d77928d2fd4d4223020821a0014851ea1581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1a00935e7082581d61811b316a0c677b3034ec9cf2766ba222c9583159fb8d4676ebbe785b821a0014851ea1581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431b00000916b03243a682581d611e31596d1ad39e6b83995c7654454f40b93059c2ed9e085f2dde0987821a0014851ea1581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a144444942531a3832239082581d619e3b7c7f095d261a8c913cbdf26c4072a1908b2b884a1164b7aca2cb821a0014851ea1581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451a003a2c9482581d61a698259e8c764b3d576aa977aa9fbb15e3aea648855146fffd31d2f5821a0014851ea1581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591b00000014c259a20082581d6103a5c2fbfdaee8f80e2bf2631925a61eb57ee6a14288f4f0036b386c821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501b009f56b89cb3e20082581d619f86f8a709341f0b4f2b93635f017e0cee5afd36986444d08a0cb71f821a0014851ea1581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d4249451a333008d082581d61790c1f912045839eb2ef1ca07cb579f8e7021d8b651c829627e00e03821a0014851ea1581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b016296019df00f5382581d613f582714c8afb9a5d468067d0cdc6ec319bf00cb8ccff503e3f6451c821a0014851ea1581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681b0000df93dcf9874782581d61034e92cf3a95db6fa7fa7b2707645e1a118ada6fcced3d0c4abd359f821a0014851ea1581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1a039322b082581d615ce8bdfb98e00d0b01b1c7040e2a3faf2115c34aa2742eb2a640aee5821a0014851ea1581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591b000000cec49ebb8082581d615d9a57c64c11dbfd5b91ec1b5c2e9527371df34140cc190ebc02a568821a0014851ea1581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791a01aa8d4482581d61cb219137fa81d02325827592ede402d4a830ed8e350785dee65b50ae821a0014851ea1581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531a00884c62021a000690a9031a034390e3a400818258203e4bec634b39c7f840ee77b973ca61f432206aeb8559f7574a96d76a90c744b701018383581d7115b95fdaceeb507073a1bd198803373beeafbd82560fbf8abe9073ff821a00200b20a1581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441a3b9aca005820ccd21fda0b7d93c24093dce867c07d8dec80e542b4d07e582430998944950acf825839010a41b3a564cd26bcac64c7e61c5e0087e8b0846d5e0bcee229c962f41174bda70e3ba4e4eb64400a802cb758412af047a6890cd6ed4522301a0010dc68825839013addf48d4c39f8fafbf0ff6d8939042e2533617695542afe5ed2e4860fc752af24ad453fa1ee2c05ba9b7a303856ddb94dd793e0d26217a2821a61f75de4a1581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441a5090fac6021a0002e112075820a5073c8ac451c94b385149ae4bb51bb4a17758bccaf01d282f7310ed550a6fcba40083825820081f0159379dc540c47f6549c789c139e9b8041e74795f3a76b2e391767ef25f01825820081f0159379dc540c47f6549c789c139e9b8041e74795f3a76b2e391767ef25f028258202cafd7435ca2a119af4b8b55681e64d73069397430cac41e89090370ba9c7b3c02018382584c82d818584283581cfbb7a40762e5b504f865257812ecae4798e16dc3d43672d318f427cfa101581e581c2374b70ae27c8ccc82645f97ad4ce735d89bb40794e0d55fb4c8c052001a67f930b61a47868c00825839016f9a30ebca24df2c272a833490d5aae6c286e15a5c24a4a20cac1d4d3afbbb0236e451a87b1b1f6a0a8b57127ecf8d5be07b4eceb6dd4328821a0172f032ad581c0a30996045d57b03e01615c446baf19f02e71e105ac56ce28d50e4d0a5444355423101474355423333333701474355423732363601474355423835373101474355423930393101581c1e071a579d3d721b1749abd7cdd9274c4fbaa19f555c7141f57ddd62a24d4561726c7342616e6e65723031014f4261726f6e7342616e6e657230343001581c1fa70d2ac412b5bbf220aac84152781c0c517f7aee4667587a31e395b1494d5554414e5436383301494d5554414e5436393801494d5554414e5437303201494d5554414e5437303701494d5554414e5437313801494d5554414e5437323001494d5554414e5437323301494d5554414e5437323701494d5554414e5437333201494d5554414e5437333801494d5554414e5437353701494d5554414e5437363201494d5554414e5437363801494d5554414e5437373501494d5554414e5437383901494d5554414e5437393501494d5554414e5437393801581c2b62bb0d57c3577d624cb976f58352c38d967a30436a6acad44f23f2a6474445303937383201474445303937383401474445303937383501474445303937383601474445303937383701474445303937383801581c40fa2aa67258b4ce7b5782f74831d46a84c59a0ff0c28262fab21728a34e436c61794e6174696f6e32303536014e436c61794e6174696f6e34333936014e436c61794e6174696f6e3436333801581c49f565e692cbecf4b38a94df1dcc21635a07222efd4dafb470fa4057b8324b416e64656c733030333632014b416e64656c733030343735014b416e64656c733030343737014b416e64656c733031333430014b416e64656c733032313533014b416e64656c733032373537014b416e64656c733032373735014b416e64656c733033313937014b416e64656c733033393134014b416e64656c733035313736014b416e64656c733035373439014b416e64656c733035373935014b416e64656c733036333139014b416e64656c733038333832014b416e64656c733039313635014b416e64656c733039343534014b416e64656c733130373637014b416e64656c733131303937014b416e64656c733131303939014b416e64656c733131313430014b416e64656c733131313432014b416e64656c733131313434014b416e64656c733131313634014b416e64656c733131343134014b416e64656c733131353339014b416e64656c733131353735014b416e64656c733131363833014b416e64656c733132313636014b416e64656c733132383330014b416e64656c733133333233014b416e64656c733133363232014b416e64656c733133373038014b416e64656c733133373335014b416e64656c733134363634014b416e64656c733134383233014b416e64656c733134393833014b416e64656c733135303131014b416e64656c733136323135014b416e64656c733136353433014b416e64656c733136363634014b416e64656c733136373930014b416e64656c733136373933014b416e64656c733137383839014b416e64656c733138313737014b416e64656c733138343233014b416e64656c733139353430014b416e64656c733139353737014b416e64656c733139383037014b416e64656c733139393038014b416e64656c73313939353701581c545dc1601b5d469508698f7966a3c1c8cf207073041ad84b28d373c1b64754494745523730014854494745523331330148544947455234333201485449474552383231014854494745523930310149544947455231303438014954494745523130363501495449474552313433310149544947455232343335014954494745523239343601495449474552333033300149544947455233353539014954494745523339323001495449474552333934310149544947455234373130014954494745523533353601495449474552363238310149544947455237303135014954494745523732333601495449474552373430320149544947455237393537014954494745523833353801581c5a66b9e01c1030758023f79e108e773b20c6ed4108ca88d25d844d2da145504153533601581c70e1ad90304c7242bf8e8734b3ecedb88bce958249e15f896de172b9a55241505370656369616c436f76657230323434015241505370656369616c436f76657230333234015241505370656369616c436f76657231303035015241505370656369616c436f76657231313434015241505370656369616c436f7665723138313801581c96580bbc4fe27ac0d127db3f8a0dc698c58d303d8cae870f5771f336b826515a6f6d626965436861696e73303037333001515a6f6d626965436861696e73303039313201515a6f6d626965436861696e73303131353301515a6f6d626965436861696e73303133383101515a6f6d626965436861696e73303230363101515a6f6d626965436861696e73303233353801515a6f6d626965436861696e73303237303601515a6f6d626965436861696e73303239333401515a6f6d626965436861696e73303239333501515a6f6d626965436861696e73303332353301515a6f6d626965436861696e73303336313301515a6f6d626965436861696e73303337373601515a6f6d626965436861696e73303436323101515a6f6d626965436861696e73303439323001515a6f6d626965436861696e73303530303501515a6f6d626965436861696e73303534323301515a6f6d626965436861696e73303535303901515a6f6d626965436861696e73303535313901515a6f6d626965436861696e73303539373601515a6f6d626965436861696e73303630313501515a6f6d626965436861696e73303630323601515a6f6d626965436861696e73303633383301515a6f6d626965436861696e73303636313401515a6f6d626965436861696e73303638323401515a6f6d626965436861696e73303735303801515a6f6d626965436861696e73303735343701515a6f6d626965436861696e73303736303701515a6f6d626965436861696e73303736363201515a6f6d626965436861696e73303737303101515a6f6d626965436861696e73303737323001515a6f6d626965436861696e73303738313401515a6f6d626965436861696e73303831353301515a6f6d626965436861696e73303837363301515a6f6d626965436861696e73303838353901515a6f6d626965436861696e73303931363901515a6f6d626965436861696e73303932353001515a6f6d626965436861696e73303937373401515a6f6d626965436861696e73303938313801581cb2d25f829ebb7f4c97b5e847923a1115b23ebf78000722c229c9c9f7b818474452303437323801474452303437353601474452303437353701474452303437393401474452303438303001474452303438313201474452303438313701474452303438323501474452303438333001474452303438333201474452303438333701474452303438353001474452303438373101474452303530303801474452303530313001474452303530323101474452303531353701474452303532333101474452303532333601474452303533303301474452303737303401474452303832363101474452303833333901474452303833343101581cb7ef0cfb14f588740d02ce8a53879ff96ab03c7b21ec1c459ac2bddaa65048617368477561726469616e31353735015048617368477561726469616e33323436015048617368477561726469616e34303739015048617368477561726469616e34383834015048617368477561726469616e35303534015048617368477561726469616e3534343001581cb92f6473f18d4b78733d022fd89f3cacc1484fab6eddfd3c5d4b9494b82b474450303033393701474450303034323201474450303034333301474450303037383901474450303039313301474450303131353501474450303134343401474450303134373201474450303136383401474450303137323201474450303137343801474450303139313101474450303231313201474450303231373201474450303234383401474450303235343201474450303236353801474450303236383501474450303237313801474450303238303101474450303238363701474450303238373901474450303331373901474450303337363001474450303339393301474450303432363601474450303434363901474450303439343901474450303531323201474450303539323001474450303630363901474450303631373601474450303639373801474450303730373501474450303731373701474450303830313001474450303830353501474450303830363301474450303835303401474450303835313301474450303935313401474450303935363901474450303936373901825839016f9a30ebca24df2c272a833490d5aae6c286e15a5c24a4a20cac1d4d3afbbb0236e451a87b1b1f6a0a8b57127ecf8d5be07b4eceb6dd43281a06313cc3021a0004d1f5031a031c90c9a400828258209e067e97c467de54febc7e12b375c0510b6c04196ff0b2ecedb7bca51f164fd600825820a829f319b661d96a060e0da32626b415b3f7c4216a38662240eadfbff2025f5e01018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001cd277a1581cba7adcbe329cb7eac17efdd6ec986ed6b6127281307ae7b15701d710a15643617264616e6f4c65747465727331343630304d454e015820df866c30c4e0a42d6c94a5d6fbe915ebf1090f9dc538aada20c618cd803ea97e82583901278292a9ffd7f3a63685e4a1dd91a6985e72e4779c991ad5be79cfc0dbf7ae4edb489eb71a948043ec148256f9bb6010199bbb330d034f0c821a02be92b7a1581c5a46271a9b32a4517ced20be4ba1f184c2f91b1a5dd480ab639eee57a34d42726967687450616c33323330014d42726967687450616c37383430014d42726967687450616c3836323801021a00033b0707582000fb33b028f37152c0852306ce8ab9411bb7de7165d76c5fdfaa19ad99ccce9fff",typeof(CborMaybeIndefList))] - // public void SerializeAndDeserializePrimitives(string cborHex, Type type) - // { - // // Arrange - // byte[] cborBytes = Convert.FromHexString(cborHex); + MethodInfo? genericDeserializeMethod = deserializeMethod?.MakeGenericMethod(type); + Assert.NotNull(genericDeserializeMethod); - // // Act - // MethodInfo? deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize)); - // Assert.NotNull(deserializeMethod); + object? cborObject = genericDeserializeMethod?.Invoke(null, [cborBytes]); + Assert.NotNull(cborObject); - // MethodInfo? genericDeserializeMethod = deserializeMethod?.MakeGenericMethod(type); - // Assert.NotNull(genericDeserializeMethod); + byte[] serializedBytes = CborSerializer.Serialize((ICbor)cborObject); + string serializedHex = Convert.ToHexString(serializedBytes).ToLowerInvariant(); - // object? cborObject = genericDeserializeMethod?.Invoke(null, [cborBytes]); - // Assert.NotNull(cborObject); - - // byte[] serializedBytes = CborSerializer.Serialize((ICbor)cborObject); - // string serializedHex = Convert.ToHexString(serializedBytes).ToLowerInvariant(); - - // // Assert - // Assert.Equal(cborHex.ToLowerInvariant(), serializedHex); - // } + // Assert + Assert.Equal(cborHex.ToLowerInvariant(), serializedHex); + } } \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Block/Block.cs b/src/Chrysalis/Cardano/Models/Core/Block/Block.cs index 9625fb2e..8cb96cd5 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/Block.cs +++ b/src/Chrysalis/Cardano/Models/Core/Block/Block.cs @@ -4,17 +4,11 @@ namespace Chrysalis.Cardano.Models.Core.Block; -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(AlonzoBlock), -])] -public record Block : ICbor; - [CborSerializable(CborType.List)] -public record AlonzoBlock( +public record Block( [CborProperty(0)] BlockHeader Header, [CborProperty(1)] CborMaybeIndefList TransactionBodies, [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet, [CborProperty(4)] CborMaybeIndefList InvalidTransactions -) : Block; \ No newline at end of file +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Block/Header.cs b/src/Chrysalis/Cardano/Models/Core/Block/Header.cs index def8153c..d1e58b5a 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/Header.cs +++ b/src/Chrysalis/Cardano/Models/Core/Block/Header.cs @@ -3,14 +3,8 @@ namespace Chrysalis.Cardano.Models.Core.Block; -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(AlonzoBlockHeader), -])] -public record BlockHeader : ICbor; - [CborSerializable(CborType.List)] -public record AlonzoBlockHeader( +public record BlockHeader( [CborProperty(0)] BlockHeaderBody HeaderBody, [CborProperty(1)] CborBytes BodySignature -) : BlockHeader; +) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs b/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs index 6d95cb1a..16aa0d69 100644 --- a/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs +++ b/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs @@ -11,10 +11,10 @@ namespace Chrysalis.Cardano.Models.Core.Script; typeof(PlutusBigInt), typeof(PlutusBytes) ])] -public interface PlutusData: ICbor; +public interface PlutusData : ICbor; [CborSerializable(CborType.Constr)] -public record PlutusConstr(int Index, PlutusData[] Value): PlutusData; +public record PlutusConstr(int Index, bool IsInfinite, PlutusData[] Value) : PlutusData; public record PlutusMap(Dictionary Value) : CborMap(Value), PlutusData; @@ -30,10 +30,10 @@ public record PlutusBytes(byte[] Value) typeof(PlutusIndefiniteList), typeof(PlutusDefiniteList), ])] -public interface PlutusList: PlutusData; +public interface PlutusList : PlutusData; public record PlutusIndefiniteList(PlutusData[] Value) : CborIndefiniteList(Value), PlutusList; public record PlutusDefiniteList(PlutusData[] Value) - : CborIndefiniteList(Value), PlutusList; \ No newline at end of file + : CborDefiniteList(Value), PlutusList; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs index f1dcb937..56a669cf 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs @@ -1,32 +1,34 @@ using Chrysalis.Cbor; using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Core.Script; -using Chrysalis.Cardano.Models.Plutus; namespace Chrysalis.Cardano.Models.Core.Transaction; [CborSerializable(CborType.Union)] [CborUnionTypes([ + typeof(PostAlonzoAuxiliaryData), typeof(Metadata), typeof(ShellyMaAuxiliaryData), - typeof(PostAlonzoAuxiliaryData), ])] public interface AuxiliaryData : ICbor; -public record Metadata(Dictionary Value) - : CborMap(Value), AuxiliaryData; - -[CborSerializable(CborType.List)] -public record ShellyMaAuxiliaryData( - [CborProperty(0)] Metadata TransactionMetadata, - [CborProperty(1)] CborDefiniteList AuxiliaryScripts -): AuxiliaryData; +[CborSerializable(CborType.Tag, Index = 259)] +public record PostAlonzoAuxiliaryData(PostAlonzoAuxiliaryDataMap Value): AuxiliaryData; [CborSerializable(CborType.Map)] -public record PostAlonzoAuxiliaryData( +public record PostAlonzoAuxiliaryDataMap( [CborProperty(0)] Metadata? Metadata, [CborProperty(1)] CborDefiniteList? NativeScriptSet, [CborProperty(2)] CborDefiniteList? PlutusV1ScriptSet, [CborProperty(3)] CborDefiniteList? PlutusV2ScriptSet, [CborProperty(4)] CborDefiniteList? PlutusV3ScriptSet +): ICbor; + +public record Metadata(Dictionary Value) + : CborMap(Value), AuxiliaryData; + +[CborSerializable(CborType.List)] +public record ShellyMaAuxiliaryData( + [CborProperty(0)] Metadata TransactionMetadata, + [CborProperty(1)] CborDefiniteList AuxiliaryScripts ): AuxiliaryData; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs index e2bbf339..206b7348 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs @@ -1,8 +1,6 @@ using Chrysalis.Cbor; using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Core.Script; -using Chrysalis.Cardano.Models.Plutus; - namespace Chrysalis.Cardano.Models.Core.Transaction; [CborSerializable(CborType.Map)] @@ -11,7 +9,7 @@ public record TransactionWitnessSet( [CborProperty(1)] CborDefiniteList? NativeScriptSet, [CborProperty(2)] CborDefiniteList? BootstrapWitnessSet, [CborProperty(3)] CborDefiniteList? PlutusV1ScriptSet, - [CborProperty(4)] CborIndefiniteList? PlutusDataSet, + [CborProperty(4)] CborDefiniteList? PlutusDataSet, [CborProperty(5)] Redeemers? Redeemers, [CborProperty(6)] CborDefiniteList? PlutusV2ScriptSet, [CborProperty(7)] CborDefiniteList? PlutusV3ScriptSet diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index 3e6ea11b..81299097 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -3,7 +3,6 @@ using System.Collections; using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Core; -using Chrysalis.Cardano.Models.Core.Script; using Chrysalis.Utils; namespace Chrysalis.Cbor; @@ -60,6 +59,9 @@ private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) case CborType.Nullable: SerializeNullable(writer, cbor, objType); break; + case CborType.Tag: + SerializeTag(writer, cbor, objType); + break; default: throw new NotSupportedException($"CBOR type {cborType} is not supported in this context."); } @@ -307,36 +309,56 @@ private static void SerializeConstructor(CborWriter writer, ICbor cbor, Type obj throw new InvalidOperationException($"No constructor found for type {objType.Name}"); ParameterInfo[] parameters = constructor.GetParameters(); - - if (cborSerializableAttr.Index == -1) // Dynamic Constructor + bool isDynamic = cborSerializableAttr.Index == -1; + if (isDynamic) // Dynamic Constructor { PropertyInfo? indexProperty = objType.GetProperty("Index") ?? throw new InvalidOperationException($"Property 'Index' not found in {objType.Name}"); + PropertyInfo? isInfiniteProperty = objType.GetProperty("IsInfinite") ?? + throw new InvalidOperationException($"Property 'IsInfinite' not found in {objType.Name}"); + PropertyInfo? valueProperty = objType.GetProperty("Value") ?? throw new InvalidOperationException($"Property 'Value' not found in {objType.Name}"); int index = (int)indexProperty.GetValue(cbor)!; IList? value = (IList?)valueProperty.GetValue(cbor); + bool isInfinite = (bool)isInfiniteProperty.GetValue(cbor)!; - writer.WriteTag(CborSerializerUtils.GetCborTag(index)); - - if (value is null || value!.Count == 0) + if (isInfinite) { - writer.WriteStartArray(0); + writer.WriteTag((CborTag)102); + writer.WriteStartArray(2); + writer.WriteInt32(index); + writer.WriteStartArray(value!.Count); + foreach (ICbor item in value) + { + SerializeCbor(writer, item, item.GetType()); + } + writer.WriteEndArray(); writer.WriteEndArray(); - return; } else { - writer.WriteStartArray(null); + writer.WriteTag(CborSerializerUtils.GetCborTag(index)); - foreach (ICbor item in value) + if (value is null || value!.Count == 0) { - SerializeCbor(writer, item, item.GetType()); + writer.WriteStartArray(0); + writer.WriteEndArray(); + return; } + else + { + writer.WriteStartArray(null); - writer.WriteEndArray(); + foreach (ICbor item in value) + { + SerializeCbor(writer, item, item.GetType()); + } + + writer.WriteEndArray(); + } } } else // Static Constructor @@ -423,6 +445,27 @@ private static void SerializeNullable(CborWriter writer, ICbor cbor, Type objTyp } } + private static void SerializeTag(CborWriter writer, ICbor cbor, Type objType) + { + CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); + PropertyInfo? value = objType.GetProperty("Value") ?? + throw new InvalidOperationException($"Type {objType.Name} does not have a 'Value' property."); + + CborTag tagValue = (CborTag)cborSerializableAttr!.Index; + object? tagContent = value.GetValue(cbor); + + writer.WriteTag(tagValue); + + if (tagContent is ICbor cborContent) + { + SerializeCbor(writer, cborContent, tagContent.GetType()); + } + else + { + throw new InvalidOperationException($"Value in {objType.Name} does not implement ICbor."); + } + } + private static ICbor? DeserializeCbor(CborReader reader, Type targetType) { if (reader.PeekState() == CborReaderState.Null) @@ -448,6 +491,7 @@ private static void SerializeNullable(CborWriter writer, ICbor cbor, Type objTyp CborType.RationalNumber => DeserializeRationalNumber(reader, targetType), CborType.Text => DeserializeText(reader, targetType), CborType.Nullable => DeserializeNullable(reader, targetType), + CborType.Tag => DeserializeTag(reader, targetType), _ => throw new NotImplementedException($"Unknown CborType: {cborType}"), }; } @@ -546,7 +590,7 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) bool isDefinite = cborSerializableAttr?.IsDefinite ?? false; int? length = reader.ReadStartArray(); - + bool isDefiniteDetected = length is not null; if (isDefiniteDetected != isDefinite) @@ -588,7 +632,8 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) int constrIndex = targetTypeSerializable?.Index ?? -1; bool is121To127 = (int)tag >= 121 && (int)tag <= 127; bool isAbove127 = (int)tag > 127; - // bool is102 = (int)tag == 102; + bool is102 = (int)tag == 102; + bool isDyanmic = targetTypeSerializable?.Index == -1; if (is121To127 && targetTypeSerializable != null) @@ -649,25 +694,56 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); if (isDyanmic) { - Type firstParamType = constructorParams[1].ParameterType; - Type elementType = firstParamType.GetElementType()!; + if (is102) + { + reader.ReadStartArray(); - var listType = typeof(List<>).MakeGenericType(elementType); - var args = (IList)Activator.CreateInstance(listType)!; + constrIndex = reader.ReadInt32(); - reader.ReadStartArray(); + Type valueParamType = constructorParams[2].ParameterType; + Type elementType = valueParamType.GetElementType()!; - while (reader.PeekState() != CborReaderState.EndArray) - { - args.Add(DeserializeCbor(reader, elementType)!); + var listType = typeof(List<>).MakeGenericType(elementType); + var args = (IList)Activator.CreateInstance(listType)!; + + reader.ReadStartArray(); + + while (reader.PeekState() != CborReaderState.EndArray) + { + args.Add(DeserializeCbor(reader, elementType)!); + } + + reader.ReadEndArray(); + + var toArrayMethod = args.GetType().GetMethod("ToArray"); + var array = toArrayMethod!.Invoke(args, null); + + reader.ReadEndArray(); + + return (ICbor?)Activator.CreateInstance(targetType, constrIndex, true, array); } + else + { + Type firstParamType = constructorParams[1].ParameterType; + Type elementType = firstParamType.GetElementType()!; - reader.ReadEndArray(); + var listType = typeof(List<>).MakeGenericType(elementType); + var args = (IList)Activator.CreateInstance(listType)!; + + reader.ReadStartArray(); + + while (reader.PeekState() != CborReaderState.EndArray) + { + args.Add(DeserializeCbor(reader, elementType)!); + } + + reader.ReadEndArray(); - var toArrayMethod = args.GetType().GetMethod("ToArray"); - var array = toArrayMethod!.Invoke(args, null); + var toArrayMethod = args.GetType().GetMethod("ToArray"); + var array = toArrayMethod!.Invoke(args, null); - return (ICbor?)Activator.CreateInstance(targetType, constrIndex, array); + return (ICbor?)Activator.CreateInstance(targetType, constrIndex, false, array); + } } else { @@ -887,4 +963,13 @@ private static CborMap DeserializeGenericMap(CborRea throw new InvalidOperationException($"Invalid Nullable Type."); } + + private static ICbor? DeserializeTag(CborReader reader, Type targetType) + { + reader.ReadTag(); + var valueProperty = targetType.GetProperty("Value"); + Type valueType = valueProperty?.PropertyType ?? targetType; + ICbor? content = DeserializeCbor(reader, valueType); + return (ICbor)Activator.CreateInstance(targetType, content!)!; + } } \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborType.cs b/src/Chrysalis/Cbor/CborType.cs index 33b77b52..779d59a2 100644 --- a/src/Chrysalis/Cbor/CborType.cs +++ b/src/Chrysalis/Cbor/CborType.cs @@ -11,5 +11,6 @@ public enum CborType EncodedValue, RationalNumber, Text, - Nullable + Nullable, + Tag } \ No newline at end of file From b6b80ee4146d7d2ef4507dc0b9bc98ff4978fd72 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Fri, 20 Sep 2024 19:07:26 +0800 Subject: [PATCH 027/162] feat: added MultiEraBlock definition for block (de)serialization with era number tagging (#27) * feat: added MultiEraBlock definition for block (de)serialization with era number tagging * refactor: changed 'BlockData' label of Block type to 'Block' --- src/Chrysalis.Test/CborSerializationTests.cs | 11 +---------- .../Cardano/Models/Core/Block/MultiEraBlock.cs | 10 ++++++++++ 2 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 src/Chrysalis/Cardano/Models/Core/Block/MultiEraBlock.cs diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index 1104bbc4..ce441056 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -1,23 +1,14 @@ using System.Reflection; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Coinecta.Vesting; -using Chrysalis.Cardano.Models.Core; using Chrysalis.Cardano.Models.Core.Block; -using Chrysalis.Cardano.Models.Core.Certificates; -using Chrysalis.Cardano.Models.Core.Script; -using Chrysalis.Cardano.Models.Core.Transaction; -using Chrysalis.Cardano.Models.Plutus; -using Chrysalis.Cardano.Models.Sundae; using Chrysalis.Cbor; using Xunit; -using System.Diagnostics; namespace Chrysalis.Test; public class CborSerializerTests { [Theory] - [InlineData("a400818258205ca1a6583fc114574832cdcd5d070962feb50cc9b9e8c4bd6e37f29e2cb73a2258408a199beb5d65a06220a071b49d7aa91fe428b18a969a0a0dd21519ce7e0d4d5ac17a1e35cbc9ebbfcad104e9af4e992f1edc8aef6007b07770f49a1c3d1a520803815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a7200010481d866820086581ca114aeb8a1758760a3d61abe41895db9cd61fc5df7d4f734b17a62721a2faf0800581c1a645cd395468cf51b24ba319aefb0279e9cac89a193dc2348619fff5041646176696c6c65486f757365323232581c8241b9a7cc0f3e2205d22635fee1831c20c2d10e40a783f45b47f6fe140581840000d866820080821a0081b3201ab2d05e00", typeof(TransactionWitnessSet))] // Example hex for CBOR int 52 + [InlineData("820785828A1A0024CD2E1A0371649158207063CB55F1E55FD80ACA1EE582A7B489856D704B46E213E268BAD14A56F09F355820DF89101296FEC1DC3D62E6C1E595EAFF22CC0DFC67E131EF14BA8C4772D3A766582008A1ECFFBDD94FCA7FCFE54414140DBCC8D24D8AD2F34441F60E6FA0F6F746CB8258405A7828A8C947E79CE13A1B32D934FFD8789C54038302F8E3D976CD19C38485F7CF70082745521FA33863E4597C9B9974E2F0C4910BBAA49A310FD1E092FA13F75850CED8E6382838205756E102E3E7AFC248FB3381CF1AF37BE30719484AFCC8DEE389382A9A44B563AAB1ABC9287191DE9E85A1FB1C657BF256949DC9A7557F0B32EE7F1395ECB9523E33AD2F2343A534021901CC582060DF41E05AE45C3FB2708ECFB3A994C64D1F05CE5FC77CFFE9228402F8D76F0084582009BA7F385DB65A62DE6FDEF0138CB71938A19989DF420823E1B76BDB7FFEC509071901AA584084216A98801BD9AD1659F71ACAE918E5B1B6FB0D547B8C8CD4F70390D58693E179D1FFA5B4266FABA220E01474B7B8DF9521C1DC894C9D7472EE10D898B9CF0C820A005901C01BCB316E37A1CA580FAA30502B3F31A339B4FA92BCA969C88D394B1BEDE8933AE2430E673D9CD96A800218AA91F08F4B864F9794FD4DDF220FD71D6ED8B1800489355395AD17B6301DB3E36E757A27CD9845C1A02B208400CEBA4EFECF19F0FEAE8DD413CAA750D76A7E16074D1698DEEDA6546C3459304F2C6FEA0F9EAB026FE19350A8EFDAB8F18D62091A0A0F765CAD08347985CB0156FA4B2E7E7A766782588639C32EB8074FBC111020A5F133922D364BA28D0F8EEA8140E17832928379BE25BB3FD57C50434452706CB52D9A6FC9F6D45E558AC34F73E1050B6689B42FAD45713D63C613033B22D0E5253A3D2CC3BBB9D0B986C07F17D38594AA5023C244CD4B0486976F584118FEBA2D62E700F92A67E46EF4E034DBF5C57E52DE15A19AC064C1A6959506AA5848347CCC2B40B9B09C4D73F66F4AF6B504D38C568378970BB1CFAAEF9F97A539BE83E8A9D2E967E2DC44410CBF0A9CBE541907B6EC09F8241AF4793E66B41444F4D901E00961F5A78A9824F8E93D4C6A7576C821C8CB3C798B1140C82FF17D3F0F067CCEC6A6A219B2F80CB89BD3404BB2185D9AD6DCD81F9E7DAB77F373BF62B7F1995B0CB65540E773F7104B6BA4758FF81DAD4FA281A400818258202122C2504552727508EB11F189125786B8BEA0C3955E1BD989D8A631980363F6000181825839009FC430EA1F3ADC20EEBB813B2649E85C934EA5BC13D7B7FBE2B24E505064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D821B00000001FDD58A0AA2581C22691D3D969ECF5802226290C2FB98E2BC08522D5B726C1F5F400105A144546573740D581CEF6ED47A6917A3CBBEB46561E8853DA969343794D66128598A34AF2CA24D4275726E61626C65546F6B656E024E4275726E61626C65546F6B656E3202021A0002ADD905A1581DE05064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D0081A100828258200DD2349193F4D73BFF8ED9FEA7965E3C44BDC098F1D91D0A2C9AF8AA525DB71B5840B30C80EEB8E2B07E38D9E411BED9F3D5FD344C6557FBEA8102A49EA542143A3A4400FE47DE5ECF4CAFB69906556BF4E7F9B7146AE7463F4DDE6C780B500420088258200ABB7B89E091DCD3201AEA501854A4CB05290862D88B6EB30AFA6DFD23F5446758403E563CDF0E8B72049CA05C8C7214254588B3A23C5FE863A514D1B816E6A0FA3499F927F47CD8F18A75D7FCC782A68A5ED84AAE5CFD2C66FE73E79A8540564F0AA080", typeof(MultiEraBlock))] public void SerializeAndDeserializePrimitives(string cborHex, Type type) { // Arrange diff --git a/src/Chrysalis/Cardano/Models/Core/Block/MultiEraBlock.cs b/src/Chrysalis/Cardano/Models/Core/Block/MultiEraBlock.cs new file mode 100644 index 00000000..a67555e3 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Block/MultiEraBlock.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Block; + +[CborSerializable(CborType.List)] +public record MultiEraBlock( + [CborProperty(0)] CborInt EraNumber, + [CborProperty(1)] Block Block +) : ICbor; \ No newline at end of file From 40e0ebf7fb1d1406c0900b851154b75f3d0eebc3 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Fri, 20 Sep 2024 19:13:08 +0800 Subject: [PATCH 028/162] chore: bump version 0.2.2 (#28) * feat: added MultiEraBlock definition for block (de)serialization with era number tagging * chore: bump version to 0.2.2 --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 26919bd5..c1f1937d 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.2.1 + 0.2.2 Chrysalis clark@saib.dev SAIB Inc From c16279e7504334fabfcd15aa08068624c3e39fdb Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Wed, 16 Oct 2024 22:00:15 +0800 Subject: [PATCH 029/162] refactor: modified type definitions, (de)serializer functions, and Cbor types (#29) * refactor: modified transaction inputs and multi asset definition * refactor: added union types to CborList * bounded bytes support * Transaction Body Change all List to MaybeIndefList * removed useless null check * fix: corrected logic in CborNullable serialization and deserialization functions * refactor: modified type definitions for TransactionWitnessSet * fix: modified deserialize function of type CborBytes and modified PlutusData type definition * fix: modified incomplete Relay type definition * fix: modified protocol param update, costmdl, and nonce type definitions * fix: adjusted MetadatumInt definition to include either CborLong or CborUlong values --------- Co-authored-by: Clark Alesna --- .vscode/launch.json | 4 +- src/Chrysalis.Test/CborSerializationTests.cs | 5 +- .../Cardano/Models/Cbor/CborBytes.cs | 7 +- src/Chrysalis/Cardano/Models/Cbor/CborList.cs | 15 ++- src/Chrysalis/Cardano/Models/Cbor/CborLong.cs | 6 ++ .../Models/Coinecta/Vesting/Treasury.cs | 4 +- .../{MultiEraBlock.cs => BlockWithEra.cs} | 2 +- .../Models/Core/Certificates/Certificate.cs | 5 +- .../Cardano/Models/Core/Certificates/Relay.cs | 9 +- .../Cardano/Models/Core/Protocol/CostMdls.cs | 9 +- .../Cardano/Models/Core/Protocol/Nonce.cs | 10 ++ .../Core/Protocol/ProtocolParamUpdate.cs | 73 ++++++++++++- .../Cardano/Models/Core/Script/PlutusData.cs | 34 +++++- .../Models/Core/Transaction/MultiAsset.cs | 14 ++- .../Models/Core/Transaction/TokenBundle.cs | 12 ++- .../Core/Transaction/TransactionBody.cs | 67 ++++++++++-- .../Core/Transaction/TransactionMetadatum.cs | 16 ++- .../Core/Transaction/TransactionOutput.cs | 1 - .../Core/Transaction/TransactionWitnessSet.cs | 14 +-- .../Cardano/Models/Core/Transaction/Update.cs | 11 ++ src/Chrysalis/Cardano/Models/Core/Value.cs | 2 +- .../Cbor/CborSerializableAttribute.cs | 1 + src/Chrysalis/Cbor/CborSerializer.cs | 101 ++++++++++-------- src/Chrysalis/Cbor/CborType.cs | 1 + 24 files changed, 324 insertions(+), 99 deletions(-) create mode 100644 src/Chrysalis/Cardano/Models/Cbor/CborLong.cs rename src/Chrysalis/Cardano/Models/Core/Block/{MultiEraBlock.cs => BlockWithEra.cs} (88%) create mode 100644 src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs create mode 100644 src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs diff --git a/.vscode/launch.json b/.vscode/launch.json index ed532332..3c6f2069 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -15,7 +15,9 @@ "cwd": "${workspaceFolder}/src/Chrysalis.Test", // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console "console": "internalConsole", - "stopAtEntry": false + "stopAtEntry": false, + "justMyCode": false, + "suppressJITOptimizations": true }, { "name": ".NET Core Attach", diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index ce441056..55c8cfad 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -1,5 +1,8 @@ using System.Reflection; +using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Core.Block; +using Chrysalis.Cardano.Models.Core.Script; +using Chrysalis.Cardano.Models.Core.Transaction; using Chrysalis.Cbor; using Xunit; @@ -8,7 +11,7 @@ namespace Chrysalis.Test; public class CborSerializerTests { [Theory] - [InlineData("820785828A1A0024CD2E1A0371649158207063CB55F1E55FD80ACA1EE582A7B489856D704B46E213E268BAD14A56F09F355820DF89101296FEC1DC3D62E6C1E595EAFF22CC0DFC67E131EF14BA8C4772D3A766582008A1ECFFBDD94FCA7FCFE54414140DBCC8D24D8AD2F34441F60E6FA0F6F746CB8258405A7828A8C947E79CE13A1B32D934FFD8789C54038302F8E3D976CD19C38485F7CF70082745521FA33863E4597C9B9974E2F0C4910BBAA49A310FD1E092FA13F75850CED8E6382838205756E102E3E7AFC248FB3381CF1AF37BE30719484AFCC8DEE389382A9A44B563AAB1ABC9287191DE9E85A1FB1C657BF256949DC9A7557F0B32EE7F1395ECB9523E33AD2F2343A534021901CC582060DF41E05AE45C3FB2708ECFB3A994C64D1F05CE5FC77CFFE9228402F8D76F0084582009BA7F385DB65A62DE6FDEF0138CB71938A19989DF420823E1B76BDB7FFEC509071901AA584084216A98801BD9AD1659F71ACAE918E5B1B6FB0D547B8C8CD4F70390D58693E179D1FFA5B4266FABA220E01474B7B8DF9521C1DC894C9D7472EE10D898B9CF0C820A005901C01BCB316E37A1CA580FAA30502B3F31A339B4FA92BCA969C88D394B1BEDE8933AE2430E673D9CD96A800218AA91F08F4B864F9794FD4DDF220FD71D6ED8B1800489355395AD17B6301DB3E36E757A27CD9845C1A02B208400CEBA4EFECF19F0FEAE8DD413CAA750D76A7E16074D1698DEEDA6546C3459304F2C6FEA0F9EAB026FE19350A8EFDAB8F18D62091A0A0F765CAD08347985CB0156FA4B2E7E7A766782588639C32EB8074FBC111020A5F133922D364BA28D0F8EEA8140E17832928379BE25BB3FD57C50434452706CB52D9A6FC9F6D45E558AC34F73E1050B6689B42FAD45713D63C613033B22D0E5253A3D2CC3BBB9D0B986C07F17D38594AA5023C244CD4B0486976F584118FEBA2D62E700F92A67E46EF4E034DBF5C57E52DE15A19AC064C1A6959506AA5848347CCC2B40B9B09C4D73F66F4AF6B504D38C568378970BB1CFAAEF9F97A539BE83E8A9D2E967E2DC44410CBF0A9CBE541907B6EC09F8241AF4793E66B41444F4D901E00961F5A78A9824F8E93D4C6A7576C821C8CB3C798B1140C82FF17D3F0F067CCEC6A6A219B2F80CB89BD3404BB2185D9AD6DCD81F9E7DAB77F373BF62B7F1995B0CB65540E773F7104B6BA4758FF81DAD4FA281A400818258202122C2504552727508EB11F189125786B8BEA0C3955E1BD989D8A631980363F6000181825839009FC430EA1F3ADC20EEBB813B2649E85C934EA5BC13D7B7FBE2B24E505064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D821B00000001FDD58A0AA2581C22691D3D969ECF5802226290C2FB98E2BC08522D5B726C1F5F400105A144546573740D581CEF6ED47A6917A3CBBEB46561E8853DA969343794D66128598A34AF2CA24D4275726E61626C65546F6B656E024E4275726E61626C65546F6B656E3202021A0002ADD905A1581DE05064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D0081A100828258200DD2349193F4D73BFF8ED9FEA7965E3C44BDC098F1D91D0A2C9AF8AA525DB71B5840B30C80EEB8E2B07E38D9E411BED9F3D5FD344C6557FBEA8102A49EA542143A3A4400FE47DE5ECF4CAFB69906556BF4E7F9B7146AE7463F4DDE6C780B500420088258200ABB7B89E091DCD3201AEA501854A4CB05290862D88B6EB30AFA6DFD23F5446758403E563CDF0E8B72049CA05C8C7214254588B3A23C5FE863A514D1B816E6A0FA3499F927F47CD8F18A75D7FCC782A68A5ED84AAE5CFD2C66FE73E79A8540564F0AA080", typeof(MultiEraBlock))] + [InlineData("820785828A1A0024CEA11A03718FB85820EA5BE439100C17D70E4B9C3875A686BE0FEC8DDEB334C2B817754DFA5A3DFF5F582006EA166962F57ABC25AEE664E82AE87C1D0F80AF5B82E3A93B9847C3BC060A93582078AA8F7D6CFE1DD20B1FECBE2C6D2214EC19E2773442ED815978D7035E937BB182584047F15AA6EEFCD3B870ABA5B7A81A44B7D3B454693E69A9C6E81183C640D5BEB05AD8F23E31079F4F93DCACF8B85B9B974A046B4C8272D9862B8F0F5D8BEE58FC5850F4B38B196CE1C98987C1C3506DEBFCB5C1072540A1863E24E86742AC42F600A1008DDDCE3D2348A75C7E91772A842F484D8F614B312E2D0BEC0B582BB2BE66BFE9D55998F60EEB837828D120AD0B6C08193FE358202E9A169801D1CE197A604827C377B245C16A8C80A89D1AFEB1BAFA73DAFE3B06845820B97BAA9E6C3E14724634D36CDFEC33777E9B36755B2044E4BE35CCC9514DE51C0519019758402F2974E4C6AE86DA26C041ECA8CE1E18D8B91A3D9A9DBB6083B22338909485BAA3011F7FE7CF73326BBA402F0566F7A298C214FC669D568DE658B9847D3371098209015901C09933EC7CFDD3FB64326904CC5C082919140516BCE746316D39496633631EADBFB2E1C7075B84451F3C977D1D453C34D31A5CC664A7CA28AF264798B136F0D60E24B29B2E25F1CF14A0D7262C96CB743CDD6A19ED89FA805627AE5D5B35081F1398F51FE614349794A6985983F8E4712BAE2B4EAD0C3124089D7F7DC9CA1E8F85E86D36BC2F41FDDA200CB82F4B37A9A8FA710847D65D98F720F278F3BBC6E8FDFCD2192B6C70BDB462C66F868F89EF41D75EAE1AC81D60AA7B9821697BE404764D62088C04B1392D33D7AF02E04A4EA9DC0049A86D72BBFFEAF61B1956E71436DD2F72F5833FB621BF3A159AB0D2CFFAEBB6960FC6D09B53E9B355B78C2620D402AF79CBA952FD03CDDF99142346AD74E4D05231B018DB929C5FE4F95A82FFB04FBD08E2CAADC2EB7E64C77E62C44B40C81077A677176B86A82B97C148678C3FB196B8CAE230969CB081011DDF5E08A46D4E4799FCBF0CD89082EDAE1A4655D6DF02A3C444FA0B6C853F74955C77BC2C1F5A8D9B92D3CC42FC9DB683019252A15254B21782CF4A5BC72FD549C77A721B3EA939F5C716D1A3C19358C0DE8322633E2BB012CF4A96E72358CAE0DCDEA07979A7BB74469918011DAD0AEC9421156A9FA50081825820F8BFC94AFB9571E0513E3A33C944D495C10DA5BB6E0B6A4500D33CC54CFE7C670101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A80B75AE0021A000F4240031A037196C50F00A5008182582070BDB247A12C25FE78744444A5E502C68C09C48692ED2B4CA95B583F973E44AE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A8098D660021A000F4240031A037197350F00A50081825820D5243170D45B968E2ABCD182E2D5D13008EC8249C3D00ABB27F14323E42B952E0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A807A51E0021A000F4240031A037197350F00A50081825820D233491765ED5FAE613718A0039C543474C934EA7FFAD65007A100FDEDBE49BE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A805BCD60021A000F4240031A037197350F00A50081825820EC78F3A82ED57D925F6D16D85D599E8E52A16992477F256ADF8FF79D428909AF0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A803D48E0021A000F4240031A037197350F00A50081825820E4D503032FC0F12FC2A5FB3F990B0DA43616FDB58C75BA58CF9661A4A343CCF50101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A801EC460021A000F4240031A037197350F00AC00838258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C8181282582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB0082582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB020182A300581D70E0E14B90C2673CD5C00F001C582C966F22EE35AC0873EACB5A1C053B01821A005B8D80A3581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14574444A45441B0004C791C58DEFF1581C953F7215A4C509478CC5A63606C7688915EDDE3BC7FC243A262C738FA14001581CB03F07BADC6F4F050DF48B19A27180884FFD214B32AEB02213B98B7DA14001028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A8051603E021A0005E1BF031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B58208563DB90D535A1F26BF10F1E728B04D0AFAF6537F02A43ECCC0E90970AC903100D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C818120F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BD111A004C4B40128482582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB0182582097D4F43C165EA784034635923F462C478DC666A46FCE69FDA6150A0B28BC39B700825820B1A9C1A86A9A2457131147A9663DB6E800A135E26978A7237BEED86747096B2F00825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD06AC00868258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C81813825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A00825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A02825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A03825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A04825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A050182A300581D7077898471D1A56F64CD6FD110E081C1F91B92CC1484F2480AFB48190A01821B000000DA54BBD753A2581CAF829F4472C3728307007831FA000E450883CFCA4893D9EF535E8786A14004581CB6525F0993875DB27B0A1C780F0E0F1678ACED0DE6CAF0D241B61E87A14001028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A8050AE2C021A000693D1031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B5820032498343BAB7D28DE51B3B907F5A18AF8E25FEBA546E330A7DCD1F30B6B103C0D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C818130F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BD111A004C4B401284825820CCF53FDCEC75C228401EEC309DD877EA115736CCA7BFD99A6242B1E69BA2928F00825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A01825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD07825820DC5E36EA57DC042A990562A3A30E1A8AC1FDC86B775BB0A60E2321CBFEFA24CA00AC00838258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C8181823825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D00825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D020182A300581D704FAF61D99FE87D6F1C4AE346F804A6B9824808A04047BD846FB1EA5F01821A005B8D80A3581C591D247A9FE69F17BBD270E8CA96057BC03005C79EE384E4A7013A18A14001581C7726C67E096E60FF24757DE0EC0A78C659CE73C9B12E98DF7D2FDA2CA14001581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14574495553441B00000F069859C6BE028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A80516725021A0005DAD7031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B5820F6DF332DE9960CFBFCB58D8F8C509B9C8309BF0EFCA8C568E894C166DC8700C50D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C81818230F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BC111A004C4B40128482582069B0A41C5355C5DD16AE8C10329FB01F82E140C96C01C5ECE078724DB41C9DD601825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD04825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D01825820EBB3F064EEC37CF28724ECF4DC3BFD08F2142B0B58F5FA163A88F4D761524D7300A500818258207B22F82CBBED80FC6251E1EADF19A8F7D9662D753C4641C5A4FEB865FF40DF8C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A80003FE0021A000F4240031A037197350F00A500818258202B04404AADB673D87CC5D82000FFF11669A52E651ED98D01892DD37555A7360C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FE1BB60021A000F4240031A037197350F00A30083825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4900825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4901825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4902018382583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A3B9ACA0082583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A000ECC1682583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A05CC9140021A0002A801A40081825820A7C71DC5A79CCE5B333DFB9D23EB950279DEE5421879AB08520D3D855529C539000181825839009FC430EA1F3ADC20EEBB813B2649E85C934EA5BC13D7B7FBE2B24E505064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D821B000000021758BE11A2581C22691D3D969ECF5802226290C2FB98E2BC08522D5B726C1F5F400105A144546573740E581CEF6ED47A6917A3CBBEB46561E8853DA969343794D66128598A34AF2CA24D4275726E61626C65546F6B656E054E4275726E61626C65546F6B656E320C021A0002B4E5048282008200581C5064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D83088200581C5064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D1A001E8480A50081825820C4ACDA061B2B89E254BF6A3F042B6E6D3EF5CD97B86F307A203AB8E153DF026D0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FC336E0021A000F4240031A037197350F00A50081825820BF92B177D0DC0B5CD466C42333747A1B02964903003BD1B5DF67A6E7BCC29CE80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FA4B260021A000F4240031A037197350F00A5008182582041A36B5C55795882B6D8583F38AE9EDED2350345D30ED14A17A9526B62FF6FFC0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F862DE0021A000F4240031A037197350F00A500818258209F5F08A52F8D5CA4D9894E95024EC3749E6FF482D7DB3B97C5C72580F8BA9D730101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F67A960021A000F4240031A037197350F00A50081825820F6DC8D25088EF5D0B5FE1A4561048DE24F453DB517F2881B6F53DF75397704D10101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F4924E0021A000F4240031A037197350F00A50081825820F1EE3C844FF872EDC33FB3D5389DB1670AA8FE52C35B6100C5E8701DFE32F9430101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F2AA060021A000F4240031A037197350F00AC00D901028682582038637FC438B4EAF12DD62E69B39518B8216F64C9341D709A327C86DD42CD184606825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D00825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D01825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D04825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D07825820F406D1A739F08FE44EAFF70DFE36EEC94D3585F4AE681CCE57E60FE6D7423F37020188A300581D70F499907CE24F0F79445809C21A6C63C87DC88132033FFCDEB454141801821A001951D6A2581C0A875B518F66742777D9EB500DD34E692F0B4BCA64C14E7C0FE8186DA1581CF499907CE24F0F79445809C21A6C63C87DC88132033FFCDEB454141801581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14874434C41524954591A001E8480028201D81858469F1A001E8480D8799F581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0FFD87A809F9F0FD87980FF9F0ED87980FF9F0BD87980FF9F09D87980FFFFFFA300581D70309B2F030E026E92F29CBD5A97BAB8B4561966227B5F80463F90148601821A00146324A1581C2BC42C28323B63B19C8C57745426A9CC7DD5A0CC85D83D8B7D5EB584A14001028201D81858459F9F1A000F42401A000F42401A000F42401A000F42401A000F4240FF109F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFFA300581D70FEC8DC75517DA7858773560E4E2A8D930829DF1DBA72C40FC662B1D4011A0016C13C028201D818588C9F9F9F1A000F42401A000F42401A000F42401A000F42401A000F4240FF0F9F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFF9F9F1A001E84801A000F42401A000F42401A000F42401A000F4240FF009F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFFFFA300581D708CE0CC32FB2DDD1ED9C7B05B017EECF444AA2444989E60AE760730C401821A001C25C8A1581C7B4F489D06F3EA7B1743857C95A265C790A38B2EA9437559FF6E5DE4A14001028201D81858BB9F0FA200A001A1581CFEC8DC75517DA7858773560E4E2A8D930829DF1DBA72C40FC662B1D49F5820B13B86B8B7EB7E607025BEBAD0BB1F9F6C44E3A1D5C6B28DD74D38787D3EC098D87A80FF009FD8799F581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0FFFF9F1A000F42401A000F42401A000F42401A000F42401A000F4240FFA2000001009F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1B0000019180163627FF8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EE22C8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EE4BD8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EEA958258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A00246946021A000902BF031A0371966C081A03718F6509A1581C7B4F489D06F3EA7B1743857C95A265C790A38B2EA9437559FF6E5DE4A140010B5820ADB3EE7D6C39928C88197B7AFA930D2101DAFC74B09EEEECE78A6030D68913940DD9010281825820329BCA217F0292099FA1F5F091EB038288CB1056AAA7CC301C617551415A1272000ED9010281581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0108258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A003EC721111A000D841F12D9010283825820B5A3C501A58F63D300E9B203CE7F273DE758644E36BC47E035BD0A7F7C06131300825820BC29A1771FFFF2519162EBF1637219F521FAB639B29C0FC4641DFD5C1F3CAAC300825820D77C50ABD842DE59EA72812D275B221172F7C755205FC5D7C9F01FAD7E30B54F00A500818258203AC7C5CA083EDA4296A310D9CD48860448E804B5F51C0D74685F41B25AD965F00101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F0C1BE0021A000F4240031A037197350F00A500818258205A466CDB2A48B0344766F849428C019D82F594B587D63E722F3CB65BCBE5A0F30101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7EED9760021A000F4240031A037197350F00A5008182582048789F6D1F171A7E0306C54589B91E4CB44E4E3E779E3CCF44B20EB6114782600101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7ECF12E0021A000F4240031A037197350F00A5008182582037C13AB67BA785FAB660FB54ABED382B0660F731630FC94FC3FCCB5D97943DC80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7EB08E60021A000F4240031A037197350F00A500818258203304831CADEF663E75AB20CD49C27452DFD788808D267BDFB0AC5ACAAA33C21A0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E9209E0021A000F4240031A037197350F00A50081825820AB543A2FE129FDF5439A347CDC5769A7978B320A272D14B2029B6D316DF9BD820101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E738560021A000F4240031A037197350F00A50081825820C9B0617C38EAC4253837585E5989D4A060DEFFC7A447E336DCE0903003329C8C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E5500E0021A000F4240031A037197350F00A50081825820A61842CDECA334B533C12C9E73C904D6C287DA31EA5BCB645643984FD5123CDE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E367C60021A000F4240031A037197350F00A5008182582031C4B3317969D9450CA56C97490A55F3A5B7AF3D3077F4632C802D7B551E6FCD0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E17F7E0021A000F4240031A037197350F00A50081825820505BEFB011C999977D3AF620AEE9D341E5E04974BCDDEFF10F0E0A760E6EA6530101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DF97360021A000F4240031A037197350F00A500818258205E81F9CE9818BA10B897320BB483BDF1AFFC19B9220178938E1CE3B4856C42D30101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DDAEEE0021A000F4240031A037197350F00A500818258200CBF545553202E5880DEBBA25FC9E436D020F3D87F7F3A1841ABEEC4797D43FB0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DBC6A60021A000F4240031A037197350F00A50081825820EEAD7BEDED5DDD22ACE57E1487DCE5B0B5427EB3BF10595E568B9B7C3BAB34710101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D9DE5E0021A000F4240031A037197350F00A50081825820847A80D5526BA1847B297A987463CF4D27B1A5C8063A02F11293976E5EB8D1790101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D7F6160021A000F4240031A037197350F00A50081825820AC9B670A08B56789AE3832085DE6D330E6FC378D2141DFA5C32E1420E75587E90101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D60DCE0021A000F4240031A037197350F00A500818258205E07F15D52DC9B945C62809F8BD4024E56A46ED844BBC4DAF34B774FC1FAF6670101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D425860021A000F4240031A037197350F00A50081825820BA7094EAAFD69FA3F9C2943374D93BDD124D3C4B948207DB0A45B306DD3FB4A70101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D23D3E0021A000F4240031A037197350F00A50081825820C8E77D603EA30470478CB699BF633596D86B3ADD75F8BB9FF67F2C85E5A84F5E0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D054F60021A000F4240031A037197350F00A500818258203646499DA34F33ADB3A140B300B52F592F9E3B105D3847981C4E3A7D88A534A80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CE6CAE0021A000F4240031A037197350F00A50081825820CC3F7565961337DCF2EA7B4DB1D62990CCF0924FF33E53CB821ADBF2BE96793D0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CC84660021A000F4240031A037197350F00A500818258203E4DF81BDDF0568D52EB1B7E3F95999667CB1EFA8AB169B84EB21BA6C85F7D490101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CA9C1E0021A000F4240031A037197350F00A500818258204A41426D38E394E294B82BD00CFC5A0FBC9521C4EF4F22E5CCFA97B04715CDD00101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7C8B3D60021A000F4240031A037197350F00A500818258206C9C63FFA25B94A1640AAA1124D12FDEA7BA77A9EEE530B208BE7947E65D65AB0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7C6CB8E0021A000F4240031A037197350F00FF9FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584023D19F743515DA1620E6B299709153158A60DC8463D64E94886FE95FFEA86611DFEB605F40BA3B9244DF08EA6887CDA60DABD59F7D2BD51CB8CF465D3D93F404A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840F0A21CC8D2E1D1185E854B460CED341694900C04A14D8F5F283ED93CD9C6ED2BDD9D0DAFAAFE19F4F492B344F4BD53C87D9F58FBA2345786A20CA63247F8C70DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58402DA5CDFA64651B3C5A177101DFB7D5E6F13C4C8165BCA2E9FF64B7256595A7E241A0BB481ED9A2D26F4E422283F97FEA680C11BB2B5FFCD1FF9EF30CD682CB02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584047D3E0F7B436C8434003E66EBC2D23D242077572D053693E6CED783C5794F2B7044E7230915E78B08A46EF13507E650542F648CF1BEF35AB2E6F0AD345AC9B0EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409F45487796FA97E7A9D77B796741376E82AC449260A2AF451E6604942585E4567BF6891ACA09B7DFDB4AAAE3B241D12558C9038CD25AD78A53918EBCDC0CDF00A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408BFDA1A9F30423B3DBAE1D7AC5F8E211F8E88853036F87B2A6EEFED5993C10DEC097704B7DCE8522D4B00BAD7404D645BCDAB461305F23C9D97C591ED763C10AA200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C85840779F6F08529742E160EA6E9EFD26FD2D2C27E0C10A14156623A59383FC8F44578F1DEC74A1681EA93CF1BAB621832439903384607D51174C746EACEBE6847E09825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E584059828FC95F121B61BD81BED87005D8A1B95A5224F1E9C8A3321C50C5EB6803E3FAC21950E4B08736B7876B2B39966E906CCCF77626C51F2F3B7E2E46B8D1FF0D0582840001D87980821A000964191A0D903743840002D87980821A000151E21A01A82010A200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C858401127FAE81DC44C99F12A6EBF4C9EA2B0D142F042F0442000ADE7480B114F90E5A603D7AEF881A7779CEE8197230DBEE84D732336C6B5A313541C5CF057165B0A825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840254AEDFAD73856A59053EE1D10B07F797D8CEE0FEAFA64B4F9B1886EF482ADCAE814AEAAD3429669E153BD363A632CAF631E481FEA5BA56F7522729C575B73030585840001D87980821A000BFC471A11C3469F840003D87980821A0001754E1A01C2DB0D840002D87980821A0001754E1A01C2DB0D840004D87980821A0001754E1A01C2DB0D840005D87980821A0001754E1A01C2DB0DA200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C858400D19170481CD3C89CA5180D97FECC3F2BC4190F2FB7242ED885323FB12E34777F23AACE969F869AA9FB0A43F8C5B0FE9D37E6B9FDFE55E7D484E7540C283DE0B825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840D5E5266D7E46E98E0FBEF1AC3C5B1BA6E8AA6DABED630E1D965A61F126FA3E0FA79E4FC726ECA979E59EE453915D7CD7F5F9753C8D7FB7340C3D335C0E6C690C0582840001D87980821A00090B921A0D1C2594840002D87980821A000151E21A01A82010A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840BE908678C005FB4EEB0A4B20EBBB3BB3EC4E8D476745E5CA0605F3FC61F33FDAA6D98A0E33AFD0956576856FCD068A91B68BB52F8F7E468E73923EFA99978509A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409A612AAA9C456A101834E2CE146C35686C290586453B9C37B6FF302254A7066290A771063F81744F2B769AE6356821322D1B509642FA16473DEEEC1C1E267D0BA1008182582039B37B3C16B64837864B9685EA4AB037642C6DB0A7782E56CA2EE11D2E83A8825840C20B05909C7E42D1E2100DF78359EEBD5FEE52FF65E7CEAB708C66E8D3206DC3839B8BCBB39C8037454CC4E1F67B587C9C025E4E94D7B4563096A1CDDB4E1F02A100828258200DD2349193F4D73BFF8ED9FEA7965E3C44BDC098F1D91D0A2C9AF8AA525DB71B58406E415F72CF2502C41C77D34BBE7EF675DCD4706F801AF178BCAE11EB98931CF8EE1DBCA3613182AE3CB22DF3D7E363BA7FAA67BD497DB82634D60A463A5BB30F8258200ABB7B89E091DCD3201AEA501854A4CB05290862D88B6EB30AFA6DFD23F544675840A7843980D60E1F674E6391AB2FBE3597D5DFE8628DC918FDBF74C8A865B43B3974F684E03C3C985DFD20571AA05E1AD7D7C18836F6C0AFB772FBCBC00B3C840FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58404E9869F6147D5CA7F5461CAF3CBC21028DC4CDC6BEB844EDA5E08AA1871E552DEF865A16B1C97AEDEB3A9AE5EF8A4997FCF4B3F64E3A8B7D451421BF9B97280CA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A01BF2F2DF9A0F42C0993BFF69F466FEBA57928A0ADA85876BD9AA1F628F030A51F3BBD01684CB05B2E077CB2F773194F7B6454248D638802D1A44FCFE1A8005A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58402F13F16DC3FE7F383D66760D02CD6D1C45E080652669304C97399008570857E235B5B3901C1BEAF43604624B3528567250630A9994CA47B140AA34DF5AA8BF02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584072E84F9741DBB0AB25B5FC5339832E2A271CC56DF6A3484F1DDECDE1E7B0B2FF3EBDC484FD4753963F7E3D881AF8CB60C699905427D3E1962A4FA71477F20E03A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840C3D1B1935BB4AC2F76DBBF5B2A9E13760C2AB2E1299C560B345B8788E7E0CA02B2140A95BECB674D7F6CFDBA8221A2B6AE26A138257A948CFBF31AF5F6392207A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401B505A41D4994FD9C956FDC93A72B3090E4A7CED3380F7DCADC536D9A0D51DF595C5B6713761701B62543F12792D8CAE071615DA7657D5B2ED65C07F788C3900A200D9010281825820344194B638C6ACB245131928034402DE2ED0AC707FC8C9F0D53F911DD9B112B15840C569E26DB301CF8472CB37632E6A373193C7404ACA51E57CF5551C9150A213F735267A3C50402430E25EF14D0E78B3C4621129D94A70EAACB24B871536ABBF0505A382000182D87B80821A000EA7D11A12022E6D8200028200821A000B798D1A0DE066D982010082D87980821A000212341A02DD349DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408298BE152D95026BA448CF2D858D004834AAEAFDE8E5FD87607D7365D250CD5CF86811C3329B5E7DBEDB83274814B9DF608DB6A4EE9FA05457E55E4F40BFD909A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58407A69293C5136C9BA0FD523CD9E4639BEDFCC22B9188AAA080167210F29CD4175930DCB954C776DA2557960529D5847E2161663F918565471BA5319EE3E66D405A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840C4DA45C43A2D2AD7D495DF64E5BD1CD0597851DCBD54F6288F0C46CBC4A3B38DDD771D76DA94A86580A7456368204571BB58760A9CB9FA6797556B57A8565D0EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840299FCE762DD81827667E0123CED5744E86296C2AB28A53E3EB587EC94462B2B7F3A5E0BC42AF6DDD9B1B96021976D8416C0D683C244E30B733F65799B4772900A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58400A07BDFEB908595249AC9D6953680CEACDDC74DFAC0B0A4DE1FC557219A99D62CF94989391484DAA441E2BECCBB82BB097ABC7169CC0DED8979F889C20A97502A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A9E01783C2B869885C67C09C5A7063972E2280583166E32D551A2C33B82B6788CA2D55ACFAD3C71528BC628A587A67F153534E330906B3CB9B8AF97B85F8B20EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409AB0C1C609252F3CA6BB3525E3A28412015473AFC7358F6BD04989B3C76B13FD00EB2BB8AA8FE1ECCD64AEB7627D73E4EAA8C46CB52EFA2AE3BC56E1A32A040FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584078376F9AE508B59EEF52C87B93B4DE484C5175D249B6C359B9F4DFBB31A796A89C79744D3D7D6638477CA88FA6DA4ED4AD40AEBAAB05170848EFEA35E1C88F02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584055D71E3ABDA52C21F63B43C4B2FED7347D6C45CC42600D897F10028105A63A41CB9EBCD35F228C12D7B1A8FA39D93AF787959DF65A2ABF3D9656BB123A179F02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401A587EB493AB15F2790216E14DB7DF0CFC09690BE704F063F9527E99D4230B7D2A11EEFAE0E54325819406456C52744C162730584746A2281194840F31D2010EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58404FEF3B8B83C115E2C20B37922306B61E55AEB4E3DE706BCDF05B9C6DB40C151986FE9A185F0C6C84D58F81DDC26360C8A500853E5E67975EB35346527C535100A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840CBD01F9A960F076673E458DF68D88FC9048A78F27E8808DE901F4C90571A774A156EA78030AD31FBF4BC89AC5F14783B58F205EAC715E1A8C0B1BFE2FBE93F07A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840EA70C6F29285826138767DBB8B718C11BB170D808C6E035466D494DFDF911D9702AE6698B77D936F56198A124132CD8CFD88B5EFE00A1114483670CA444ABF00A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401867971104F649C06FAD5BE944B208A870A6D279D84EA7F587E7B4799905BFFB8B03677EB7F373CD42281278B4B3473289EEFF726D7509638EEDA1DF45D29204A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584094EEB09AD7D30A03A38B94789CE8420E422A39CB9167428417C9504520710A584AA659265476DE352082D649A0CD0E6DAD9FAD0F732CC8F7B508B3B688B8E906A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A276CD4CF7D1624872E712372A85A7ABBE3E49E09096F9CB4F2B98CC9C14ED681D3ABD95E89CDCAC068A2DAC42D1313EDB712C19AC116F3A22F8B64B1FBD4703A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584059CB840B9959ACA6E850FC85FE82DF8F40CDBD6001EC024AAD90B555782D82494A6DCB5995D5CDC9963B2E228412504152C3696E8330F2326C6AA9D8BFF8750DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840388DC17804A2201F71549DEA036E0BE96D187476ED0E35F7A7253746D5F7240A6C3A9FAFEDB3268A6C76979C1DF4A9526B83FDF36B812D95E964B51416D02E02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840CC70CF06159C3935CFBA88C732B1B26DA7F2E8DC5A34998EEB6DBF1C2381F5E65CAA295176CE9B1FD1037C1E8758ACAAEB7D7A0A5F49A18EF221E2C4130AFE0FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401870A4629BA5D679C9A243C4510665C218CDD150F9971E68BDB8945B22FE13680EECFACA8CCCD8B0F2EA5658C86DC30C0E8EABF574BEA28FBCE6936FD99E8306A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840EE71574DF0FFE908DB73D477339A6608267AAB7AD67C4A96CFEEF272AC839C91CBDB3E6A788A25A5CFFC069A89BD63EB5B7E17A2A23C38BB1F9F29C8A97C2B0FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A09F303775E264DCF140F3F7CF50324E3D231E7BEF5B54FA74FD998615D61A6481300BB0E3204869E82DE6CD50EBB73694C491086732CF9031A2CDF22197C603A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408B376C556823EC8D6D0AA1704DC013FE49CC645F848113370DC8672A3A56172D916F1677DE75E4A3C11EFBB2DC0C467BF569237F91E153CDD9E3C76C1DE31F09FFA306A007A008A080",typeof(BlockWithEra))] public void SerializeAndDeserializePrimitives(string cborHex, Type type) { // Arrange diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs b/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs index 8f5631d0..cbab29e0 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs @@ -2,5 +2,8 @@ namespace Chrysalis.Cardano.Models.Cbor; -[CborSerializable(CborType.Bytes)] -public record CborBytes(byte[] Value) : ICbor; \ No newline at end of file +[CborSerializable(CborType.Bytes, IsDefinite = true)] +public record CborBytes(byte[] Value) : ICbor; + +[CborSerializable(CborType.Bytes, IsDefinite = false, Size = 64)] +public record CborBoundedBytes(byte[] Value) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborList.cs b/src/Chrysalis/Cardano/Models/Cbor/CborList.cs index fe835649..7249bb8d 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborList.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborList.cs @@ -3,11 +3,22 @@ namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(CborDefiniteList<>), typeof(CborIndefiniteList<>)])] +[CborUnionTypes([ + typeof(CborDefiniteList<>), + typeof(CborIndefiniteList<>), + typeof(CborDefiniteListWithTag<>), + typeof(CborIndefiniteListWithTag<>), +])] public interface CborMaybeIndefList : ICbor; [CborSerializable(CborType.List, IsDefinite = true)] public record CborDefiniteList(T[] Value) : ICbor, CborMaybeIndefList where T : ICbor; [CborSerializable(CborType.List, IsDefinite = false)] -public record CborIndefiniteList(T[] Value) : ICbor, CborMaybeIndefList where T : ICbor; \ No newline at end of file +public record CborIndefiniteList(T[] Value) : ICbor, CborMaybeIndefList where T : ICbor; + +[CborSerializable(CborType.Tag, Index = 258)] +public record CborDefiniteListWithTag(CborDefiniteList Value) : ICbor, CborMaybeIndefList where T : ICbor; + +[CborSerializable(CborType.Tag, Index = 258)] +public record CborIndefiniteListWithTag(CborIndefiniteList Value) : ICbor, CborMaybeIndefList where T : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborLong.cs b/src/Chrysalis/Cardano/Models/Cbor/CborLong.cs new file mode 100644 index 00000000..9e8aac50 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Cbor/CborLong.cs @@ -0,0 +1,6 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Cbor; + +[CborSerializable(CborType.Long)] +public record CborLong(long Value) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs b/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs index d2f42569..ff7e51f7 100644 --- a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs +++ b/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs @@ -35,10 +35,10 @@ public record ClaimEntry( MultisigScript Claimant, [CborProperty(1)] - MultiAsset VestingValue, + MultiAssetOutput VestingValue, [CborProperty(2)] - MultiAsset DirectValue, + MultiAssetOutput DirectValue, [CborProperty(3)] CborBytes VestingParameters, diff --git a/src/Chrysalis/Cardano/Models/Core/Block/MultiEraBlock.cs b/src/Chrysalis/Cardano/Models/Core/Block/BlockWithEra.cs similarity index 88% rename from src/Chrysalis/Cardano/Models/Core/Block/MultiEraBlock.cs rename to src/Chrysalis/Cardano/Models/Core/Block/BlockWithEra.cs index a67555e3..eb87abc8 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/MultiEraBlock.cs +++ b/src/Chrysalis/Cardano/Models/Core/Block/BlockWithEra.cs @@ -4,7 +4,7 @@ namespace Chrysalis.Cardano.Models.Core.Block; [CborSerializable(CborType.List)] -public record MultiEraBlock( +public record BlockWithEra( [CborProperty(0)] CborInt EraNumber, [CborProperty(1)] Block Block ) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs b/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs index 499c9bc7..7cab08c1 100644 --- a/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs +++ b/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs @@ -1,7 +1,6 @@ using Chrysalis.Cbor; using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Core.Governance; -using Chrysalis.Cardano.Models.Plutus; namespace Chrysalis.Cardano.Models.Core.Certificates; @@ -55,8 +54,8 @@ public record PoolRegistration( [CborProperty(4)] CborUlong Cost, [CborProperty(5)] CborRationalNumber Margin, [CborProperty(6)] RewardAccount RewardAccount, - [CborProperty(7)] CborDefiniteList PoolOwners, - [CborProperty(8)] CborDefiniteList Relay, + [CborProperty(7)] CborMaybeIndefList PoolOwners, + [CborProperty(8)] CborMaybeIndefList Relay, [CborProperty(9)] CborNullable PoolMetadata ) : Certificate; diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs b/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs index 34d0ba56..7778e869 100644 --- a/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs +++ b/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs @@ -15,18 +15,19 @@ public record Relay : ICbor; [CborSerializable(CborType.List)] public record SingleHostAddr( [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborUlong? Port, - [CborProperty(2)] CborBytes? IPv4, - [CborProperty(3)] CborBytes? IPv6 + [CborProperty(1)] CborNullable Port, + [CborProperty(2)] CborNullable IPv4, + [CborProperty(3)] CborNullable IPv6 ) : Relay; [CborSerializable(CborType.List)] public record SingleHostName( [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborUlong? Port, + [CborProperty(1)] CborNullable Port, [CborProperty(2)] CborText DNSName ) : Relay; +[CborSerializable(CborType.List)] public record MultiHostName( [CborProperty(0)] CborInt Tag, [CborProperty(1)] CborText DNSName diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs index edd589d2..e5799657 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs @@ -1,12 +1,7 @@ using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Plutus; using Chrysalis.Cbor; namespace Chrysalis.Cardano.Models.Core.Protocol; -[CborSerializable(CborType.Map)] -public record CostMdls( - [CborProperty(0)] CborDefiniteList? PlutusV1, - [CborProperty(1)] CborDefiniteList? PlutusV2, - [CborProperty(2)] CborDefiniteList? PlutusV3 -) : ICbor; \ No newline at end of file +public record CostMdls(Dictionary> Value) + : CborMap>(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs new file mode 100644 index 00000000..db66794d --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Protocol; + +[CborSerializable(CborType.List)] +public record Nonce( + [CborProperty(0)] CborUlong Variant, + [CborProperty(1)] CborBytes? Hash +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs index e4411057..54317fd0 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs @@ -1,12 +1,20 @@ using Chrysalis.Cbor; using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cardano.Models.Core.Governance; -using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cardano.Models.Core.Block; namespace Chrysalis.Cardano.Models.Core.Protocol; +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(ConwayProtocolParamUpdate), + typeof(BabbageProtocolParamUpdate), + typeof(AlonzoProtocolParamUpdate) +])] +public interface ProtocolParamUpdate : ICbor; + [CborSerializable(CborType.Map)] -public record ProtocolParamUpdate( +public record ConwayProtocolParamUpdate( [CborProperty(0)] CborUlong? MinFeeA, [CborProperty(1)] CborUlong? MinFeeB, [CborProperty(2)] CborUlong? MaxBlockBodySize, @@ -37,4 +45,63 @@ public record ProtocolParamUpdate( [CborProperty(31)] CborUlong? DRepDeposit, [CborProperty(32)] CborUlong? DRepInactivityPeriod, [CborProperty(33)] CborRationalNumber? MinFeeRefScriptCostPerByte -) : ICbor; \ No newline at end of file +) : ProtocolParamUpdate; + +[CborSerializable(CborType.Map)] +public record BabbageProtocolParamUpdate( + [CborProperty(0)] CborUlong? MinFeeA, + [CborProperty(1)] CborUlong? MinFeeB, + [CborProperty(2)] CborUlong? MaxBlockBodySize, + [CborProperty(3)] CborUlong? MaxTransactionSize, + [CborProperty(4)] CborUlong? MaxBlockHeaderSize, + [CborProperty(5)] CborUlong? KeyDeposit, + [CborProperty(6)] CborUlong? PoolDeposit, + [CborProperty(7)] CborUlong? MaximumEpoch, + [CborProperty(8)] CborUlong? DesiredNumberOfStakePools, + [CborProperty(9)] CborRationalNumber? PoolPledgeInfluence, + [CborProperty(10)] CborRationalNumber? ExpansionRate, + [CborProperty(11)] CborRationalNumber? TreasuryGrowthRate, + [CborProperty(14)] ProtocolVersion? ProtocolVersion, + [CborProperty(16)] CborUlong? MinPoolCost, + [CborProperty(17)] CborUlong? AdaPerUTxOByte, + [CborProperty(18)] CostMdls? CostModelsForScriptLanguage, + [CborProperty(19)] ExUnitPrices? ExecutionCosts, + [CborProperty(20)] ExUnits? MaxTxExUnits, + [CborProperty(21)] ExUnits? MaxBlockExUnits, + [CborProperty(22)] CborUlong? MaxValueSize, + [CborProperty(23)] CborUlong? CollateralPercentage, + [CborProperty(24)] CborUlong? MaxCollateralInputs +) : ProtocolParamUpdate; + +[CborSerializable(CborType.Map)] +public record AlonzoProtocolParamUpdate( + [CborProperty(0)] CborUlong? MinFeeA, + [CborProperty(1)] CborUlong? MinFeeB, + [CborProperty(2)] CborUlong? MaxBlockBodySize, + [CborProperty(3)] CborUlong? MaxTransactionSize, + [CborProperty(4)] CborUlong? MaxBlockHeaderSize, + [CborProperty(5)] CborUlong? KeyDeposit, + [CborProperty(6)] CborUlong? PoolDeposit, + [CborProperty(7)] CborUlong? MaximumEpoch, + [CborProperty(8)] CborUlong? DesiredNumberOfStakePools, + [CborProperty(9)] CborRationalNumber? PoolPledgeInfluence, + [CborProperty(10)] CborRationalNumber? ExpansionRate, + [CborProperty(11)] CborRationalNumber? TreasuryGrowthRate, + [CborProperty(12)] CborRationalNumber? DecentralizationConstant, + [CborProperty(13)] Nonce? ExtraEntropy, + [CborProperty(14)] ProtocolVersion? ProtocolVersion, + [CborProperty(16)] CborUlong? MinPoolCost, + [CborProperty(17)] CborUlong? AdaPerUTxOByte, + [CborProperty(18)] CostMdls? CostModelsForScriptLanguage, + [CborProperty(19)] ExUnitPrices? ExecutionCosts, + [CborProperty(20)] ExUnits? MaxTxExUnits, + [CborProperty(21)] ExUnits? MaxBlockExUnits, + [CborProperty(22)] CborUlong? MaxValueSize, + [CborProperty(23)] CborUlong? CollateralPercentage, + [CborProperty(24)] CborUlong? MaxCollateralInputs +) : ProtocolParamUpdate; + + + +public record ProposedProtocolParameterUpdates(Dictionary Value) + : CborMap(Value), ICbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs b/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs index 16aa0d69..61379e9a 100644 --- a/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs +++ b/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs @@ -9,7 +9,8 @@ namespace Chrysalis.Cardano.Models.Core.Script; typeof(PlutusMap), typeof(PlutusList), typeof(PlutusBigInt), - typeof(PlutusBytes) + typeof(PlutusBytes), + typeof(PlutusBytesWithTag) ])] public interface PlutusData : ICbor; @@ -19,11 +20,34 @@ public record PlutusConstr(int Index, bool IsInfinite, PlutusData[] Value) : Plu public record PlutusMap(Dictionary Value) : CborMap(Value), PlutusData; -public record PlutusBigInt(ulong Value) - : CborUlong(Value), PlutusData; +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(PlutusBigUInt), + typeof(PlutusBigNInt), +])] +public interface PlutusBigInt : PlutusData; + +public record PlutusBigUInt(ulong Value) + : CborUlong(Value), PlutusBigInt; + +public record PlutusBigNInt(long Value) + : CborLong(Value), PlutusBigInt; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(PlutusBoundedBytes), + typeof(PlutusDefiniteBytes), +])] +public interface PlutusBytes : PlutusData; + +public record PlutusBoundedBytes(byte[] Value) + : CborBoundedBytes(Value), PlutusBytes; + +public record PlutusDefiniteBytes(byte[] Value) + : CborBytes(Value), PlutusBytes; -public record PlutusBytes(byte[] Value) - : CborBytes(Value), PlutusData; +[CborSerializable(CborType.Tag, Index = 2)] +public record PlutusBytesWithTag(PlutusBytes Value) : PlutusData; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/MultiAsset.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/MultiAsset.cs index d797d9aa..d0665656 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/MultiAsset.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/MultiAsset.cs @@ -1,5 +1,17 @@ using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; namespace Chrysalis.Cardano.Models.Core.Transaction; -public record MultiAsset(Dictionary Value) : CborMap(Value); \ No newline at end of file +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(MultiAssetOutput), + typeof(MultiAssetMint), +])] +public interface MultiAsset : ICbor; + +public record MultiAssetOutput(Dictionary Value) : + CborMap(Value), MultiAsset; + +public record MultiAssetMint(Dictionary Value) : + CborMap(Value), MultiAsset; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TokenBundle.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TokenBundle.cs index cfb9f2cd..c738b50e 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TokenBundle.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TokenBundle.cs @@ -1,5 +1,15 @@ using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; namespace Chrysalis.Cardano.Models.Core.Transaction; -public record TokenBundle(Dictionary Value) : CborMap(Value); \ No newline at end of file +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(TokenBundleOutput), + typeof(TokenBundleMint), +])] +public interface TokenBundle : ICbor; + +public record TokenBundleOutput(Dictionary Value) : CborMap(Value), TokenBundle; + +public record TokenBundleMint(Dictionary Value) : CborMap(Value), TokenBundle; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs index 1e2ed11c..a0cbbd2e 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs @@ -5,26 +5,73 @@ namespace Chrysalis.Cardano.Models.Core.Transaction; +[CborSerializable(CborType.Union)] +[CborUnionTypes([ + typeof(ConwayTransactionBody), + typeof(BabbageTransactionBody), + typeof(AlonzoTransactionBody) +])] +public interface TransactionBody : ICbor; + [CborSerializable(CborType.Map)] -public record TransactionBody( - [CborProperty(0)] CborDefiniteList Inputs, - [CborProperty(1)] CborDefiniteList Outputs, +public record ConwayTransactionBody( + [CborProperty(0)] CborMaybeIndefList Inputs, + [CborProperty(1)] CborMaybeIndefList Outputs, [CborProperty(2)] CborUlong Fee, [CborProperty(3)] CborUlong? TimeToLive, - [CborProperty(4)] CborDefiniteList? Certificates, + [CborProperty(4)] CborMaybeIndefList? Certificates, [CborProperty(5)] Withdrawals? Withdrawals, [CborProperty(7)] CborBytes? AuxiliaryDataHash, [CborProperty(8)] CborUlong? ValidityIntervalStart, - [CborProperty(9)] MultiAsset? Mint, + [CborProperty(9)] MultiAssetMint? Mint, [CborProperty(11)] CborBytes? ScriptDataHash, - [CborProperty(13)] CborDefiniteList? Collateral, - [CborProperty(14)] CborDefiniteList? RequiredSigners, + [CborProperty(13)] CborMaybeIndefList? Collateral, + [CborProperty(14)] CborMaybeIndefList? RequiredSigners, [CborProperty(15)] CborInt? NetworkId, [CborProperty(16)] TransactionOutput? CollateralReturn, [CborProperty(17)] CborUlong? TotalCollateral, - [CborProperty(18)] CborDefiniteList? ReferenceInputs, + [CborProperty(18)] CborMaybeIndefList? ReferenceInputs, [CborProperty(19)] VotingProcedures? VotingProcedures, - [CborProperty(20)] CborDefiniteList? ProposalProcedures, + [CborProperty(20)] CborMaybeIndefList? ProposalProcedures, [CborProperty(21)] CborUlong? TreasuryValue, [CborProperty(22)] CborUlong? Donation -) : ICbor; +) : TransactionBody; + +[CborSerializable(CborType.Map)] +public record BabbageTransactionBody( + [CborProperty(0)] CborMaybeIndefList Inputs, + [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(2)] CborUlong Fee, + [CborProperty(3)] CborUlong? TimeToLive, + [CborProperty(4)] CborMaybeIndefList? Certificates, + [CborProperty(5)] Withdrawals? Withdrawals, + [CborProperty(6)] Update? Update, + [CborProperty(7)] CborBytes? AuxiliaryDataHash, + [CborProperty(8)] CborUlong? ValidityIntervalStart, + [CborProperty(9)] MultiAssetMint? Mint, + [CborProperty(11)] CborBytes? ScriptDataHash, + [CborProperty(13)] CborMaybeIndefList? Collateral, + [CborProperty(14)] CborMaybeIndefList? RequiredSigners, + [CborProperty(15)] CborInt? NetworkId, + [CborProperty(16)] TransactionOutput? CollateralReturn, + [CborProperty(17)] CborUlong? TotalCollateral, + [CborProperty(18)] CborMaybeIndefList? ReferenceInputs +) : TransactionBody; + +[CborSerializable(CborType.Map)] +public record AlonzoTransactionBody( + [CborProperty(0)] CborMaybeIndefList Inputs, + [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(2)] CborUlong Fee, + [CborProperty(3)] CborUlong? TimeToLive, + [CborProperty(4)] CborMaybeIndefList? Certificates, + [CborProperty(5)] Withdrawals? Withdrawals, + [CborProperty(6)] Update? Update, + [CborProperty(7)] CborBytes? AuxiliaryDataHash, + [CborProperty(8)] CborUlong? ValidityIntervalStart, + [CborProperty(9)] MultiAssetMint? Mint, + [CborProperty(11)] CborBytes? ScriptDataHash, + [CborProperty(13)] CborMaybeIndefList? Collateral, + [CborProperty(14)] CborMaybeIndefList? RequiredSigners, + [CborProperty(15)] CborInt? NetworkId +) : TransactionBody; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs index 5a116041..4da56123 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs @@ -19,11 +19,19 @@ public record MetadatumMap(Dictionary(Value), TransactionMetadatum; -public record MetadatumInt(ulong Value) - : CborUlong(Value), TransactionMetadatum; - public record MetadatumBytes(byte[] Value) : CborBytes(Value), TransactionMetadatum; public record MetadataText(string Value) - : CborText(Value), TransactionMetadatum; \ No newline at end of file + : CborText(Value), TransactionMetadatum; + +[CborSerializable(CborType.Union)] +[CborUnionTypes([ +typeof(MetadatumIntLong), + typeof(MetadatumIntULong) +])] +public interface MetadatumInt : TransactionMetadatum; + +public record MetadatumIntLong(long Value) : CborLong(Value), MetadatumInt; + +public record MetadatumIntULong(ulong Value) : CborUlong(Value), MetadatumInt; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs index 94977dc1..ffd3902e 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs @@ -1,5 +1,4 @@ using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Plutus; using Chrysalis.Cbor; namespace Chrysalis.Cardano.Models.Core.Transaction; diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs index 206b7348..3163a8d4 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs @@ -5,12 +5,12 @@ namespace Chrysalis.Cardano.Models.Core.Transaction; [CborSerializable(CborType.Map)] public record TransactionWitnessSet( - [CborProperty(0)] CborDefiniteList? VKeyWitnessSet, - [CborProperty(1)] CborDefiniteList? NativeScriptSet, - [CborProperty(2)] CborDefiniteList? BootstrapWitnessSet, - [CborProperty(3)] CborDefiniteList? PlutusV1ScriptSet, - [CborProperty(4)] CborDefiniteList? PlutusDataSet, + [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, + [CborProperty(1)] CborMaybeIndefList? NativeScriptSet, + [CborProperty(2)] CborMaybeIndefList? BootstrapWitnessSet, + [CborProperty(3)] CborMaybeIndefList? PlutusV1ScriptSet, + [CborProperty(4)] CborMaybeIndefList? PlutusDataSet, [CborProperty(5)] Redeemers? Redeemers, - [CborProperty(6)] CborDefiniteList? PlutusV2ScriptSet, - [CborProperty(7)] CborDefiniteList? PlutusV3ScriptSet + [CborProperty(6)] CborMaybeIndefList? PlutusV2ScriptSet, + [CborProperty(7)] CborMaybeIndefList? PlutusV3ScriptSet ) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs new file mode 100644 index 00000000..244b9861 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs @@ -0,0 +1,11 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core.Protocol; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Core.Transaction; + +[CborSerializable(CborType.List)] +public record Update( + [CborProperty(0)] ProposedProtocolParameterUpdates ProposedProtocolParameterUpdates, + [CborProperty(1)] CborUlong Epoch +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Value.cs b/src/Chrysalis/Cardano/Models/Core/Value.cs index 58fa8c24..e3f98b11 100644 --- a/src/Chrysalis/Cardano/Models/Core/Value.cs +++ b/src/Chrysalis/Cardano/Models/Core/Value.cs @@ -14,5 +14,5 @@ public record Lovelace(ulong Value): Value; [CborSerializable(CborType.List)] public record LovelaceWithMultiAsset( Lovelace Lovelace, - MultiAsset MultiAsset + MultiAssetOutput MultiAsset ): Value; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborSerializableAttribute.cs b/src/Chrysalis/Cbor/CborSerializableAttribute.cs index c6e395d7..93758802 100644 --- a/src/Chrysalis/Cbor/CborSerializableAttribute.cs +++ b/src/Chrysalis/Cbor/CborSerializableAttribute.cs @@ -7,6 +7,7 @@ public class CborSerializableAttribute(CborType type) : Attribute public int Index { get; set; } = -1; public bool IsDefinite { get; set; } = true; public bool IsCustom { get; set; } = false; + public int Size { get; set; } = -1; public CborSerializableAttribute(CborType type, int index) : this(type) { diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index 81299097..1d5a2c1a 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -38,6 +38,9 @@ private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) case CborType.Ulong: SerializeCborUlong(writer, cbor, objType); break; + case CborType.Long: + SerializeCborLong(writer, cbor, objType); + break; case CborType.List: SerializeList(writer, cbor, objType); break; @@ -129,14 +132,10 @@ private static void SerializeListStructure(CborWriter writer, ICbor cbor, Type o { object? value = property.GetValue(cbor); - if (value is null) - { - continue; - } - else if (value is ICbor cborValue) + if (value is null || value is ICbor) { - Type concreteType = CborSerializerUtils.GetCborType(property.PropertyType) == CborType.Union ? value.GetType() : property.PropertyType; - SerializeCbor(writer, cborValue, concreteType); + Type concreteType = value is not null && CborSerializerUtils.GetCborType(property.PropertyType) == CborType.Union ? value.GetType() : property.PropertyType; + SerializeCbor(writer, (ICbor)value!, concreteType); } else { @@ -153,6 +152,11 @@ private static void SerializeCborUlong(CborWriter writer, ICbor cbor, Type objTy writer.WriteUInt64((ulong)cbor.GetValue(objType)!); } + private static void SerializeCborLong(CborWriter writer, ICbor cbor, Type objType) + { + writer.WriteInt64((long)cbor.GetValue(objType)!); + } + private static void SerializeCborInt(CborWriter writer, ICbor cbor, Type objType) { writer.WriteInt32((int)cbor.GetValue(objType)!); @@ -165,11 +169,11 @@ private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type objTy { writer.WriteStartIndefiniteLengthByteString(); byte[] bytesValue = (byte[])cbor.GetValue(objType)!; - const int chunkSize = 1024; + int chunkSize = cborSerializableAttr.Size; for (int i = 0; i < bytesValue.Length; i += chunkSize) { int length = Math.Min(chunkSize, bytesValue.Length - i); - writer.WriteByteString(((byte[])cbor.GetValue(objType)!).AsSpan(i, length)); + writer.WriteByteString((bytesValue).AsSpan(i, length)); } writer.WriteEndIndefiniteLengthByteString(); } @@ -425,23 +429,22 @@ private static void SerializeText(CborWriter writer, ICbor cbor, Type targetType private static void SerializeNullable(CborWriter writer, ICbor cbor, Type objType) { - Type itemType = objType.GetGenericArguments()[0]; - PropertyInfo? valueProperty = objType.GetProperty("Value") ?? - throw new InvalidOperationException($"Type {objType.Name} does not have a 'Value' property."); - - object? value = valueProperty.GetValue(cbor); - - if (value is null) + if (cbor is null) { writer.WriteNull(); } - else if (value is ICbor cborValue) - { - SerializeCbor(writer, cborValue, itemType); - } else { - throw new InvalidOperationException($"Value in {objType.Name} is not null but does not implement ICbor."); + object? value = objType.GetProperty("Value")?.GetValue(cbor); + if (value is ICbor cborValue) + { + Type itemType = objType.GetGenericArguments()[0]; + SerializeCbor(writer, cborValue, itemType); + } + else + { + throw new InvalidOperationException($"Value in {objType.Name} is not null but does not implement ICbor."); + } } } @@ -468,12 +471,6 @@ private static void SerializeTag(CborWriter writer, ICbor cbor, Type objType) private static ICbor? DeserializeCbor(CborReader reader, Type targetType) { - if (reader.PeekState() == CborReaderState.Null) - { - reader.ReadNull(); - return null; - } - CborType? cborType = CborSerializerUtils.GetCborType(targetType); if (cborType != null) @@ -483,6 +480,7 @@ private static void SerializeTag(CborWriter writer, ICbor cbor, Type objType) CborType.Map => DeserializeMap(reader, targetType), CborType.Int => DeserializeCborInt(reader, targetType), CborType.Ulong => DeserializeCborUlong(reader, targetType), + CborType.Long => DeserializeCborLong(reader, targetType), CborType.Union => DeserializeUnion(reader, targetType), CborType.Bytes => DeserializeCborBytes(reader, targetType), CborType.Constr => DeserializeConstructor(reader, targetType), @@ -501,8 +499,28 @@ private static void SerializeTag(CborWriter writer, ICbor cbor, Type objType) private static ICbor DeserializeCborBytes(CborReader reader, Type targetType) { - byte[] value = reader.ReadByteString(); - return (CborBytes)Activator.CreateInstance(targetType, value)!; + CborSerializableAttribute? cborSerializableAttr = targetType.GetCustomAttribute(); + byte[] value; + + if (!cborSerializableAttr!.IsDefinite) + { + List byteList = []; + reader.ReadStartIndefiniteLengthByteString(); + + while (reader.PeekState() != CborReaderState.EndIndefiniteLengthByteString) + { + byteList.AddRange(reader.ReadByteString()); + } + + reader.ReadEndIndefiniteLengthByteString(); + value = [.. byteList]; + return (ICbor)Activator.CreateInstance(targetType, value)!; + } + else + { + value = reader.ReadByteString() ?? throw new InvalidOperationException("Expected byte string in CBOR data"); + return (ICbor)Activator.CreateInstance(targetType, value)!; + } } private static ICbor DeserializeCborInt(CborReader reader, Type targetType) @@ -517,6 +535,12 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) return (ICbor)Activator.CreateInstance(targetType, value)!; } + private static ICbor DeserializeCborLong(CborReader reader, Type targetType) + { + long value = reader.ReadInt64(); + return (ICbor)Activator.CreateInstance(targetType, value)!; + } + private static ICbor? DeserializeList(CborReader reader, Type targetType) { if (targetType.IsGenericType) @@ -603,17 +627,7 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) for (int i = 0; i < properties.Count; i++) { Type propType = properties[i].PropertyType; - - if (propType.IsGenericType && propType.GetGenericTypeDefinition() == typeof(CborNullable<>)) - { - Type innerType = propType.GetGenericArguments()[0]; - object? innerValue = DeserializeCbor(reader, innerType); - values[i] = Activator.CreateInstance(propType, innerValue)!; - } - else - { - values[i] = DeserializeCbor(reader, propType)!; - } + values[i] = DeserializeCbor(reader, propType)!; } reader.ReadEndArray(); @@ -724,7 +738,7 @@ private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) } else { - Type firstParamType = constructorParams[1].ParameterType; + Type firstParamType = constructorParams[2].ParameterType; Type elementType = firstParamType.GetElementType()!; var listType = typeof(List<>).MakeGenericType(elementType); @@ -909,7 +923,7 @@ private static CborMap DeserializeGenericMap(CborRea } } - throw new InvalidOperationException("No matching type found in the union"); + throw new InvalidOperationException($"Type {targetType.Name} No matching type found in the union, CBOR: {Convert.ToHexString(unionByte.ToArray())}"); } private static ICbor? DeserializeEncodedValue(CborReader reader, Type targetType) @@ -958,7 +972,8 @@ private static CborMap DeserializeGenericMap(CborRea else if (targetType.IsGenericType) { Type itemType = targetType.GetGenericArguments()[0]; - return DeserializeCbor(reader, itemType)!; + object? innerValue = DeserializeCbor(reader, itemType); + return (ICbor)Activator.CreateInstance(targetType, innerValue)!; } throw new InvalidOperationException($"Invalid Nullable Type."); diff --git a/src/Chrysalis/Cbor/CborType.cs b/src/Chrysalis/Cbor/CborType.cs index 779d59a2..a1fbf926 100644 --- a/src/Chrysalis/Cbor/CborType.cs +++ b/src/Chrysalis/Cbor/CborType.cs @@ -5,6 +5,7 @@ public enum CborType Bytes, Int, Ulong, + Long, Map, List, Union, From 2def74464b39385c1e7801a3e38eed38495824d1 Mon Sep 17 00:00:00 2001 From: Wendell Mor Tamayo <107296776+WendellMorTamayo@users.noreply.github.com> Date: Wed, 16 Oct 2024 22:12:12 +0800 Subject: [PATCH 030/162] chore: bump version to 0.2.3 (#30) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index c1f1937d..5ea0ba98 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.2.2 + 0.2.3 Chrysalis clark@saib.dev SAIB Inc From 7b52f685eaf08f32cd0ad3dc7370491949325036 Mon Sep 17 00:00:00 2001 From: Wendell Mor Tamayo <107296776+WendellMorTamayo@users.noreply.github.com> Date: Fri, 18 Oct 2024 02:54:35 +0800 Subject: [PATCH 031/162] fix: add cbor tag validation for non-dynamic constructors (#31) * chore: add util for tag validations * fix: add cbor tag validation during constructor deserialization * feat: add jpeg store types * feat: add grouped tests --- src/Chrysalis.Test/CborSerializationTests.cs | 29 ++++++++--- src/Chrysalis.Test/CborTestData.cs | 41 +++++++++++++++ src/Chrysalis/Cardano/Models/Jpeg/Buy.cs | 10 ++++ src/Chrysalis/Cardano/Models/Jpeg/Listing.cs | 23 +++++++++ src/Chrysalis/Cardano/Models/Jpeg/Offer.cs | 27 ++++++++++ src/Chrysalis/Cardano/Models/Jpeg/Token.cs | 14 ++++++ src/Chrysalis/Cbor/CborSerializer.cs | 53 +++++++++----------- src/Chrysalis/Utils/CborSerializerUtils.cs | 13 +++++ 8 files changed, 174 insertions(+), 36 deletions(-) create mode 100644 src/Chrysalis.Test/CborTestData.cs create mode 100644 src/Chrysalis/Cardano/Models/Jpeg/Buy.cs create mode 100644 src/Chrysalis/Cardano/Models/Jpeg/Listing.cs create mode 100644 src/Chrysalis/Cardano/Models/Jpeg/Offer.cs create mode 100644 src/Chrysalis/Cardano/Models/Jpeg/Token.cs diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index 55c8cfad..5eec3d0d 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -1,8 +1,4 @@ using System.Reflection; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core.Block; -using Chrysalis.Cardano.Models.Core.Script; -using Chrysalis.Cardano.Models.Core.Transaction; using Chrysalis.Cbor; using Xunit; @@ -10,9 +6,7 @@ namespace Chrysalis.Test; public class CborSerializerTests { - [Theory] - [InlineData("820785828A1A0024CEA11A03718FB85820EA5BE439100C17D70E4B9C3875A686BE0FEC8DDEB334C2B817754DFA5A3DFF5F582006EA166962F57ABC25AEE664E82AE87C1D0F80AF5B82E3A93B9847C3BC060A93582078AA8F7D6CFE1DD20B1FECBE2C6D2214EC19E2773442ED815978D7035E937BB182584047F15AA6EEFCD3B870ABA5B7A81A44B7D3B454693E69A9C6E81183C640D5BEB05AD8F23E31079F4F93DCACF8B85B9B974A046B4C8272D9862B8F0F5D8BEE58FC5850F4B38B196CE1C98987C1C3506DEBFCB5C1072540A1863E24E86742AC42F600A1008DDDCE3D2348A75C7E91772A842F484D8F614B312E2D0BEC0B582BB2BE66BFE9D55998F60EEB837828D120AD0B6C08193FE358202E9A169801D1CE197A604827C377B245C16A8C80A89D1AFEB1BAFA73DAFE3B06845820B97BAA9E6C3E14724634D36CDFEC33777E9B36755B2044E4BE35CCC9514DE51C0519019758402F2974E4C6AE86DA26C041ECA8CE1E18D8B91A3D9A9DBB6083B22338909485BAA3011F7FE7CF73326BBA402F0566F7A298C214FC669D568DE658B9847D3371098209015901C09933EC7CFDD3FB64326904CC5C082919140516BCE746316D39496633631EADBFB2E1C7075B84451F3C977D1D453C34D31A5CC664A7CA28AF264798B136F0D60E24B29B2E25F1CF14A0D7262C96CB743CDD6A19ED89FA805627AE5D5B35081F1398F51FE614349794A6985983F8E4712BAE2B4EAD0C3124089D7F7DC9CA1E8F85E86D36BC2F41FDDA200CB82F4B37A9A8FA710847D65D98F720F278F3BBC6E8FDFCD2192B6C70BDB462C66F868F89EF41D75EAE1AC81D60AA7B9821697BE404764D62088C04B1392D33D7AF02E04A4EA9DC0049A86D72BBFFEAF61B1956E71436DD2F72F5833FB621BF3A159AB0D2CFFAEBB6960FC6D09B53E9B355B78C2620D402AF79CBA952FD03CDDF99142346AD74E4D05231B018DB929C5FE4F95A82FFB04FBD08E2CAADC2EB7E64C77E62C44B40C81077A677176B86A82B97C148678C3FB196B8CAE230969CB081011DDF5E08A46D4E4799FCBF0CD89082EDAE1A4655D6DF02A3C444FA0B6C853F74955C77BC2C1F5A8D9B92D3CC42FC9DB683019252A15254B21782CF4A5BC72FD549C77A721B3EA939F5C716D1A3C19358C0DE8322633E2BB012CF4A96E72358CAE0DCDEA07979A7BB74469918011DAD0AEC9421156A9FA50081825820F8BFC94AFB9571E0513E3A33C944D495C10DA5BB6E0B6A4500D33CC54CFE7C670101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A80B75AE0021A000F4240031A037196C50F00A5008182582070BDB247A12C25FE78744444A5E502C68C09C48692ED2B4CA95B583F973E44AE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A8098D660021A000F4240031A037197350F00A50081825820D5243170D45B968E2ABCD182E2D5D13008EC8249C3D00ABB27F14323E42B952E0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A807A51E0021A000F4240031A037197350F00A50081825820D233491765ED5FAE613718A0039C543474C934EA7FFAD65007A100FDEDBE49BE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A805BCD60021A000F4240031A037197350F00A50081825820EC78F3A82ED57D925F6D16D85D599E8E52A16992477F256ADF8FF79D428909AF0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A803D48E0021A000F4240031A037197350F00A50081825820E4D503032FC0F12FC2A5FB3F990B0DA43616FDB58C75BA58CF9661A4A343CCF50101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A801EC460021A000F4240031A037197350F00AC00838258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C8181282582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB0082582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB020182A300581D70E0E14B90C2673CD5C00F001C582C966F22EE35AC0873EACB5A1C053B01821A005B8D80A3581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14574444A45441B0004C791C58DEFF1581C953F7215A4C509478CC5A63606C7688915EDDE3BC7FC243A262C738FA14001581CB03F07BADC6F4F050DF48B19A27180884FFD214B32AEB02213B98B7DA14001028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A8051603E021A0005E1BF031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B58208563DB90D535A1F26BF10F1E728B04D0AFAF6537F02A43ECCC0E90970AC903100D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C818120F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BD111A004C4B40128482582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB0182582097D4F43C165EA784034635923F462C478DC666A46FCE69FDA6150A0B28BC39B700825820B1A9C1A86A9A2457131147A9663DB6E800A135E26978A7237BEED86747096B2F00825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD06AC00868258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C81813825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A00825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A02825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A03825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A04825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A050182A300581D7077898471D1A56F64CD6FD110E081C1F91B92CC1484F2480AFB48190A01821B000000DA54BBD753A2581CAF829F4472C3728307007831FA000E450883CFCA4893D9EF535E8786A14004581CB6525F0993875DB27B0A1C780F0E0F1678ACED0DE6CAF0D241B61E87A14001028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A8050AE2C021A000693D1031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B5820032498343BAB7D28DE51B3B907F5A18AF8E25FEBA546E330A7DCD1F30B6B103C0D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C818130F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BD111A004C4B401284825820CCF53FDCEC75C228401EEC309DD877EA115736CCA7BFD99A6242B1E69BA2928F00825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A01825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD07825820DC5E36EA57DC042A990562A3A30E1A8AC1FDC86B775BB0A60E2321CBFEFA24CA00AC00838258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C8181823825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D00825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D020182A300581D704FAF61D99FE87D6F1C4AE346F804A6B9824808A04047BD846FB1EA5F01821A005B8D80A3581C591D247A9FE69F17BBD270E8CA96057BC03005C79EE384E4A7013A18A14001581C7726C67E096E60FF24757DE0EC0A78C659CE73C9B12E98DF7D2FDA2CA14001581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14574495553441B00000F069859C6BE028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A80516725021A0005DAD7031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B5820F6DF332DE9960CFBFCB58D8F8C509B9C8309BF0EFCA8C568E894C166DC8700C50D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C81818230F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BC111A004C4B40128482582069B0A41C5355C5DD16AE8C10329FB01F82E140C96C01C5ECE078724DB41C9DD601825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD04825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D01825820EBB3F064EEC37CF28724ECF4DC3BFD08F2142B0B58F5FA163A88F4D761524D7300A500818258207B22F82CBBED80FC6251E1EADF19A8F7D9662D753C4641C5A4FEB865FF40DF8C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A80003FE0021A000F4240031A037197350F00A500818258202B04404AADB673D87CC5D82000FFF11669A52E651ED98D01892DD37555A7360C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FE1BB60021A000F4240031A037197350F00A30083825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4900825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4901825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4902018382583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A3B9ACA0082583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A000ECC1682583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A05CC9140021A0002A801A40081825820A7C71DC5A79CCE5B333DFB9D23EB950279DEE5421879AB08520D3D855529C539000181825839009FC430EA1F3ADC20EEBB813B2649E85C934EA5BC13D7B7FBE2B24E505064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D821B000000021758BE11A2581C22691D3D969ECF5802226290C2FB98E2BC08522D5B726C1F5F400105A144546573740E581CEF6ED47A6917A3CBBEB46561E8853DA969343794D66128598A34AF2CA24D4275726E61626C65546F6B656E054E4275726E61626C65546F6B656E320C021A0002B4E5048282008200581C5064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D83088200581C5064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D1A001E8480A50081825820C4ACDA061B2B89E254BF6A3F042B6E6D3EF5CD97B86F307A203AB8E153DF026D0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FC336E0021A000F4240031A037197350F00A50081825820BF92B177D0DC0B5CD466C42333747A1B02964903003BD1B5DF67A6E7BCC29CE80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FA4B260021A000F4240031A037197350F00A5008182582041A36B5C55795882B6D8583F38AE9EDED2350345D30ED14A17A9526B62FF6FFC0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F862DE0021A000F4240031A037197350F00A500818258209F5F08A52F8D5CA4D9894E95024EC3749E6FF482D7DB3B97C5C72580F8BA9D730101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F67A960021A000F4240031A037197350F00A50081825820F6DC8D25088EF5D0B5FE1A4561048DE24F453DB517F2881B6F53DF75397704D10101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F4924E0021A000F4240031A037197350F00A50081825820F1EE3C844FF872EDC33FB3D5389DB1670AA8FE52C35B6100C5E8701DFE32F9430101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F2AA060021A000F4240031A037197350F00AC00D901028682582038637FC438B4EAF12DD62E69B39518B8216F64C9341D709A327C86DD42CD184606825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D00825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D01825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D04825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D07825820F406D1A739F08FE44EAFF70DFE36EEC94D3585F4AE681CCE57E60FE6D7423F37020188A300581D70F499907CE24F0F79445809C21A6C63C87DC88132033FFCDEB454141801821A001951D6A2581C0A875B518F66742777D9EB500DD34E692F0B4BCA64C14E7C0FE8186DA1581CF499907CE24F0F79445809C21A6C63C87DC88132033FFCDEB454141801581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14874434C41524954591A001E8480028201D81858469F1A001E8480D8799F581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0FFD87A809F9F0FD87980FF9F0ED87980FF9F0BD87980FF9F09D87980FFFFFFA300581D70309B2F030E026E92F29CBD5A97BAB8B4561966227B5F80463F90148601821A00146324A1581C2BC42C28323B63B19C8C57745426A9CC7DD5A0CC85D83D8B7D5EB584A14001028201D81858459F9F1A000F42401A000F42401A000F42401A000F42401A000F4240FF109F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFFA300581D70FEC8DC75517DA7858773560E4E2A8D930829DF1DBA72C40FC662B1D4011A0016C13C028201D818588C9F9F9F1A000F42401A000F42401A000F42401A000F42401A000F4240FF0F9F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFF9F9F1A001E84801A000F42401A000F42401A000F42401A000F4240FF009F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFFFFA300581D708CE0CC32FB2DDD1ED9C7B05B017EECF444AA2444989E60AE760730C401821A001C25C8A1581C7B4F489D06F3EA7B1743857C95A265C790A38B2EA9437559FF6E5DE4A14001028201D81858BB9F0FA200A001A1581CFEC8DC75517DA7858773560E4E2A8D930829DF1DBA72C40FC662B1D49F5820B13B86B8B7EB7E607025BEBAD0BB1F9F6C44E3A1D5C6B28DD74D38787D3EC098D87A80FF009FD8799F581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0FFFF9F1A000F42401A000F42401A000F42401A000F42401A000F4240FFA2000001009F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1B0000019180163627FF8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EE22C8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EE4BD8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EEA958258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A00246946021A000902BF031A0371966C081A03718F6509A1581C7B4F489D06F3EA7B1743857C95A265C790A38B2EA9437559FF6E5DE4A140010B5820ADB3EE7D6C39928C88197B7AFA930D2101DAFC74B09EEEECE78A6030D68913940DD9010281825820329BCA217F0292099FA1F5F091EB038288CB1056AAA7CC301C617551415A1272000ED9010281581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0108258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A003EC721111A000D841F12D9010283825820B5A3C501A58F63D300E9B203CE7F273DE758644E36BC47E035BD0A7F7C06131300825820BC29A1771FFFF2519162EBF1637219F521FAB639B29C0FC4641DFD5C1F3CAAC300825820D77C50ABD842DE59EA72812D275B221172F7C755205FC5D7C9F01FAD7E30B54F00A500818258203AC7C5CA083EDA4296A310D9CD48860448E804B5F51C0D74685F41B25AD965F00101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F0C1BE0021A000F4240031A037197350F00A500818258205A466CDB2A48B0344766F849428C019D82F594B587D63E722F3CB65BCBE5A0F30101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7EED9760021A000F4240031A037197350F00A5008182582048789F6D1F171A7E0306C54589B91E4CB44E4E3E779E3CCF44B20EB6114782600101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7ECF12E0021A000F4240031A037197350F00A5008182582037C13AB67BA785FAB660FB54ABED382B0660F731630FC94FC3FCCB5D97943DC80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7EB08E60021A000F4240031A037197350F00A500818258203304831CADEF663E75AB20CD49C27452DFD788808D267BDFB0AC5ACAAA33C21A0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E9209E0021A000F4240031A037197350F00A50081825820AB543A2FE129FDF5439A347CDC5769A7978B320A272D14B2029B6D316DF9BD820101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E738560021A000F4240031A037197350F00A50081825820C9B0617C38EAC4253837585E5989D4A060DEFFC7A447E336DCE0903003329C8C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E5500E0021A000F4240031A037197350F00A50081825820A61842CDECA334B533C12C9E73C904D6C287DA31EA5BCB645643984FD5123CDE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E367C60021A000F4240031A037197350F00A5008182582031C4B3317969D9450CA56C97490A55F3A5B7AF3D3077F4632C802D7B551E6FCD0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E17F7E0021A000F4240031A037197350F00A50081825820505BEFB011C999977D3AF620AEE9D341E5E04974BCDDEFF10F0E0A760E6EA6530101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DF97360021A000F4240031A037197350F00A500818258205E81F9CE9818BA10B897320BB483BDF1AFFC19B9220178938E1CE3B4856C42D30101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DDAEEE0021A000F4240031A037197350F00A500818258200CBF545553202E5880DEBBA25FC9E436D020F3D87F7F3A1841ABEEC4797D43FB0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DBC6A60021A000F4240031A037197350F00A50081825820EEAD7BEDED5DDD22ACE57E1487DCE5B0B5427EB3BF10595E568B9B7C3BAB34710101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D9DE5E0021A000F4240031A037197350F00A50081825820847A80D5526BA1847B297A987463CF4D27B1A5C8063A02F11293976E5EB8D1790101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D7F6160021A000F4240031A037197350F00A50081825820AC9B670A08B56789AE3832085DE6D330E6FC378D2141DFA5C32E1420E75587E90101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D60DCE0021A000F4240031A037197350F00A500818258205E07F15D52DC9B945C62809F8BD4024E56A46ED844BBC4DAF34B774FC1FAF6670101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D425860021A000F4240031A037197350F00A50081825820BA7094EAAFD69FA3F9C2943374D93BDD124D3C4B948207DB0A45B306DD3FB4A70101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D23D3E0021A000F4240031A037197350F00A50081825820C8E77D603EA30470478CB699BF633596D86B3ADD75F8BB9FF67F2C85E5A84F5E0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D054F60021A000F4240031A037197350F00A500818258203646499DA34F33ADB3A140B300B52F592F9E3B105D3847981C4E3A7D88A534A80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CE6CAE0021A000F4240031A037197350F00A50081825820CC3F7565961337DCF2EA7B4DB1D62990CCF0924FF33E53CB821ADBF2BE96793D0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CC84660021A000F4240031A037197350F00A500818258203E4DF81BDDF0568D52EB1B7E3F95999667CB1EFA8AB169B84EB21BA6C85F7D490101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CA9C1E0021A000F4240031A037197350F00A500818258204A41426D38E394E294B82BD00CFC5A0FBC9521C4EF4F22E5CCFA97B04715CDD00101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7C8B3D60021A000F4240031A037197350F00A500818258206C9C63FFA25B94A1640AAA1124D12FDEA7BA77A9EEE530B208BE7947E65D65AB0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7C6CB8E0021A000F4240031A037197350F00FF9FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584023D19F743515DA1620E6B299709153158A60DC8463D64E94886FE95FFEA86611DFEB605F40BA3B9244DF08EA6887CDA60DABD59F7D2BD51CB8CF465D3D93F404A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840F0A21CC8D2E1D1185E854B460CED341694900C04A14D8F5F283ED93CD9C6ED2BDD9D0DAFAAFE19F4F492B344F4BD53C87D9F58FBA2345786A20CA63247F8C70DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58402DA5CDFA64651B3C5A177101DFB7D5E6F13C4C8165BCA2E9FF64B7256595A7E241A0BB481ED9A2D26F4E422283F97FEA680C11BB2B5FFCD1FF9EF30CD682CB02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584047D3E0F7B436C8434003E66EBC2D23D242077572D053693E6CED783C5794F2B7044E7230915E78B08A46EF13507E650542F648CF1BEF35AB2E6F0AD345AC9B0EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409F45487796FA97E7A9D77B796741376E82AC449260A2AF451E6604942585E4567BF6891ACA09B7DFDB4AAAE3B241D12558C9038CD25AD78A53918EBCDC0CDF00A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408BFDA1A9F30423B3DBAE1D7AC5F8E211F8E88853036F87B2A6EEFED5993C10DEC097704B7DCE8522D4B00BAD7404D645BCDAB461305F23C9D97C591ED763C10AA200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C85840779F6F08529742E160EA6E9EFD26FD2D2C27E0C10A14156623A59383FC8F44578F1DEC74A1681EA93CF1BAB621832439903384607D51174C746EACEBE6847E09825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E584059828FC95F121B61BD81BED87005D8A1B95A5224F1E9C8A3321C50C5EB6803E3FAC21950E4B08736B7876B2B39966E906CCCF77626C51F2F3B7E2E46B8D1FF0D0582840001D87980821A000964191A0D903743840002D87980821A000151E21A01A82010A200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C858401127FAE81DC44C99F12A6EBF4C9EA2B0D142F042F0442000ADE7480B114F90E5A603D7AEF881A7779CEE8197230DBEE84D732336C6B5A313541C5CF057165B0A825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840254AEDFAD73856A59053EE1D10B07F797D8CEE0FEAFA64B4F9B1886EF482ADCAE814AEAAD3429669E153BD363A632CAF631E481FEA5BA56F7522729C575B73030585840001D87980821A000BFC471A11C3469F840003D87980821A0001754E1A01C2DB0D840002D87980821A0001754E1A01C2DB0D840004D87980821A0001754E1A01C2DB0D840005D87980821A0001754E1A01C2DB0DA200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C858400D19170481CD3C89CA5180D97FECC3F2BC4190F2FB7242ED885323FB12E34777F23AACE969F869AA9FB0A43F8C5B0FE9D37E6B9FDFE55E7D484E7540C283DE0B825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840D5E5266D7E46E98E0FBEF1AC3C5B1BA6E8AA6DABED630E1D965A61F126FA3E0FA79E4FC726ECA979E59EE453915D7CD7F5F9753C8D7FB7340C3D335C0E6C690C0582840001D87980821A00090B921A0D1C2594840002D87980821A000151E21A01A82010A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840BE908678C005FB4EEB0A4B20EBBB3BB3EC4E8D476745E5CA0605F3FC61F33FDAA6D98A0E33AFD0956576856FCD068A91B68BB52F8F7E468E73923EFA99978509A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409A612AAA9C456A101834E2CE146C35686C290586453B9C37B6FF302254A7066290A771063F81744F2B769AE6356821322D1B509642FA16473DEEEC1C1E267D0BA1008182582039B37B3C16B64837864B9685EA4AB037642C6DB0A7782E56CA2EE11D2E83A8825840C20B05909C7E42D1E2100DF78359EEBD5FEE52FF65E7CEAB708C66E8D3206DC3839B8BCBB39C8037454CC4E1F67B587C9C025E4E94D7B4563096A1CDDB4E1F02A100828258200DD2349193F4D73BFF8ED9FEA7965E3C44BDC098F1D91D0A2C9AF8AA525DB71B58406E415F72CF2502C41C77D34BBE7EF675DCD4706F801AF178BCAE11EB98931CF8EE1DBCA3613182AE3CB22DF3D7E363BA7FAA67BD497DB82634D60A463A5BB30F8258200ABB7B89E091DCD3201AEA501854A4CB05290862D88B6EB30AFA6DFD23F544675840A7843980D60E1F674E6391AB2FBE3597D5DFE8628DC918FDBF74C8A865B43B3974F684E03C3C985DFD20571AA05E1AD7D7C18836F6C0AFB772FBCBC00B3C840FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58404E9869F6147D5CA7F5461CAF3CBC21028DC4CDC6BEB844EDA5E08AA1871E552DEF865A16B1C97AEDEB3A9AE5EF8A4997FCF4B3F64E3A8B7D451421BF9B97280CA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A01BF2F2DF9A0F42C0993BFF69F466FEBA57928A0ADA85876BD9AA1F628F030A51F3BBD01684CB05B2E077CB2F773194F7B6454248D638802D1A44FCFE1A8005A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58402F13F16DC3FE7F383D66760D02CD6D1C45E080652669304C97399008570857E235B5B3901C1BEAF43604624B3528567250630A9994CA47B140AA34DF5AA8BF02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584072E84F9741DBB0AB25B5FC5339832E2A271CC56DF6A3484F1DDECDE1E7B0B2FF3EBDC484FD4753963F7E3D881AF8CB60C699905427D3E1962A4FA71477F20E03A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840C3D1B1935BB4AC2F76DBBF5B2A9E13760C2AB2E1299C560B345B8788E7E0CA02B2140A95BECB674D7F6CFDBA8221A2B6AE26A138257A948CFBF31AF5F6392207A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401B505A41D4994FD9C956FDC93A72B3090E4A7CED3380F7DCADC536D9A0D51DF595C5B6713761701B62543F12792D8CAE071615DA7657D5B2ED65C07F788C3900A200D9010281825820344194B638C6ACB245131928034402DE2ED0AC707FC8C9F0D53F911DD9B112B15840C569E26DB301CF8472CB37632E6A373193C7404ACA51E57CF5551C9150A213F735267A3C50402430E25EF14D0E78B3C4621129D94A70EAACB24B871536ABBF0505A382000182D87B80821A000EA7D11A12022E6D8200028200821A000B798D1A0DE066D982010082D87980821A000212341A02DD349DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408298BE152D95026BA448CF2D858D004834AAEAFDE8E5FD87607D7365D250CD5CF86811C3329B5E7DBEDB83274814B9DF608DB6A4EE9FA05457E55E4F40BFD909A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58407A69293C5136C9BA0FD523CD9E4639BEDFCC22B9188AAA080167210F29CD4175930DCB954C776DA2557960529D5847E2161663F918565471BA5319EE3E66D405A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840C4DA45C43A2D2AD7D495DF64E5BD1CD0597851DCBD54F6288F0C46CBC4A3B38DDD771D76DA94A86580A7456368204571BB58760A9CB9FA6797556B57A8565D0EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840299FCE762DD81827667E0123CED5744E86296C2AB28A53E3EB587EC94462B2B7F3A5E0BC42AF6DDD9B1B96021976D8416C0D683C244E30B733F65799B4772900A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58400A07BDFEB908595249AC9D6953680CEACDDC74DFAC0B0A4DE1FC557219A99D62CF94989391484DAA441E2BECCBB82BB097ABC7169CC0DED8979F889C20A97502A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A9E01783C2B869885C67C09C5A7063972E2280583166E32D551A2C33B82B6788CA2D55ACFAD3C71528BC628A587A67F153534E330906B3CB9B8AF97B85F8B20EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409AB0C1C609252F3CA6BB3525E3A28412015473AFC7358F6BD04989B3C76B13FD00EB2BB8AA8FE1ECCD64AEB7627D73E4EAA8C46CB52EFA2AE3BC56E1A32A040FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584078376F9AE508B59EEF52C87B93B4DE484C5175D249B6C359B9F4DFBB31A796A89C79744D3D7D6638477CA88FA6DA4ED4AD40AEBAAB05170848EFEA35E1C88F02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584055D71E3ABDA52C21F63B43C4B2FED7347D6C45CC42600D897F10028105A63A41CB9EBCD35F228C12D7B1A8FA39D93AF787959DF65A2ABF3D9656BB123A179F02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401A587EB493AB15F2790216E14DB7DF0CFC09690BE704F063F9527E99D4230B7D2A11EEFAE0E54325819406456C52744C162730584746A2281194840F31D2010EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58404FEF3B8B83C115E2C20B37922306B61E55AEB4E3DE706BCDF05B9C6DB40C151986FE9A185F0C6C84D58F81DDC26360C8A500853E5E67975EB35346527C535100A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840CBD01F9A960F076673E458DF68D88FC9048A78F27E8808DE901F4C90571A774A156EA78030AD31FBF4BC89AC5F14783B58F205EAC715E1A8C0B1BFE2FBE93F07A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840EA70C6F29285826138767DBB8B718C11BB170D808C6E035466D494DFDF911D9702AE6698B77D936F56198A124132CD8CFD88B5EFE00A1114483670CA444ABF00A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401867971104F649C06FAD5BE944B208A870A6D279D84EA7F587E7B4799905BFFB8B03677EB7F373CD42281278B4B3473289EEFF726D7509638EEDA1DF45D29204A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584094EEB09AD7D30A03A38B94789CE8420E422A39CB9167428417C9504520710A584AA659265476DE352082D649A0CD0E6DAD9FAD0F732CC8F7B508B3B688B8E906A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A276CD4CF7D1624872E712372A85A7ABBE3E49E09096F9CB4F2B98CC9C14ED681D3ABD95E89CDCAC068A2DAC42D1313EDB712C19AC116F3A22F8B64B1FBD4703A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584059CB840B9959ACA6E850FC85FE82DF8F40CDBD6001EC024AAD90B555782D82494A6DCB5995D5CDC9963B2E228412504152C3696E8330F2326C6AA9D8BFF8750DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840388DC17804A2201F71549DEA036E0BE96D187476ED0E35F7A7253746D5F7240A6C3A9FAFEDB3268A6C76979C1DF4A9526B83FDF36B812D95E964B51416D02E02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840CC70CF06159C3935CFBA88C732B1B26DA7F2E8DC5A34998EEB6DBF1C2381F5E65CAA295176CE9B1FD1037C1E8758ACAAEB7D7A0A5F49A18EF221E2C4130AFE0FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401870A4629BA5D679C9A243C4510665C218CDD150F9971E68BDB8945B22FE13680EECFACA8CCCD8B0F2EA5658C86DC30C0E8EABF574BEA28FBCE6936FD99E8306A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840EE71574DF0FFE908DB73D477339A6608267AAB7AD67C4A96CFEEF272AC839C91CBDB3E6A788A25A5CFFC069A89BD63EB5B7E17A2A23C38BB1F9F29C8A97C2B0FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A09F303775E264DCF140F3F7CF50324E3D231E7BEF5B54FA74FD998615D61A6481300BB0E3204869E82DE6CD50EBB73694C491086732CF9031A2CDF22197C603A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408B376C556823EC8D6D0AA1704DC013FE49CC645F848113370DC8672A3A56172D916F1677DE75E4A3C11EFBB2DC0C467BF569237F91E153CDD9E3C76C1DE31F09FFA306A007A008A080",typeof(BlockWithEra))] - public void SerializeAndDeserializePrimitives(string cborHex, Type type) + private static void SerializeAndDeserialize(string cborHex, Type type) { // Arrange byte[] cborBytes = Convert.FromHexString(cborHex); @@ -33,4 +27,25 @@ public void SerializeAndDeserializePrimitives(string cborHex, Type type) // Assert Assert.Equal(cborHex.ToLowerInvariant(), serializedHex); } + + [Theory] + [MemberData(nameof(CborTestData.PrimitiveTestData), MemberType = typeof(CborTestData))] + public void SerializeAndDeserializePrimitive(string cborHex, Type type) + { + SerializeAndDeserialize(cborHex, type); + } + + [Theory] + [MemberData(nameof(CborTestData.JPegOfferTestData), MemberType = typeof(CborTestData))] + public void SerializeAndDeserializeJpegOffer(string cborHex, Type type) + { + SerializeAndDeserialize(cborHex, type); + } + + [Theory] + [MemberData(nameof(CborTestData.BlockWithEraTestData), MemberType = typeof(CborTestData))] + public void SerializeAndDeserializeBlockWithEra(string cborHex, Type type) + { + SerializeAndDeserialize(cborHex, type); + } } \ No newline at end of file diff --git a/src/Chrysalis.Test/CborTestData.cs b/src/Chrysalis.Test/CborTestData.cs new file mode 100644 index 00000000..289d7f74 --- /dev/null +++ b/src/Chrysalis.Test/CborTestData.cs @@ -0,0 +1,41 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Models.Core.Block; +using Chrysalis.Cardano.Models.Jpeg; + +namespace Chrysalis.Test; + +public class CborTestData +{ + public static IEnumerable JPegOfferTestData() + { + yield return + [ + "d8799f581cf28c591a54750cb052f31d1f555a4a73bd4dc1024d0db09f2dbb85b29fd8799fd8799fd87a9f581c84cc25ea4c29951d40b443b95bbc5676bc425470f96376d1984af9abffd8799fd8799fd87a9f581c2c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6dffffffffa140d8799f00a1401a00325aa0ffffd8799fd8799fd8799f581c54eb723c08f858e0baa992a7673dbef25f77f017f844d7ba47edd4e2ffd8799fd8799fd8799f581cfef7dca3149e0f49706ecbc7219af18c3c859336c9d77aab8ad89b22ffffffffa140d8799f00a1401a007de290ffffd8799fd8799fd8799f581cf28c591a54750cb052f31d1f555a4a73bd4dc1024d0db09f2dbb85b2ffd8799fd8799fd8799f581c78ccd5d261c1603a16e87d8927542f841b03ceb84e2cb71c83ee7dd8ffffffffa1581c9cce4bbd9f6e06ef9d67b95ad8511532b4569d290d1575fcbac48732d8799f01a0ffffffff", typeof(Offer) + ]; + } + + public static IEnumerable PrimitiveTestData() + { + yield return["1834", typeof(CborInt)]; + yield return["4101", typeof(CborBytes)]; + yield return["1a000f4240", typeof(CborUlong)]; + yield return["1a000f4240", typeof(PosixTime)]; + yield return["43414243", typeof(CborBytes)]; + yield return["a141614541696b656e", typeof(CborMap)]; + yield return["9f0102030405ff", typeof(CborIndefiniteList)]; + yield return["850102030405", typeof(CborDefiniteList)]; + } + + public static IEnumerable BlockWithEraTestData() + { + yield return + [ + "820785828A1A00275E211A03B77E9258208103D6AD9398EC3D7BCD6C9F73B5962A8C61961F4A7913FBD3D60DB5B0E9262358201B268D3D3E801DF66EE693A4E0AABB7C7B7036E28F91FEDD7A3337F69053A9BB5820F7B77B961C02E09AACD654BF6890206AB3605BA339C633866A0F1777BB33F60E82584050307A37CAA9F73E8282A912F9B1451AF396FB526F4F0E480A7E59AE11997899D729281FA94D03A3356B2A9441DACECA74B88DD03BBB8405B8652B0A691D91B25850EA10EBF654D9C20D72077747785A1AE974D4C147EFEC762AAFC22B46568CCC3F9E8CC014244ABAAF504BEAAAD46F64B2E221524AEA4074E27AC0FA29A1CDD856F2F3486508298E7B147456CFE234F20C19044F582037DC1AA95FADC9AFA5BB9C2CBB047DC57351015DED48E2466D617EF9122496D6845820549D81968062D38216AD59C737A963CE653A113FED6A30C775B7410108566C50051901DA5840A4FC33996338D7FF9C7B31E7E289B84465812A5965314A6A74AB5633551CE5E33D37212055AF6C955A96E5E5B50795DC924F5566B421A743F7764F1103EF4E0B8209015901C091E3E935699827C1ED17F5BBC3084EABDD809F9C450AB7EBFC177D35ACD55CCEE65C36C8851CF68EED45D001F04F54D477CC2B80FFA50A9A8B1E667206DC81011C6BA4B5483681316378D9E339744B29B48CE548DBB93FC6B84D4B7C33EFD4C671B8E7FA77ADCBDF53486D226760DB047827929B19CE0D0947E39248ABCE143A4A8FF8E36F9A5CAE03B7E799BCF0C26418950F4F50A8782F90506A03969C2CDBD1D006DE8157C2B1F62A3198B992CB9C3E9B11B3B63AD41B5BDB0DA539E06FAC10FFBACCCA107624365A887D302136312308D374CF793B98561476E74AE7F35B35AD11E6B344040D489234BC9411D2DE1D3972B7D2FB466DC749512C559C3552368A18A4BF88E290989C57E231E1F8C7804C80E79174557416BE3020B42C5E07EF27289901C73D1C6A1451E0E1E6B831A8FE3FCAD8A774E988303A7629005428653A0C6F0222A39EA7028031F5A605F8C80C395009410064F4CD4211796DCA101FE318D64CE0CE8577F1E18EF348A25DC821E33F8D1A61DF478AB589657F20F8E6DFA0ECD8B6CD7071A9968DC7A246F1E0863251A7877840C4FBBB742F9CF52CB17CBA2B5CA3597E7C58293A73274FA09BB770EFD50AC0C8267EC0C5052036C981AC00868258204C0F6752B4C1AC3303DDD7277A0671B73D3405CE2D457B3933B6BFA0DE44489C018258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96008258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96028258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96038258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96048258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96050182A300581D70E06D212B306042BF3025A0F6B64DAEA3A42994EEA2BAF84B10DAA1C701821A00E4E1C0A3581C13F46E97A7908B513DBFD6BDEDC9A70B1F09CDD7BBFD778C3B41F85CA14004581C8DA51CDBCDE5ADEFE972D704FF749C8F713ADF0A6D60DF82EF66AC0BA14001581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA144744941471B00000004AE92F35C028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581B00000005A9B4FDDE021A0006F4DF031A03B78202075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03B77E7E0B58200B91BA9E53B3C80EC2FA2FF58F655D26B9B0D3A841E34CE0598A0FDF283A0DA10D818258204C0F6752B4C1AC3303DDD7277A0671B73D3405CE2D457B3933B6BFA0DE44489C010F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581B00000005A96FA77D111A004C4B40128482582037C9BB309BF9F216C8CEA96E57808B4584C1F802F4A259E58C25314F395134A90082582073EABADF9E430383B1DEB138444826A65EA784973F5EE80A785D7A55AA4508B7008258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B9601825820AF204FF4E4D0DA27FFA5344B394ADE6FB030082B2E6584611C8019EF2341ECCF0381A200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C85840426BD7BD103BAC8D8CBF00A9197369F01F0B9461B235C04658AD6FC1FD5C2669D2C09C4617C8280AE116009B12E342250E5D184BE36F0BD28CE4BB3A86BD6C08825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840AE7D0A8352DFCB75C3894860FB9C610AE976907A606DCB5377809B80865E7E1CADC973CD160E80A45AA1CD7B6EEDADE2FB9C591BE2F79150CBE2EBB12279A6040585840001D87980821A000D7AC11A142EF1CF840003D87980821A000151E21A01A82010840002D87980821A000151E21A01A82010840004D87980821A000151E21A01A82010840005D87980821A000151E21A01A82010A100A080", typeof(BlockWithEra) + ]; + yield return + [ + "820785828A1A0024CEA11A03718FB85820EA5BE439100C17D70E4B9C3875A686BE0FEC8DDEB334C2B817754DFA5A3DFF5F582006EA166962F57ABC25AEE664E82AE87C1D0F80AF5B82E3A93B9847C3BC060A93582078AA8F7D6CFE1DD20B1FECBE2C6D2214EC19E2773442ED815978D7035E937BB182584047F15AA6EEFCD3B870ABA5B7A81A44B7D3B454693E69A9C6E81183C640D5BEB05AD8F23E31079F4F93DCACF8B85B9B974A046B4C8272D9862B8F0F5D8BEE58FC5850F4B38B196CE1C98987C1C3506DEBFCB5C1072540A1863E24E86742AC42F600A1008DDDCE3D2348A75C7E91772A842F484D8F614B312E2D0BEC0B582BB2BE66BFE9D55998F60EEB837828D120AD0B6C08193FE358202E9A169801D1CE197A604827C377B245C16A8C80A89D1AFEB1BAFA73DAFE3B06845820B97BAA9E6C3E14724634D36CDFEC33777E9B36755B2044E4BE35CCC9514DE51C0519019758402F2974E4C6AE86DA26C041ECA8CE1E18D8B91A3D9A9DBB6083B22338909485BAA3011F7FE7CF73326BBA402F0566F7A298C214FC669D568DE658B9847D3371098209015901C09933EC7CFDD3FB64326904CC5C082919140516BCE746316D39496633631EADBFB2E1C7075B84451F3C977D1D453C34D31A5CC664A7CA28AF264798B136F0D60E24B29B2E25F1CF14A0D7262C96CB743CDD6A19ED89FA805627AE5D5B35081F1398F51FE614349794A6985983F8E4712BAE2B4EAD0C3124089D7F7DC9CA1E8F85E86D36BC2F41FDDA200CB82F4B37A9A8FA710847D65D98F720F278F3BBC6E8FDFCD2192B6C70BDB462C66F868F89EF41D75EAE1AC81D60AA7B9821697BE404764D62088C04B1392D33D7AF02E04A4EA9DC0049A86D72BBFFEAF61B1956E71436DD2F72F5833FB621BF3A159AB0D2CFFAEBB6960FC6D09B53E9B355B78C2620D402AF79CBA952FD03CDDF99142346AD74E4D05231B018DB929C5FE4F95A82FFB04FBD08E2CAADC2EB7E64C77E62C44B40C81077A677176B86A82B97C148678C3FB196B8CAE230969CB081011DDF5E08A46D4E4799FCBF0CD89082EDAE1A4655D6DF02A3C444FA0B6C853F74955C77BC2C1F5A8D9B92D3CC42FC9DB683019252A15254B21782CF4A5BC72FD549C77A721B3EA939F5C716D1A3C19358C0DE8322633E2BB012CF4A96E72358CAE0DCDEA07979A7BB74469918011DAD0AEC9421156A9FA50081825820F8BFC94AFB9571E0513E3A33C944D495C10DA5BB6E0B6A4500D33CC54CFE7C670101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A80B75AE0021A000F4240031A037196C50F00A5008182582070BDB247A12C25FE78744444A5E502C68C09C48692ED2B4CA95B583F973E44AE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A8098D660021A000F4240031A037197350F00A50081825820D5243170D45B968E2ABCD182E2D5D13008EC8249C3D00ABB27F14323E42B952E0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A807A51E0021A000F4240031A037197350F00A50081825820D233491765ED5FAE613718A0039C543474C934EA7FFAD65007A100FDEDBE49BE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A805BCD60021A000F4240031A037197350F00A50081825820EC78F3A82ED57D925F6D16D85D599E8E52A16992477F256ADF8FF79D428909AF0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A803D48E0021A000F4240031A037197350F00A50081825820E4D503032FC0F12FC2A5FB3F990B0DA43616FDB58C75BA58CF9661A4A343CCF50101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A801EC460021A000F4240031A037197350F00AC00838258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C8181282582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB0082582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB020182A300581D70E0E14B90C2673CD5C00F001C582C966F22EE35AC0873EACB5A1C053B01821A005B8D80A3581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14574444A45441B0004C791C58DEFF1581C953F7215A4C509478CC5A63606C7688915EDDE3BC7FC243A262C738FA14001581CB03F07BADC6F4F050DF48B19A27180884FFD214B32AEB02213B98B7DA14001028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A8051603E021A0005E1BF031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B58208563DB90D535A1F26BF10F1E728B04D0AFAF6537F02A43ECCC0E90970AC903100D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C818120F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BD111A004C4B40128482582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB0182582097D4F43C165EA784034635923F462C478DC666A46FCE69FDA6150A0B28BC39B700825820B1A9C1A86A9A2457131147A9663DB6E800A135E26978A7237BEED86747096B2F00825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD06AC00868258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C81813825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A00825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A02825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A03825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A04825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A050182A300581D7077898471D1A56F64CD6FD110E081C1F91B92CC1484F2480AFB48190A01821B000000DA54BBD753A2581CAF829F4472C3728307007831FA000E450883CFCA4893D9EF535E8786A14004581CB6525F0993875DB27B0A1C780F0E0F1678ACED0DE6CAF0D241B61E87A14001028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A8050AE2C021A000693D1031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B5820032498343BAB7D28DE51B3B907F5A18AF8E25FEBA546E330A7DCD1F30B6B103C0D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C818130F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BD111A004C4B401284825820CCF53FDCEC75C228401EEC309DD877EA115736CCA7BFD99A6242B1E69BA2928F00825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A01825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD07825820DC5E36EA57DC042A990562A3A30E1A8AC1FDC86B775BB0A60E2321CBFEFA24CA00AC00838258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C8181823825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D00825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D020182A300581D704FAF61D99FE87D6F1C4AE346F804A6B9824808A04047BD846FB1EA5F01821A005B8D80A3581C591D247A9FE69F17BBD270E8CA96057BC03005C79EE384E4A7013A18A14001581C7726C67E096E60FF24757DE0EC0A78C659CE73C9B12E98DF7D2FDA2CA14001581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14574495553441B00000F069859C6BE028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A80516725021A0005DAD7031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B5820F6DF332DE9960CFBFCB58D8F8C509B9C8309BF0EFCA8C568E894C166DC8700C50D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C81818230F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BC111A004C4B40128482582069B0A41C5355C5DD16AE8C10329FB01F82E140C96C01C5ECE078724DB41C9DD601825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD04825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D01825820EBB3F064EEC37CF28724ECF4DC3BFD08F2142B0B58F5FA163A88F4D761524D7300A500818258207B22F82CBBED80FC6251E1EADF19A8F7D9662D753C4641C5A4FEB865FF40DF8C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A80003FE0021A000F4240031A037197350F00A500818258202B04404AADB673D87CC5D82000FFF11669A52E651ED98D01892DD37555A7360C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FE1BB60021A000F4240031A037197350F00A30083825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4900825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4901825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4902018382583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A3B9ACA0082583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A000ECC1682583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A05CC9140021A0002A801A40081825820A7C71DC5A79CCE5B333DFB9D23EB950279DEE5421879AB08520D3D855529C539000181825839009FC430EA1F3ADC20EEBB813B2649E85C934EA5BC13D7B7FBE2B24E505064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D821B000000021758BE11A2581C22691D3D969ECF5802226290C2FB98E2BC08522D5B726C1F5F400105A144546573740E581CEF6ED47A6917A3CBBEB46561E8853DA969343794D66128598A34AF2CA24D4275726E61626C65546F6B656E054E4275726E61626C65546F6B656E320C021A0002B4E5048282008200581C5064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D83088200581C5064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D1A001E8480A50081825820C4ACDA061B2B89E254BF6A3F042B6E6D3EF5CD97B86F307A203AB8E153DF026D0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FC336E0021A000F4240031A037197350F00A50081825820BF92B177D0DC0B5CD466C42333747A1B02964903003BD1B5DF67A6E7BCC29CE80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FA4B260021A000F4240031A037197350F00A5008182582041A36B5C55795882B6D8583F38AE9EDED2350345D30ED14A17A9526B62FF6FFC0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F862DE0021A000F4240031A037197350F00A500818258209F5F08A52F8D5CA4D9894E95024EC3749E6FF482D7DB3B97C5C72580F8BA9D730101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F67A960021A000F4240031A037197350F00A50081825820F6DC8D25088EF5D0B5FE1A4561048DE24F453DB517F2881B6F53DF75397704D10101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F4924E0021A000F4240031A037197350F00A50081825820F1EE3C844FF872EDC33FB3D5389DB1670AA8FE52C35B6100C5E8701DFE32F9430101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F2AA060021A000F4240031A037197350F00AC00D901028682582038637FC438B4EAF12DD62E69B39518B8216F64C9341D709A327C86DD42CD184606825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D00825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D01825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D04825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D07825820F406D1A739F08FE44EAFF70DFE36EEC94D3585F4AE681CCE57E60FE6D7423F37020188A300581D70F499907CE24F0F79445809C21A6C63C87DC88132033FFCDEB454141801821A001951D6A2581C0A875B518F66742777D9EB500DD34E692F0B4BCA64C14E7C0FE8186DA1581CF499907CE24F0F79445809C21A6C63C87DC88132033FFCDEB454141801581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14874434C41524954591A001E8480028201D81858469F1A001E8480D8799F581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0FFD87A809F9F0FD87980FF9F0ED87980FF9F0BD87980FF9F09D87980FFFFFFA300581D70309B2F030E026E92F29CBD5A97BAB8B4561966227B5F80463F90148601821A00146324A1581C2BC42C28323B63B19C8C57745426A9CC7DD5A0CC85D83D8B7D5EB584A14001028201D81858459F9F1A000F42401A000F42401A000F42401A000F42401A000F4240FF109F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFFA300581D70FEC8DC75517DA7858773560E4E2A8D930829DF1DBA72C40FC662B1D4011A0016C13C028201D818588C9F9F9F1A000F42401A000F42401A000F42401A000F42401A000F4240FF0F9F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFF9F9F1A001E84801A000F42401A000F42401A000F42401A000F4240FF009F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFFFFA300581D708CE0CC32FB2DDD1ED9C7B05B017EECF444AA2444989E60AE760730C401821A001C25C8A1581C7B4F489D06F3EA7B1743857C95A265C790A38B2EA9437559FF6E5DE4A14001028201D81858BB9F0FA200A001A1581CFEC8DC75517DA7858773560E4E2A8D930829DF1DBA72C40FC662B1D49F5820B13B86B8B7EB7E607025BEBAD0BB1F9F6C44E3A1D5C6B28DD74D38787D3EC098D87A80FF009FD8799F581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0FFFF9F1A000F42401A000F42401A000F42401A000F42401A000F4240FFA2000001009F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1B0000019180163627FF8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EE22C8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EE4BD8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EEA958258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A00246946021A000902BF031A0371966C081A03718F6509A1581C7B4F489D06F3EA7B1743857C95A265C790A38B2EA9437559FF6E5DE4A140010B5820ADB3EE7D6C39928C88197B7AFA930D2101DAFC74B09EEEECE78A6030D68913940DD9010281825820329BCA217F0292099FA1F5F091EB038288CB1056AAA7CC301C617551415A1272000ED9010281581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0108258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A003EC721111A000D841F12D9010283825820B5A3C501A58F63D300E9B203CE7F273DE758644E36BC47E035BD0A7F7C06131300825820BC29A1771FFFF2519162EBF1637219F521FAB639B29C0FC4641DFD5C1F3CAAC300825820D77C50ABD842DE59EA72812D275B221172F7C755205FC5D7C9F01FAD7E30B54F00A500818258203AC7C5CA083EDA4296A310D9CD48860448E804B5F51C0D74685F41B25AD965F00101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F0C1BE0021A000F4240031A037197350F00A500818258205A466CDB2A48B0344766F849428C019D82F594B587D63E722F3CB65BCBE5A0F30101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7EED9760021A000F4240031A037197350F00A5008182582048789F6D1F171A7E0306C54589B91E4CB44E4E3E779E3CCF44B20EB6114782600101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7ECF12E0021A000F4240031A037197350F00A5008182582037C13AB67BA785FAB660FB54ABED382B0660F731630FC94FC3FCCB5D97943DC80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7EB08E60021A000F4240031A037197350F00A500818258203304831CADEF663E75AB20CD49C27452DFD788808D267BDFB0AC5ACAAA33C21A0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E9209E0021A000F4240031A037197350F00A50081825820AB543A2FE129FDF5439A347CDC5769A7978B320A272D14B2029B6D316DF9BD820101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E738560021A000F4240031A037197350F00A50081825820C9B0617C38EAC4253837585E5989D4A060DEFFC7A447E336DCE0903003329C8C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E5500E0021A000F4240031A037197350F00A50081825820A61842CDECA334B533C12C9E73C904D6C287DA31EA5BCB645643984FD5123CDE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E367C60021A000F4240031A037197350F00A5008182582031C4B3317969D9450CA56C97490A55F3A5B7AF3D3077F4632C802D7B551E6FCD0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E17F7E0021A000F4240031A037197350F00A50081825820505BEFB011C999977D3AF620AEE9D341E5E04974BCDDEFF10F0E0A760E6EA6530101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DF97360021A000F4240031A037197350F00A500818258205E81F9CE9818BA10B897320BB483BDF1AFFC19B9220178938E1CE3B4856C42D30101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DDAEEE0021A000F4240031A037197350F00A500818258200CBF545553202E5880DEBBA25FC9E436D020F3D87F7F3A1841ABEEC4797D43FB0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DBC6A60021A000F4240031A037197350F00A50081825820EEAD7BEDED5DDD22ACE57E1487DCE5B0B5427EB3BF10595E568B9B7C3BAB34710101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D9DE5E0021A000F4240031A037197350F00A50081825820847A80D5526BA1847B297A987463CF4D27B1A5C8063A02F11293976E5EB8D1790101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D7F6160021A000F4240031A037197350F00A50081825820AC9B670A08B56789AE3832085DE6D330E6FC378D2141DFA5C32E1420E75587E90101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D60DCE0021A000F4240031A037197350F00A500818258205E07F15D52DC9B945C62809F8BD4024E56A46ED844BBC4DAF34B774FC1FAF6670101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D425860021A000F4240031A037197350F00A50081825820BA7094EAAFD69FA3F9C2943374D93BDD124D3C4B948207DB0A45B306DD3FB4A70101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D23D3E0021A000F4240031A037197350F00A50081825820C8E77D603EA30470478CB699BF633596D86B3ADD75F8BB9FF67F2C85E5A84F5E0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D054F60021A000F4240031A037197350F00A500818258203646499DA34F33ADB3A140B300B52F592F9E3B105D3847981C4E3A7D88A534A80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CE6CAE0021A000F4240031A037197350F00A50081825820CC3F7565961337DCF2EA7B4DB1D62990CCF0924FF33E53CB821ADBF2BE96793D0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CC84660021A000F4240031A037197350F00A500818258203E4DF81BDDF0568D52EB1B7E3F95999667CB1EFA8AB169B84EB21BA6C85F7D490101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CA9C1E0021A000F4240031A037197350F00A500818258204A41426D38E394E294B82BD00CFC5A0FBC9521C4EF4F22E5CCFA97B04715CDD00101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7C8B3D60021A000F4240031A037197350F00A500818258206C9C63FFA25B94A1640AAA1124D12FDEA7BA77A9EEE530B208BE7947E65D65AB0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7C6CB8E0021A000F4240031A037197350F00FF9FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584023D19F743515DA1620E6B299709153158A60DC8463D64E94886FE95FFEA86611DFEB605F40BA3B9244DF08EA6887CDA60DABD59F7D2BD51CB8CF465D3D93F404A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840F0A21CC8D2E1D1185E854B460CED341694900C04A14D8F5F283ED93CD9C6ED2BDD9D0DAFAAFE19F4F492B344F4BD53C87D9F58FBA2345786A20CA63247F8C70DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58402DA5CDFA64651B3C5A177101DFB7D5E6F13C4C8165BCA2E9FF64B7256595A7E241A0BB481ED9A2D26F4E422283F97FEA680C11BB2B5FFCD1FF9EF30CD682CB02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584047D3E0F7B436C8434003E66EBC2D23D242077572D053693E6CED783C5794F2B7044E7230915E78B08A46EF13507E650542F648CF1BEF35AB2E6F0AD345AC9B0EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409F45487796FA97E7A9D77B796741376E82AC449260A2AF451E6604942585E4567BF6891ACA09B7DFDB4AAAE3B241D12558C9038CD25AD78A53918EBCDC0CDF00A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408BFDA1A9F30423B3DBAE1D7AC5F8E211F8E88853036F87B2A6EEFED5993C10DEC097704B7DCE8522D4B00BAD7404D645BCDAB461305F23C9D97C591ED763C10AA200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C85840779F6F08529742E160EA6E9EFD26FD2D2C27E0C10A14156623A59383FC8F44578F1DEC74A1681EA93CF1BAB621832439903384607D51174C746EACEBE6847E09825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E584059828FC95F121B61BD81BED87005D8A1B95A5224F1E9C8A3321C50C5EB6803E3FAC21950E4B08736B7876B2B39966E906CCCF77626C51F2F3B7E2E46B8D1FF0D0582840001D87980821A000964191A0D903743840002D87980821A000151E21A01A82010A200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C858401127FAE81DC44C99F12A6EBF4C9EA2B0D142F042F0442000ADE7480B114F90E5A603D7AEF881A7779CEE8197230DBEE84D732336C6B5A313541C5CF057165B0A825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840254AEDFAD73856A59053EE1D10B07F797D8CEE0FEAFA64B4F9B1886EF482ADCAE814AEAAD3429669E153BD363A632CAF631E481FEA5BA56F7522729C575B73030585840001D87980821A000BFC471A11C3469F840003D87980821A0001754E1A01C2DB0D840002D87980821A0001754E1A01C2DB0D840004D87980821A0001754E1A01C2DB0D840005D87980821A0001754E1A01C2DB0DA200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C858400D19170481CD3C89CA5180D97FECC3F2BC4190F2FB7242ED885323FB12E34777F23AACE969F869AA9FB0A43F8C5B0FE9D37E6B9FDFE55E7D484E7540C283DE0B825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840D5E5266D7E46E98E0FBEF1AC3C5B1BA6E8AA6DABED630E1D965A61F126FA3E0FA79E4FC726ECA979E59EE453915D7CD7F5F9753C8D7FB7340C3D335C0E6C690C0582840001D87980821A00090B921A0D1C2594840002D87980821A000151E21A01A82010A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840BE908678C005FB4EEB0A4B20EBBB3BB3EC4E8D476745E5CA0605F3FC61F33FDAA6D98A0E33AFD0956576856FCD068A91B68BB52F8F7E468E73923EFA99978509A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409A612AAA9C456A101834E2CE146C35686C290586453B9C37B6FF302254A7066290A771063F81744F2B769AE6356821322D1B509642FA16473DEEEC1C1E267D0BA1008182582039B37B3C16B64837864B9685EA4AB037642C6DB0A7782E56CA2EE11D2E83A8825840C20B05909C7E42D1E2100DF78359EEBD5FEE52FF65E7CEAB708C66E8D3206DC3839B8BCBB39C8037454CC4E1F67B587C9C025E4E94D7B4563096A1CDDB4E1F02A100828258200DD2349193F4D73BFF8ED9FEA7965E3C44BDC098F1D91D0A2C9AF8AA525DB71B58406E415F72CF2502C41C77D34BBE7EF675DCD4706F801AF178BCAE11EB98931CF8EE1DBCA3613182AE3CB22DF3D7E363BA7FAA67BD497DB82634D60A463A5BB30F8258200ABB7B89E091DCD3201AEA501854A4CB05290862D88B6EB30AFA6DFD23F544675840A7843980D60E1F674E6391AB2FBE3597D5DFE8628DC918FDBF74C8A865B43B3974F684E03C3C985DFD20571AA05E1AD7D7C18836F6C0AFB772FBCBC00B3C840FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58404E9869F6147D5CA7F5461CAF3CBC21028DC4CDC6BEB844EDA5E08AA1871E552DEF865A16B1C97AEDEB3A9AE5EF8A4997FCF4B3F64E3A8B7D451421BF9B97280CA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A01BF2F2DF9A0F42C0993BFF69F466FEBA57928A0ADA85876BD9AA1F628F030A51F3BBD01684CB05B2E077CB2F773194F7B6454248D638802D1A44FCFE1A8005A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58402F13F16DC3FE7F383D66760D02CD6D1C45E080652669304C97399008570857E235B5B3901C1BEAF43604624B3528567250630A9994CA47B140AA34DF5AA8BF02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584072E84F9741DBB0AB25B5FC5339832E2A271CC56DF6A3484F1DDECDE1E7B0B2FF3EBDC484FD4753963F7E3D881AF8CB60C699905427D3E1962A4FA71477F20E03A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840C3D1B1935BB4AC2F76DBBF5B2A9E13760C2AB2E1299C560B345B8788E7E0CA02B2140A95BECB674D7F6CFDBA8221A2B6AE26A138257A948CFBF31AF5F6392207A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401B505A41D4994FD9C956FDC93A72B3090E4A7CED3380F7DCADC536D9A0D51DF595C5B6713761701B62543F12792D8CAE071615DA7657D5B2ED65C07F788C3900A200D9010281825820344194B638C6ACB245131928034402DE2ED0AC707FC8C9F0D53F911DD9B112B15840C569E26DB301CF8472CB37632E6A373193C7404ACA51E57CF5551C9150A213F735267A3C50402430E25EF14D0E78B3C4621129D94A70EAACB24B871536ABBF0505A382000182D87B80821A000EA7D11A12022E6D8200028200821A000B798D1A0DE066D982010082D87980821A000212341A02DD349DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408298BE152D95026BA448CF2D858D004834AAEAFDE8E5FD87607D7365D250CD5CF86811C3329B5E7DBEDB83274814B9DF608DB6A4EE9FA05457E55E4F40BFD909A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58407A69293C5136C9BA0FD523CD9E4639BEDFCC22B9188AAA080167210F29CD4175930DCB954C776DA2557960529D5847E2161663F918565471BA5319EE3E66D405A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840C4DA45C43A2D2AD7D495DF64E5BD1CD0597851DCBD54F6288F0C46CBC4A3B38DDD771D76DA94A86580A7456368204571BB58760A9CB9FA6797556B57A8565D0EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840299FCE762DD81827667E0123CED5744E86296C2AB28A53E3EB587EC94462B2B7F3A5E0BC42AF6DDD9B1B96021976D8416C0D683C244E30B733F65799B4772900A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58400A07BDFEB908595249AC9D6953680CEACDDC74DFAC0B0A4DE1FC557219A99D62CF94989391484DAA441E2BECCBB82BB097ABC7169CC0DED8979F889C20A97502A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A9E01783C2B869885C67C09C5A7063972E2280583166E32D551A2C33B82B6788CA2D55ACFAD3C71528BC628A587A67F153534E330906B3CB9B8AF97B85F8B20EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409AB0C1C609252F3CA6BB3525E3A28412015473AFC7358F6BD04989B3C76B13FD00EB2BB8AA8FE1ECCD64AEB7627D73E4EAA8C46CB52EFA2AE3BC56E1A32A040FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584078376F9AE508B59EEF52C87B93B4DE484C5175D249B6C359B9F4DFBB31A796A89C79744D3D7D6638477CA88FA6DA4ED4AD40AEBAAB05170848EFEA35E1C88F02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584055D71E3ABDA52C21F63B43C4B2FED7347D6C45CC42600D897F10028105A63A41CB9EBCD35F228C12D7B1A8FA39D93AF787959DF65A2ABF3D9656BB123A179F02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401A587EB493AB15F2790216E14DB7DF0CFC09690BE704F063F9527E99D4230B7D2A11EEFAE0E54325819406456C52744C162730584746A2281194840F31D2010EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58404FEF3B8B83C115E2C20B37922306B61E55AEB4E3DE706BCDF05B9C6DB40C151986FE9A185F0C6C84D58F81DDC26360C8A500853E5E67975EB35346527C535100A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840CBD01F9A960F076673E458DF68D88FC9048A78F27E8808DE901F4C90571A774A156EA78030AD31FBF4BC89AC5F14783B58F205EAC715E1A8C0B1BFE2FBE93F07A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840EA70C6F29285826138767DBB8B718C11BB170D808C6E035466D494DFDF911D9702AE6698B77D936F56198A124132CD8CFD88B5EFE00A1114483670CA444ABF00A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401867971104F649C06FAD5BE944B208A870A6D279D84EA7F587E7B4799905BFFB8B03677EB7F373CD42281278B4B3473289EEFF726D7509638EEDA1DF45D29204A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584094EEB09AD7D30A03A38B94789CE8420E422A39CB9167428417C9504520710A584AA659265476DE352082D649A0CD0E6DAD9FAD0F732CC8F7B508B3B688B8E906A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A276CD4CF7D1624872E712372A85A7ABBE3E49E09096F9CB4F2B98CC9C14ED681D3ABD95E89CDCAC068A2DAC42D1313EDB712C19AC116F3A22F8B64B1FBD4703A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584059CB840B9959ACA6E850FC85FE82DF8F40CDBD6001EC024AAD90B555782D82494A6DCB5995D5CDC9963B2E228412504152C3696E8330F2326C6AA9D8BFF8750DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840388DC17804A2201F71549DEA036E0BE96D187476ED0E35F7A7253746D5F7240A6C3A9FAFEDB3268A6C76979C1DF4A9526B83FDF36B812D95E964B51416D02E02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840CC70CF06159C3935CFBA88C732B1B26DA7F2E8DC5A34998EEB6DBF1C2381F5E65CAA295176CE9B1FD1037C1E8758ACAAEB7D7A0A5F49A18EF221E2C4130AFE0FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401870A4629BA5D679C9A243C4510665C218CDD150F9971E68BDB8945B22FE13680EECFACA8CCCD8B0F2EA5658C86DC30C0E8EABF574BEA28FBCE6936FD99E8306A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840EE71574DF0FFE908DB73D477339A6608267AAB7AD67C4A96CFEEF272AC839C91CBDB3E6A788A25A5CFFC069A89BD63EB5B7E17A2A23C38BB1F9F29C8A97C2B0FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A09F303775E264DCF140F3F7CF50324E3D231E7BEF5B54FA74FD998615D61A6481300BB0E3204869E82DE6CD50EBB73694C491086732CF9031A2CDF22197C603A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408B376C556823EC8D6D0AA1704DC013FE49CC645F848113370DC8672A3A56172D916F1677DE75E4A3C11EFBB2DC0C467BF569237F91E153CDD9E3C76C1DE31F09FFA306A007A008A080", typeof(BlockWithEra) + ]; + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Buy.cs b/src/Chrysalis/Cardano/Models/Jpeg/Buy.cs new file mode 100644 index 00000000..a2d1c43a --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Jpeg/Buy.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Jpeg; + +[CborSerializable(CborType.Constr, Index = 0)] +public record BuyRedeemer( + [CborProperty(0)] + CborInt Offset +) : ICbor; diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Listing.cs b/src/Chrysalis/Cardano/Models/Jpeg/Listing.cs new file mode 100644 index 00000000..b805a41f --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Jpeg/Listing.cs @@ -0,0 +1,23 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Jpeg; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Listing( + [CborProperty(0)] + CborIndefiniteList Payouts, + + [CborProperty(1)] + CborBytes OwnerPkh +) : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record ListingPayout( + [CborProperty(0)] + Address Address, + + [CborProperty(1)] + CborUlong Amount +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Offer.cs b/src/Chrysalis/Cardano/Models/Jpeg/Offer.cs new file mode 100644 index 00000000..28d162cf --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Jpeg/Offer.cs @@ -0,0 +1,27 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cbor; +using Address = Chrysalis.Cardano.Models.Plutus.Address; + +namespace Chrysalis.Cardano.Models.Jpeg; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Offer( + [CborProperty(0)] + CborBytes OwnerPkh, + + [CborProperty(1)] + CborIndefiniteList Payouts +) : ICbor; + +[CborSerializable(CborType.Constr, Index = 0)] +public record OfferPayout( + [CborProperty(0)] + Address Address, + + [CborProperty(1)] + PayoutValue PayoutValue +) : ICbor; + +public record PayoutValue(Dictionary Value) : + CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Token.cs b/src/Chrysalis/Cardano/Models/Jpeg/Token.cs new file mode 100644 index 00000000..bba97b40 --- /dev/null +++ b/src/Chrysalis/Cardano/Models/Jpeg/Token.cs @@ -0,0 +1,14 @@ +using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Models.Jpeg; + +[CborSerializable(CborType.Constr, Index = 0)] +public record Token( + [CborProperty(0)] + CborInt TokenType, + + [CborProperty(1)] + CborMap Amount +) : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index 1d5a2c1a..26cf276f 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -23,7 +23,7 @@ public static byte[] Serialize(ICbor cbor) private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) { - CborType? cborType = CborSerializerUtils.GetCborType(objType); + CborType? cborType = objType.GetCborType(); if (cborType is not null) { @@ -112,7 +112,7 @@ private static void SerializeListStructure(CborWriter writer, ICbor cbor, Type o { Type? baseType = objType.BaseType; CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); - bool IsDefinite = cborSerializableAttr?.IsDefinite ?? true; + bool isDefinite = cborSerializableAttr?.IsDefinite ?? true; if (cbor is null) return; @@ -121,12 +121,12 @@ private static void SerializeListStructure(CborWriter writer, ICbor cbor, Type o { MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); MethodInfo genericMethod = method!.MakeGenericMethod(baseType.GetGenericArguments()); - genericMethod.Invoke(null, [writer, cbor, IsDefinite]); + genericMethod.Invoke(null, [writer, cbor, isDefinite]); } else { PropertyInfo[] properties = cbor.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); - writer.WriteStartArray(IsDefinite ? properties.Length : null); + writer.WriteStartArray(isDefinite ? properties.Length : null); foreach (PropertyInfo property in properties) { @@ -197,18 +197,12 @@ private static void SerializeMap(CborWriter writer, ICbor obj, Type objType) } writer.WriteEndMap(); } - else if (obj is not null && objType.IsGenericType) - { - MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(objType.GetGenericArguments()); - genericMethod.Invoke(null, [writer, obj, cborSerializableAttr!.IsDefinite]); - } - else if (obj is not null && objType.BaseType is not null && objType.BaseType.IsGenericType) // Support Mutiple Levels of Inheritance + else if (objType.IsGenericType || (objType.BaseType?.IsGenericType ?? false)) { IDictionary data = (IDictionary)objType.GetProperty("Value")?.GetValue(obj)!; SerializeGenericMap(writer, data, cborSerializableAttr!.IsDefinite); } - else if (obj is not null && objType.GetCustomAttribute()?.Type == CborType.Map) + else if (objType.GetCustomAttribute()?.Type == CborType.Map) { SerializeCustomMap(writer, obj, objType, cborSerializableAttr!.IsDefinite); } @@ -222,7 +216,7 @@ private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objTyp { Type? currentType = objType; - if (currentType != null && currentType.IsGenericType) + if (currentType.IsGenericType) { Type[] genericArgs = currentType.GetGenericArguments(); MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); @@ -471,7 +465,7 @@ private static void SerializeTag(CborWriter writer, ICbor cbor, Type objType) private static ICbor? DeserializeCbor(CborReader reader, Type targetType) { - CborType? cborType = CborSerializerUtils.GetCborType(targetType); + CborType? cborType = targetType.GetCborType(); if (cborType != null) { @@ -643,12 +637,15 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) CborTag tag = reader.ReadTag(); CborSerializableAttribute? targetTypeSerializable = targetType.GetCustomAttribute(); - int constrIndex = targetTypeSerializable?.Index ?? -1; bool is121To127 = (int)tag >= 121 && (int)tag <= 127; bool isAbove127 = (int)tag > 127; bool is102 = (int)tag == 102; - bool isDyanmic = targetTypeSerializable?.Index == -1; + int constrIndex = targetTypeSerializable?.Index ?? -1; + bool isDynamic = constrIndex == -1; + + if (!isDynamic) + CborSerializerUtils.ValidateTag(tag, targetType); if (is121To127 && targetTypeSerializable != null) { @@ -700,13 +697,12 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) reader.ReadEndArray(); return (ICbor?)Activator.CreateInstance(targetType); } - throw new InvalidOperationException($"Unhandled generic type: {genericTypeDef.Name}"); } } else if (targetType.GetCustomAttribute()?.Type == CborType.Constr) { ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); - if (isDyanmic) + if (isDynamic) { if (is102) { @@ -717,8 +713,8 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) Type valueParamType = constructorParams[2].ParameterType; Type elementType = valueParamType.GetElementType()!; - var listType = typeof(List<>).MakeGenericType(elementType); - var args = (IList)Activator.CreateInstance(listType)!; + Type listType = typeof(List<>).MakeGenericType(elementType); + IList args = (IList)Activator.CreateInstance(listType)!; reader.ReadStartArray(); @@ -729,8 +725,8 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) reader.ReadEndArray(); - var toArrayMethod = args.GetType().GetMethod("ToArray"); - var array = toArrayMethod!.Invoke(args, null); + MethodInfo? toArrayMethod = args.GetType().GetMethod("ToArray"); + object? array = toArrayMethod!.Invoke(args, null); reader.ReadEndArray(); @@ -741,8 +737,8 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) Type firstParamType = constructorParams[2].ParameterType; Type elementType = firstParamType.GetElementType()!; - var listType = typeof(List<>).MakeGenericType(elementType); - var args = (IList)Activator.CreateInstance(listType)!; + Type listType = typeof(List<>).MakeGenericType(elementType); + IList args = (IList)Activator.CreateInstance(listType)!; reader.ReadStartArray(); @@ -753,8 +749,8 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) reader.ReadEndArray(); - var toArrayMethod = args.GetType().GetMethod("ToArray"); - var array = toArrayMethod!.Invoke(args, null); + MethodInfo? toArrayMethod = args.GetType().GetMethod("ToArray"); + object? array = toArrayMethod!.Invoke(args, null); return (ICbor?)Activator.CreateInstance(targetType, constrIndex, false, array); } @@ -762,7 +758,7 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) else { object?[] args = new object?[constructorParams.Length]; - if (constructorParams is not null && constructorParams.Length != 0) + if (constructorParams.Length != 0) { reader.ReadStartArray(); for (int i = 0; i < constructorParams.Length; i++) @@ -838,11 +834,10 @@ private static CborMap DeserializeGenericMap(CborRea private static ICbor? DeserializeCustomMap(CborReader reader, Type targetType) { Type? baseType = targetType.BaseType; - Type[] genericArgs; if (baseType != null && baseType.IsGenericType) { - genericArgs = baseType.GetGenericArguments(); + Type[] genericArgs = baseType.GetGenericArguments(); MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); MethodInfo genericMethod = method!.MakeGenericMethod(genericArgs); diff --git a/src/Chrysalis/Utils/CborSerializerUtils.cs b/src/Chrysalis/Utils/CborSerializerUtils.cs index 911bf1fc..a70c0e57 100644 --- a/src/Chrysalis/Utils/CborSerializerUtils.cs +++ b/src/Chrysalis/Utils/CborSerializerUtils.cs @@ -15,6 +15,19 @@ public static CborTag GetCborTag(int? index = null) int baseTagValue = actualIndex > 6 ? ExtendedTagValue - 7 : BaseTagValue; return (CborTag)(baseTagValue + actualIndex); } + + public static void ValidateTag(CborTag tag, Type targetType) + { + CborSerializableAttribute? cborSerializableAttribute = targetType.GetCustomAttribute(); + + if (cborSerializableAttribute == null) + throw new InvalidOperationException($"Target type {targetType.Name} does not have a CborSerializableAttribute."); + + int expectedTagValue = cborSerializableAttribute.Index >= 0 ? (int)GetCborTag(cborSerializableAttribute.Index) : (int)GetCborTag(); + + if ((int)tag != expectedTagValue) + throw new InvalidOperationException($"Invalid tag {tag} for {targetType.Name}. Expected tag: {expectedTagValue}"); + } public static object? GetValue(this ICbor cbor, Type objType) { From d70273d2511c371a02d7f8575c5a98704b04acf7 Mon Sep 17 00:00:00 2001 From: Wendell Mor Tamayo <107296776+WendellMorTamayo@users.noreply.github.com> Date: Fri, 18 Oct 2024 03:14:41 +0800 Subject: [PATCH 032/162] chore: bump version to 0.2.4 (#32) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 5ea0ba98..7b6d0fa5 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.2.3 + 0.2.4 Chrysalis clark@saib.dev SAIB Inc From 11cec2be63dee23696f33fc153e78e2227232eb8 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Fri, 18 Oct 2024 06:44:14 +0800 Subject: [PATCH 033/162] refactor: replace CborBytes with CborBoundedBytes in Proof models (#33) --- src/Chrysalis/Cardano/Models/MPF/Proof.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Chrysalis/Cardano/Models/MPF/Proof.cs b/src/Chrysalis/Cardano/Models/MPF/Proof.cs index b8614ec6..f4bdffc2 100644 --- a/src/Chrysalis/Cardano/Models/MPF/Proof.cs +++ b/src/Chrysalis/Cardano/Models/MPF/Proof.cs @@ -18,7 +18,7 @@ public record Branch( CborUlong Skip, [CborProperty(1)] - CborBytes Neighbors + CborBoundedBytes Neighbors ) : ProofStep; [CborSerializable(CborType.Constr, Index = 1)] @@ -36,10 +36,10 @@ public record Leaf( CborUlong Skip, [CborProperty(1)] - CborBytes Key, + CborBoundedBytes Key, [CborProperty(2)] - CborBytes Value + CborBoundedBytes Value ) : ProofStep; [CborSerializable(CborType.Constr, Index = 0)] @@ -48,10 +48,10 @@ public record Neighbor( CborUlong Nibble, [CborProperty(1)] - CborBytes Prefix, + CborBoundedBytes Prefix, [CborProperty(2)] - CborBytes Root + CborBoundedBytes Root ) : ProofStep; public record Proof(ProofStep[] ProofSteps) : CborIndefiniteList(ProofSteps); \ No newline at end of file From 0c12bcf81f6898129bd2b8fc97310f3f6ea6137f Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Fri, 18 Oct 2024 06:46:01 +0800 Subject: [PATCH 034/162] chore: bump version to 0.2.5 (#34) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 7b6d0fa5..6ba0043c 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.2.4 + 0.2.5 Chrysalis clark@saib.dev SAIB Inc From e57ca489fb46e4f5de9c0f5640519bc8c499aeaf Mon Sep 17 00:00:00 2001 From: Wendell Mor Tamayo <107296776+WendellMorTamayo@users.noreply.github.com> Date: Sat, 19 Oct 2024 01:49:19 +0800 Subject: [PATCH 035/162] fix: multisigscript union deserialization error (#35) --- src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs b/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs index 18446ab7..1594cddd 100644 --- a/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs +++ b/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs @@ -4,7 +4,7 @@ namespace Chrysalis.Cardano.Models.Sundae; [CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(Signature)])] +[CborUnionTypes([typeof(Signature), typeof(AllOf), typeof(AnyOf), typeof(AtLeast), typeof(Before), typeof(After), typeof(Script)])] public record MultisigScript : ICbor; [CborSerializable(CborType.Constr, Index = 0)] From f56b6838c55a3f669d7b4f846aed52b4731a2247 Mon Sep 17 00:00:00 2001 From: Wendell Mor Tamayo <107296776+WendellMorTamayo@users.noreply.github.com> Date: Sat, 19 Oct 2024 02:01:26 +0800 Subject: [PATCH 036/162] chore: bump version to 0.2.6 (#36) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 6ba0043c..35195ec7 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.2.5 + 0.2.6 Chrysalis clark@saib.dev SAIB Inc From 5fbc1debb8fdc33052bf7123202cdfb6832a78b9 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Sun, 20 Oct 2024 08:24:00 +0800 Subject: [PATCH 037/162] feat: added raw cbor support (#37) --- src/Chrysalis.Test/CborTestData.cs | 1 + .../Cardano/Models/Cbor/CborBytes.cs | 4 +- .../Cardano/Models/Cbor/CborEncodedValue.cs | 2 +- src/Chrysalis/Cardano/Models/Cbor/CborInt.cs | 2 +- src/Chrysalis/Cardano/Models/Cbor/CborList.cs | 8 +- src/Chrysalis/Cardano/Models/Cbor/CborLong.cs | 2 +- src/Chrysalis/Cardano/Models/Cbor/CborMap.cs | 4 +- .../Cardano/Models/Cbor/CborNullable.cs | 2 +- .../Cardano/Models/Cbor/CborRationalNumber.cs | 2 +- src/Chrysalis/Cardano/Models/Cbor/CborText.cs | 2 +- .../Cardano/Models/Cbor/CborUlong.cs | 2 +- .../Models/Coinecta/Vesting/Treasury.cs | 6 +- src/Chrysalis/Cardano/Models/Core/Anchor.cs | 2 +- .../Cardano/Models/Core/Block/Block.cs | 2 +- .../Cardano/Models/Core/Block/BlockWithEra.cs | 2 +- .../Cardano/Models/Core/Block/Header.cs | 2 +- .../Cardano/Models/Core/Block/HeaderBody.cs | 2 +- .../Models/Core/Block/OperationalCert.cs | 2 +- .../Models/Core/Block/ProtocolVersion.cs | 2 +- .../Cardano/Models/Core/Block/VrfCert.cs | 2 +- .../Models/Core/Certificates/Certificate.cs | 2 +- .../Certificates/MoveInstantaneousReward.cs | 2 +- .../Models/Core/Certificates/PoolMetadata.cs | 2 +- .../Cardano/Models/Core/Certificates/Relay.cs | 3 +- .../Cardano/Models/Core/Credential.cs | 2 +- .../Models/Core/Governance/Constitution.cs | 2 +- .../Cardano/Models/Core/Governance/DRep.cs | 2 +- .../Core/Governance/DRepVotingThresholds.cs | 2 +- .../Models/Core/Governance/GovAction.cs | 2 +- .../Models/Core/Governance/GovActionId.cs | 2 +- .../Core/Governance/ProposalProcedure.cs | 2 +- .../Cardano/Models/Core/Governance/Voter.cs | 2 +- .../Models/Core/Governance/VotingProcedure.cs | 2 +- .../Core/Governance/VotingProcedures.cs | 1 - .../Models/Core/Protocol/ExUnitPrices.cs | 2 +- .../Cardano/Models/Core/Protocol/ExUnits.cs | 2 +- .../Cardano/Models/Core/Protocol/Nonce.cs | 2 +- .../Core/Protocol/PoolVotingThresholds.cs | 2 +- .../Core/Protocol/ProtocolParamUpdate.cs | 2 +- .../Models/Core/Script/NativeScript.cs | 2 +- .../Cardano/Models/Core/Script/PlutusData.cs | 11 ++- .../Models/Core/Script/PlutusOption.cs | 2 +- .../Models/Core/Transaction/AuxiliaryData.cs | 13 ++- .../Core/Transaction/BootstrapWitness.cs | 2 +- .../Models/Core/Transaction/DatumOption.cs | 2 +- .../Models/Core/Transaction/Redeemers.cs | 6 +- .../Core/Transaction/TransactionBody.cs | 2 +- .../Core/Transaction/TransactionInput.cs | 2 +- .../Core/Transaction/TransactionOutput.cs | 2 +- .../Core/Transaction/TransactionWitnessSet.cs | 2 +- .../Cardano/Models/Core/Transaction/Update.cs | 2 +- .../Models/Core/Transaction/VKeyWitness.cs | 6 +- src/Chrysalis/Cardano/Models/Core/Value.cs | 6 +- src/Chrysalis/Cardano/Models/Jpeg/Buy.cs | 2 +- src/Chrysalis/Cardano/Models/Jpeg/Listing.cs | 4 +- src/Chrysalis/Cardano/Models/Jpeg/Offer.cs | 4 +- src/Chrysalis/Cardano/Models/Jpeg/Token.cs | 2 +- .../Cardano/Models/Levvy/TokenV2/NftDatum.cs | 8 +- .../Models/Levvy/TokenV2/PaymentDatum.cs | 2 +- .../Models/Levvy/TokenV2/TokenDatum.cs | 8 +- .../Models/Levvy/TokenV2/TokenRedeemer.cs | 2 +- src/Chrysalis/Cardano/Models/MPF/Proof.cs | 2 +- .../Cardano/Models/Plutus/Address.cs | 6 +- src/Chrysalis/Cardano/Models/Plutus/CIP68.cs | 2 +- src/Chrysalis/Cardano/Models/Plutus/Option.cs | 2 +- .../Cardano/Models/Plutus/OutputReference.cs | 4 +- .../Cardano/Models/Sundae/MultisigScript.cs | 2 +- src/Chrysalis/Cbor/CborPropertyAttribute.cs | 2 +- src/Chrysalis/Cbor/CborSerializer.cs | 78 +++++++++++------- src/Chrysalis/Cbor/ICbor.cs | 10 ++- src/Chrysalis/out/Chrysalis.0.0.1.nupkg | Bin 17146 -> 0 bytes 71 files changed, 163 insertions(+), 128 deletions(-) delete mode 100644 src/Chrysalis/out/Chrysalis.0.0.1.nupkg diff --git a/src/Chrysalis.Test/CborTestData.cs b/src/Chrysalis.Test/CborTestData.cs index 289d7f74..9e073eb8 100644 --- a/src/Chrysalis.Test/CborTestData.cs +++ b/src/Chrysalis.Test/CborTestData.cs @@ -19,6 +19,7 @@ public static IEnumerable PrimitiveTestData() { yield return["1834", typeof(CborInt)]; yield return["4101", typeof(CborBytes)]; + yield return["5F58404117843C7994EBF875EFEEB2AC276D2BB051C6A4486ED4A0C5171E8D788AC4A51727B3FA8BD0989049377503D0B5163C9D716A1A94D21802215B74D692C763DA5840BBF246F3362F0357B54758DD7E55B4A4612F1C69358151B1CA4FC2F2527408BADABDA547D81B0DF92699FD924BE4A3D144B727B2BF86F3C9E55AB2875EBF7793FF", typeof(CborBoundedBytes)]; yield return["1a000f4240", typeof(CborUlong)]; yield return["1a000f4240", typeof(PosixTime)]; yield return["43414243", typeof(CborBytes)]; diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs b/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs index cbab29e0..dd0cdf39 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs @@ -3,7 +3,7 @@ namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.Bytes, IsDefinite = true)] -public record CborBytes(byte[] Value) : ICbor; +public record CborBytes(byte[] Value) : RawCbor; [CborSerializable(CborType.Bytes, IsDefinite = false, Size = 64)] -public record CborBoundedBytes(byte[] Value) : ICbor; \ No newline at end of file +public record CborBoundedBytes(byte[] Value) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs b/src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs index 72aa36ac..d49e6229 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs @@ -3,4 +3,4 @@ namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.EncodedValue)] -public record CborEncodedValue(byte[] Value) : ICbor; \ No newline at end of file +public record CborEncodedValue(byte[] Value) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborInt.cs b/src/Chrysalis/Cardano/Models/Cbor/CborInt.cs index 9cbba96e..ea71f20c 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborInt.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborInt.cs @@ -3,4 +3,4 @@ namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.Int)] -public record CborInt(int Value) : ICbor; \ No newline at end of file +public record CborInt(int Value) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborList.cs b/src/Chrysalis/Cardano/Models/Cbor/CborList.cs index 7249bb8d..0ef7cd47 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborList.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborList.cs @@ -12,13 +12,13 @@ namespace Chrysalis.Cardano.Models.Cbor; public interface CborMaybeIndefList : ICbor; [CborSerializable(CborType.List, IsDefinite = true)] -public record CborDefiniteList(T[] Value) : ICbor, CborMaybeIndefList where T : ICbor; +public record CborDefiniteList(T[] Value) : RawCbor, CborMaybeIndefList where T : ICbor; [CborSerializable(CborType.List, IsDefinite = false)] -public record CborIndefiniteList(T[] Value) : ICbor, CborMaybeIndefList where T : ICbor; +public record CborIndefiniteList(T[] Value) : RawCbor, CborMaybeIndefList where T : ICbor; [CborSerializable(CborType.Tag, Index = 258)] -public record CborDefiniteListWithTag(CborDefiniteList Value) : ICbor, CborMaybeIndefList where T : ICbor; +public record CborDefiniteListWithTag(CborDefiniteList Value) : RawCbor, CborMaybeIndefList where T : ICbor; [CborSerializable(CborType.Tag, Index = 258)] -public record CborIndefiniteListWithTag(CborIndefiniteList Value) : ICbor, CborMaybeIndefList where T : ICbor; \ No newline at end of file +public record CborIndefiniteListWithTag(CborIndefiniteList Value) : RawCbor, CborMaybeIndefList where T : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborLong.cs b/src/Chrysalis/Cardano/Models/Cbor/CborLong.cs index 9e8aac50..949f7879 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborLong.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborLong.cs @@ -3,4 +3,4 @@ namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.Long)] -public record CborLong(long Value) : ICbor; \ No newline at end of file +public record CborLong(long Value) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborMap.cs b/src/Chrysalis/Cardano/Models/Cbor/CborMap.cs index 2880cf2b..9f02c760 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborMap.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborMap.cs @@ -3,7 +3,7 @@ namespace Chrysalis.Cardano.Models.Core; [CborSerializable(CborType.Map)] -public record CborMap(Dictionary Value) : ICbor; +public record CborMap(Dictionary Value) : RawCbor; [CborSerializable(CborType.Map)] -public record CborMap(Dictionary Value) : ICbor where T : ICbor where V : ICbor; \ No newline at end of file +public record CborMap(Dictionary Value) : RawCbor where T : ICbor where V : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs b/src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs index 8a076722..68632466 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs @@ -3,4 +3,4 @@ namespace Chrysalis.Cardano.Models.Core; [CborSerializable(CborType.Nullable)] -public record CborNullable(T Value) : ICbor where T : ICbor; \ No newline at end of file +public record CborNullable(T Value) : RawCbor where T : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs b/src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs index 9ae69606..bed216d1 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs @@ -3,4 +3,4 @@ namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.RationalNumber)] -public record CborRationalNumber(ulong Numerator, ulong Denominator) : ICbor; \ No newline at end of file +public record CborRationalNumber(ulong Numerator, ulong Denominator) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborText.cs b/src/Chrysalis/Cardano/Models/Cbor/CborText.cs index 73f0d409..009abd8b 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborText.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborText.cs @@ -3,4 +3,4 @@ namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.Text)] -public record CborText(string Value) : ICbor; \ No newline at end of file +public record CborText(string Value) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborUlong.cs b/src/Chrysalis/Cardano/Models/Cbor/CborUlong.cs index 8b1da077..a3a85353 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborUlong.cs +++ b/src/Chrysalis/Cardano/Models/Cbor/CborUlong.cs @@ -3,6 +3,6 @@ namespace Chrysalis.Cardano.Models.Cbor; [CborSerializable(CborType.Ulong)] -public record CborUlong(ulong Value) : ICbor; +public record CborUlong(ulong Value) : RawCbor; public record PosixTime(ulong Value) : CborUlong(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs b/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs index ff7e51f7..d308553f 100644 --- a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs +++ b/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs @@ -11,11 +11,11 @@ public record Treasury( MultisigScript Owner, CborBytes TreasuryRootHash, PosixTime UnlockTime -) : ICbor; +) : RawCbor; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(TreasuryClaimRedeemer), typeof(TreasuryWithdrawRedeemer)])] -public record TreasuryRedeemer : ICbor; +public record TreasuryRedeemer : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record TreasuryClaimRedeemer( @@ -45,4 +45,4 @@ public record ClaimEntry( [CborProperty(4)] CborBytes VestingProgram -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Anchor.cs b/src/Chrysalis/Cardano/Models/Core/Anchor.cs index 411a4620..0fec4b62 100644 --- a/src/Chrysalis/Cardano/Models/Core/Anchor.cs +++ b/src/Chrysalis/Cardano/Models/Core/Anchor.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core; public record Anchor( [CborProperty(0)] CborText AnchorUrl, [CborProperty(1)] CborBytes AnchorDataHash -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Block/Block.cs b/src/Chrysalis/Cardano/Models/Core/Block/Block.cs index 8cb96cd5..b9398b55 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/Block.cs +++ b/src/Chrysalis/Cardano/Models/Core/Block/Block.cs @@ -11,4 +11,4 @@ public record Block( [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet, [CborProperty(4)] CborMaybeIndefList InvalidTransactions -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Block/BlockWithEra.cs b/src/Chrysalis/Cardano/Models/Core/Block/BlockWithEra.cs index eb87abc8..6357e04c 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/BlockWithEra.cs +++ b/src/Chrysalis/Cardano/Models/Core/Block/BlockWithEra.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Block; public record BlockWithEra( [CborProperty(0)] CborInt EraNumber, [CborProperty(1)] Block Block -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Block/Header.cs b/src/Chrysalis/Cardano/Models/Core/Block/Header.cs index d1e58b5a..7a56fcb0 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/Header.cs +++ b/src/Chrysalis/Cardano/Models/Core/Block/Header.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Block; public record BlockHeader( [CborProperty(0)] BlockHeaderBody HeaderBody, [CborProperty(1)] CborBytes BodySignature -) : ICbor; +) : RawCbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs b/src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs index 97f2647c..ae4e14d3 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs +++ b/src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs @@ -8,7 +8,7 @@ namespace Chrysalis.Cardano.Models.Core.Block; typeof(BabbageHeaderBody), typeof(AlonzoHeaderBody), ])] -public record BlockHeaderBody : ICbor; +public record BlockHeaderBody : RawCbor; [CborSerializable(CborType.List)] public record BabbageHeaderBody( diff --git a/src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs b/src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs index 6ff708b8..ebb53c9f 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs +++ b/src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs @@ -9,4 +9,4 @@ public record OperationalCert( [CborProperty(1)] CborUlong SequenceNumber, [CborProperty(2)] CborUlong KesPeriod, [CborProperty(3)] CborBytes Sigma -) : ICbor; +) : RawCbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs b/src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs index 93eb41f4..4509a828 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs +++ b/src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Block; public record ProtocolVersion( [CborProperty(0)] CborInt MajorProtocolVersion, [CborProperty(1)] CborUlong SequenceNumber -) : ICbor; +) : RawCbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs b/src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs index 1f334e04..f0fb0fee 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs +++ b/src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Block; public record VrfCert( [CborProperty(0)] CborBytes Proof, [CborProperty(1)] CborBytes Output -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs b/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs index 7cab08c1..036856b9 100644 --- a/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs +++ b/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs @@ -24,7 +24,7 @@ namespace Chrysalis.Cardano.Models.Core.Certificates; typeof(UnRegDrepCert), typeof(UpdateDrepCert) ])] -public record Certificate : ICbor; +public record Certificate : RawCbor; [CborSerializable(CborType.List)] public record StakeRegistration( diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs b/src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs index a8fc733f..de42c222 100644 --- a/src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs +++ b/src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs @@ -7,7 +7,7 @@ namespace Chrysalis.Cardano.Models.Core.Certificates; public record MoveInstantaneousReward( [CborProperty(0)] CborInt InstantaneousRewardSource, [CborProperty(1)] Target InstantaneousRewardTarget -) : ICbor; +) : RawCbor; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs b/src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs index efa6bcf7..af9ee0a7 100644 --- a/src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs +++ b/src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Certificates; public record PoolMetadata( [CborProperty(0)] CborText Url, [CborProperty(1)] CborBytes PoolMetadataHash -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs b/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs index 7778e869..dbdff4da 100644 --- a/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs +++ b/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs @@ -1,5 +1,4 @@ using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Plutus; using Chrysalis.Cbor; namespace Chrysalis.Cardano.Models.Core.Certificates; @@ -10,7 +9,7 @@ namespace Chrysalis.Cardano.Models.Core.Certificates; typeof(SingleHostName), typeof(MultiHostName), ])] -public record Relay : ICbor; +public record Relay : RawCbor; [CborSerializable(CborType.List)] public record SingleHostAddr( diff --git a/src/Chrysalis/Cardano/Models/Core/Credential.cs b/src/Chrysalis/Cardano/Models/Core/Credential.cs index 26f52a1b..fec4adaf 100644 --- a/src/Chrysalis/Cardano/Models/Core/Credential.cs +++ b/src/Chrysalis/Cardano/Models/Core/Credential.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core; public record Credential( [CborProperty(0)] CborInt CredentialType, [CborProperty(1)] CborBytes Hash -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs b/src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs index fb0bddcb..0acc50dc 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs +++ b/src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Governance; public record Constitution( [CborProperty(0)] Anchor Anchor, [CborProperty(1)] CborNullable ScriptHash -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs b/src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs index abf9ecc6..2889bebc 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs +++ b/src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs @@ -10,7 +10,7 @@ namespace Chrysalis.Cardano.Models.Core.Governance; typeof(Abstain), typeof(DRepNoConfidence), ])] -public record DRep : ICbor; +public record DRep : RawCbor; [CborSerializable(CborType.List)] public record DRepAddrKeyHash( diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs b/src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs index 0ba4c133..c76b5d0d 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs +++ b/src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs @@ -15,4 +15,4 @@ public record DRepVotingThresholds( [CborProperty(8)] CborRationalNumber PpTechnicalGroup, [CborProperty(9)] CborRationalNumber PpGovernanceGroup, [CborProperty(10)] CborRationalNumber TreasuryWithdrawal -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs b/src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs index 742d8410..46b7a6f7 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs +++ b/src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs @@ -16,7 +16,7 @@ namespace Chrysalis.Cardano.Models.Core.Governance; typeof(NewConstitution), typeof(InfoAction), ])] -public record GovAction : ICbor; +public record GovAction : RawCbor; [CborSerializable(CborType.List)] public record ParameterChangeAction( diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs b/src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs index 778e3de5..ec4f428d 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs +++ b/src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Governance; public record GovActionId( [CborProperty(0)] CborBytes TransactionId, [CborProperty(1)] CborInt GovActionIndex -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs b/src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs index ac89ea91..375c351a 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs +++ b/src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs @@ -9,4 +9,4 @@ public record ProposalProcedure( [CborProperty(1)] RewardAccount RewardAccount, [CborProperty(2)] GovAction GovAction, [CborProperty(3)] Anchor Anchor -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs b/src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs index 06f8be93..31309be2 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs +++ b/src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Governance; public record Voter( [CborProperty(0)] CborInt Tag, [CborProperty(1)] CborBytes Hash -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs b/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs index acd6cb8d..bae51dbc 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs +++ b/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Governance; public record VotingProcedure( [CborProperty(0)] CborInt Vote, [CborProperty(1)] CborNullable Anchor -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs b/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs index 3902966c..f358d5cc 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs +++ b/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs @@ -1,4 +1,3 @@ -using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cbor; namespace Chrysalis.Cardano.Models.Core.Governance; diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs index 0dc25d9c..a4e0c268 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Protocol; public record ExUnitPrices( [CborProperty(0)] CborRationalNumber MemPrice, [CborProperty(1)] CborRationalNumber StepPrice -) : ICbor; +) : RawCbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs index 399d1b92..c11a09d1 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Protocol; public record ExUnits( [CborProperty(0)] CborUlong Mem, [CborProperty(1)] CborUlong Steps -) : ICbor; +) : RawCbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs index db66794d..52dd76d6 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Protocol; public record Nonce( [CborProperty(0)] CborUlong Variant, [CborProperty(1)] CborBytes? Hash -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs index 05f78891..b0996794 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs @@ -10,4 +10,4 @@ public record PoolVotingThresholds( [CborProperty(2)] CborRationalNumber CommitteeNoConfidence, [CborProperty(3)] CborRationalNumber HardForkInitiation, [CborProperty(4)] CborRationalNumber SecurityVotingThreshold -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs b/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs index 54317fd0..5046639a 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs +++ b/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs @@ -11,7 +11,7 @@ namespace Chrysalis.Cardano.Models.Core.Protocol; typeof(BabbageProtocolParamUpdate), typeof(AlonzoProtocolParamUpdate) ])] -public interface ProtocolParamUpdate : ICbor; +public record ProtocolParamUpdate : RawCbor; [CborSerializable(CborType.Map)] public record ConwayProtocolParamUpdate( diff --git a/src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs b/src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs index 6b76f88b..6e86e928 100644 --- a/src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs +++ b/src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs @@ -12,7 +12,7 @@ namespace Chrysalis.Cardano.Models.Core.Script; typeof(InvalidBefore), typeof(InvalidHereafter) ])] -public record NativeScript : ICbor; +public record NativeScript : RawCbor; [CborSerializable(CborType.List)] public record ScriptPubKey( diff --git a/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs b/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs index 61379e9a..dbe0d9a6 100644 --- a/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs +++ b/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs @@ -15,7 +15,11 @@ namespace Chrysalis.Cardano.Models.Core.Script; public interface PlutusData : ICbor; [CborSerializable(CborType.Constr)] -public record PlutusConstr(int Index, bool IsInfinite, PlutusData[] Value) : PlutusData; +public record PlutusConstr(int Index, bool IsInfinite, PlutusData[] Value) : PlutusData +{ + public byte[]? Raw { get; set; } +} + public record PlutusMap(Dictionary Value) : CborMap(Value), PlutusData; @@ -47,7 +51,10 @@ public record PlutusDefiniteBytes(byte[] Value) : CborBytes(Value), PlutusBytes; [CborSerializable(CborType.Tag, Index = 2)] -public record PlutusBytesWithTag(PlutusBytes Value) : PlutusData; +public record PlutusBytesWithTag(PlutusBytes Value) : PlutusData +{ + public byte[]? Raw { get; set; } +} [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs b/src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs index 8ec16427..7ac546f8 100644 --- a/src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs +++ b/src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs @@ -4,7 +4,7 @@ namespace Chrysalis.Cardano.Models.Script; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(PlutusSome<>), typeof(PlutusNone<>)])] -public record PlutusOption : ICbor; +public record PlutusOption : RawCbor; public record PlutusSome([CborProperty(0)] T Value) : PlutusOption; diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs index 56a669cf..40de5009 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs @@ -13,7 +13,11 @@ namespace Chrysalis.Cardano.Models.Core.Transaction; public interface AuxiliaryData : ICbor; [CborSerializable(CborType.Tag, Index = 259)] -public record PostAlonzoAuxiliaryData(PostAlonzoAuxiliaryDataMap Value): AuxiliaryData; +public record PostAlonzoAuxiliaryData(PostAlonzoAuxiliaryDataMap Value) : AuxiliaryData +{ + public byte[]? Raw { get; set; } +} + [CborSerializable(CborType.Map)] public record PostAlonzoAuxiliaryDataMap( @@ -22,7 +26,7 @@ public record PostAlonzoAuxiliaryDataMap( [CborProperty(2)] CborDefiniteList? PlutusV1ScriptSet, [CborProperty(3)] CborDefiniteList? PlutusV2ScriptSet, [CborProperty(4)] CborDefiniteList? PlutusV3ScriptSet -): ICbor; +) : RawCbor; public record Metadata(Dictionary Value) : CborMap(Value), AuxiliaryData; @@ -31,4 +35,7 @@ public record Metadata(Dictionary Value) public record ShellyMaAuxiliaryData( [CborProperty(0)] Metadata TransactionMetadata, [CborProperty(1)] CborDefiniteList AuxiliaryScripts -): AuxiliaryData; \ No newline at end of file +) : AuxiliaryData +{ + public byte[]? Raw { get; set; } +} diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs index 24186139..3301e665 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs @@ -9,4 +9,4 @@ public record BootstrapWitness( [CborProperty(1)] CborBytes Signature, [CborProperty(2)] CborBytes ChainCode, [CborProperty(3)] CborBytes Attributes -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/DatumOption.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/DatumOption.cs index 133604be..61d68671 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/DatumOption.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/DatumOption.cs @@ -5,7 +5,7 @@ namespace Chrysalis.Cardano.Models.Core.Transaction; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(DatumHashOption), typeof(InlineDatumOption)])] -public record DatumOption : ICbor; +public record DatumOption : RawCbor; [CborSerializable(CborType.List)] public record DatumHashOption( diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs index 3b580b53..cd045aa0 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs @@ -29,16 +29,16 @@ public record RedeemerEntry( [CborProperty(1)] CborUlong Index, [CborProperty(2)] PlutusData Data, [CborProperty(3)] ExUnits ExUnits -) : ICbor; +) : RawCbor; [CborSerializable(CborType.List)] public record RedeemerKey( [CborProperty(0)] CborInt Tag, [CborProperty(1)] CborUlong Index -) : ICbor; +) : RawCbor; [CborSerializable(CborType.List)] public record RedeemerValue( [CborProperty(0)] PlutusData Data, [CborProperty(1)] ExUnits ExUnits -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs index a0cbbd2e..722b1aa6 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs @@ -11,7 +11,7 @@ namespace Chrysalis.Cardano.Models.Core.Transaction; typeof(BabbageTransactionBody), typeof(AlonzoTransactionBody) ])] -public interface TransactionBody : ICbor; +public record TransactionBody : RawCbor; [CborSerializable(CborType.Map)] public record ConwayTransactionBody( diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionInput.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionInput.cs index fcce3f37..68cb0b0f 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionInput.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionInput.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Core.Transaction; public record TransactionInput( [CborProperty(0)] CborBytes TransactionId, [CborProperty(1)] CborInt Index -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs index ffd3902e..8d725204 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs @@ -10,7 +10,7 @@ namespace Chrysalis.Cardano.Models.Core.Transaction; typeof(MaryTransactionOutput), typeof(ShellyTransactionOutput) ])] -public record TransactionOutput : ICbor; +public record TransactionOutput : RawCbor; [CborSerializable(CborType.List)] public record ShellyTransactionOutput( diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs index 3163a8d4..3cb1367b 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs @@ -13,4 +13,4 @@ public record TransactionWitnessSet( [CborProperty(5)] Redeemers? Redeemers, [CborProperty(6)] CborMaybeIndefList? PlutusV2ScriptSet, [CborProperty(7)] CborMaybeIndefList? PlutusV3ScriptSet -) : ICbor; +) : RawCbor; diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs index 244b9861..aee3f025 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs @@ -8,4 +8,4 @@ namespace Chrysalis.Cardano.Models.Core.Transaction; public record Update( [CborProperty(0)] ProposedProtocolParameterUpdates ProposedProtocolParameterUpdates, [CborProperty(1)] CborUlong Epoch -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs index 96928902..f08ff9e2 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs @@ -5,6 +5,6 @@ namespace Chrysalis.Cardano.Models.Core.Transaction; [CborSerializable(CborType.List)] public record VKeyWitness( - CborBytes VKey, - CborBytes Signature -) : ICbor; \ No newline at end of file + [CborProperty(0)] CborBytes VKey, + [CborProperty(1)] CborBytes Signature +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Value.cs b/src/Chrysalis/Cardano/Models/Core/Value.cs index e3f98b11..5f8a415c 100644 --- a/src/Chrysalis/Cardano/Models/Core/Value.cs +++ b/src/Chrysalis/Cardano/Models/Core/Value.cs @@ -5,7 +5,7 @@ namespace Chrysalis.Cardano.Models.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Lovelace), typeof(LovelaceWithMultiAsset)])] -public record Value : ICbor; +public record Value : RawCbor; [CborSerializable(CborType.Ulong)] public record Lovelace(ulong Value): Value; @@ -13,6 +13,6 @@ public record Lovelace(ulong Value): Value; [CborSerializable(CborType.List)] public record LovelaceWithMultiAsset( - Lovelace Lovelace, - MultiAssetOutput MultiAsset + [CborProperty(0)] Lovelace Lovelace, + [CborProperty(1)] MultiAssetOutput MultiAsset ): Value; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Buy.cs b/src/Chrysalis/Cardano/Models/Jpeg/Buy.cs index a2d1c43a..80c59858 100644 --- a/src/Chrysalis/Cardano/Models/Jpeg/Buy.cs +++ b/src/Chrysalis/Cardano/Models/Jpeg/Buy.cs @@ -7,4 +7,4 @@ namespace Chrysalis.Cardano.Models.Jpeg; public record BuyRedeemer( [CborProperty(0)] CborInt Offset -) : ICbor; +) : RawCbor; diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Listing.cs b/src/Chrysalis/Cardano/Models/Jpeg/Listing.cs index b805a41f..ce350c6d 100644 --- a/src/Chrysalis/Cardano/Models/Jpeg/Listing.cs +++ b/src/Chrysalis/Cardano/Models/Jpeg/Listing.cs @@ -11,7 +11,7 @@ public record Listing( [CborProperty(1)] CborBytes OwnerPkh -) : ICbor; +) : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record ListingPayout( @@ -20,4 +20,4 @@ public record ListingPayout( [CborProperty(1)] CborUlong Amount -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Offer.cs b/src/Chrysalis/Cardano/Models/Jpeg/Offer.cs index 28d162cf..5503ef32 100644 --- a/src/Chrysalis/Cardano/Models/Jpeg/Offer.cs +++ b/src/Chrysalis/Cardano/Models/Jpeg/Offer.cs @@ -12,7 +12,7 @@ public record Offer( [CborProperty(1)] CborIndefiniteList Payouts -) : ICbor; +) : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record OfferPayout( @@ -21,7 +21,7 @@ public record OfferPayout( [CborProperty(1)] PayoutValue PayoutValue -) : ICbor; +) : RawCbor; public record PayoutValue(Dictionary Value) : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Token.cs b/src/Chrysalis/Cardano/Models/Jpeg/Token.cs index bba97b40..3b2af879 100644 --- a/src/Chrysalis/Cardano/Models/Jpeg/Token.cs +++ b/src/Chrysalis/Cardano/Models/Jpeg/Token.cs @@ -11,4 +11,4 @@ public record Token( [CborProperty(1)] CborMap Amount -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs index b0929067..b19a7d9b 100644 --- a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs +++ b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs @@ -6,7 +6,7 @@ namespace Chrysalis.Cardano.Models.Levvy.TokenV2; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(LendNftDatum), typeof(BorrowNftDatum), typeof(RepayNftDatum)])] -public record NftDatum() : ICbor; +public record NftDatum() : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] @@ -35,7 +35,7 @@ public record LendNftDetails( [CborProperty(4)] CborUlong LoanDuration -) : ICbor; +) : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record BorrowNftDetails( @@ -62,7 +62,7 @@ public record BorrowNftDetails( [CborProperty(7)] OutputReference OutputReference -) : ICbor; +) : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record RepayNftDetails( @@ -77,4 +77,4 @@ public record RepayNftDetails( [CborProperty(3)] OutputReference OutputReference -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs index 90af7bb1..a3a0ebf0 100644 --- a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs +++ b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs @@ -4,4 +4,4 @@ namespace Chrysalis.Cardano.Models.Levvy.TokenV2; [CborSerializable(CborType.Constr, Index = 0)] -public record PaymentDatum(OutputReference OutputReference) : ICbor; \ No newline at end of file +public record PaymentDatum(OutputReference OutputReference) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenDatum.cs b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenDatum.cs index 1fe66bb5..6a58257b 100644 --- a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenDatum.cs +++ b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenDatum.cs @@ -7,7 +7,7 @@ namespace Chrysalis.Cardano.Models.Levvy.TokenV2; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(LendTokenDatum), typeof(BorrowTokenDatum), typeof(RepayTokenDatum)])] -public record TokenDatum() : ICbor; +public record TokenDatum() : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record LendTokenDatum(LendTokenDetails LendTokenDetails) : TokenDatum; @@ -43,7 +43,7 @@ public record LendTokenDetails( [CborProperty(7)] OutputReference OutputReference -) : ICbor; +) : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record BorrowTokenDetails( @@ -73,7 +73,7 @@ public record BorrowTokenDetails( [CborProperty(8)] OutputReference OutputReference -) : ICbor; +) : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record RepayTokenDetails( @@ -91,4 +91,4 @@ public record RepayTokenDetails( [CborProperty(4)] OutputReference OutputReference -) : ICbor; \ No newline at end of file +) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenRedeemer.cs b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenRedeemer.cs index 77f5f59c..b4814672 100644 --- a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenRedeemer.cs +++ b/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenRedeemer.cs @@ -10,7 +10,7 @@ namespace Chrysalis.Cardano.Models.Levvy.TokenV2; typeof(ForecloseTokenAction), typeof(CancelTokenAction), ])] -public record TokenRedeemer() : ICbor; +public record TokenRedeemer() : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record BorrowTokenAction() : TokenRedeemer; diff --git a/src/Chrysalis/Cardano/Models/MPF/Proof.cs b/src/Chrysalis/Cardano/Models/MPF/Proof.cs index f4bdffc2..dcdaf706 100644 --- a/src/Chrysalis/Cardano/Models/MPF/Proof.cs +++ b/src/Chrysalis/Cardano/Models/MPF/Proof.cs @@ -10,7 +10,7 @@ namespace Chrysalis.Cardano.Models.Mpf; typeof(Fork), typeof(Leaf) ])] -public record ProofStep : ICbor; +public record ProofStep : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record Branch( diff --git a/src/Chrysalis/Cardano/Models/Plutus/Address.cs b/src/Chrysalis/Cardano/Models/Plutus/Address.cs index 1b163e48..ed73159e 100644 --- a/src/Chrysalis/Cardano/Models/Plutus/Address.cs +++ b/src/Chrysalis/Cardano/Models/Plutus/Address.cs @@ -10,13 +10,13 @@ public record Address( [CborProperty(1)] Option> StakeCredential -) : ICbor; +) : RawCbor; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(VerificationKey), typeof(Script)])] -public record Credential() : ICbor; +public record Credential() : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record VerificationKey([CborProperty(0)] CborBytes VerificationKeyHash) : Credential; @@ -28,7 +28,7 @@ public record Script([CborProperty(0)] CborBytes ScriptHash) : Credential; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Inline<>), typeof(Pointer)])] -public record Referenced() : ICbor; +public record Referenced() : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record Inline(T Value) : Referenced; diff --git a/src/Chrysalis/Cardano/Models/Plutus/CIP68.cs b/src/Chrysalis/Cardano/Models/Plutus/CIP68.cs index 1486209c..d03dc90d 100644 --- a/src/Chrysalis/Cardano/Models/Plutus/CIP68.cs +++ b/src/Chrysalis/Cardano/Models/Plutus/CIP68.cs @@ -5,7 +5,7 @@ namespace Chrysalis.Cardano.Models.Plutus; [CborSerializable(CborType.Constr, Index = 0)] -public record CIP68() : ICbor where T : ICbor +public record CIP68() : RawCbor where T : ICbor { [CborProperty(0)] public required CborMap Metadata { get; init; } diff --git a/src/Chrysalis/Cardano/Models/Plutus/Option.cs b/src/Chrysalis/Cardano/Models/Plutus/Option.cs index 5ba2f456..f92b5ef1 100644 --- a/src/Chrysalis/Cardano/Models/Plutus/Option.cs +++ b/src/Chrysalis/Cardano/Models/Plutus/Option.cs @@ -4,7 +4,7 @@ namespace Chrysalis.Cardano.Models.Plutus; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Some<>), typeof(None<>)])] -public record Option : ICbor; +public record Option : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record Some([CborProperty(0)] T Value) : Option; diff --git a/src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs b/src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs index 80955b8e..fe36e470 100644 --- a/src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs +++ b/src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs @@ -10,7 +10,7 @@ public record OutputReference( [CborProperty(1)] CborUlong Index -) : ICbor; +) : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] -public record TransactionId(CborBytes Hash) : ICbor; \ No newline at end of file +public record TransactionId(CborBytes Hash) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs b/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs index 1594cddd..aa6a2b47 100644 --- a/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs +++ b/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs @@ -5,7 +5,7 @@ namespace Chrysalis.Cardano.Models.Sundae; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Signature), typeof(AllOf), typeof(AnyOf), typeof(AtLeast), typeof(Before), typeof(After), typeof(Script)])] -public record MultisigScript : ICbor; +public record MultisigScript : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] public record Signature(CborBytes KeyHash) : MultisigScript; diff --git a/src/Chrysalis/Cbor/CborPropertyAttribute.cs b/src/Chrysalis/Cbor/CborPropertyAttribute.cs index c7373b21..bba5eb61 100644 --- a/src/Chrysalis/Cbor/CborPropertyAttribute.cs +++ b/src/Chrysalis/Cbor/CborPropertyAttribute.cs @@ -1,6 +1,6 @@ namespace Chrysalis.Cbor; -[AttributeUsage(AttributeTargets.Property | AttributeTargets.Parameter, AllowMultiple = false)] +[AttributeUsage(AttributeTargets.Property | AttributeTargets.Parameter, Inherited = true, AllowMultiple = false)] public class CborPropertyAttribute : Attribute { public string? Key { get; } = default!; diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index 26cf276f..a3a40c93 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -11,8 +11,15 @@ public static class CborSerializer public static byte[] Serialize(ICbor cbor) { CborWriter writer = new(CborConformanceMode.Strict); - SerializeCbor(writer, cbor, cbor.GetType()); - return writer.Encode(); + if (cbor.Raw is not null) + { + return cbor.Raw; + } + else + { + SerializeCbor(writer, cbor, cbor.GetType()); + return writer.Encode(); + } } public static T? Deserialize(byte[] cborData) @@ -466,28 +473,32 @@ private static void SerializeTag(CborWriter writer, ICbor cbor, Type objType) private static ICbor? DeserializeCbor(CborReader reader, Type targetType) { CborType? cborType = targetType.GetCborType(); - + ReadOnlyMemory originalBytes = reader.ReadEncodedValue(); + CborReader subReader = new(originalBytes); + ICbor? result; if (cborType != null) { - return cborType switch + result = cborType switch { - CborType.Map => DeserializeMap(reader, targetType), - CborType.Int => DeserializeCborInt(reader, targetType), - CborType.Ulong => DeserializeCborUlong(reader, targetType), - CborType.Long => DeserializeCborLong(reader, targetType), - CborType.Union => DeserializeUnion(reader, targetType), - CborType.Bytes => DeserializeCborBytes(reader, targetType), - CborType.Constr => DeserializeConstructor(reader, targetType), - CborType.List => DeserializeList(reader, targetType), - CborType.EncodedValue => DeserializeEncodedValue(reader, targetType), - CborType.RationalNumber => DeserializeRationalNumber(reader, targetType), - CborType.Text => DeserializeText(reader, targetType), - CborType.Nullable => DeserializeNullable(reader, targetType), - CborType.Tag => DeserializeTag(reader, targetType), + CborType.Map => DeserializeMap(subReader, targetType), + CborType.Int => DeserializeCborInt(subReader, targetType), + CborType.Ulong => DeserializeCborUlong(subReader, targetType), + CborType.Long => DeserializeCborLong(subReader, targetType), + CborType.Union => DeserializeUnion(subReader, targetType), + CborType.Bytes => DeserializeCborBytes(subReader, targetType), + CborType.Constr => DeserializeConstructor(subReader, targetType), + CborType.List => DeserializeList(subReader, targetType), + CborType.EncodedValue => DeserializeEncodedValue(subReader, targetType), + CborType.RationalNumber => DeserializeRationalNumber(subReader, targetType), + CborType.Text => DeserializeText(subReader, targetType), + CborType.Nullable => DeserializeNullable(subReader, targetType), + CborType.Tag => DeserializeTag(subReader, targetType), _ => throw new NotImplementedException($"Unknown CborType: {cborType}"), }; + if (result is null) throw new InvalidOperationException($"Deserialization failed for target type {targetType.Name}"); + result.Raw = originalBytes.ToArray(); + return result; } - throw new NotImplementedException($"Deserialization not implemented for target type {targetType.Name}"); } @@ -614,13 +625,19 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) if (isDefiniteDetected != isDefinite) throw new InvalidOperationException("Invalid length definition for list"); - List properties = [.. targetType.GetProperties()]; - + var properties = targetType.GetConstructors() + .First() + .GetParameters() + .Where(p => p.GetCustomAttributes(typeof(CborPropertyAttribute), true).Any()) + .Select(p => targetType.GetProperty(p.Name ?? throw new InvalidOperationException("Property name not found"))) + .Where(p => p != null) + .ToList() ?? throw new InvalidOperationException($"No properties found for type: {targetType.Name}"); object[] values = new object[properties.Count]; for (int i = 0; i < properties.Count; i++) { - Type propType = properties[i].PropertyType; + PropertyInfo? propertyInfo = properties[i] ?? throw new InvalidOperationException($"Property not found for index {i}"); + Type propType = propertyInfo.PropertyType; values[i] = DeserializeCbor(reader, propType)!; } @@ -643,7 +660,7 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) int constrIndex = targetTypeSerializable?.Index ?? -1; bool isDynamic = constrIndex == -1; - + if (!isDynamic) CborSerializerUtils.ValidateTag(tag, targetType); @@ -854,16 +871,13 @@ private static CborMap DeserializeGenericMap(CborRea { reader.ReadStartMap(); - Type[] types = targetType.GetProperties() - .Select(p => p.PropertyType) - .ToArray(); - ConstructorInfo? constructor = targetType.GetConstructor(types); - ParameterInfo[]? parameters = constructor?.GetParameters(); - - if (parameters is null || parameters.Length == 0) - return null; + var parameters = targetType.GetConstructors() + .First() + .GetParameters() + .Where(p => p.GetCustomAttributes(typeof(CborPropertyAttribute), true).Any()) + .ToList(); - object?[] values = new object?[parameters.Length]; + object?[] values = new object?[parameters.Count]; while (reader.PeekState() != CborReaderState.EndMap) { @@ -871,7 +885,7 @@ private static CborMap DeserializeGenericMap(CborRea ? reader.ReadTextString() : reader.ReadInt32(); - for (int i = 0; i < parameters.Length; i++) + for (int i = 0; i < parameters.Count; i++) { CborPropertyAttribute? cborPropertyAttribute = parameters[i].GetCustomAttribute(); if (cborPropertyAttribute != null) diff --git a/src/Chrysalis/Cbor/ICbor.cs b/src/Chrysalis/Cbor/ICbor.cs index 2ba876d6..061f3373 100644 --- a/src/Chrysalis/Cbor/ICbor.cs +++ b/src/Chrysalis/Cbor/ICbor.cs @@ -1,3 +1,11 @@ namespace Chrysalis.Cbor; -public interface ICbor { } +public interface ICbor +{ + byte[]? Raw { get; set; } +} + +public record RawCbor: ICbor +{ + public byte[]? Raw { get; set; } = default; +} \ No newline at end of file diff --git a/src/Chrysalis/out/Chrysalis.0.0.1.nupkg b/src/Chrysalis/out/Chrysalis.0.0.1.nupkg deleted file mode 100644 index 627e6fab338e095793d129205c13cc56d4d7c4da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17146 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 From a3fa9884a2b87b2bafa10c53e1cf54f35d5d7784 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Sun, 20 Oct 2024 08:24:19 +0800 Subject: [PATCH 038/162] chore: bump version to 0.2.7 (#38) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 35195ec7..3e5994cb 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.2.6 + 0.2.7 Chrysalis clark@saib.dev SAIB Inc From 81930487813ab3858077edd45deec7ff286108f1 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Mon, 21 Oct 2024 09:24:31 +0800 Subject: [PATCH 039/162] refactor: update voting procedures and enhance CBOR GenericMap deserialization logic (#39) --- .vscode/launch.json | 4 ++-- src/Chrysalis.Test/CborTestData.cs | 6 ++++++ .../Models/Core/Governance/VotingProcedures.cs | 8 ++++---- .../Models/Core/Transaction/TransactionBody.cs | 2 +- src/Chrysalis/Cbor/CborSerializer.cs | 14 ++++++++------ 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 3c6f2069..b713fd20 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -14,9 +14,9 @@ "args": [], "cwd": "${workspaceFolder}/src/Chrysalis.Test", // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console - "console": "internalConsole", + "console": "integratedTerminal", "stopAtEntry": false, - "justMyCode": false, + "justMyCode": true, "suppressJITOptimizations": true }, { diff --git a/src/Chrysalis.Test/CborTestData.cs b/src/Chrysalis.Test/CborTestData.cs index 9e073eb8..34c7a6df 100644 --- a/src/Chrysalis.Test/CborTestData.cs +++ b/src/Chrysalis.Test/CborTestData.cs @@ -34,9 +34,15 @@ public static IEnumerable BlockWithEraTestData() [ "820785828A1A00275E211A03B77E9258208103D6AD9398EC3D7BCD6C9F73B5962A8C61961F4A7913FBD3D60DB5B0E9262358201B268D3D3E801DF66EE693A4E0AABB7C7B7036E28F91FEDD7A3337F69053A9BB5820F7B77B961C02E09AACD654BF6890206AB3605BA339C633866A0F1777BB33F60E82584050307A37CAA9F73E8282A912F9B1451AF396FB526F4F0E480A7E59AE11997899D729281FA94D03A3356B2A9441DACECA74B88DD03BBB8405B8652B0A691D91B25850EA10EBF654D9C20D72077747785A1AE974D4C147EFEC762AAFC22B46568CCC3F9E8CC014244ABAAF504BEAAAD46F64B2E221524AEA4074E27AC0FA29A1CDD856F2F3486508298E7B147456CFE234F20C19044F582037DC1AA95FADC9AFA5BB9C2CBB047DC57351015DED48E2466D617EF9122496D6845820549D81968062D38216AD59C737A963CE653A113FED6A30C775B7410108566C50051901DA5840A4FC33996338D7FF9C7B31E7E289B84465812A5965314A6A74AB5633551CE5E33D37212055AF6C955A96E5E5B50795DC924F5566B421A743F7764F1103EF4E0B8209015901C091E3E935699827C1ED17F5BBC3084EABDD809F9C450AB7EBFC177D35ACD55CCEE65C36C8851CF68EED45D001F04F54D477CC2B80FFA50A9A8B1E667206DC81011C6BA4B5483681316378D9E339744B29B48CE548DBB93FC6B84D4B7C33EFD4C671B8E7FA77ADCBDF53486D226760DB047827929B19CE0D0947E39248ABCE143A4A8FF8E36F9A5CAE03B7E799BCF0C26418950F4F50A8782F90506A03969C2CDBD1D006DE8157C2B1F62A3198B992CB9C3E9B11B3B63AD41B5BDB0DA539E06FAC10FFBACCCA107624365A887D302136312308D374CF793B98561476E74AE7F35B35AD11E6B344040D489234BC9411D2DE1D3972B7D2FB466DC749512C559C3552368A18A4BF88E290989C57E231E1F8C7804C80E79174557416BE3020B42C5E07EF27289901C73D1C6A1451E0E1E6B831A8FE3FCAD8A774E988303A7629005428653A0C6F0222A39EA7028031F5A605F8C80C395009410064F4CD4211796DCA101FE318D64CE0CE8577F1E18EF348A25DC821E33F8D1A61DF478AB589657F20F8E6DFA0ECD8B6CD7071A9968DC7A246F1E0863251A7877840C4FBBB742F9CF52CB17CBA2B5CA3597E7C58293A73274FA09BB770EFD50AC0C8267EC0C5052036C981AC00868258204C0F6752B4C1AC3303DDD7277A0671B73D3405CE2D457B3933B6BFA0DE44489C018258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96008258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96028258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96038258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96048258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96050182A300581D70E06D212B306042BF3025A0F6B64DAEA3A42994EEA2BAF84B10DAA1C701821A00E4E1C0A3581C13F46E97A7908B513DBFD6BDEDC9A70B1F09CDD7BBFD778C3B41F85CA14004581C8DA51CDBCDE5ADEFE972D704FF749C8F713ADF0A6D60DF82EF66AC0BA14001581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA144744941471B00000004AE92F35C028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581B00000005A9B4FDDE021A0006F4DF031A03B78202075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03B77E7E0B58200B91BA9E53B3C80EC2FA2FF58F655D26B9B0D3A841E34CE0598A0FDF283A0DA10D818258204C0F6752B4C1AC3303DDD7277A0671B73D3405CE2D457B3933B6BFA0DE44489C010F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581B00000005A96FA77D111A004C4B40128482582037C9BB309BF9F216C8CEA96E57808B4584C1F802F4A259E58C25314F395134A90082582073EABADF9E430383B1DEB138444826A65EA784973F5EE80A785D7A55AA4508B7008258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B9601825820AF204FF4E4D0DA27FFA5344B394ADE6FB030082B2E6584611C8019EF2341ECCF0381A200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C85840426BD7BD103BAC8D8CBF00A9197369F01F0B9461B235C04658AD6FC1FD5C2669D2C09C4617C8280AE116009B12E342250E5D184BE36F0BD28CE4BB3A86BD6C08825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840AE7D0A8352DFCB75C3894860FB9C610AE976907A606DCB5377809B80865E7E1CADC973CD160E80A45AA1CD7B6EEDADE2FB9C591BE2F79150CBE2EBB12279A6040585840001D87980821A000D7AC11A142EF1CF840003D87980821A000151E21A01A82010840002D87980821A000151E21A01A82010840004D87980821A000151E21A01A82010840005D87980821A000151E21A01A82010A100A080", typeof(BlockWithEra) ]; + yield return [ "820785828A1A0024CEA11A03718FB85820EA5BE439100C17D70E4B9C3875A686BE0FEC8DDEB334C2B817754DFA5A3DFF5F582006EA166962F57ABC25AEE664E82AE87C1D0F80AF5B82E3A93B9847C3BC060A93582078AA8F7D6CFE1DD20B1FECBE2C6D2214EC19E2773442ED815978D7035E937BB182584047F15AA6EEFCD3B870ABA5B7A81A44B7D3B454693E69A9C6E81183C640D5BEB05AD8F23E31079F4F93DCACF8B85B9B974A046B4C8272D9862B8F0F5D8BEE58FC5850F4B38B196CE1C98987C1C3506DEBFCB5C1072540A1863E24E86742AC42F600A1008DDDCE3D2348A75C7E91772A842F484D8F614B312E2D0BEC0B582BB2BE66BFE9D55998F60EEB837828D120AD0B6C08193FE358202E9A169801D1CE197A604827C377B245C16A8C80A89D1AFEB1BAFA73DAFE3B06845820B97BAA9E6C3E14724634D36CDFEC33777E9B36755B2044E4BE35CCC9514DE51C0519019758402F2974E4C6AE86DA26C041ECA8CE1E18D8B91A3D9A9DBB6083B22338909485BAA3011F7FE7CF73326BBA402F0566F7A298C214FC669D568DE658B9847D3371098209015901C09933EC7CFDD3FB64326904CC5C082919140516BCE746316D39496633631EADBFB2E1C7075B84451F3C977D1D453C34D31A5CC664A7CA28AF264798B136F0D60E24B29B2E25F1CF14A0D7262C96CB743CDD6A19ED89FA805627AE5D5B35081F1398F51FE614349794A6985983F8E4712BAE2B4EAD0C3124089D7F7DC9CA1E8F85E86D36BC2F41FDDA200CB82F4B37A9A8FA710847D65D98F720F278F3BBC6E8FDFCD2192B6C70BDB462C66F868F89EF41D75EAE1AC81D60AA7B9821697BE404764D62088C04B1392D33D7AF02E04A4EA9DC0049A86D72BBFFEAF61B1956E71436DD2F72F5833FB621BF3A159AB0D2CFFAEBB6960FC6D09B53E9B355B78C2620D402AF79CBA952FD03CDDF99142346AD74E4D05231B018DB929C5FE4F95A82FFB04FBD08E2CAADC2EB7E64C77E62C44B40C81077A677176B86A82B97C148678C3FB196B8CAE230969CB081011DDF5E08A46D4E4799FCBF0CD89082EDAE1A4655D6DF02A3C444FA0B6C853F74955C77BC2C1F5A8D9B92D3CC42FC9DB683019252A15254B21782CF4A5BC72FD549C77A721B3EA939F5C716D1A3C19358C0DE8322633E2BB012CF4A96E72358CAE0DCDEA07979A7BB74469918011DAD0AEC9421156A9FA50081825820F8BFC94AFB9571E0513E3A33C944D495C10DA5BB6E0B6A4500D33CC54CFE7C670101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A80B75AE0021A000F4240031A037196C50F00A5008182582070BDB247A12C25FE78744444A5E502C68C09C48692ED2B4CA95B583F973E44AE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A8098D660021A000F4240031A037197350F00A50081825820D5243170D45B968E2ABCD182E2D5D13008EC8249C3D00ABB27F14323E42B952E0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A807A51E0021A000F4240031A037197350F00A50081825820D233491765ED5FAE613718A0039C543474C934EA7FFAD65007A100FDEDBE49BE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A805BCD60021A000F4240031A037197350F00A50081825820EC78F3A82ED57D925F6D16D85D599E8E52A16992477F256ADF8FF79D428909AF0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A803D48E0021A000F4240031A037197350F00A50081825820E4D503032FC0F12FC2A5FB3F990B0DA43616FDB58C75BA58CF9661A4A343CCF50101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A801EC460021A000F4240031A037197350F00AC00838258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C8181282582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB0082582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB020182A300581D70E0E14B90C2673CD5C00F001C582C966F22EE35AC0873EACB5A1C053B01821A005B8D80A3581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14574444A45441B0004C791C58DEFF1581C953F7215A4C509478CC5A63606C7688915EDDE3BC7FC243A262C738FA14001581CB03F07BADC6F4F050DF48B19A27180884FFD214B32AEB02213B98B7DA14001028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A8051603E021A0005E1BF031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B58208563DB90D535A1F26BF10F1E728B04D0AFAF6537F02A43ECCC0E90970AC903100D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C818120F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BD111A004C4B40128482582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB0182582097D4F43C165EA784034635923F462C478DC666A46FCE69FDA6150A0B28BC39B700825820B1A9C1A86A9A2457131147A9663DB6E800A135E26978A7237BEED86747096B2F00825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD06AC00868258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C81813825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A00825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A02825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A03825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A04825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A050182A300581D7077898471D1A56F64CD6FD110E081C1F91B92CC1484F2480AFB48190A01821B000000DA54BBD753A2581CAF829F4472C3728307007831FA000E450883CFCA4893D9EF535E8786A14004581CB6525F0993875DB27B0A1C780F0E0F1678ACED0DE6CAF0D241B61E87A14001028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A8050AE2C021A000693D1031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B5820032498343BAB7D28DE51B3B907F5A18AF8E25FEBA546E330A7DCD1F30B6B103C0D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C818130F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BD111A004C4B401284825820CCF53FDCEC75C228401EEC309DD877EA115736CCA7BFD99A6242B1E69BA2928F00825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A01825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD07825820DC5E36EA57DC042A990562A3A30E1A8AC1FDC86B775BB0A60E2321CBFEFA24CA00AC00838258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C8181823825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D00825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D020182A300581D704FAF61D99FE87D6F1C4AE346F804A6B9824808A04047BD846FB1EA5F01821A005B8D80A3581C591D247A9FE69F17BBD270E8CA96057BC03005C79EE384E4A7013A18A14001581C7726C67E096E60FF24757DE0EC0A78C659CE73C9B12E98DF7D2FDA2CA14001581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14574495553441B00000F069859C6BE028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A80516725021A0005DAD7031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B5820F6DF332DE9960CFBFCB58D8F8C509B9C8309BF0EFCA8C568E894C166DC8700C50D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C81818230F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BC111A004C4B40128482582069B0A41C5355C5DD16AE8C10329FB01F82E140C96C01C5ECE078724DB41C9DD601825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD04825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D01825820EBB3F064EEC37CF28724ECF4DC3BFD08F2142B0B58F5FA163A88F4D761524D7300A500818258207B22F82CBBED80FC6251E1EADF19A8F7D9662D753C4641C5A4FEB865FF40DF8C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A80003FE0021A000F4240031A037197350F00A500818258202B04404AADB673D87CC5D82000FFF11669A52E651ED98D01892DD37555A7360C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FE1BB60021A000F4240031A037197350F00A30083825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4900825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4901825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4902018382583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A3B9ACA0082583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A000ECC1682583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A05CC9140021A0002A801A40081825820A7C71DC5A79CCE5B333DFB9D23EB950279DEE5421879AB08520D3D855529C539000181825839009FC430EA1F3ADC20EEBB813B2649E85C934EA5BC13D7B7FBE2B24E505064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D821B000000021758BE11A2581C22691D3D969ECF5802226290C2FB98E2BC08522D5B726C1F5F400105A144546573740E581CEF6ED47A6917A3CBBEB46561E8853DA969343794D66128598A34AF2CA24D4275726E61626C65546F6B656E054E4275726E61626C65546F6B656E320C021A0002B4E5048282008200581C5064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D83088200581C5064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D1A001E8480A50081825820C4ACDA061B2B89E254BF6A3F042B6E6D3EF5CD97B86F307A203AB8E153DF026D0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FC336E0021A000F4240031A037197350F00A50081825820BF92B177D0DC0B5CD466C42333747A1B02964903003BD1B5DF67A6E7BCC29CE80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FA4B260021A000F4240031A037197350F00A5008182582041A36B5C55795882B6D8583F38AE9EDED2350345D30ED14A17A9526B62FF6FFC0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F862DE0021A000F4240031A037197350F00A500818258209F5F08A52F8D5CA4D9894E95024EC3749E6FF482D7DB3B97C5C72580F8BA9D730101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F67A960021A000F4240031A037197350F00A50081825820F6DC8D25088EF5D0B5FE1A4561048DE24F453DB517F2881B6F53DF75397704D10101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F4924E0021A000F4240031A037197350F00A50081825820F1EE3C844FF872EDC33FB3D5389DB1670AA8FE52C35B6100C5E8701DFE32F9430101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F2AA060021A000F4240031A037197350F00AC00D901028682582038637FC438B4EAF12DD62E69B39518B8216F64C9341D709A327C86DD42CD184606825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D00825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D01825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D04825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D07825820F406D1A739F08FE44EAFF70DFE36EEC94D3585F4AE681CCE57E60FE6D7423F37020188A300581D70F499907CE24F0F79445809C21A6C63C87DC88132033FFCDEB454141801821A001951D6A2581C0A875B518F66742777D9EB500DD34E692F0B4BCA64C14E7C0FE8186DA1581CF499907CE24F0F79445809C21A6C63C87DC88132033FFCDEB454141801581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14874434C41524954591A001E8480028201D81858469F1A001E8480D8799F581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0FFD87A809F9F0FD87980FF9F0ED87980FF9F0BD87980FF9F09D87980FFFFFFA300581D70309B2F030E026E92F29CBD5A97BAB8B4561966227B5F80463F90148601821A00146324A1581C2BC42C28323B63B19C8C57745426A9CC7DD5A0CC85D83D8B7D5EB584A14001028201D81858459F9F1A000F42401A000F42401A000F42401A000F42401A000F4240FF109F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFFA300581D70FEC8DC75517DA7858773560E4E2A8D930829DF1DBA72C40FC662B1D4011A0016C13C028201D818588C9F9F9F1A000F42401A000F42401A000F42401A000F42401A000F4240FF0F9F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFF9F9F1A001E84801A000F42401A000F42401A000F42401A000F4240FF009F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFFFFA300581D708CE0CC32FB2DDD1ED9C7B05B017EECF444AA2444989E60AE760730C401821A001C25C8A1581C7B4F489D06F3EA7B1743857C95A265C790A38B2EA9437559FF6E5DE4A14001028201D81858BB9F0FA200A001A1581CFEC8DC75517DA7858773560E4E2A8D930829DF1DBA72C40FC662B1D49F5820B13B86B8B7EB7E607025BEBAD0BB1F9F6C44E3A1D5C6B28DD74D38787D3EC098D87A80FF009FD8799F581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0FFFF9F1A000F42401A000F42401A000F42401A000F42401A000F4240FFA2000001009F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1B0000019180163627FF8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EE22C8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EE4BD8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EEA958258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A00246946021A000902BF031A0371966C081A03718F6509A1581C7B4F489D06F3EA7B1743857C95A265C790A38B2EA9437559FF6E5DE4A140010B5820ADB3EE7D6C39928C88197B7AFA930D2101DAFC74B09EEEECE78A6030D68913940DD9010281825820329BCA217F0292099FA1F5F091EB038288CB1056AAA7CC301C617551415A1272000ED9010281581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0108258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A003EC721111A000D841F12D9010283825820B5A3C501A58F63D300E9B203CE7F273DE758644E36BC47E035BD0A7F7C06131300825820BC29A1771FFFF2519162EBF1637219F521FAB639B29C0FC4641DFD5C1F3CAAC300825820D77C50ABD842DE59EA72812D275B221172F7C755205FC5D7C9F01FAD7E30B54F00A500818258203AC7C5CA083EDA4296A310D9CD48860448E804B5F51C0D74685F41B25AD965F00101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F0C1BE0021A000F4240031A037197350F00A500818258205A466CDB2A48B0344766F849428C019D82F594B587D63E722F3CB65BCBE5A0F30101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7EED9760021A000F4240031A037197350F00A5008182582048789F6D1F171A7E0306C54589B91E4CB44E4E3E779E3CCF44B20EB6114782600101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7ECF12E0021A000F4240031A037197350F00A5008182582037C13AB67BA785FAB660FB54ABED382B0660F731630FC94FC3FCCB5D97943DC80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7EB08E60021A000F4240031A037197350F00A500818258203304831CADEF663E75AB20CD49C27452DFD788808D267BDFB0AC5ACAAA33C21A0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E9209E0021A000F4240031A037197350F00A50081825820AB543A2FE129FDF5439A347CDC5769A7978B320A272D14B2029B6D316DF9BD820101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E738560021A000F4240031A037197350F00A50081825820C9B0617C38EAC4253837585E5989D4A060DEFFC7A447E336DCE0903003329C8C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E5500E0021A000F4240031A037197350F00A50081825820A61842CDECA334B533C12C9E73C904D6C287DA31EA5BCB645643984FD5123CDE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E367C60021A000F4240031A037197350F00A5008182582031C4B3317969D9450CA56C97490A55F3A5B7AF3D3077F4632C802D7B551E6FCD0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E17F7E0021A000F4240031A037197350F00A50081825820505BEFB011C999977D3AF620AEE9D341E5E04974BCDDEFF10F0E0A760E6EA6530101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DF97360021A000F4240031A037197350F00A500818258205E81F9CE9818BA10B897320BB483BDF1AFFC19B9220178938E1CE3B4856C42D30101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DDAEEE0021A000F4240031A037197350F00A500818258200CBF545553202E5880DEBBA25FC9E436D020F3D87F7F3A1841ABEEC4797D43FB0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DBC6A60021A000F4240031A037197350F00A50081825820EEAD7BEDED5DDD22ACE57E1487DCE5B0B5427EB3BF10595E568B9B7C3BAB34710101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D9DE5E0021A000F4240031A037197350F00A50081825820847A80D5526BA1847B297A987463CF4D27B1A5C8063A02F11293976E5EB8D1790101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D7F6160021A000F4240031A037197350F00A50081825820AC9B670A08B56789AE3832085DE6D330E6FC378D2141DFA5C32E1420E75587E90101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D60DCE0021A000F4240031A037197350F00A500818258205E07F15D52DC9B945C62809F8BD4024E56A46ED844BBC4DAF34B774FC1FAF6670101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D425860021A000F4240031A037197350F00A50081825820BA7094EAAFD69FA3F9C2943374D93BDD124D3C4B948207DB0A45B306DD3FB4A70101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D23D3E0021A000F4240031A037197350F00A50081825820C8E77D603EA30470478CB699BF633596D86B3ADD75F8BB9FF67F2C85E5A84F5E0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D054F60021A000F4240031A037197350F00A500818258203646499DA34F33ADB3A140B300B52F592F9E3B105D3847981C4E3A7D88A534A80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CE6CAE0021A000F4240031A037197350F00A50081825820CC3F7565961337DCF2EA7B4DB1D62990CCF0924FF33E53CB821ADBF2BE96793D0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CC84660021A000F4240031A037197350F00A500818258203E4DF81BDDF0568D52EB1B7E3F95999667CB1EFA8AB169B84EB21BA6C85F7D490101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CA9C1E0021A000F4240031A037197350F00A500818258204A41426D38E394E294B82BD00CFC5A0FBC9521C4EF4F22E5CCFA97B04715CDD00101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7C8B3D60021A000F4240031A037197350F00A500818258206C9C63FFA25B94A1640AAA1124D12FDEA7BA77A9EEE530B208BE7947E65D65AB0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7C6CB8E0021A000F4240031A037197350F00FF9FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584023D19F743515DA1620E6B299709153158A60DC8463D64E94886FE95FFEA86611DFEB605F40BA3B9244DF08EA6887CDA60DABD59F7D2BD51CB8CF465D3D93F404A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840F0A21CC8D2E1D1185E854B460CED341694900C04A14D8F5F283ED93CD9C6ED2BDD9D0DAFAAFE19F4F492B344F4BD53C87D9F58FBA2345786A20CA63247F8C70DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58402DA5CDFA64651B3C5A177101DFB7D5E6F13C4C8165BCA2E9FF64B7256595A7E241A0BB481ED9A2D26F4E422283F97FEA680C11BB2B5FFCD1FF9EF30CD682CB02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584047D3E0F7B436C8434003E66EBC2D23D242077572D053693E6CED783C5794F2B7044E7230915E78B08A46EF13507E650542F648CF1BEF35AB2E6F0AD345AC9B0EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409F45487796FA97E7A9D77B796741376E82AC449260A2AF451E6604942585E4567BF6891ACA09B7DFDB4AAAE3B241D12558C9038CD25AD78A53918EBCDC0CDF00A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408BFDA1A9F30423B3DBAE1D7AC5F8E211F8E88853036F87B2A6EEFED5993C10DEC097704B7DCE8522D4B00BAD7404D645BCDAB461305F23C9D97C591ED763C10AA200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C85840779F6F08529742E160EA6E9EFD26FD2D2C27E0C10A14156623A59383FC8F44578F1DEC74A1681EA93CF1BAB621832439903384607D51174C746EACEBE6847E09825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E584059828FC95F121B61BD81BED87005D8A1B95A5224F1E9C8A3321C50C5EB6803E3FAC21950E4B08736B7876B2B39966E906CCCF77626C51F2F3B7E2E46B8D1FF0D0582840001D87980821A000964191A0D903743840002D87980821A000151E21A01A82010A200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C858401127FAE81DC44C99F12A6EBF4C9EA2B0D142F042F0442000ADE7480B114F90E5A603D7AEF881A7779CEE8197230DBEE84D732336C6B5A313541C5CF057165B0A825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840254AEDFAD73856A59053EE1D10B07F797D8CEE0FEAFA64B4F9B1886EF482ADCAE814AEAAD3429669E153BD363A632CAF631E481FEA5BA56F7522729C575B73030585840001D87980821A000BFC471A11C3469F840003D87980821A0001754E1A01C2DB0D840002D87980821A0001754E1A01C2DB0D840004D87980821A0001754E1A01C2DB0D840005D87980821A0001754E1A01C2DB0DA200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C858400D19170481CD3C89CA5180D97FECC3F2BC4190F2FB7242ED885323FB12E34777F23AACE969F869AA9FB0A43F8C5B0FE9D37E6B9FDFE55E7D484E7540C283DE0B825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840D5E5266D7E46E98E0FBEF1AC3C5B1BA6E8AA6DABED630E1D965A61F126FA3E0FA79E4FC726ECA979E59EE453915D7CD7F5F9753C8D7FB7340C3D335C0E6C690C0582840001D87980821A00090B921A0D1C2594840002D87980821A000151E21A01A82010A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840BE908678C005FB4EEB0A4B20EBBB3BB3EC4E8D476745E5CA0605F3FC61F33FDAA6D98A0E33AFD0956576856FCD068A91B68BB52F8F7E468E73923EFA99978509A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409A612AAA9C456A101834E2CE146C35686C290586453B9C37B6FF302254A7066290A771063F81744F2B769AE6356821322D1B509642FA16473DEEEC1C1E267D0BA1008182582039B37B3C16B64837864B9685EA4AB037642C6DB0A7782E56CA2EE11D2E83A8825840C20B05909C7E42D1E2100DF78359EEBD5FEE52FF65E7CEAB708C66E8D3206DC3839B8BCBB39C8037454CC4E1F67B587C9C025E4E94D7B4563096A1CDDB4E1F02A100828258200DD2349193F4D73BFF8ED9FEA7965E3C44BDC098F1D91D0A2C9AF8AA525DB71B58406E415F72CF2502C41C77D34BBE7EF675DCD4706F801AF178BCAE11EB98931CF8EE1DBCA3613182AE3CB22DF3D7E363BA7FAA67BD497DB82634D60A463A5BB30F8258200ABB7B89E091DCD3201AEA501854A4CB05290862D88B6EB30AFA6DFD23F544675840A7843980D60E1F674E6391AB2FBE3597D5DFE8628DC918FDBF74C8A865B43B3974F684E03C3C985DFD20571AA05E1AD7D7C18836F6C0AFB772FBCBC00B3C840FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58404E9869F6147D5CA7F5461CAF3CBC21028DC4CDC6BEB844EDA5E08AA1871E552DEF865A16B1C97AEDEB3A9AE5EF8A4997FCF4B3F64E3A8B7D451421BF9B97280CA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A01BF2F2DF9A0F42C0993BFF69F466FEBA57928A0ADA85876BD9AA1F628F030A51F3BBD01684CB05B2E077CB2F773194F7B6454248D638802D1A44FCFE1A8005A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58402F13F16DC3FE7F383D66760D02CD6D1C45E080652669304C97399008570857E235B5B3901C1BEAF43604624B3528567250630A9994CA47B140AA34DF5AA8BF02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584072E84F9741DBB0AB25B5FC5339832E2A271CC56DF6A3484F1DDECDE1E7B0B2FF3EBDC484FD4753963F7E3D881AF8CB60C699905427D3E1962A4FA71477F20E03A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840C3D1B1935BB4AC2F76DBBF5B2A9E13760C2AB2E1299C560B345B8788E7E0CA02B2140A95BECB674D7F6CFDBA8221A2B6AE26A138257A948CFBF31AF5F6392207A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401B505A41D4994FD9C956FDC93A72B3090E4A7CED3380F7DCADC536D9A0D51DF595C5B6713761701B62543F12792D8CAE071615DA7657D5B2ED65C07F788C3900A200D9010281825820344194B638C6ACB245131928034402DE2ED0AC707FC8C9F0D53F911DD9B112B15840C569E26DB301CF8472CB37632E6A373193C7404ACA51E57CF5551C9150A213F735267A3C50402430E25EF14D0E78B3C4621129D94A70EAACB24B871536ABBF0505A382000182D87B80821A000EA7D11A12022E6D8200028200821A000B798D1A0DE066D982010082D87980821A000212341A02DD349DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408298BE152D95026BA448CF2D858D004834AAEAFDE8E5FD87607D7365D250CD5CF86811C3329B5E7DBEDB83274814B9DF608DB6A4EE9FA05457E55E4F40BFD909A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58407A69293C5136C9BA0FD523CD9E4639BEDFCC22B9188AAA080167210F29CD4175930DCB954C776DA2557960529D5847E2161663F918565471BA5319EE3E66D405A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840C4DA45C43A2D2AD7D495DF64E5BD1CD0597851DCBD54F6288F0C46CBC4A3B38DDD771D76DA94A86580A7456368204571BB58760A9CB9FA6797556B57A8565D0EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840299FCE762DD81827667E0123CED5744E86296C2AB28A53E3EB587EC94462B2B7F3A5E0BC42AF6DDD9B1B96021976D8416C0D683C244E30B733F65799B4772900A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58400A07BDFEB908595249AC9D6953680CEACDDC74DFAC0B0A4DE1FC557219A99D62CF94989391484DAA441E2BECCBB82BB097ABC7169CC0DED8979F889C20A97502A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A9E01783C2B869885C67C09C5A7063972E2280583166E32D551A2C33B82B6788CA2D55ACFAD3C71528BC628A587A67F153534E330906B3CB9B8AF97B85F8B20EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409AB0C1C609252F3CA6BB3525E3A28412015473AFC7358F6BD04989B3C76B13FD00EB2BB8AA8FE1ECCD64AEB7627D73E4EAA8C46CB52EFA2AE3BC56E1A32A040FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584078376F9AE508B59EEF52C87B93B4DE484C5175D249B6C359B9F4DFBB31A796A89C79744D3D7D6638477CA88FA6DA4ED4AD40AEBAAB05170848EFEA35E1C88F02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584055D71E3ABDA52C21F63B43C4B2FED7347D6C45CC42600D897F10028105A63A41CB9EBCD35F228C12D7B1A8FA39D93AF787959DF65A2ABF3D9656BB123A179F02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401A587EB493AB15F2790216E14DB7DF0CFC09690BE704F063F9527E99D4230B7D2A11EEFAE0E54325819406456C52744C162730584746A2281194840F31D2010EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58404FEF3B8B83C115E2C20B37922306B61E55AEB4E3DE706BCDF05B9C6DB40C151986FE9A185F0C6C84D58F81DDC26360C8A500853E5E67975EB35346527C535100A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840CBD01F9A960F076673E458DF68D88FC9048A78F27E8808DE901F4C90571A774A156EA78030AD31FBF4BC89AC5F14783B58F205EAC715E1A8C0B1BFE2FBE93F07A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840EA70C6F29285826138767DBB8B718C11BB170D808C6E035466D494DFDF911D9702AE6698B77D936F56198A124132CD8CFD88B5EFE00A1114483670CA444ABF00A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401867971104F649C06FAD5BE944B208A870A6D279D84EA7F587E7B4799905BFFB8B03677EB7F373CD42281278B4B3473289EEFF726D7509638EEDA1DF45D29204A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584094EEB09AD7D30A03A38B94789CE8420E422A39CB9167428417C9504520710A584AA659265476DE352082D649A0CD0E6DAD9FAD0F732CC8F7B508B3B688B8E906A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A276CD4CF7D1624872E712372A85A7ABBE3E49E09096F9CB4F2B98CC9C14ED681D3ABD95E89CDCAC068A2DAC42D1313EDB712C19AC116F3A22F8B64B1FBD4703A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584059CB840B9959ACA6E850FC85FE82DF8F40CDBD6001EC024AAD90B555782D82494A6DCB5995D5CDC9963B2E228412504152C3696E8330F2326C6AA9D8BFF8750DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840388DC17804A2201F71549DEA036E0BE96D187476ED0E35F7A7253746D5F7240A6C3A9FAFEDB3268A6C76979C1DF4A9526B83FDF36B812D95E964B51416D02E02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840CC70CF06159C3935CFBA88C732B1B26DA7F2E8DC5A34998EEB6DBF1C2381F5E65CAA295176CE9B1FD1037C1E8758ACAAEB7D7A0A5F49A18EF221E2C4130AFE0FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401870A4629BA5D679C9A243C4510665C218CDD150F9971E68BDB8945B22FE13680EECFACA8CCCD8B0F2EA5658C86DC30C0E8EABF574BEA28FBCE6936FD99E8306A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840EE71574DF0FFE908DB73D477339A6608267AAB7AD67C4A96CFEEF272AC839C91CBDB3E6A788A25A5CFFC069A89BD63EB5B7E17A2A23C38BB1F9F29C8A97C2B0FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A09F303775E264DCF140F3F7CF50324E3D231E7BEF5B54FA74FD998615D61A6481300BB0E3204869E82DE6CD50EBB73694C491086732CF9031A2CDF22197C603A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408B376C556823EC8D6D0AA1704DC013FE49CC645F848113370DC8672A3A56172D916F1677DE75E4A3C11EFBB2DC0C467BF569237F91E153CDD9E3C76C1DE31F09FFA306A007A008A080", typeof(BlockWithEra) ]; + + yield return [ + "820785828A1A00A7AB801A08380914582040794384E999F0F4EE0BC2B913FD72EA89EFC737F7916BA7F275C803D06B37AC58200D4C74D65763DEACF2DCE835E71073D4DC922D0C967D944FF4CF9787256B71FB5820F5F5424DD499FECA6F867A27AAD08D3A8235824AEBD27A7343685F4CBEB47D1E82584019D69E13A5E8ADFF07299179E0EAB095C89B402BAA37A3DEFEFCE9F411CB755EAE4A77DA8E1E4AC426A058C601512C5C530699D1073360AB30678E47342A85385850BEA50ECAB5716FC45E58CE4B4963C2FD405105FF9E8933823F60D5EB2A6D16D5325CF1A543E2BE2C0663292E9DEE0BEA1932FF2C0550218CA2B418F478405ADF14A927EF4F7E12FDAB99819AEA87BF0419E4745820E89FE7A26E46F81C83763DEF4D2AEA8848C2266DB6D19FDF41F40B4E126894268458203B581680EA1402919B4C02A3666209064E82AB43B5D3B973F9CD52C414D38BC51A62F135F519041B5840BB3672FA6A59A8042C59856B40983D45A72E8BD3F6D5B8CF2AB846D27568DF738E7B97A921149CDA9E202D6F72EA0F37D9A14CDCDCC96FE8D674061FA1858C018209015901C0DC1ECBAADF5BABBAEEA7790B1EB389BA97B06E9A048DEC62E07D3AC9E89E8B85CB5EA56A1D64E90202ADCE9DC684241B2DFC5B757533A27BF0583C7164E3D000CBC81A113496CC67FA12DAF4096BAA3522C2C74E65EAEECD9B0EC23E445B3ECE49F5BA079CF91E637E17992A5217958C4901E7A26EE71F920DA408DDB1F4FBE7AAF4B2DA28F5917B59F777F90CE75738097114EBB2DC1CC1ECDF556D5D5B8007181421A4796ACDFF6417300CCEABC99E500A22694D2C541A774C7462FD5B7453B367BB00FB4F73DC6B86B1C16C2CE2063878238679AB464D9435E591A78621BD9332F4383C79D06437BAE818EE2B884CE55020BF30D37514ED67CC725D3CDCD6CBBB1EF1B4123B2025E00B7C24C571D70FE8DA7441DD0F28ACC8BBEB66363F087870C97B90E1A429B7F0A526AA0587E5FAE424AD4B39A41E88A2F31F396DB0FEB7C63BD32D3A12560AF5C63AFECE41F38A3297E1B710AFE990BCC911DCF323D7E30A22B78DA5B932A8003AC0EDFC9709A73A6A8EABF3ED06D144B1A785521C54D84B3C52199E681D02415F767DCBBAE4D64239CC81665D1D1D63AEC7881AB56921B48EFB9924842BFFB8C71A8A3FD2B661ABEBBD03B797ABF72B25B5B192EAEE9FAA00D9010282825820D71CA4634F0F71F58FB67BB5C1B3653047958DD744801A8CECC0A46388E5F10000825820D71CA4634F0F71F58FB67BB5C1B3653047958DD744801A8CECC0A46388E5F10001018283583911A8D7FF5CF4C117270288372F9AC8E1CE5B758AE15A7851C41661A48CE265C8FA16484FCB09F72EEAF98AA7A0DD97B0243F28426E8122F76B821A002F4D60A2581C642C1F7BF79CA48C0F97239FCB2F3B42B92F2548184AB394E1E1E503A1582020F02A5C9FF93CD1D2C0A3C8931777A8F23856D97FF527B853C490F3615C9D2D01581CDDA5FDB1002F7389B33E036B6AFEE82A8189BECB6CBA852E8B79B4FBA1480014DF1047454E531B00000007B4DAA8C0582000FDCA533FFA4A160755B61D321EE8E0F72166C81C18A57D9CACBB1E53FABD5182583901D7A2B4740596A8095E94896E96500047BB34C836EB81247ED70C45B1E265C8FA16484FCB09F72EEAF98AA7A0DD97B0243F28426E8122F76B821A76F389AAA1581CDDA5FDB1002F7389B33E036B6AFEE82A8189BECB6CBA852E8B79B4FBA1480014DF1047454E531B0000000633967C46021A0005736007582037C0555635AB7E45EC39BD8FEB873080D036C9A67C4CDD0C85E1C5291B0482F209A1581C642C1F7BF79CA48C0F97239FCB2F3B42B92F2548184AB394E1E1E503A1582020F02A5C9FF93CD1D2C0A3C8931777A8F23856D97FF527B853C490F3615C9D2D010B58208FA09562577DD5CF215310EE8E0DCBF2D0519F7CA3FC3889656F84C4ED5FF9500DD9010281825820E18FB0F1488747D064556CAA8E2EA3BD00F14E1D888B177B94ECDE29C3A03ED6001082583901D7A2B4740596A8095E94896E96500047BB34C836EB81247ED70C45B1E265C8FA16484FCB09F72EEAF98AA7A0DD97B0243F28426E8122F76B1A00536070111A00082D1012D9010282825820C8ADF3262D769F5692847501791C0245068ED5B6746E7699D23152E94858ADA700825820C8ADF3262D769F5692847501791C0245068ED5B6746E7699D23152E94858ADA701A300828258204AE65D13DA13C0E71D23F39F4B239C03D61C37BF7E8F2DFB9FEA07FCAACDEC4A0282582002B12B1B637A967D035A663B4EB9651DE70DA112AE4FCD97EF5D27721FFE152E030183A300583911FA6A58BBE2D0FF05534431C8E2F0EF2CBDC1602A8456E4B13C8F30779DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46A011A1DFF7180028201D81858ECD8799FD8799F581C3E259CC410C7932FF0F579085CB47E882498F1AF51F1D8DB90BC14FCFFD8799F581C9DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46AFF1A00138800D8799FD8799FD8799F581C35D559D90CD4B91F024577261CECCD13478244EFF4D73ADFFD6F11A2FFD8799FD8799FD8799F581C9DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46AFFFFFFFFD87980FFD87A9F9F40401A1DCD6500FF9F581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05A51576F726C644D6F62696C65546F6B656E581A361FA8D8FFFF43D87980FF8258390135D559D90CD4B91F024577261CECCD13478244EFF4D73ADFFD6F11A29DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46A821A00626290B81E581C60FAA64709FEDE8DFFED0DCCB69DA337A5BF61EDA0C773156EA78B4DA143534B591B0000000340660EDE581CC7DCFA416C127F630B263C7E0FE0564430CFA9C56BBA43E1A37C6915A145474F4B45590A581CCFBC6B8519F252B1F1694CDBB9DF9F339B343BDD0F2079D84E4AFDD9A14741504543415348181E581CCFEE97FF8359F07A0A395A72B424BC6E030503390D864B86D4E0ECF8A1464B41495A454E1A00487AB0581CD01794C4604F3C0E544C537BB1F4268C0E81F45880C00C09EBE4B4A7A1444D595354192134581CD030B626219D81673BD32932D2245E0C71AE5193281F971022B23A78A148436172646F67656F191068581CD1333653AA3AC24ADFA9C6D09C1A2CC8E2B7B86AD334C17F2ACB8647A14842696F546F6B656E0A581CD2442FA6D08C72811D4BCCDB36D0CB35CB28F4DB4C5793EF00AFF5F1A149244652414354414C531A7D2B7500581CD3558649B7874A1A596378515F9B80DA63E73F324439EA113D34C9BBA1444245414718C8581CD3A034E403B98CBDB0ADBC8A3144D7779330916E190D387815BB85C6A144505552521A00014A14581CD894897411707EFA755A76DEB66D26DFD50593F2E70863E1661E98A0A14A7370616365636F696E7318BC581CDBF580E65F31FE8A5EDDA2B82449E4F71536524FCE84B739651A6DFBA144414E564C190960581CDDEEC4B6D0C03B6BA4C6135E8E81031748554A5626C23363878F53DDA14444554D50192710581CDE5837D0EC2EECDBAF335436A72D0C838CF0346A371A311E6875E7E2A14D3635623035616266613966393801581CE14FE3AB348F9A6198359481472601F4557B9F86984F40A186A3B1E8A1464348455252591A1443FD00581CE4BBBAA875A797578044EF27713D23DFE07CE74F33163E7C40D7F480A144544D494E01581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581B00000002EC75A16B581CE6F464202E7C89BEFD79FDD3905CA96C896772721485DFF66FD6B2D2A1464144414C4F54190BB8581CE79497F972ACB83461608D3F48281A406EE1E9F64ED168868145141EA14C5374616B65506F6F6C3234371A02FAF080581CE98165A25CD0320B25F22D686268E58E66F855B6D85974947CCD708DA146414441464F5819927C581CE9C28A71273F825B13F38244CCF1FEA97C4025813610D01A7C5D681FA14C436861726C7A20546F6B656E1A00895440581CEA2D23F1FA631B414252824C153F2D6BA833506477A929770A4DD9C2A1464D414442554C1A007A1200581CECECC92AEAAAC1F5B665F567B01BAEC8BC2771804B4C21716A87A4E3A14653504C4153481A822C1FFD581CF01EC1CB021922A491EA300FB4791DBACA720372B2A3142579C52E7DA1444B616E6919012C581CF0FF48BBB7BBE9D59A40F1CE90E9E9D0FF5002EC48F232B49CA0FB9AA14C000DE140616C68617274686901581CF28F457472E539DC75E1598A2BEDDF49CE5A717998C708F05F5DE610A1444445465318FA581CF4D97191F857096B441A410C036F63D6697DDE0C71D2755DD664E302A1434D4B411A0002C178581CF6AC48C64AA7AF16434D9F84E014D11FBA38525B436ACC338FF20B0DA1434D746303581CF7AFFF6FA2E18125FBB42DEC3514EB946776EE54B0E5143201384E36A14C5343414D497473415363616D02581CFF97C85DE383EBF0B047667EF23C697967719DEF58D380CAF7F04B64A144534F554C19091B8258390135D559D90CD4B91F024577261CECCD13478244EFF4D73ADFFD6F11A29DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46A1A04A45FE5021A00061A80A8008282582033FA2E51C9829933038FBCE80C5502343F84CF1B19E4AD22AABDB9ACF056480301825820E70246303090C76CAF02947507396D08D3649BEF6D8868371B7D5907790123EB03018483583911A65CA58A4E9C755FA830173D2A5CAED458AC0C73F97DB7FAAE2E7E3B52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821A003D0900A1581CC881C20E49DBACA3FF6CEF365969354150983230C39520B917F5CF7CA1444E696B651A000186A05820C411389BA7514B00B8019A398312A55E625616094CE789C895BBA7F75E4B95DA82583901DDAB53D5E0D31F8D2B201FF073520CB1D563A76396FEB09487C6A72CC51BBB2EE12E1E1584E5EFA9C924531D70F51A12969A9A651F3B92F71A0017FCBB82583901AD1211BD682655F9E416CFB450D5D4DC457D786FB8EAA303986641339AB2B60AD69B3935691BF57FBC1161EE7C178B4080793871179CF3CD1A001E848082583901AD1211BD682655F9E416CFB450D5D4DC457D786FB8EAA303986641339AB2B60AD69B3935691BF57FBC1161EE7C178B4080793871179CF3CD821A116BF9A9A1581CC881C20E49DBACA3FF6CEF365969354150983230C39520B917F5CF7CA1444E696B651A000502E4021A00044875031A083816CE075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A083808BE0B58209692F578DDBE5307404669259B8F9EFB5D947A3439C6AE01D215E13CB88706F20E82581CAD1211BD682655F9E416CFB450D5D4DC457D786FB8EAA30398664133581C9AB2B60AD69B3935691BF57FBC1161EE7C178B4080793871179CF3CDA70082825820ADF7CA386FDEE4D561E2D56F00300039D17FC133E1E05C69AB7658EA6232F46703825820F2BA765681F7C3CCDAD7B6A576FE0D27D00CE802AA35F31CA88BADDA8888ABE1010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF028499745143D7730652446EF9FB2C6DE6F117259AB3D9861422848119011A0328B740028201D81858FFD8799F4100581C6F26DE2BF83EC7B929CA740DB0FDF28A70B7598ADB1E42C05E1BAED8D8799F4040FF1A02FAF0801A000DBBA01A00109146D8799F581C9BE713B08B93F3AF26BFA97104963E1FBF4E46DCA12459C829155F1A46444157474759FFD8799F1A001091461A02FAF080FF00D8799FD8799F581C66CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AAFFD8799FD8799FD8799F581C8499745143D7730652446EF9FB2C6DE6F117259AB3D9861422848119FFFFFFFF581C66CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AA9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F42408258390166CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AA8499745143D7730652446EF9FB2C6DE6F117259AB3D98614228481191A001E84808258390166CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AA8499745143D7730652446EF9FB2C6DE6F117259AB3D98614228481191A4E53EB9B021A000430BD031A083816BC0758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A083808AC0E82581C66CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AA581C8499745143D7730652446EF9FB2C6DE6F117259AB3D9861422848119A8008282582075476BA33F165F1B77ECF47815DF2EE911038D3B85BEBFECFF788D347643AE4600825820808DFC5DFA6AB014280BE0CC25CD9EA048920C7B1A027D1C9C86DF8637AC5CB1000182A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B00000002947D4FD8A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A158205593D7474441491316E7E8711CF2393AEFF2C697F467FD962EBB480861C8EDC71B7FFFFFFF9BFA693A581C9BE713B08B93F3AF26BFA97104963E1FBF4E46DCA12459C829155F1AA1464441574747591A0F26AA79581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A158200A9B52D7551F26613FB17C31A034CDF542E332E1B7BD51E1E110E722DEFF76DA01028201D81859010FD8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD0658200A9B52D7551F26613FB17C31A034CDF542E332E1B7BD51E1E110E722DEFF76DAFFD8799F4040FFD8799F581C9BE713B08B93F3AF26BFA97104963E1FBF4E46DCA12459C829155F1A46444157474759FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC20058205593D7474441491316E7E8711CF2393AEFF2C697F467FD962EBB480861C8EDC7FF1A0001831C18641A000493E0009FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA20058390166CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AA8499745143D7730652446EF9FB2C6DE6F117259AB3D986142284811901821A0025AF72A1581C9BE713B08B93F3AF26BFA97104963E1FBF4E46DCA12459C829155F1AA1464441574747591A001167B2021A0008174E05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01AC008382582016469DF23E4D2FC82F11139D2664DB9CE11A1B8C64CECCF7CC320A65FA808ECC0282582021BECCF98FCD0F498A955388856FF426CDE6F411064E8B75B130E9CA5AD10DD3008258205C1DDA37B9ED3253FBC6F108746FD7555C601AF054E3C519A69E6A760EA180D0000183A300583931E0302560CED2FDCBFCB2602697DF970CD0D6A38F94B32703F51C312B4399813DAD91BB78A5EB17C26FF50852BC75D3FA7B6E9AE87232CCC101821B000000D27B283711A2581CE0302560CED2FDCBFCB2602697DF970CD0D6A38F94B32703F51C312BA15820000DE1403E259CC410C7932FF0F579085CB47E882498F1AF51F1D8DB90BC14FC01581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581B0000018060680734028201D8185870D8799F581C3E259CC410C7932FF0F579085CB47E882498F1AF51F1D8DB90BC14FC9F9F4040FF9F581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05A51576F726C644D6F62696C65546F6B656E58FFFF1B00000119CE4D5C39181E181ED87A80001A6769A200FF8258390135D559D90CD4B91F024577261CECCD13478244EFF4D73ADFFD6F11A29DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46A821A001E8480A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581A3665493582581D6137EB116B3FF8A70E4BE778B5E8D30D3B40421FFE6622F6A983F67F3F1A096B68EC021A00094B2B031A08380CAB05A1581DF199E5AACF401FED0EB0E2993D72D423947F42342E8F848353D03EFE6100081A083804DB0B58207BD36A8AF568D37F01C328B16A93C6C1A9D792E1F9AD8F48900ACCCE08FFAF410D8182582016469DF23E4D2FC82F11139D2664DB9CE11A1B8C64CECCF7CC320A65FA808ECC020E81581C37EB116B3FF8A70E4BE778B5E8D30D3B40421FFE6622F6A983F67F3F1082581D6137EB116B3FF8A70E4BE778B5E8D30D3B40421FFE6622F6A983F67F3F1A092868D7111A004C4B401283825820FA46A1D162C59CECE3308C5A9D4DB9FF2EA17F9C0146FF821C9B445588B017C900825820F5F1BDFAD3EB4D67D2FC36F36F47FC2938CF6F001689184AB320735A28642CF20082582008650CE0B5040288C8EDE0F645150035ED95D05A3317A4450797AE8A7AAA9C1000AC00838258207B15232C468F3C4F89C23E77588BB2FC3FA5125CB7D061DAB8755F05B7406ED501825820C4A23631E85681C62BEF609DEBBDD69254CC6D92A7C6C093E68EF5C0CBAE231703825820E0ABE0485E158FA3E3BB8EDDDD1F13583039D60C66751744B1C087513D69497700018383583911E1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC133098EBB5F8F7381652644E15C3E734787E6E0EC469BA08A2EDC592164C8821B00000064160998B9A4581C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB1A15820620719C204A0338059AAD43B35332B9353216C719901C8CA9F726AE4EC313DA501581C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62FA1474D494E5357415001581CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D86A15820620719C204A0338059AAD43B35332B9353216C719901C8CA9F726AE4EC313DA51A109FE41D581CF43A62FDC3965DF486DE8A0D32FE800963589C41B38946602A0DC535A144414749581B00001677D00607E65820D1280D883304C4BA6A4FAA6CC0CADDE62BF5E0A946C984AFC0160A7EC6886A0B82583901CA5D9E971BA87CE0CE333A464A8F7C1C6650B8A6A28C4DCCE53B566D28B8C1ADBEFB8692970A8A473D45C30DA47FAA716C7026B0ED362A76821A0CB4FB5EA1581CF43A62FDC3965DF486DE8A0D32FE800963589C41B38946602A0DC535A144414749581B00000002CC8CE2A382583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821A21A7961DA1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137333532303336303030303001021A000D6058031A08380CA60758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A083808BE09A1581CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D86A15820620719C204A0338059AAD43B35332B9353216C719901C8CA9F726AE4EC313DA53A49084EDE0B5820493DABC125EC7791EFC3EBF8F2503BB97D66A1D0D54825926C5C39382DAC4EE40D81825820C4A23631E85681C62BEF609DEBBDD69254CC6D92A7C6C093E68EF5C0CBAE2317030E81581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D1082583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821A214A6640A1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137333532303336303030303001111A004C4B40A40082825820F6CC694601F5E461823D710B823061B630C5E5861263A5D389398AAE4B093B6C01825820FEF04950A7B84AD077E9AA4A29AB394422EDF37DB56B3398515CF4C708DF8D9900018282584C82D818584283581CB482D43264712073397074B55178AF02564116380BA50F90FECD446EA101581E581C3083349ABF53EAE44190E45084E76C56A191A43DB3A384BE5D41763E001AB99DDF331AEE6B28008258390179C35D03FC61F4725628C0938A2F6919E12237B937E856B853984332C6A8F9D4536851B5BBF85CD03C644A99D0A1812568EF5655D17DDD001A002BE90E021A00029AF1031A083824E4A80081825820F78035C070DD92AB6B390199B3A9917009F0E8A10533B9E89DE8E9E4915D53FC00018182583901E6D3410BE0B3D51A52B874983BC6F0E48BCF4274352552E683E1C211B91D1FE82203DE4C0DE2C150746383A893CD21EB1082565252AF63A51A1E05FB8C021A000472740758205FE334C433C9411577A9E1112EB90506D6A99989450FF7EFD9E4F47B6831571D0B582015CB7EB48CC5A530D97DD9435630CCC9CE3814752A3A19DAA8DE49F75765405E0D81825820D9B160EB51500AA358DB25CDD5972098A638A6B5D0CB9BC3EBDD58B0EB611BBC000E82581CE6D3410BE0B3D51A52B874983BC6F0E48BCF4274352552E683E1C211581CB91D1FE82203DE4C0DE2C150746383A893CD21EB1082565252AF63A51281825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A62177600A5008182582026FDE0E23C15FDCB0FCA7DD6200228763EEB9E99D6CFC34AEDC55BC1B1EA2E400101828258390164DBE802459557B06A71D6310AD8D43FF3B76ACDF16CCC6DA6806EB8AB1349EF5588B03F3B749284268C5723BC1EB0265E67E436B4AA63201A3B9ACA0082583901DE744AB8DB2EC34FF560575D26406C0E821A46DA1C94536277FF3A369B806E67473EDDD2D378C568BD99E378BCD4BB5EB7A88C86F0B0A6BE1B00000001D497956D021A00029285031A083832AD0800A6008182582091296B50A7872916C132B564801F44C6F4AE63BDFF575F3DC9B9F35655C0A3E0000181A2005839018C1DEC90926A025330269B9486D4AE2899C66EED9C2A4841BE36D9BFF4EFDE4D6ABF779BF9B3BE7E7297AE37EB4988870B6687DC957B8AA8011AF241D3EC021A0002A935031A083824D6048183028200581CF4EFDE4D6ABF779BF9B3BE7E7297AE37EB4988870B6687DC957B8AA8581C556E4281187CEE08332AD1ED2A0E910B05E0850A2D01A1A9AF848D0705A1581DE1F4EFDE4D6ABF779BF9B3BE7E7297AE37EB4988870B6687DC957B8AA81A00BFFFAFAB00838258206FE8347BE9D7A78982403226242727DFE9D9513FD3101BAC2FA48E839C3640D20282582074EC4E2B1333F2A0C32B0A53AA9333D882CB99C9BBD7FA4C787D16799E01DB5E008258209226EC92F97BC52CB222233BC928DC5BE128A163FA3510D83157B8FF3058EAE000018383583911E1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC1330952563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821B000000367F065441A4581C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB1A15820F903A9E6E085799E438B9499355664A3E04DC6C42D528EA1573A9304CB15545601581C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62FA1474D494E5357415001581C2ADF188218A66847024664F4F63939577627A56C090F679FE366C5EEA146535441424C451B0000000E6DD7E632581CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D86A15820F903A9E6E085799E438B9499355664A3E04DC6C42D528EA1573A9304CB1554561A0052D7EF5820DE005FFA810AE382C2E93CD68347C9D8B4C482793CD3E13F55009E5084FBDDE4825839019C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD1A0E1AA8C782583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821A28AD6810A1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137333532303336303030303001021A000BC135031A08380CA60758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A083808BE0B58203699529E1084325807F432BF4017E3227AE44FBF32FD2835FEAF097D2934AE4B0D818258206FE8347BE9D7A78982403226242727DFE9D9513FD3101BAC2FA48E839C3640D2020E81581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D1082583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821A284E5985A1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137333532303336303030303001111A004C4B40A50081825820E88F77CF1CD032B7409FDC297E6F74995B57104B15A40CEC5E4507E76FE10C55010182A300583901F20E68E2D04BBCCB24F67AF30E572B25BD3F5A74B92498F88735020AD253C7E8637FA40124E64C9078FDC67AF69AA47A1A2B1D5C3F7189FE011A0243D580028201D818588FD8798458183637313265323964366361383234316461373661326133315F5840616464723171387A7179676333647364336763706A68636D6E753374787575686A716772686E7A637A6566736863303666366E773337637A737371386C38643958277632366765646176357175766377336A776534643561656E703578323939713371327468733370FF0143414441A200583901C40223116C1B146032BE373E4566E72F20207798B02CA617C3F49D4DD1F6050800FF3B4AC569196F594071987464ECD5B4EE661A19452822011A0CD247B3021A0002ECED031A08380B2A07582019F4F2AA9CCE01C6470D4D840A05591185453122A5DD5972B967CDEFD3C92BF5A50082825820A40B3F24C3B91D7DBEE3AFFE0A37C6BA96A463146C8A01F4E53371A5049FB08E00825820F9BEB6C20D1047E3A0F7EEF4BA4BD41B74E6A70C477D3688DF14B3A86FCEA62E00018382583901C00EBAC15201D17E2414AFC03C53DCF3F0968CEF649FB17645537D4DDC9AFD35D696F96C81666249A2E0F989B64700EE4645A08738397B05821A0011F436A1581CDAF494081CBB6872C6303D04697E5D10D4DB8A69E4229BEDA69DD0AFA1494352415A594D4152591A771B3C0082583901AF65D81DF78E479805C089EACDC5A04AFE25F156189D746246779C22F7A64CA6DF4A47629BE6F23CA8E6C62E21662F77888E9E85FEED732D1A4309B18E82583901AF65D81DF78E479805C089EACDC5A04AFE25F156189D746246779C22F7A64CA6DF4A47629BE6F23CA8E6C62E21662F77888E9E85FEED732D1A004C4B40021A0002AB71031A083833000800A50081825820EBB2703912FF55531D44B5D7FA229999A16334784372C25FC0BD233D9FEFA8EB01018182583901F78667B0BA4FCBED74D7F9EB4FA4044ECABF75DE6D5961C4BB4D58FB938D3511336735AED4B46E7C3E9EA8D634EBA0A647C3638D2EBA0E741A08983F7B021A0002AC35031A083816CE05A1581DE1938D3511336735AED4B46E7C3E9EA8D634EBA0A647C3638D2EBA0E741A08026108A500818258205C754294A812B74C0DCA480D3264A9968477A5335B47AC11C855F4690E41B98001018282581D611423D22EA96D09B88162B1B7A9A88DF1BFC2AEC37CD805428D6A0D331A00192CD3825839016587373D9061CCB04799038A7607E72BD4B2E496068E20235D492B80341653AF4C4A6E11986778C1710C922F9D70674DD463024B449E9B771A00D5D176021A00028D05031A083832AD0800AA0082825820071893FCDB9298B8E5450C1B4EC44419688845304BF620CBF0E5BC64BE9EA94B018258202113831A0278406D904DCE11F94ED30902D113396507889B53CD3EDD40D4226000018382583901ADB1BF6A51B20FF1B8450726EF3891BB0E153D5BF47783375E2134AFBD6A096CBBA5E259946798E948403E2D2B3D9EA88A12EE8E7AE94497821A001D1870A1581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A24568764144411A0052D0FC4568764D494E1A0FC2C3728258390121224F56AEDFC01347DAA2276EAB9772F0B323ACC3AB25027665A999B74BBB0DBEC032E4890D9263B53048BFF961FFFC683B8664269D880B821A003E7F86A1581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA15820377949FB80C44AB5647E7609BEF787C344A1EF079E47E66A23D0A1CCF8F11FFB1A30AC002C8258390121224F56AEDFC01347DAA2276EAB9772F0B323ACC3AB25027665A999B74BBB0DBEC032E4890D9263B53048BFF961FFFC683B8664269D880B1A00E478C3021A000496AA031A083833040758208CE9116D1D99C06C82481E4DB025D74EECB42C0CAD5B25AC0FB2140FBD5EBD3509A1581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A24568764144411A0052D0FC4568764D494E1A0FC2C3720B58201868A456653BD60ED70D52216E2946375FD1527442C174F2379083F94C532DF40D8382582076FC5AE282968A9690C728C036614FBC506FD5932E9C9A29B1053A6C243045180382582076FC5AE282968A9690C728C036614FBC506FD5932E9C9A29B1053A6C2430451804825820F51B0CBC3405A6A83210F95412E9B275593F88FF40F9DF25F02E11D8F2287879010E83581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67E581C7FE3920105A0AEBAAECC1B935CD5EBBD3CC8C28336449D27378825E1581C21224F56AEDFC01347DAA2276EAB9772F0B323ACC3AB25027665A9991281825820A598AC624F82ABF6E49A6F3562489E373B18F8F6063620F2C905A56AADF91C5A00A4008182582021776AA18CB033CD30D11122D21E57D553A52340C3197FB1E9B141D300C536C201018282581D61C742834E766816A25FF348F9F2D70A82C5445B6963EF349F9A773F801A06D06D0C82581D6195FF8B6099C617C17596534B7050394C6ADC23EE3FBC969C954A16D91A1756C4D3021A00029D2D031A08381476A4008282582095BC25393EA8CCAC22A596536C3C3644CF607D3D1DEA4F195B63E870AE2CB80601825820AA33AA513B9274D5CB0E11AD236EEDE63C05EED11C7616682531334CE6E52B45030182825839011AF96D0B100D445FFF09B90B0953DD6339EE365970D8CD55B5557BC753C5CE4412C2166B040BB2F5B33F0F5F80642C3A55B4F7CD016AC117821A0011D28AA1581CEEFC4EFC23FD4A059AC22391DB13460CAF37C37D82C810F64A4C2157A14B43533233434C453032373501825839011AF96D0B100D445FFF09B90B0953DD6339EE365970D8CD55B5557BC753C5CE4412C2166B040BB2F5B33F0F5F80642C3A55B4F7CD016AC1171A01514EF4021A0002CDFD13A18202581C9EE3B0CE6C5999FD817EF8670B6DF8FDD7BF4D08A877E05BECAAA540A18258207FD6429ADD8F2611AD8D48C0CC49101463093AEC285FAEA402E8CFDE78EA58D7008200F6AC0086825820805E9634D520524230AB7E0C057318DC00A8FF389B0224736476B55E0D4CD95401825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE00825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE02825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE03825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE04825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE050182A300581D71EB256D514BA7ABA381CB3C39983F38DF63EEEE2ADBB0F22B6B6B8CAC01821A00E4E1C0A3581C25C5DE5F5B286073C593EDFD77B48ABC7A48E5A4F3D4CD9D428FF935A1434254431A019F1D9D581C9683F95C869CDEC9F6E640F72057C5B167B414A5486AD01C23322010A14001581CD196C3F492412878C21AAF916EB980C9F3CBEE7CE04AAD6FF9A6FA2DA14004028201D818479F0000000000FF82583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1AF6B0B75F021A0006163E031A08380C42075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A083808BE0B5820675B29B1B442E613C0BEFFBD1E38498F47CFC07297FCE6F831442C23D62321DF0D81825820805E9634D520524230AB7E0C057318DC00A8FF389B0224736476B55E0D4CD954010F011082583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1AF66A825D111A004C4B4012848258203EADF90811FCB72211E6C2CC8DF629765A9145B509F939E197367D5261DFE4250082582057CA4F6635E9BE3DC41BBFACCB453BA367D6EF4F3CDA19745A1F13AC8C56AEC9008258208F5FC7AC3FE77CCC711D832889E01159D800790066EC8BEA478B1F312195ADA900825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE01A4008182582046FBAC70EDF508CE79A6AC592582C88A7748688895186E14FCA925A4A55FFD77010182825839016256C671B1B207A8FFD3D470DA947B59EF76EC5CE89120C3E85F3A5551C55227800D183C7A628DD329F2F763AE5C6B4191E2ED4CFBA0EA701A000F424082581D6179E67550B2FF311DA1883AD0CCC6FB2BB7C75E5489ACFF735FCC68781A006177C6021A0002CD30031A083816CEA7008282582065ECAC4A9F58AEB0410DB94EEA474186BC3879AE1B3C41D382064BA43EE511C1028258209226EC92F97BC52CB222233BC928DC5BE128A163FA3510D83157B8FF3058EAE003018383583911A65CA58A4E9C755FA830173D2A5CAED458AC0C73F97DB7FAAE2E7E3B534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD821A003B11F6A1581C1AD4F068A49BBF0D4F05335CADECA0519CEF34CC1B2BC35B2E5739AEA144434F434B1A01459DD2582097AE4B773FA895950527B41AB327AC09B4A7AEFFDF921DA886651F57881F948A825839019C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD1A1476FE00825839019C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD821A0011B0DEA1581C8BCCC55DA00A21D93A332624E77964C0F49D6C64EA3ED44CFA718E79A14553504943591A3972A4A3021A000309CD031A0838330B0758201FEB00F18FBE772CC375AA495DA0B08D837A719671E68DA62F8ED658915D8FD10B582042853B17E21DE07E61F9DCD9D54B44C76A49D605F360E99663D1B4C64DDC5DB91285825820209DB488696B6E6066F92FC65ECD73E03E72F7DFD0EDBEEDD0D99148348BCD1200825820FF70EA91F20104535C385F28233321B90E34EA8D7BE28424F598ECEF43F7FBA50082582022D58E2097869D6CE929999C1BFD3DF0B4B717C33FFDE9BC0E3C0CF6DA18528E008258200EFBA74DFE554D4318BEA4A0C30FEC112EF934693F7D3C37EC6BD49F07034DBF00825820B90489510FFBB1B40666A8A8566D8734FF4D3FF19191AFD3B1C87EC5D1BD21B100A6008182582088A846D719ECB0DE9EF9F4C6412EC0E249B0FBEF1B98F3477A183F9EA7C05413000181825839017080D6B58158A0D22B017145F479C71873DC2A4DFCC3DA9129284267834A6CD48C168AC1199E3FBC39AEA07DBE1D204A753A06F652EAF4A21A1C8EDB19021A00029E8D031A083830E305A1581DE1F0FD663058D4815B3E4D4BF918CA3DC6E634908FE07F1B8D9991BF191A01546A180800AB00828258209CD463B9EE5634B57D1BF5A99A3FE90790F2D3772F870661EA802C7D525C305E00825820DFE25C69CBDEF6157ED5BDC74F87D274AD3BF0301AE9FCC9F344D5F86A225D2C000182825839317815664DDCF92F023C9F6E7E0792D6B2F733282486993613E549D8B6E2667F1ABA5F840845F1DFB453764A774C2B67DD7C0D968C5C172480821A00128BBCA1581C1D7F33BD23D85E1A25D87D86FAC4F199C3197A2F7AFEB662A0F34E1EA150776F726C646D6F62696C65746F6B656E1AFB30F268825839017B231299AFE68416E5BB97156153BEBF1621FD34001B2CFD49F75DB2D7D361E66CE9B79337EF08B5F563806178AC81B2AA08156A460C245C821A0094E005A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581AFB30F268021A000394CF031A08382FCE081A083804D609A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581AFB30F2680B58204878858A2940F3F2017A11D9BE8F7582F9DE78D186EA728FD2A7B0616B4BC9290D81825820DFE25C69CBDEF6157ED5BDC74F87D274AD3BF0301AE9FCC9F344D5F86A225D2C000E81581C7B231299AFE68416E5BB97156153BEBF1621FD34001B2CFD49F75DB210825839017B231299AFE68416E5BB97156153BEBF1621FD34001B2CFD49F75DB2D7D361E66CE9B79337EF08B5F563806178AC81B2AA08156A460C245C1A00618A3E111A00370C42A70081825820C6D0E1823605A005A83D5E3BCFED9CE36620C5F24419ABC4B662F080A209B22E01018182583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D4821A00372991A1581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC924A14579756D6D691A0009A77C021A0005DF6F0B5820B357335BA1DF1FD3466A660DF0DDF3E7D04C7DE4832F213321381B1E27DDBAFD0D818258205184F3F2F4BF2B0F40678C6FDC76453DA346E716EF089848DCCDF9F368E1613F000E81581CAABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A41281825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A62177600A5008282582002C389B8577967ECCAF7D76133D0486157C6C2C6D7FAC1D2932AF231D325C1AC0182582004739A3E5215FBC4C6D824EEC8CD7588C2C013E9BA123AB45A2B8ABECDC9146E0001828358391100FB107BFBD51B3A5638867D3688E986BA38FF34FB738F5BD42B20D5111E9A698B7F8D63031E4EC827564E2912AD23D91C2E048B99F21C08821A00286F90A1581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC924A14579756D6D691A0009A77C5820FA09F2324411E03783965EADCA711801DCC6B277247248C005E0F0A4D13D983882583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D41B000000012DD2F070021A0003CF0C0758206033391D0D8FA0D485E774F366FA80E36788CD14AC8A62FF54026FACADADBB9E0B58201AAA642586D1E34E7FE0A4E81D7F809FFAEB6FDAF0F88FC8EDBF6EE66B655341A60081825820C6D0E1823605A005A83D5E3BCFED9CE36620C5F24419ABC4B662F080A209B22E00018182583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D4821A0034148EA1581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC924A14579756D6D691A001494FD021A001095920B58203E35CF300F6E10CE1C26A6A908A225429A014EFE676FF257CDD86B0DDCEB055F0D818258205184F3F2F4BF2B0F40678C6FDC76453DA346E716EF089848DCCDF9F368E1613F000E81581CAABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4A5008282582004093A2A9DE4F7E7BA3D22360D29B58A37468FB321515E519D26ABAD35EFCB1C00825820C6D0E1823605A005A83D5E3BCFED9CE36620C5F24419ABC4B662F080A209B22E0201828358391100FB107BFBD51B3A5638867D3688E986BA38FF34FB738F5BD42B20D5111E9A698B7F8D63031E4EC827564E2912AD23D91C2E048B99F21C08821A00286F90A1581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC924A14579756D6D691A001494FD5820585F8B3295B6D657C87EDBA2376FE1ED9093C72F214E7FD0A7EF7E3029FD4E9682583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D41B0000000116730044021A0003CF0C0758203FACB21C67A70FDADABC73173059A1A84628941C7FA609B8B077989EAC7EB44D0B5820D5C7E039A81D0D6279E2E63F0B64DC44317CCF717A82F929BD65AF63F7749C56A4008182582026DC8D922F4DE7FAE0562A2F143DBEAF46B7E1C552E8179F31FE79F49AE68DE20101828258390192BF5564919EEB33BABB342853745C345803C6ECF58097EE24AF45C492BF5564919EEB33BABB342853745C345803C6ECF58097EE24AF45C41B00000003F5476A0082581D61F73D3776F2D25E2B561BCBD7D3FB660B2AD8AD2D5FD39D7D8DDB81011B0000008FA76D4B4F021A00030305031A0838260AA40081825820B556B92BAE58B46DE127B3C7E262E3546BD030A72F22FD1D5324401C9248DE9601018282582B82D818582183581C21C3150033DCDC1893A2E9EC0DDBB94DC57743179DD32F56D224606CA0001A2B8E5A401B00000001BF08EB30825839011C8BD74D073DF06B61A634B17DA1D8A5AE38D18D08D18407B7863E541A25EC904E81C153117B59AE07AAE69B494FDEE6EBD09C939BEA9E0A1B000000059E5BC320021A000D5EF5031A083824ABA50081825820356F568DBBF0975D66C0CEA729A92A97413C37BD2B61F76DE98DD82EF11DE472010182A300583901F20E68E2D04BBCCB24F67AF30E572B25BD3F5A74B92498F88735020AD253C7E8637FA40124E64C9078FDC67AF69AA47A1A2B1D5C3F7189FE011A017D7840028201D818588FD8798458183637313432613630366361383234316461373661653932335F58406164647231717961686A303433736761647763637A383567377333386D3368736D6D396C6675647579377433653075716D7A786B356739793077303470756A7758276A6D757964766E347A74336A6B657A6E7A667378707237746578786C71656D637368767A733761FF0143414441A2005839013B793EB1823AD763023D11E844FB8DE1BD97E9E3784F2E397F01B11AD44148F73EA1E49D2DF08D64EA25C656C8A624C0C11F97931BE0CEF1011A022BCC79021A0002ECED031A08380B4B07582019F4F2AA9CCE01C6470D4D840A05591185453122A5DD5972B967CDEFD3C92BF5A7008282582014D0C4B16D626D5A907AA74A48EF686323F32AE8ED10A2FEEDF052FBCA068707018258204984E392303A694A13615A90A5AF71BC9FB4F6E643F7920B76F6805972E7104301018283583911A65CA58A4E9C755FA830173D2A5CAED458AC0C73F97DB7FAAE2E7E3B534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD821A003B11F6A1581C25F0FC240E91BD95DCDAEBD2BA7713FC5168AC77234A3D79449FC20CA147534F43494554591B000000019254D3805820BBB1FF2AF477EBE2561958B732508A97D1170A7D13A0CDD9056C0C84EC9F02E6825839019C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD1A14802EF3021A0002F845031A083833280758201FEB00F18FBE772CC375AA495DA0B08D837A719671E68DA62F8ED658915D8FD10B5820130E5BDBDEE9912845C2F4898D4479F33BBDE370691A6CFA6E08D2AEA98B28D71285825820209DB488696B6E6066F92FC65ECD73E03E72F7DFD0EDBEEDD0D99148348BCD1200825820FF70EA91F20104535C385F28233321B90E34EA8D7BE28424F598ECEF43F7FBA50082582022D58E2097869D6CE929999C1BFD3DF0B4B717C33FFDE9BC0E3C0CF6DA18528E008258200EFBA74DFE554D4318BEA4A0C30FEC112EF934693F7D3C37EC6BD49F07034DBF00825820B90489510FFBB1B40666A8A8566D8734FF4D3FF19191AFD3B1C87EC5D1BD21B100A50082825820F62F87B6B14F959FC7E789FB9F23C663795BEE94A8EBB6CB76CEAC2FC16F75D001825820AAEE34358F9770A3A976C763B87747AD1C1A9A033A7360A3D1B1E84981E531B3010182A200581D61D0511788B6FAD3B37126BC8A86798FE27DBF7D9A4708EC2DD2293B64011A77359400A200583901D869227BC868082AA2DE9288DC398A4FEDC0E0B2697587F3AD02821C8C67D45C7985D949C6D809F3D7B2CE5A3F5DCE87941D8FDE78B6BCC5011A301AFBD3021A0002BC1D031A0838251705A1581DE18C67D45C7985D949C6D809F3D7B2CE5A3F5DCE87941D8FDE78B6BCC51A040742BEAA00838258201FCC9E54B7D94EB281A37A7F7960B1BD2BE629B46F35AA25023CD6D3945814D701825820F227CDB47C97C79D74822822CABCC73542F58874106D28239F55B8410922274F0382582048F014995AC66809720F237DAD89D104F520B5DA76E140488005C035D95E92C0030184A3005839310324D25A919BD2DCF76B61354E6E3215CB6D4799274053FA3BC7F0C819971DFB46A7FA611DDF545EE84DABD741454C4837669DE8322D7181011A002625A0028201D818582258202F58B2228A5D13AD466FBD01F40DA1AFF14355F8717D694A3A7923C0D6186716A300583911D064690601080228F9CBD54CA70A1590E9498C913B9FC7CBD845E888556F1BE107AF5E2ABD057F32E413633CFCB7AFC5C8AB4786FE4D2EEE011A0F420C66028201D8185854D8799FD8799FD8799F581C68A2ED23060E3A20B2E708E4DFA20AB97C2A88148EE08E68CC87ACA7FFD8799FD8799FD8799F581C556F1BE107AF5E2ABD057F32E413633CFCB7AFC5C8AB4786FE4D2EEEFFFFFFFFFF8258390108FCE0D35E765086C597BA6A45A18BF9703F77E4B7ECA40B522D1C3B87F8F5FFD504C19F4B5CDC85597782557D8B484DEBC6B09FEA86D97D821A0011C1B4A1581CECD0970CB2D599A8BDB61F6EB597E25EAF34D76BDF8ADE17B6A8FA59A14A000DE140534832303530018258390108FCE0D35E765086C597BA6A45A18BF9703F77E4B7ECA40B522D1C3B87F8F5FFD504C19F4B5CDC85597782557D8B484DEBC6B09FEA86D97D1A041DCB09021A0006B29D031A08380C870B58201044A50D847249CBDD574BAB1AFDB694D3B39705F049FF7C2CA3805B14209EA00D81825820F227CDB47C97C79D74822822CABCC73542F58874106D28239F55B8410922274F030E81581C08FCE0D35E765086C597BA6A45A18BF9703F77E4B7ECA40B522D1C3B108258390108FCE0D35E765086C597BA6A45A18BF9703F77E4B7ECA40B522D1C3B87F8F5FFD504C19F4B5CDC85597782557D8B484DEBC6B09FEA86D97D1A0D43D6E6111A000A0BEC128182582028FAFA82F633524BC216F55D2CF86C0BAD60D50971399EAFA0E9BE443782C86C00A50081825820EA884D33CA0E856F64E451BC1A3A3F1AE7C003D9AE50B947E9D68C6FD126FE3A00018182583901760B30D52215063446582CBDBC85BF27554C4889C21CC62FE315E1E6787182F46DF171AA84BD4A1ABBC441E86BA69B792CDCB0B643F0B5B61B00000074675822F9021A0002A98D031A0838250A048282008200581C787182F46DF171AA84BD4A1ABBC441E86BA69B792CDCB0B643F0B5B683028200581C787182F46DF171AA84BD4A1ABBC441E86BA69B792CDCB0B643F0B5B6581C6B51A5AAE5B4B5F07F38ACF12816B4F8A558EE2840D0DBA69040AEB2A500898258201E404FF612561A9B8AE8E2352C6BDE8B2DA01E9830AABDBA76EDDFB2D717912D00825820659BC073ECB8990DF7556B1CEB2D75451FAE6D40C4BABB0B6C197FC11063628601825820659BC073ECB8990DF7556B1CEB2D75451FAE6D40C4BABB0B6C197FC11063628602825820659BC073ECB8990DF7556B1CEB2D75451FAE6D40C4BABB0B6C197FC110636286038258207BB5A869FAAAF6D901B45D5FEE5EEFEB0152E221A78F6AD7AA62B1F980DF59E0008258207C0D65486FF4733904343DD87D976EAC2821502EB4BEB8B64ED392C3F025A40D0182582086D78E5931C4FB214BE124EAAB75944224DE12828BF4FCF355A6E0CA10AAE1900082582094F37C3F9E59129B6CD5E62B1BAD03038905FE472194214958AF1F04D2CEA472028258209D7DC5C25204466293FF89825AF6F82B4021E2E68548F4EC98BE5857F599C87F000185A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4C8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C7301821A8AF8430BA1581C51A5E236C4DE3AF2B8020442E2A26F454FDA3B04CB621C1294A0EF34A144424F4F4B1B00000014F46B0400028201D81859013AD8799FD8799F581C2A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DAFFD8799FD8799F581C2A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DAFFD8799FD8799FD8799F581C8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C73FFFFFFFFD87980D8799FD8799F581C2A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DAFFD8799FD8799FD8799F581C8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C73FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C5820B68D128216CD07EE83667F1F5D2B65999B034161D88FADA290EB5A9A6960C456FFD87D9FD8799F1A8ABB447D1B00000014F46B0400FF1B00000003555DEA4ED87980FF1A001E7A0ED87A80FF825839012A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DA8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C73821A001B1E86A1581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1A0FF076A3825839012A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DA8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C731A0035A943825839012A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DA8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C73821A0045403EB3581C11EBBFBFD62985CBAE7330B95488B9DCF17ECB5E728442031362AD81A14E48756E677279436F77233431353701581C12D5F4FEFE222D52A4FDCEE56F4B272911D7C2202B068A08EBF53270A14449414D58191770581C27028ACD474F8B7CDFAF83E775833EEBB63628E752521954C67054C0A14C4D6F6F6E506F6F6C3038383801581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B1902EC581C3B07E0F2A262FA1436DF3C91E420D57AD9FD46AA04377EC80A05EE3FA1581B4D454C44204469616D6F6E642048616E64204E465420233336343501581C51A5E236C4DE3AF2B8020442E2A26F454FDA3B04CB621C1294A0EF34A144424F4F4B1A306A00FF581C533BB94A8850EE3CCBE483106489399112B74C905342CB1792A797A0A144494E44591A0EEFEA91581C5D6C6940C0407B172436B71E2C0655AF7DBED9559A96803A8562E58AA14861646172616E636801581C86EC26A91051E4D42DF00B023202E177A0027DCA4294A20A0326A116A24D617175616661726D6572353938014E617175616661726D65723233333301581C8D579C9F878972D97DE1513A72091E125EEFAE18DF1F97CF1E892471A147304A344A724F4102581CA0028F350AAABE0545FDCB56B039BFB08E4BB4D8C4D7C3C7D481C235A145484F534B591A0213BEE0581CA2944573E99D2ED3055B808EAA264F0BF119E01FC6B18863067C63E4A1444D454C441A0016E360581CA4430A085F45BCA6399BEC6BD7514EB8C2FCE1ED75C7554739CFC32BA140181A581CB122B2FC62557DF9C3FD0B5C62A4B2C970A0D711560E0A8DD7B264F3A140184D581CB316F8F668ACA7359ECC6073475C0C8106239BF87E05A3A1BD569764A14578565946491A02365F05581CB76DE2BA611586D06EFDBDFB58A31954F2B61DBCFA87E4335FEB5E28A150536561204361742D7461696E2023323701581CC8C711A3DF70956C397CB92E1705B675B18652723CFB7F72CCD59F2DA147434841524C4553192710581CD6EA64DD658ADC56FCB553AF88DB495A423D4573DDB3BD4803DF6AB5A14B313439393830303535323701581CE3FF4AB89245EDE61B3E2BEAB0443DBCC7EA8CA2C017478E4E8990E2A14974617070793131363001825839012A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DA8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C73821A0012BE3EA1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581B0000000F61A8197F021A0003CFA1031A0838331F075820270CD2FFE467D9088942FAB7E62AF5C6F2D0812F6925DFF02A8ACD5D87141B0DA6008182582027B9880346DC03E17AD8E03A197F717AFD6E984A5DB3F1C951CE54C4C19FFDAB010181A200583901D829E2C95C2DC8EA617AEE2DE93FBDE74FEDA585B7CF0D47149594C3DF7E4AC96E421B7F6AF92F311C9446BF87D9FF77EC44AC9D1B34ECE2011A082E8F1B021A000334500B58209DE481B2E5D88B8A476FC10D776BEE896DA9F64DBF2042D9A2F7484960E413BF0D81825820CF76557757F22564ADD5C5F88936803A5FB865C21A8B6A36289B909C0DF401D8000E81581CD829E2C95C2DC8EA617AEE2DE93FBDE74FEDA585B7CF0D47149594C3AC00828258203058D9987906E0E81D6F0BFBAF8AAD817C6B82B4F98C42E08B0FAB31280E6A8201825820D47ADF5904DF9473C30FDE007ECF6D5B810318887FCEB2A4442402658A8C262F000182A300583931E0302560CED2FDCBFCB2602697DF970CD0D6A38F94B32703F51C312B4399813DAD91BB78A5EB17C26FF50852BC75D3FA7B6E9AE87232CCC101821B00000677BB27F578A2581CC48CBB3D5E57ED56E276BC45F99AB39ABE94E6CD7AC39FB402DA47ADA1480014DF105553444D1B0000024EAC8D3F7E581CE0302560CED2FDCBFCB2602697DF970CD0D6A38F94B32703F51C312BA15820000DE14064F35D26B237AD58E099041BC14C687EA7FDC58969D7D5B66E2540EF01028201D8185883D8799F581C64F35D26B237AD58E099041BC14C687EA7FDC58969D7D5B66E2540EF8282404082581CC48CBB3D5E57ED56E276BC45F99AB39ABE94E6CD7AC39FB402DA47AD480014DF105553444D1B000003CF6B52A71F1414D87981D87981581C0BC4DF2C05DA7920FE0825B68F83FD96D84F215DA6EF360F7057AD83001A2200F4C0FF82583901A55F28E5EA668602C69F0975A5B51D68BE87763360F63277FFE6DD7D0BC4DF2C05DA7920FE0825B68F83FD96D84F215DA6EF360F7057AD831A00813AF3021A000BB07C031A08382FCE05A1581DF1E0FCCBBFB75923BFF6DAC5F23805DCF6CECFAAE8AA3A6D3E474EE67000081A083804D60B5820E7B6AD91269083049B35C34A65CEBDC97F24232E2B6161443D426CF948AABA2C0D8182582060CA054F6617A4DB7617CD7C2ECB7F0DA90CC9DD8B299C8E0CF811221EEB35F4060E81581C0BC4DF2C05DA7920FE0825B68F83FD96D84F215DA6EF360F7057AD831082583901A55F28E5EA668602C69F0975A5B51D68BE87763360F63277FFE6DD7D0BC4DF2C05DA7920FE0825B68F83FD96D84F215DA6EF360F7057AD831A00153F01111A00370C3F128382582008650CE0B5040288C8EDE0F645150035ED95D05A3317A4450797AE8A7AAA9C1000825820F5F1BDFAD3EB4D67D2FC36F36F47FC2938CF6F001689184AB320735A28642CF200825820FA46A1D162C59CECE3308C5A9D4DB9FF2EA17F9C0146FF821C9B445588B017C900A50083825820B5598065F36F265396E6549411534DCBBEE7529226577EB4CF6E34680F22410100825820B5598065F36F265396E6549411534DCBBEE7529226577EB4CF6E34680F22410101825820D3123E855F23B0B77706B207BC94774C52F380FF551C67CE5348FF4C36066DEC01018282583901156093BC3FE253199EFEBEE4A3AD66FFBAA366520C0A825A1D8A692220A29EB6CAD19EBF25FB0EC409495EE7FEEC827851CC551813CBBD021A2A23F6C082583901156093BC3FE253199EFEBEE4A3AD66FFBAA366520C0A825A1D8A692220A29EB6CAD19EBF25FB0EC409495EE7FEEC827851CC551813CBBD021A01271CC8021A00029E35031A0838324D0800AC00828258200E7CFCB0F7410E569BBC9C3621476B0A03ED49ED6C11A7C2E7B8473E4E73AD78018258204D7BABAF390950F69FFCB1E5C6C2A491C33F446C95348AC6F701A5D4F40725C7000182825839018351FAFFB0E5E2C441352B9A00D283E271D010F502095E3A4F7BEB1137FA8B38832A0147557F8EFB3739CCB2E87F4BB9CC3F586AFC358D93821A02354637A1581CC981FC98E761E3BB44AE35E7D97AE6227F684BCB6F50A636753DA48EA14454554E411B0000000BA43B7400A300581D71E2782B6C218EE43C2F9940EFC5F62195BE0E6E3026E368FDDC53F6FF01821A001BC0C4A1581CC981FC98E761E3BB44AE35E7D97AE6227F684BCB6F50A636753DA48EA249434F554E544552940101582054554E41E2782B6C218EE43C2F9940EFC5F62195BE0E6E3026E368FDDC53F6FF01028201D818585DD8799F199401582000000000001C4D274FCD07B9D0CCD9761EF1BAF2A88AE05C297461C022171F3E0A1922331A02025FB01B00000192ABA19B60582049EBAEA97FB0FDFF305C1E2FEB2A64EC5849D1677DC31C84D3503A28D516E7DCFF021A000A88F4031A08380963081A083808AF09A1581CC981FC98E761E3BB44AE35E7D97AE6227F684BCB6F50A636753DA48EA34454554E411B000000012A05F20049434F554E54455294002049434F554E5445529401010B58206CFA8662753E17575930AD3C6262776BB4BF5797B868C0C1BEDE9813D1C80FAE0D818258204D7BABAF390950F69FFCB1E5C6C2A491C33F446C95348AC6F701A5D4F40725C7000E81581C8351FAFFB0E5E2C441352B9A00D283E271D010F502095E3A4F7BEB1110825839018351FAFFB0E5E2C441352B9A00D283E271D010F502095E3A4F7BEB1137FA8B38832A0147557F8EFB3739CCB2E87F4BB9CC3F586AFC358D93821A01F383EBA1581CC981FC98E761E3BB44AE35E7D97AE6227F684BCB6F50A636753DA48EA14454554E411B0000000A7A358200111A004C4B40128282582080874829AFB2CB34E23D282D763B419E26E9FB976FE8A7044EEBBDF6531214B70182582080874829AFB2CB34E23D282D763B419E26E9FB976FE8A7044EEBBDF6531214B700A90082825820E7B2B591F5772A44668DEC22464632BFF5B2877F6A75EFFD436EF2643E21B11200825820900AE70C0510A11B92A456E0AC9DB080CB5CCAEFCC728F718BB0D92AA5BF02790301848258393184CC25EA4C29951D40B443B95BBC5676BC425470F96376D1984AF9AB2C967F4BD28944B06462E13C5E3F5D5FA6E03F8567569438CD833E6D1A000F424082583901BAAAA8B9A088F04386CB7119CCF686616FC15F81663F58F459D0BF678F240BE418098DE79EF449800A1A3B729FD04D892E861108CB715D7D1A001B774082583901E6D3410BE0B3D51A52B874983BC6F0E48BCF4274352552E683E1C211B91D1FE82203DE4C0DE2C150746383A893CD21EB1082565252AF63A5821A0012050CA1581C86EC26A91051E4D42DF00B023202E177A0027DCA4294A20A0326A116A14E617175616661726D657238333434018258390141B0824395E985E3D4B003A978C716B899C77D8BA8937DE4890BA1DC5FDBC8752EF93912F2E6BD58AD7BB7DC7ABF6FDA308350AC03E497D91A01F33E12021A0007596E031A08380C790B5820088CC5308FA6500E58E7032C92B468697B387B6B77FC29CA7D3A41A41FB880110D81825820B7FD9A148E80405558FB09FF8C4CD148186CD3DF292D2FCA21B4998EA3DDDB0C05108258390141B0824395E985E3D4B003A978C716B899C77D8BA8937DE4890BA1DC5FDBC8752EF93912F2E6BD58AD7BB7DC7ABF6FDA308350AC03E497D91A0041451B111A000B062512818258209A32459BD4EF6BBAFDEB8CF3B909D0E3E2EC806E4CC6268529280B0FC1D06F5B00AB008282582072D02CB285ECB1D1015C6AC0F02D3E44A60C06FEE899FA4EF2AB76731D98A17E04825820BD21E1F429C10213DB567E99E53D6805DE7165F9D90FC589246B4A53D5C04C9901018382583901E2C9C4184F6FB95B30CACD7551C5873DE8CCAA8C297FADE3A6EBE2A6175A8933CD9F03AFFAC9A6CAA7E9DFAC772093712A19D7C145AB26E7821A0011D28AA1581C420000029AD9527271B1B1E3C27EE065C18DF70A4A4CFC3093A41A44A14341584F1B000000038816E101A300581D71C77B380C7C5C8AEEF1CE3EFFB0BA9ADE38DCE9B254DB2EEFB408F65801821A0019F0A0A2581C420000029AD9527271B1B1E3C27EE065C18DF70A4A4CFC3093A41A44A14341584F1B0000000F4ABB6766581C4200001F426B2B7CAEE667DE83D5507D6B94CC6D81183588149983A7A15820633533366661346665376630333366656538616532306430396330626239383901028201D81843D8798082583901E2C9C4184F6FB95B30CACD7551C5873DE8CCAA8C297FADE3A6EBE2A6175A8933CD9F03AFFAC9A6CAA7E9DFAC772093712A19D7C145AB26E71A0032701A021A0008089C031A08380FC6081A083808BE0B5820B02A126AEA37DB99E9F87AF2910A6CB2FD06E2440F503266EA9C91868D4A69420D8182582072D02CB285ECB1D1015C6AC0F02D3E44A60C06FEE899FA4EF2AB76731D98A17E040E81581CE2C9C4184F6FB95B30CACD7551C5873DE8CCAA8C297FADE3A6EBE2A61082583901E2C9C4184F6FB95B30CACD7551C5873DE8CCAA8C297FADE3A6EBE2A6175A8933CD9F03AFFAC9A6CAA7E9DFAC772093712A19D7C145AB26E71A00403E56111A000C0CEA12828258205EBE33F5D60F19CE6CC67386004C5780E853B068BB767FB884A52719259713D70182582080E04A0D892A887DF5F62729EE1F8AAC67AA4E0A5FDEB6E44C62CA78F4EAE87401FF9FA300D9010281825820C96478FDEBCEEC3A13FD9A11EDC67617E1CA6B2A533A872488DAD5990BC3D8975840002A7954B8E425867010425536375ED56F68B1EEC9E04300608158761AFCFAE349FBD386A79EF126CDF0585E246E0C5F6E047012E0DEFE7007E212CEF2C7060904D9010281D8799F581CD7A2B4740596A8095E94896E96500047BB34C836EB81247ED70C45B1D8799FD8799F581CD7A2B4740596A8095E94896E96500047BB34C836EB81247ED70C45B1FFD8799FD8799FD8799F581CE265C8FA16484FCB09F72EEAF98AA7A0DD97B0243F28426E8122F76BFFFFFFFFD8799F581CDDA5FDB1002F7389B33E036B6AFEE82A8189BECB6CBA852E8B79B4FB480014DF1047454E53FF1B00000007AEF40A001B00000007AEF40A00D8799F4040FFD8799F1B086101CCACDE3ACF1BC800000000000000FF582020F02A5C9FF93CD1D2C0A3C8931777A8F23856D97FF527B853C490F3615C9D2DD87A80D87A80001A000F42401A000F4240D8799F1A000F42401A05E69EC000FF00FF05A182010082D8799FD8799FD8799F5820D71CA4634F0F71F58FB67BB5C1B3653047958DD744801A8CECC0A46388E5F100FF00FFFF821A000CE0001A101C0618A1008182582033A7E05CCB925FF8E7E2F9CDE854D329D91CC651777DBBD2F38A7E3F4E4BBA3558400D2901A49D7C463FD27993BA9989489857E4115DAFCAC4DA1FC2F6D283F9B78719C9DE914283D01D4A3DA98EDED8FE28358517C87296CEA5B1B073EC491ACF0BA2008282582051CED92DC030D6EDCE661830CEA57AA386EE42594389F0F0481C88F1EB1DAF945840A0E648C3D4C2598EF93BC2FC47B194FB696388472D5C8B18CF95E4B5D260B1CDF963191AF2C81EDDD350B43E42C09ABFA321783F506E62817CD4AE2975025308825820B99849736196F99B8520825E23850B12EFC636B065FE6DF8F70EFCBFA61D48235840AE07257D9E2CE97A3F9C7224B78CB407A16B8FA1E838A736B8E9FEF36E06192FD0C5DB532F06A91BE5B60E2D243C60989277A94C60EDEB9614601AF17EF63201049FD8799FD8799FD8799F581CAD1211BD682655F9E416CFB450D5D4DC457D786FB8EAA30398664133FFD8799FD8799FD8799F581C9AB2B60AD69B3935691BF57FBC1161EE7C178B4080793871179CF3CDFFFFFFFFD8799FD8799F581CAD1211BD682655F9E416CFB450D5D4DC457D786FB8EAA30398664133FFD8799FD8799FD8799F581C9AB2B60AD69B3935691BF57FBC1161EE7C178B4080793871179CF3CDFFFFFFFFD87A80D8799FD8799F4040FF1A1C7EC68AFF1A001E84801A001E8480FFFFA10082825820B42646FC7ED0FAC599B09C3BD31765782B96E1571243C7CBB9DADF3E82D8221958405974676B263E7FA2C3069C8C15DE3A36D42C32BEB405174C90DF552488C4EEC73797EB04BCA4C5D4845DFCFB0424022FBD0C7A128554C91BB87477D36F4E03048258204A7138550B1160E4A457D93AF4ACFC786DB00AA1E564CC1F0937B36C821D13A05840D19B527EF1CCFE2DBBB7C7AB5BC36287AD808CED434A1F86274836FB21281AA22784D27A47D11387F58D9F0E7CEC2DC9F623528D3DA6AFA57F705F4B25109901A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840BCA58E0A5DBD9BB6131BC3918BA4633CD3D98D086380533D4335721915C743B648CF6600DBEA7E14870FD71EF70593DB9C0290273C2637F0477D63A31B383B050583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A3008182582096385B33F0F425D8D2888B0C305F8B8543D97B3C70286F70EE880FC51BEDE0C958400C04AEC50D9F256961A4E8A9EBFC5805BD563D4213570CB41F3ED6F08D33DC413A90D130B67110008B7DD3ED56B0FB9B0C3AD138417A8AA9DDB4E44B0EBE1D0706815901455901420100003323232323232322322253330053253330063370E900218039BAA300130083754004264A66600E66E1D2000300837540022646600200264A66601266E1D2002300A3754002297ADEF6C6013756601C60166EA8004C8CC004004DD5980218059BAA300E300B375400644A66601A0022980103D87A80001323232533300D3371E0166EB8C03800C4CDD2A4000660226E980052F5C026600A00A0046EACC038008C044008C03C004894CCC030004528099299980519B873371C6EB8C02CC03C00920024806852889980180180098078008B1929998050008A6103D87A800013374A9000198059806000A5EB80DD618059806180618041BAA300B3008375400429408C02CC03000452613656375C002AE6955CEAAB9E5573EAE815D0ABA24C011E581CE0302560CED2FDCBFCB2602697DF970CD0D6A38F94B32703F51C312B00010583840001D8798082196EC71A007E3127840002D87A9FD8799F00181D9F9F01D87A8000FFFFFFFF821A00113FFA1A15659DB9840300D8798082198C211A00A56452A400818258200303157375F23161027902ABFF500A6268C00A69F45F7BFE5ADBC2F70F15DF945840395CD4300AFF79F1DFA82D93582A19150CCBD318EC5EC5E39109161673958D5D56D2A52E37C6398D18D1388C4EB6D2DADE581712AF7DCC4A63EA4ABE0008B30C038359014F59014C01000032323232323232322223232325333009300E30070021323233533300B3370E9000180480109118011BAE30100031225001232533300D3300E22533301300114A02A66601E66EBCC04800400C5288980118070009BAC3010300C300C300C300C300C300C300C007149858DD48008B18060009BAA300C300B3754601860166EA80184CCCCC0288894CCC04000440084C8C94CCC038CD4CCC038C04CC030008488C008DD718098018912800919B8F0014891CE1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC133090014A0266008444A00226600A446004602600A601A00626600A008601A006601E0026EA8C03CC038DD5180798071BAA300F300B300E3754601E00244A0026EB0C03000C92616300A001375400660106EA8C024C020DD5000AAB9D5744AE688C8C0088CC0080080048C0088CC00800800555CF2BA15573E6E1D200201591E1B591E1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460CC0042646424446600200A0086EB4D5D09ABA25002375A6AE85400454CCD5CD1832801099091118010021BAD357426AAE7800C54CCD5CD1832001099190911198018028021BAD357426AE894008C0CCD5D0A80082E1119191A827911111A80391191111AA99A9824806108008B1119191A9A9A80103102D91191919191919191AA99A982A89119982D91299A99820A8071A80103409980200100088008008020B03C9111919191919191919191919191982A299A8050A99AA8100999AB9A3094013303A307908101330820106700B06706E0060063305433355307908101305C05A305953353502B2233500206E2071210011635014222222207A33054353501422208E0122350012322533355333500A2153335004215333500C2130054984C011261533350052130054984C0112603C04F15333500B2130044984C00D261533350042130044984C00D2603B153335003205003A04F153335003215333500B2130044984C00D261533350042130044984C00D2603B04E15333500A2130034984C009261533350032130034984C0092603A153350010700820108201070253335002215333500A21533350042133303A03B00200116161604E15333500921533350032133303903A00200116161604D04E33054330500153306F00B02733054330533306301602548008CC150CC14CCC18C02C0952002330543305333063001010002330543333084012222533500315335002135001222223305D3305C0053306C01402B3305D3305C0043306C01402A3305D3305C00300C3305D3305C0023306C0140193305C001304800D0910122153350041622153350071622153350081622133300C003001323232323232323533307D0050070272222225335330743305100248000CC1440052000161333335003235500B2222223501D222223501B22235051222223232323232323232323253353308B013308B013306E00848000CC1B802920003308B013306D00201E3308B0153353306E00A00315335330870100E07013308B013308A013309A010110703370066E0402800C060CC22804CC2680404411C0084CC22C04CC22804CC268040441C0060CC22C04CC22804CC2680404411C008CC22804CDC08050019984D008088070A99A998370041A802055008A99A99843808078380998458099845009984D0080883819B80337020106A008154020306611402661340202208E00426611602661140266134020220E003066116026611402661340202208E004661140266E04020D40102A804CC2680404403C4CC22C04CC22804CC2680404411C008CC22804CC268040441C0060CC22C04CC20C04048070CC2080404006C4C8C8C8CCCCC2C80400C008CDC019B800180050013370002E002A66A0082605466E0800C00840594CD400C4CCCC0A005406406005C520003370002E00866E0005CD40102A80458C27C04028D40082A404D40042A404D54CD54CCD5CD19B8900148000278044C94CCD5CD19B890014800027C044C94CCD5CD19B8900148000280044C28404CCC2EC0400C0080054CCD5CD19B8900400610041006350020AD0121001160B901350010B0015333573466E2400400C54CCD5CD19B880010031330A8010023370666E080080400444CC2A0040080104CC2A004CDC199B820040110100043370666E080040380414CD4CC1FC01C1A04CDC0998490081100399B80011010133092010220073370666E080040300354CD4CC1F40101984CDC0998480081000219B8000F00E133090010200042235500C2222223501E222223501C222350522222232323232323232323253353308B013306E00748000CC22C04CC1B4008074CC22C04CC22C04CC22804CC2680404011C008CC22804CC268040401C005CCC22C04CC20C0404406CCC2080403C0684C8C8C8C8CCCCC2CC0400C008CDC019B800180060013370002E002A66A00A2605666E0800C00840594CD40104CCCC0A405406406005C52000350020B301350010B60153353330690870100E01E1330AE013370002C00E02A26615C0202C66E0005401C58C27C04024CDC199B820010123370200400266604400600266E0CCDC0981219B803370400400466E08CDC119B82337049004241941E90680780200198600080199B824801120CA0F350050A70130BE01001350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4009200033086013306800101833086015335330820101906B13308501330950100B0193370000202426610C026610A026612A020160320026610A026612A020160D60246610C02660FC01802C660FA01402A2A66A6660C8104020120322666661540266E00044008CDC08080008078070068999998550099B810110013370002000401E01C01A2C66603E6A00614C026A00614A02002A66A66100020020D2266E04CC24C0408C004CDC0008808099849808118009A800851009AA99A99983003F00280A899985A00802806806099985A008020060069111A8019119985C80802802001911AA8061111111A80F111111A80E1111A82911111191919191919299A998440099835802240006611002660D80020086611002A66A66108020360DA266110026610E026612E0201A03666E00068050CC21C04CC25C04034014CDC08020008A99A99842008028368998440099843809984B8080680D80D19843809984B8080680299B8033702008002028266110026610E026612E0201A03603466110026610E026612E0201A00A66E04010004CC21C04CC25C040341B4050CC22004CC20004038060CC1FC03005C54CD4CCC1982100402C06C4CCCCC2B004CDC000980099B8101201A01101000F1333330AC013370202603466E0004800404404003C594CD54CCD5CD19B880190011309F013370066E0CCDC119B82002019483403CCDC119B81001019483283D200209E012100116350040A601350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4011200033086013308601330680030193306800201833086015335330820100906B133086013308501330950100B009337000060246610A026612A020160100042A66A66104020100D626610C026610A026612A0201601066E00008048CC21404CC2540402C02400C4CC21804CC21404CC2540402C02400CCC21804CC21404CC2540402C020008CC21404CC2540402C1AC048CC21804CC1F8030058CC1F40280544C8C8C8CCCCC2B40400800CCDC019B8101200700133700022002A66A0082604A66E0800800C40414CD400C4CCCC08C03C04C048044520003370202400866E0404000858C26804010CDC199B8200200E00D3370666E08004038030CC244040840F8888C8CDC199B820010033370066E0801120D00F0013370400290650791112999AB9A3371200890000A4000264A666AE68CDC48008028A4000264A666AE68CDC4800A400029000080099B833370400466E04004014CDC019B8200148028014C014CDC10018011192999AB9A33710004900004D808A999AB9A30A10100214800054CCD5CD1851008010A40042A666AE68C28C04008520021330010023370066E0C009200448008C254048894CCD5CD19B880010021330030013370666E00CDC1802000800A4008200426660F2002006046464A666AE68C27C04D55CE80089919191919191919191919191919091999998008050048040028018011BAD357426AE88008DD69ABA100135744010A666AE68C2B4040084C8C8488888CC01001C018DD69ABA135744A0046660F8EB9D71ABA15001153335734615802004264642444446600200E00C6EB4D5D09ABA25002375A6AE85400454CCD5CD18558080109909111118028031BAD357426AAE7801854CCD5CD18550080109919091111198010038031BAD357426AE894008CCC1F1D73AE35742A0022A666AE68C2A4040084C8C8488888CC00C01C018DD69ABA135744A0046660F8EB9D71ABA150010A101135573C00A6AAE74010CC1E1D71ABA100530743574200A60E66AE84014DD51ABA1001357440026AE88004D5D10009AAB9E0010970137540026A002104026A00810C0260C82446660D444A66A660B066606C0D46A004104026A03C1040266606C0A06A6A0040FC0EE05E266008004002200200202A60C82446660D444A66A660B066606C0A06A0040EE6A0200EE66606C0A06A0040EE05E2660080040022002002026666660F0660C602C044660C602C04203E660C602C02003C660A8660A0044607A008660A8660A0042607C008660A8024660A8A66A60C82446660D444A66A660A66AA03A104026A6A0040EE1040226600800400220020020260D6442A66A0020FE440DEA66A6660640A600490000998299981D183C840809984100833800A40042660A66607460F21020266104020CE0029000183800999B8100101D303D001333066059008010305333307F22322325333573466E1C010DC680488010A999AB9A308F0100415333573466E1D205A500313370290001980299B800044800800800400454CCD5CD19B885002481805854CCD5CD19B8950023370090302402426600866E0000D20023370066E08005201433702A00490300B099B8E0060014800120001533500400115335501A13335734611A026606860E60F6660F80C200A0C20D00022A66A0062A66AA0320022666AE68C23804CC0CCC1C81E8CC1EC18001018019C0044CCD5CD18460099819183883C9983D02F80182F833299A9983D91299A8008321109A80111299A9982B00101089834800898030019A9A99A983B03C00501083883610A99A8008B1109A80111299A8018A99A99827800A400420042C112022C666AE68CDC49982C800803240000C80BA6A0020D4A66A60B02446660BC44A66A66088A0226A0040D6266008004002200200200E2C0F8660CE02C6A00A0D460C2006A66A60A42446660B044A66A660826AA0160E06A6A6A0040D80CA0E026600800400220020020060B2442A66A0020DA440BA60BA0026A0280D4660B40020246A6A0080C80BE26A6A0020C20B4A66A609601C420022C2A66A660600040320BA266060002032603200E6068010464646A09C4444464646464646464660706606A00C0066607066068660A600C018660A6006018660706606E6608E6A6A66A60C60CA00401E0BC0B2660B601201090011981C1981F998188070009981C1981B9811800A40006607066068604201C60420026607066068604401C60440026606E604801C6048002660706606A60AA00A09666070A66A609024466609C44A66A60A26A6A0040C40B8266008004002200200200809E442A66A0020C6440A6A66A609024466609C44A66A60A26A0040B8266008004002200200260B000E09E442A66A0020C6440A666609A08000600860A40066A0020ACA66A608824466609444A66A660666A6A6A00E0BC0AE0C46A6A0040AE0C4266008004002200200260A80062C0D06A0100BA6A6A0020B00A6A66A608400C420022C603000C606600E4464646A09E44444A66A6A00E440A8426464646464646464646464646607E660700286660AA09000800C6607E66076014660B40060246607E6607E6607C6609C6A0040C00120106607E6606E6A0040BC6A01A0D26606C6A0040BE6A01A0CA6607E6607866AA60CE0D846A00244660CA00466AA60D40DE46A00244660D0004666A0026E012000700466E0000520000013304000B3500922330723306400233072330640010090540540033303F3303E3304E3535335306A06C0010160650603306200F00E48008CC0FCCC0F0C1700181494CD4C13C488CCC154894CD4C160D4D40081A418C4CC010008004400400400C1588854CD40041A888168C168014CD4C1A01A800C04CD40041754CD4C12C488CCC144894CD4CC0DCD4D4030194178D40081784CC010008004400400400C581BCC160004D403418CCCD4080178D4D4080188178004CC11800C004CC164020D4004170CC140004020D4D40041681554CD4C11001C8400458124C06401CC0D0020448004584D55CF0011AAB9D0013754004444A66A6600600400207809C46A0020B0246666666600204044A666AE68CDC38010008020A999AB9A3371200400203203044666AE68CDC400100081B01E802802001912999AB9A337120040022002200444A666AE68CDC4801000880108008881F11199AB9A3371000400207406644666AE68CDC480100081C81911199AB9A337120040020620706607C91100488100223333550023303F2233350050480010023500304222337000029001000A4000660784446006600400240026607666076E01200070246A0024444400A46A0020A246A0024407246A0024406C464A666AE68C140D55CE8008991919191981E2999AB9A305435573A00626464646464646464646464646464646464646464646424666666666600201A01801601401201000E00A00600460446AE84D5D10011980F1981DBAE2001357420026AE88008CC071D71ABA100135744016A666AE68C190D55CE804899191919827A999AB9A306735573A004264660A066038EB4D5D0800980D9ABA1357440026AAE7800817D4CCD5CD18339AAB9D001132330503301C75A6AE84004C06CD5D09ABA200135573C0020BE6EA8D5D09ABA200237546AE84004D55CF00482E1980C9981B019BAD35742014660300326AE84028CCC059D70029ABA100A33301575C0086AE84028CC054008D5D08051980A1192999AB9A306035573A0022646609260326AE84004C010D5D09ABA200135573C0020B06EA8004D5D08051192999AB9A305F35573A002264646660B060606AE84008CCC059D70029ABA10013303375C6AE84D5D10009ABA200135573C0020AE6EA8004CC045D73AD37546AE84004D5D10009ABA2001357440026AE88004D5D10009ABA200135573C006098A666AE68C15C0044C848888C010014C02CD5D09AAB9E00215333573460AC00226424444600400A60486AE84D55CF0010A999AB9A3055001132122223001005300C357426AAE7800854CCD5CD182A0008990911118018029BAE357426AAE78008130D55CE8009BAA357426AE88008DD51ABA100135573C0020906EA80048C94CCD5CD182800081E8A999AB9A304F00102B04735573A6EA800488C8C94CCD5CD18290008058A999AB9A3051001130193004357426AAE7800854CCD5CD18280008050241AAB9D00137540024464460046EAC004C10888CCCD55CF8009014119198239981C98031AAB9D001300535573C00260086AE8800CD5D0801020919118011BAC00130402233335573E002404C46608860086AE84008C00CD5D100101F91919192999AB9A305300211222203515333573460A4004220922A666AE68C1440084C8C848888888CC004024020DD69ABA135744A0046EB8D5D0A8008A999AB9A3050002132321222222233002009008375C6AE84D5D128011BAE35742A0022A666AE68C13C0084C8C848888888CC018024020DD71ABA135744A004603A6AE85400454CCD5CD1827001099091111111803804180E9ABA135573C0062A666AE68C1340084C848888888C014020C074D5D09AAB9E003045135573C0046AAE74004DD50009192999AB9A304A35573A0022646606660086AE84004DD69ABA1357440026AAE78004108DD50009192999AB9A304935573A00226EB8D5D09AAB9E0010413754002220582205444A66A00442A66A00442660240040020462A66A0024046068446A004446A006446666010008006004002446A004444446A00C44444A66A6601E01400A2A66A6601E0120082A666AE68CDC38040018A999AB9A3370E00E0042A66A00C42A66A004426A004446A004446A00A446A00444A66A666602E00C00A0040022A66A00E42A66A008426604800400206A2A66A006406A08C0680562A66A002405607805405405405444446466A00A466A0084A666AE68CDC78010008018121013919A802101392999AB9A3371E0040020060482A66A00642A66A0044266A004466A00446601200400244405444466A0084054444A666AE68CDC38030018A999AB9A3370E00A0042660220080020520520442A66A00240440664466A004466A00446601C0040024046466A004404646601C004002446A004446A00644A666AE68CDC780200109980780180081091199AA9815019180680191A80091199AA981681A980800311A80091199A800919805A40000020144660160029000000998030010009981280100A91199AB9A3370E00400202C03A44A66A00420020324466AA605205C46A002446604E004666A002466AA605A06446A0024466056004601800200244666010016004002466AA605A06446A0024466056004601600200266600600C004002444666AA605005C06466AA605205C46A002446604E0046010002666AA605005C446A00444A66A666AA6054064601A01646A002446601400400A00C200626606C00800602800266AA605205C46A002446604E0046606844A66A002260120064426A00444A66A6601800401022444660040140082600C00600800442444600200842444600600844666AE68CDC780100080800B9980E80080A11299A801012080091980E11199A8018128010009A80080F9192999AB9A303435573A00226464646466666042666016EB9D71ABA100433300B75CEB8D5D08019BAD357420046EB4D5D0800998051192999AB9A303A35573A0022646604660146AE84004CC035D71ABA1357440026AAE780040C8DD50009ABA1357440026AE88004D5D10009ABA200135573C0020586EA80048C94CCD5CD18199AAB9D0011323301C3005357420026600C0086AE84D5D10009AAB9E00102B375400246464A666AE68C0D00044C8C8C8C8C8488CCC00401801000CDD69ABA1357440046EB4D5D08009ABA2002375A6AE84004D55CF0010A999AB9A3033001130103004357426AAE780080ACD55CE8009BAA0012323253335734606600226424460020066EB8D5D09AAB9E00215333573460640022601E6EB8D5D09AAB9E00202A35573A0026EA800488C8C94CCD5CD18190008980798021ABA135573C0042A666AE68C0CC0040380A8D55CE8009BAA001222325333573460626AAE740044C8CC068C014D5D080098021ABA1357440026AAE780040A4DD5000911A8009119198131119A800A4000446A00444A666AE68CDC7801004898038008980300180298129119A800A4000446A00444A666AE68CDC7801003880089803001919A80081100211A800911A80111111111111999A805900B900B900B9199AA981101500B11A80091299A998090010020980C00180B805912999AB9A3371E6A0040346A0020342666AE68CDC39A80100B1A80080B001805003880B91180F11299A80088019109980300118020009299A800900B0019111A801111299A800909A8029111111111299AA99A999AA981001400A11A800912999AB9A3371E00401C2602C00602A0044260286A0020440244260240022C2C2006424460040066601444A66A0044200620020022018446602E44A66A00203C4426A00444A666AE68CDC78010038A99A8008111109A80111299A8018A999AB9A302D00113301400B0020262202813006003002235001222222222200A2350012201C23500122222222220092220032220012220023333300248811C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB10048811CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D8600330014891C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62F004881074D494E535741500048811C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816004881054F574E455200221233001003002222221233333001006005004003002300B22112225335001135003006221333500500C300400233355300700F0050040012200130092211222533500110022213300500233355300700D005004001300822112253350010052213300F30040023355300600B00400111001220023005221225333573466E20005200013005490103505436001533500213005491035054370022153335734602C0062004266A600C01000266E0400D2002253357380022C240026004444A66A00220044426A004446600E66601000400C00200660024444A66A00220044426A00444A666AE68C0500044CCC02001C01800C4CCC02001CCC028CCC02C01C00800401800C8C8C00400488CC00CC00800800488488CC00401000C88848CCC00401000C00854CD5CE2490350543100162215335001100200715335738921001622222222007220053704904D0F910B111110021B8748000DC3A40046E1D2004370E90031B8748020DC3A40146E1D200C0159030B590308010000323232323232323232323232323232322232323232323253353300A53353301322533500100B2213232325335533553335734603C002260286EB8D5D09AAB9E002153335734603E002026038402202626603600A00620066AAE74004DD51A801911000980200098081BAC35500222222222220091622153350011533533300D00C48811C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB10033301075C0066A00444400442A66A0022C4426A00444A66A0062A666AE68C07C004400858074580614CD4CCC02C028CCCD54CCD5CD19B874801800C4C848888C010014D5D09AAB9E00415333573466E1D2004003132122223002005357426AAE7801054CCD5CD180C0018990911118008029ABA135573C0082A666AE68C05C00C4C848888C00C014D5D09AAB9E0040152675C4C4C66601CEB8004D54008888888888801C854CD400458884D4008894CD400C400806C5844800458CC035D73AD13253335734602C6AAE740044C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C848CCCCCCCCCC00404C04403C03402C02401C01400C008D5D09ABA2002357420026AE88008D5D08009ABA2002357420026AE88008D5D08009ABA2002357420026AE88008D5D08009ABA2002357420026AE88008D5D08009ABA2002357420026AAE78004050DD51A801910011AAB9D00137546A00244002A666AE68C048D55CE800899198059ABA1001357426AE88004D55CF0008081BAA001100922333573466E3C00800402848800488C028894CD4004014884D4008894CD4CC02000801C4C0280044C01800C44880048488C00800C88C88C008DD58009803911999AAB9F00120092323300C33007300635573A002600A6AAE78004C010D5D10019ABA100200722123300100300230032233335573E002400A46466010A666AE68C02CD55CE80089919191919091998008028018011ABA1357440046AE84004D5D10011ABA100135573C00201260086AE8800CDD51ABA1002003120011220022323001001223300330020020012212233001004003153357389210350543100162216370E90001B87480081049FD8799FD8799FD8799F581CA973C89A73CAB8F6CC92282FCC7AA1C6E6879527569A327B044310CAFFD8799FD8799FD8799F581C191DBC015C48E52627F819F51E443A789049C09F0FFDED9BA0C379C4FFFFFFFFD8799FD8799F581CCA5D9E971BA87CE0CE333A464A8F7C1C6650B8A6A28C4DCCE53B566DFFD8799FD8799FD8799F581C28B8C1ADBEFB8692970A8A473D45C30DA47FAA716C7026B0ED362A76FFFFFFFFD87A80D87C9F1A0C6811001B00000002C8FC4394FF1A001E44F51A003D0900FFD8799FD8799F4040FFD8799F581CF43A62FDC3965DF486DE8A0D32FE800963589C41B38946602A0DC5354441474958FF1B00000252057C080F1B000002F7131E1C91D8799FD8799FD8799FD8799F581CAAFB1196434CB837FD6F21323CA37B302DFF6387E8A84B3FA28FAF56FFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFFD87A80FFFFFFD8799FD8799F4040FFD8799F581CF43A62FDC3965DF486DE8A0D32FE800963589C41B38946602A0DC5354441474958FF1B00000251BC73B9301B000002F6BBC134EED8799FD8799FD8799FD8799F581CAAFB1196434CB837FD6F21323CA37B302DFF6387E8A84B3FA28FAF56FFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFFD87A80FFFFFFFF0583840000D879808219A44D1A00C298B4840002D8799FD8799FD8799F581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9DFFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFF01FF821A002F1F1D1A29CF1628840100D87980821A0004555E1A03E8DE3BA100818258206153BBEC9B4213302D82CF4312E0B1B90A06F490D931E921C6A786703168DCB558409D65CC0B53A79095DE6A27F9BA06F38C96D4398735BA80EF8B311ED3816DF41EBD8A1D77AE17DE144B13804F7B542CB5F8BBC865916F0AEF8A653746653B580FA200838258203E5E0A1FB6EB9F9F525AC5AA8869E2B34566CA0B2C0F74821C8A9EFE8E44368B5840631133D0FB6DE8667B0CA88526C99D45D5DDED8B7CD3264873A462DC2ADC3C531DF047109EE5E951F694FF7102C42B261A7645E2EB48E8079045CEDA31F0550282582005E884CA7C466DF47785AF770BE8495EC0998E60EBE63E4CD187CD17EEAC5E925840FD495A062CBF09F72FF66524918E0B4093457082D549358A3538DF1F3880169DF57A6BD6BBAFD7D90F5C0457FDA65FD7E978EFABA4C8459639BE74EA775E7B0A8258208DDE4455D6B672AC5E1AD4669CE90D362EE46FC1EF2095B69FD958AA11C2A3F058407C62CF0C34077094474B5DBF55F26317F405E434C78F19414A8AE2C9363AD00BC5E4FEF22530502C49F3B7399D3ABD7133B62FB9A44F79EB1AC976278B4B180D0581840000D87A80821A0002E3421A033C1220A10081825820641E56A7CA1DD1B56E3FCFE3518A95F37407D70A38F918D2F6879976007FCC4858403C6E5D60D022989E094F7A3778816E7DDB883B57FF6CDEB8372CB9C7F017A06B9EA24863C482F70C7CB0EB1AAB4A6447298EB600413B0EFF1DDEADEB3C386705A100828258208D2A8AF120D3C1308D3C60EB3DD32B94AD224C9BE23D04483A45954D370629CF5840B4CE5F8A135D8ED494612F35250200E66438026C9C6D1806FAD760753DF1EDA8C7ED805C7FF16E88276177C150DE653E2B79DBF0A544F60CFA26B8E4852F32078258204D11CC82310BBF8C8C628A3AE0998F31024AC3C11F9436C3A0A384E7AA29A7095840D379D75B6ADDEFEA84A3035104F5090D59036F1A4178DF98B0C72B186665EA4FD9DDC3AAB400454E3CADF1D92B3F94065616DEB93FA31CA10F49FD32431C5F0FA400818258200303157375F23161027902ABFF500A6268C00A69F45F7BFE5ADBC2F70F15DF9458407D72EE1316F13E69FA2920B58828CAD54409E7F177504D59779D53051E89B238C71DB9FBBCA447CC31DAF6B0B44E701D6C451FAA969A46717D8A20C9B2161F02038259014F59014C01000032323232323232322223232325333009300E30070021323233533300B3370E9000180480109118011BAE30100031225001232533300D3300E22533301300114A02A66601E66EBCC04800400C5288980118070009BAC3010300C300C300C300C300C300C300C007149858DD48008B18060009BAA300C300B3754601860166EA80184CCCCC0288894CCC04000440084C8C94CCC038CD4CCC038C04CC030008488C008DD718098018912800919B8F0014891CE1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC133090014A0266008444A00226600A446004602600A601A00626600A008601A006601E0026EA8C03CC038DD5180798071BAA300F300B300E3754601E00244A0026EB0C03000C92616300A001375400660106EA8C024C020DD5000AAB9D5744AE688C8C0088CC0080080048C0088CC00800800555CF2BA15573E6E1D200201591E1B591E1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460CC0042646424446600200A0086EB4D5D09ABA25002375A6AE85400454CCD5CD1832801099091118010021BAD357426AAE7800C54CCD5CD1832001099190911198018028021BAD357426AE894008C0CCD5D0A80082E1119191A827911111A80391191111AA99A9824806108008B1119191A9A9A80103102D91191919191919191AA99A982A89119982D91299A99820A8071A80103409980200100088008008020B03C9111919191919191919191919191982A299A8050A99AA8100999AB9A3094013303A307908101330820106700B06706E0060063305433355307908101305C05A305953353502B2233500206E2071210011635014222222207A33054353501422208E0122350012322533355333500A2153335004215333500C2130054984C011261533350052130054984C0112603C04F15333500B2130044984C00D261533350042130044984C00D2603B153335003205003A04F153335003215333500B2130044984C00D261533350042130044984C00D2603B04E15333500A2130034984C009261533350032130034984C0092603A153350010700820108201070253335002215333500A21533350042133303A03B00200116161604E15333500921533350032133303903A00200116161604D04E33054330500153306F00B02733054330533306301602548008CC150CC14CCC18C02C0952002330543305333063001010002330543333084012222533500315335002135001222223305D3305C0053306C01402B3305D3305C0043306C01402A3305D3305C00300C3305D3305C0023306C0140193305C001304800D0910122153350041622153350071622153350081622133300C003001323232323232323533307D0050070272222225335330743305100248000CC1440052000161333335003235500B2222223501D222223501B22235051222223232323232323232323253353308B013308B013306E00848000CC1B802920003308B013306D00201E3308B0153353306E00A00315335330870100E07013308B013308A013309A010110703370066E0402800C060CC22804CC2680404411C0084CC22C04CC22804CC268040441C0060CC22C04CC22804CC2680404411C008CC22804CDC08050019984D008088070A99A998370041A802055008A99A99843808078380998458099845009984D0080883819B80337020106A008154020306611402661340202208E00426611602661140266134020220E003066116026611402661340202208E004661140266E04020D40102A804CC2680404403C4CC22C04CC22804CC2680404411C008CC22804CC268040441C0060CC22C04CC20C04048070CC2080404006C4C8C8C8CCCCC2C80400C008CDC019B800180050013370002E002A66A0082605466E0800C00840594CD400C4CCCC0A005406406005C520003370002E00866E0005CD40102A80458C27C04028D40082A404D40042A404D54CD54CCD5CD19B8900148000278044C94CCD5CD19B890014800027C044C94CCD5CD19B8900148000280044C28404CCC2EC0400C0080054CCD5CD19B8900400610041006350020AD0121001160B901350010B0015333573466E2400400C54CCD5CD19B880010031330A8010023370666E080080400444CC2A0040080104CC2A004CDC199B820040110100043370666E080040380414CD4CC1FC01C1A04CDC0998490081100399B80011010133092010220073370666E080040300354CD4CC1F40101984CDC0998480081000219B8000F00E133090010200042235500C2222223501E222223501C222350522222232323232323232323253353308B013306E00748000CC22C04CC1B4008074CC22C04CC22C04CC22804CC2680404011C008CC22804CC268040401C005CCC22C04CC20C0404406CCC2080403C0684C8C8C8C8CCCCC2CC0400C008CDC019B800180060013370002E002A66A00A2605666E0800C00840594CD40104CCCC0A405406406005C52000350020B301350010B60153353330690870100E01E1330AE013370002C00E02A26615C0202C66E0005401C58C27C04024CDC199B820010123370200400266604400600266E0CCDC0981219B803370400400466E08CDC119B82337049004241941E90680780200198600080199B824801120CA0F350050A70130BE01001350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4009200033086013306800101833086015335330820101906B13308501330950100B0193370000202426610C026610A026612A020160320026610A026612A020160D60246610C02660FC01802C660FA01402A2A66A6660C8104020120322666661540266E00044008CDC08080008078070068999998550099B810110013370002000401E01C01A2C66603E6A00614C026A00614A02002A66A66100020020D2266E04CC24C0408C004CDC0008808099849808118009A800851009AA99A99983003F00280A899985A00802806806099985A008020060069111A8019119985C80802802001911AA8061111111A80F111111A80E1111A82911111191919191919299A998440099835802240006611002660D80020086611002A66A66108020360DA266110026610E026612E0201A03666E00068050CC21C04CC25C04034014CDC08020008A99A99842008028368998440099843809984B8080680D80D19843809984B8080680299B8033702008002028266110026610E026612E0201A03603466110026610E026612E0201A00A66E04010004CC21C04CC25C040341B4050CC22004CC20004038060CC1FC03005C54CD4CCC1982100402C06C4CCCCC2B004CDC000980099B8101201A01101000F1333330AC013370202603466E0004800404404003C594CD54CCD5CD19B880190011309F013370066E0CCDC119B82002019483403CCDC119B81001019483283D200209E012100116350040A601350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4011200033086013308601330680030193306800201833086015335330820100906B133086013308501330950100B009337000060246610A026612A020160100042A66A66104020100D626610C026610A026612A0201601066E00008048CC21404CC2540402C02400C4CC21804CC21404CC2540402C02400CCC21804CC21404CC2540402C020008CC21404CC2540402C1AC048CC21804CC1F8030058CC1F40280544C8C8C8CCCCC2B40400800CCDC019B8101200700133700022002A66A0082604A66E0800800C40414CD400C4CCCC08C03C04C048044520003370202400866E0404000858C26804010CDC199B8200200E00D3370666E08004038030CC244040840F8888C8CDC199B820010033370066E0801120D00F0013370400290650791112999AB9A3371200890000A4000264A666AE68CDC48008028A4000264A666AE68CDC4800A400029000080099B833370400466E04004014CDC019B8200148028014C014CDC10018011192999AB9A33710004900004D808A999AB9A30A10100214800054CCD5CD1851008010A40042A666AE68C28C04008520021330010023370066E0C009200448008C254048894CCD5CD19B880010021330030013370666E00CDC1802000800A4008200426660F2002006046464A666AE68C27C04D55CE80089919191919191919191919191919091999998008050048040028018011BAD357426AE88008DD69ABA100135744010A666AE68C2B4040084C8C8488888CC01001C018DD69ABA135744A0046660F8EB9D71ABA15001153335734615802004264642444446600200E00C6EB4D5D09ABA25002375A6AE85400454CCD5CD18558080109909111118028031BAD357426AAE7801854CCD5CD18550080109919091111198010038031BAD357426AE894008CCC1F1D73AE35742A0022A666AE68C2A4040084C8C8488888CC00C01C018DD69ABA135744A0046660F8EB9D71ABA150010A101135573C00A6AAE74010CC1E1D71ABA100530743574200A60E66AE84014DD51ABA1001357440026AE88004D5D10009AAB9E0010970137540026A002104026A00810C0260C82446660D444A66A660B066606C0D46A004104026A03C1040266606C0A06A6A0040FC0EE05E266008004002200200202A60C82446660D444A66A660B066606C0A06A0040EE6A0200EE66606C0A06A0040EE05E2660080040022002002026666660F0660C602C044660C602C04203E660C602C02003C660A8660A0044607A008660A8660A0042607C008660A8024660A8A66A60C82446660D444A66A660A66AA03A104026A6A0040EE1040226600800400220020020260D6442A66A0020FE440DEA66A6660640A600490000998299981D183C840809984100833800A40042660A66607460F21020266104020CE0029000183800999B8100101D303D001333066059008010305333307F22322325333573466E1C010DC680488010A999AB9A308F0100415333573466E1D205A500313370290001980299B800044800800800400454CCD5CD19B885002481805854CCD5CD19B8950023370090302402426600866E0000D20023370066E08005201433702A00490300B099B8E0060014800120001533500400115335501A13335734611A026606860E60F6660F80C200A0C20D00022A66A0062A66AA0320022666AE68C23804CC0CCC1C81E8CC1EC18001018019C0044CCD5CD18460099819183883C9983D02F80182F833299A9983D91299A8008321109A80111299A9982B00101089834800898030019A9A99A983B03C00501083883610A99A8008B1109A80111299A8018A99A99827800A400420042C112022C666AE68CDC49982C800803240000C80BA6A0020D4A66A60B02446660BC44A66A66088A0226A0040D6266008004002200200200E2C0F8660CE02C6A00A0D460C2006A66A60A42446660B044A66A660826AA0160E06A6A6A0040D80CA0E026600800400220020020060B2442A66A0020DA440BA60BA0026A0280D4660B40020246A6A0080C80BE26A6A0020C20B4A66A609601C420022C2A66A660600040320BA266060002032603200E6068010464646A09C4444464646464646464660706606A00C0066607066068660A600C018660A6006018660706606E6608E6A6A66A60C60CA00401E0BC0B2660B601201090011981C1981F998188070009981C1981B9811800A40006607066068604201C60420026607066068604401C60440026606E604801C6048002660706606A60AA00A09666070A66A609024466609C44A66A60A26A6A0040C40B8266008004002200200200809E442A66A0020C6440A6A66A609024466609C44A66A60A26A0040B8266008004002200200260B000E09E442A66A0020C6440A666609A08000600860A40066A0020ACA66A608824466609444A66A660666A6A6A00E0BC0AE0C46A6A0040AE0C4266008004002200200260A80062C0D06A0100BA6A6A0020B00A6A66A608400C420022C603000C606600E4464646A09E44444A66A6A00E440A8426464646464646464646464646607E660700286660AA09000800C6607E66076014660B40060246607E6607E6607C6609C6A0040C00120106607E6606E6A0040BC6A01A0D26606C6A0040BE6A01A0CA6607E6607866AA60CE0D846A00244660CA00466AA60D40DE46A00244660D0004666A0026E012000700466E0000520000013304000B3500922330723306400233072330640010090540540033303F3303E3304E3535335306A06C0010160650603306200F00E48008CC0FCCC0F0C1700181494CD4C13C488CCC154894CD4C160D4D40081A418C4CC010008004400400400C1588854CD40041A888168C168014CD4C1A01A800C04CD40041754CD4C12C488CCC144894CD4CC0DCD4D4030194178D40081784CC010008004400400400C581BCC160004D403418CCCD4080178D4D4080188178004CC11800C004CC164020D4004170CC140004020D4D40041681554CD4C11001C8400458124C06401CC0D0020448004584D55CF0011AAB9D0013754004444A66A6600600400207809C46A0020B0246666666600204044A666AE68CDC38010008020A999AB9A3371200400203203044666AE68CDC400100081B01E802802001912999AB9A337120040022002200444A666AE68CDC4801000880108008881F11199AB9A3371000400207406644666AE68CDC480100081C81911199AB9A337120040020620706607C91100488100223333550023303F2233350050480010023500304222337000029001000A4000660784446006600400240026607666076E01200070246A0024444400A46A0020A246A0024407246A0024406C464A666AE68C140D55CE8008991919191981E2999AB9A305435573A00626464646464646464646464646464646464646464646424666666666600201A01801601401201000E00A00600460446AE84D5D10011980F1981DBAE2001357420026AE88008CC071D71ABA100135744016A666AE68C190D55CE804899191919827A999AB9A306735573A004264660A066038EB4D5D0800980D9ABA1357440026AAE7800817D4CCD5CD18339AAB9D001132330503301C75A6AE84004C06CD5D09ABA200135573C0020BE6EA8D5D09ABA200237546AE84004D55CF00482E1980C9981B019BAD35742014660300326AE84028CCC059D70029ABA100A33301575C0086AE84028CC054008D5D08051980A1192999AB9A306035573A0022646609260326AE84004C010D5D09ABA200135573C0020B06EA8004D5D08051192999AB9A305F35573A002264646660B060606AE84008CCC059D70029ABA10013303375C6AE84D5D10009ABA200135573C0020AE6EA8004CC045D73AD37546AE84004D5D10009ABA2001357440026AE88004D5D10009ABA200135573C006098A666AE68C15C0044C848888C010014C02CD5D09AAB9E00215333573460AC00226424444600400A60486AE84D55CF0010A999AB9A3055001132122223001005300C357426AAE7800854CCD5CD182A0008990911118018029BAE357426AAE78008130D55CE8009BAA357426AE88008DD51ABA100135573C0020906EA80048C94CCD5CD182800081E8A999AB9A304F00102B04735573A6EA800488C8C94CCD5CD18290008058A999AB9A3051001130193004357426AAE7800854CCD5CD18280008050241AAB9D00137540024464460046EAC004C10888CCCD55CF8009014119198239981C98031AAB9D001300535573C00260086AE8800CD5D0801020919118011BAC00130402233335573E002404C46608860086AE84008C00CD5D100101F91919192999AB9A305300211222203515333573460A4004220922A666AE68C1440084C8C848888888CC004024020DD69ABA135744A0046EB8D5D0A8008A999AB9A3050002132321222222233002009008375C6AE84D5D128011BAE35742A0022A666AE68C13C0084C8C848888888CC018024020DD71ABA135744A004603A6AE85400454CCD5CD1827001099091111111803804180E9ABA135573C0062A666AE68C1340084C848888888C014020C074D5D09AAB9E003045135573C0046AAE74004DD50009192999AB9A304A35573A0022646606660086AE84004DD69ABA1357440026AAE78004108DD50009192999AB9A304935573A00226EB8D5D09AAB9E0010413754002220582205444A66A00442A66A00442660240040020462A66A0024046068446A004446A006446666010008006004002446A004444446A00C44444A66A6601E01400A2A66A6601E0120082A666AE68CDC38040018A999AB9A3370E00E0042A66A00C42A66A004426A004446A004446A00A446A00444A66A666602E00C00A0040022A66A00E42A66A008426604800400206A2A66A006406A08C0680562A66A002405607805405405405444446466A00A466A0084A666AE68CDC78010008018121013919A802101392999AB9A3371E0040020060482A66A00642A66A0044266A004466A00446601200400244405444466A0084054444A666AE68CDC38030018A999AB9A3370E00A0042660220080020520520442A66A00240440664466A004466A00446601C0040024046466A004404646601C004002446A004446A00644A666AE68CDC780200109980780180081091199AA9815019180680191A80091199AA981681A980800311A80091199A800919805A40000020144660160029000000998030010009981280100A91199AB9A3370E00400202C03A44A66A00420020324466AA605205C46A002446604E004666A002466AA605A06446A0024466056004601800200244666010016004002466AA605A06446A0024466056004601600200266600600C004002444666AA605005C06466AA605205C46A002446604E0046010002666AA605005C446A00444A66A666AA6054064601A01646A002446601400400A00C200626606C00800602800266AA605205C46A002446604E0046606844A66A002260120064426A00444A66A6601800401022444660040140082600C00600800442444600200842444600600844666AE68CDC780100080800B9980E80080A11299A801012080091980E11199A8018128010009A80080F9192999AB9A303435573A00226464646466666042666016EB9D71ABA100433300B75CEB8D5D08019BAD357420046EB4D5D0800998051192999AB9A303A35573A0022646604660146AE84004CC035D71ABA1357440026AAE780040C8DD50009ABA1357440026AE88004D5D10009ABA200135573C0020586EA80048C94CCD5CD18199AAB9D0011323301C3005357420026600C0086AE84D5D10009AAB9E00102B375400246464A666AE68C0D00044C8C8C8C8C8488CCC00401801000CDD69ABA1357440046EB4D5D08009ABA2002375A6AE84004D55CF0010A999AB9A3033001130103004357426AAE780080ACD55CE8009BAA0012323253335734606600226424460020066EB8D5D09AAB9E00215333573460640022601E6EB8D5D09AAB9E00202A35573A0026EA800488C8C94CCD5CD18190008980798021ABA135573C0042A666AE68C0CC0040380A8D55CE8009BAA001222325333573460626AAE740044C8CC068C014D5D080098021ABA1357440026AAE780040A4DD5000911A8009119198131119A800A4000446A00444A666AE68CDC7801004898038008980300180298129119A800A4000446A00444A666AE68CDC7801003880089803001919A80081100211A800911A80111111111111999A805900B900B900B9199AA981101500B11A80091299A998090010020980C00180B805912999AB9A3371E6A0040346A0020342666AE68CDC39A80100B1A80080B001805003880B91180F11299A80088019109980300118020009299A800900B0019111A801111299A800909A8029111111111299AA99A999AA981001400A11A800912999AB9A3371E00401C2602C00602A0044260286A0020440244260240022C2C2006424460040066601444A66A0044200620020022018446602E44A66A00203C4426A00444A666AE68CDC78010038A99A8008111109A80111299A8018A999AB9A302D00113301400B0020262202813006003002235001222222222200A2350012201C23500122222222220092220032220012220023333300248811C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB10048811CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D8600330014891C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62F004881074D494E535741500048811C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816004881054F574E455200221233001003002222221233333001006005004003002300B22112225335001135003006221333500500C300400233355300700F0050040012200130092211222533500110022213300500233355300700D005004001300822112253350010052213300F30040023355300600B00400111001220023005221225333573466E20005200013005490103505436001533500213005491035054370022153335734602C0062004266A600C01000266E0400D2002253357380022C240026004444A66A00220044426A004446600E66601000400C00200660024444A66A00220044426A00444A666AE68C0500044CCC02001C01800C4CCC02001CCC028CCC02C01C00800401800C8C8C00400488CC00CC00800800488488CC00401000C88848CCC00401000C00854CD5CE2490350543100162215335001100200715335738921001622222222007220053704904D0F910B111110021B8748000DC3A40046E1D2004370E90031B8748020DC3A40146E1D200C01049FD8799FD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD87A80D8799FD8799F4040FF1A0DB489F4FF1A001E84801A001E8480FFD8799FD8799F4040FFD8799F581C2ADF188218A66847024664F4F63939577627A56C090F679FE366C5EE46535441424C45FF1B000000197F2DFB6C1B0000001C057179D7D8799FD8799FD8799FD8799F581CAAFB1196434CB837FD6F21323CA37B302DFF6387E8A84B3FA28FAF56FFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFFD87A80FFFFFFFF0582840002D879808219A44D1A00C298B4840001D8799FD8799FD8799F581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9DFFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFF00FF821A0027DD651A21324657A10081825820AD0AAEA4118ABCB6B05462B75627A02D8062C89519284371C0EEF89A6C14DD7F58400D71B3C39BDD278ECFC2F6488D08CCD89524F12D1C897D39102885F4B7DEEF9A4335219BBA759641DD4A6EC2878259C3F24868309EB902CABAB93B5FE81B860AA10081825820A493791AE24138C75A2184833624D05B92217CD2B66FC0822FFA6FEBBBC74F1B5840B730B514727078B3F3A34AFF51866B256A32549B80C9007D3B92644F107E245DDC8B4BDAEE529E277F1DCCA2FE4DDFC650A30873B9C06E592A83A8C8E7D8F70CA10082825820C5E6427373B64D1DB3C8234EA7A091AD737C13454FE21810C3B1E0A55A996F5B58404A584695D8B0E0AA0C08FD8F8080F328DBF8D68F80586D086299BC5447F3445B12A4B136FF78BD4CB2168AF4A1E018EDF5BB58EC842142DDC9C182253113C00A825820DBE399C3CE2752ED51DEB87AA41FEF5E8FB7B85770C1559FCDF1B86356C93C1F584081F6B1D83A0C7B0275B3612545D03EC8C34F906C2DDA3323DEC1DF51388206EE81B6034DFEBA60D6FB5527D0E5F4BFE48D6BBC8C57F2FB2E8FE4172B9F221902A100818258203BE82B0F10CB2B8BFCE43A46477C82BD27F5CF5447E5638067CEADFB6562682A58402D36BECFA98428D066107B393791538DB728D1D15AFE90F650658A18B68213B28469631F56950C5B0673777B8087089431F63778ADEE48AE4B78D23390608406A300838258205424FA10BA83C95C33714C420479C19183A7274E7C1D4161D173842C245B340C5840C2B18289C97E300169F530B1740A19D819DB3E6B144E0D9F3D9951F16E872A4137B48F1C5502129F70CE83A391798B501C104702EB843B0EEF4093E2B48DAB0C8258202DECD7E52458014264CB7C336E08824E1BDC31333AEAEB94A9A8FA7F1CAF6A275840AE0C0A7995755C9F8905B107E43BFE33D994446D4968C31AB5637FDB878D5B0F3B502A2E9F2E7F061C82C8D9BA1DCF8FAA9F59A8F4B3C8774D93C820020DF50C825820B8E42073D9E396D36FEF3EFAAD33FA6C9D57F0E814FEB2F8B13F1785779B1B3D5840D188E82FF16027F3487831E7D0964123A5AF2D056EE9A3299F6E74A29B5A60381476F72B0BB8709323035D011A15C35117A68F90B2AE3769209DEFF4561F520701818200581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67E0581840001D87A80821A000A09041A09DE870BA10081825820AB5638897CBCF6FF1C1CC0767BABD7FDACB6337D222637BD9117A602B124EB865840F111258B61E0654F10330EC510C1CB706B5F81C96541745F710C510559DD2E3004953D1E53A61279F85BD81E22784471B0DC104C673E87FB4ED1CB35631F9F0AA10083825820E2FA3E626895D6D4CFE2EF3DBEC513CCAEB8413D823C46AE3208FCE9C874F0935840341896024A67E76F1DE9FD00D07E680E7B20C21677EFEE35DF6203D6E4C9DD5E4A3DC9740AAB0DA8815C28AE7A2CF269E2638DB20681F85E9BE92D14B86858018258206CE613BA27D4AE20F2EFFBD0F140391E886F45A0514B05FBC162797792E8ADD758402CF9A6E737898FDF562AC9C598BF5F51BB8B04025736E1C0DE67ECBF84DA8C1C6F8D3D3CC26CD5CCCCF4DAACE615E7054FACED581AC2AA4EDD4E42038C52D307825820D1C66156CB49062EFB4C0E84F1D5EF341D2C1DE6145EF3EA7C3EB2EAD517D69D5840C8C1D108763006A985E1A8195A1D1498821E10A60F2EA9A32D6373CA848C7879849E0849FDF344E85754948168F6FFAD3E8C27A63022EA87C4E459FD90983509A20082825820F44CE6186D190F8776FD871D753DF7AE503972E4793A2360A423D2F96021E6015840AE1B386055C67618A90E9E4E3E4EF32EFAEEBD0EF250C2D6B8E5A143101DA5FF759A9B72560781922DF05622ACFB270F14C5EEFA7F92624A05943309B111200D82582063179F731829D60AADE12A1398C07B7A905CC38E7D9901850C9B186946F5CA3E5840E8A5C3A82A3A8B875A0071C5C67E814258D9FF5A076363A5B0378C257CC25E4EE13F9EF7BC88941C83C99E4D8733C15EDBC9510D216FE59B2284B6F0E6C2DE010585840001D87980821A000CD26E1A1353F9A1840003D87980821A00011EFA1A01877AA6840002D87980821A00011EFA1A01877AA6840004D87980821A00011EFA1A01877AA6840005D87980821A00011EFA1A01877AA6A100818258206C0180DB688A9E477B10A7792E3C4EFD749CDDBE0E05068B6CB586DEE54056975840F1E23A11023A6E899C629F734DF02E465C07920009DA4D14CAD8A1E08C0A1D9DD9FBBD2466C82AA37C4527F8297DA9366A921B23A280B2990B4B51D40853630CA20081825820195D50C57556DB660A05490A189B44E35792178D30B51559FE11E84B8307FE9958401529F76C1E9B74EDBA4662815A58BF2340D4AA0F16080901FA4D0923D14FBD1BBBC4DFD675268054DE31C6915776FD72C4B05A6F55389411B7A7AC768DCA7C08049FD8799FD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD87A80D8799FD8799F4040FF1A11A57764FF1A001C8D761A001E8480FFFFA10082825820C85A60EEDB74667C9E96D540D39E171F36F8823FEB7763695504380DAE7571505840AA5E8D33D16944617A79040251257631D6E5F01FF96E10B026EE524E5504204FAACA4768ECF148C9EF161562BA42C9290C6EA87D5C7314E55E39CCBB1238C803825820EAB4F01540F4894D70494A9D7E6027123A15A6BDFFA37C9D2FD9336BC4E704D35840451A87230714B035E3A00006C591B682F4180E202D163E10A0EC22D9822FD4903A75A9507C64517DBE35C8401E4A774BE474D84D208540038ED22BC525E1C901A30081825820C9ED443C114A83D7BC435A0F5BC6336BC5233CECDD1EEDE2B718E63521A272C75840CE6D1F9309A8A31142D3D819193B67C96CA5B94D95AF8B5DC0E669EDEAEADC388D8ED5F67B47B791A3E279B9325C2BFBFE8963B94BA7E9A1EC61A7A46441B00906815903A259039F0100003323232323232322232322533300632323253330093006300A3754002264646464646464A666026602C00426464A66602466602466E3CDD718098019BAE300130143754022941288B0A999809180798099BAA01013233001001375860306032603260326032602A6EA8048894CCC05C004528899299980A99191980080080591299980D8008A5013253330193371E6EB8C078008010528899801801800980F0009BAE301A00213300300300114A060340022A666024601E60266EA8C8CC004004024894CCC05C004530103D87A80001323253330163232533301B00114A02A666036603C00226464A66603466E3CDD7180D8011BAE3004301C37540322A66603466E1C0280044CDD79804980E1BAA006301F302030203020301C375403229405281BAD301B001301D00114A0660146EACC004C064DD50019BAE301C301D301D3019375402C46038603A002266E9520003301A0024BD70099802002000980D801180C8008A511623017001375A60240022C60280026600264660020026EACC050010894CCC04C00452F5BDED8C0264646464A66602866E3D221000021003133018337606EA4008DD3000998030030019BAB3015003375C6026004602E004602A0026EB8C04CC040DD50031119299980819B8748008C044DD50008A5EB7BDB1804DD5980A98091BAA001323300100100322533301400114C0103D87A8000132323253330143371E00C6EB8C05400C4CDD2A4000660306E980052F5C026600A00A0046EACC054008C060008C058004DD618089809180918091809000980898088011BAC300F001300F300F300B37540042C601A601C004601800260106EA800452613656325333005300200115333008300737540062930B0A99980299B874800800454CCC020C01CDD50018A4C2C2C600A6EA8008DC3A4000AE6955CEAAB9E5573EAE815D0ABA24C01F1D8799F51576F726C644D6F62696C65546F6B656E5850776F726C646D6F62696C65746F6B656E581C1D7F33BD23D85E1A25D87D86FAC4F199C3197A2F7AFEB662A0F34E1ED8799FD87A9F581C7815664DDCF92F023C9F6E7E0792D6B2F733282486993613E549D8B6FFD8799FD8799FD87A9F581CE2667F1ABA5F840845F1DFB453764A774C2B67DD7C0D968C5C172480FFFFFFFF9F581C4C0B87C21190AD6F6144D0609761A8AF515EFD3FABCC8D929D63E9E3581C1423D22EA96D09B88162B1B7A9A88DF1BFC2AEC37CD805428D6A0D33581CFD82C56701320BE6ACB42F8BA7590A5E207325ADC3ED61112901463FFFFF00010581840100D87A80821A00016AEC1A01DA2547A200818258202B3A86403E846DF1C4417562A1C94010F01CA5566864BA5A5017D48682B5468A58406B0C3620443405459B7E83395E801B95ADCA4D0772A990358035654263519737DDEFB3EB6CC569C0E1B4CE6D88CED3EF135732C35A636E1698DBA5D50C7FA8070581840000D87A80821A000F42401A11E1A300A200818258202B3A86403E846DF1C4417562A1C94010F01CA5566864BA5A5017D48682B5468A5840AD1BD3838CC8AB4B43150497E908341405468249694566137013B610487BD1E8BAB5ECB777E03E959ABC665D087E369CC4C2FEC5A987E055C2CB142712D9A107049FD8799FD8799FD8799FD8799F581CAABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4FFD8799FD8799FD8799F581CDE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D4FFFFFFFF4040581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC9244579756D6D691A01515B46D87A801A00286F90FFFFFFA400818258202B3A86403E846DF1C4417562A1C94010F01CA5566864BA5A5017D48682B5468A58409D5257D9F2F0FB1ED7A978754F350484C9E15A0C54F52A5C6C7B793227D1B847B392ADEFED84D04A497C7FD25C641EFE9600B3169518D0754C88890212FD4102038159084959084601000033233322232332232333222323332223322323332223233223233223332223333222233322233223322332233223332223322332233322232323232322222325335300B001103C13503D35303B3357389201035054350003C498CCC888C8C8C94CD4C05C0144D4C0680188888CD4C04C480048D4C0ED40188888888888CD4C078480048CCD5CD19B8F375C0020180440420066A6040006446A6048004446A605000444666AA60302400244A66A6A07C0044266A08C0020042002A0886466A002A088A08A2446600466A609000846A0820024A0806600400E00226A606CA002444444444466A6032240024646464666AE68CDC399991119191800802990009AA82C1119A9A826000A4000446A6AA08A00444A66A6050666AE68CDC78010048150148980380089803001990009AA82B9119A9A825800A4000446A6AA08800444A66A604E666AE68CDC7801003814814080089803001999AA81E3AE335503C75CEB4D4C084CCCD5CD19B8735573AA006900011998119ABA1500335742A00466A080EB8D5D09ABA2500223505135304F33573892010350543100050499262220020183371491010270200035302801422220044800808007C4D5D1280089AAB9E500113754002012264A66A6A070601A6AAE78DD50008A81A910A99A9A81D0008A81B910A99A9A81E0008A81C910A99A9A81F0008A81D910A99A9A8200008A81E910A99A9A8210008A81F910A99A9A8220008A820910A99A9A8230008A821910A99A9A8240008A822910A99A9A8250008A823910A99A9A82600089999999999825981000A18100090080071810006181000500418100031810002001110A8259A980A1999AB9A3370E6AAE754009200023301635742A0046AE84D5D1280111A8211A982019AB9C490103505431000414992622002135573CA00226EA8004CD40148C8C8C8C8CCCD5CD19B8735573AA00890001199980D9BAE35742A0086464646666AE68CDC39AAB9D5002480008CC88CC08C008004C8C8C8CCCD5CD19B8735573AA004900011991198148010009919191999AB9A3370E6AAE754009200023302D304735742A00466A07A4646464646666AE68CDC3A800A4004466606A6EB4D5D0A8021BAD35742A0066EB4D5D09ABA2500323333573466E1D4009200023037304E357426AAE7940188D4154D4C14CCD5CE2490350543100054499264984D55CEA80189ABA25001135573CA00226EA8004D5D09ABA2500223504E35304C335738921035054310004D49926135573CA00226EA8004D5D0A80119A81CBAE357426AE8940088D4128D4C120CD5CE249035054310004949926135573CA00226EA8004D5D0A80119A81ABAE357426AE8940088D4118D4C110CD5CE249035054310004549926135573CA00226EA8004D5D0A8019BAD35742A00464646464646666AE68CDC3A800A40084605C646464646666AE68CDC3A800A40044606C6464646666AE68CDC39AAB9D5002480008CC88CD40F8008004DD69ABA15002375A6AE84D5D1280111A8289A982799AB9C491035054310005049926135573CA00226EA8004D5D09AAB9E500423333573466E1D40092000233036304B35742A0086EB4D5D09ABA2500423504E35304C335738921035054310004D499264984D55CEA80109AAB9E5001137540026AE84D55CF280291999AB9A3370EA0049001118169BAD357426AAE7940188CCCD5CD19B875003480008CCC0BCC11CD5D0A8031BAD35742A00A66A072EB4D5D09ABA2500523504A353048335738920103505431000494992649926135573AA00626AE8940044D55CF280089BAA001357426AE8940088D4108D4C100CD5CE249035054310004149926135744A00226AE8940044D55CF280089BAA0010033350052323333573466E1D40052002201623333573466E1D40092000201623504035303E335738921035054310003F499264984D55CE9BAA001002335005200100112001230023758002640026AA072446666AAE7C004940C08CD40BCD5D080118019ABA2002498C8004D540E088448894CD4D40BC0044008884CC014008CCD54C01C48004014010004C8004D540DC884894CD4D40B400440188854CD4C01CC01000840244CD4C01848004010004488008488004800488848CCC00401000C00880048848CC00400C00880044880084880048004888848CCCC00401401000C00880048848CC00400C00880048848CC00400C00880048848CC00400C00880048488C00800C888488CCC00401401000C800484888C00C0108884888CCC00801801401084888C00401080048488C00800C88488CC00401000C800448848CC00400C008480044488C88C008DD5800990009AA80D11191999AAB9F0022501223350113355008300635573AA004600A6AAE794008C010D5D100180C09ABA10011122123300100300211200112232323333573466E1D400520002350083005357426AAE79400C8CCCD5CD19B87500248008940208D405CD4C054CD5CE24810350543100016499264984D55CEA80089BAA00112122300200311220011200113500D35300B3357389211F556E6578706563746564205478496E666F20636F6E737472756374696F6E2E0000C498888888888848CCCCCCCCCC00402C02802402001C01801401000C00880044488008488488CC00401000C480048C8C8CCCD5CD19B875001480088C018DD71ABA135573CA00646666AE68CDC3A80124000460106EB8D5D09AAB9E500423500C35300A3357389201035054310000B499264984D55CEA80089BAA001212230020032122300100320012323333573466E1D40052002200823333573466E1D40092000200A2350073530053357389210350543100006499264984D55CE9BAA0011200120011261220021220012001112323001001223300330020020014891C0029CB7C88C7567B63D1A512C0ED626AA169688EC980730C0473B9130001049FD8799F420203D8799FD8799FD8799FD8799F581CAABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4FFD8799FD8799FD8799F581CDE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D4FFFFFFFFD87A80FFD87A80FF1A002625A0D8799FD87A801A001494FDD8799F1A0393295BFFFFFFFF0581840000D87A80821A000F42401A11E1A300A200818258202B3A86403E846DF1C4417562A1C94010F01CA5566864BA5A5017D48682B5468A5840FAD41C345C091208A38F71286577836B2D85BF555FFF549D32596E9B87FBBE729F4288D7CA90F38A552A5CA2D6769AFDA3246ABF6131790961CBBCCB4A94DD0E049FD8799FD8799FD8799FD8799F581CAABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4FFD8799FD8799FD8799F581CDE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D4FFFFFFFF4040581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC9244579756D6D691A02F6D99DD87A801A00286F90FFFFFFA100818258205F8BDA213103EA2E2C2DAEB31C9C41FB867C4B081C1F6CFECD02C2F33B884D295840C7D138F04F86680F57258F9CE4F0B5FF0BF15220B19BF458484A279D39007096BA9FEFBD9FDA57678ABC7350F264E23762F2DA6039FA13B4341E2237882EA107A10081825820BF87EF5205BA1E2E861988D3DBFDEBDE43D211553B9FBDD261D342DEDAED82005840340A183A54962D42E885B03550161C56812C498E54350BC6C831DCEFB36B1067388E7BD59E0426CF5FED77D7B6F9D47C33CF9885FB855F821F8909CF3F08DB09A1008182582025308E694E1438CAF4DA40DA2B0E0FC8E65C5202B923BC23AB9C56841D0600235840E0258454F44D3E40D066DB9D5ADE0DC4DDAD56C1F1516B13A659AEC35C440222C1EF95F4B5976FB04B4490ACC8F77544330A363EF53D87370FB9E770B4E56E0EA20081825820195D50C57556DB660A05490A189B44E35792178D30B51559FE11E84B8307FE995840FF18EBF4E15DA8D591F0C344063E8E65661AC7EC730F66DCE85412D4220C4EF075667CFF1213088A450BB93BCD0710EC9D5B3E39D1CDB2EC59DD3197B841670D049FD8799FD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD87A80D8799FD8799F4040FF1A035C8B98FF1A001C8D761A001E8480FFFFA10083825820EBF5856DBD55B5A3E821B64DE72F97E1E12338317059F58A145B696A1228CD8E5840A49733CEE2CD1D0AE8E59929E0938A239469BC51D9AEB36B4C99AFB57E811244A90D63ABC67CFE5E77D94C86991EF4B06F062CA97AE16A06BB06D3DAD4513D0B8258201EAF8839BCB1C12D9EDA4A45BB147BB3EE27FA7BA33B180FB9900B2A9B4BD063584081B6FBF7542972268A23200B7943E5BD97D7C071566FB1B31E1CC8D152F4A3A2013E69A4A20DCB35532EC703EA1225C0E0D30235EE10397E0876C92105402500825820AE996E0FF56529FC11045AA901B4CD6F3D1A9150C773FB693CD809E2954E46975840E4B7767D0F29535214555DCB918C7C4B2EDD95607A303E72C4B1778D5300953367B6FEF39985A3F674D1D3A3925BB96904DA841A708ACC0B58684A3A7CEE050FA20081825820E97B61F9217E124797F591549FFF8827742086E25326EB83B2716678A92479775840CF1A868F5A3CF17062C9A427A110C174C014E444F4A35C5BAC24F7EC07B7E00E4649BA7532C703625B0E74A209BFB734A3DBC2B30C7331FCBB51B85A82CE8C010581840000D87E9F00FF821A000717761A088CEB18A10082825820D62C79ECDD6E11A7FF5CFC1FB4EDC395921D3DE147E2A324D19385E7A443877D5840EB202D2DFDEFA34D36D1399B5F9958B345E88FE1CA513A4D0975A9E8D12D70DC6441D8DF0B6517B2B9D2DFC84FB017DF353558DF05302459FD461DFBDE50630E825820E2BF60C6A66662AA6A97A2EB24B7BB732201BC566C0E208D34807E110569427B584004BE267029275B49CD706817AFD210A13DBBF83202E5AD99466E55454203FFF661B9F2EB8E2E82FC0FC4F9314E7A4985E6F861BA236A9902C2F21F6EC4C4EF0FA1008182582040FD97949F8B3B1E5E2EA10980B149C1965662A90CFE5C4BEED0AEE34BB6E18E584013507B982FE2356F7C996B0BB69C23709965B7E45C90AB8B9D194794E986B426D5AD16848EF0777A349A1D2547394BD6CF2B33341DF906E86BEC6C40B642C305A4008182582075061BDCA58BE80622C5793E283EDCEC25E866D61E3E2FAA4D62EE3171DDEE96584001776D16286E00A1BEB84241E3E815A9F96976E263D48A153A28BB7C1293050DC86F030D19733EE8E703D21F26F1ACEE48291FC7F9A5919B1D4B1CCB24A5D501038159014F59014C01000032323232323232322223232325333009300E30070021323233533300B3370E9000180480109118011BAE30100031225001232533300D3300E22533301300114A02A66601E66EBCC04800400C5288980118070009BAC3010300C300C300C300C300C300C300C007149858DD48008B18060009BAA300C300B3754601860166EA80184CCCCC0288894CCC04000440084C8C94CCC038CD4CCC038C04CC030008488C008DD718098018912800919B8F0014891CE1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC133090014A0266008444A00226600A446004602600A601A00626600A008601A006601E0026EA8C03CC038DD5180798071BAA300F300B300E3754601E00244A0026EB0C03000C92616300A001375400660106EA8C024C020DD5000AAB9D5744AE688C8C0088CC0080080048C0088CC00800800555CF2BA15573E6E1D2002010481D8799FD8799FD8799F581CD829E2C95C2DC8EA617AEE2DE93FBDE74FEDA585B7CF0D47149594C3FFD8799FD8799FD8799F581CDF7E4AC96E421B7F6AF92F311C9446BF87D9FF77EC44AC9D1B34ECE2FFFFFFFFD8799FD8799F581CD829E2C95C2DC8EA617AEE2DE93FBDE74FEDA585B7CF0D47149594C3FFD8799FD8799FD8799F581CDF7E4AC96E421B7F6AF92F311C9446BF87D9FF77EC44AC9D1B34ECE2FFFFFFFFD87A80D8799FD8799F581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC9244579756D6D69FF1A00344845FF1A001E84801A001E8480FF0581840000D87A80821952081A007A1200A30082825820CDAE2D7278A179C04A26771BC490741E9AB5EC3CA427D4572C75F43BC2CFE9275840E80E2FDB8ACAE5DC114D5D19008A6A28AD69B4022FB65D988439F282F47F956A207D5E95D58B65CEA7ADFEFF541FA52600C1C15A910C69C053F16E32A72FFE01825820EA1D859056251E73132D8F7AA92F2EFE28154765EC7FE44FD42C62A928E1722D5840D6AFE9A755E8B3BA87CD24271F2563EEFB9EFD85D2423659173EF83870BEB7C2AB9FD28F6C850336791A15F56D8964474205CC58FDAA84C08159A16D72DF240105A282000182D87A9FD87A80FF821A0006AE961A084ECB4082030082D87A9F01FF821A0007034A1A08DF153D06815910FC5910F90100003323232323232322322323232253330083232323232323232323232323232323232323232323232323232325333023301F3024375404026464646464A666050604860526EA80044C8C94CCC0A8C048C0ACDD500089919192999816981418171BAA00113232323253330313371201A0022A6660626666022603860666EA80580740780804C8C94CCC0CCC0BCC0D0DD5000899299981A19BAF302C303637540026072607460746074606C6EA806454CCC0D0CDD7980F981B1BAA0014C107D87B9FD87980FF0015332330353371200864A66606C6062606E6EA8004520001375A607660706EA8004C94CCC0D8C0C4C0DCDD50008A6103D87A8000132330010013756607860726EA8008894CCC0EC004530103D87A80001323232533303B3007375C60780062603C6607E6EA00052F5C026600A00A0046EB4C0F0008C0FC008C0F4004C8CC004004DD59810181C1BAA00322533303A00114C103D87A80001323232533303A3006375C60760062603A6607C6E980052F5C026600A00A0046EACC0EC008C0F8008C0F000454CCC0D4C0C401854CCC0D4CDC38088028A99981A9919BAF374C6600204E910100374C6466002002660046EACC084C0E4DD5007A450022533303B00114BD6F7B6300991981E99BB037526EB8C0E8004DD319198008009BAB303C00222533303E00114BD6F7B6300991982019BB037526EB8C0F4004DD419B8148000DD6981F000998018019821001182000099801801981F801181E80091191980080080191299981E0008A5EB7BDB1804C8C8C8C94CCC0F4CDC7803801080189982099BB037520046E98004CC01801800CDD5981F0019BAE303C0023040002303E00114A22C2C26464646464A66607466EBCC0C8C0F0DD500119BA548008CC0F8DD4806A5EB8054CCC0E8CDD780219191919191918119982218228031982218228029982218228021982218228019982218228011982218228009982218229823000998221BA83370202003897AE030450013044001304300130420013041001303C37540202A66607466EBCDD30009BA63232323330010013756604E607E6EA8054C94CCC0F8C0E800452F5BDED8C0264646600200297ADEF6C6022533304400113304533760981014000374C00697ADEF6C601323232325333045300A3300B488100002133049337609801014000374C00E00A2A66608A602200426609266EC13001014000374C00E00626609266EC0DD48011BA6001330060060033756608C0066EB8C110008C120008C118004C8CC0040052F5BDED8C044A66608600226608866EC13001014000375000697ADEF6C60132323232533304430093300A488100002133048337609801014000375000E00A2A666088602000426609066EC13001014000375000E00626609066EC0DD48011BA800133006006003375A608A0066EB8C10C008C11C008C114004CDC0A4000032444A6660840042002264666008008608C0066644646600200200A44A66608E00226609066EC0DD48021BA60034BD6F7B630099191919299982418069980700400109982619BB037520106E9801C01454CCC120CDC78040010992999824982298251BAA00113304D337606EA4024C138C12CDD50008020802192999824A9998260008A5114A0298103D87A80001302C3304D374C00297AE032333001001008002222533304E0021001132333004004305200333223233001001005225333053001133054337606EA4010DD4001A5EB7BDB1804C8C8C8C94CCC150C064CC0680200084CC160CDD81BA9008375000E00A2A6660A866E3C0200084C94CCC154C144C158DD500089982C99BB0375201260B460AE6EA80040104010C94CCC154C144004530103D87A80001303833059375000297AE03370000E0022660B066EC0DD48011BA800133006006003375A60AA0066EB8C14C008C15C008C154004DD718268009BAD304E001305000213304C337606EA4008DD3000998030030019BAB3049003375C608E004609600460920026EB8C104004DD5982100098220011BAF4C103D879800022533303C33720004002298103D87980001533303C3371E0040022980103D87A800014C103D87B80001533303A3301B3758607E60806080608060806080608060786EA807C8CDD79812981E9BAA003301E3303F301E3303F0014BD7025EB805288B0B0B0B1BAB303E303F002303D0013039375460700046070002602E0506E3D2201001616163038303537540022C6602004A01866E04034C8CDC199B8200E375A606664A66606C60726072002266EC0C0E0004C0E0C0E400458DD61800981A1BAA017375A606864A66606C60726072002266EC0C0E0004C0E0C0E400458DD61800981A1BAA0172303730383038303830380011616375A606A606C606C606C606C606C0046EB4C0D0004C0D0C0D0C0C0DD50021BAE3032302F37540022C6048605C6EA8C090C0B8DD50021807800981798161BAA001163014302B3754002602460546EA8C0B4C0A8DD50008B1980280E9BAD302C302D002375A605600260560046EB4C0A4004C094DD50100992999812181018129BAA001132325333026300E30273754002264646464646464646464646464A666066600200A2A66606660020062A66606666EBC028C8C8C8C064CC0E8C0EC00CCC0E8C0EC008CC0E8C0EC004CC0E8DD40041981D1BA80063303A005303C303C303C303C001303B001303A0013035375401A264A6660686060606A6EA800454CCC0D0CCCC050C0E4C0D8DD50008100108118A99981A19BAF009302C30363754020266EBCDD3004180F181B1BAA01014A02C2C607060726072607260726072606A6EA803458585894CCC0CCCDC4A4000002266E2400520A09C0114A0606C606E0046EB4C0D4004C0D4008DD6981980098199819981998179BAA004375660626064004606000260586EA8C0AC008C0AC004C02806CC02C004C0ACC0A0DD50008B180818139BAA001300E302637546052604C6EA800458CC004064DD6981418129BAA0203001001222533302700214C103D87A80001323253330263022003130093302A0024BD70099980280280099B8000348004C0AC00CC0A40088888C8CC00400401488C94CCC09CC08C0044C8C8CC004004020894CCC0B4004528099299981599B8F375C606000400829444CC00C00C004C0C0004DD7181618149BAA002153330273022001132330010013758605A60546EA800C894CCC0B000452889929998151980300318178010998018018008A50302F00115333027300F0011330083758605860526EA80088CC01001000454CCC09CCDC3A400C00226466E24DD69816800991998008009BAC302E302F002480008894CCC0B800840044CCC00C00CC0C40094CCC0ACCC01C01CC0C00084CDC0000A4004200260526EA800854CCC09CCDC3A401000226464A666052604860546EA80044C94CCC0A8C94CCC0B8C0B400454CCC0ACC098C0B00045288A999815981398160008A5016163754602860586EA8C050C0B0DD5004099B890010031337100020066EB4C0B8C0ACDD50008A503020302A3754602460546EA8018DD6981618149BAA002153330273370E9005000899192999814981218151BAA001132533302A32533302E302D0011533302B3026302C00114A22A666056604E605800229405858DD5180A18161BAA3022302C3754010266E2400C0044CDC40018009BAD302E302B37540022940C080C0A8DD5181018151BAA006375A605860526EA80084C8C8CC004004018894CCC0B4004528099299981599BAF004302C303000214A2266006006002606000260146605666E9520023302B302C3029375400497AE04BD7018139BAA00122323300100100322533302600114A0264A6660486008605200429444CC00C00C004C0A40048C94CCC080C070C084DD5000899192999811180518119BAA0011323233760008004600E002604E60486EA800458C030C08CDD5000981298111BAA00116533302200114C103D87A8000130023302330240014BD701BA54800094CCC074C064C078DD5000899191919191919191919191919191919299981818198010991924C64A66605E605600226464A666068606E00426493180B8008B181A80098189BAA0071533302F302A001153330323031375400E2930B0B18179BAA00632323232375C60660066EB8C0C4008C8DD718190019BAE3030002323376060680026068606A0026EB0C0C0038C8CDD818198009819981A0009BAC302E00D16375A606200260620046EB4C0BC004C0BC008C0B4004C0B4008DD6981580098158011BAD30290013029002375A604E002604E00464A666048604E604E002266EC0C098004C098C09C00458DD6181280098128011BAE3023001301F37540022C6464646464A666046604C004264A66604266E3CDD7181100100F8A99981099BAF374C0029810BA14873657474696E677301001325333022300A3023375400226464004A666046603E60486EA80044C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C94CCC0F8C1040084C8C8C8C8C8C8C9263302A01123027001325333041303D0011323253330463049002132498CC0B00048DD70008B1BAC3047001304337540262A66608260780022A66608860866EA804C526161630413754024646EB4C108050DD69820009981100A181180A981000B181080B8B181F800981F8011BAD303D001303D002375A607600260760046EB4C0E4004C0E4008DD6981B800981B8011BAC3035001303500230330013033002325333030303330330011337606064002606460660022C6EB0C0C4004C0C4008C0BC004C0BC008C0B4004C0B4008C0AC004C0AC008C0A4004C094DD50008B181398121BAA00116300C302337540082C2C6EACC08800458C090004C090DD5980418101BAA0013007301F375460446EB0C08804894CCC074C064C078DD5000899191919299981218138010991924C64A666046603E00226464A6660506056004264931929998131811000899192999815981700109924C601A0022C605800260506EA800854CCC098C0840044C8C8C8C8C8C94CCC0BCC0C800852616375A606000260600046EB4C0B8004C0B8008DD6981600098141BAA00216302637540022C6052002604A6EA800C54CCC08CC07800454CCC098C094DD50018A4C2C2C60466EA8008C01800C58C094004C094008C08C004C07CDD50008B119299980E980C80089919299981118128010A4C2C6EB8C08C004C07CDD50010A99980E980C00089919299981118128010A4C2C6EB8C08C004C07CDD50010B180E9BAA00130010012232533301C30180011323253330213024002149858DD71811000980F1BAA0021533301C30170011323253330213024002132498CC01C0048CC01801800458DD61811000980F1BAA0021533301C30040011323253330213024002132498CC01C0048CC01801800458DD61811000980F1BAA0021533301C3370E90030008991919192999811981300109924C660120024660100100022C6EB0C090004C090008DD69811000980F1BAA0021533301C3370E900400089919299981098120010A4C2C6EB4C088004C078DD50010A99980E19B87480280044C8C94CCC084C09000852616375A6044002603C6EA800854CCC070CDC3A401800226464A66604260480042930B1BAE3022001301E37540042C60386EA8004DC3A400844646600200200644A66603C002293099198018019811001180198100009180E180E8009180D980E180E0009BAC3019301A002301800130180023756602C002602C602C0046EACC050004C050C050008DD61809000980900098088011BAC300F001300B3754600260166EA80088C038004526136563253330073003001132323232323253330103013002149858DD6980880098088011BAD300F001300F002375A601A00260126EA801054CCC01CC0080044C8C94CCC030C03C00852616375A601A00260126EA801058C01CDD50019B8748008DC3A40006EB80055CD2AB9D5573CAAE7D5D02BA157449811E581C6D9D7ACAC59A4469EC52BB207106167C5CBFA689008FFA6EE92ACC500001A1008182582036571993DAFAFEAEE56FFE8FF1A5A793EC12272E37246BEE4BCBCFF67EAAF1B75840C74AEE0EBB599867522F376F057B4B9A64B914DE01BCC13F65D97CFD8585DA9F4DCE9DC4D8041CED0B0166EAAB3B2F1D16E02E0F9722FB2BE70BEEC6EECB5600A20081825820A70AB20F4E80CC00A87BD03D5DD7675259FF1B1C2C9F33672287BEE60BF06A6F5840EF470C7F50075A8B15A451AAE6527A1595014CB797FB3416675F80857FDD0EB6CC273957F127B48B2F489C76DF403A16FD6685B20F08B4F0FF157215BD59680F0582840000D8799F50314070F76DCBD030E7C6A2B92719D61AD8799F581C8351FAFFB0E5E2C441352B9A00D283E271D010F502095E3A4F7BEB114D6269676579652076302E322E34FF9FD8799F005F58405C37F9A8ECA5D8676EBDCA7B15D5D1DDB9580ED42C4D268F9490F541BA7D9777D81BC1607935C139F2E5A3B541B22D6ACA729F8AF0D48EFE1E04260F552C584F58402CA7925CEDE6D768A130EF5D38C3FC118F9C13E762D62D7EFAE21BA8C7D76A72F98657C4D78B68C205E1F4BD54E73DEE0F984EDA65DBB4CCE83EB90D886C7569FFFFD8799F005F5840E71E7C825DD70132B9C08ACC973B419FC669A0CEF95EF48CA6DC462A400BBCC70D2ADAF0B940BB66C73E9290DEE102B81226B64028028C5A41A8AB5837B31B69584020EE815F16784C880E0B8AD8DFB69E2DAFA39811428D59531304BF667E01A57538AEA5ADC35D1132A84D2F42CC2167A2F889EBBD6114D6A49F1FE9BEC6385ACAFFFFD8799F005F5840863B133169F0366DA77F977067291C13621343EFA4EC7C647A304605EACD91E64EAF74184DD052AE497B8853E3B17882692359CA9481434BB897940F28CEC9EC5840AE7ABD562BCD40E176FE0A0CF4B502B177D263F07D0B9F3739CA912D613ADC009D55A18BB719331047FCCEB755BF71C55CEC136E286A2476ADE977F7EE122219FFFFD8799F005F5840B44A3FA3FB67A70F6372245DF022E383C677406B27A1D504066A21C3F5B505B5FFE90639AB24A4041FB0B7336AF87EDC331032F5BF7BF6C6093020C87CCA76EF58404EE6141EC8D0B33C36D6F9CDD6828CF1A3E91D675F4C606BB4E0A6DD99098ADEF1B475CF7D8CC94EFAD62842C80952EE76E908EA45C1AC4C11673F3A33801348FFFFD8799F005F5840DA588DD411B701347F017677012A3191E981BEF94096ECFFFA6779C3474D75AF80F4EEEA9647627CB9E499486251A4F9D95014110387369FE55316ACA4CD934A58400EB923B0CBD24DF54401D998531FEEAD35A47A99F4DEED205DE4AF81120F97610A44442AB530E565ADC7239902BE6C7F3861AEBA114F2D4785E66F31642DF3DEFFFFFFFF821A000DBBA01A17D78400840100D87A9FD8799FD8799F58200E7CFCB0F7410E569BBC9C3621476B0A03ED49ED6C11A7C2E7B8473E4E73AD78FF01FF199400FF821A0002BF201A055D4A80A30081825820C74F1CE5BCD0BEEA81FBDB38F883B5F6A701BC7819298CA3EC2A08C3F3E9CB6158404E45638E56E5B3D28A707363199B93B565651048DAB68A032072BF8EC59679DA571B795C6586420188ECD060B800250EAAB1E4334EFD8F87383B94373903030E0481D8799F581CE6D3410BE0B3D51A52B874983BC6F0E48BCF4274352552E683E1C2119FD8799FD8799FD87A9F581C84CC25EA4C29951D40B443B95BBC5676BC425470F96376D1984AF9ABFFD8799FD8799FD87A9F581C2C967F4BD28944B06462E13C5E3F5D5FA6E03F8567569438CD833E6DFFFFFFFFA140D8799F00A1401A000F4240FFFFD8799FD8799FD8799F581CBAAAA8B9A088F04386CB7119CCF686616FC15F81663F58F459D0BF67FFD8799FD8799FD8799F581C8F240BE418098DE79EF449800A1A3B729FD04D892E861108CB715D7DFFFFFFFFA140D8799F00A1401A001B7740FFFFD8799FD8799FD8799F581CE6D3410BE0B3D51A52B874983BC6F0E48BCF4274352552E683E1C211FFD8799FD8799FD8799F581CB91D1FE82203DE4C0DE2C150746383A893CD21EB1082565252AF63A5FFFFFFFFA1581C86EC26A91051E4D42DF00B023202E177A0027DCA4294A20A0326A116D8799F01A0FFFFFFFF0581840001D87A80821A002337AE1A1BD7BF04A2008182582058779C3EA0137DD17991FC0B262A1FDB579C4A8C4D5C3271FB38A2743FCB82F1584023FB544B58E4EDE6594E0243AB56881E4468AE74E510A18072DDBB7BDBA3D184A4FF2FF232D60E09994EB3E51195EE2B26938FC52EB409FC53373FD31D8C90040581840001D87980821A003386251A270C3A16FFAF00D90103A100A11902A2A1636D736781781947656E6975735969656C643A204F7264657220706C6163656402A11902A2A1636D7367816F44657868756E74657220547261646503A11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E06A11902A2A1636D736781774D696E737761703A204F7264657220457865637574656408A11902A2A1636D7367826F44657868756E7465722054726164656663616E63656C0BA11902A2A1636D736781774D696E737761703A204F726465722045786563757465640CA11902A2A1636D7367826F4D7574616E747320526166666C65736B427579207469636B65747310A11902A2A1636D736781781E4D696E737761703A205632205769746864726177206C697175696469747913A015A11902A2A1636D736781754D696E737761703A204D61726B6574204F726465721819A91902A2A1636D736781764D7565736C695377617020506C616365204F726465721903E8583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D41903EA601903EB601903EC1A01515B461903ED1A00286F901903EF011903F0783830373865616663653563643765646166646636333930306564656632633165613735396537376633306361383164366262646565633932341903F16A37393735366436643639181BA91902A2A1636D736781764D7565736C695377617020506C616365204F726465721903E8583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D41903EA601903EB601903EC1A02F6D99D1903ED1A00286F901903EF011903F0783830373865616663653563643765646166646636333930306564656632633165613735396537376633306361383164366262646565633932341903F16A37393735366436643639181EA11902A2A1636D7367826F4D7574616E747320526166666C65736B427579207469636B657473181FA11902A2A1636D736781754D696E737761703A204D61726B6574204F726465721823A11902A2A1636D736781764D696E737761703A204465706F736974204F7264657280", + typeof(BlockWithEra) + ]; } } \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs b/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs index f358d5cc..f96e7581 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs +++ b/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs @@ -2,8 +2,8 @@ namespace Chrysalis.Cardano.Models.Core.Governance; -public record VotingProcedures(Dictionary Value) - : CborMap(Value), ICbor; +public record VotingProcedures(Dictionary Value) + : CborMap(Value), ICbor where K : Voter where V : VoterChoices; -public record VoterChoices(Dictionary Value) - : CborMap(Value), ICbor; \ No newline at end of file +public record VoterChoices(Dictionary Value) + : CborMap(Value), ICbor where K : GovActionId where V : VotingProcedure; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs index 722b1aa6..63a6019b 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs @@ -31,7 +31,7 @@ public record ConwayTransactionBody( [CborProperty(16)] TransactionOutput? CollateralReturn, [CborProperty(17)] CborUlong? TotalCollateral, [CborProperty(18)] CborMaybeIndefList? ReferenceInputs, - [CborProperty(19)] VotingProcedures? VotingProcedures, + [CborProperty(19)] VotingProcedures>? VotingProcedures, [CborProperty(20)] CborMaybeIndefList? ProposalProcedures, [CborProperty(21)] CborUlong? TreasuryValue, [CborProperty(22)] CborUlong? Donation diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index a3a40c93..5c40c90f 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -495,8 +495,10 @@ private static void SerializeTag(CborWriter writer, ICbor cbor, Type objType) CborType.Tag => DeserializeTag(subReader, targetType), _ => throw new NotImplementedException($"Unknown CborType: {cborType}"), }; - if (result is null) throw new InvalidOperationException($"Deserialization failed for target type {targetType.Name}"); - result.Raw = originalBytes.ToArray(); + + if (result is null && cborType != CborType.Nullable) throw new InvalidOperationException($"Deserialization failed for target type {targetType.Name}"); + else if (result is not null) result.Raw = originalBytes.ToArray(); + return result; } throw new NotImplementedException($"Deserialization not implemented for target type {targetType.Name}"); @@ -802,7 +804,7 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) { MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); MethodInfo? genericMethod = method?.MakeGenericMethod(targetType.GetGenericArguments()); - return (ICbor?)genericMethod?.Invoke(null, [reader]); + return (ICbor?)genericMethod?.Invoke(null, [reader, targetType]); } else if (targetType.GetCustomAttribute()?.Type == CborType.Map) { @@ -830,7 +832,7 @@ private static ICbor DeserializeCborLong(CborReader reader, Type targetType) return new CborMap(dictionary); } - private static CborMap DeserializeGenericMap(CborReader reader) + private static ICbor DeserializeGenericMap(CborReader reader, Type targetType) where TKey : ICbor where TValue : ICbor { @@ -845,7 +847,7 @@ private static CborMap DeserializeGenericMap(CborRea } reader.ReadEndMap(); - return new CborMap(dictionary); + return (ICbor)Activator.CreateInstance(targetType, dictionary)!; } private static ICbor? DeserializeCustomMap(CborReader reader, Type targetType) @@ -859,7 +861,7 @@ private static CborMap DeserializeGenericMap(CborRea MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); MethodInfo genericMethod = method!.MakeGenericMethod(genericArgs); - ICbor map = (ICbor)genericMethod.Invoke(null, [reader])!; + ICbor map = (ICbor)genericMethod.Invoke(null, [reader, targetType])!; ConstructorInfo? ctor = targetType.GetConstructor([typeof(Dictionary<,>).MakeGenericType(genericArgs)]); if (ctor != null) From c661c3487a4720c3997827895f3eb4c2fed5183e Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Mon, 21 Oct 2024 09:27:23 +0800 Subject: [PATCH 040/162] chore: bump version to 0.2.8 (#40) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 3e5994cb..6d16d8f3 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.2.7 + 0.2.8 Chrysalis clark@saib.dev SAIB Inc From 10133f14aacac204f37ecb0eaa91523a2dd5d2e7 Mon Sep 17 00:00:00 2001 From: John Quinnvic Taboada <116705833+johnquinnvictaboada@users.noreply.github.com> Date: Wed, 6 Nov 2024 00:02:42 +0800 Subject: [PATCH 041/162] feat!: major namespace overhaul and added additional types (#41) * refactor: modified Chrysalis structure, (de)serialization engine, and type definitions * refactor: namespace changes and file structure * feat: added transaction cardano core data type with cborbool * chore: added test for transaction type * chore: running tests / cleanup * chore: spacing cleanup --------- Co-authored-by: Katteu --- src/Chrysalis.Test/CborSerializationTests.cs | 23 ++++++- src/Chrysalis.Test/CborTestData.cs | 29 ++++---- src/Chrysalis/Cardano/Cbor/CborBool.cs | 12 ++++ src/Chrysalis/Cardano/Cbor/CborBytes.cs | 9 +++ .../{Models => }/Cbor/CborEncodedValue.cs | 2 +- .../Cardano/{Models => }/Cbor/CborInt.cs | 2 +- .../Cardano/{Models => }/Cbor/CborList.cs | 2 +- .../Cardano/{Models => }/Cbor/CborLong.cs | 2 +- .../Cardano/{Models => }/Cbor/CborMap.cs | 2 +- .../Cardano/{Models => }/Cbor/CborNullable.cs | 2 +- .../{Models => }/Cbor/CborRationalNumber.cs | 2 +- .../Cardano/{Models => }/Cbor/CborText.cs | 2 +- .../Cardano/{Models => }/Cbor/CborUlong.cs | 2 +- .../{Models => }/Coinecta/Vesting/Treasury.cs | 10 +-- .../AuxiliaryDataSet}/AuxiliaryDataSet.cs | 4 +- .../Cardano/{Models => }/Core/Block/Block.cs | 5 +- .../Block => Core/Block/Header}/Header.cs | 4 +- .../Block/Header/HeaderBody}/HeaderBody.cs | 4 +- .../Header/HeaderBody}/OperationalCert.cs | 4 +- .../Header/HeaderBody}/ProtocolVersion.cs | 4 +- .../Block/Header/HeaderBody}/VrfCert.cs | 4 +- .../Core => Core/Block/Transaction}/Anchor.cs | 4 +- .../Block}/Transaction/AuxiliaryData.cs | 6 +- .../Body}/Certificates/Certificate.cs | 5 +- .../Certificates/MoveInstantaneousReward.cs | 4 +- .../Body}/Certificates/PoolMetadata.cs | 4 +- .../Transaction/Body}/Certificates/Relay.cs | 4 +- .../Body/ProposalProcedures/RewardAccount.cs | 5 ++ .../Transaction/Body}/TransactionBody.cs | 6 +- .../Block/Transaction/Body}/Update.cs | 5 +- .../Block/Transaction/Body}/Withdrawals.cs | 4 +- .../Block/Transaction}/Credential.cs | 4 +- .../Transaction}/Governance/Constitution.cs | 4 +- .../Block/Transaction}/Governance/DRep.cs | 12 ++-- .../Governance/DRepVotingThresholds.cs | 4 +- .../Transaction}/Governance/GovAction.cs | 11 ++-- .../Transaction}/Governance/GovActionId.cs | 4 +- .../Governance/MemberTermLimits.cs | 4 +- .../Governance/ProposalProcedure.cs | 4 +- .../Block/Transaction}/Governance/Voter.cs | 4 +- .../Governance/VotingProcedure.cs | 4 +- .../Governance/VotingProcedures.cs | 2 +- .../Transaction/Input}/TransactionInput.cs | 6 +- .../Core/Block/Transaction/Output/Address.cs | 5 ++ .../Block/Transaction/Output}/DatumOption.cs | 4 +- .../Block/Transaction/Output}/MultiAsset.cs | 4 +- .../Block/Transaction/Output}/TokenBundle.cs | 4 +- .../Transaction/Output}/TransactionOutput.cs | 4 +- .../Block/Transaction/Output}/Value.cs | 3 +- .../Block/Transaction}/Protocol/CostMdls.cs | 4 +- .../Transaction}/Protocol/ExUnitPrices.cs | 4 +- .../Block/Transaction}/Protocol/ExUnits.cs | 4 +- .../Block/Transaction}/Protocol/Nonce.cs | 4 +- .../Protocol/PoolVotingThresholds.cs | 4 +- .../Protocol/ProtocolParamUpdate.cs | 6 +- .../Block/Transaction}/Script/NativeScript.cs | 4 +- .../Block/Transaction}/Script/PlutusData.cs | 4 +- .../Block/Transaction}/Script/PlutusOption.cs | 2 +- .../Core/Block/Transaction/Transaction.cs | 13 ++++ .../Transaction/TransactionMetadatum.cs | 4 +- .../WitnessSet}/BootstrapWitness.cs | 4 +- .../Transaction/WitnessSet}/Redeemers.cs | 6 +- .../WitnessSet}/TransactionWitnessSet.cs | 6 +- .../Transaction/WitnessSet}/VKeyWitness.cs | 4 +- .../Core/Block => Core}/BlockWithEra.cs | 4 +- .../Cardano/{Models => }/Jpeg/Buy.cs | 4 +- .../Cardano/{Models => }/Jpeg/Listing.cs | 6 +- .../Cardano/{Models => }/Jpeg/Offer.cs | 8 +-- .../Cardano/{Models => }/Jpeg/Token.cs | 6 +- .../{Models => }/Levvy/TokenV2/NftDatum.cs | 6 +- .../Levvy/TokenV2/PaymentDatum.cs | 4 +- .../{Models => }/Levvy/TokenV2/TokenDatum.cs | 7 +- .../Levvy/TokenV2/TokenRedeemer.cs | 2 +- .../Cardano/{Models => }/MPF/Proof.cs | 4 +- src/Chrysalis/Cardano/Models/Core/Address.cs | 5 -- .../Cardano/Models/Core/RewardAccount.cs | 5 -- .../Cardano/{Models => }/Plutus/Address.cs | 14 ++-- .../Cardano/{Models => }/Plutus/CIP68.cs | 6 +- .../Cardano/{Models => }/Plutus/Option.cs | 2 +- .../{Models => }/Plutus/OutputReference.cs | 4 +- .../{Models => }/Sundae/MultisigScript.cs | 4 +- src/Chrysalis/Cbor/CborSerializer.cs | 66 +++++++++++-------- src/Chrysalis/Cbor/CborType.cs | 1 + 83 files changed, 273 insertions(+), 222 deletions(-) create mode 100644 src/Chrysalis/Cardano/Cbor/CborBool.cs create mode 100644 src/Chrysalis/Cardano/Cbor/CborBytes.cs rename src/Chrysalis/Cardano/{Models => }/Cbor/CborEncodedValue.cs (74%) rename src/Chrysalis/Cardano/{Models => }/Cbor/CborInt.cs (70%) rename src/Chrysalis/Cardano/{Models => }/Cbor/CborList.cs (95%) rename src/Chrysalis/Cardano/{Models => }/Cbor/CborLong.cs (71%) rename src/Chrysalis/Cardano/{Models => }/Cbor/CborMap.cs (85%) rename src/Chrysalis/Cardano/{Models => }/Cbor/CborNullable.cs (75%) rename src/Chrysalis/Cardano/{Models => }/Cbor/CborRationalNumber.cs (78%) rename src/Chrysalis/Cardano/{Models => }/Cbor/CborText.cs (71%) rename src/Chrysalis/Cardano/{Models => }/Cbor/CborUlong.cs (80%) rename src/Chrysalis/Cardano/{Models => }/Coinecta/Vesting/Treasury.cs (82%) rename src/Chrysalis/Cardano/{Models/Core/Block => Core/Block/AuxiliaryDataSet}/AuxiliaryDataSet.cs (62%) rename src/Chrysalis/Cardano/{Models => }/Core/Block/Block.cs (76%) rename src/Chrysalis/Cardano/{Models/Core/Block => Core/Block/Header}/Header.cs (69%) rename src/Chrysalis/Cardano/{Models/Core/Block => Core/Block/Header/HeaderBody}/HeaderBody.cs (94%) rename src/Chrysalis/Cardano/{Models/Core/Block => Core/Block/Header/HeaderBody}/OperationalCert.cs (76%) rename src/Chrysalis/Cardano/{Models/Core/Block => Core/Block/Header/HeaderBody}/ProtocolVersion.cs (70%) rename src/Chrysalis/Cardano/{Models/Core/Block => Core/Block/Header/HeaderBody}/VrfCert.cs (67%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Anchor.cs (70%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block}/Transaction/AuxiliaryData.cs (89%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction/Body}/Certificates/Certificate.cs (97%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction/Body}/Certificates/MoveInstantaneousReward.cs (86%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction/Body}/Certificates/PoolMetadata.cs (66%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction/Body}/Certificates/Relay.cs (89%) create mode 100644 src/Chrysalis/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/Body}/TransactionBody.cs (94%) rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/Body}/Update.cs (61%) rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/Body}/Withdrawals.cs (62%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Credential.cs (69%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Governance/Constitution.cs (68%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Governance/DRep.cs (74%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Governance/DRepVotingThresholds.cs (88%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Governance/GovAction.cs (87%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Governance/GovActionId.cs (68%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Governance/MemberTermLimits.cs (62%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Governance/ProposalProcedure.cs (75%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Governance/Voter.cs (64%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Governance/VotingProcedure.cs (67%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Governance/VotingProcedures.cs (86%) rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/Input}/TransactionInput.cs (54%) create mode 100644 src/Chrysalis/Cardano/Core/Block/Transaction/Output/Address.cs rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/Output}/DatumOption.cs (84%) rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/Output}/MultiAsset.cs (83%) rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/Output}/TokenBundle.cs (82%) rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/Output}/TransactionOutput.cs (92%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction/Output}/Value.cs (84%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Protocol/CostMdls.cs (66%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Protocol/ExUnitPrices.cs (69%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Protocol/ExUnits.cs (66%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Protocol/Nonce.cs (66%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Protocol/PoolVotingThresholds.cs (82%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Protocol/ProtocolParamUpdate.cs (96%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Script/NativeScript.cs (93%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Script/PlutusData.cs (95%) rename src/Chrysalis/Cardano/{Models/Core => Core/Block/Transaction}/Script/PlutusOption.cs (86%) create mode 100644 src/Chrysalis/Cardano/Core/Block/Transaction/Transaction.cs rename src/Chrysalis/Cardano/{Models/Core => Core/Block}/Transaction/TransactionMetadatum.cs (92%) rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/WitnessSet}/BootstrapWitness.cs (75%) rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/WitnessSet}/Redeemers.cs (85%) rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/WitnessSet}/TransactionWitnessSet.cs (83%) rename src/Chrysalis/Cardano/{Models/Core/Transaction => Core/Block/Transaction/WitnessSet}/VKeyWitness.cs (66%) rename src/Chrysalis/Cardano/{Models/Core/Block => Core}/BlockWithEra.cs (67%) rename src/Chrysalis/Cardano/{Models => }/Jpeg/Buy.cs (66%) rename src/Chrysalis/Cardano/{Models => }/Jpeg/Listing.cs (77%) rename src/Chrysalis/Cardano/{Models => }/Jpeg/Offer.cs (74%) rename src/Chrysalis/Cardano/{Models => }/Jpeg/Token.cs (64%) rename src/Chrysalis/Cardano/{Models => }/Levvy/TokenV2/NftDatum.cs (92%) rename src/Chrysalis/Cardano/{Models => }/Levvy/TokenV2/PaymentDatum.cs (61%) rename src/Chrysalis/Cardano/{Models => }/Levvy/TokenV2/TokenDatum.cs (91%) rename src/Chrysalis/Cardano/{Models => }/Levvy/TokenV2/TokenRedeemer.cs (93%) rename src/Chrysalis/Cardano/{Models => }/MPF/Proof.cs (93%) delete mode 100644 src/Chrysalis/Cardano/Models/Core/Address.cs delete mode 100644 src/Chrysalis/Cardano/Models/Core/RewardAccount.cs rename src/Chrysalis/Cardano/{Models => }/Plutus/Address.cs (84%) rename src/Chrysalis/Cardano/{Models => }/Plutus/CIP68.cs (74%) rename src/Chrysalis/Cardano/{Models => }/Plutus/Option.cs (88%) rename src/Chrysalis/Cardano/{Models => }/Plutus/OutputReference.cs (79%) rename src/Chrysalis/Cardano/{Models => }/Sundae/MultisigScript.cs (93%) diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs index 5eec3d0d..2a591fa8 100644 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ b/src/Chrysalis.Test/CborSerializationTests.cs @@ -1,6 +1,9 @@ using System.Reflection; +using Chrysalis.Cardano.Core; +using Chrysalis.Cardano.Plutus; using Chrysalis.Cbor; using Xunit; +using Credential = Chrysalis.Cardano.Plutus.Credential; namespace Chrysalis.Test; @@ -27,25 +30,39 @@ private static void SerializeAndDeserialize(string cborHex, Type type) // Assert Assert.Equal(cborHex.ToLowerInvariant(), serializedHex); } - + [Theory] [MemberData(nameof(CborTestData.PrimitiveTestData), MemberType = typeof(CborTestData))] public void SerializeAndDeserializePrimitive(string cborHex, Type type) { SerializeAndDeserialize(cborHex, type); } - + [Theory] [MemberData(nameof(CborTestData.JPegOfferTestData), MemberType = typeof(CborTestData))] public void SerializeAndDeserializeJpegOffer(string cborHex, Type type) { SerializeAndDeserialize(cborHex, type); } - + [Theory] [MemberData(nameof(CborTestData.BlockWithEraTestData), MemberType = typeof(CborTestData))] public void SerializeAndDeserializeBlockWithEra(string cborHex, Type type) { SerializeAndDeserialize(cborHex, type); } + + [Theory] + [InlineData("d8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affff", typeof(Referenced))] + public void SerializeAndDeserializeBlock(string cborHex, Type type) + { + SerializeAndDeserialize(cborHex, type); + } + + [Theory] + [InlineData("84a300d90102818258208af7d9c96301f58a748e3a6fe5f51580f083f2a30f20e559e2d4617dbeba7c5a00018182581d6033c378cee41b2e15ac848f7f6f1d2f78155ab12d93b713de898d855f1b000000012a035f4f021a000292b1a100d90102818258207463e1a9acb0d70f9b652ff2c125f5fbcf2288afbbbc1e3132fe18cacbfdba2f5840aef0bed9b035c3ffbf10acb4efc6cd059a9da49eaec197d8bd3770618fd5e04acb6607118b29ebff303ae02b95586c50376bc688fdd6d6d0677ee382680a5f02f5f6", typeof(Transaction))] + public void SerializeAndDeserializeTransaction(string cborHex, Type type) + { + SerializeAndDeserialize(cborHex, type); + } } \ No newline at end of file diff --git a/src/Chrysalis.Test/CborTestData.cs b/src/Chrysalis.Test/CborTestData.cs index 34c7a6df..67a53b21 100644 --- a/src/Chrysalis.Test/CborTestData.cs +++ b/src/Chrysalis.Test/CborTestData.cs @@ -1,7 +1,6 @@ -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core; -using Chrysalis.Cardano.Models.Core.Block; -using Chrysalis.Cardano.Models.Jpeg; +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; +using Chrysalis.Cardano.Jpeg; namespace Chrysalis.Test; @@ -14,20 +13,20 @@ public static IEnumerable JPegOfferTestData() "d8799f581cf28c591a54750cb052f31d1f555a4a73bd4dc1024d0db09f2dbb85b29fd8799fd8799fd87a9f581c84cc25ea4c29951d40b443b95bbc5676bc425470f96376d1984af9abffd8799fd8799fd87a9f581c2c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6dffffffffa140d8799f00a1401a00325aa0ffffd8799fd8799fd8799f581c54eb723c08f858e0baa992a7673dbef25f77f017f844d7ba47edd4e2ffd8799fd8799fd8799f581cfef7dca3149e0f49706ecbc7219af18c3c859336c9d77aab8ad89b22ffffffffa140d8799f00a1401a007de290ffffd8799fd8799fd8799f581cf28c591a54750cb052f31d1f555a4a73bd4dc1024d0db09f2dbb85b2ffd8799fd8799fd8799f581c78ccd5d261c1603a16e87d8927542f841b03ceb84e2cb71c83ee7dd8ffffffffa1581c9cce4bbd9f6e06ef9d67b95ad8511532b4569d290d1575fcbac48732d8799f01a0ffffffff", typeof(Offer) ]; } - + public static IEnumerable PrimitiveTestData() { - yield return["1834", typeof(CborInt)]; - yield return["4101", typeof(CborBytes)]; - yield return["5F58404117843C7994EBF875EFEEB2AC276D2BB051C6A4486ED4A0C5171E8D788AC4A51727B3FA8BD0989049377503D0B5163C9D716A1A94D21802215B74D692C763DA5840BBF246F3362F0357B54758DD7E55B4A4612F1C69358151B1CA4FC2F2527408BADABDA547D81B0DF92699FD924BE4A3D144B727B2BF86F3C9E55AB2875EBF7793FF", typeof(CborBoundedBytes)]; - yield return["1a000f4240", typeof(CborUlong)]; - yield return["1a000f4240", typeof(PosixTime)]; - yield return["43414243", typeof(CborBytes)]; - yield return["a141614541696b656e", typeof(CborMap)]; - yield return["9f0102030405ff", typeof(CborIndefiniteList)]; - yield return["850102030405", typeof(CborDefiniteList)]; + yield return ["1834", typeof(CborInt)]; + yield return ["4101", typeof(CborBytes)]; + yield return ["5F58404117843C7994EBF875EFEEB2AC276D2BB051C6A4486ED4A0C5171E8D788AC4A51727B3FA8BD0989049377503D0B5163C9D716A1A94D21802215B74D692C763DA5840BBF246F3362F0357B54758DD7E55B4A4612F1C69358151B1CA4FC2F2527408BADABDA547D81B0DF92699FD924BE4A3D144B727B2BF86F3C9E55AB2875EBF7793FF", typeof(CborBoundedBytes)]; + yield return ["1a000f4240", typeof(CborUlong)]; + yield return ["1a000f4240", typeof(PosixTime)]; + yield return ["43414243", typeof(CborBytes)]; + yield return ["a141614541696b656e", typeof(CborMap)]; + yield return ["9f0102030405ff", typeof(CborIndefiniteList)]; + yield return ["850102030405", typeof(CborDefiniteList)]; } - + public static IEnumerable BlockWithEraTestData() { yield return diff --git a/src/Chrysalis/Cardano/Cbor/CborBool.cs b/src/Chrysalis/Cardano/Cbor/CborBool.cs new file mode 100644 index 00000000..fd985a9a --- /dev/null +++ b/src/Chrysalis/Cardano/Cbor/CborBool.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Cbor; + +[CborSerializable(CborType.Bool)] +public record CborBool(bool Value = false) : RawCbor +{ + public CborBool() : this(false) { } +} + + + \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Cbor/CborBytes.cs b/src/Chrysalis/Cardano/Cbor/CborBytes.cs new file mode 100644 index 00000000..97901cee --- /dev/null +++ b/src/Chrysalis/Cardano/Cbor/CborBytes.cs @@ -0,0 +1,9 @@ +using Chrysalis.Cbor; + +namespace Chrysalis.Cardano.Cbor; + +[CborSerializable(CborType.Bytes, IsDefinite = true)] +public record CborBytes(byte[] Value) : RawCbor; + +[CborSerializable(CborType.Bytes, IsDefinite = false, Size = 64)] +public record CborBoundedBytes(byte[] Value) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs b/src/Chrysalis/Cardano/Cbor/CborEncodedValue.cs similarity index 74% rename from src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs rename to src/Chrysalis/Cardano/Cbor/CborEncodedValue.cs index d49e6229..b53c9558 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborEncodedValue.cs +++ b/src/Chrysalis/Cardano/Cbor/CborEncodedValue.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Cbor; +namespace Chrysalis.Cardano.Cbor; [CborSerializable(CborType.EncodedValue)] public record CborEncodedValue(byte[] Value) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborInt.cs b/src/Chrysalis/Cardano/Cbor/CborInt.cs similarity index 70% rename from src/Chrysalis/Cardano/Models/Cbor/CborInt.cs rename to src/Chrysalis/Cardano/Cbor/CborInt.cs index ea71f20c..311fd550 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborInt.cs +++ b/src/Chrysalis/Cardano/Cbor/CborInt.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Cbor; +namespace Chrysalis.Cardano.Cbor; [CborSerializable(CborType.Int)] public record CborInt(int Value) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborList.cs b/src/Chrysalis/Cardano/Cbor/CborList.cs similarity index 95% rename from src/Chrysalis/Cardano/Models/Cbor/CborList.cs rename to src/Chrysalis/Cardano/Cbor/CborList.cs index 0ef7cd47..d92e8cbd 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborList.cs +++ b/src/Chrysalis/Cardano/Cbor/CborList.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Cbor; +namespace Chrysalis.Cardano.Cbor; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborLong.cs b/src/Chrysalis/Cardano/Cbor/CborLong.cs similarity index 71% rename from src/Chrysalis/Cardano/Models/Cbor/CborLong.cs rename to src/Chrysalis/Cardano/Cbor/CborLong.cs index 949f7879..66d5b11f 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborLong.cs +++ b/src/Chrysalis/Cardano/Cbor/CborLong.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Cbor; +namespace Chrysalis.Cardano.Cbor; [CborSerializable(CborType.Long)] public record CborLong(long Value) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborMap.cs b/src/Chrysalis/Cardano/Cbor/CborMap.cs similarity index 85% rename from src/Chrysalis/Cardano/Models/Cbor/CborMap.cs rename to src/Chrysalis/Cardano/Cbor/CborMap.cs index 9f02c760..88373350 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborMap.cs +++ b/src/Chrysalis/Cardano/Cbor/CborMap.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Map)] public record CborMap(Dictionary Value) : RawCbor; diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs b/src/Chrysalis/Cardano/Cbor/CborNullable.cs similarity index 75% rename from src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs rename to src/Chrysalis/Cardano/Cbor/CborNullable.cs index 68632466..04486160 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborNullable.cs +++ b/src/Chrysalis/Cardano/Cbor/CborNullable.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Nullable)] public record CborNullable(T Value) : RawCbor where T : ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs b/src/Chrysalis/Cardano/Cbor/CborRationalNumber.cs similarity index 78% rename from src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs rename to src/Chrysalis/Cardano/Cbor/CborRationalNumber.cs index bed216d1..27710062 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborRationalNumber.cs +++ b/src/Chrysalis/Cardano/Cbor/CborRationalNumber.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Cbor; +namespace Chrysalis.Cardano.Cbor; [CborSerializable(CborType.RationalNumber)] public record CborRationalNumber(ulong Numerator, ulong Denominator) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborText.cs b/src/Chrysalis/Cardano/Cbor/CborText.cs similarity index 71% rename from src/Chrysalis/Cardano/Models/Cbor/CborText.cs rename to src/Chrysalis/Cardano/Cbor/CborText.cs index 009abd8b..43763ce9 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborText.cs +++ b/src/Chrysalis/Cardano/Cbor/CborText.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Cbor; +namespace Chrysalis.Cardano.Cbor; [CborSerializable(CborType.Text)] public record CborText(string Value) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborUlong.cs b/src/Chrysalis/Cardano/Cbor/CborUlong.cs similarity index 80% rename from src/Chrysalis/Cardano/Models/Cbor/CborUlong.cs rename to src/Chrysalis/Cardano/Cbor/CborUlong.cs index a3a85353..32288d0f 100644 --- a/src/Chrysalis/Cardano/Models/Cbor/CborUlong.cs +++ b/src/Chrysalis/Cardano/Cbor/CborUlong.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Cbor; +namespace Chrysalis.Cardano.Cbor; [CborSerializable(CborType.Ulong)] public record CborUlong(ulong Value) : RawCbor; diff --git a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs b/src/Chrysalis/Cardano/Coinecta/Vesting/Treasury.cs similarity index 82% rename from src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs rename to src/Chrysalis/Cardano/Coinecta/Vesting/Treasury.cs index d308553f..85220fc8 100644 --- a/src/Chrysalis/Cardano/Models/Coinecta/Vesting/Treasury.cs +++ b/src/Chrysalis/Cardano/Coinecta/Vesting/Treasury.cs @@ -1,10 +1,10 @@ using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Sundae; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core.Transaction; -using Chrysalis.Cardano.Models.Mpf; +using Chrysalis.Cardano.Sundae; +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; +using Chrysalis.Cardano.Mpf; -namespace Chrysalis.Cardano.Models.Coinecta.Vesting; +namespace Chrysalis.Cardano.Coinecta; [CborSerializable(CborType.Constr, Index = 0)] public record Treasury( diff --git a/src/Chrysalis/Cardano/Models/Core/Block/AuxiliaryDataSet.cs b/src/Chrysalis/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs similarity index 62% rename from src/Chrysalis/Cardano/Models/Core/Block/AuxiliaryDataSet.cs rename to src/Chrysalis/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs index 495db128..366a2435 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/AuxiliaryDataSet.cs +++ b/src/Chrysalis/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; public record AuxiliaryDataSet(Dictionary Value) : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Block/Block.cs b/src/Chrysalis/Cardano/Core/Block/Block.cs similarity index 76% rename from src/Chrysalis/Cardano/Models/Core/Block/Block.cs rename to src/Chrysalis/Cardano/Core/Block/Block.cs index b9398b55..bcf3abcb 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/Block.cs +++ b/src/Chrysalis/Cardano/Core/Block/Block.cs @@ -1,8 +1,7 @@ using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core.Transaction; +using Chrysalis.Cardano.Cbor; -namespace Chrysalis.Cardano.Models.Core.Block; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record Block( diff --git a/src/Chrysalis/Cardano/Models/Core/Block/Header.cs b/src/Chrysalis/Cardano/Core/Block/Header/Header.cs similarity index 69% rename from src/Chrysalis/Cardano/Models/Core/Block/Header.cs rename to src/Chrysalis/Cardano/Core/Block/Header/Header.cs index 7a56fcb0..4ea41c5a 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/Header.cs +++ b/src/Chrysalis/Cardano/Core/Block/Header/Header.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Block; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record BlockHeader( diff --git a/src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs b/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs similarity index 94% rename from src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs rename to src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs index ae4e14d3..bf182709 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/HeaderBody.cs +++ b/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Block; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs b/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs similarity index 76% rename from src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs rename to src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs index ebb53c9f..8cad5223 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/OperationalCert.cs +++ b/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Block; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record OperationalCert( diff --git a/src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs b/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs similarity index 70% rename from src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs rename to src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs index 4509a828..50b145b2 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/ProtocolVersion.cs +++ b/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Block; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record ProtocolVersion( diff --git a/src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs b/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs similarity index 67% rename from src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs rename to src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs index f0fb0fee..0cc323c2 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/VrfCert.cs +++ b/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Block; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record VrfCert( diff --git a/src/Chrysalis/Cardano/Models/Core/Anchor.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Anchor.cs similarity index 70% rename from src/Chrysalis/Cardano/Models/Core/Anchor.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Anchor.cs index 0fec4b62..672eed2d 100644 --- a/src/Chrysalis/Cardano/Models/Core/Anchor.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Anchor.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record Anchor( diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/AuxiliaryData.cs similarity index 89% rename from src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/AuxiliaryData.cs index 40de5009..b1e5c9a1 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/AuxiliaryData.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/AuxiliaryData.cs @@ -1,8 +1,7 @@ using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core.Script; +using Chrysalis.Cardano.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ @@ -18,7 +17,6 @@ public record PostAlonzoAuxiliaryData(PostAlonzoAuxiliaryDataMap Value) : Auxili public byte[]? Raw { get; set; } } - [CborSerializable(CborType.Map)] public record PostAlonzoAuxiliaryDataMap( [CborProperty(0)] Metadata? Metadata, diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs similarity index 97% rename from src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs index 036856b9..168632b9 100644 --- a/src/Chrysalis/Cardano/Models/Core/Certificates/Certificate.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs @@ -1,8 +1,7 @@ using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core.Governance; +using Chrysalis.Cardano.Cbor; -namespace Chrysalis.Cardano.Models.Core.Certificates; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs similarity index 86% rename from src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs index de42c222..6f58b26d 100644 --- a/src/Chrysalis/Cardano/Models/Core/Certificates/MoveInstantaneousReward.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Certificates; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record MoveInstantaneousReward( diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs similarity index 66% rename from src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs index af9ee0a7..620ea084 100644 --- a/src/Chrysalis/Cardano/Models/Core/Certificates/PoolMetadata.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Certificates; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record PoolMetadata( diff --git a/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs similarity index 89% rename from src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs index dbdff4da..a04943b5 100644 --- a/src/Chrysalis/Cardano/Models/Core/Certificates/Relay.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Certificates; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs new file mode 100644 index 00000000..c1a7cffd --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs @@ -0,0 +1,5 @@ +using Chrysalis.Cardano.Cbor; + +namespace Chrysalis.Cardano.Core; + +public record RewardAccount(byte[] Value) : CborBytes(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/TransactionBody.cs similarity index 94% rename from src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Body/TransactionBody.cs index 63a6019b..37326fe5 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/TransactionBody.cs @@ -1,9 +1,7 @@ using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core.Governance; -using Chrysalis.Cardano.Models.Core.Certificates; +using Chrysalis.Cardano.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Update.cs similarity index 61% rename from src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Body/Update.cs index aee3f025..676cc2ff 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/Update.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Update.cs @@ -1,8 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core.Protocol; using Chrysalis.Cbor; +using Chrysalis.Cardano.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record Update( diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/Withdrawals.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Withdrawals.cs similarity index 62% rename from src/Chrysalis/Cardano/Models/Core/Transaction/Withdrawals.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Body/Withdrawals.cs index af6a775d..61c624ee 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/Withdrawals.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Withdrawals.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; using Chrysalis.Cbor; +using Chrysalis.Cardano.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; public record Withdrawals(Dictionary Value) : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Credential.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Credential.cs similarity index 69% rename from src/Chrysalis/Cardano/Models/Core/Credential.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Credential.cs index fec4adaf..da644fc7 100644 --- a/src/Chrysalis/Cardano/Models/Core/Credential.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Credential.cs @@ -1,7 +1,7 @@ using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; -namespace Chrysalis.Cardano.Models.Core; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record Credential( diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/Constitution.cs similarity index 68% rename from src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Governance/Constitution.cs index 0acc50dc..8bebbae9 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/Constitution.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/Constitution.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Governance; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record Constitution( diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/DRep.cs similarity index 74% rename from src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Governance/DRep.cs index 2889bebc..8058bd49 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/DRep.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/DRep.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Governance; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ @@ -25,7 +25,11 @@ public record DRepScriptHash( ) : DRep; [CborSerializable(CborType.List)] -public record Abstain(CborInt Tag) : DRep; +public record Abstain( + [CborProperty(0)] CborInt Tag +) : DRep; [CborSerializable(CborType.List)] -public record DRepNoConfidence(CborInt Tag) : DRep; +public record DRepNoConfidence( + [CborProperty(0)] CborInt Tag +) : DRep; diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs similarity index 88% rename from src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs index c76b5d0d..2e99047b 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/DRepVotingThresholds.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Governance; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record DRepVotingThresholds( diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/GovAction.cs similarity index 87% rename from src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Governance/GovAction.cs index 46b7a6f7..a96e3944 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/GovAction.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/GovAction.cs @@ -1,10 +1,7 @@ -using Chrysalis.Cardano.Models.Core.Block; -using Chrysalis.Cardano.Models.Core.Protocol; -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Core.Transaction; -namespace Chrysalis.Cardano.Models.Core.Governance; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ @@ -63,4 +60,6 @@ public record NewConstitution( ) : GovAction; [CborSerializable(CborType.List)] -public record InfoAction(CborInt Value) : GovAction; \ No newline at end of file +public record InfoAction( + [CborProperty(0)] CborInt Value +) : GovAction; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/GovActionId.cs similarity index 68% rename from src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Governance/GovActionId.cs index ec4f428d..9204a137 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/GovActionId.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/GovActionId.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Governance; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record GovActionId( diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/MemberTermLimits.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs similarity index 62% rename from src/Chrysalis/Cardano/Models/Core/Governance/MemberTermLimits.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs index 40e21691..6b89b6ed 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/MemberTermLimits.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Governance; +namespace Chrysalis.Cardano.Core; public record MemberTermLimits(Dictionary Value) : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs similarity index 75% rename from src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs index 375c351a..3315e5ef 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/ProposalProcedure.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Governance; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record ProposalProcedure( diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/Voter.cs similarity index 64% rename from src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Governance/Voter.cs index 31309be2..83619c21 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/Voter.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/Voter.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Governance; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record Voter( diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs similarity index 67% rename from src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs index bae51dbc..29d7ba62 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedure.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Governance; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record VotingProcedure( diff --git a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs similarity index 86% rename from src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs index f96e7581..c0566ebb 100644 --- a/src/Chrysalis/Cardano/Models/Core/Governance/VotingProcedures.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Governance; +namespace Chrysalis.Cardano.Core; public record VotingProcedures(Dictionary Value) : CborMap(Value), ICbor where K : Voter where V : VoterChoices; diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionInput.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Input/TransactionInput.cs similarity index 54% rename from src/Chrysalis/Cardano/Models/Core/Transaction/TransactionInput.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Input/TransactionInput.cs index 68cb0b0f..b064f3d7 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionInput.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Input/TransactionInput.cs @@ -1,10 +1,10 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record TransactionInput( [CborProperty(0)] CborBytes TransactionId, - [CborProperty(1)] CborInt Index + [CborProperty(1)] CborUlong Index ) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Output/Address.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/Address.cs new file mode 100644 index 00000000..05b8467d --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/Address.cs @@ -0,0 +1,5 @@ +using Chrysalis.Cardano.Cbor; + +namespace Chrysalis.Cardano.Core; + +public record Address(byte[] Value) : CborBytes(Value); diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/DatumOption.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/DatumOption.cs similarity index 84% rename from src/Chrysalis/Cardano/Models/Core/Transaction/DatumOption.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Output/DatumOption.cs index 61d68671..af3824db 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/DatumOption.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/DatumOption.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(DatumHashOption), typeof(InlineDatumOption)])] diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/MultiAsset.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/MultiAsset.cs similarity index 83% rename from src/Chrysalis/Cardano/Models/Core/Transaction/MultiAsset.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Output/MultiAsset.cs index d0665656..8b6fde70 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/MultiAsset.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/MultiAsset.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TokenBundle.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/TokenBundle.cs similarity index 82% rename from src/Chrysalis/Cardano/Models/Core/Transaction/TokenBundle.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Output/TokenBundle.cs index c738b50e..475a9098 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TokenBundle.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/TokenBundle.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs similarity index 92% rename from src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs index 8d725204..cde4fe0b 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionOutput.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Value.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/Value.cs similarity index 84% rename from src/Chrysalis/Cardano/Models/Core/Value.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Output/Value.cs index 5f8a415c..4cfab584 100644 --- a/src/Chrysalis/Cardano/Models/Core/Value.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Output/Value.cs @@ -1,7 +1,6 @@ using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Core.Transaction; -namespace Chrysalis.Cardano.Models.Core; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Lovelace), typeof(LovelaceWithMultiAsset)])] diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs similarity index 66% rename from src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs index e5799657..1cf7fb3f 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/CostMdls.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Protocol; +namespace Chrysalis.Cardano.Core; public record CostMdls(Dictionary> Value) : CborMap>(Value), ICbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs similarity index 69% rename from src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs index a4e0c268..725ebf90 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnitPrices.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Protocol; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record ExUnitPrices( diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs similarity index 66% rename from src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs index c11a09d1..ef999d35 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/ExUnits.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Protocol; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record ExUnits( diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/Nonce.cs similarity index 66% rename from src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/Nonce.cs index 52dd76d6..2472af10 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/Nonce.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/Nonce.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Protocol; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record Nonce( diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs similarity index 82% rename from src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs index b0996794..ab01a2bd 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/PoolVotingThresholds.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Protocol; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record PoolVotingThresholds( diff --git a/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs similarity index 96% rename from src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs index 5046639a..ef8df4c7 100644 --- a/src/Chrysalis/Cardano/Models/Core/Protocol/ProtocolParamUpdate.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs @@ -1,9 +1,7 @@ using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core.Governance; -using Chrysalis.Cardano.Models.Core.Block; +using Chrysalis.Cardano.Cbor; -namespace Chrysalis.Cardano.Models.Core.Protocol; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Script/NativeScript.cs similarity index 93% rename from src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Script/NativeScript.cs index 6e86e928..4761d9bc 100644 --- a/src/Chrysalis/Cardano/Models/Core/Script/NativeScript.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Script/NativeScript.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Script; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Script/PlutusData.cs similarity index 95% rename from src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Script/PlutusData.cs index dbe0d9a6..78ccbd0e 100644 --- a/src/Chrysalis/Cardano/Models/Core/Script/PlutusData.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Script/PlutusData.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Script; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Script/PlutusOption.cs similarity index 86% rename from src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/Script/PlutusOption.cs index 7ac546f8..d831044e 100644 --- a/src/Chrysalis/Cardano/Models/Core/Script/PlutusOption.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Script/PlutusOption.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Script; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(PlutusSome<>), typeof(PlutusNone<>)])] diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Transaction.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/Transaction.cs new file mode 100644 index 00000000..69009f02 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/Transaction.cs @@ -0,0 +1,13 @@ +using Chrysalis.Cbor; +using Chrysalis.Cardano.Cbor; + +namespace Chrysalis.Cardano.Core; + +[CborSerializable(CborType.List)] +public record Transaction( + [CborProperty(0)] TransactionBody TransactionBody, + [CborProperty(1)] TransactionWitnessSet TransactionWitnessSet, + [CborProperty(2)] CborBool Bool, + [CborProperty(3)] CborNullable AuxiliaryData +) : RawCbor; + diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/TransactionMetadatum.cs similarity index 92% rename from src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/TransactionMetadatum.cs index 4da56123..8d275fec 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionMetadatum.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/TransactionMetadatum.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs similarity index 75% rename from src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs index 3301e665..79e3640b 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/BootstrapWitness.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record BootstrapWitness( diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs similarity index 85% rename from src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs index cd045aa0..f1017b37 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/Redeemers.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs @@ -1,9 +1,7 @@ using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core.Protocol; -using Chrysalis.Cardano.Models.Core.Script; +using Chrysalis.Cardano.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs similarity index 83% rename from src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs index 3cb1367b..db68cbbd 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/TransactionWitnessSet.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs @@ -1,7 +1,7 @@ using Chrysalis.Cbor; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core.Script; -namespace Chrysalis.Cardano.Models.Core.Transaction; +using Chrysalis.Cardano.Cbor; + +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.Map)] public record TransactionWitnessSet( diff --git a/src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs b/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs similarity index 66% rename from src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs rename to src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs index f08ff9e2..15665ac8 100644 --- a/src/Chrysalis/Cardano/Models/Core/Transaction/VKeyWitness.cs +++ b/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Transaction; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record VKeyWitness( diff --git a/src/Chrysalis/Cardano/Models/Core/Block/BlockWithEra.cs b/src/Chrysalis/Cardano/Core/BlockWithEra.cs similarity index 67% rename from src/Chrysalis/Cardano/Models/Core/Block/BlockWithEra.cs rename to src/Chrysalis/Cardano/Core/BlockWithEra.cs index 6357e04c..9d622a67 100644 --- a/src/Chrysalis/Cardano/Models/Core/Block/BlockWithEra.cs +++ b/src/Chrysalis/Cardano/Core/BlockWithEra.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Core.Block; +namespace Chrysalis.Cardano.Core; [CborSerializable(CborType.List)] public record BlockWithEra( diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Buy.cs b/src/Chrysalis/Cardano/Jpeg/Buy.cs similarity index 66% rename from src/Chrysalis/Cardano/Models/Jpeg/Buy.cs rename to src/Chrysalis/Cardano/Jpeg/Buy.cs index 80c59858..be0ee418 100644 --- a/src/Chrysalis/Cardano/Models/Jpeg/Buy.cs +++ b/src/Chrysalis/Cardano/Jpeg/Buy.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Jpeg; +namespace Chrysalis.Cardano.Jpeg; [CborSerializable(CborType.Constr, Index = 0)] public record BuyRedeemer( diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Listing.cs b/src/Chrysalis/Cardano/Jpeg/Listing.cs similarity index 77% rename from src/Chrysalis/Cardano/Models/Jpeg/Listing.cs rename to src/Chrysalis/Cardano/Jpeg/Listing.cs index ce350c6d..d235c05c 100644 --- a/src/Chrysalis/Cardano/Models/Jpeg/Listing.cs +++ b/src/Chrysalis/Cardano/Jpeg/Listing.cs @@ -1,8 +1,8 @@ -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Plutus; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Jpeg; +namespace Chrysalis.Cardano.Jpeg; [CborSerializable(CborType.Constr, Index = 0)] public record Listing( diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Offer.cs b/src/Chrysalis/Cardano/Jpeg/Offer.cs similarity index 74% rename from src/Chrysalis/Cardano/Models/Jpeg/Offer.cs rename to src/Chrysalis/Cardano/Jpeg/Offer.cs index 5503ef32..913ad32e 100644 --- a/src/Chrysalis/Cardano/Models/Jpeg/Offer.cs +++ b/src/Chrysalis/Cardano/Jpeg/Offer.cs @@ -1,9 +1,9 @@ -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; using Chrysalis.Cbor; -using Address = Chrysalis.Cardano.Models.Plutus.Address; +using Address = Chrysalis.Cardano.Plutus.Address; -namespace Chrysalis.Cardano.Models.Jpeg; +namespace Chrysalis.Cardano.Jpeg; [CborSerializable(CborType.Constr, Index = 0)] public record Offer( diff --git a/src/Chrysalis/Cardano/Models/Jpeg/Token.cs b/src/Chrysalis/Cardano/Jpeg/Token.cs similarity index 64% rename from src/Chrysalis/Cardano/Models/Jpeg/Token.cs rename to src/Chrysalis/Cardano/Jpeg/Token.cs index 3b2af879..4d125eae 100644 --- a/src/Chrysalis/Cardano/Models/Jpeg/Token.cs +++ b/src/Chrysalis/Cardano/Jpeg/Token.cs @@ -1,8 +1,8 @@ -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Jpeg; +namespace Chrysalis.Cardano.Jpeg; [CborSerializable(CborType.Constr, Index = 0)] public record Token( diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs b/src/Chrysalis/Cardano/Levvy/TokenV2/NftDatum.cs similarity index 92% rename from src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs rename to src/Chrysalis/Cardano/Levvy/TokenV2/NftDatum.cs index b19a7d9b..62d27325 100644 --- a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/NftDatum.cs +++ b/src/Chrysalis/Cardano/Levvy/TokenV2/NftDatum.cs @@ -1,8 +1,8 @@ -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Plutus; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Levvy.TokenV2; +namespace Chrysalis.Cardano.Levvy; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(LendNftDatum), typeof(BorrowNftDatum), typeof(RepayNftDatum)])] diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs b/src/Chrysalis/Cardano/Levvy/TokenV2/PaymentDatum.cs similarity index 61% rename from src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs rename to src/Chrysalis/Cardano/Levvy/TokenV2/PaymentDatum.cs index a3a0ebf0..79a27f9b 100644 --- a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/PaymentDatum.cs +++ b/src/Chrysalis/Cardano/Levvy/TokenV2/PaymentDatum.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cardano.Plutus; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Levvy.TokenV2; +namespace Chrysalis.Cardano.Levvy; [CborSerializable(CborType.Constr, Index = 0)] public record PaymentDatum(OutputReference OutputReference) : RawCbor; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenDatum.cs b/src/Chrysalis/Cardano/Levvy/TokenV2/TokenDatum.cs similarity index 91% rename from src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenDatum.cs rename to src/Chrysalis/Cardano/Levvy/TokenV2/TokenDatum.cs index 6a58257b..1155bc4d 100644 --- a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenDatum.cs +++ b/src/Chrysalis/Cardano/Levvy/TokenV2/TokenDatum.cs @@ -1,9 +1,8 @@ -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Plutus; +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Plutus; using Chrysalis.Cbor; -using Address = Chrysalis.Cardano.Models.Plutus.Address; -namespace Chrysalis.Cardano.Models.Levvy.TokenV2; +namespace Chrysalis.Cardano.Levvy; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(LendTokenDatum), typeof(BorrowTokenDatum), typeof(RepayTokenDatum)])] diff --git a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenRedeemer.cs b/src/Chrysalis/Cardano/Levvy/TokenV2/TokenRedeemer.cs similarity index 93% rename from src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenRedeemer.cs rename to src/Chrysalis/Cardano/Levvy/TokenV2/TokenRedeemer.cs index b4814672..39e97c7a 100644 --- a/src/Chrysalis/Cardano/Models/Levvy/TokenV2/TokenRedeemer.cs +++ b/src/Chrysalis/Cardano/Levvy/TokenV2/TokenRedeemer.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Levvy.TokenV2; +namespace Chrysalis.Cardano.Levvy; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/MPF/Proof.cs b/src/Chrysalis/Cardano/MPF/Proof.cs similarity index 93% rename from src/Chrysalis/Cardano/Models/MPF/Proof.cs rename to src/Chrysalis/Cardano/MPF/Proof.cs index dcdaf706..2ce5d7ad 100644 --- a/src/Chrysalis/Cardano/Models/MPF/Proof.cs +++ b/src/Chrysalis/Cardano/MPF/Proof.cs @@ -1,8 +1,8 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Mpf; +namespace Chrysalis.Cardano.Mpf; [CborSerializable(CborType.Union)] [CborUnionTypes([ diff --git a/src/Chrysalis/Cardano/Models/Core/Address.cs b/src/Chrysalis/Cardano/Models/Core/Address.cs deleted file mode 100644 index d5d2251f..00000000 --- a/src/Chrysalis/Cardano/Models/Core/Address.cs +++ /dev/null @@ -1,5 +0,0 @@ -using Chrysalis.Cardano.Models.Cbor; - -namespace Chrysalis.Cardano.Models.Core; - -public record Address(byte[] Value) : CborBytes(Value); diff --git a/src/Chrysalis/Cardano/Models/Core/RewardAccount.cs b/src/Chrysalis/Cardano/Models/Core/RewardAccount.cs deleted file mode 100644 index 136c5b8d..00000000 --- a/src/Chrysalis/Cardano/Models/Core/RewardAccount.cs +++ /dev/null @@ -1,5 +0,0 @@ -using Chrysalis.Cardano.Models.Cbor; - -namespace Chrysalis.Cardano.Models.Core; - -public record RewardAccount(byte[] Value) : CborBytes(Value); \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Plutus/Address.cs b/src/Chrysalis/Cardano/Plutus/Address.cs similarity index 84% rename from src/Chrysalis/Cardano/Models/Plutus/Address.cs rename to src/Chrysalis/Cardano/Plutus/Address.cs index ed73159e..857aa3da 100644 --- a/src/Chrysalis/Cardano/Models/Plutus/Address.cs +++ b/src/Chrysalis/Cardano/Plutus/Address.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Plutus; +namespace Chrysalis.Cardano.Plutus; [CborSerializable(CborType.Constr, Index = 0)] public record Address( @@ -12,8 +12,6 @@ public record Address( Option> StakeCredential ) : RawCbor; - - [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(VerificationKey), typeof(Script)])] public record Credential() : RawCbor; @@ -24,14 +22,12 @@ public record VerificationKey([CborProperty(0)] CborBytes VerificationKeyHash) : [CborSerializable(CborType.Constr, Index = 1)] public record Script([CborProperty(0)] CborBytes ScriptHash) : Credential; - - [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Inline<>), typeof(Pointer)])] -public record Referenced() : RawCbor; +public record Referenced() : RawCbor; [CborSerializable(CborType.Constr, Index = 0)] -public record Inline(T Value) : Referenced; +public record Inline(T Value) : Referenced; [CborSerializable(CborType.Constr, Index = 1)] public record Pointer( @@ -43,4 +39,4 @@ public record Pointer( [CborProperty(2)] CborUlong CertificateIndex -) : Referenced; \ No newline at end of file +) : Referenced; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Models/Plutus/CIP68.cs b/src/Chrysalis/Cardano/Plutus/CIP68.cs similarity index 74% rename from src/Chrysalis/Cardano/Models/Plutus/CIP68.cs rename to src/Chrysalis/Cardano/Plutus/CIP68.cs index d03dc90d..cc7a9f8c 100644 --- a/src/Chrysalis/Cardano/Models/Plutus/CIP68.cs +++ b/src/Chrysalis/Cardano/Plutus/CIP68.cs @@ -1,8 +1,8 @@ -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Plutus; +namespace Chrysalis.Cardano.Plutus; [CborSerializable(CborType.Constr, Index = 0)] public record CIP68() : RawCbor where T : ICbor diff --git a/src/Chrysalis/Cardano/Models/Plutus/Option.cs b/src/Chrysalis/Cardano/Plutus/Option.cs similarity index 88% rename from src/Chrysalis/Cardano/Models/Plutus/Option.cs rename to src/Chrysalis/Cardano/Plutus/Option.cs index f92b5ef1..b5dd9e20 100644 --- a/src/Chrysalis/Cardano/Models/Plutus/Option.cs +++ b/src/Chrysalis/Cardano/Plutus/Option.cs @@ -1,6 +1,6 @@ using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Plutus; +namespace Chrysalis.Cardano.Plutus; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Some<>), typeof(None<>)])] diff --git a/src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs b/src/Chrysalis/Cardano/Plutus/OutputReference.cs similarity index 79% rename from src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs rename to src/Chrysalis/Cardano/Plutus/OutputReference.cs index fe36e470..6559be13 100644 --- a/src/Chrysalis/Cardano/Models/Plutus/OutputReference.cs +++ b/src/Chrysalis/Cardano/Plutus/OutputReference.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Plutus; +namespace Chrysalis.Cardano.Plutus; [CborSerializable(CborType.Constr, Index = 0)] public record OutputReference( diff --git a/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs b/src/Chrysalis/Cardano/Sundae/MultisigScript.cs similarity index 93% rename from src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs rename to src/Chrysalis/Cardano/Sundae/MultisigScript.cs index aa6a2b47..4588c53b 100644 --- a/src/Chrysalis/Cardano/Models/Sundae/MultisigScript.cs +++ b/src/Chrysalis/Cardano/Sundae/MultisigScript.cs @@ -1,7 +1,7 @@ -using Chrysalis.Cardano.Models.Cbor; +using Chrysalis.Cardano.Cbor; using Chrysalis.Cbor; -namespace Chrysalis.Cardano.Models.Sundae; +namespace Chrysalis.Cardano.Sundae; [CborSerializable(CborType.Union)] [CborUnionTypes([typeof(Signature), typeof(AllOf), typeof(AnyOf), typeof(AtLeast), typeof(Before), typeof(After), typeof(Script)])] diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index 5c40c90f..db04b6cc 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -1,10 +1,8 @@ using System.Formats.Cbor; using System.Reflection; using System.Collections; -using Chrysalis.Cardano.Models.Cbor; -using Chrysalis.Cardano.Models.Core; +using Chrysalis.Cardano.Core; using Chrysalis.Utils; - namespace Chrysalis.Cbor; public static class CborSerializer { @@ -42,6 +40,9 @@ private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) case CborType.Int: SerializeCborInt(writer, cbor, objType); break; + case CborType.Bool: + SerializeCborBool(writer, cbor, objType); + break; case CborType.Ulong: SerializeCborUlong(writer, cbor, objType); break; @@ -169,6 +170,11 @@ private static void SerializeCborInt(CborWriter writer, ICbor cbor, Type objType writer.WriteInt32((int)cbor.GetValue(objType)!); } + private static void SerializeCborBool(CborWriter writer, ICbor cbor, Type objType) + { + writer.WriteBoolean((bool)cbor.GetValue(objType)!); + } + private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type objType) { CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); @@ -482,6 +488,7 @@ private static void SerializeTag(CborWriter writer, ICbor cbor, Type objType) { CborType.Map => DeserializeMap(subReader, targetType), CborType.Int => DeserializeCborInt(subReader, targetType), + CborType.Bool => DeserializeBool(subReader, targetType), CborType.Ulong => DeserializeCborUlong(subReader, targetType), CborType.Long => DeserializeCborLong(subReader, targetType), CborType.Union => DeserializeUnion(subReader, targetType), @@ -495,10 +502,10 @@ private static void SerializeTag(CborWriter writer, ICbor cbor, Type objType) CborType.Tag => DeserializeTag(subReader, targetType), _ => throw new NotImplementedException($"Unknown CborType: {cborType}"), }; - + if (result is null && cborType != CborType.Nullable) throw new InvalidOperationException($"Deserialization failed for target type {targetType.Name}"); else if (result is not null) result.Raw = originalBytes.ToArray(); - + return result; } throw new NotImplementedException($"Deserialization not implemented for target type {targetType.Name}"); @@ -533,7 +540,7 @@ private static ICbor DeserializeCborBytes(CborReader reader, Type targetType) private static ICbor DeserializeCborInt(CborReader reader, Type targetType) { int value = reader.ReadInt32(); - return (CborInt)Activator.CreateInstance(targetType, value)!; + return (ICbor)Activator.CreateInstance(targetType, value)!; } private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) @@ -873,35 +880,36 @@ private static ICbor DeserializeGenericMap(CborReader reader, Type { reader.ReadStartMap(); - var parameters = targetType.GetConstructors() + var parameterMap = targetType.GetConstructors() .First() .GetParameters() - .Where(p => p.GetCustomAttributes(typeof(CborPropertyAttribute), true).Any()) - .ToList(); + .Select(p => new + { + Parameter = p, + Attribute = p.GetCustomAttribute() + }) + .Where(x => x.Attribute != null) + .ToDictionary( + x => x.Attribute!.Key ?? x.Attribute.Index?.ToString()!, + x => (x.Parameter, x.Attribute) + ); - object?[] values = new object?[parameters.Count]; + object?[] values = new object?[parameterMap.Count]; while (reader.PeekState() != CborReaderState.EndMap) { - object? key = reader.PeekState() == CborReaderState.TextString + object key = reader.PeekState() == CborReaderState.TextString ? reader.ReadTextString() - : reader.ReadInt32(); + : reader.ReadInt32().ToString(); - for (int i = 0; i < parameters.Count; i++) + if (parameterMap.TryGetValue(key.ToString()!, out var paramInfo)) { - CborPropertyAttribute? cborPropertyAttribute = parameters[i].GetCustomAttribute(); - if (cborPropertyAttribute != null) - { - string? keyString = cborPropertyAttribute.Key; - int? keyIndex = cborPropertyAttribute.Index; - - if ((keyString != null && keyString.Equals(key?.ToString())) || - (keyIndex != null && keyIndex == key as int?)) - { - values[i] = DeserializeCbor(reader, parameters[i].ParameterType); - break; - } - } + int index = Array.IndexOf(targetType.GetConstructors().First().GetParameters(), paramInfo.Parameter); + values[index] = DeserializeCbor(reader, paramInfo.Parameter.ParameterType); + } + else + { + reader.SkipValue(); } } @@ -998,4 +1006,10 @@ private static ICbor DeserializeGenericMap(CborReader reader, Type ICbor? content = DeserializeCbor(reader, valueType); return (ICbor)Activator.CreateInstance(targetType, content!)!; } + + private static ICbor? DeserializeBool(CborReader reader, Type targetType) + { + bool value = reader.ReadBoolean(); + return (ICbor)Activator.CreateInstance(targetType, value)!; + } } \ No newline at end of file diff --git a/src/Chrysalis/Cbor/CborType.cs b/src/Chrysalis/Cbor/CborType.cs index a1fbf926..8f4fa4b5 100644 --- a/src/Chrysalis/Cbor/CborType.cs +++ b/src/Chrysalis/Cbor/CborType.cs @@ -3,6 +3,7 @@ public enum CborType { Constr, Bytes, + Bool, Int, Ulong, Long, From d8b2eac5c491b370dd3dd576c5b9b8a6ad1b74fe Mon Sep 17 00:00:00 2001 From: John Quinnvic Taboada <116705833+johnquinnvictaboada@users.noreply.github.com> Date: Wed, 6 Nov 2024 00:17:51 +0800 Subject: [PATCH 042/162] feat: added access utils for existing types (#42) * refactor: modified Chrysalis structure, (de)serialization engine, and type definitions * refactor: namespace changes and file structure * feat: added transaction cardano core data type with cborbool * chore: added test for transaction type * feat: initial utils for types * chore: running tests / cleanup * chore: cleanup --------- Co-authored-by: Katteu --- src/Chrysalis/Cbor/CborSerializer.cs | 3 +- .../{ => Cbor}/Utils/CborSerializerUtils.cs | 2 +- src/Chrysalis/Chrysalis.csproj | 1 + src/Chrysalis/Utils/AddressExtension.cs | 9 +++ src/Chrysalis/Utils/Blake2b.cs | 11 +++ src/Chrysalis/Utils/BlockExtension.cs | 43 +++++++++++ .../Utils/TransactionBodyExtension.cs | 73 +++++++++++++++++++ src/Chrysalis/Utils/TransactionExtension.cs | 51 +++++++++++++ .../Utils/TransactionInputExtension.cs | 51 +++++++++++++ src/Chrysalis/Utils/ValueExtension.cs | 13 ++++ 10 files changed, 255 insertions(+), 2 deletions(-) rename src/Chrysalis/{ => Cbor}/Utils/CborSerializerUtils.cs (98%) create mode 100644 src/Chrysalis/Utils/AddressExtension.cs create mode 100644 src/Chrysalis/Utils/Blake2b.cs create mode 100644 src/Chrysalis/Utils/BlockExtension.cs create mode 100644 src/Chrysalis/Utils/TransactionBodyExtension.cs create mode 100644 src/Chrysalis/Utils/TransactionExtension.cs create mode 100644 src/Chrysalis/Utils/TransactionInputExtension.cs create mode 100644 src/Chrysalis/Utils/ValueExtension.cs diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index db04b6cc..82d3b338 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -2,7 +2,8 @@ using System.Reflection; using System.Collections; using Chrysalis.Cardano.Core; -using Chrysalis.Utils; +using Chrysalis.Cbor.Utils; + namespace Chrysalis.Cbor; public static class CborSerializer { diff --git a/src/Chrysalis/Utils/CborSerializerUtils.cs b/src/Chrysalis/Cbor/Utils/CborSerializerUtils.cs similarity index 98% rename from src/Chrysalis/Utils/CborSerializerUtils.cs rename to src/Chrysalis/Cbor/Utils/CborSerializerUtils.cs index a70c0e57..176abeb2 100644 --- a/src/Chrysalis/Utils/CborSerializerUtils.cs +++ b/src/Chrysalis/Cbor/Utils/CborSerializerUtils.cs @@ -2,7 +2,7 @@ using System.Reflection; using Chrysalis.Cbor; -namespace Chrysalis.Utils; +namespace Chrysalis.Cbor.Utils; public static class CborSerializerUtils { diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 6d16d8f3..eb45caa7 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -13,6 +13,7 @@ + diff --git a/src/Chrysalis/Utils/AddressExtension.cs b/src/Chrysalis/Utils/AddressExtension.cs new file mode 100644 index 00000000..c44f49af --- /dev/null +++ b/src/Chrysalis/Utils/AddressExtension.cs @@ -0,0 +1,9 @@ +using Chrysalis.Cardano.Core; + +namespace Chrysalis.Utils; + +public static class AddressUtils +{ + public static string ToBech32(this Address address) + => throw new NotImplementedException(); +} \ No newline at end of file diff --git a/src/Chrysalis/Utils/Blake2b.cs b/src/Chrysalis/Utils/Blake2b.cs new file mode 100644 index 00000000..aa09173b --- /dev/null +++ b/src/Chrysalis/Utils/Blake2b.cs @@ -0,0 +1,11 @@ +using NSec.Cryptography; + +namespace Chrysalis.Utils; +public static class Blake2bUtils +{ + public static byte[] ToBlake2b(this byte[] input) + { + Blake2b algorithm = HashAlgorithm.Blake2b_256; + return algorithm.Hash(input); + } +} diff --git a/src/Chrysalis/Utils/BlockExtension.cs b/src/Chrysalis/Utils/BlockExtension.cs new file mode 100644 index 00000000..88598342 --- /dev/null +++ b/src/Chrysalis/Utils/BlockExtension.cs @@ -0,0 +1,43 @@ +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; +using Chrysalis.Cbor; + +namespace Chrysalis.Utils; + +public static class BlockUtils +{ + public static string Hash(this Block block) + => Convert.ToHexString(CborSerializer.Serialize(block.Header).ToBlake2b()).ToLowerInvariant(); + + public static ulong Slot(this Block block) + => block.Header.HeaderBody switch + { + AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.Slot.Value, + BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.Slot.Value, + _ => throw new NotImplementedException() + }; + + public static BlockHeaderBody HeaderBody(this Block block) + => block.Header.HeaderBody switch + { + AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody, + BabbageHeaderBody babbageHeaderBody => babbageHeaderBody, + _ => throw new NotImplementedException() + }; + + public static ulong Number(this Block block) + => block.Header.HeaderBody switch + { + AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.BlockNumber.Value, + BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.BlockNumber.Value, + _ => throw new NotImplementedException() + }; + + public static IEnumerable TransactionBodies(this Block block) + => block.TransactionBodies switch + { + CborDefiniteList x => x.Value, + CborIndefiniteList x => x.Value, + _ => throw new NotImplementedException() + }; +} diff --git a/src/Chrysalis/Utils/TransactionBodyExtension.cs b/src/Chrysalis/Utils/TransactionBodyExtension.cs new file mode 100644 index 00000000..8a347c51 --- /dev/null +++ b/src/Chrysalis/Utils/TransactionBodyExtension.cs @@ -0,0 +1,73 @@ +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; +using Chrysalis.Cbor; + +namespace Chrysalis.Utils; + +public static class TransactionBodyUtils +{ + + public static string Id(this TransactionBody txBody) => + Convert.ToHexString(CborSerializer.Serialize(txBody).ToBlake2b()).ToLowerInvariant(); + + public static IEnumerable Inputs(this TransactionBody transactionBody) + => transactionBody switch + { + ConwayTransactionBody x => x.Inputs switch + { + + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag list => list.Value.Value, + CborIndefiniteListWithTag list => list.Value.Value, + _ => throw new NotImplementedException() + }, + BabbageTransactionBody x => x.Inputs switch + { + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag tagList => tagList.Value.Value, + CborIndefiniteListWithTag tagList => tagList.Value.Value, + _ => throw new NotImplementedException() + }, + AlonzoTransactionBody x => x.Inputs switch + { + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag tagList => tagList.Value.Value, + CborIndefiniteListWithTag tagList => tagList.Value.Value, + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static IEnumerable Outputs(this TransactionBody transactionBody) + => transactionBody switch + { + ConwayTransactionBody x => x.Outputs switch + { + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag list => list.Value.Value, + CborIndefiniteListWithTag list => list.Value.Value, + _ => throw new NotImplementedException() + }, + BabbageTransactionBody x => x.Outputs switch + { + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag list => list.Value.Value, + CborIndefiniteListWithTag list => list.Value.Value, + _ => throw new NotImplementedException() + }, + AlonzoTransactionBody x => x.Outputs switch + { + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag list => list.Value.Value, + CborIndefiniteListWithTag list => list.Value.Value, + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; +} \ No newline at end of file diff --git a/src/Chrysalis/Utils/TransactionExtension.cs b/src/Chrysalis/Utils/TransactionExtension.cs new file mode 100644 index 00000000..a0064e4c --- /dev/null +++ b/src/Chrysalis/Utils/TransactionExtension.cs @@ -0,0 +1,51 @@ +using Chrysalis.Cardano.Core; + +namespace Chrysalis.Utils; + +public static class TransactionUtils +{ + public static Address? Address(this TransactionOutput transactionOutput) + => transactionOutput switch + { + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Address, + AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Address, + MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Address, + ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Address, + _ => null + }; + + public static Value? Amount(this TransactionOutput transactionOutput) + => transactionOutput switch + { + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Amount, + AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Amount, + MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Amount, + ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Amount, + _ => null + }; + + public static MultiAssetOutput? MultiAsset(this Value value) + => value switch + { + LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.MultiAsset, + _ => null + }; + + public static ulong? GetCoin(this Value value) + => value switch + { + Lovelace lovelace => lovelace.Value, + LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.Lovelace.Value, + _ => null + }; + + public static string GetSubject(this MultiAssetOutput multiAssetOutput) + { + return multiAssetOutput.Value + .Select(v => v.Value.Value + .Select(tokenBundle => + Convert.ToHexString(v.Key.Value) + Convert.ToHexString(tokenBundle.Key.Value)) + .First()) + .First(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Utils/TransactionInputExtension.cs b/src/Chrysalis/Utils/TransactionInputExtension.cs new file mode 100644 index 00000000..37fe22bb --- /dev/null +++ b/src/Chrysalis/Utils/TransactionInputExtension.cs @@ -0,0 +1,51 @@ +using Chrysalis.Cardano.Core; + +namespace Chrysalis.Utils; + +public static class TransactionInputUtils +{ + public static string TransacationId(this TransactionInput transactionInput) + => Convert.ToHexString(transactionInput.TransactionId.Value).ToLowerInvariant(); + + public static ulong Index(this TransactionInput transactionInput) + => transactionInput.Index.Value; + + public static byte[]? ScriptRef(this TransactionOutput transactionOutput) + => transactionOutput switch + { + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput?.ScriptRef?.Value, + _ => null + }; + + public static DatumOption? DatumOption(this TransactionOutput transactionOutput) + => transactionOutput switch + { + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Datum, + _ => null + }; + + public static byte[]? DatumHash(this TransactionOutput transactionOutput) + => transactionOutput switch + { + AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.DatumHash.Value, + _ => null + }; + + public static byte[]? DatumInfo(this TransactionOutput transactionOutput) + { + var datumOption = transactionOutput.DatumOption(); + + if (datumOption == null) + { + byte[]? datumHash = transactionOutput.DatumHash(); + return datumHash ?? null; + } + + return datumOption switch + { + DatumHashOption hashOption => hashOption.DatumHash.Value, + InlineDatumOption inlineOption => inlineOption.Data.Value, + _ => null + }; + } +} \ No newline at end of file diff --git a/src/Chrysalis/Utils/ValueExtension.cs b/src/Chrysalis/Utils/ValueExtension.cs new file mode 100644 index 00000000..1a48d713 --- /dev/null +++ b/src/Chrysalis/Utils/ValueExtension.cs @@ -0,0 +1,13 @@ +using Chrysalis.Cardano.Core; + +namespace Chrysalis.Utils; + +public static class ValueUtils +{ + public static LovelaceWithMultiAsset TransactionValueLovelace(this Value value) + => value switch + { + LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset, + _ => throw new NotImplementedException() + }; +} \ No newline at end of file From 63430200342e6aeee2e2b0af5215536838ef5cc5 Mon Sep 17 00:00:00 2001 From: John Quinnvic Taboada <116705833+johnquinnvictaboada@users.noreply.github.com> Date: Wed, 6 Nov 2024 00:18:13 +0800 Subject: [PATCH 043/162] chore: bump version to 0.3.0 (#43) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index eb45caa7..91dedfaa 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.2.8 + 0.3.0 Chrysalis clark@saib.dev SAIB Inc From 5d31632f545fd70b3017c4061ef56c81283c3392 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Fri, 22 Nov 2024 19:02:53 +0800 Subject: [PATCH 044/162] fix: used value-based comparison in DeserializeCustomMap to ensure correct parameter mapping in parallel execution (#45) --- src/Chrysalis/Cbor/CborSerializer.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/Chrysalis/Cbor/CborSerializer.cs index 82d3b338..a6073383 100644 --- a/src/Chrysalis/Cbor/CborSerializer.cs +++ b/src/Chrysalis/Cbor/CborSerializer.cs @@ -905,7 +905,14 @@ private static ICbor DeserializeGenericMap(CborReader reader, Type if (parameterMap.TryGetValue(key.ToString()!, out var paramInfo)) { - int index = Array.IndexOf(targetType.GetConstructors().First().GetParameters(), paramInfo.Parameter); + ParameterInfo[] firstParams = targetType.GetConstructors().First().GetParameters(); + ParameterInfo secondParams = paramInfo.Parameter; + + int index = firstParams.ToList().FindIndex(p => + p.Name == secondParams.Name && + p.ParameterType == secondParams.ParameterType + ); + values[index] = DeserializeCbor(reader, paramInfo.Parameter.ParameterType); } else From 9eb7f79c855c1f66726ab3f211716e27414712c0 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Fri, 22 Nov 2024 19:09:08 +0800 Subject: [PATCH 045/162] chore: bump version to 0.3.1 (#46) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 91dedfaa..96a28d19 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net8.0 enable enable - 0.3.0 + 0.3.1 Chrysalis clark@saib.dev SAIB Inc From 98982c2dfa5e29fa780de133e1d1ddcd6cfe30ea Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Fri, 22 Nov 2024 20:05:06 +0800 Subject: [PATCH 046/162] build: upgrade to .NET 9 (#48) --- src/Chrysalis.Test/Chrysalis.Test.csproj | 4 ++-- src/Chrysalis/Chrysalis.csproj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Chrysalis.Test/Chrysalis.Test.csproj b/src/Chrysalis.Test/Chrysalis.Test.csproj index 83f6066d..4f8e5f10 100644 --- a/src/Chrysalis.Test/Chrysalis.Test.csproj +++ b/src/Chrysalis.Test/Chrysalis.Test.csproj @@ -1,7 +1,7 @@ - net8.0 + net9.0 enable enable @@ -11,7 +11,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 96a28d19..843a0e00 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -1,7 +1,7 @@  - net8.0 + net9.0 enable enable 0.3.1 From 5a6840261b867bff206bd1a2d901c1d2344a9c1a Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Fri, 22 Nov 2024 20:05:21 +0800 Subject: [PATCH 047/162] chore: bump version to 0.4.0 (#49) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 843a0e00..c10f2b5f 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.3.1 + 0.4.0 Chrysalis clark@saib.dev SAIB Inc From 694d3faae8ac6ac6b25fb0a0eef3e46dea60cfb3 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Fri, 22 Nov 2024 20:43:49 +0800 Subject: [PATCH 048/162] build: update .NET version in GitHub Actions workflow to 9.x.x (#50) --- .github/workflows/dotnet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 75b37021..ccd44477 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -24,7 +24,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v3 with: - dotnet-version: 8.0.x + dotnet-version: 9.x.x - name: Restore dependencies run: dotnet restore From 57a3bf51a06b28b84e0bb31ccbc832b109096438 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Thu, 28 Nov 2024 03:14:38 +0800 Subject: [PATCH 049/162] refactor: modified and added Chrysalis extension functions (#51) * refactor: improved and modified Chrysalis extensions * refactor: modified Chrysalis extensions * refactor: modified metadata extension function * refactor: modified return types on Chrysalis extensions to use Value --- .../{Utils => Extensions}/AddressExtension.cs | 4 +- src/Chrysalis/Extensions/AssetExtension.cs | 91 +++++++++++++++++++ .../Extensions/AuxiliaryDataExtension.cs | 45 +++++++++ .../{Utils => Extensions}/Blake2b.cs | 4 +- src/Chrysalis/Extensions/BlockExtension.cs | 72 +++++++++++++++ src/Chrysalis/Extensions/DatumExtension.cs | 31 +++++++ .../Extensions/TransactionBodyExtension.cs | 91 +++++++++++++++++++ .../Extensions/TransactionInputExtension.cs | 12 +++ .../TransactionOutputExtension.cs} | 44 +++++---- src/Chrysalis/Utils/BlockExtension.cs | 43 --------- .../Utils/TransactionBodyExtension.cs | 73 --------------- .../Utils/TransactionInputExtension.cs | 51 ----------- src/Chrysalis/Utils/ValueExtension.cs | 13 --- 13 files changed, 372 insertions(+), 202 deletions(-) rename src/Chrysalis/{Utils => Extensions}/AddressExtension.cs (66%) create mode 100644 src/Chrysalis/Extensions/AssetExtension.cs create mode 100644 src/Chrysalis/Extensions/AuxiliaryDataExtension.cs rename src/Chrysalis/{Utils => Extensions}/Blake2b.cs (73%) create mode 100644 src/Chrysalis/Extensions/BlockExtension.cs create mode 100644 src/Chrysalis/Extensions/DatumExtension.cs create mode 100644 src/Chrysalis/Extensions/TransactionBodyExtension.cs create mode 100644 src/Chrysalis/Extensions/TransactionInputExtension.cs rename src/Chrysalis/{Utils/TransactionExtension.cs => Extensions/TransactionOutputExtension.cs} (52%) delete mode 100644 src/Chrysalis/Utils/BlockExtension.cs delete mode 100644 src/Chrysalis/Utils/TransactionBodyExtension.cs delete mode 100644 src/Chrysalis/Utils/TransactionInputExtension.cs delete mode 100644 src/Chrysalis/Utils/ValueExtension.cs diff --git a/src/Chrysalis/Utils/AddressExtension.cs b/src/Chrysalis/Extensions/AddressExtension.cs similarity index 66% rename from src/Chrysalis/Utils/AddressExtension.cs rename to src/Chrysalis/Extensions/AddressExtension.cs index c44f49af..d19dc0ca 100644 --- a/src/Chrysalis/Utils/AddressExtension.cs +++ b/src/Chrysalis/Extensions/AddressExtension.cs @@ -1,8 +1,8 @@ using Chrysalis.Cardano.Core; -namespace Chrysalis.Utils; +namespace Chrysalis.Extensions; -public static class AddressUtils +public static class AddressExtension { public static string ToBech32(this Address address) => throw new NotImplementedException(); diff --git a/src/Chrysalis/Extensions/AssetExtension.cs b/src/Chrysalis/Extensions/AssetExtension.cs new file mode 100644 index 00000000..39054e9f --- /dev/null +++ b/src/Chrysalis/Extensions/AssetExtension.cs @@ -0,0 +1,91 @@ +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; + +namespace Chrysalis.Extensions; + +public static class AssetExtension +{ + public static ulong? Coin(this Value value) + => value switch + { + Lovelace lovelace => lovelace.Value, + LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.Lovelace.Value, + _ => null + }; + + public static Dictionary? MultiAsset(this Value value) + => value switch + { + LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.MultiAsset.Value + .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value), kvp => kvp.Value), + _ => null + }; + + public static MultiAssetOutput? MultiAssetOutput(this Value value) + => value switch + { + LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.MultiAsset, + _ => null + }; + + public static bool WithMultiAsset(this Value value) + => value is LovelaceWithMultiAsset; + + public static IEnumerable? PolicyId(this MultiAssetOutput multiAssetOutput) + => multiAssetOutput.Value.Keys.Select(key => Convert.ToHexString(key.Value)); + + public static IEnumerable? PolicyId(this MultiAssetMint multiAssetMint) + => multiAssetMint.Value.Keys.Select(key => Convert.ToHexString(key.Value)); + + public static IEnumerable Subjects(this MultiAssetOutput multiAssetOutput) + { + return multiAssetOutput.Value + .SelectMany(v => v.Value.Value + .Select(tokenBundle + => Convert.ToHexString(tokenBundle.Key.Value))); + } + + public static IEnumerable Subjects(this MultiAssetMint multiAssetMint) + { + return multiAssetMint.Value + .SelectMany(v => v.Value.Value + .Select(tokenBundle + => Convert.ToHexString(tokenBundle.Key.Value))); + } + + public static Dictionary TokenBundle(this MultiAssetOutput multiAssetOutput) + { + return multiAssetOutput.Value + .SelectMany(v => v.Value.Value + .Select(tokenBundle => + new KeyValuePair( + Convert.ToHexString(tokenBundle.Key.Value), + tokenBundle.Value.Value + ))) + .ToDictionary(kvp => kvp.Key, kvp => kvp.Value); + } + + public static Dictionary TokenBundle(this MultiAssetMint multiAssetMint) + { + return multiAssetMint.Value + .SelectMany(v => v.Value.Value + .Select(tokenBundle => + new KeyValuePair( + Convert.ToHexString(tokenBundle.Key.Value), + tokenBundle.Value.Value + ))) + .ToDictionary(kvp => kvp.Key, kvp => kvp.Value); + } + + public static Dictionary TokenBundle(this TokenBundleOutput tokenBundleOutput) + { + return tokenBundleOutput.Value + .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value), kvp => kvp.Value.Value); + } + + public static Dictionary TokenBundle(this TokenBundleMint tokenBundleMint) + { + return tokenBundleMint.Value + .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value), kvp => kvp.Value.Value); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Extensions/AuxiliaryDataExtension.cs b/src/Chrysalis/Extensions/AuxiliaryDataExtension.cs new file mode 100644 index 00000000..e3416903 --- /dev/null +++ b/src/Chrysalis/Extensions/AuxiliaryDataExtension.cs @@ -0,0 +1,45 @@ +using Chrysalis.Cardano.Core; +using Chrysalis.Cardano.Cbor; + +namespace Chrysalis.Extensions; + +public static class AuxiliaryDataExtension +{ + public static Dictionary? Metadata(this AuxiliaryData auxiliaryData) + => auxiliaryData switch + { + Metadata metadata => metadata.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + PostAlonzoAuxiliaryData post => post.Value.Metadata?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + ShellyMaAuxiliaryData shelley => shelley.TransactionMetadata.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + _ => null + }; + + public static IEnumerable? NativeScripts(this AuxiliaryData auxiliaryData) + => auxiliaryData switch + { + PostAlonzoAuxiliaryData post => post.Value.NativeScriptSet?.Value, + ShellyMaAuxiliaryData shelley => shelley.AuxiliaryScripts.Value, + _ => null + }; + + public static IEnumerable? PlutusV1Scripts(this AuxiliaryData auxiliaryData) + => auxiliaryData switch + { + PostAlonzoAuxiliaryData post => post.Value.PlutusV1ScriptSet?.Value.Select(script => script.Value), + _ => null + }; + + public static IEnumerable? PlutusV2Scripts(this AuxiliaryData auxiliaryData) + => auxiliaryData switch + { + PostAlonzoAuxiliaryData post => post.Value.PlutusV2ScriptSet?.Value.Select(script => script.Value), + _ => null + }; + + public static IEnumerable? PlutusV3Scripts(this AuxiliaryData auxiliaryData) + => auxiliaryData switch + { + PostAlonzoAuxiliaryData post => post.Value.PlutusV3ScriptSet?.Value.Select(script => script.Value), + _ => null + }; +} \ No newline at end of file diff --git a/src/Chrysalis/Utils/Blake2b.cs b/src/Chrysalis/Extensions/Blake2b.cs similarity index 73% rename from src/Chrysalis/Utils/Blake2b.cs rename to src/Chrysalis/Extensions/Blake2b.cs index aa09173b..802e7881 100644 --- a/src/Chrysalis/Utils/Blake2b.cs +++ b/src/Chrysalis/Extensions/Blake2b.cs @@ -1,7 +1,7 @@ using NSec.Cryptography; -namespace Chrysalis.Utils; -public static class Blake2bUtils +namespace Chrysalis.Extensions; +public static class Blake2bExtension { public static byte[] ToBlake2b(this byte[] input) { diff --git a/src/Chrysalis/Extensions/BlockExtension.cs b/src/Chrysalis/Extensions/BlockExtension.cs new file mode 100644 index 00000000..91be8974 --- /dev/null +++ b/src/Chrysalis/Extensions/BlockExtension.cs @@ -0,0 +1,72 @@ +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; +using Chrysalis.Cbor; + +namespace Chrysalis.Extensions; + +public static class BlockExtension +{ + public static string Hash(this Block block) + => Convert.ToHexString(CborSerializer.Serialize(block.Header).ToBlake2b()).ToLowerInvariant(); + + public static ulong Slot(this Block block) + => block.Header.HeaderBody switch + { + AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.Slot.Value, + BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.Slot.Value, + _ => throw new NotImplementedException() + }; + + public static bool HasTransactions(this Block block) + => TransactionBodies(block).Any(); + + public static ulong TransactionCount(this Block block) + => (ulong)TransactionBodies(block).Count(); + + public static byte[] PrevHash(this Block block) + => block.Header.HeaderBody switch + { + AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.PrevHash.Value.Value, + BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.PrevHash.Value.Value, + _ => throw new NotImplementedException() + }; + + public static BlockHeaderBody HeaderBody(this Block block) + => block.Header.HeaderBody switch + { + AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody, + BabbageHeaderBody babbageHeaderBody => babbageHeaderBody, + _ => throw new NotImplementedException() + }; + + public static ulong Number(this Block block) + => block.Header.HeaderBody switch + { + AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.BlockNumber.Value, + BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.BlockNumber.Value, + _ => throw new NotImplementedException() + }; + + public static IEnumerable TransactionBodies(this Block block) + => block.TransactionBodies switch + { + CborDefiniteList x => x.Value, + CborIndefiniteList x => x.Value, + CborDefiniteListWithTag x => x.Value.Value, + CborIndefiniteListWithTag x => x.Value.Value, + _ => throw new NotImplementedException() + }; + + public static IEnumerable TransactionWitnessSets(this Block block) + => block.TransactionWitnessSets switch + { + CborDefiniteList x => x.Value, + CborIndefiniteList x => x.Value, + CborDefiniteListWithTag x => x.Value.Value, + CborIndefiniteListWithTag x => x.Value.Value, + _ => throw new NotImplementedException() + }; + + public static Dictionary AuxiliaryDataSet(this Block block) + => block.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value); +} diff --git a/src/Chrysalis/Extensions/DatumExtension.cs b/src/Chrysalis/Extensions/DatumExtension.cs new file mode 100644 index 00000000..3e126d66 --- /dev/null +++ b/src/Chrysalis/Extensions/DatumExtension.cs @@ -0,0 +1,31 @@ +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; +using Chrysalis.Cbor; + +namespace Chrysalis.Extensions; + +public static class DatumExtension +{ + public static byte[]? DatumHash(this DatumOption? datumOption) + => datumOption switch + { + DatumHashOption hashOption => hashOption.DatumHash.Value, + InlineDatumOption => null, + _ => null + }; + + public static byte[]? InlineDatum(this DatumOption? datumOption) + => datumOption switch + { + InlineDatumOption inlineOption => inlineOption.Data.Value, + DatumHashOption => null, + _ => null + }; + + public static bool IsInline(this DatumOption? datumOption) + => datumOption is InlineDatumOption; + + public static bool IsHash(this DatumOption? datumOption) + => datumOption is DatumHashOption; + +} \ No newline at end of file diff --git a/src/Chrysalis/Extensions/TransactionBodyExtension.cs b/src/Chrysalis/Extensions/TransactionBodyExtension.cs new file mode 100644 index 00000000..35a7d476 --- /dev/null +++ b/src/Chrysalis/Extensions/TransactionBodyExtension.cs @@ -0,0 +1,91 @@ +using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core; +using Chrysalis.Cbor; + +namespace Chrysalis.Extensions; + +public static class TransactionBodyExtension +{ + + public static string Id(this TransactionBody txBody) => + Convert.ToHexString(CborSerializer.Serialize(txBody).ToBlake2b()).ToLowerInvariant(); + + public static IEnumerable Inputs(this TransactionBody transactionBody) + => transactionBody switch + { + ConwayTransactionBody x => x.Inputs switch + { + + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag list => list.Value.Value, + CborIndefiniteListWithTag list => list.Value.Value, + _ => throw new NotImplementedException() + }, + BabbageTransactionBody x => x.Inputs switch + { + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag tagList => tagList.Value.Value, + CborIndefiniteListWithTag tagList => tagList.Value.Value, + _ => throw new NotImplementedException() + }, + AlonzoTransactionBody x => x.Inputs switch + { + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag tagList => tagList.Value.Value, + CborIndefiniteListWithTag tagList => tagList.Value.Value, + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static IEnumerable Outputs(this TransactionBody transactionBody) + => transactionBody switch + { + ConwayTransactionBody x => x.Outputs switch + { + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag list => list.Value.Value, + CborIndefiniteListWithTag list => list.Value.Value, + _ => throw new NotImplementedException() + }, + BabbageTransactionBody x => x.Outputs switch + { + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag list => list.Value.Value, + CborIndefiniteListWithTag list => list.Value.Value, + _ => throw new NotImplementedException() + }, + AlonzoTransactionBody x => x.Outputs switch + { + CborDefiniteList list => list.Value, + CborIndefiniteList list => list.Value, + CborDefiniteListWithTag list => list.Value.Value, + CborIndefiniteListWithTag list => list.Value.Value, + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static byte[]? AuxiliaryDataHash(this TransactionBody transactionBody) + => transactionBody switch + { + ConwayTransactionBody x => x.AuxiliaryDataHash?.Value, + BabbageTransactionBody x => x.AuxiliaryDataHash?.Value, + AlonzoTransactionBody x => x.AuxiliaryDataHash?.Value, + _ => throw new NotImplementedException() + }; + + public static Dictionary? Mint(this TransactionBody transactionBody) + => transactionBody switch + { + ConwayTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + BabbageTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + AlonzoTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + _ => throw new NotImplementedException() + }; +} \ No newline at end of file diff --git a/src/Chrysalis/Extensions/TransactionInputExtension.cs b/src/Chrysalis/Extensions/TransactionInputExtension.cs new file mode 100644 index 00000000..8b3fef3f --- /dev/null +++ b/src/Chrysalis/Extensions/TransactionInputExtension.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cardano.Core; + +namespace Chrysalis.Extensions; + +public static class TransactionInputExtension +{ + public static string TransactionId(this TransactionInput transactionInput) + => Convert.ToHexString(transactionInput.TransactionId.Value).ToLowerInvariant(); + + public static ulong Index(this TransactionInput transactionInput) + => transactionInput.Index.Value; +} \ No newline at end of file diff --git a/src/Chrysalis/Utils/TransactionExtension.cs b/src/Chrysalis/Extensions/TransactionOutputExtension.cs similarity index 52% rename from src/Chrysalis/Utils/TransactionExtension.cs rename to src/Chrysalis/Extensions/TransactionOutputExtension.cs index a0064e4c..509072d3 100644 --- a/src/Chrysalis/Utils/TransactionExtension.cs +++ b/src/Chrysalis/Extensions/TransactionOutputExtension.cs @@ -1,8 +1,8 @@ using Chrysalis.Cardano.Core; -namespace Chrysalis.Utils; +namespace Chrysalis.Extensions; -public static class TransactionUtils +public static class TransactionOutputExtension { public static Address? Address(this TransactionOutput transactionOutput) => transactionOutput switch @@ -24,28 +24,36 @@ public static class TransactionUtils _ => null }; - public static MultiAssetOutput? MultiAsset(this Value value) - => value switch + public static byte[]? ScriptRef(this TransactionOutput transactionOutput) + => transactionOutput switch { - LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.MultiAsset, + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput?.ScriptRef?.Value, _ => null }; - public static ulong? GetCoin(this Value value) - => value switch + public static byte[]? Datum(this TransactionOutput transactionOutput) + { + DatumOption? datumOption = transactionOutput.DatumOption(); + + if (datumOption == null) + { + return transactionOutput.DatumHash(); + } + + return datumOption.DatumHash() ?? datumOption.InlineDatum(); + } + + public static DatumOption? DatumOption(this TransactionOutput transactionOutput) + => transactionOutput switch { - Lovelace lovelace => lovelace.Value, - LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.Lovelace.Value, + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Datum, _ => null }; - public static string GetSubject(this MultiAssetOutput multiAssetOutput) - { - return multiAssetOutput.Value - .Select(v => v.Value.Value - .Select(tokenBundle => - Convert.ToHexString(v.Key.Value) + Convert.ToHexString(tokenBundle.Key.Value)) - .First()) - .First(); - } + public static byte[]? DatumHash(this TransactionOutput transactionOutput) + => transactionOutput switch + { + AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.DatumHash.Value, + _ => null + }; } \ No newline at end of file diff --git a/src/Chrysalis/Utils/BlockExtension.cs b/src/Chrysalis/Utils/BlockExtension.cs deleted file mode 100644 index 88598342..00000000 --- a/src/Chrysalis/Utils/BlockExtension.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; -using Chrysalis.Cbor; - -namespace Chrysalis.Utils; - -public static class BlockUtils -{ - public static string Hash(this Block block) - => Convert.ToHexString(CborSerializer.Serialize(block.Header).ToBlake2b()).ToLowerInvariant(); - - public static ulong Slot(this Block block) - => block.Header.HeaderBody switch - { - AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.Slot.Value, - BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.Slot.Value, - _ => throw new NotImplementedException() - }; - - public static BlockHeaderBody HeaderBody(this Block block) - => block.Header.HeaderBody switch - { - AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody, - BabbageHeaderBody babbageHeaderBody => babbageHeaderBody, - _ => throw new NotImplementedException() - }; - - public static ulong Number(this Block block) - => block.Header.HeaderBody switch - { - AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.BlockNumber.Value, - BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.BlockNumber.Value, - _ => throw new NotImplementedException() - }; - - public static IEnumerable TransactionBodies(this Block block) - => block.TransactionBodies switch - { - CborDefiniteList x => x.Value, - CborIndefiniteList x => x.Value, - _ => throw new NotImplementedException() - }; -} diff --git a/src/Chrysalis/Utils/TransactionBodyExtension.cs b/src/Chrysalis/Utils/TransactionBodyExtension.cs deleted file mode 100644 index 8a347c51..00000000 --- a/src/Chrysalis/Utils/TransactionBodyExtension.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; -using Chrysalis.Cbor; - -namespace Chrysalis.Utils; - -public static class TransactionBodyUtils -{ - - public static string Id(this TransactionBody txBody) => - Convert.ToHexString(CborSerializer.Serialize(txBody).ToBlake2b()).ToLowerInvariant(); - - public static IEnumerable Inputs(this TransactionBody transactionBody) - => transactionBody switch - { - ConwayTransactionBody x => x.Inputs switch - { - - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag list => list.Value.Value, - CborIndefiniteListWithTag list => list.Value.Value, - _ => throw new NotImplementedException() - }, - BabbageTransactionBody x => x.Inputs switch - { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag tagList => tagList.Value.Value, - CborIndefiniteListWithTag tagList => tagList.Value.Value, - _ => throw new NotImplementedException() - }, - AlonzoTransactionBody x => x.Inputs switch - { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag tagList => tagList.Value.Value, - CborIndefiniteListWithTag tagList => tagList.Value.Value, - _ => throw new NotImplementedException() - }, - _ => throw new NotImplementedException() - }; - - public static IEnumerable Outputs(this TransactionBody transactionBody) - => transactionBody switch - { - ConwayTransactionBody x => x.Outputs switch - { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag list => list.Value.Value, - CborIndefiniteListWithTag list => list.Value.Value, - _ => throw new NotImplementedException() - }, - BabbageTransactionBody x => x.Outputs switch - { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag list => list.Value.Value, - CborIndefiniteListWithTag list => list.Value.Value, - _ => throw new NotImplementedException() - }, - AlonzoTransactionBody x => x.Outputs switch - { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag list => list.Value.Value, - CborIndefiniteListWithTag list => list.Value.Value, - _ => throw new NotImplementedException() - }, - _ => throw new NotImplementedException() - }; -} \ No newline at end of file diff --git a/src/Chrysalis/Utils/TransactionInputExtension.cs b/src/Chrysalis/Utils/TransactionInputExtension.cs deleted file mode 100644 index 37fe22bb..00000000 --- a/src/Chrysalis/Utils/TransactionInputExtension.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Chrysalis.Cardano.Core; - -namespace Chrysalis.Utils; - -public static class TransactionInputUtils -{ - public static string TransacationId(this TransactionInput transactionInput) - => Convert.ToHexString(transactionInput.TransactionId.Value).ToLowerInvariant(); - - public static ulong Index(this TransactionInput transactionInput) - => transactionInput.Index.Value; - - public static byte[]? ScriptRef(this TransactionOutput transactionOutput) - => transactionOutput switch - { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput?.ScriptRef?.Value, - _ => null - }; - - public static DatumOption? DatumOption(this TransactionOutput transactionOutput) - => transactionOutput switch - { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Datum, - _ => null - }; - - public static byte[]? DatumHash(this TransactionOutput transactionOutput) - => transactionOutput switch - { - AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.DatumHash.Value, - _ => null - }; - - public static byte[]? DatumInfo(this TransactionOutput transactionOutput) - { - var datumOption = transactionOutput.DatumOption(); - - if (datumOption == null) - { - byte[]? datumHash = transactionOutput.DatumHash(); - return datumHash ?? null; - } - - return datumOption switch - { - DatumHashOption hashOption => hashOption.DatumHash.Value, - InlineDatumOption inlineOption => inlineOption.Data.Value, - _ => null - }; - } -} \ No newline at end of file diff --git a/src/Chrysalis/Utils/ValueExtension.cs b/src/Chrysalis/Utils/ValueExtension.cs deleted file mode 100644 index 1a48d713..00000000 --- a/src/Chrysalis/Utils/ValueExtension.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Chrysalis.Cardano.Core; - -namespace Chrysalis.Utils; - -public static class ValueUtils -{ - public static LovelaceWithMultiAsset TransactionValueLovelace(this Value value) - => value switch - { - LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset, - _ => throw new NotImplementedException() - }; -} \ No newline at end of file From e0d5d2e083280e60c45ae5583d5d2233c8216ff6 Mon Sep 17 00:00:00 2001 From: CML90 <88924858+CML90@users.noreply.github.com> Date: Thu, 28 Nov 2024 03:21:32 +0800 Subject: [PATCH 050/162] docs: updated README file (#44) * docs: Improve README documentation * docs: README badges * docs: editing README badges * Chrysalis Cbor types illustration * README Features * docs: README spelling fix * docs: README badges and centering * docs: README emojis and badge arrangement * README badge adjustments * docs: README badge adjustment * docs: README badge corrections * docs: README correct nuget doc * docs: README badge reference corrections * docs updated illutration * docs: remove license info --------- Co-authored-by: Caitlin Lindsay --- CborTypes.png | Bin 0 -> 278564 bytes ChrysalisCborTypes.png | Bin 0 -> 265567 bytes ChrysalisCborTypes.png:Zone.Identifier | 4 + README.md | 162 +++++++++++++++++++------ 4 files changed, 128 insertions(+), 38 deletions(-) create mode 100644 CborTypes.png create mode 100644 ChrysalisCborTypes.png create mode 100644 ChrysalisCborTypes.png:Zone.Identifier diff --git a/CborTypes.png b/CborTypes.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5f9a7896d838e1aeff9fef97f17fa37133dfc9 GIT binary patch literal 278564 zcmeFYbySt@);_vGR6rCd=@2EPL!?8HknWc5F6nNNP(lF}1VoUOMx_iwx?50??ru2q zdEdSFxA*?eA7`B380W9!81Kts@vJBAd(LZK*EQ#gQdX3{icN-%LZPlclzE_vLR}6- zp)mL`FTpzt{a+;D2bPnJjw=dv?K|=xS~BxBayY`(T3y>sTR~pH)X|>J*v!$yoXykT z364ggghV}^j7@FL-DphAEv+4d8P-2HFwj_=2{UN%C~zn^Ntjz%%Xqt(t9dJ`n|j-t z@|!V;ieL+Q3cv~M&E1S?JniiqTm?LZ8U8x20K7)tW@mtdT+A#4R3AwF;}G~wn8C`; z%}Icr-NVC!&4ZiG(Z!OTlb@fTor8;=i;ESGV0HC!a5MH~b#T1}XTYZU>l_cvT}@rA zo!qP)9cYkq8k;yib`xe`z^3`fsqeeFxmcV0>+BA$Y{q}R^BDOE8$2|-v6(A7CmRQH zTQoF6e;+S!-^>;H_3w+QnLGdW%iq7*S^sqGse}g!5lV{r&rY9wTJ}hwyOm zaNXnK=e*0w%g@8d@vjg3^~e7_UfuDrsTFdcB3%DE?0??->sTRnWa;dz|9;}Xe)-2E z|LYTfugBj9{@a@WKi>y4(|_%O(_3`k$|Epz(RQ%Vv|HmD98aw@4)Wcx{ ze?_aKi@Kwu9o&|KyD<%;s=0%ixr@2W9U=DrKH~rOuKvDJ$ZN=O_J833{PHg(ffEWd zxByOAe#i(zVF(I8d~jdg^VQ1em#d95*Bd|doqC8o7ZZQ5hjD1x+2Q*a4gnIaH&FiL zWh3b&j=x`ug`(m7{pz|g>cZcz9*{Kt{Q`ye{~v~|#J?>Fp#Ayz%1;k%_2IpZO?J#n z>X8>ES?=3uN!pbL_a3O3IvRb6X0_?D<&~PzFg4MNG5Jy)8BB*s#-c?_uWeEiNg0WW zefvg|!KA3CCEE<)*n_0P?(L54+vQ3++^uu3%J&TP@EgT3Z-!p~_y4IpkU`h}?>BEo zV?IP(`L82yKES()W%S=~hBDILMq~NUbHXu_p|=CW{^LUMW>(}=j1T|)rZ^#90_w)U z-x6|(NLum#)0;I`A3=-UAAUm2?zuUAF-JD}>({SYAHL!J_oe=bS)k4(-sa}I9`D&J zrVBkZGNKtSesqhIQ)OOcZEbC2WMre0cd9m<@d}%;@awm4Z^xGW`Sa)NHKqSrw#bI$ z+ksDNq~oc6FD*qUClggwRaH1nrN>bU_SHC>wk0!5XNdUmxz5QON4)1XFfd3-OSAD! zO-WHMGkdr+T++R>*za|;V{IJ4jI3uS@9*EgLn9&*pFh_e$;7-F&A4cZ%_bm_wz1)a zkB>hv#>LH@JmoAU6>iY|GAZeSrzhXDXU`5rq)bd`;gb&}B^NolZo2GEH(mMq?OW87 zC(J9#XV2Vr^^gVd40wpOK-)+trPlLv^6=#NpB^!-n_F0H{rN#4E-sFVh4lqa(byJx*i-J_7-TdCs*-0PBJ#k%y(y~eR8v|d%eFu6_ESrv-?24#uK0Ywb^A72Bq}3 z@anGZP|Ou#wguLEo81XdpNd&oF$SFO5=%)*spqRlrSaGLMfdT@ac#ZiPqW%vrA5RmA1od`uh5wyGulr0&c%x zH$%h1oVWfwRD8wvrAV*Z^I+p{FvF9@Sx)~olc))lZuUl!e zxi#BPvA;O+k^9}dcXmHN?NUBq{4Of(i)6lP9I1pm1_^O{8lN^=x^Y6?J_&L)-#Id>;=F zFNRu_D)39l<#NAc_t;yn;oiHRv+6PGRk5_cV7L5{K*z_=U$^Wu^^sm7?SsQlfw2nf zZ-?9SUK_vAcx;DQRz4uvu!-xw*hhEi8bvFt2a3_KUZ~P$@ax3HtCSQHaR~{2kF{4W zdrfOUKOZh+$7Ay^op9d0`&P3^*Jj<)%xq)hw*-yt^UP<@j*8l*ILX=B;lP$E`*DtY z_vVh*8`uZ5Lt6_1R7JBNK6rppZrN?|^V8!n%INFojEjql9Vwh48U>nYI>Ts?(dzG2 z!vF(lX=yQWaV@`vUp+WD_~5Z_AmF~D-Kw%2pOZtE;ky;p=3{Mb4cY6ux1!UPF5Es@ z=YxfV^Sz^^@M#v|^tWB5JS+64uU^SpSkN~;A#UkWp4-8?=^~BaDA@xE7Zo3$3ma6Z zSIySKrFG>73(d`&LDv26W<6J?0?uDU!ljG&$$oU1wVJ5m{Q22q_#kl29t#T#Nxsh> z>-gm4a)(>9@8RRZK6?W?UF;kjPc6ICd+Ystm^2GpXIkRnX8yp1)r)kK9e#c?wy{Z@ zIV`vB&AJF#@HQuB6B67U{Q$Osg5L!ru-@-@?x6A8@bHW8-yaCLEd+l2$bY=IdO`X5 zz^BK{Hv~P_)JI!-dsSv6PhavnZftMQzyg17YC-}djn`4}1=}OH=a)YDp9-9xt_OH+ z{lOw7B~4;Cq`G|h@>rF<-U9AJq*^>HfBN*gfX7-#M!?y_STY{%GBd0??_Jf8;XY?4 z{CZV(#*mUHJN-)P#rmm(1zN-=1BY5!53piqrDvw6k)S{!=bvgv^VTXcFkkG;sjwX` z{vd%zt8`|48gq||iVBB>Bk-R67@<3(_=#!Fr%z?p{q!`pnkyC7{dp?c;cfTkyIz|% z$B@3_cMU%~J$9XKBQg)3lNkQ&;V2{|bhqjht{y|dp8)vr!RQP6b9TeCxNL&yZ#zqa z%tOVG+5znEY8u)N<`Wec7voR~kzBYCA|9!HzOu4X6L2m9i3xAkAZ5sx<~ExC_gb&* zOOB3?G|RNdGx4Hb&eQ}11aO`L*OwzB+EQ^8KOngahcp2*eSLjlw@ZgktL;X=7V4Bo zK6#>MTcDhYF86}X{9xlZ+5V$XZg+x$f-o*!nqFRRPr9Qf^YEcc)%wK8MB{Jai!tX& zgtT!{Co^kl)*I%l->E;GBL_6%eVa8N1yIOC8_m2R9)phI68up z6>O!4goNm#dv4ElcD&+G1dJ_soeMC(GE#a0_Aq&0O;z;((0_AhXMn^IjvB4=+4niz zP)7=YPG5h&v$OMWc$BwrClsRo6moKMm8)$@cfQ4ta_1po>b=wW?OTXr!|8KuA|^ud z0r5!Os2y${Bp6CfTT(cT(TUj&SX9ejhItyUPBj>&o;(JG{u+u!R&5K54Ug@%*cYaj ztN43uE$-#Z@y|Gw%781*`)iNtPxtivj}{q#(mcCzz7tIkfkvEwVl(M_#s6)2xCCvX zH#@>0?(pQ$6`mgR>Q(c-mC?J7lN1*&Tqrhdh>M80yubD{+wXW!|D%hf>1Yh(4Y$vp z9nRIOq#Q;ls4zL=Vc0@Gdod8UsTVF^<1qP-IXyj{BI5UHh!3#65rWBTvX*~!yqW=u z2)AWdPmbIRp#b_O`Ja2M;{~^6Vq;@Txy&%-p0gN3{0R^=es*6)ZyX&>O`wxAv9fA~ zs6vg@`S3C*zH034eU>illfSaR_w7d0ezuH=$I8evF7vjH7V3Zx5Y2HE{NmLPKlwb? zC>}2lX{84;_;nwWP{PKB31AKjcDZXeCJmC_W%@f7 z5=`@BP_b9tNZfZEcl-sFVQy$K&4&YtZ*jf!txT_Q!P7lT^_F|2WQi z*4wv30aT3b?G=`Xig+9n)6(*5r&gvK0^*21ZruWkLcpNt1hopD@BnI2-lNa=0K>kv zwJ{C1cQ_6*#`P+Hp$%>h11_>gt5>9@Gj*8}h=!LaXtrqM>yKLSewjj+eZ+ zfd+Nn)(U4#DJdx*{7=2B9H+W~^|%W8-)9<-l$Lf~=(#!D&<%^;TkGXIR%x5-TJ;Oy z7mehu)%8o4E&-uP1riMGO8oR_*LA`$5vnix#=)j35Xi@C8B;YxTjT54oApnl=_QB1 zMc^I+5Lu0unWr=RVc)Ds#BjoMT^?dZb#!*VSIdnvh+AA=L@)h7i-Qw_`!$b}7r1et~D+2lMtD$y}jV$?m=hI6q_2DGNpTus{O?LhA_GB=JiDT`R15X|;|| z=0(qcIKPDFFGgAD3)7v-d!s>sB;2Q0L)a?=Ur09?t__`8MHjz%KRbAM;Bwsv4g?*84YvUrV-ti_ zGWmqU%X`lf623MDT^LMgz`i9F(>OIn9S{(3&vCLNUi2)_`E$NTL77!=mVT^Ft?PVT zSFiZvrGcA_j4~g)^xXl~-bqAULrV1G;``0tEl~svk&%&aRI;VodeaU|y|yh>RaHrN z9bV~1S)!l-A;k*<_V92%i3ve1f zK0XeI3BIMFA~_cqt}kD{6l#|SLkWWA%3=}4+W3Ym`fGl^rKI7k4eA*Qr%7lT>zzAM zKx@$uDm6Q=_rWO0<&5`l(<<)YmOm+xq0z$$EkXSPE^4}*X(?L*} znwlc@o8Rx~?s%2`x6aPk2wdvv`T1O)a3BjDpg?7xv-|)a#0bC-b?u!}hKTO|;&2Hy z(2ZXkzrO+hb6Fa=Q}l3YzZYWtaPFmJU}1M3a6Kli;to(Jn~*DT>KH2FG|&>(tByc( zQUo3|k>9g3f~0j@8NqXPb)^#a{@(Rk@T1!zKCF7vzyKiwL#|NMi`3Mp#6$u#G&E#^ zou?n@R#@GKDEjC;bIHNM;RNWC+xp~dpaZQq8MJGEek6(wmA{(ne7QWEa`C+~^6~8K zTk!Fe)KtV#fK{fGP5RZFE$!*$<$QMHC31e^3M<)cnc?@2Ck{6C_u}G1uo$d*-k=4X z9Wp>BdMTcvQ}8*V#Fopfjw1C8Pm8aIJ!DEF)E5^=hX9#IXnJ$AYQ3))vTfbz!knC( zy`K!h0)f{ECmroH3xpWnU2xCweW`A0r`5v!U@2vfN z3G5D~^CKCQU0<2GoK!qjk&waqWL;3a)x1C= z>hDV>>h~MMA@e~LzNe2*!A}XG#fh-Z{%41l*QkW@?#W2rq@@jp1$5n6P#LRsEa`(P z%NLGA`V}ZZs)(NeRK3oAzd2YjOiau-?yF-MmoFCx9h`xNa&~ijYu^4`zs@@utdTiw zd~M$mLXEp=cdZlV%UZ_>--`c)$H2nGZ0zex0BTriDFuQG)IvBM&IMY#SpQ=d&rL4N zE{eVNsrc+{(>TuD+}r|}bn40y9t1C9Bla-gp0bZ=FtGo5nV~W#j%dGPBH7GGqw7674%5l0Hh=&O*5jY@+ z=f*GnmYu4D1JA6itiZyEw*V%(hQJmsD1Rh@Y@nj2r(c<@dr8J)!vPBg%iaXVeTy;? zg8b$rrR3}lF;k6%lcSaL?tug@Y{=LwC~6@3f6vTh_uU{O%JJ>~_Dy0Y@N1cQdl@iJ znq}i3w2OHV+G)eh>g91Rt_Ma_CIjLD~RNwOYZF)}mzezd#H z$;-^hXJ{dG|*FMAP={3&X8p!vIdBMwI*7 z#1Dw;(NfdPaBp<<^x=57q&}E5VZUzq=(SA`sB*Gwcy0m-eR8y1a&ofW-4;|1s%bhm z!(Vlr9m+nqw|FEZG7z5|J3D`1bt!~ApMtp91n&ZDoagJa458P@eyGLLN~v7a9{yHS z%LJZF+&E*K$T?s{+dfDd7r&U5)iIOd;jxFHEfCg^gaSxZ*n&YR8*sBZta@lrm8q=Y z56u8`1pN9ehO1H*APOSH0=zw4!|3(f$6?-ZYkbbr7#V(hq`kep2;~580C><<;2|S5 z&bLxiQxD_*^4J4PRzfCsbn57G$>(9k&^OxI8}e!c4mOOrxVWr_3RAltbH2Q1FAF>K zP)@G@(5V6{mRF>JBVlQkRj>Grgwe$&Rmx}{Od=c{oP*64>N^IteBcFvXhhh@v!_oR z!TZ6k_#Sb6J#oJ%L#1$ZG*^lG_26s5eG@pUOsdxm&BM^c;pOES~R}9(0gl` zQ%_g7uTY1(^2O`dl)wgz&d*K6iiJ` zjS~oW^RPA`pf0;h8p)@V={f<>YydwOQDd-lrn^gnfX`~h`uwvU-u93WA(fRpAQ4)C zSY5nw%I)^hfG=xMfXazzaA0O}iwb+adYQLkM zFG!X>zH{@z8Pcne+Wf#KB7$hlx+I0x#W}n(S>_8&#EGNlg1M%QdzUMokEnD6559o= z>HA?tr%^ac4dCQy6Mu<5fRj?7@E0XOSZs5#8a^GpD{pt6JHjj#5$`$OKq zOIOJdW~f=HeIHm35R`1+!>tpb$^l9};)KDtl^LaFW#An|FDzIUEk`u?oj)fAUIp^0 zADjtb^dr@d)ThV$-TRx^5}-93&d&t3iuHd(a@*kMR&sK4x0ecp6cw=^gPiMMv65`C zv#@wqwstgbQ16TNrW7NGQJ3&Ee%i7a_hXUr{?4LWazI0LeM@sQeT%cI3pKMCU zCMO^Q6!MJ6ApVu0$F)|b;Sy`*r?iXp;I$W-=Y?HAyoL3Pw)x8!G=S#mnHhelJjDc! zV2=y4>Q?mdC2-|#scbZeejjZY($Uq0ltRoWXs`&hpFNP4zMw;wyYq-jhFG#TT6J&~ zHt{+HA2{_-K*s(<=$!10JF1r$yatZFG&>RPTK9UQ^9nSr?Ck7F_+4&8YXG5zfFR&G zc7zq=%_t&ZO5j@%<{rH|s0}>NVtV+#DriB;_ zFkL|)g+M)mK*$E#{4u)V!|G^x1R#&|>Cxj^A1GTmWOp%5O=l=9yP@#?si7)(hi%BO za$=Vu8com^EVn^UEx|sn`tbJHTWFZv|=gMJx@x4~dGxdid}m;;sE9*lI?Z3l?nH z4QgxJ#y&qdH7YI zwW})*im$1SO&jnv7oqU1(06R30sbFzMuwW3!vT6`Yy6_{>0JEmHjT?FD`$Uw2|?}~ zI;pYT&0G0zh?aJG_XE#LTrc5}G(s37eF|J^5%sRVVd;sZvlVf|OYf}`L^n4#+a4-` zVJlFrQ4tXq_6)4LQfe^oi-%5$hSAcBxd}7$o{4(CG#PRN57(`kF|<`s=Ryr;8hAfY z=|Ht1yggY()lp7C!TjW4^X{5r4tW)eT6{C40^}F`h&!Xgu(+!tZc2uqTS#; zBUOZp1#t+L1bZRw~OtC3w|LW9wa-u{;M35+Xc1s$m`m-UM6Sp(K)C3P?;G=^7k!MpC z6yq+92K}CB-RaZedOshUf`)_B{VCT3TR>v0k^o6G1v3)md%8PpWBv-*NNH*5@1?;49P)eeMM)C+ z`V^pvX~A=cb||OAL`|^oj{ZX>rFrPtfVmJ4L9AP4_XBZ2ob{j(%pNgAOBT_8;LSXP z^DGNRm^81#`axShdFvE9m3h7q1oZNV?V#V_|N5pxcwVxUtc;8i1SGh8zoFSh!RZ4J zG1r};1dIkOAT7a$7cYpRtbT#^fUS!j(kuy6DsAosYZ>#}wJzu5ii*4b2fqn5*$y7V;X-8-ZWfr^b9^tg`)P3QCU0@C(0q?-oT6p|S*c<}BO zf3?f3?Ca$-tj$cXj3ZLXjAv?G3!tcw5e))@L<-A!!U0HNq-l==1k-vsoA{dcKGHcT z8i%abX+S#*093mL#u|8ZJtc;svEzT>ZD2zl!)76kVi_5k z;(Y>1Ef5axwMwW0w|@I8LLxasdu{rA6xlct(NaaPW@a%^a}she4GDl}tQRbU}2yOS)#UYG}{wRaX1SftE zElVg7IUqa``wQ?H8C(EwzImk7G?^eL^zV>rgVcu3HZsbA^y!EVeS@I24yf=3DjXt| zk)Z^Pix-W}&BIDc*Z~xVJPScV{9agS)iU&xgboEMpA!v8&}INgU@K3bJ`K#y&Tjs* z3XQUu+*}4Q(ZPo?f|(a^6`h=&GXa92+*2AF8bTKaB+`Jcg+K`msDPgqG*$rjo5ZU3 zy!g@QEnwnjyCngoKKl-@mvNyvfiC7%x;j0bFmp&rNeN1H{`a?tyLKZ_?}uFK&6K!o zXKxQqhO&dDwe=53$2-6Xfsf@vgUoGpjEI<+_>;%FA{54rjg3Z_=K$5jyuS=P3`PWK z`EYPk)JhD55qJjM*&15@uzqv^XOLsEhn5hH)53ErEAn80x3;z#0bLdHKhd7w6Fu3u zkeQh|P@okLvkt(vprq;!D@B7H!DbC9f}32$UVjh_&L;sL-WO0-70th9XPZD~-_a_j z0JYjfx;~WytCGa15)7dan^)=J0bY;y-pUWy8;wa^Y-|(gjRH6@UcL`TLo#e5Ow=H4 z0v;-*&Fhjwx%kux`|mSU)P1-1_Ze7NQhMW?#K z?b?K7qd{kCw95Wvm+PH1VV>2D)B2rN_ofg%dt4{Odfy+A&2H&>UphM#Y{x+)Cu5z# zWo=@V)K&nX+kysdhYEYWPk=GQXhHktOp7Z~!GRMg3CRZF;su?M8CNEiGnj8U+s-&g zjb(iPQ!V~FEG*1Ls;u}FT(yD|VHY>I0n!o?pi`Gy(?Xy6{fYtBBi&H2>|q$`ai1ye z4@`OFa9NXsRpP2A`3goR5Mx33ImGfE%LA}G@S#-#Encg>w^(}B4ov`c>+^)-GUzoj zuI}!0z-r~wg;K#t#Um$g2Q)=oc5vDts=2`Wfe4cV8=;b_Wn_c|EUf1&I^wFT_(&-L zeh24M$&n?x!K(Wm*|9iu8z@)E&;n3tnE7$}(~1Y(UViT#Mz{~exCTc2$P&jZIVtHo z)R;ko{q?Dq@83g_p&{Tju28EeEVrv{2BYD&F6i8P?xObYlgn%yxW<8ip9EA?alnWh zPPVQ>Nl6JE9bE=w0bCwYaZJlBNlY5i;Ml<(J^)DxrmFc= zy&q(n)9M(H%|Kqz=g)#*t#`LngWDh;>5-#dYU1hbjd;)wQ}waXl0e2un7h5!Cxz=z zw&d!M*93v>=s>pyJg$Dv4w&NV0eN1jV+XZ@Pf&0hTA7F!46vv%rl6pZjBCIkpYmq& zcN^&TR4#Mury4iukMp)Xespxi06bqn6jv;fN^nTXA$ag096rc?WoBiK1-6II0fwSE zzjYvhj4?D1L8V~g;HV3}GckH3BZCPVO||}fWt98uWLxRfm+$7zir8uS#fky2p+4^YI~$74+qtJUq0lAHz4_-#U#;P2fv-q$c)@15im#(5Uy=Z zN)W64AB(c;Uf`1J?9K;0o7S6an9e~4SelR2| z4*iCBDq&hCCT!5_(4Kp*Q~s_iwImH0-#kC_1KLztQSlal)r(2vSxSlwjB`PdsOKr8 z+1lC`nbS=&fQt;)aL~g<`c3F_&v`e%OdoVMykNixJn%1LW4e|fW57g*KJ!21xbM~v z20%dCmTl6wq|LLw4FrCDi75bal{l|UXNc#qQV2l9`E32!eRaNvb ztmZo3g-1jr3GFVO&+bLdB=zTKKCnXVV6=?@kMHWHprR_KsM&;}8*>+p#H1v`w0rjX z@{0BoHP1LroAd1V!TMzCwsmxj2loPoLXjR5C}?Pd1NFNMb`x1Q%)iM(Pfzi^YRG<0Hz&63j*oQ@;XfP==wQBvfEA7zlKn9f(}7)RjqzE3e3%yz?EiZXLDSi zc8uR(H|T&Wh;Sgdme%L}pu)2S*kL+Q2msj-IXKCC;MX8+9QaY8Y1QiAx$FMvM|XET zh`$Z6v7wEev^)}a{UQTQv%5Tf{yZG|5YQ@x`;_D-|9cib1A#Jd5=TC|=5F15Cl2x% zi7+5oSwMry_PfuNx1gAU@qx@@&dTFK0|6OTgO*_>m4q==Z|J$DgOvlLK@b(q@zf<0 zLFZK-si^S6h&EtUaIdU3+|kfdXoWaSYWEV;wC08`Wx8lU7cjHrWq*r(Fg9SdqGDqH z0AV$QBEht3Y-|ixZe9lo2RHZ3OUL>jgE-=U=iu$zw?Dv`3N#5Gnwh=b@`E-%azjAG zl5?o0_B`kUe+T%HSSg_xVB`X(YC#jrh>Hhrox)QhUM;Wz;-<{cejVE)2Vi#1dG=kW_DN%YExiB z7IbYE%l?V``3hJ-Cx_b~-B;7L_>d&+d2=5sQY4TJ>ytR7fejgxlyjSyO+RmFpHkSH z5awTC5dVGIyIPo{M+Q@%^GN+&%qi0lHr*013j+fquT!K11_#05o(5@I-AuYO8n6z5 z)EZ61tPPMOdydc~5R`|&N*;F^Tmh;I4~Wd?%uZQ?K>>{480I8WUzl=-u z7D5VQS~|zY6!IFG0fgv-3G-J#vzRQWnQ99#Hh?f8F%SC>ga_#!C5L)|HiqtT6S&%- zjhzp-%q!{0uB4%^VPR#0?m!`9%LqDHSTsvh`-Q%Le+L-pJ2*5<^O0<1mOOmF;*Sxa zAIzhsKreGX|9d3TAbfBi+SxJiB?cJV5C`^@2W^k8gsd@`=G_F{1057(3~%W2(HOX> z%QbF%}ezeRE)wu(vN8YQy$4BgWwTql8cM*{e6Qc;biza4|tE_xne`Y~kA^sCM z4~*&jf=Z8!9>ewguVZxrAU^fi(rTdl{&`EO&fli9Iu05I;qtTRKn&A> zsBZyjgb6yN;zLD&nF|+azCguC?ET?ktr`5-iwdX?~y#`~-z|Q9n(={+N zf1bnlr;slP`RI4epI_e4s!r;Qoa2>MJ^|qT33g$qHTwGXk~cOs$hK@f2VO| z4nHB?6PH#c%w8s0{usL4BxL~)50Q!eb=)cQ{e3pcrM)^I;q&EB#oc~&Yl`v5^-~$k zpR`f*M-gppvg)9t8iMLzvK#o}GeF3m9%UGMR_(%q+5dn1OUs?B%EsErLg`aOD^0u7 zCRtq%94F8o&H&z#53-irK?}>L-NiaT8g4LiU_927z;48k!hpiHv9%=*81Z%3ehA`__BMs@OT(lPz0ynV6VU;jO*x-M|H0kySTfD!!+^vcTF)MfB*cqWnpO< z0h15_Lq=c*vs2mvGX@?BEFPv|GNbVE@7$xR&!Pc^!3nd1UM84l7SfbJ`4`jOGLE7%t|2q)Q_2>HUqKmTRXXBHR7fz1G4C?JM58#qv6Zfk&aY{h+Tc@N0AP2W#2VuwDQDKs&lgvy_2(oaU1a@wq_3%f5dv)BjQ%@Izjg?XCOSvV_-ut`)iSb4hy7`&Tzpo#URw3ataale$Oa`qIDI4)% z`HZO8t1HB8-;Xl_*dolX5)hL_p1RHtjg@2-$FW_zMp9{VaSVEyp+6#*N@{EIz4)7Y z`W!CuJSOsLv94lb%76Ou(ZGUe#B>%HVRYM@DJg=swh7PBf9-x=DS#5Tq`pSjH@W9D zzWwwlv3XpPz>lvfD{yd>lM+MVOH)rtsIE1PmOmq-j(=}p;G%fqE$_1*zWc#g)xPQD zM^C3k{NnIX__i~Jpi*)>&hP0>@nw_`cVzEgkwdpZZB`Q%p`-zqDf?GSwBwGWOf<+M0H{?<2XU?DH-E99=29uv7bZp`DxXx9?|LZUC6 zb9L~_jAl`S^^3?R%oI^-Vla=t_7iLehfKBl=FsA;8PrC4M6@+%OFL$qe$Lux|D;wE zz#x%d2ea2C{F66qs}+NK#N-qgm!2o3#2KFs4~;pRjFCA^37E`H;HGgTPYe3eT$}oQ zd2q~eyak7OSgG+i#Ad4MT*J&f`b}nLo5uXV0_^PuM0waV_nAv)>n+qbl{LfVWH1GG zmbGU1`VHzhe9rytC^^w{E?#^r;^6GShFxBsX=;a~aW&R^{ti2v)LDP7^6+4o)bh}7 z{hH%+Tbq_hx7I_N#t(FIPQByg`=%xaUR}IJjDqBn{QNzH*qOxzdh-X<6Z(-{+?o0B zvFs%zFk#9wIBDSe8r#{(_Ohf~71!5%g+$~2WlAfns;`L^`V^wC0x#5a);xO}y)ojL zS&+-NUc=6FWU9xOe)l$RToyE zYn8lhwEadZPq`ZA>P)p@WE$G^l>;ub-#-n+N*p?zE8R<@YE z;*Hh356;`STr;wAWSR497k&sv>&x86C;XF>ofAzq!1H!WlqkB42JcB`j%m*uep$H( zjLfW|&#SHn-`G9RID9w9kagtsvte*9<~$ej;q4|7#+{gjpPyB94B~>ix+-r3oDY=- z1QaSNNHQ0VY0*szdEsZCpYbNJ8x}kGcq}N#=zPSdJl-$a{Z!K^_G+r?>V9@s{`ii( zyb-S}Jq3Ipv@~)>*qL@sQt}J;9V}jP3A`$ctLYP;E@~(!AfJ`E!S27feaLXt&kq$S zM&md1?!4Bk#(js8zSuC{pW9-<`?Pqm-}!igpM}pIN6F#m*WYw(eQR#X)gdK&wWt9gQE7St>qKG9F!%R`lU@&omwe`(3F`*o+WHr>-8Fl921=Y`wDrUOe14JnevmBOo|XKr zp^o*<=K|G|-Dd=x`wi~0qqQz1TP{>H^N&a?^&g4m#ua}%r#!-&D*lL5uK0JPl$4xI zW zvToxw&y^b?myGjXlIJrqJtf2o`o7^b5g*qaY}#VPV;0%*xZ(51-z#&S$|_pY-BAR+ z%^f&&hlesaxGh*pN+({^7&pSg?k`hIs-qZxbW7j&7AU3^juuu_|SfYUtWE)m7otu*9GP690FEv%sRSrCO zLt{lwCM#T=R#i2yYc44{BH+unCMA_+KU_?*Gw>Ex9>!zczyS zCgfzLB_)aE1uMR!L<#ri`1quj#;cY&Gt%6M%l7$2Sw6()OLM~`k*h~4FO0N&N_zQT z+G7!|?XF8!mRS+G@vgR%uDi0>;vprptUQQ9-sAZ;&~4KYHS2iihYseom~VA&an#k-zf63+PLR7B<~5(T z{;uAe?xJ+a^yY!ewTg;CBhe1B?B?+SekJ=!@*XVI)3e(RpH|ma-9p3lB@G3)b*sY_ zYY#DuTS`nvS{+)unePvT3D)ei2&2RrCrMt3CSszL)oihbOLDqZ*<0D~w|-%+xseeZ ze1cC>-QTpqDQxqKnKu_R$p3}Y_SmhYWDRkvHy4kMhe+;~joXS^(t59{7xD(P7fV_g zM5})m>p`z$k!m!5#p}jHUd1hD>Y0#?5&!zavao-PmWOfP)WK(bKw`7mT=6_x-F>4h zUdF{aFO2o`OStPzZ9A!MADVXf1$#2L+Z`v8s}-2T-xL-u4`ulbGaP+oqK zb5r4!vU8KvrC(2{hIh#drsgOM&vuyRyYtG*z4gdav(JeNqVD_> zN@_c`lwALUeNAHH%+Y4mabJ;FKE0Au^QTDRV;nr5y03lMk+SVK2UJ5`uH64geEpfY zmye;&^}66-5GW$v7^sE2Mq(jU%)G2u(V#crp!`&wQ-}7(t?%D1{^=)NbD;a{sob~m5HCA}_d`@qgKjPMWGHLF5 zO|r0pgBoOZT+S}5rSPDob#mG?Apv21q9poo*TdN^7P3SddEo|^JHR6`?1fT zO!|8=FXMtCIF*5!`yLhq=6Y* zj+jc!`r*Y6R-DYNKJ=THON{E~u~>AM0%vWT<%l%Y63TxsI%C*}>N>ryB-SdaJutHR z!}rpgC{QlC{aLb3ByNOG`;LZY^k!$4*vh0cT7Hr4*V=M4SvjT;0a}DZXM%(c2fopp z89UEE%~>f6A-CWZbs;G^=Sn00XxPRMU$CScq}JQsb4IzCe1{?aQA@3ohlIK^HbMVT&yb45#uw&|(HlXInytmn z=PxsqZa-%gzzh<@(j00IOu!eHC^p$n<2ae#zC+*r^z4H>T;;>$HUu#D(GV>ecy}y z?c`qBGFGIP-!j>d7{p2K@L-4=&%0q5k1Q=e@`)E}opqkW!Nu_aqeJRSeJQOs>v*u` zjQ&>xlBLIiiQjbH9HuT8sq;Kb-p5qo4QQd}y+-TR!ei&A5cp2FvtaX2lgt#wl>7^} zv+oSA8&jDZjFWzvxUF(%=PN0-lPDPHl-xS=CW#7Rj(%w-LW??>S#jK$T0|!z;=!Su zy<|&%*=m_YO#Nxp_hn0`-vig|4vaZ&oI8=do+>(zCD?LVwjp7YKFXeIT-=K5vqLib z!i=J-z41-k&0mT*ujbZ+-wiz>&(TnyT+6n|^I~S|_%fGFeRKCddI#$&htUGDm2KZe zlTwn!cmh1H=F7iZcxg{J?OAsCZm!onCOa#Q0RC88i-Eh|OnY)5Wv3^MJyrB1!ui-^ zHsz_zCQ-5m&D@%rP)A3E*qhM3BV7`s(Q8XgWjX1)4AURD4)9Hcb2F8sZ}GoP-n(6W z{f-W;+r2(Xa#kL%mYb@cET}|rMj55csJ!JRaml*hj%VTihdCXxCUillnSdj#>h5$& z_<~T4-yX}SI1-hg0T$mbp&Bbz$Dwwi-W29XFABQ<>I%COc?IYD2z5Yc&xF3kWN}>F zV3Q%LGChcVWS#+CRb!4%EvjG*YpYNOTVoG}Z2}X^Ri>PuDzn-ZdSo78P-(q`umS|m#-S43q zTiax9Y7@i)IhnQUU9Q=XL6N$E5+O0sXlWhuvd4+gX}K4vpc@tUI=zIcE`Z^JtHnzA za5(qEem%cbY;_S8wU-E%Vb|#8aS@A=-+~24`Xe1N=)QHoP*sJ37YWq-I?_e8Es7Ni zl)k>JCOrv$gp}o%!_hTJ4 zok36fsX%lDpZ8uI9A}xIBm6zybh&ili62iF9&)#x+bxZ_MIXL-(8r94uy5qvwlp4k z`})A8OQe?f4Z$R*&snCPRjWqfzEIHF1wqr#>+&h?Ru_I9+WhoV^tq0ge$dv<4dq|d z-vi^3PenxH_7mK&$GZcZ7UD`28?j&Dt{286yazp0j7j4z8-@Wx=CCQaVyWfB_j$~; ze<=}g3BBQ)tF6!lK4!Jh)Wq7%tgIOB7xh8*)a6Spt{$5a-BsJLz+Studxk@=#Vw@J zx|+S-yzJc0u-8Z?(Sx@jxdCEQ`6Kfja!u--*^Jo>J4FIpVs0rr?wVL$K{i=Q%kq)D#bx3 zk?xpy4J&Shv(Mtog+d=3iK(Fe4{OJ0e1DeX9EV$rulv8WvZ)M8NWc%?tH~^gy>++3 zz&?WBn+H5jSy|cZWT_HXw@=ggk4_9wfsgm&-waFb?e0zuzx+fp*|sXcRVC4eTH_xeTMOAm+VeU#bfS!rQsU9iJshLU+lD2ma2f>KU5ML>-iUlm()s8=56MyYZi5b1t)e4fuj7 zU+#0-O&FEue@6Ycnf%z3P>ZehLgq@2SfAB~)Lh38K0A{n5Rx)6&kbWuKp7j49WwZ?E)oaeK^7C|HyUTCRPhMPu>3-iQC^ zRuj%-uYT#pA3wAnzEx%NSh}r*x_t2teq)qU2EP9sj;4cy=jD8Mk8D#Tv7EhCelDMT z!|v;vf+Z!6OS#>TWHE&HP^mt4gZenP(oZJmC{PtDDg>vg!@b_QQu*u%v9wLl$k{qeD+ zcea=!^a0mYZ^N{cr9qv8@?%nqu%*KqXpmuZ)JVcv6RmyPoA9xe6!DQ0sZ zZ}j72Mi%Q=s@i^Lc0p%ZY)G=yr?HXLt@(VV8h`!-c)vG5MmV|m#pvkA4#P=mzYCNo zCJhzVkdLPQl3f|~B?lggid49_OrFWo*@<#V(M7#{mflIteNDAA;Y#`WQb^U_6I0C% z*SV6)3-4!+30&V%8*P3Hs=Z=fyGnYT=z{*c|MzYxr&qk{3ab5F=)Q~UCD#`_8fm7( zU;83OpYP^c#~RkSs8p&?cDz64;21DJ+ams9h~mYyrI%lpiD)h#`E-V!U2lJ_F<3{s zhquQVPA;4MrQLJ9++_PYx-Wfgl~Q7}{mj1gG10l=|Hal<2elP`+tSh^rG*xXLn-d= znzm3V?ry~$iaWGuu}~zz-JRf`7I$|o?ruQ>_w?QQy}57ho5>%CkmT&-oNs?y)?Q0- zWXs5d#cV*Z64^^6Hx!?NaVVHcu&SHbkAb~|5AXLalWWdZ?v+wKxxWCq=NjGr{so1`kD2Jc-E9bX-|{OiWoR#O zeRPJ`*kwjtrf(&Iw?r%`bK0-bqC6>HJg zC;cyJ%1>#J@8#epY;~Jfe^;aqeLDEtqaDxxV9rmz`|Kr2)l*(d$9YLS%qPZE#D~FZ zbqY7gGoy1_+tWD`ZTp~OPBm@L_AGw?Lzl`c{Ds`y9@zDPi0$AKMrrB2CoemD!eN1V zW{Js%{p5@{E>?nLr>i209v|!tu=lZ}HEs88b-_(-OK*bw+o#nH70HB*YR3}csDFjTR;Wo zB-?+-FGZ!?`liWyJ-WdIv94SDDq+Nabvf;8P3>i&K|TGjeOve;OR2u)qSxDjtt*rD zv$2;%ja5p=;xgmTU<$1dRvAs!ve^b=^$>cTiizwAftnhZ7qyD=Ra~l=f~_&$^@_1j zlIR#1zF1pSkw!s}4PLgO;9RP3TX>~zPv5Xi&+u4;&MWk<`Xa$idFt6KsugN^tNBJg2GPtH%~myhP&G0`|D2ht2B1TS+PQ#cXmE=qUKghBqQ zolDL^&m4Ytbz}_tS`>;>(Bd+Rq7U`t$f0Z^Q%aT;l}DypTJ*|;57wrq0%>R^j7*J# z3pC}6r+3TU+Eyo|65=2+pE{t_VGZ73=IwgwI5U+xAMyKQ{G%szT$>vZIPO|Tp}ygy zjf>+gB?d(mVp1+ye&N#>4<6Tkp;N2C7xC_ORP5{-3ySO7J{LmVS3%$CnbOk?YuIvt?%XJVRnI+O?zjT&;DuC#foum2unGxC* z5{mlu`23cO|GC{dFoM~9_|Ww zHZ{xTRGVgZXOk7NyrA>S8i4g2y_@;&2|pV;?ClIK&?m6sxYJGSiuhz`Qdr^M%C1pNojt6)G3-6hw!{ zBvFd5d>MiXGzYAD3qPj&WpOPIYg zve1+**Y}eEyaM9v4k|+%s7Q`QO)D7ZreDlJ>yH&*vLgXO!NERiRIs;S7G}g;taHYP zm;u`v@J8c|0tQx)8-lN!?zYCVKnSOzt}dRf6;%!QH)CJYGm2*M!&?JuS#Qk>Mha0< zH(fuZtc={Y-iheb6o_VXYjp{2R7!%y%=7@s-Nv4MR9r;x+KQ*=jXtjNt% z#!JMIz3@-mtP-&Fzl_MO4GxtZ2=KHqpq}bSid=*{S+1*qyi40y9 z5+y~?*@C3nySY@eb`}-+Dc_T?G+)G2&38#Bs`~IDz7ZxmRE)#w_9#w)#%*V35j$a0 zS%`ZqRH8N!I5n7xw%5 zWIw?#1Qy1N7Lwm7>i>H;XF$O5DQiOSE;NY&kGch_02rGJZ zEw1Q%yTfH~C@cqmWK~~az{`fK>9e%v8e(G7JM*e_1!~UuZ=tFM0l9*z7B%_!2>oOI@8qzu2A zm_Pr!?0In!#aZt{#VZ){ms)nV+7q{lW(+06cG z{TC*Ee`0-gJW{*VELiQ7NA)C?InL1t>BXX_S2&vOK|MSEcr+1bGxM{_Rd(I2DI_HP z`t|SmjzHM<2;RlrvEE`!(l220ey-uouaWIV_fzBAb9^k?fwSXAXFR-cP{vnchauGbPs=3Ns#n7yWr@mEz-v-w|_)_Xl5&nmqcNnPdRC$0W=U4Yaa1k7?R zxXpJ+y8UaP>w0r{-PcD`Z^F;h&3Jk?w7a1Z+f+Y&)6X<=@~|2bsx+GQWMyR(6w=45 zdSXuhJ&}@%#;~7r`vCGy{Qv}1Mp+}4gaWE|!bNJIbgZXW7U*LW5)_NZlUG(|kf~2@ zUzL||DRO<7jFa%Hxe0t{x9xb_{Y*r}kSxdIF*)+l8tcy8AWxsrQ{~=Bf`vZt)6IR# z7RgS-$v z>%9)jZoK?Ug94F(3l?Sfr4Atr_3EC-p`jV&vimb^s?3U++aGk@+XbFDmIc=~mKfhf zeFQmfWQ%Z$R9=$Fz1%d@r_N^MHu1&TvM2r?C$B9+u1?XWU1`ElX5%NBGM_UVyLZC! zU;rBc)8&b7C)B2mLibM2e|`O|!cWZ{?74vE#9+#~xwy|LDT-q)8alFlTV=V8;YaR< z9VQ`TY|XPDE!R0!{*=`w66No}5h)50yylHN)kq~GMXD=Y@pbr`pCyN9qadP1{Pjr^`x0M<@8r57@WAv8o5}6c{CH7gmH!I*&f3^Ih#p z{@jr$u#YCxbllV8ngWgfNEO57)&AylwjeuyC@uVY?PAP~$Lj7mm~B&io;776;RQtZ ztSh>QgD2LI+d*%BU~NuRyYcJ$^yOMujhnjFb@9RscD3IrhK%=&(cc}{L|vgLXK((T z7u1>zWr&|JY2w%jZ(0c)EeiB!=>r30;|94ZcK0?eG?kkc9?&xNgX{M8`Cu!5(bWSO zgly>=9q^{z2(Hj)6D}O)}?x~t|;FI%&cQr`DPC%h-cmu9ewB-&dZ zqA*TeGLtHr=aHt{8&yIGK6-l)oj6pS*cwEer}FC( ztb-XodaQ(b2>`)W=d?x)O^fq|W!AiDer}@>bpeJ_#+Xojj^c_`` zHNHs_xAqFsBlERm(^Is2)2xsOM6F#!V-EF<+mYH}nvdPJeQb7i;aEYmiuO)6g9na| zVruVVP0dW3(8F1TiY^{0>AZaUpkh{*T$_7zn=DkR&Peu}@>%K0Ys4w|+nLv(Ko#Un8+1c5ya_89y zid9h(5$V3wfpZ)bKmN+b$f|QV$FS1t?%TY}#rAMn!99-~srtbE?~UVd%_^nWVs4m> ziccn?`fMzuSniT;dc|KJo~m70e|#k1?v2fJ=Gb8GIvYITaYGwv@9Rz(5vow4@qZ#h zc7IdcgXVPZH0$FMK5ybFfEa5XlZd<+8k^y5Us|r1bvzb5NAI)Z^clB?j{h`36~zmw zHw*%DEh%<(O_usCBWZ9c=I8H>gwKQ zfOSfMpKEs3d%SVQ;cUFtKRRG=U|@5xk5}%d=><1E+S%Xb=Q=KAJtJ5YT$UHN^)e3x zqhn(Q_HlnAGd!cl@W4v*1#IYbiWUbP?$F1vjDi^c{Zm9m$=AP~u~B_l;TCCu~lO^L}1 zMS~r$DqW}e<;c_(PD%I|1CJlK!&rplDhg5o4pf3|5+on;br8r&oqo|0R3gWiovr@|j2F?AKzLH4{jCUL;@&4TNXz4e*O3&blb6V+L7 z+5m918!p*ZQ08&dR~u`s13!#U(r+-ot_CVMnn+3l^hn)hMIyqvRP7osb%W{A5t6DXJZl(q3ny1|F^Y7tqbBgaA)K5 zibw|s1*?SrQE$!o#r0%^P+sc+$_>U+!rW}~Xt6JC0QTaBqp1i$YiX zxv@SwpJZ&C{WveCm^7tc6a@wourAzix?6$RmNMFlY}Sjk>tAvg98n`Yv|x8E7!)Nn za9Kvu9l}SFyI`O=|YhU=DxT}>V9m~Cw_aWm7( zGxfroqI>Y_hG$sKQC!7d|j`#Qrs*pua?<9PfhB^W;}ac;DD@EplaLwU5FuzOS6A$j?Hrjjl9RK zHc;X~`QQe<4Yji2+bOt8)^4>|%+;9>G60=*n^@%1JF@c-X^t>yX%#__*$-9GzZXQ? zGd(n4TrW$67-oO&alAjHPV8{-`naQ8HNyQ$ae=ZJ&CyLYV&uLwc@`a+|JHJ9h+yZIgL5ZTk;{mOzL)HRUf z;ws}gMI*)+o6(JMT0axZJB)CS@>}r3Xb;_*B)^IGN|wALkX#AAJ8`aEox9Ike5eH} zpNCXl?_(3~S)cD_qe^r$u23h}AXy@!4GJ{vD6+S3XkEHd-VGCXZWj4|gK=f8v?KMr zPV_bfMsOz(Myed7l67=8UE3llp!lMty|=oC(5qk=$AjkrTwB7Y_Nam6`{Ys@zDzX z{UCAep_3U``OzY#(gD{%Fuvo1NY$X6oUQHKb82|$)%PbTsrrqv@!KPfZ5BAoQ6xqM zMn@*Bo^*SyyIE7fBzAkX>@t`(S5jPtV+!7!W#$IB**vM+7PX^J3Bvb^k91mR6t7~ z6sm+8wbuTc4&QKJ^S;}^Px_Xtg6RiY(JL-5#C1dNSujmu5Nsr5gI?OmvAvPrg8C;Bo8oV^#(P%gez-&^*lC&aQnloxcrZ8Kgj z(8Q1IN4p_|1HDi^fszMN6an9C1WvGoXiUO9Kc_k?Y_{58-pT1~wsMc9Kyh&sNG+N! z%TDK!Ry(+x$kea~ijJJnz3mwP#*t*83e$P5I{)O`$ByHm_ZZ1Z#C-!T1^Fd#bNrA9 zJHgrkSJ#)7Jg!ufn_YU#oMC5zqvU10irlM~`XRR3Xkk{xIGlo7#o(We<+Gi@c7(Z} zz-NAtEyPq&*wAch%DD1tYGX}>YooaSU9)IUQ~*4&}_*;TFVp9uyM^+9VkM+rq*>=(DDh8K$Iqf zlnzm;Xep0wP_OLM2UGioZqD#@^P@_N>fr3o-!%M(CdYVxw~vSA1~Js`8$w^-{k*>y zNe8_$nQzcxs+a@u0a?JWBuaRQ_FRLq@Clxa%Y|U2FG+;ozDl8lv!j_gjkD><@x551 zpdwX;iOI2aYrgmcY#p<`BvQT&eVzava$DwsUE25lEx^_F1T?`n=oY6#B+?M}ymw#GQfT1!rW!1wVy zF(?FLMAPryg^#!UyB-hseU9jbFs{^$^!2ax9?Tsib3CDDW={4w4W9QseB31b6d0fe zrAQZyYo=FRQz|E0{_#U*p9K7Cq`uA#@$IwK=2OqcM%&vptn`&u*5-j)OqS?X$lIdW7Z`&1~{7a;KO^A;=jzyRjM5fqwZ?Hxk(n64Nau*_sRJwQ&F?? zYg&;$g2|-;#=N1?ET+D-)KZq|m*oBJ3TYUkRFAQb_sgQ@{8sJR<@(Z5>TI;BacM(Q zzGw7Ob^vAhTJ!t+3E-}sc-;ADU?3*$#lCtKRlu~6n`h2h*<-8{%T3Iaoz;K)t9sQ| zuk4o6?k0oYljx1?!Y~9MxX74kUTWLG>e6^{RmmGligTZXpEE@zC-nT0K3}Bmx?G5F z1!z>1;W5$1Ns7;ynptvwwDm9;o0n5!_dTky zWM0#(VvDD6Qa2CS>Whpeeu3-WHO(LQ_~f?t4Ba0qXTrw1Knb<32F`4ctqM@&nh(^> zBJ(_%@A-Zew>pK&)Yz1!_7&YSJ}PG6Oo|jv`8Uh$NUD1FUl|$KTTw4ociKP*qg=wf zdgQ-~887M8w!euxClF1~)OqW#)YiE6`R$5M=VrdG&w@SI;Ip?jRJUIm^Rm7`&P0W`tre;I&Le3 zQIhmUJ3K3s<@VfSkHU{FGCQ?o&fmYy^UzgIH~N5ucSfAtHwtIvZAdVL+pZZYVP77p zDn-ByCHzlRt*qijfF?9=X@d`fOjOu==2{P*zT<5jn~rtb*or`B0x$lg5fu)#=j|^R z&95kV^>9>o(2D!9Jh^C4NR3(lK)~>-&e7$SQfmTD%=ZWgCXBH^Ly)V=8KshET61o> z{Y!=iZ=k@lRd^okoPAmg zx(O1NigvQUw5HQ2{O%u$t>x|UD?PDy2zlq}gcPdFlbx{n6HtG&ot7h|y_gd^UZs~5 z8PpT)>2kv*I5*dzUM2(dR>vEnlaY6LByT$*hYOrFm6-tHDoOp+^hAzviH6=1EHLTE z4>jARgH{E=9e6Hu`52 zFEy<$6}~|Mdc0Zy_wL<^5gn8{)Uer2tFbW#FcNr~2LVYq&<2UO8J94z{nS^qP|3ng zc(s-?!Z%vk|5m52LL!f;e1~-BjDreVw$J{W9MXx%5LRk#+uJ!qllLJKHRZKXSkCjK zzKLt?i4LkVx8gX;Du#%5f*q0l)aJ-iy>cctKFF`?H>n_B3LHgJN#6xME2IOK*BIM3y2GayTwg7HeVChL zlVXNeefj5Vw#cTep~ka2-7x#e39`Z-m zF+|$?T332WbCe`J!^2Da1o$sbzOn83yf4r}kmOytx^^{>R^Adn-oiJJjC)@(-%k(K zoV?tB0cXgf>p@1Y&svPu;=y&l5N0P(xldveQo4E;96DKU7}C<>1Af=i^}(c zh=3z4hQ_}hg@~Dqzr5j9fu?mV36CAjdnHxVACH$tvD4ArE;gOUclncbEw=ySBUfL? zf3|wb5EzUyjQ`1x^zL+Y zO5SQbz`DA2YW5EZi{ZWT^o-msZhSga0)&0qH8wPow_7g7kF3mB{zJFacto>a!yuxf z_bo}9H@7>xq|SHq|6~D4q`6Ny{r6 zcA>tf)ougfaW8zj%;IRe$molb^`2|prEl>ig*W~nv9c;w{}s*zqySL^lB+v9KREHg zUro=9#m;RA)hV9(Xv@UjI)$NFF*+tD!*Av_Io1}2s+ltU+VX!X5BL)tddcOR6&zz= z>-5Kn!mGDNvH(05lz_Zvykpy}?$z(ZhV(0hwKI1BDm5v_#eMvx& zx)l}W#|eyWmygjd;Q+O|*+h~v4!$H7Z8k3<9S8eNNkI$Q+JRRtwT^W>TUPB6p$63J z8-e~UWGp;KBLm9;132k;Y4IUB!7$@Ss9Hd?>#5{@+a3_eFxXZ2eg6qnld(@f3-nNz z?W@SUs}Re~9*7u8s!#891PR4FxnzD@f)k)LF7Z?g@t22$_eJz~6l}SSVZbpp)|f>Y zr-6Swnew{G916mmg{T{zDe7t_q@QmYZEtpEt@x?N`=BwXR=guGkk3(jb!jGvUaA+S zJ5@}U0m@K~Fcdkp{Aw<_^e4~?WEMUjJNOx&oFG3jqT#y)Q`czwQ(%_*)Mf!1LM@qT zlIcnF1>kC)<1v3(1W-flFO%zc%qW_!_zsg*O^i4AA~tL<(O(=s_WmhDMuNT+Zd6j~q; zyK`bgh;0WzWaUVS_SUwHhE6!6{xvjaXPHJUw)cng#94h2Qg!plim-2vr7e;ld-r_806>Cnjw$g_;5Rk zF7O3?`+CibA~G<`wLh{vE0|a$kD{wZ0%J$m(D}6nr|Gi6Tw8q%;sY{<;{WtqsT#rPuTNJ378m(NmqCDZ^-W71ZCoNV{dko)Hxlvnu$Pg|bsAy5P zKh=sKq%Ynft+|jrOF(1kVn7o{fA8*;wGu5ng(?#VwyX5@>&H6$< z4yINm;QOZ;A8eDpwPRLyG+8QtREEPu#!M}9d%)B=N%u(Xx^npM@-p^*6m`s#zuR;A zFn6EpoYCj2;@j&Qgx<1><;%iyvpLlsjfIb;kW_+>cJhuwtzydc+XFQnckX+lCt`4mg#i+30dD{oI{YX-VIAmLtJ)?=`7s+-3V+{X zBP4XIRz4QS-J|i%V}>QU_EBfOE=AKv+GkMQPy2$%&Q8DU3@CWSCgYaGZ?L}hlQMAZ z?8=EXPKpQxX%0Kk1DRNaIbPj$?CPd*@^b*f$?${pUTw$X=Eksju&i zd~d1T6w^~r&qfh&!`ZZ>#G>fG#`Dzvg_<-;t6qS5T4hR4p;~Ke{}})ck(Q0>={X+4 zS=E_uFfz66LkbrF!a<2<1zG#<+b&>lbOFywqepvHy{u!i03semA3 za&x_cQvK;ypzQHUnM?1rjLfB1>uj|d*GKPdCHNf2%a>FB`3-)K{G8lHFR0xL_-Zeb{EzV!6I7hY&qcQvEH{?3GqfpK(|Kl$nk$ntV_U4@m<*mN z0voWmV%p2?BY|$}A~*Kyj7K2F+^S|)MZ9q>j}4~o+a{kS9X*GjN4kIM*Oxr&Y17#{ zyIwA?pV(N`+_cYqRaFlLpr3UWoiUR@hE0Og9v7BRrNA_|NBUfGaWEIxuE9U6wLOq8 zG(5NW&QC#ik%-Mp~_yFmi7pvZvnYrpPf5fjEgom819dJf< zV%}Go4#uBCGyLR7HfYk z!DX#Q^N0I9CsbmOie2!)3dO%;9Rj#`MsiYe}Vd@*R7C1vraLMpW$?)h3mX~SwFH8 zXs|jto>yvIeAH(#M2?16_*v#T`lBoO=eRW%B|X8?!2UYFcqAeAvtw3*f**&u%d@0t zg|CioPSAx6g_89xWB+f!vdR91*(eDB9v+9!0s4pod z5?4*a`Hl0x2gcoB56*W7F+HissIVUW8FFz`gN@T}!ofA&(buKI2rJFW=>p=eldkJB zk28k!jog<92Sbw&?-l^q-<_c^!qotW>Zl8--RDeNe0&|QKo!GLv-H$YZ#j~f)ayk5 zn7m=`j>#@A2GU+ro7NYbH<5p33GpRsYY3v7LR&MwGY*mmav~d?X!K05gL{_~zqjGy zAyUBCgxk(0y1OGQcD$`FJyFtHQpC>M_kpdsNJAf<4g^RY{irJ(P5UG@x$F;qrlxr( zmjNinUiJBg=esDm=AG4Bqt^|y&;rj(Bb1l6yeSog)26%2V{&Af_l@J7qu~I+4p$|+ zlEV{eq5aW=5a?JAUq*P()*3y9@|CNVEa_YM0%igJ51!%54nV5Q?&PfIU~Fx(U(CYK1zmYI{6$es zCp|81sHo#C)aINgK3UAwgVU7+M}-8En2|98z67BZ-Y-s)8!}C0I}Ht|iq!nfx!b~> zJ>$;11ZqO(``50!*YG?5lBPzA-us9K9CU&**Gae8{K#c(H2t)Rieg_92E`iN7$$F# zx0xMp^|2%_|Hv}5`!o8*lV$+`q?GCi5c#62?(w`UtcnIwNOfyBqq})WvRSdHeqJF) z+SKzir#YY*{u`w7LZ5EH^pWqT#&*-kkR}f(|FYSGCiM$|=I!X-Ln;VoDMG~KKUXv&XsE)X!$t<{uiv6@r%ybaiFsoF0dxJb-0OEZwp4*u4Jhg2o z`?_8lEMjk*>MJl+{g7)x=eRbnV;@A(0hi;3jQx4sM-YNo?0c^xNJmR=UyG2J#HPi4 z{IbI~yto)18VEYvCvbSHqda+eIDE=n@^6VLJ6;zZ&)_k06B^@E{DV%6VXguOso27A z{|cy#uMnqSQ|LVG_vH1YdUa0;%17=B|3Z!nfP#vyd?9QL2=?1O#-;hgyTE%ZTSVCt8TPNO;5GnD2S-$VkE6??#!0J9L*!>qC10Q2CzmfpKd8 zs&lq8d8d#Az+oz?v~!CgeRyxtj<2}GC8)Ayeg(_j6mtQY}L*G zYN8o#?dtW{pot`Z>+0EIS_GsF{his?(8qv(XpanEm)7{WYKFXg@{9$re_|GUdHYK z2mr=2Ev4D)L0kWP)t3_Ycfd)E5P*qqfWqWuCt|WCU-kFFSeImgfe7NA<&96{gL0XYMthGM7-)jyLbB*-MaFEQIX>+XL!9 zR5K7_-qcL7Kn_L8Oa6g~poho+@&fbN$7=>bUwxBgO$wQnt%=dGX+6O$eUb$m;r&25 zr=50V=&^r{iyMq}WY%Eel$|<*`tl*}HFhvdRz&~#4KEFeDcP%XJ&%C zy|**m5w7=jy-Hb65S|7g98k}mHP$Y7#hh#Un zxM3v>+biqj7gz+9i4&955q$*kn7_Wn7o0K;^EL?}M_tlzgC2zxg`K-=ONJG7N5&ne z75IFYNwBCl-?X`B;}W$XUYmz_`OJUd)xMn>vw3N&_0j5?qo0`EEK7z#j&2kosuNR_ z*7~viKuEPwq`mfYkmly@bpCM@aNFn0#NO!N@vk>LFhFxJSoB!rD|zwp8G~^`X$<8s zEm63GmxNj$?MvK8%6|51g7ywFJ ztNMWF&Q0&ntV9M-gbP~n9u9z@?o3M|^|B~Z0D35Z{p5!no%kK^`5gwWB3)coNl662 zwgqtcc{>M2t0~y?jo`ie6$6RPD^krGAl%;S_aJdkXlWrkU=bag@jZ`%*9=MkyFhkM zS#(+B9UO}ARR@6noMAZ9BXaHSovUe3TZN&Y^mM0`1a#m;Qn;ZykBkgJ0Vm*b@*W_S z)YA6Vq6Mh@O@QMp&-1N=h58B!6Cf9&<~+jelO7`?N-{Co*4_!lQHf2DdworWr%DQ7 z`Ij4ff#m9x6GvK6wzIvT7_WLwy})xO7B5Hor*}|R%yYi0;v5G92qdZhys#NSvN2v# z@@q<7#0gvO@0r*b>cB(*h*?mBR4!eQvDrR229{^64`#ul!G!=SFURMello51&Xurh zAG<1viBqiJD(;`Y?>^dtUjleuh)O+04!|%u_wx;PBA^uXPY_#yd~EFm4LY71yP0DNjHB^s;%^^vSlDlQ~0rROhgsFvG3-ByT~3+73CPhadosz~|g z?#i2ceHz@^b9HnQh`V}CO64XG$WByt{Y5zdF*}FnLkc&{#Z|oc_7y^%Hq2?t?qy+j zvYY)B3GYM-9&%rOp~Vg1y~+Xbal~_i2aUMH-PJ~FrYV%5>-#mE+%=q-eC zAZv9)KDCuFxV7;ORPvT+$J(T{LYz^TTS%Q*ocU430m10o0C1dj0(v3<8+p&~-Aw*Ibn{E|xZROZUBoh*>Zwo0F*q}*H$a405mPS z)XWQ}0a{#4=ybW3PIGbT#Iz^!T9lQQoGcZ~eQ46<{wa{R2QMeQ_bI)2CHKvV_0~NR z2!NjtvXF69d-&&$Z0-de6jAM*i~f-v8$L_BJI zZv+A$6u#YGnfT3lrZ-H=p}cgdC7zy*PHNpRu{E4qf^vhd{zgpo+_<`9c=|_E@{G-F z`pYwMmPzU7<=QCQiI8?nwojJttF=Y~gG7ow%I|l!s9kDu&*I<%BAsQ?t!8+ zC{H(o#JHy7Jx0KP9u#@$wJp2a11Xbo#5l%ry+Z>%9o=&4WDOv<;;!hljR|vgX0ws) zA!g@eZ7M-ePmlQ|lfn`~QMEsF$*3!CRGgv_y|bnlt~HL;d{c?vM6Y~j_`4s~_ltd| znye|kbnXQVj;e(y!aKmd?6=enG(BW^62WZC$OV_ye%C65(8r_R@%gH36^vHz@MV zO-1^K!+kFtq-5l2=>=49v4ZjR0>lnS|~v}#f{+_C&9iQ$U8aQRltW%L30 z0@#60YtL!1+V5oUr(gU}i~swWg4~Xk5p^%Y;sf%GmOT7@i>fj9|K~h_u{c3M()7PS zAmF{vdkIX-|CqK+%IP>pL(?6Xo-XMnNkUA#yRp5U;G*>?czcURL`(vxTtzk}J$K{7 zrX`Pk-@*@Yb$)VEc?#%w0_?*vNl6Cdl*sKbG%5f^BA|jCZ)m|%T3J=azFYZhwG|qh zEMdFoJU*`SMK;cVxUUZa`S-y>^G!q~ME{i3Vq!3_+!S{9iQ`?g{#kmm48Y|6W0_26 z7qf++;~qnS!gJ^KdAoM|&;*w+6g<)6XGv%SU?;dJ$#cwlj5Dn{wMIwM8XO{g^cYK9XZLTG!a?EOG9JCl#Z4mic?6>_a!uP{ni$gsFeVzFia-HS5u|FY1?mKG6Uujz~F z>m3@R<>%LoB)GwemC3WTvdSvUp?<8WYmme2QvD|XtIw&EcNHYZ1j#Ndi>j-GHqc?T zqrd0p52fz8uC_WybF*ENl5-(Lxg^mn5RazQTG07wWe3iy6`bZfd#takWmqkIOu=1? z{TU_wUW_jWF-x;%jQcY}eq(Kp^d8Z{Zfbu2GpP}?Y@RpIc^lB{9mn<+MaE+5zFyYR z&_F}Su{As2l0R5<4eIPvd->|pa=d{F6=d}zDoSu#!(2-@#mK}Yq!vP~p^;BZe&s)Y zz8%)tNry|CB4KNb%L$Y2?4)rzK&XejqQHvm8Xk@XlP8bm$-3`NIfMZk0xa}C4eduu zrpSDC+l8t)W^U+1Rsggt^XoRXx0n}xq!hQ z39Pcjii-VER@uh0%_8MyKDzuh$tVuhT`qz-*N(Wi)wn-KJ1 z2-5c+t~5WyCScJEO-T{OqxTVC@uQBBsg-$e{1IWH2ltHOGz71mJgA~f7VZyRgK+Xa zQ|24Ig&^NtDBe+W&-vDwWzDo?I}=T2)l3U0oOWEeWZe zmS~L|VSa*z0V6%j-nR%&DL`tqH-?%_)GxKSCmMf$QD2`?w~0p_{pIieaa=qT6S>GJ zPCl;o#le@XtfzTra5{jFezJx~MMV|A0zD=sXt{OZb|^*qi=3J*sZuS|4?yG$U`Mr{ zDG6=+k$Apo@|yT25ujcKxQ#nuCLbj}iz=5oJD+E|>{j{Q?tWuoDdphf>zobh-GwGkymiXK?)~0XQhHOHAGUY2HR1=+C zR79C3JeA{I;PsoIOu*yEv7c7|cSXtb1qXi)&$DOqb^B2gRKPlTo;7>4*!t&s9d5SY z-Aa@~bh=*Au{&QtOlQ9Ku{c(3c_!|xE#2qAj(yEIPV00VduvE*WIF0@XRaPqm2T+w z+*ny|$J-!&nJ;q2OIu~OD|Jy5^xzn1asVuh(QnH7>+wNIv>`rAX(_C-?oWF^iL)&8 zseA2DAYuO!8BI;e1`V1e!d){Ci;kcap$aJ5pNWl04+$$Gt|fgoUZhIjP&g>UvN&&|{a<-C>oBxlQ#<$mnM zM-zkv%&D6%3Hd!-YQB8+a%V9M72tF)Fp8t2CC@(rclFR$`rKFpOu~O4%!E%0)ry$x z=3UxX;7rTQ_$QZ_?5hmHv9Iy)h5)X43{1g+JlSnPKS2~>Md~$jEGu^c0&`inA?=M(Zu9&w2E4bV`D}4A4Z0Z~q zfU5^p?k{tZ4yDH+S$fsnU666Ly-_rvcE&uEf4N?yFB^H}MZs&M6J;)60yA3Y?Do4R zJQTjjQ#>9TOs#!wV-p&S4a^?V0ErCf;U01fM~0QM5Q~c)w_B`Sb$6<%@p!IiX{T^* zHMd<5PloK`CBU3^&9M(e`xiaAcgJB4|IW;0ytX#i;3}-k=diUg*0IrRD$v+8;rjdQ z9C;>r>6%Xry$xA zO}yC}#`59ei^HXqAA#uWTdT?eV=o+RdcdOpIIx$R>j9}InRwfI_lH>x@-kyz?sO-Iu2(-+gHzB7d z7ASw`YUdD(6iZ2m(!Bk2Iqyf-*pkd@bH#nx{9KLYc%YMU9bvp7kgH<#@3(ourOgLd zcm!wAA;GP!fTfW+nj@0H6;;AmYU0b(ok1H+ZB6P^)vR`a zGejp={=?}_a-m02M8a0@!NYvO8&A;q>Im+I{9guw_6Kue{^PZ(Ae}n>KN(oi@Uh?R z-s^6&qHUz0ALJ?1CdTH&y^f&qLRW8*f$(BF+B~xlJJx;unJL@jT^N-Z0tOg8@#JjsJ_v<(G&8~12{lrx3<2W3N ztu3(;UppTbA3?y^HzYw#`06v8Tb%?$SHdUFp3jbSJ#?QBLU%Q`>yh8w*zBv%415i* z;eSsj?yee_(lZwB(!}ko7;nF$h$$*sjQ*m0c6;LpYtVAdMm$d!L;l#{byz- z^!C;ZPz#f`JEV?{og5<6VbMbWuvRXo0rq~U}wmk+5O@7`^)9jvf0pxJ4>n#lW&(~1E8bn;$hsU-F+IQd{DKiV%xOZ@!_sMEoT^ughQ;5U!@Jr<)49UYx7S{VU3t>isU*k^to zG@hHaK@t*uh&xhaUSk@pY-2%fM^fbC^85d!2w>d_~V}lZj_L!J@7n>l-$t03iwE{M^ zWc~drY4i`F-q%OfmSZY_LfOxsTD^&!Y;OsmaVfeVlz!rf6-A zrmhYV5ET4-aPZ0P>dlnrCl@AOcl$M-`5&q5iX3)Z&%pS0J*5r~Q`&2Su7}gXX>&H( zB*F<3o}UGTgp3$OD}-c;8kxyAh&@D4*tODMn8h#y)FE{7Q! zr+<`E8ck$;)&Y}S&a!dWc$bI5>9&Izzcy|?N!(F>@kFQpSdOMccB~3wOXrnP1*U{l zkO}`DD^qbri2~l5g((VwOm3-esASH6G4+;VRYhC4@HPMi0g;xHknV0&O1itdyIZAO zx+VcS5Ex0~=F29sT>mzcSHUP5GP>4@o{gEXpc~deg;tK0ef0^>X zdGgzg!`HAw8xwi`xV*{Xc_vbTr5p^1*Q1~-kxd~L@K>_iCZ%2PvfaPKQ?yX;%f+_I zj}pL9!C;F!go`wGeR%DpM2G#;mvKAzY$Wu0r8kP8hXYH>JmlfijLN|r_8{3le_nC3 zx8(M~;k=hp3Q32Qs+!u{F)2g0Iehg6Tn?G|zJG)zc|#v8R<6UQ+!d0$zBlL;hDea^ zWeVm;`Jez&4V}$7{p705ye1d#3t|_NoWqWVZ$oimYnLy)Z}hi4Wv>ZVg%my`IaWUl zo|##}9y6gQ(W_GDbjdXC-lVB1YR&2p?C~6%hQbgaWp_zQU^7!@l#62dwcNj|e0?$O z`GA6>rnWVh(B6LMI%y(AN48D=F%&RvPz#r&Ntl?>jE=I8K2VSioaHkFo5N~Yb z7#kb^>)Mjo8b;16JBZO?JOD_E~DUuN?ap9I!BI-C&rhH@n|MmcMTVA94D#A(u`EnsGjQ(9SB(*41ek#X#qTm=vrD5iWC@VC8Q!UL+?#PuP1 zy>r*Ndp1wE>IjpZfaFzrnbH#KI@HKU> z=aA)B`22pMT-j3IABSzC*WUaJE&v`mx9|@HPEBo6r7ggBFr~lBZo72KI35Fc;Mec> zlOjUdSsgz@2fy3eRj4#`hdsEzA{OdN_%!hrQKPNSZo0G**QW)F*4BnmAo(GK-}&T( zOMP)^%W+VHF+7`o!t@7t$f1F|E7Egi_~BHR_08SEOEp{HW@D`w^f+s~>#VxEgmqz5 z2B!UVPLWC`Gb%A#q%OOCMZ8pe%ZX{IoI@nNY%no&U}(7F1ku(&vv$E!_ubmG*N>t0 zz*=;(nNkiJhp-)=J)Do&`x)!Dy)Lmu>SAYM9`?I)5)QG(#ETMcrJt$dN_WCJqOMtr zQ#Bc1B5Xdv{C6Uhi*nd3LHDVXJQgKoU>1FF)w}YT?61`*eUc#_c>4pN^r&aMBYPqV z#e9D|kefN`4Qs|`mD7n(h(10Ac#g|gE@vO_*Q?tNHYJ~PIJotldkk^NLNI1cM;l!x z{;EX%{Y#E?IMX@+_)fw|UPJs~VUy2JTRks~V~f=TMJDqX>M5*r4QsHOwxnw;EdXK0 z=_yC2Rf~ioXXJZGG?mdnI{!8n?*nEmwN1xFB`E;!R(%l`m51W zKV~Caj#Z&DFdTzBHcNxwr4{?F?f%2Fbrzhep{_5vukSb$UO#Wv>U|ZmcmRz%NH{#>qsn--efr*>qr% zJUG0Ll}NHV-!o7=o{?HcX(7iG(T_@BhidQUq=2H~NDPa)59oMB;3nZBFO>C@ib47I z-n3R(dF94lAgZ#eGWbFOfG(c6{2dQgddG7o7@72-OHHD}ce;-^dTyRj4{k+83wD>Y zkASvY4s1iOc*-4_TJ_EQj~_$w^4`KB-B5x{sGAgLzFKNPVz8EHtG_fUu*Z#PAD}T~ z@EBF5O>OG?t7RY}9>L@JXz*#9ZlS~F^vy>$Mg`8W9vyyImGKrUv#FxxpX+TDqTMLB zJ&SHHE)IFH_=!EHEYi}SuM~tq^=p1;7L7*Lr&y!@d~K5{n>di}i@ZIvV$rX13Tn6*B^wtET7?#zD5y9EVDVDViw~YsR5YKfj~V6nTd6QWsORJa zpC?j?#lTSKbd9z(=+~XBXVFYe1#8a$)4X*pmjYU#ORYPjSAeZ6X{}R?98WAjUPV=P zb>9tzhsPt4tw#U;YVr9ZN_9tG2_oyc<9}=5)2~Hw9*Vvr}RN@y^vX`Qj?4td65vqrTL3mNA>y z14Xm>U8YWZS2DLth|78G>HYE9Thj=(XbQPlk9$eE3PV7~XxyK#U=|ZbB2dhryFo9n zfKWbW7ds~7(}q!){5_%E^?}=+xUi=&oqvJv+@J?W<$jmO8#zpo%TDtacE0d^-{RE5txx|vx1=o>-|0W;-hTPf^AQ14ymJ}KTVdE! zNc94c@vOu#q|BC`(=WLhWRpgCv}yS>=qwOmfdK_(f6T22SGJeyGt(8K0V`)O+@gS= zdb6YV6W`@pgDEMsIu&30S;1$VYPsUJ>30YBs5Qq+a$tEz&&w0Amq(*XWFuR-vOqds z5Xp5c7mw>{sBWlZX!P=WvbF{&g3K!bE2_Qe(etL8RBrU%bi#AxkZb&MFz+ zRV+qBX-3ywq09_yN}OTu6RMquaPKY;dQV0(XB&0A$864$3A`%1mZ7joY;JP7lHT@< zICyxSfR?L*Lgfk`5wUC9i4Xc<_X`l&lHd>bF$f9?>5Fj9Zgzzh;Bszwr!BiIHHQvK zQ*-617ABD$FOM=sw9?;^^SZjauaXkldtsvtJ*6*f;;#}yA z{^D)H6s-bhP|x~QvC2SyT#1b>Zm~UDL@-cD@p(~RYiUeMr##edVZnu%I5^(x+(!A+ zH-3tT)X`vTBYqNd%Fg{Eso3r@l_v6NM8-GVj+LsVW*zqZu7AEVSE&#RYFP_Do6Znat}z$cK3e3cv`Paz@(w3y2rw|d zak|FarF~kewTTgpxiFclWCh$=*n7~^b$>uX&e@wL7B__Q!8Q$$P8j?h9Co?CqVa~k z{MV6%TV1VKX=(8@FAt?V46iSe!DHj7Inj2L`R1@@;W}rh$<4`RsgV`~V{&&Q?=#oUx6%T0^6#*QyZd4v#&jy1KI202dpn&R*AG27CiIEWCUnWgWJ{RCnw@> z?n$yU1Kb7R{}IXMNF@5qcZJr{s{FE0ncX6z3(32^_x0tWl-rMXK?e4wo3d0)) zB(F9$r~k&rC>O6=oKKUdOWIv-=%Z(5LJrF+9QI*VEB~f#NR8(h#wUK%F)tJh$3L8@ zFmm&olN|g7!!%Rg>HYNRZ+G#R;QlJb@MJ}1B2O>%v)Mg#xL{TdmdVF8_4=jHwr5CNj@1*D7ZjZwP` zyd{-ga-z78?B!H7kHsF5j}JYZnOqAB&hl%!{} zyIQ9Wyu{!T0{hpFbi6#gu{(~Jf+ezXnAvb7yt8!uUfF@<-S3n6q!alHm~L)x@aUA$*?J#2Y`M9d@C|RzE_;U* z3jYoQJ~75gPa$9bmbH$zT7XDQIE~l)_G-S5*<>s^oxhtrl8nn^0aaN}4gt_$Wn?f` z4^+K(3Efx4eCD}2nvj3q%5u~B-)(~MtM!IeKz8t}3^sM_M?@m-vU7AiCwqEQ$zgac(=`r2h2CkZ;h4f`9J_A z&#qSOI^LXOPC+7TWS$i+atUAPG*8_>7))JZI%o^_%fx`DgpbI9ridmWBtX|Yx8V6$ zI_*n-5=K5+pWZFEs{CFIw14JPd}}J6Cb#>80B}(Vq!l=S^dy;EmHmP z_48*9U~_Bz_Xl@s3Xg%|mRIA@%-Fcx`P39JKlWt^R+LrjheycV>QBSKz?56e3t29n zk+HJ+1);ZO>vbQ=|2>gdV*v!@YeOlJrN%%K_8a{3Ee?{@`>iC=O0#K-Nd_1=xH5+V zIKcnC*>Id+YB5h5M!*O7+g7o#uyoDld1hyLmjKV4$l=`O51-B4^|du;=o8P+pH7kb zH>>^_fGU$r1P4&h8V;u(`uM?S=I8t6nMiOtRcAV%eh?|1Z*YPmlf>2O`3>rJuyXD$ z?QIkLfr^!plUpB1h|0TyZb^_dI9hCiKYVhmEmTTFl3P>tJh|4)*$>iAg+ z_#Z6Sr1bO{&xySdau@Qy!Vq^*_J>OFQ7XhXWe9E^o^$y8OvhhVWKaYOxD&Jyimej) z&NO?Fy}A#R1uDH$u~dVOe; z$-INr4*MhHlOP0m&yiylj(>5mkkH!hXR|#;lfAz2alK1oqs_OXw&A!Z@=+5H_W-UbnJtd2dIRp($iZ372ewFYU0gy$J=G8u-&J} zFSxh|r{`Q!C7P@uSfk-))3kQmk`S>t+CPH9t~WOalBcOmMv|oX^QAg8fI}AW5&}xq zXcGP}|3W+Vfp)}ZGJH>?I?+97flf$xUFUpCjY<}l1D?EC^HOYV`mf9@b85-m*6M~5Aq4cEar60~D?4`ixjfen_WB{zui zWciR$G1{$$|JB?63s*NQCHBCZ4~_1Z$-zb?I*Vn2&zf+gP=QAhmy3$(eSmytcXvgr z1zu>O>a%LI1;5v;9Ye<$1b9EeXh+bte*OBu>p-dJkC-Xr4f`L1RY$EJP#lKj4T~ht zDOzm(SkDItc=ZovmQjte4E;^UNwxLme-PRw55z#B7V}6a;K1?wUx}*sVS}v5 z*NGxC$t2da)Y-j#w+OHh*$f|65EP4*K~2WHGBadv(fJk#l2(ikJS~F@BcH&mQ^)YD9WLXtV=CFbM2B`~6{H zI!ah(EubmX)tAS2bMqh8O8yGA9Z*)w6eUuqs&=A=o0*^+&6Z!3g@n^YJm@e8%b^>9i84EFZk>Z=L`V(b&B)C($Y^J zw=lT^#YORJKCdU+YV*_9g+`mTGM~o~)F&v22huEvd4|6VbtTDk2AKe|bzR4!i?;4< z?VNd3BDQ)Lnjfx+1_=@otSkfh@15^GW8Hg%Hju5Bg;3Bg-c-yjQ-Je;VraN*b2{db ztrtM|Z_-Q&@>iiIs7*vbQ#wgv*)%=~6l$hY1Ri`h?_wxr8cfE;Ti(XTSOgB3 zOcr8STg;!G_e6*a%S0#53q9R#lLTXy3{80g?wXq?Hzp+9nc$l1VrsW17G~xb&X<(b zr!&BuC9|)J6{$Ki@S?1 z07pM{~me z0qUwrJ_hO2S=cJ@D4HG2R3A?Gt1F?jq<(PW_@|WI$#FV5;0?gAy?pt1IYTgidp{{* zG@BpJ@9Ho(F;P`0lhkIV2c=6Qr4JbqXHDBmsw_ir_IO{cz;Mv{?f`qWL<{xqgbKG!63ZU?=6J>{(TQQ zm?=v@C5xm}LPt5}?DeYPx3+$-sfokkc7+y4o3g&zK0=~(U-^CC?oWp^Cbja zizu9)rJ(yZsyy4bM-u=7Cgl^ofh!}@0IH3!@IZUqqoT#-9RTX7nT?@WUTum-jj`0J zZRwdKn%nC(vf=uuYTaG!ZGE`4s2!-xC&kqIh4tl4Qciz^>y+3!AF-dFb2 zj@`W-?kiBD0{|1_=I;8oJgdmM}~?nZ~KG%g$lC)W~sh#6xdGu$cTOTLG7=;R)bb+n^TZ=I+R7qvt6EpXWCS zG)ZZ9lNI5R4q*O`ok2^`IXT}l$x29=8QhOeafocUpYh{yIp(@u^K#5N85`5DcSA!0 zMI=COGD<(^sMUK{Ymby>_^0eT9_s<7VxhI}EF&hM?M>2qgpWu8&=KqxDG(Hg@(y8y zhlR5GZ8j%{;K$S^= zR{o{oaHZ8%tZ3R$hyK`S8E@RWsIxn`zT6c00)bRu(ugL@sApNPb}$Us+Gk~yF{I4b zNHwyNvtxx9shP}Yz$i4|hdp2D=EkN?tEFq?-;bl}YKpMK7K@_mi;bnn``55A09X%h zZ*&QqR=nH7;jA)?+j#o-=M$^tydShkt)rvs%%U^M{&*(Bijw59V?Snp`qu2x6}aWu zz+KGqZ|Oog3L^@7Ek^JHmfio2$<`7FO&@-!IhL|(I=~=Y%a|KYn!Q6tYPkqAC_cSX%cX9{5c zEa1uUzHE3RF&U0bc9G5-L0=Xw)<*1}N6}I=I84)ue`M|G?ey)IN`zd>)Cwa+W!+3neP6ouAj*1Ws#QUw2Qo zd)vj)z9{XV$5BE?R_Ec4tTa1b`R7-p7IlH*4CTE-LQ1|qZ_iPpy9>o?-87qiQ)}lB zBNiuHB8cF4e?!uLwOoCL#~V`M4+l&q*fEl;J2VY zYEDP=Mx#XH)YR7J7vi=>KoZ&OYUx{BSEIDLt8iFX_Ex_F@%q}@Dsl%^#`5<$E{F<7 zuuM&zs3_N+OY>r!?hQnQ-f<49RK8Jix<f+mH+AYf!^G)OKqABGp~ zpXpyOHM$_m$q_d;IT>n`%oYGpEKn;Pny=XeJDHyV!X^~Hmh;}BhK7xQ8z*O1EkxYhKtm z6c7>|E_K5eAlZBHxKevlzOxteiJSWyu-}-j*Q-ui3ICDOibyS`DKrj#Ajwi^OHE1O zRh4=?x^^;($FqjQ3kiXQYkI9>8_p}863x@|o70{BT>wibl9EQ#Dg+TjDI$42u0kX| z?*0@P5AAx~)89Y20q$|)XThVs-KQJapUN%>Mf7mH_yb^r=a+8V_Iip=OLAN&bSy@% z>)}@Z=}PU_!vlF<5`D$ifG>iwsv48Y6t$=M=vvfu2~^tNe6o&7SSoen$QOY^(+Ma! z*l@gl;M$ct?#lMpt z>1p!&+m24hy@V-0uAqHZO}yF=1PmJ8ju|?yuC&}-%+}VgA=r9pdLF!9Pay#R(a{@E z1|pzssF()My<`e!ALwLbU@DNB%B((Z#ywDk*82#>4?m=_>tMTV{7n8 zJf1!h=t0}lH5JfZBpOHC1c~RG##U3KQmwK44&YV>mLgw391nbSy~n#2dN!+Xb+%oB zhqE)xAT^;Tp3Kf8SJ7lP@z*y!9fg)w66@o~)5mK=Zg;G{wN5WxZS9`Pf;cd<0+o~V zv&rb1Fr@kEP7RWrvOQj?LY2sDl6tiLscC(Xl9RLk-ACp~5HB<8_xzx?(h5kCp5Z|EN+sj8A z=(>&SQVPM8;8)~HsjYm85fMwh0#-KS_Xyy^A9*D2gexZd<(e}}3yJL;+iwiOF zmUzOq3M9Oloz2c0nM??P7BK)4$+URf(gcre1pKI(hj{6g(eX)`#Sl8OTT;rP+o7R& z4=B%hj)a)(Mpb3$%Jz#_@mJev$-GWsunv3roY35Nhx2i>VPVOfp2>F@7_)P6V+#ul z#!HPXoBduXdLD`ehJD2v&Ejdi5iL)uzk-8NA$xm!l_ujqXDd=<8?ElIpu^@$a&r8@ z-T|jo$Ljb;k%d!8C{>oTR^W#@XSX!%vyJ7MDl;k&NW37I{sS3Isxj;e@r|Zdp$ryI zaET%vBqG`11tL&e%buQ}-?uXgrJI;8G8;Nt6bAA8OHlPBn(Uxf7!TXzhOFNgT_+OT z$VyMYvDCx`gvN+cX*8qL+U8UnAVLohc3PiS??>w@@IZ5g&fP^|p>o+9pbl^D`MwGY z`Xb@g1N|5giZfkqvkuA=uYoo1x954r$`n7+YqNt}t+n}zO%x_L-2X!$^m+g74fsKH z4SFWm`$Vvl3Q5k=!o|J_3kn0o%)J+gge*E9dgs*PyiFpHTG=}wVb9y`hK#EnSHose zSXge(nw#SX`Iza|KzLS_DZdGQVr5DEg= z|8OK-4~x@YJcn^-Z*TRW(eL&=4uF&bz-Yn3`Wc&KKU|MaI-HZui26s;4i{J3BT5iif-U&G>Y5=m0GF+5wD!MGPgE|7%@- z)!2B2igNl8lBt5JjQeBw8yek{{H<- zf}sy^xS85ht6#rf28M+EklKP_n-F!ehBbN*M3LI zCJx}v>QQ>j@^j|8+%~d@7r01yXLF4Sz)RdUwkR@2>P}$V)i&~X2*(Fq6MkJ=Tg;Xt z5O9`8X(LV_cQk!`Uy#r?y|X@k@&Fi!@nW4_(Dlu7b4qqUqdYyUz0 zLS+2+I5_=-YBe|M8VzVA6hOdH64b+P?SRUpXJj5IzdG{wft0#*hv|#CylM;!_E|@YzxS`aH%eal@=`B9X$c8Y9P^|tZGWO!A2hA5UbJ>h z?QZk6v#Zqlf1>=nPrm`M6w}ba^(>zHZ`TI?YGlGHg%KF_52ZXbSrPF1Bds>OFtt3K z!kHzf?2hC})X#?i^pBkx4bS3`gvpwih?qjLl6> zf`FcUNe6Wh?#Y!n9-0rHDnt-rYg%5ej}<|$Y}A2%6tyvA`Z6gRLtmsw!|#!!By48p z2ff1K^@2(SzvGT_`RVV^1#&Y{gOupsNT$>IF-fJKV%q(~bxjhQA6I?XCPj*b^K73(1E1CdNNv?t;nE>B`k=*Q2r+sTT;QYmW&%2+&5 zrtup2-pG#5?uxEi4ytvk{H!n}NR_yRN|SS0n+fAqXMbF8*sdp*(sdZ#?s$`%q_AiX z_`*biMp6owqk9C*N2;%0)|>|J5siHL$yEiRVx2JF2Jc@f9%#p^G_S?}081GA=_^ z79FXPD5IgQIYUXWmPBP`>zkcX+(V|^n;TrnpRe9s@MI`N$G{l3MG*VPg#G`|N$B&R zG7?$)ot3YZV$pxjYL+Pzi7!_9O;uEF*V4QqQ|@cw4qD=@pOSNjQ%5cSLENR1pIxg; zkh3D$=BkmJnZLMBV2V1t#6iIpdBmWJXZLV*^^Z8TudD)Kz}9FKS?>@!weoMt!?{(j zd)9spji{6s$8%DloScJ;D@kq)6ztwBFjVvIKqc{xPN7_X?V30fKm~ThpFYiE(P}mi zgz>mVYG`G;I*1o2=w-%XZa+Rmrf3}=Np8AczIg}VCtrN=tT5Rg9$hY0zJ^^U$RXiz z`lP1vZuVh=>_h-}I{?T$Ju#ghIgPG}F#qox`p+Kx{`^Of5{ZE0TSZsj@P*se14qr# zQg&S^;w#t7jOGMvfLi17I0VJ)PsspH9EHsE6?)j1Mi6B*4Ew?Gq4^!cx})|dVaeoA zcZX`Q*Sqb%(BSJp$eGEX#9Hg(YD-4{yO@>rS=HPV5*9i-ZEqE+4J5JB%y*|~VmR!t zZSD3-wfl|M2qXXE=Xbf-c*klTnh( zv@B8$JPa+bF^WmTQ3Tz6=CfzBPdF^bKkl~%Lz3x#`d#kZU9Ab`E9MJ;z<-PzwqYpc zl*2xNRimC>cjS}k-j4MupoS|{@BQ8Ep;BwEQtp<#J=EDZ6$@f9rdlZi(}ctfP>EGG zp8Fh?C&nk~se^J3CjD5!CRYe9hkHCNkL!kV3rFkpHGOQXB7lR4q;A>uJfTngGc(Fm z$wL2o5VSy^n*{arjs*(FtuA_9bu0WbsWQDen(OS?9alM<)&fpC1bFk3z@f6fliqkN z8Q&hVxm&2~fC6bCF%XS2)IMIauPRG#PEg7BuvD!I!bZR-wO!;Cl8pcD+!&ij(ZJ1Z zE2#6(@>~&=fPkrdcoa6A&JSU>8uI}zG0@~Av@*X?mzEw_T^QAz4t0SHL15s~{y2a* zHkrX&_OlpiwNkY>HiR;kE-mNDNFuT0@%Q^=b#-f7o39EA==Y28}X@#kY$1~J#Hp%r#KHf*ajp;j&X1w5KhIvl${o7|Y3`q01wjKvT$ z1)XpEe=1j1b97h%V7gU z6whdh+Y*i^W^GJf($+porvUH4(}Y$+z+nA}7#2yqsww&mR8&Frhd83hn2gRgn5$s^ z08fmPjBHCHsSE6Z=>C3YZb8z^2KCh4JtM!{eBrYx+!XJZI(+&Go{&5!Xf;H!!ht{I z8?~V^Iw}K_{c@$+UqKQJSF!2tTD|Gcpo#Q<ot);94i2i$p}5Z{EcqTbcz`QRlK3Rc474w#TFW^0ifG5JonD zhj*LlX!M5PqKAf_&NZp+VyW~kFBAL-Lg#}nY>?GhE z05VCHrUqeUHZVXNNdfd7P4vM91pm*GQz|H;j8(KToy~54&CaD5rcr*7B*p{ z@dNUMMC>I3;aHCD?HMuv{2+ zb}ilp{dginRTgIbzhJ0FrlxN7aR8j9+Z*Wu;dXv6nEuVTg2qZyw)tV&$7ex_)9?Qo zJRq_}1ka*M`souSDqjH@8G%&!)AoVe-}l$I)wTu(?fMbm=|O}*iASsiGI|+y+f%RM zmh~q7zExJK`l?hzGMvWO4(jxPH=bcMe5Kxq^&LbKkoY9Ft(Dda;HPf(tyuxsX0g6% zb7$0hX2w1nM6l!v`OM+?JlgwHh~{&ZVOGs~9UXz=au&};5!6~o@!omoVP~7DPe%(4 zP6T@Ew(z+q|Ff+daL`x(EiHFaAG{~{cdF!;nZaye)w?vyM73v2S8Ox5uR4u?U4ONd zWPK85x;*nkv6|zUlj? z7Sn>92Y}Svck?#lcXr6nHkqJf<2RI9xn~a6(s&~@nvH0k!Ev(nyjDx{2M6%uIiXaL zh=}Xi(pH*rn~+e6-O)@fKeOSq?ovH}uI=Hp)!TC{(9>%?SBcJI#%cKX`e0UWYdB44 zG~@HlX}2XoV=jwXtgdNdTm&&xR%NN&py9eYjn{))saU;Z{QRHW@vd78TM0IVfnm7i zMEw7AtALa(BfNzmd_H~q79c|&yC!c=)3QrSq`-8?xKyDqmpkT9x_RK8%j)-lR#wIqZB2@7&<%aJgP-fMEb41z-@BG;%__k&nVkJ!{ZIelh4;}r~! z{nycf<^}aqF4sqDc^FIE9mk~Hb9FY?ZvBM~skA)&_4B7r&N)1C%X8PNjpNbpbWQUE zyNgRi5L!7Od!%sKMSd3BIvJN*w6QlQf3YGCsu(~~Ei^m#e-yjVjpSdi-M0ZH!{bK7 zBoOKjvXSZW`>kI*cXuBku*PE@Z`IVeFz8Y{C-S_kp-)ZbmvZ&?97Cy1MHhSXPV^8w z&WFOk_Zz(+`D6DLbh$m=OIaVx7`VH?e1nA4Ia!4YM%=WG+XZJdXX^2rPT6M(hifh4 zJiydC9x_5ci$-s4_G3O=PQMAlWa}QHWt*D1tF2}JOukdwS52qYtl#r{DL!#a@8Je} z)|H?c^ZB7L*6f1A#csyrZd!taC01ng(Mq&(fyBHaZ2mnlAx}h{85kHbjQ!1>W^Mh0 z%L9Gl#>TXkDW$OhX~RonlM74AA6RX8orB)_Bk%+N4J-Zp-xR}u4THPPp^0fLa>8**$wS4P$A;tXP~rK z&GGOI3;;vr_Ycd|Z0f=Vt=&^a`>0sX-}4R!5>RXHcezo?hPpaBnCGt_d4A*l`{u6c zT`!gO{pilwViqd6eR}5rZzQR{c6OUYP?(hbkjO+vYjY_3y}CPzt2eY9W3bkPiF)4S z4dGMF?~_PWvJ(B<%d_mgVGpUaF59&Y^dlc3PwRo5oyvM0o$zv&?VB4+<(b+Mua#fs zRhZv48eQXg=%-7r48yt{ZhMqED$4y}z;FQ$N@`OT zHQ^Hs_&^AD<4JqW^Kp+bhdonvWI94DkzX1BLvFm6@`B zXBUgjk#rASp1t89bOhxx-4_6M1~^UUM9K0-=AHW;$l`f$>Y11fKHL^a%gM<_<8jww zg6hqWtmZirLp|h}27NPjk9RTVi(=~P)R6tDqJI<21V4XnGd*ZnEj7kIJvK17UVM7_ zijKTEjSI6QLlD5Ng)Bouc;zft*8*D0Uta$ErcVSU<9-#ntb8!-koRcWO+Zu>{`%P9 zSgboaBRzfSxGBea|4xH;Y1zBXQa?i5?fpzVFxUTq17Z zw_&}><(kQPe;#|)I`^78#SSdB_0g=Cl}A*G2PB_Ra|T66qluqw-H*xL?q%oXe7M{p zp&^iY!c{=G;qG$L+AIq5Yk%y zVKS~?Bcf<*YI=5uqk`(wW1^vo{P{%tefsH(*&{vQd$eNBM!`wdD-L!hgSV%FJ2;Kd z_~@x(!~|AL>;|64orwyGoJ&Wm>sNnb#Jq7+GT#&3!=qPr7;SI7o4z_i&>j6i=ZF0G zle4PdfSieqNpUtjJDcKiFLwJMpHZzRaWZICXT%$~6aLiICB$r{csXwMb)! z7TkVR>yvkcY;6<|sZ|3`MxW}=v1D3AVxa5qd~d2R9V|rj1=u~6+FLH<%QtT;au@1c z@Z^~63K7uUtrp{RM}3y+e+jHgzFf_R-1K#(?9;hVRy{rMNEU!F$9zY>C>vS3lFEZr03>J$xonm?t=ka5a2(d zpkE4WSI6Eu8$SJ6nw3+kv!nWzQ)HS!Y?knTEfg~_@L?j0 zwZ-Ytda738+;AlQs{?Hc&!bm-!uw^+*%#Enwr>2cw($Dn1ua&Q?8Qa1PYy&CUftLL z(66`rRBzmHGMK`FL8qDI%_Je0FR!}tRYQY#oHH?TmjHdt(VKwR9r8n^g7jHa$5`}5 zm%;u6N>wbbZ#?dsyH#YAR>k-ugzTkvpvxU@=7OJmp(5;dn8b(&D*dT)i~q?892f{A zWh={QM_NxYhe@H6JA>`Uy@Hz?mYOTbh)7~sFC&w>C(!W?T zUTs6+g2`)7RdgORTjxA6`OUj7qkBSp9_L?WCYF0_MUqj94)Q~MguD@lIM=pY9iJm3 zBPmqdknTl4b2wbQYzf^tTXLgQABcrl=(nCYW=1C9?xjz&_q>;U|G0sj;#MuwR~qp? zEnwJ@?^l?{r>$MPv-ph+!zR&6Ta(|L=D4l7C2L+QBtv*f+ImLm@<-LiRClnh_6Jk4 zc?T}yxLk|K)=vX0sofnqIx*p-MSIfiW#3}EFurBkSjr{6@Wxmz8%!(9x0 zeB4zS8ijebyeBXwjgI)AAC~kgE1CbUNJkIxv9!(1koT`65PsTKVANDYw%MEctVzjp z?{IIU`ZybwU;C?7+sRV~H$q<@Tlm*`azuCdU~be5h#_oq$`>YHR+&#`9AYJHWGsgF znayq@5Z)Ye`9|5{9mp3N=%hzDyWODJ5+`S6>BFN}<$ybpD+|;Wzh7G?A?*MYRezh* zffKD@HoYFd{NiY#QL;6olc~t<-+Yw1OGw_hvcnb^p})w3%`O+7H#d?4oOEdrHOrgqD0)j!K+Foveb91}BG@F|AeywF! za7|48a`F^qu2~TraN8gvP?2WiB!>k{^Fnd=^HuoxTvHTrx0Y0bv3P8_?*$7AUyb^H~Z z#s1am-(?e`HiEUXr8wFme@24=+3Z{4B`@*u{6(xeH%cIQA8d(3T;!%k(sv>CmuABw zd~Tj6JjR=2KY+`1Fz5K)z~%1pVzF%(2=1TMN2!OabLW@Hur|;o;wu-pv3>v1kR7&1 z@AVumr#(hFAv!|ljnuv~13T6-o$R==%kgfyHRYUF?e~(~8xh*T)`r|KH<+l^AZL0d z#cZDXzSlNQ3?>bwvRhrV7}An{3IU@Mg0{oHP*aPW%zRpZg+aCGD3`C!<`=5mHEYLK z2fF7h&D`@g*?)v4F%Hw76z?+Clx`h2QT7j|HuUb4S*o|BG8F0Co|(B`r-)suwyain z#g&%&zlPB;Iyn|2S4z+Ab3^&|_v*ledI%AY$#up3mz37}Mg+n@LSq#1_1MWg@hDtY9c&a7|rguj*C< z)BB1C&{UFULo;9LihPM%&tx)TOAEWap*h3P3Oy8?zk4-X_IclIc1`7|wq!oH{9vsv zN&LP&^fyjln#)*s8lT0h=@K8?ZN=AOh7IGTwo=?|(5UA<>eD14mCe-V-3lSNTym9| zuZNU6`3vVb48f(WSoTPKF)rO#PaMA0VHj}37JuaHh#=f97ie)p zE#>-KU?`_kZ>iXIi4MY>I?uSl=JUK|W*Qo3Qv>o%dM~6{1OBVVW4m6pqeYL;D#Gck z<8LibyFuwIqSMd!PB60h>L`8Dbg}8?V?BbPsIqMRgt0Sh9*F+CJ&>)8a~ZSy0v8lp zdB1Wqi*k8G(NY@%W=tb2qZUwTaab5hx~sngqTOvVs+d1PEu4fD%GZDM%{^Fsj-!11 zo*aMvp^Q$6oqskWGp-i(qX^W~Vr1fh4OL8j!p;v#OQZF>Ce2p-(`w~FJ*RV=^3Tl%1C`1A>Uoht_k%a~?Yz3_l!NwCK1#e={7VzAU-u8} zKUZ6ZvTZ{dgIwO8YF(^oVm0uv+HG$+L`FrHmQ#I?nmVM=%t@AAykB)Xovjaa9aNRA z6`*kES>(W85mrC2qb@YJw!Mvryh5Vv4h*U79va-Q^?0OI<>ZVml1}LGan@{d7h&nX zJ5JHdR2&k==l$WKiGP8|t7wqop*asR-aE*bzdG@J-JA-{fGwDF_j-V)(0D9|XS0Bu zAT2h*L2N6cyCYf=kCQ4!qv5^yzZY7G)ef!Izt1>bj*sxJ%;z(l!w-Yd+IugB;n8Rl z!D+l1(}yd44v7Ro+PQOP2K3q9%Ym3OM;yC*Z&ECQ%L#sHC^VkK?j@)iA7oCk<3tWe zJXmV-4ni-me!N3xwNy`8tpeSCf{Rl{8pfj;G-@@L|9bO~09N&{yF1FDe`~bT1hH7F zJwQaX1XAxn}*yR@~L-BBuhvtjBw&_3gBIFcY}@ zVmG)Pn)8;hnJNM$91<-H%Vw?_h1jt5o2o{q`i^E_IvJFBMo`rdy57}CQzuo?G4k^t zF?e0F3!Y$pDoJ2Sajhn#pa3*hbVh%n!$+AD`C1|<4=|;)+O2f2JU^|Z$%$Snl>Hy( z-ZCz#tqmI=P(h>=kP;XHk#6afZlt@rr8^X)L!?`z9J)ItrMpAAyZc?7^PKZM|BwGK z@9&*2vu9?{-fOS8G_cHEbm6Q&EwtrYxe|lbP}TDiJkYsf9QQarSpzpqjwI9K_gBZ)2uv*8-)ur#+tjt zbRxGdt!5T7rKI_&*;8OY9@+QH7>uhfmb*tWB;^8^w4v*{mF-ZPkM`f$^cd(%6d*`fdu_r`(50$S$x2JF`c#o$9%+2Y zu(E>a_D$tt<}&w_cbX$ku7C>tY>kz@x8E(fJX{IpMV!&C|6^Lc5$7S;k^Gz zNQ77SY)2gB)p&$>RL94&9ZJB+*1b0ex6+ri-*77=lKtdyI3cobvk#F(QHcSf$b8F9V@=2_D2PjWh!aK4N}PsC+rb^|Y#!5u&2*DlY0cNL7zDph+x3E!JIKwS z%I7P-w?sDP#ypsX_2g@mJn{k7E8tw>LfhpDFHA*4O&t3`#oTSgZ+5M(*<^QJ7DnGz z)iwAbB35Rs#*36&aPS=&SdvtsNI_{P zwCp=jDJdy#+C&wFn${|}ieZRm1NNC(2hNhl@@z?ZcUo5LF2T_7_)5HY@zV66kFI_i z`Jd5###WhW2eNLgwsbpjv^}2R+Y^*i)=`8A{%-FqwSl>@n9Sp-WXl8Ez{3S!LTmay zCb8Q>t-uX!qrM`RjGU~@c|z{yEUUmMZQEXY=lF3rVsdA?9nz7;ni7>PpZCQY%a|w) z(qRP`-k(nBBR9Ex2adDk8vp&NZI`s_uEo5?ch+-gRjy#ivc%=jS3X9}hpdly&Jr)j~?Mq3?4K$+lG)ZR) z%^z50_qdT`Rn!_X2p5cAAD~oUl`kEWcs8|H z#ZR0^V3l)c?CEiPRj~vF1^&yt*tOB2PgiiQO-nZFXQRVP2Y?zo1g47F^V?q?(zlyY?Z}K>K)gA>5zV_{%r2Gk%S^e>gsk zg!=>zfE^B&ydR7%3$~qIQ<86{)`{DyvK#CPS*>^jJ6XMR8<03J5R=#E8#+<0Zv&(h zrqZ6(cAyoJCWE(xGPb~=AaWb+)c^%Mc~uv61jGody9-2${o$Z6X^-OtzX48k;>MT4 z!FhL8+A6Y$N${7h7q2C3X_xv2bXrIfyyq!Z+k)-is|2~-pa7$K$~;O-rr+_vj?Ztv z$(u@1oXdDa=#MLr5O?;z?u67t>7S8_gE?0}@K*D2521wdFh1UEzGCNnn*jg~?6=+6 z3#9{c^D_zyMLcE$$^b&eqR#97OnrK~SEK4B^0xN`9zcY$i&O{3j@MPeFNJgN)Sl$g z&!L@CRbd;iZjxePn(b7h7HfV*>&mHo?h=LEW=-yz4Y*Q5suYhprGM4(zZbqW4?i{g zGwSacvOeT|QH}1kKl)wR0tF>(a=jw#)ACy*ikT*Ru7iEGmd&I1_|lIViv9-zUxT)StbLYuF0dCRU@(p1v z=i=@my6A0xvCA3)wv3LbuQ7{ijpH)}|10R;3gM;+qIZ6kbE;u`JgjNBWQu>9{j3AH z$0sL_NZh!7Rh{qM&~|*X!dzpo82e15<~o!(imxfyioVE~`w=2~gg?LL)-K_?(Ati5 zXL1@OaBwJx?Wul()^f^KD7ylq;G@~-ea7Chr@Xv;OksN`nXc|nfYaOpIefFi+CSe! zE8sDZ$d;EFJMP-~!dPbCx3)Hsu z$6#s17fCWIvJoN$$!ZO{*f=t2ZRzG6JG|l2>V{A6vU_Zd9yO2rBoBrh^t6>bk~$Nu z2FTgJN&m%QJFsT| zojQ7?}x8C)#S>ACBAm0)HAe@b{BU1(v0BkN*GKzfzIQh zhDBVD!PH)ff>nQb#xAyV?1FYhlw;fwOy&FnF|APoSSnUtrt!oV$RF30FGR!gY`!CA z?rwQbR7euH!NeBSryFt8iO;K@&p&nZ>eNpez45znDWr3Ro2;CJHnp~Z1c0pSv%>Eq zX6UIWTT=p?QUhOS&iTwWNdCrGWm?pA!_FYs78qZ{Yru#v>H2`p$r-fio2NXv?l8 z5k%aJt05}5xLZcm)|QD$I6?HTSa|Ide|m#Lz{XVrmC0uYBeN@vtldsJHFmFtCt=ts z^z-@vL2T);w`m-P!a)+zL`&J~AHW%*W>;)>n%Lpo!8>>gVT8 z=kSB2T3RuVBYYEWjb*W4=3IRi?p{OWmGX^p*9zltI=9`+uqn7wz+)E#^d9|Db69KQ;t6y6mcEzsad$i<+e(YQ z+MV1Rb+2bM(%1F&iY0{AeJE4nYVfd&2S84)m1#Kqka!3^iUY#eUq4pXj;y=#o2(}{%j02cDC!3^2( zKEc2Nae4m#EPK1Q(;ng-2fpUHnHSYgW)JlA=leWM`$jY3;^Hk?_QxovdE=!fGYC2e z4!0rUa~igMH^dPn85j0zKJ-lYL`}E+_jKM%x+56W8XzCRacFFWxF`WBYd2)LK*v3F zAyczAIF=4|vgQ=3On=5NsS$$Rf2ufMR-_8Q4Ue6#Ui@Sm{?hiRW-#K52sLhdo>G&Uu6M&ubTFVUr^B3yrKsa zC#ks-wGk*}x$Jto?rLRl%b`lT8P*E`3`VdL;v1M*i3q8_NmAZl8n5`!F@PT*=B)TM z9R_>vZX$|Jb7UA&2aTbAnPZ5wYJUw$d{@}3gE_%?aZVR9x~z6*=G<2LL*F-qE76ZVkr$FgCQReXWi1tQGfo0u<; zR@ZiFK&kL0;f48vcrNdx;foL)wC}cMix0tK-UfB~5&_21(borE!pa5nf?A^PJI@Sv zX&i_foq@9b;hE8LGh4?3kcTB#Den0hG_Ocw4es?9V6O3ffw6M)&h* z$d9K}&|~P>nJ!Q|S#pTA=VonOYShVEEByS)0_jxr-r)lQezkn?aV}$ zK+HGOZBx1GcvJxDO*L*pE@_YD%dDr>$L~5tE}-nvajXU#cNQ8_$7^f)2ejjKr#~bI zKn7^Fmf6ih=UwPR<7*N0w$Z2+2QFBdP$)X#sJ=%EFn} z#_ts?{ZSPuEn(`TB+f*n`l;>mRkmYN1AmwqMop%&gHX1a!`{!4!<*IVX>zieZ2i!a z!Yhl8Ij(w$^c8YX2LOZKit}BEMGxHU{d^dRnoR9*rCmwqWx!x9pDVnXif0~U4`>c7 zC2Y&7sN|S!bM|Vn#HJ-9+vHHn#z-C+t$LXL-i_5Ps(aU2!7^Mt zM*|z5bDB(?^$0M?LP;Pu2Ax-$)wsWYwQD=^0B^B2C?p~6T^2EUXNo48%<84Zp z(UGrz_iHzJu0urR>cL>c8*#f`m@o#`lK<^cOq3{nsbOWE{&{YCB=4NJRZqM)Ps~zPRU?yqxQz-RomD5r+PjaVvJQ7yWLneV#;d<}XOZ2z zKwbtME>{+guUA4#Gtmf4J_9`0>{`H;W`j%8m}CR)tUUr`4LdtDZ46yd&=WitcZZ0} zWuM8>#><_#fcjQ&mQ4W}aPOFaEo`&KFpjwg5~_g^>GMDN=ALksAJSsRN0#kf4!zg(DAmWxTNd@-n+rkQQg8B)w^VtuYtv4y|hQ) z&I{;Q{6n`}zS{E4a~T^u5@n}$mrG}0v&3|}mqUMtQ9DoKl*iu0;wfY|c%}TResBL# zqdca8>(RyHI`)2w0;d)ap*1&8d{%9YMRe=_jR?`KJD{ON8Gk~9#bx)l7Y|^zw-2d8 z^%3goiI%fGam8HcV6}aB*%Sx{7BANNhl36_Z^RN+^(5-~iMh^M#qgr6tl!0lJb2ud zT<5LOBks3oWjERJt89J4H(xHWPq#-By*$;u?f5FpV~JTPEiB%j7xr!3D3F32s-rC> z4B=-Q>3K;`sc8#*_JI-JpHkq^Yp5uw={bwpTNz)V##_ z6dukB{zWBUV9c5(@iN3-cV8-%H*8hA4YRz0g;Lj|Fy8n1(k(*RR@-;E6bOhx;?7-_ zzdbp7q)pz`QThFe+f_nZi&}m(p|`utTh_O!fd`@w=9`g0HdfnhG;5-IV*U(cLh+y& z#u5glayMPixpI~W-X7UqR8}pam$k$-^c4m+zW8vS;m$LSAIHXohm&kceit|!jTNyh z=5i_DHIk4}gPLcVik51DSjiwiH~jNc#&5ncqOubE39`nIOJmv|OJ3LGRlU9LMJX+Y zukLygVlomP!*8L$ZZy91`f~AYCm4%#BaqMf*jQKT`|F1w_icM{STea9=!~@ooqJ2I(e_nVBhuueL z!%Wq8`vti8mA=l^KV_DhC4p!>S4ZbdH4@9`P@YtuM~zar!x1B$@IUt^A+4GhJg|XOrzvt&$HwIdJpk^SVCKEK4(AO(yRh>!O23O6 zka9t(tayrVuKPXjC=nRKRNJrcx8&v?CCMTaR(^u0W9~KOb4rhwlCPkPVM9=tO z)F69}vsOA?@@Z~jnwgtX$;&iJ>a?q8+kBUVNsTi-66BFEkw4?Db>oEI-XR~dTo@fZ z?I%Ds9EXyE1o<565p19p4RlT0{2Sl^^T8VsqAT;fHHW;bDE~Q;PbNs--(2~p^FF_R z`z*|Y+xrX)h^A+86vE~b&yWBuiYxB#%kP*jbvA!C(rV!{d@f9l_`s5RoMq!Fyu8@VN{ETpS-y9#E?n03YFv%v#bUIvYQ2w#@d zfD6;zEv^L6;V~OJ)1I4$Y~Gajo-8zepP;W;ovYrL~!X|1r0(v+}OBt zN3&@#rseRUO|B!ZVko;f*HZ@a=K&0Cda?Wzx#ml3INFnEFXeVL`z?91FMH!_Eor^` zwQ^k|X!ETYx>Lv{kAcZU{Erja=4|t8miT6g>D$^^tz3nZ>ocr!0a2AC(MY+6h~7z* z3CgPl1xogZKn{R~o^wbmNQV3(lQ2>*%*c}jsWkQ;vw1k5gWOKOg7r)N#G9BFq6IT1 z>`!IyF5CD?gXqH-n;nboBpeK*85v>w;94N0<{oo;ii$!hS9l{j@E+h`0_`j3e1{8J zcUk1G|8pB1b)YslT&y2?`ricl`y-ghYOR5sfK-w8!A1q8E#ln`i?i6k<1{vH-fqR5Hvwq?TnBJSl~-cWVEej8poYEq*^kAvez z1TDfzjdQ6_8^}qoee@iL!k5e^dw9BCU00*zO!3m`aG2~_NU)R+*Er0#EDAFRY)r`4 z5>!#Kw6e=3@^>#Om6&Ezmn6pq?7H!hkdW?^os#1ssk1 zdz0g1%36<_;m%tU*4To>Lm@P1ctHWJ#`5wMK6JqT#f#OgwB&CB*WX{yr*fUgS|I{f zl#B*9+tZvhFPljc=Z2e`GR;O!hi(6tSg)?193E=m@p5ATUfZSRDhy~-Okm)8_ZS}; zS;F`4XT2$a)_EozmoZSgfoL@+t?+KX_6_QDzXGD;=sfQTq6S-ASkH7t z+Ps5w*YDrP6NPW!AJq*N>t#p;YyZ<>LPEJA7|kRvKX}}_IR<>l=0rm~*&FgTsHu6g zH>+k`Cp(@G_gyEASLtPZ|v{Vn)p)S;q$}G z?wjGptta_ER$1S;EW+!Mk(H2g;Q2%-7aA^CT0z)x!$MzKdF`)$`3%o{x5Iq4GuHzS zxp}xZMlwVb?3H2%zdny`?ZS1Y#)vCir%!ust^`+fvoT-Ya_Iq4vZx3n|r)O2M z2_m3SoYNWl)F9(5O@D{;6%;H8zi(gbJ3&Wknd#~I!3!qw*!Fm&^U`A{gh$?I#|B`Z z-|6-k_4y6SJtg10yS{$x*VI&hFsaaaC&S?$`G2U|EAlR^w7&h;;C_D4hN)+?S3Fm3 zOSrk|?z)z+KGoz+FD|YVnOy(KCx)6&f2J}Ff*Xbg2(0`-PGYV`-N>tt><+kDKT;Q?5w4Pgv7y_ zHQ-_t>~28D(_Q>k^Um~-gz1KE-m=a7%@bnc+ry)y%AWvkHJ+;-OJVQy|}svf(4u9pLQh73&1Lx3FS65pZKXK znBAA!=l46Rhrr^j>8@SF`<~0XurSleu-K*j85kJk=IPUIwR-(0Au9Q=-_rHxFZ9pV z9U?u|9j&(A5tCU1^wvV1ZO@$5O^76k{eixOv9Kz=<&sN*|PH4LajpZ4D z)g>t+f)CP^jQ8hxAo)5?u`j8y%k->N}j_!SRO--58ZjSPVA0WGmN~{gpoAd3%SOOxo{>uE#r%$^evz{&?A%Mf< z;&qv^^jn5vLhz}Zu$60H%H;B>U3nW+a7^I7WCt%-n~x4TwPo!LHztq*r*p8J()wWZ$soV zw2klYmMv#50Nvc4-bnVGW{uq!wX*KJ11TdgPpp1qESQY`jGL;Wj~L*SeM3o^GQc|{ z1RiRDk59)s3@;iIi=P1|L5_f65CJQSZ~BRYy>Cl%PlgENJMLsH7|im%Z?0Of zwG}QfyhN(eqtqA`=h?Hsr^tC9P>}hq0x@%B4nda3q0L0U;@-+e*9{)?M<+XdGs~S_ zZta>cXS>KZZWH@91;G(Hg(1idpFj6@`_?)T>#a%{%O-pdDJz537ZlNly<*Y7|MbY2 zX8uP{+-2v@dm{ZhYlyx|HGfRswc~f)I7eh6TFM{oIgpqK()mDrAm=Di$xQl$xdW76BsDe zqJDP|ins#H%(Yj7568sh#>1nFUGXkM!A2Aq1AW{)Y7N#YQ}#v#oNZNRW`5jfxQ+w_ zG*?fY_pQ%PftoY!PwFh0)eH^}-czlg0VRV3-ov%b)hXn~u6`SxZ+d6u^ygra3)^>8 zvuS7YR#ui*?P@W+t*yY=3KiiIwTehm1uadzkbnR|ON*ziy@hJ}C7X?Q#Lx!+L}7&5 zCxf;o%QYEIVo)^ZLg91Ou4FB(GyTiI7`b(!+(D_U8Kbk?1L^ zo9kVffA{e?iB9-|1ta(2<0l}#3JQ_#?snnWJudn^8UAYqtwi*Gn1c&c#P)6Bm$b3T zbDY=Kh9q;^cjVt}7Bk!(jcc?O>DX{$b8wLd&;|vCdM`d1DQr37j7UkX6 z-3!vlO^kAt^005OPW1XeKgnMx{qnU_0#nwA@ct$QNZoO(={A2_jmeb6?)ei3ON+5z zQ@=OEJCfXQ*gw=7T;>%uRsL*p+59#&K(cDYfD5#ySw(+OogU@=ik^^niR|l9?Ug0oy8?3#P7;;#;$sM1(izQ0uJzqC&+8XMm=ss z?)eU=6x$c;I#@V3Wo9Fsm6lWd=3CaoBj@sYv9w@&nevQE>~g35r(wb#9l$;ze48bS z)8~c#qQVHrsxDIBmy9@fHGg`r&W9Kov)eXG zWqH#(&3>olCCowTdnh+ z<uB;a!`m0v1#GBH^k;6mcTXZbbK+G^g! zTA;qTzN|pW*frPM-+vct@e6F>>g`5E#qYj4J@mLal-KsK<%XnrlqO@-?vXJRYkV=F zpsDxE$iM_8bgI-B%FXPz#`1I)ZKeGu9+2YhbLIpTcNygN#B>54(y6O!!qNANIF72ukIv0(Z9mre!DUM=k* z#?F&>B=@r%5Y6qRd*8XazOcrYmi*ud^79MZL|3=cn<&|h;Sz&{x*(fuxmN#Z;JAq% zuP@9CDt5Phsk_K9-Bg`FBLu2My=U}lOsr4*{-rY@v^)?<=NRzkwUfsS|;{{3Tj~@c1 zrA)uOCOZeyNx>Q)$!QXnkYL(xtcx!$>6<4k=Pn*IXaC*Ogn_+Ct!O@>=u@Krbk- z5y~{)zG}<3IZZRj$lJZg@iIYKESJ*NAHS@pFDe3N+ByF4%dAC36W+i6%Cp6EnRq4 zNr{8Yg&vxbG1KB|oDJsySi1SK*OwQ?RJ^Il_1t@A2@+ZAI)B`C$MoQa#X8$9AOQnCfybTd73-Uif114%5?I{N zc7D8nq!O}DM@dP{bxjc-zRHI`|ND2sFM(~*vh1uZ_2>#Sg<6o7TA0a%*{pOq|BqU_ z+if04PONQ&4!BI+gsW#!Rs?4B@b>Jsicl2*W=#3 z=Z%W0VgacyR50oPm=H&I~`%LTV@HT1ct>C%5>!CThA*;(NdsKI%LTkEB)uis;~uwj^l8=vq4!frLmrg80hUv_zKeo`?t_KX&6 z=Pohb-=4vSLivF10+exYyu8p8#^`nKY>fLu_4^VFX6*;&Y_a}vs=M}2XR9fNLR}kx zV!%K)saKvO4pihK^U3P?_!r>w0BEF!1b$D*A$KL0Iq-6Lw~2_(L{0S!Nc0e|3iB}% z5}Hu9Y?)P1+bh&<4Ub@Zw1f%NCFw@+{nXTO%c@eSy?S-Joxf0@u)5z6kdi`pD=6T? z%^q)5QbN$zZ~O;ScCcI=(=GzKzR(l*;JzCR3(sw;z%~0?O%IMw#L)w8!9OwUY4pdu zqp5SXCAKrH2oVIoC%eS9*x8H0CqQn?KOvJc`7OTddT8ioAtS;rEe;2ia>xcwxdtYt z8vd)0oB%{EPN&DZz~g=eYIV3YL$q-jKl=mkGCS*V4-v|+m0%KIru(V==Gdh7`*oD; zaEXbm0>)%Vhkx6OA+Kg_bh8gc{auw;K(3fts0gB_<`xFlXez*L9%Nq-rmK)>(*U5I z7836J)z>%oBP}kDErrvOjMWJb;(gh((4E}6(8L3}q-x>r6|mwKL6?C1`PB1yjd0K< zV6`Hlc_jm%+|UHN8bppToGGpl4jnMMJo2_*>3R=L$GH;c0}ZQb?m%E$vRYli`>dyV zXZ5nAYgDBI9_C0;Uj!460~??y51)VqF$hyo!N9C~PI${3!F%QH;yNd~J6&;jW-YG2 zqztTCP$EUVGh7Su6qT?ymi84c!|V7Lq}pIFFtM2#%;TV?j{CTm0u&%JV7w2-J9a(# zy?3%RH5C2064)yo9FbX)eE)%kW=ovO{=xM~jzqH`7X#Db?5vGe?N=TE+$O}MC~7_M zd_es!2Ja4(RH*V<3gwGOh)iZ3D1hHoq^I4h!ym#@DLhH&u{4VSEs*kr9vvI(2ETOJ9fdIwRcQj*uv+JN?Nb`zjevW+Q?|0Q z%IG~rvV?)*GrX=|`;jr8|GUpENHQ)e)A!Wrg1_BcqJj42RCwtAd0i6&Spfaz3AtnfaK4N9L*~@Tsv> za$s1P^lAgB`aC%^Q)VbmfJxriohk0U3X~*Bfidd_y@toSbIEk=AAoMOJx&koW3eLb zh`6ajM++z@mfQ;b{}*_d?>;2*gR0({n_cU|A-u+CJ1`oxBRI^r^`=|f>*vp@mGiR{ za&o!6a%>hpob6ttQCwe`_?V;-3IZ4t)W0DoCPt(1Ec}8Tx3o7Oe{e8gf7Jc-;p$zH z^l%Jj!%`%qq=2mEX$1FhOEhF}f<8Gk^xeF-cj_h~i}kFZ*@%R*o`xg@V5<-$B%K#8 zSw5Z5yLXnq1;wxd3nX}`{=vl8{|>J_0uT%$lejo0SErxV%Hlc9Fs3*-aKl9E6WQ3f zoW}5F(b4hi>P7~~VgjIU8`)N(=+OS+oK%wSNycOXLbJ6^v&xYE{{HZw<<8@d$&!^6 z_7>oV;Io+6%nZ zcl3k~Ik;q~2r01nvmZ+;n^WP?YyFzqoG@^3Ki_x{$lQU6Gn9E))LA<{ImvKaP~~Dj z%g$6*D&dUa=Bj6+;wH2cX1|`_almIaQ_4see$02*br?ln0?>n0<35J*LeH52dS`%t zgk|dtBv$x{M;U*MiV7Pt&2+Ud(kMh~Y_x)NIr{z4e4_F4b_CEKuEBErZFf|$fy?OP z##*L|*%6V}HCbZwaY=~i$rBvY(Vrz#wq4@{VEcW>&?f{`O|#LiRtFm!ue+(Fv$}*h z?ZjqDdg!?;urW%P{Ax0q&1=P9#U88F~dIhgF;JJHTP zxmXH((Hk86s|s)*pBK=CJ8nf^&U+=@+*-NwL7{oODPW|xw>1`VwP-TCHuu0m%? z@A=ux%D&Ca^~Hsnnbwv2fuw!|2{7no0nSK0EBlX`BD7+i^|*NU6ofM3x$WNqKC6Z00F@jERn^PNn19zfM8Yi_H^+w;>g$QL=?Qfj<&dqqY@2C#xUb$wgs zDlcw_?eTHvnUH@+B=APLK!fcC%oPRUkx75*>P-1N^*L`oBx)5V_IKsAtr(H!z-%8_ zY(?zq@6Xhz(&fG9K8zLR{NF3E4WsGSP@|%uD*aLsk^=fe$@%HO%b0{DMu5xbzn=6% z7n(mM`@i^&pd;ezBX<_Fsc#CGmrA@g?og=H-hxh+J^t=)&C!Ug66ddC2_FY{9UC{de*_d=DdzhG74D!r$NA@j?EI1kMggYM2moE~Xue zMD>GttPDBPMT=*x2#|@j+jD*5jq#2F3BahIKBhYHCXH z{MGn)@U-{#FWp7b_{g>4S6OI+RSOj#&cE;XlZ$jgik>i4Yy(jD7T&`HHYY##Nsup4 z)K?AU`KZQlo-i?_wPMxb5j)8b zTe2QsJ^3y=-5^gu;KU*vfc*p>F+m-?9lqjJq4g z#x7jk65SA@hyU!*kdP=VD`U_nq>PQZ+qzvbo}y4>o$ucV1=jaJez@}=CrqD&qvD~! z3@^Ti-&%W|O&YXixeWdB!vco(p%3>uIos6}63Q>S|LTJD@E->H$GX|&iG41fAHP1_ zW~>wQ6cK$GEg{{w?B)JEQu9Ybm3^6p#?=2kot2e@Wa(n%%^?OwTHdSXg`$EiLMFji zuL=N9X2kJv*{H&IhpXF+pUM`t>)|^5e|0yTAjDXrY%DnN;FW2$KWL#75sw6qLAH8< zv5?TobpRNjOYl}wlQ5C+&@jlXH9Ug?EB*4=U7pIrk2~jXC1njMZXHs)JC;B+6;-8y zL6R-1f@)~Eru_9V&AV?wzseVM&__T;b7rJ@o=6y}VjZsc#0^YSTGc6ZY< zW_B}E;j`?VSOeK??t&W{8b%c!Zt2580y!3zb#h*=S|3mt@R7ec#0e8lMN^v(hI9olsQMFW|EIFsag@^IgH(tG&7qx`O#pdMlKp=>Op89m;0qhUVr zx2!LgzJ`<%Pu0G8>Xa3!ePiiXMj_P@OX$L85$fniF|agCH)UK-zP#02OJ;7e?~PAi zcgx+shTbe+xik=+A9H)|U)LH!Xzp^bD=Q(TsO8VSTQ-l^&7x$h+#DS|uJ^xLegER( z4GL9u^wW83WBxb)!SDIBBtr9&_m!ebT)5Q?1`!^N6R__R189zUeP9G&iDQ&Cznb~e zVrh2+Ls3*xNQ6=kPBslNFzMH3EI$8F9)y7VZ-{DrR8rEb01{HyyQME%Sj6S?ao1<* zML7Wq=X<#dcGCOv);kMLNxi))xe9)RZgtK9y4Kp?!U<<`WnL`#V$oh9LDUkaf+dBt zza`!zgF;Dp{m)&67Jq&D-P0<&;`yG8_N{%9hc8oA;C9Lp+y_74WO9Z$em%j>s7o!w5E zkbQm#hfvYIa1|cT^_%M0&+-}8oD0((E4x*#3qEg z_U4!Xfgk$p^&;XDCWh+PdJZR_`xT=8@7KhqV|vo-cnRx_2bhfaJ+ zd9)8#T$!t00MCpQ@gXIh@ytp3r&dlPXuO1s#FOvUg(${t*F$5pXw41RvM^0p^itw| zfzh!)sD+%{KZskWEDe)~B|n^g<*0i;;~xFodxE?@_}h_`J7O~@C#N4lY6hoZMzXtC zI_DyK7PotNdSv4kN_v)EX~n%iE3r@u2^a^coxO8TNEx$=&FpuX0`**bzd?yS_(!l0 zg#-mVyGl7LoX*b9prXm;Ufqmhfx4h$_;Ynib{ATuJmt>mX$i;R=TIpX74(bq53;W| zH#hYy$nO`*+skrnbf^&!L>{Jyp6-EDabk3IcEuxIdwa~C-c`;FS}%9_izxjgtkeqz zW3o{3@g+D0pA_G)t;dJZR5G3%ec|1P_aZ+P>Mv%Jpd)EHdWQPB)oXJ^d>5&b>jsJ@ zrb5FRh+tF(qXKNMQBDB&N#KnXSRd$)d($xzFR2(zHszfV5%cP4$4(FE(X4$kxPgy1wT3EHviem+DQGcswgpx@h_ZtpMR1Ge??vVTJ>+L-@ z%7Jg?P7uvnO;?mK)Sxil@0`M<64CE+3^#{!ndd1vHYs0oB?iut7115$WXq;>e@_>z zx&H$fL#6m3h15^^aH054?jW)J28UL%+J^q#V}>9Y~mhzNyK=$XFGn2<@-WjE-F849~ycxI6}=n zV;3?j*ZKoL4zmyj7OvP@o~8L{K8#b)G+jT<1D=1Y>`m_YXusCGyz%@Nl%|)t%xy*T zX=HE*upLtpJ2~PpIDus++m3d+)ss^!X=FKu-?92 zA8&L}c8!^`i5JdNUq2s=jtN+m`$jjDC6=?5VJp#CW0V4>VW=9F2Un*SBH@I2oWdEw zI1@&rKW#1N@Vi2Ajxzn9H%(PD`j7|*|5;|1dYIcv2Go)=o`kZ>#+6%Gk%$C5AD?Zn zg*`Mo+bBfD56YXvDYyc+xtWm6>G>sF`W2W$mp&C^GX)+I&@dGs|2|_z9%4~t`buMJ zfcqoIT=f$8L>uBkLe8U(Xo7xyK{l|?PSNlWxp@z!Zv)EVS+*2RUJ6vc0C!g><{|ZU z?TKa7+ffabmQq|do!uDX-Pqm+g}+fAp5{w=x#G<&4zt(I8x)iiAVUx3rlzJIJ;!{R zQ!Qj#XG1?nLc98;(y2f(Cy={ix)uo?`qqB;$`kyzM_9!3kxxZMatkG|W-G#Yd?KDL zw>uh?e!0Q3>Z zLw~Pr?aA0%SRjPrrgI8E&5~*Fz#zcyP8`cq%Ao)jqj;;oGN_BL1NvQ}y^VmB#*+Ng zrzFLkr;*g%v4#Bh8q_3bX^JT%<+CNNCO=hcX!??-!Dzcm9b@kTVquhk2%r;gN?Jvi zOee+>Ffr}H^i2bm=wGQNa3lxEzDjDZ6TWxzmEWJ=3zqa_wYQu|E$hta@;H@u3?8%- zkAT{)3J~nhQ~}lfS9_ZbN3x|KREja3=1F$rHz*^c0muhC>83kRacQsqiZ(8w!(+R}yxYInFD%VZfL+0aV;m$A zLqkI?8M3l6sSS$r#itTdz_If8<932cyiDeO) zRH@-I6M*H*I0h>NZe^nRdC~`7AeExG4|8Vutt^qahzRH19rZ(h=eeEl1e633Cr#|h zf&Ly{W6^>8!($lzAc$RET;PfsH;TccFBmW6@(BupD{QC-)7ztse<4uYGkFRVUs%~V ze2XCcODeC-qUnX&73#;Rq}euTX=%RfWw+7=r$-u?DXZax)1n2nr!eKLZ(wB)0Hf%} z2>JHLbol3sej*|OH9s`n;EaG&(>dj4hMPRlt z0`sWY^ZIS2_5UI7EyJ?fqPEdTP%uywq)Vksx=T?(I;5nfOOWnRL;(pYX%K0UZs|r^ zx>353PT?DC*ZZCK=ee%)>+H+Dw<6DCt~p2C;~ry~Z}213NCH<9t(ElVT7r{918Ys-~!0W&Nrx~1U$tD(SBR zLBIGic#P6)_R9}#y^r_i?PYJkZEax7Nf&hEl=33+D6a6X$v_6yodZ?tDoOE;Jj&0i-yW1+cZe!ahkh z{`jj_r6d3rVtq5c?)(sRzS|CQ9R!x(_0?y-CmRg0OusIY5;q&n$cEjvR*_j->KhG; z$ZmKl8G1LsiE)2|s{uP+f6n(TDyj`7HWx(HZ@jgz$n!O-RtD7I-cH&jJ>87fxh)RZ za=|ZRB@D%8lb=eY7Pk4tOCtzs57;T=Wf<}Me`J!RO12vlhnyhLpL;Puh-iJbagADP zga|*4U))!7cI{U^HgK9#`K-c&gUa#ACC9tV&0ZJ0AuEXU>z9qp%_G&#sd#8ot2bR! zjX?79=w}Oh(21#&&1R#-$^2Jw$?f}^zNsHn0iYi>O;lVvI$GrE{5=Vd(!}ppG8!un zkI_o;B{()=qvv___o2`PpRn8eL=Jog^Q&K{T(XZ_INSyv2s6@)16t=XY&TF0O(?Vv zbTh`OB`CMJ%fit|Bw$p$a$Dg6m^rtPco#14j*ZW9JF!9(fjFKYdrQ-a8Mw3~6!>CY zJtC^{$$M|!aQA-kVTQ`HpG|&ra5QdqmX`5+uH5g?F&i>fa{Lhy>mF$fr{`$7<+#B9 zFxwFToBtE>rb6@87Z^8oK1(*6fu;y6lxaVEcimoJzxPE=kSyS%+Zr`C*jFMqSoM$9 zu&&D}FZ#M!c7OF*!e@CWS9=5-q{q_FLBywfD=~syf7^*~M)Z_xopjAacQ70dWQUzn z3+x?EW>4ryO*h5rr_zxzHTcPw-eP$*V~#uizO!dGoK_S|Qn0lJl6z<(=y#E&G58?uCi=e!5Qhy^D6nDvHNb7*1&P zCvBywZy6f?;Wj_*dqa=yvwNK4UnCSZxZf%}8=9KDdV5)5Tt)s0mBNF7?SugD91)*&+)%)!;>pyik0N;+MUMmCXx0`WcS*_ZzDF)$Vm;CTpBN z8+C8!yCxSP~J~BVQ<`4V4JYsqk zQ0dxKNeF}TJRNz`^Sk2?Kfa`1?-$E!_~JkvQ<{;^FJaPFFT@7@x?%zE;pE#SuaJhc z=4h6NyM){d*jsBZrDTJ15Y<2arfXo)kTt)(o7c+(jy^a|w%R2wIIy{UDq-W#alwlt z8;pb1$ko*wHr96;*w}`LkIv0hvs(tmgUk2TY&AlcQP<4}^)@SPZ{PnqD)3p0jEwKI z?guMuTH3(t+cw&@Y37N-kI6-3)A!e}1pD^3eLISXP<{j@vyWDXZh$Q}S|7_P|F++? zXMeIwRL?VQawhxo+6Rn@TE~!+0~Ry8NwdL~S7#H#SMi4C(#ZKat$u_Y9-Kaw7O>>wsW|IW4@fO1&qDAz+?SWxpV|k} zc}YexwEk**Z=z?|_<%s?-YmC#shh;$^Lvq6GF2bSS_LH|*cMHi*mnIpZqUv^_Zj&F z8I95(*{-TISa!yy@);{sNp*C=Irhr-Dv*i+hM^Quai4|E=X{GQarkoAt2=p>Y-+r#?x9B&!@AUq7r+g?xB- zT}Ptnhm%;~TI&*9kE$wNjXIqH=Mgt%!ZeMRQRgM435 zp&VY#;;KoC)ZK|9J&XAGo$6JD#@N`}hDKT4I5YA0X=wWDhCadgu2~Md3@jJ}c|YR+4sy8eQ(@e&qZSa5vj22*)9zP;v&Bo2->?nQtS|hrJbeyvAFe(k5^(0NH?R4U zo{Y`HF=wmeF*j*UvqO`Y=9(w_cJqT07@8>eliHTa99&$Qm!IWCoVNu<+S}S1a`)7R zFyC=_Ox#g9wgM}Aaeds5dVAzjFdv6R1M}07ERCcCJ|pW5_Y&_q!)w;3U#>|lbSuKoqyy#CR47!UpP89OaNJ2S zX_Dm!d@AkgEPg59^O-Uiu0S%4Qdr9 zs_1nReD;w>nd@U*l#qwa&qrr^eow>zf5x3jqdcaWapBdhlkP{v z>eqkGWjg9|k1x*_Jf*Re** zojGp(`ek5f+z;mt6R)$oaiHjeMY}gw9Gm9wxUXd@fn+#uHup70_BD1&%14kYY{}Jn zk&<3pSD(aIU(f!EU<@iHuF%qAE_B7dOV-DPcE1v3mRd^2S3=UINrk*w8cVl-*FPKM zTzjJF_VY@Sgj(lgl zV1#eP9&3W245dYn(dhnjlT-}**qa0ta(~|82ar{TJ3ljc|G8?zzFQ83G}ii6 z@h?paL12TP#ZzyyQ9eQsA`ATN;4XFSXrpV@W;7^qFY;pEw!TS^ET`pATn6R)AAfeA z4N81Lgwe&e2A%v)ELv>}5wuEDxw18q=#)6*KOak```)Btu_+jcm=j zseCJ5`HI%qoJxXJH%`@D$E9)VPyImVxY5S-FawF)jk<(kQpQCzbZQ#`)jV!}tY={1TQn)(a$Wm@*|zQA^BERkUO!ZXp_!Nu1`qRz6tK7v=)0w5zMTY87QF0NoIE38SJ+dhg`DqZe#g_e1c_!B*o&w2b3w_ibkLHxqZs3qag316|N z2sXKJ3e4Vil8bsUW_$Gdb8lSv2Le-F^Nx=N`UPKAgF$>aMl^&iGUW?X_-@_$_4eJy z%>Fuwn#QnRd$!0NEo&-wXGcoo6CXl2HlYMb~o z?dr>;qSyYlhWO`CQbGu<(*4}l8hm!3cqt)>OylFHPwn0DI@Y^OciTTj#G~FG zs$uP3A0;gh6T)gb#!c3-D zF8sQ}dG{>6(2#M*-i|bu`}hJs7D-KL&#H^fVVg7ZL2eAPG&33Oh0bx=3Y)}RctkBN zGCE0lRw?{4zO^ZN<2Q3PB~rxmSa=-{Npn{AjK`Lg1?9r-264NbvJzPZJKI@obfsEZ zvYJE*sN&@H*2t(1ntt(O=j>hF-O`tiUX76 zt1uvsa!w$xmmHBtV_lP{y02K-e*757RsL{^QANJSQmX~(Ey3dtI^Uz&aqwX|efmz{tomC)eP)p`6&=6>7QCDIIzG$-GqVDq=+80biLpL|3^z#=l4?2rhMZWfKu|C*1IP4~E zPHxS#vx#~4Wc^G!kw|(bVpC}m&naD2=f&L8V0g|_!_TCSqgIi#@9lU+<@T$Xq~i|H z;%S?vRSMkjYQ~&>`wM<>7G(AeUB@)lEFtjLbQ?V|I)u8G}`0hw_^6u}`Ow`99kW_k4Q^*nn9(sdAi zx_f1(CHV6Pdo9U``;9(tJERj?@exK0)aC;SG<)fd8%-_ETU|#xb}PNF!IeB)*y&jw zOUFLBL7@^)yPaW7PtSDy@@H_nyu5tYe}0DjQt^*l&8Kz(VzJX>dJ3>2J+#e zn6H5K~_-aBHK`o~zx76`~Y98=4g^uQMpqp; z_VYl;%nHQye4ee+WjdI}=eX$+Th`och_2`Yxis(J4Fv){YB@|v`d>-S6x4ocrr|9QhEK5~Way&;m=J`MpO%N@8(&)&RA8 z-M_z~J0_{I+C+c)Q_H8W+XUCPtO*LR=#e|xhMdxxqalbS%?SB_OK=nmG2wsBIST@mk_j5Cfka$^Nz2R~Z zj#$(u)`o%3%R4>NhjU?H{5y6MI#owgQq#gd#mJg%kLx6+rvb%s&Fh^?2@#vaof|iT zic4Pxzqa6DDb|D;hfxCVSIMh2qxt(Ifs83~j~B@qb4bxY&>nGIk}i-FQI3E9+0fX~ zhRKcM){9DCzGH_E#${*d(W?Ss3=wm_50k1PBq|mIZt(ZcL2J)+A|)nvq4SOrx8-~rz6q%*uU5OsAU*3_=@bI4-TC+LyC}SlNaN$V z?^wiwQT`E(jQ8;*GD|Q&YH$&kW6LSt!242C(x6e@R zQM4|Q2gK+%US<{g@n%o+2WyzA*gD%97Q&okbSfJ^uU*xa6YE%hw64{s*pH{WfDPTKmC7>Scd9#KD??u# z;?+k+ikp&@1+cCMz$drL1~OE9gak@$omXzB_3Y07t`Q;?C?}YlaT&2+Y9g3){qZd< zPAi8#&(?<5WA4r^S4V4xmCNua)Y4E#ymOJULbe!JvybR$#lKS^r_Bcs$Xd4?UHcMF zdB3yKEa&~ zN)U5{iHgtKyc$Q^<{n?`8Rv#x?+mH5RwwPz!j{*gJ8moq6-QLR+mA@mSvC4%XJ@w- z4xPSo6I*XJ_+$*4ZN1OTbaK?YHx(ascvd0AQbU+pUq4doXtldOMK26@5>*FN*gfl`JF|qOOiwbEf~KZw=x$$C zptBQC>Ln8r>VCTp%X?B(fuEzo5z|#-!aY2*({p}n?^u)Res^oU0CvI^Ozax+!4<1n z@H1@uEAcb=TBIX9w=wsxr*@;*Eldsr35oa1F6397+1|uB)bXhC)X@|?_uy37Y}yn) zWEB?l6h3pCSJXWFdGO=MDBdGXo#3gOGYaiL=s(7XDJmTfDt^qd<>ckHuC&{5ev153 zU?)J_AyrU#x|vtxdBR(Byxp<1LErLYw$@)V6~{{1gG^}BXJGVq8&;i#X{C$ntU(De zZT6tAZ$?kolb0_1P%DmqZO^5Xg{dh*ojG^F%=FRd?GwpVUUqhzc^f_$+Il-#U;l^l zZz)GwBEqF$D4MojQR2FHPx!>*zFA3hRD67(kIzxY@S?uiijB04mMlqo+DN6NXFyQU zlM2nC#`oB*Kay*Gb91`~o+DK|=aExd%}$H!W>q^5$YUz_Nj#4`TDK15L;{Z++)nKm zf(r`m1Pt{Sc58npAAXl&X_eD);geNjVB_Bw!#ZDku)^e|hoM^P*anT;h)Z&*ds2UuJHbSL`N!JB!w_;OxGulyNzSxX zu{}>mRdqbcrrma4x}8iqUdbx0T^t*mIa*BouhkJo((4Skg&WyUl|?vr@#+ofrb8WDWDkPe`S9S|CRXN!q7!N3MEqktpC*l zzWuL|kP@rzufIj1h+h0xAn02Q$I_4E=fBQlW+)QUQM<$1Et2z|(#s3}{T(w`sqACuv zGKr3g^3BZ593aZ4)T;FmvPVN{cwOM7#K6FqX$zsug!(+E$AMy$Kv2cuTn>2W^Qh4d(GmmkdRO&F1KcZnq7AteqorU3Ea=Li{rJvXOD67 zmbbSz{ACkF6q6=sS0*9Uut$?yiUzi0T8`}R7r1$=ptSVUch3Ru^_7juO2~bN@O!uZ zB>Q`7>OTD#9bFc~9TD9=a$C7b9_IMpJ~kC){!?Cw8X^3DvC)_RKR7#2c&GF8wMkFu zfj#urErPBY*&{=$cAF3VuPs@X)IFUn>HU^0x^8X-;~HJnNIQS~r%HX!;7qfCCe-ut zOLbe@E&)d@J3KFl#FFY!US#Bm%pE$tA*tvM)$mP}c*3se4l!$QNiT8Rb z!REnxw14VS5mCZ=^Z&O$c{mG_^To@Sl$K%$v}eF*Ly@^X7jLqEB?AQm&aVDUZ}U9= zlMdn2b7f^^eyFp*uT#TRHoorI1rdosf!gkvd0wDmd+Xw!%lwwp+?Lb3>izYy>7f*f zu<(QgVYKi6s3|CN$de1Fw_ov+s@Hl{LwRCER8$5$!|cbGCovqxL0^)SBSJ!wVBmpn zD^}FPf>CrA{91UCsG0lqYd95LWsIC(6p~RWLH&bLUV+yQmbk5wep7tV6V*g*G9*RO~V=*8qf-jq5rJ# z*`dDs{;2VVQSAQ~OW0Yii&@upv_EcD;<9HZp{TAN!~JqB#d&ApsMDI4bPO($x3{+& zl#Sz2P~>%XcIq~{->W_WI*7-Xgo(dqf8Q#va&;P*ZYrf-q)|vaDUx> z&h5X`@e+Z;|Ig6y4_-o|kHo6#)<>bu$;x!NrfUY`=(3tq2GfS`K_zk9uU96}8Y3$w zM_E=jsMBc2YxAbC?Lq*wF|n_hw0xeU0@t}E@jpDdA1O6BIC#7eYo(;51SNbl5s{JD zF|)9r@ajWvui%C!Cg$bmv%)vgQ&LjineL~E?Mee8+^qi1C6|LqM=tOn@I+-*)$ELn zr0=2xHL z#-|T-0tqxWG&Jps;gXb+>JOn5S5i?)o0yomV7oR}A_bRFRN*Q+qJGLN zjl?&*`%aa) z=w9&}2R4X^!{{(REGmi)5#g<)s?1D@(D3l^IY)O3i?3i&-G>C3F9eB-@wk)?YsT*A;75mcJxp|K_PS?@8DAR_`Av$RY$_)`hNlt1y^V`IyK^-6J&bx!vtv;X>XWDA-XA!HzJ2?a zj+*+((a{mV-O@*O4GqJhQLu^3m6POaPAHTv7FdPECN2xwgz|ndUa9YZ$&3;{GUdJ-HzvVTdI+g^x1LzzK<0{3&&q% z8_{t$l5U$suKCvAncXzC=O*|0Csbk3iP2Oo|%=;J;QvaU9BZH4c zh9W|;d89yJAyet?yLWmoU*?qQI60Nq^Wos&@Ve~Mp*Cwya#b|W&;DE(sdnXoSOH@Z zW~5(2O;$R#!o5>n5&d${b764ToKD zM!q9Fc%Z!1#QAb89O~NHoPO&b)`1ZxR#xzkmOJsNBm7b$qZ1jejZ$S#?oh51d?F%*LQ2 z*%A2aLvUPBl$FPcp&!ltk{EOdaq1Q$`47z_izHL^KuSJKD@#k316c2d?ry;1>v0msTf;lG7OUxp=-J2R+4mP@=W?}2#AaA=Z zpsGp`taUSZY&Z+#CE>%S8!}loXQ$5Kq@Ie2VbIXf@Cpd*3~5;X_-1eJtq(uNFE}_| zAz93BbBe4)T?VR4VHefZ)P625zAr0tEYUuf$nq)0ZHK%1cKVKpF~K2K|5*X)r(BH#?gV77HHV%pr)EpT7_uNz7yU z)iD>w3jYS)8*1e*BB%G@0m^=Lh+0S}9<<|`qM|75@%0UyAYb2~a32-f&C-_|r>Cc{ ztgU~Y{W*bP@(oy9eM`%3fP{w~I%kUdn-7D@g;=?APKO2W-FxHZ~BSU`t(IH(`#Gu6&~Jn)}tJiXPTO)YWm2_-X(tzXZi}x^zh^amz=!2^yPTD z$DeOQL?zIJ0E?K@*R(%P`P+xbN%E{7r%n(>w8!z;!sN6c#m_Y~c7|)uA|MJPp6FWn z`LhmecoS65kHYqypB>b4y-Z6>+ufLq&3u-w67B1*1j4GkU*Wi^9pMhG-Jrb_7Pv-Z z@Qb7(9-6DtbHh5G&`9k>x`<@%1^8wxGX8MT(%q^yvHA-3aTd>}|d2{*7mHO}Bq41hiPfrgPc~?-7v_!qD(6GaczSxu#`7Egp2|x}d0U|0`bCL>h)wSzm_5yJ zc2{_K%7`@wJY(GYQ& z-G(iA>*Iqc3KJ94Q)y`f@WlY^ynp}xZM?yI8_}yoc*#PDYCH~qVa6x7f?~D288@U5C#v+0A`6l2cv*~fSKYPQ{kUKcI7594FqI{EjL63 z$>9H*HEz*}^62Tksje2Xw6x@>kX9CVap4D0H;|(d396}UXsEni009Kj-VXWRmoH_C zjJklacAg^)NG&c7hp;GqVnUONnb{PA&WL$pMo@AaxP(p2Y4YF$KJ%QP9AfpUKSf17 zeSd?@Yg@4aZ(1Z5b8{J=Nv&>ox!?X6uJy$E;nM1vnYDxBnGWa1tDO9-hq49#hUw`< zxDgreS`5Qww;)yx`}nc$WV1GJv|jTU@KNA~@#ykcZNbc|mzbsUOnv!sPbPZy?c0l8 zY(($o78lKNl0l^STZ0adj;v>zuE3!$jhE$hAI4}xkDTjJ5&BVoy>^Yy zc{`;$cf+4B^1ha&np%{~IIIZlak^p0Cn!bAZD-&{HnJf6(gRnoaO-+)w19|8_2Uu z<9Pw$1K>8kw1mVJ&>{7g!+AQxnjZoJ23&(x^0bAZMAB=Uy&tZmV9Z7dyML>n+w52A zH$Q>oZ_)wNEcnye#YN1zyxOy@K@}yXCeU3JA-jQZ_ec<#Kwqww0CaKSqPU4Tdl)*Y z-(nJ43*x%~sEC%H-Vg8=v|G6aQ%dA|Ek$IrHS^?X z{Qh5?Ba8D-|7gN`?^GP~?bp2S-ku}A>t z8ej@x_E+s{VmcOc(p$G4g814USDziPLJ)&o)&xyD0u-6(kRcb42R##sxn{ta#k{X% zC^GE8M}c`surv8v(G*ps5rq@IOqoIFi8VGKc+NyYktjJ{T~+0^O({ffx7xiY2 z;Io;#3`PS5FPNjQFDNARyvoTs)!oL{_Go*Knhqw9^rXGXsGj4c$WunGiBfAHV z^2)Vq`aoV_;C@HM&dK^I+CP&WD8YNwH8i{dg9u$rA3%?KxZ z{eh{eX^BoFL_=1t_6{pbR0$6q%Pb7@uAGk>YG`p)l#1-UUWW5lV2FT@M}ffM{90X= zf)+=7o@as}FPs)5AAy?^**`^&C=A~CF4C4qQU8G1+1dFbCT1Am8?f-pBL$QI{!T%4 z9*c=>!#m&-61K6_o_-1QWoBg5uk*Ul)ZDB9b$cxVMBcTvBK9i-&(?(*KAX2l*kRN~?7f4aIAAaS2P(jE zIBZUJfmS>(Hn|0^km-40N}m&=+gqn$7k^)SoT&tzo?fi6B42u802`xTDb-x`y}jKZ zf{B^gS--$QLukA`NKAl-*9__g5Flgf@e;JpfTi;aUrAH)Dbzkp1jnTN=Q`AYxy&vsPh~-a8AO z(T`w2>eR)2h=D-V;Cb(V{?yIYt~PshpOKLfSTb;<*kCXkT3W>V!QS#f51m$s$Gd@0 zK%$>|%)Ya&U{6-Z4Nd66muc^Q`1{vCu%OWG$Y#p(+#L*McC`v(Qw2R!rryI|!|%n| zEk;;Tz>)U=e#&0cfu7H&M>`0r5;;FDni5v-vRxUVN5y0RIopn`H5nT;E2-aNi0}u5 zfQq-Zpiq92IqUz}#E{{*{M$ES8?+HZ^L}X2Jde0w0Ax^|CkkN}A0OYuH~SAD>r&gQ zAnF`BGj}r~>KRz7(sAF5n5umZNEoOAxWbA1$it&X#r5&yiztXfha|v74+a52f0dS& z7W|^$hYuWtjey+{cRs&}q1xndu%Q*d4_*;5$-tqO;CwrV@wbJ>J>;d9lUZeXaOEFW zW;MO=mzUbw+0h3jaT!N^IJA3}&s4(bkp3&KZoYfvCqXZOB6=tdW;qJ|`&VA%TDH}6 zO-s%7TfuakoZ(>WKC5IO0cFN8NrcAgdFBSIGM)U!WmR*OHYE(ef#a}V_u<0}a9C*2 z99~%crI5>R-O$h{;KIR38nM0u0w4&KVr4i_PF`L@b&Ppciu$(P zrhRY8gu1iwbnNfs!C5)k&8ngXV6Sb>RE2@4Ft> zWbmt(T1Y^s1OV$U4UJfO^_Npy!!4n<{(f93DXI8X;LZleerSyTAOg^rwOgb2v+gwt z+@LBW&0hjl`!^N?i3%CWQvQJ0m;4ux?rWBNL8wT=ZSgrjUp{*psJ(7X3b#7rME7^1 zNxI8@sqoEGn{fc~lfhj<9BHoA)73={+YDOSS7<1OfldB(&=R`69lf#!NZ-`bveH=% z_FVXA4i^Pllgy`aU=2!-NC(7?OHEv{X7<4m#sjq;U@rb zCe8AXpw57C{Q?5M4vl0nL@6nGIUfouAS%d0&WHZ5)7k$08~Fg75`y6%3)BMqo9R>) zAFOg7;&;tz7rYYn!02cqM%CP}yWU9lcjt#V1sGu@@`oT5348!8D$2`yLDMbR#+LSW zN#ix((fC~VnWo(j$lQ;2>&M4qK^7HNR9Y%*7oSQ>qP6#gkU&BzQQH-$bKjsK8eZNg zAn>=K5h_Gk-oQRw^?3t7^VMw2b=23K93=0>MSYV3|K`mH($ZKEzu#qJyJc=}4h)Wd zamn(|e56ijLP9reDIuRt%9Jobkr%KtF=YIR&=!GoUU;xmRzWiWOKcY|g}xvYRnE_B znE`f;%`)ONMF^QFZxIJGP*J^=2&1w7S$6@r8EAcm+1|rl<9cwv@!j>tiHRz8TSFrw zcJMcdt}82k0|VR{%M%O{y@|sM5=CX_4gZ6CJUj#ul0MPV&r9@hk)OT;%-vtsPn0k^ zI2aqE$e zklXr^^awMC%Ule?k4u*>L7W~8!5y?-qlPq{(`NO-;ji};49tG?h^2oCXbQoF9LC*X zwiM{j++NhTw-c#?-9xDl@-ftShHv5H<71pe#RyM{r(7rI{0!qzkWT=(Vgowjr>DT1 zY>l%c@HaqTge4>dfj#xc#7={kD}FhyVk^8o4NL^X;?bt(xrV80v+D~>%d-)4{J%E( z;aMM|O5o|S5ReLfb{_tPTPU#*G6F>s0F5Qd$;p*B$ej<@#wk1wUqeB}D^MzFX=xJ> zd+-=}DontI8qBqY7#JCuwKGGKRjFvF^&^0qB_Z!JB!Gw3VEKB@SK%v|LP{zb_SdDuKxDZjN2~G^;0H6UO54R7T9pp-kWN~gtc-M= zau(klfkpiGJU{S6fDL??BmxSXIH*}!KY|st1?pNhLC`NTQ71zG>}2{J31o$jmnb32 zmDBG5@Qz`zt-T%X%y9z!^Qh@b`K)>0=ZD@SCFTSGc>^d!65yq9DJX*9zsCgRKNv$P zC>RIM0Z2JsKwf~|eweW^Gp9o6+U|@*pN0w7OVEMyQ&D%(KnzBYh{Qi5eYOHXBZl4b zkBm9tdU?B|R|K%MO+S8Y$+aqIfl$Ig1hAqVtqF~zqeRBWiwq}1T_t2fF5wWR06m07 zpC|0W}K@{MjRv;P~*FE8w0190Rr{&(Gr=!zt z_QwOFy~yY~L{YG{(0i1&YY#BUO+v!U^2<)Cir?X0I0`uH2dP`a_pe>M)-?gg6|>!g zc)Wd5yo0OnLaX2_gE7Vs_^BIHi!8y9|(Ye6u>Od zN&x`@Sn`FF?%j+R?ff(paEk+*N&paHAF zCD9IpMgo_XOn~@xl}C`PKa4XGa^VDjlnPb{iU^@xN?cJ9M?S&s49Q)#IIIl#K{yl& z7MdOM+d#lLt(Oev7Z+18GY3L`S{``tblG@@Noq~pDYqRNNHudt2$H9sa@0k!=_8ws zkf}(R1e&3hZRH-QVZ7uYN|-8vK~v6!YNDO6S>0O=UgDeQVpmtg`_Fr*sl zE14};_y^w_=t34$b3aM45{X@)BU znQH3lLv`)fIoR0l0_FnS26+J4r%&4`0}r;gUL0&p0tFfZFx+N;?KuiYZ6VR}#zY0O zjxng@ed^%A4HtjacMwkqeZEX!&<52k<>2d)?uq<{%un_* zl^7s_YlTFLTy-ri7|?1}|NUL^5Xn^0OeLG01)0vSF5o_Zpk5AHg!~I6Eq%b%!ZZ>D zL#3q+PFIE|CdvVo0tb}}&HxcRAU=g`NL!!;K@5%r6n11}q&G{MF@A0jm>3YEfp6N@ z6d^G&k`UmcfVt-fS3Hob6$_M$zOnJaz|dbFZZ?eUA5bCqgdsvw*b9LgyG~H!F;eSU zThMqjxUIAEtC&N?P?qvFY;0^8cSLSpm6Nk>dyabT=XV9su>=auJc#+a=I7>i)%={0 z=T;H^2d!^G8VWI6@XAfLo1iQ}c&p}jCSEUM+kBg8*I7U><;KLhVr-@x}F zeBoaovVsU1D&XEYq9HrC4>UTe+S=SNM8U0a!QXUx5O_XAktUCG~)@Z zE;2m|%zev^Cj%b=1Ok#M$>rnchn!;z+_SVh771R&`Dbb(a-^_^nNcbtfh21<5}*iR zvzwuqLseB3VKnFyRAE=i(vZ;g5kmMv|bwmqFa0 zEVg*g0XD!sG-?pQMUZHc6WT2y5rn;fD7qv!p4S=;G^opy1G~Mmv#GxRm#Gi!KkI$$5AP!?A!PMG`Ymb^s&^*xTkdg<3Tv{|a;q zq=CqxWSGZ+SDloM%yhIcwR;cHHq60$3wkzHILOlAjmBj-RpkuvvYD2~H@nP*lZ*_y zf6>KXVh#WKA|?T=u!mt!F8gZ|dV2R@5pGZpheaW*Su~E!qngN8Kg56aAu0tonLj`dPz>5A11xmO# z|EH6N@voHIzo(Bpwh;X=6-xdj!9OCD!a~Wgc6PBR>gVV_@ujy}i-F$G!l9hl-Z=nVOm}m};PpxWRT~ERG-~ zG5k;tHDM_CvIQ;>3I@PrG>wfBgTfr|uS+G11!8r(L$L+i|CR%O;rG^75@e7d!2|Cu zqpeL2mb4WzK0pBsEIkuMUTM4x+Y71#6d_G1d9pcC0Y#0X5ESP_Aa!ug8S4C=P?Ro8KJP{maUDz+cY; zLmJ}%r5s^6Z@3;Q4CzYEP0~m2ur9RY?i}OP zwFXldH~HQ|ENS{nU<47uj-}>M)XEeT$dLnz9+5;Zuq&cZpI(MQk^c`+@1qsAw0TwA zk|jf0co6cQ0d@!j>3}RTL|+N@HQ?6o@bVIZcVcH}=NxAA$ORLV0#*@l&M*1x*>m$8K$m<-spB=G7Nlqz<%6f8yyec*#PZ{L0l%Z3lm&CMay8bs>A6u`9$ zz!Yg5+;Ht1EL&e+AJkeHLV)Gu>iX<&NpYD(gyG3bN zyC{I{12F_z)iO93QR%q3z0)I7jP}&c25l+3ScH12u01|%rz)7ls83lg7ZcJjj|%+MLE2|t$?gn zGE77Ox){k-c9kQ6Dim2l&h~k}?gg+($>1GRQd0{6CnDe+d=_y2${VkcDER-fMNaBx z6n_`7+iNNxkkoBqKb3lqc8>v{Mz3o_#m=G3b|G$jpvz&XG?7DLaUhx_A6KIQ{X!+W z!UOdODMx=^YgSCTUcl2ouF}b?)^@6~u321r_A&2V)0<|W&mr}RWBOf z@$&H@`FzMnG((`%`{R2&#Wh6L%cec_p>hi3=~;&S-3Y`3!u&zO&+e{6B~4E9ZagQZ-YA2igT85aORJxUGN# zP<~TOBo;vU5JH`&va&|NElIw7{ra`PzUQC4NX6eg-e77WJ&M-XAziDj$5#YIna6LK z7aob80BQ0uoMEC=KX-TcX%pCWN1K!Vm;Sfu8z8>RbO@fhipTI9DsfOS?WKWf(bmyX z_3D`s)DH{6Efb_D3XYsdU0+2qobDmG3`lz!f_*kSAr*AG2?ZDoN*N#LwFkhqs$Mxm zTUuIz$A|*oQtr5!aIaFR5jGJY2IVaIQj6z- zvj8Ne!8Sm9FG#ow5uao-UO2rAH8wAFbw8JO0YCVZ#r_Ws{NU>kAbnrd$-X|6L-LVa zcj$H{XJMPoV!v`Cepe~2`Gv5i%Bb7uJz*2xa z(NZwOIXdV*fVP?k&US>;dzX|THcs-Or@8r(7gUKcuFL#8>-wMf+M*A`>D3{8^ypFZ zFi~_}#a&9ZG>K?-L$6(%nrQG3*mpX9TD`NGZ%3NuH%ARe$HqPb-XxBRXV`E`VBenT zgo&1hrshW+Uo{W7&yms5TeokgSoh4r9vkzCw-ASghEACTj+(;R0m(H7VhEJeWBLy~ z3=IB|Ki1XNeE^5a)&0W6mg@WR?^D>_So*9LGj3uf2|qDTMpJ3>oHu@|T$^tG1=TKHe)^zbGX>huzWPK_Y2oDhG` zjm3=`1{oEvE-xn~@2u!YDva?$2-v#Vt7OKvQx#)yG2sG0cw0AFrwHoo?vpl*u5uo$ zLRp!E1%0DzK>Cr$g6&sTAUa6DY;q2X)(89Zi5!v4!&EzqjE@%bRC6^m9nNPvi;Igh zmEVYZ8nmB7uF5&eCWrI zALq{siGaXtf~O&cZeT|k*5wiezZYWJyn4m@F#&d|gPpRH1DLmQE`!dHumE`(KoH4o zUPIx`vCkLm-IuUtA$4a9_ReBc2C6~6^i)p79zaOo1GeiG)G!a_>GU9VqxP%#;6`C) zwI6J(F`qDm{)dN7f%Pxt&qv!%p@!gtro6h#36=>`Rn21#iYB?Rg2l8{d666sRu z&Y^qg?xDN8ySq7?_kF+LIoJ6|yqIC)dG@|zt#z-h3VTa%-Rb1$s6YKaP3jN15WfS2 zbD0~waGX9URs=w&1EP1w52m$HCH};AuPt*-UENDKV6jlY`y5M;u;u)oPW1 zx_asO2cU^6R4d*B$}Alac@R+KtZ&Wy{{q)OIA&cd8E8>}f3GwIOxv`BcwDmMez5Qn zD0+ecoZ0>rzSC8+#B#DThg zn->OvfyYTnBRVPXzyuQu%U^)7APm$x9@}%TPa92_Gk~%Coet}S2P%rqeC8r;&nrFx zECPV$JtW|RvoizG5Ez-541>0fIJkdH$om0|Ia>JwdBB=S#(?Gu0_tT!a4^@@Ay5(n zKt2+P(W&cx73smzz$%W~ohos%`uP9mtB3zBeF}pd;28t6MfqICV9-4P`8havNDfEe zmK9W_?*N+u?mB?9SU~n@?(F=s>jG9{3Lpf)_oO31M@0qo7$abKrGc&k$m$D5%#DmX z!0ZW_2Q$S7)tq9CGlu0MwbWjPXK70+J{sSKZ4nkY_6c!fNKdT6+q@A3czQ(d`dKEHff|Ru}l8prc zgw+x#kiqLJFRyRf0g0&gM3D{1FTse7z`$RU8K`eR8|K348;Me-~|de z=o$F-K4>IeVDCQ=__~EFKv*_VW}@^U6nr4kF?s8Oxv4JtGVst^J7E0pLXP+cN?eln zJuoc)q`iQhM>pP}*4G7;(SvXp6p3#o<2%4L1)?c(_q!Wj*Q@Yn=%mz-wLr;Z2%tH_ z^=qK#B49Im2^vbkf}%J(I|Dr`r`6IEQ2c^&_7FTA22LuCCYmnnXM$GQT1YN2CI2$S%YzhFA z`-9K*Ajo()uN@tI9hBKX%OVS^IM6Mm<0~b9c=P~;|9pyq&+~&Gh*mQJE{9JaSGd;~3o!!& z(trfQ-UY=tsDqdddhnsH`T}gAj|5~50ICteMBoyDtO7W|U3i zg_p9pD~QK206gU} zO#g@ai1@u=bb@O8j`jW3ggC|$?BtrMf~$z)vss*X1f!OH#X4Lo@Xz>43m@%sq@ZW7 z-o3gDhVxgFh}6WcThH9L)^T%UbG+HG;?2(f{zO31Vc7=x-<#6v?g=VNOI1}>TLAF` zU>*Yts|DaSpc8MJn1}{M4_M=os~3RJf(kf0Ibq`Bwu2ouI5Y&}77`s@E^)p-P)C8o zC_R#sUxCFAu>=I!*ceAQsMtp3R751deRHj@sj&gz76ACaNJz8|4gJNW6iZGEyRCqO z!3Nl_T&3kA{dm;uRB%vGG~k2fGQKW??eqi@QP30bRg@bR2BIFQTH2Q&ZgVB=m<%)VNFZai*T&tAi1} zB1e0;WjXXS%_)I>-;Xq-OS`9IrbIWMO4*6~-o6`Ko6=)#i+W5#e(LOo5{_ScweI-i z5SyfyxQh6G;T+#qxzYHPUDKtd<(_^VV{r(=iZD@;9veLghI4Zhl(;AfLG?7Ro0aPh zFy=#O1xLAY#mvSoPa&4`3(fg-#qtHvJ4)IA?WDr6=RVT!n3+2xSeij4qpYUZaOwa$ z$ekU2bpl2($`*jfBned70ux;G!il_&)F7S!XT8e_aYs6!90WidN{8d6q1{6V zXPgI?B~+|VMTHCUa8nyPeyeyseu}L{2DnUc+{MzyMi%GURbo2`$F1utCx<*e(M4Xv z@cpb(h3vgni(~F(Rp^1Q)&!B!v;!krNMw91@8Lg}LILJU$x+@FVOot!-_em6HCfN- zr$OXpG~IINl}8yGf;+mUT0g3+Cr3h9S|r1L)_VUG(zhxhKgANQvXS$|_dl#_$%g!q z_UqPX09|PUaAY<(s~L2bWX@ds3V~ zRSXv=Axw`ywK|fn6oY^w7q!q;C!U*F(#Vp0EwZ{&o;^*-_XeMERVIdxk}Ft)v`L*4 zqZ8Kg=4+3wWxj#rHe)$He*M-x_&Pje&t&QnDGNr2Sgq0bUM%*VDo@##rG0q48X$lt zC1SPb@B~$LVnKawCBNYK=1{a&N@OU-{?XB7-Id$qoyDtuJ-LlLvybK){yN=TAATmi z`Q0xW8sds9U7~(<$*ASf-iP|}7b2Ce(tt-{&E$7=aWQK`-}7JASE8JYul=KAw~rJw zP*i^uQHJ*Uc9!4@x?C-#raEBY2x-#Mz4$t}XBhX8WIr2VLU09Fs=+`8sNiw*6Tu8! zI|zS}2e4USZHOP_6!c&-0+oS(mcUl~=m%j`jnMo$f;irWv`W~~4^lfq&SSgGuF||? z0k>OyBIl6%lRt`Aj$2#hzthvP&l2%Zi=)Wzyi7GCMMDBaWw}WS;~R?#qBz}oF>Y197J2G#<5^6y~z`X>6}B zuj2!n!^O}0;F^|76-t~(3pYQmUhHkaS5XFU%Ah}W=kTm(ZYIu=(?2FHde2>P_mhNb zpQYD~n19R1hRoH{{?7C~R9+p{`_@l4!M&ju{vJJ1O>gp|AB#6cVfCoZFo?({;c*CJ zbo6G4z4$viyo=*;T%|2`xq@Ff;G_TUi#p&Z@c*Rq2^pJZWhsVw?3Sc4w(Zdk3`YLe z;7D26uU|%2oj4R6Fza;mgv8agXJ@B~P5~J~?sRo8lu@~{&mU{E_#0B$Gqjt=+}@Z2 zU-U0uBoP~{MKMZ`v+8e-tADNcJK|zL@kogwc+0Ux$NEqTk)L-qu>E>jWe(cb6Ts^M z^yDRwIsmW_?CTfAoWB9`=(e-^Ko%|W#qzuHFfCzTnz`XcfIhl}5shAb(if9(>XEr7 z%D3a{;|qc3Eh9a@RZqp1#_ECWc*^)1-rfqET_&%eL-%((`{`0{z-FxIQynaplAj;1 zkGDY9w`RBgeQoWho(^4ko5CpXZIouuc9e|k%p96|}@1?%-N=3%jD!Frf=8R3XLM@lc z$D|ob#ht|165?KD*XoN)o78W6eq@Zl6tT4}6BYNmolat@zE|+Et#92!8D(aXL`U42 zJPEha#P}Mc6`=V^%gobygf+Y@5Fwn!W0Xd#Er`?$xuokB!`I$-s7S%7QG2lG`eHs< zZ!iNHf3=tY;D96X0)E_JWv^V7Nv>5#FX7rp_tQMMmf*NoK``mZ1U0q}D{puhh^;Sok9^?398%nj(cK^wpVw*i%$98@d+jbJT3fR_2ebis&z~$Ssep_@xZnd6VW-K-G{ykYV66Q*#`S<4%%ko+g_& z$MPIY4gq>MXShGy(9QDrrlpupJ0zlv`PrGe&SCr~Hd93(=r*FZxla1V{{5@?Y`qFS zGri`bdb-2YGo{k9o9bq@XCCvmBoH~cd1ilwUFDBU=HYg;O!>*j_^YGK3v+Zgu!%sj zb`HavlfsDhC(ncj3p#nhI!w2%dW?_1RbrCM1lB6Sjq4|2DdSVcZ9J{=3p^V7gwvNE z?PfP5xesC&W9V4H$(b=4GYHD$_T=o>0E~et}w^=P20UwD~A_f$9+AayrFd za~d}--Qd_)(%=>?8-F`37|p+h%TA<@rL3wX?X;U_GT;3#^=^|c_s#3kKJDj1^^6kzQTynx_n{hD(1!(cSI0K5x`H17}9_Z%*0Tv6LF$%erju-Df+3%$< zxH~x0?*|jXP$8L6=wgD9H`_nASnJ;y49a70tc4W#;S&;q1|SpHWiDE!f(M1^e9P8D zPjp!CkW?q7tIJ|X$lY*CyxuD^?e&w2IC}VZQqDw)fn6z5aSrg4)la}hP zZ1kdTis>~aWdy^uh;+l3?+{GPzcJ_6{BCijfk{4jdXra=XxC#|hr^H~P+(5m+DFqd zR;RL%HnDmQ?M;obMY|0|rz>uU%aF{kj?W;1pLC7J9T-vW>^&@eM!|ZDNxg5CQLA*O zisiB|L4P>Ld#-A#uNV-<?- zNjw^NNd;}1-c6Fl{V`?cRyLBX+GM)cr~HXH*joT^oq!$|GU(OX`pR zD6ZzJA0{;mP2d3=cuaYSaAD6M>(@-x@gpV5*6VZnB`%uIY~{7Ex@zy2N&HAaIW|Yc z$_m@z`6mX$4%s#cJYkZ&L-7Z$c`_~%#J@%iNwF&->e;)c_j6xtTFwqoPv?|6BpFhX!>>uwWM z_e(;aoeOd~fKieIyvDalNOkquZPANF2mI$Aky;H?&rTZ?=|;>K@}A#4#-{()Rx!`6 zJu+~r&U^0BH5xy6rP{h~vDkAh=Fai1=MxPcR{d@Ea}7jJ>awR#(+!WgBjoR8Gr?uQ zMAk2Z{SwgLFOYe#TycGk*Mxt)#Z@Ke*^3%vbJZYk31J7ruL{hjhfFT5%UnzCY&STaIbPfE|9wd$t}c)5$iOgq_EhwX7&+~`-@Mh;(UX%Y z&myd8x}S=CIhS)j0}YHA0cpFtS4QVPYa*U)v@<2 z)>%YcW6bvk1Qk*!0#~IGyG0jdjxG zpY#AekYPI7yzlO5LBr4ZXF7^(y|Mw8OW}0Ibzk3Lvx>x&NF`k@``XqPHmA69whC{B zQ_7a-T=j$e!E!k*{Vyo;hb}b<`phFJ_!PF8t>XC;m(5sHc(t;?oK&@1Q|EY)9?o zh3GqJPL`XhB>+eg9y0wcDw0S2sZSgj5ahhQ{Zb3DkjJj5@BFB#8dqg6^O~ITDTL3p zSH<`WajMoKG1b=eYH7%J!>oU3(b0AH zBKX|Zv1B`&o8QA)E>NtP_C=bSeE42xEmJ{R7f^XBIBDY}4@2^_i)%Rw3cX+OYxxpms`cyEr67NR#pObm)t2@yqQWw`gx_^ZtoLo3$IZco)OEbA4-H0PMeHU9P&B zt9^XrftM?q`<=gku=T2U5PMCznK+0foNUehttfm5I0Tah%BcD2v7*RbF8Vh2TSwemiL5DfYbF3;L2UpMh@Uz*TVa339_a(FefengqHLwn6+&Zj zqhWwvD5;NJdKPLm;oJ7VJ&}UdSFqB> zv~U(@vTIt~TlGwjXo(JguPcC28ybc3Ml~(p3l@CB@9Ufp6P*N7Bfsb3@r1Km2 zTt?7bFxq34A4$sj97#-juJBy>+#Yh@X#++$F~+}jUzoh*?D^a&`` ze_G5eTzMj>3s`zE9;{OlPP8CJ_uxf#;IDbzB8_Dy@+pM#q!F%Wl) zb%l@>vl@dx`T8NhXq}nUg!Z#bN$Cm-8nIb_i#%UiNOCXHKQTJm*pSX}v_TGM5Eqlh zw3m!u*okHTb$xxjT&yS7KxCkK91G%9gE`5nYI(Y@FB&fZ^0w+-<5lb9Yp5g-h7Xr9 zpWqtL9yqohjG-W*I0@$_jv9^h;i!p-FX=8-Egt)!2G-(_J3p0KEIuKg+|XlsFTy*n z)xiR4qMJ`(4c%CxI6Xs?~0?>3tzD3i)rA;t$;p3BAXO_Qv$k_;~!E-20L|B|(?J zOUg6HPfm#0qQZNrpW>eLeuVZmzOpZI7dYX5+h-~cUpxM;V2_*Ntk^OjieA|AezJIz z+)J1({lmw=_iD8-Rj8L^>*2F)!!p>kIn_$Lb`3_UX@6;yn74=aFLzEZ?LN|!=cBf+ z_rU0{AHR8<&T^X>hfQnHT4W_DUuf|q^zGb3`F*FZvbW2)hG5N@bSD^eo-JDTXrc9& zJZK)$!;@boc~V6&AxM`B2iqr_bZ-oDzBlbSe}=C6?Qm=VIGO0Z@<8fSrSrYj5rKPY zP{s+V8C$dDUY%0R%#&5n$Qg0D)yjHY%w@~bn+_v}?l-`*RoRiNt8?PdS4#9JqG(!5 zYwVd}FoYp-786-8l>6B2jsO&Uqlk`7rV}2K>HH^e)|wI_E3a06yP&k zx8@%Y83C3^Bi$N%OFDORAmV(qkyXgJP__8DJp)mBjg|7vyDfx57DMpy1_01EG2+3^ z5aB+LawK*C-oXFpsr=NOeA`sp!wcxuFk+EK`FZ}i>O%G{zj!=QDyJX8j(n(1$%=G>K>FV5srHjA!eA*7<;%}&+G^glDVy|BFvx`i^!IM|^ zg4cr*HHi^gct=c)gpSWHC#&DS+?PvQ`_$bN>y|(U9=N$(|CCDpSAGhPUL|=hJO@UF zvk4e}T`>8(U13AQTrTGv84<9suI{f3WkD1ukf-79iGA9*i9;7YRj@nX-*UWeWj^4c zh((q2?HOLa3RXpD*cZvKD;+nN#{EQOSf9=*#j!y}NaET{xs_|X8xUDuuA4O9qsi;s zzB*e2{uYue=*`xb0)+}CMbKTE&+|hUm>$;9rFb~x)lL&a+48Wg+$OJk{loh=j)ZI8 z-*^>xKEfL-q~hmRT_$Xe`o65ow5NfR4)^n+ZJK{!5a}3GQj6D6crUDX@E$Cd2pHPC zf^p=xCmL-H$DuE=pjDW%#$vRZHB85FQFLK@jrNn2?a8XG7l&5<#@9@7o1Ol3N)Pl% z#}9$EpvkUge;$Pr2fI_d4c>Id*HWpR&Ko}MHe?gFf3D1ErHi81Xhp$qmHDn;VqNF! z+D1WpuB@=4`ew!}>%sB^RAtq%+hlvR`R2HtQ6PGDOb)(26)kycWgG zjDfJCP;>`|=dfF!=O(e(&*i$nT~HRV_&Zy7*aH#vkoTBIYA5JgGll=(6qjO=EFKpU z@f;;sC+2#P{#ufxCgF9R((j8YH#Mc3$9^59>t+UXhQnl#NXGqS&NbP=KfdQJ&kvN6 z>|FM2oh)+%DdEIg@ac=++tF-JC^iOr%YNs|dp^BuZmqqh&!YF^#jwUx* z-4wr=Ylftl1;gl*w);IvUgv3DMHiqlSsE!lzZJ$#weD3SIH)LWE19NpC=rzX`ah`4Uy0NBWLPNvlutM^ zH>Y);GsqgqKt;^Rm=SPRw376ob3TJeSBc{VA1eZn3Xg7}50A{aIvyUIB=9|2wW*a9 z7ZHgkVq0jcvU#G>P%yFv(?>xnE|zz6?8{TeruVb^LoNn?2w-jtkfTsv4UKCJQUlPV7a(me?2UdX zzqbh>E+_;>S97H5#I+%R6rB9}8J1vt$D9xu z*&d!$VSTouafOx>n3#A}z=m}A!asm@R)DMT$Bt#KP?9u_6=DtI+mg=mYNuQbc8l=<|m#_+gY*eLcp^@_}UZc0Wd>?B}81^*O$@@NYF`&YCjIEuW3p?bNfna<@Ere?kAP7 z8O5C5O|uHmzr7Pe*1M<9wyl+xp|}dA589uk=E!&XyFDH=jTl7VGgG$83>(lNyWn}T zxdM-Vq*P_c5D8xY(p>QD`W4D+e%E$IMF?+bkjr`%a<~GS>EnU1!KU(WUxsAm9C0sb z8^iy+Hc`q6Z!dPt&nvRDe8oW@RO$CT;>@KjFqa^rEC{j>YW(mJXNwuX#6K7XyHl$U z1-|S3HriwKkv}$@E6IhT$4hCLU%yrfp^+|#7b~|hCazJ)}=3J zM2TG2mJ1f>ybfGz+FV!*o{D(g!QVC@5u+xyWlfSG9ibZvHYkWq76RRW(0<+HhT(I3 zzDz85VxMl<{1dcicTGDCUeDbLdqYX?6^ZEiY!0|VP&2&sF20~-GFb1`is-^HEb1{7 z%wN;zte%zH<#is{YHXj2-wGDbt;@(dSiiX(Ht15a(cQ1xG(C!IoMP3RIM+s$gziSO z8stt{J-piF3#q%QbCPS)KJD&Re`2&71kfaK*4-1LfV*#6E=$fE3a-nT>nS+2B{1b(jmnuA*tdfR9~2Kw*e^iM+2Wx86omBL#JOTgV6 z#Uz$eb0l^mDCVLrp&S->k~Sv&0YoVT=x~A2M2CoG@WYDbF9mcy)r8zoLbVdKsv)^bQij1r1SmjRj3&-8@ z@Xf2A56Gjb?t$Vs7AbCbd`u$Yv@=?kcUf?!vzCYfg73JYbRkYS!v!l~p704ab+og5 z?f9{}syPSTMfspClY-xrOBC$p;qk^Z++@LO>lAF9o&yV?dl>AB?FN+MnsU-|+Xl4a z@sD6wp?h!)l8B%xC?lFTs-tUnsj(e{vsx0^D2fjiZ&dd~e#At%J~ zb{V$^he8DWn(P$PTF!Jg+6b%tun`FLd$r%4e7b#H?+={8 zU{tQ*?}h z*}cOt#ub|Xpky^O((EUTLo!)*MUU~CS$R$FP6gwRE%s@Rk8GJIY$%$h+sSHnI*CDC z>Ya-!(Tkvyp>Ao5Go9HRii?DL5w~Y3h!Vy^zMghP<*w(*$QEf|;9~TNC2?ufx0c%q z5>~u7-`UnfXI63%`z9vn?(+b7ohlqQG-4zhD`GD=Q8^JvLMH{YyQDF$pcX&JK+PWf z?3%3Mhc59L>;zzZ@~8;deF2xtYb!j8hu%4K4RH41j12b+FUh1Lwj_ypuUYqCXbZ(> z#F@3`bW^6gy#%b2!TWGFAtfa{GHH0T;@8Xh55nlvjrO-nbX~R8^0q7EDkNE|pV*C- z>r>Gw#iwDWi!${@MXKLPVE0=e>)K;kbxV!`awrGSF?eHW1o)QIZXi}&=VtjV;M}A? z56LqNqLFVUa~Z#_lvrdEh)$%Gw0hvJ^^P^FNBhsUsp)BP@n|j6Hv?7G zO_dt*y6_+THSx3WU$?r8FLrG*h0dHEb;;bX{CYAlBq$w=65JDK}bmF_)-%iS7O;&~e(O302fZxZ=MT*6hp#=Ek2y7$5sP{;vT zO|AUSACDPhy9E$jMy0D##jRzLL9|;;UuTDuIpa)E#L0I9WWd};fyn%-bU!PE9fGM3AqabYD-OI;0=ieMu1J7{t;~0*sONp z0Krj_({8ZaYktI<$7^4chW)eMf4t#*7clS}zo#ddTD}!Ie_Rft6(FjXdf{|jzYl8F z*Bf837022qc$AHJqsq&1DcafeC!~TMF<*AVvN(5;qv;;Q3Ud_-e+^Z!IpVXwpXT2$ zL3`D0$M#)C5?W{POF2_b+WH5jLHl}YdV_{0JLq=K3%VyVS+k6(!Ok0v`A~iAS$!Wy z)cEx2rmoHrn3t40Z<5;C!%Yr#5uF?slx3=_KO6)T5yGL+jH8n?v(nNsW|(_fR5eu3 zY1C^09I%yBaJPR~nMIwN$lKI7f~~h*LFb$+8Bw6Y1)vK&4pZqT9umjvnO|WBlOc5_ zhUkAn$>g9WN>lfTzGBzM2M6@SOH?oNuk^}%!4bS6@hIo=>Rf^<(jx7HnTj9%q7m^5L?^sa(qY@)#rmf!9^ zjYFH5m`_X??Z#wE!m!C!$yhTUufKUxH`74+IkU+wTek3XNFj3t4uhGUq@8k3l> ztOpu?dX4H6ibCOsu9$2JI0g0snSPcm<@S4L?~C81Wo1S7MI9_2x&CFrUm}}^$5%Vk zf&tCCuw4J-uzu`Me0-Nb#ry2(tZ=b|_sg{ss*!rx*D|T(C4H~{y{qroSkuNl9uaF4 zd7!rV9NwmUGKM+7=F4()*i+YSX?_QT$$f9AHNiUsp26ZDwE(&_J`$NI`-Y9tpmk77LmqKKKoh`k!dmSnWQJ#)TNsIHP zLT?ro7kAFxe+FvwGBs_;#%5-elw^>UEOB>7{OIsFaljz!z-pV#=nFN3Pa5oX>?VU{ z$ZAmuK=5f%?LO||_Zwewx28SWp8-Z36&u@Lh%jCR!uJk}icE@u%+>u&P^?6^B}hH) zx7BL9m3d>C*GEoRnsX?6atQ5ATkQih=BDa9Z5a(Au=$oamI#!=@0J>>w)p{fM4A@n zMgaaAXS%X6%4H%!9DB?5E&v5?E>of4*h4>Rk&8t_06)XYJiO=*1j&P1o?Jknf4_O$ z)uh(uN7c)!FGmCaQ>+Ml5D|$Z7c#4K*n8xLcdIa^r?;fC<%aFCWf$PS@ef0Mc zpuN4*lYm9_06GDhBj*IE)+xfz-s=b~ybnEAIq~(gQN+$TZU4^?l zojvK0xioZ$h;iOO`5sX|Os7P9_Eb_ra*Px1qtoK&a3Z>?Y%Tcs9*yv`peemVja~N- zE&W6N!Qt`6T%W!t&puoCs-2#1_6Q=RP1G;3b$+1{gD)>*`Ui(7@w}y_$Az%wDyhH- zRG@#DrZuA?BZa>i<#pXvTclan{pI9TfmyUXg`k;Mi^}S<^p?=v*Se>@SBpwYZE2j^ zsp1KqzuT3%Pl{XIQI%c=3+uW6;KUg{@2yjBez;c_F2`E{kq6YBXRum*LC0JQiym=j z?+pmj-<@gUsvA)sE|sHvb*uS^cxDOcUuXeZDLd_cmc_tEcY^|RoB5@{k9AjZNc2NJ z>1)N}DHt;0=lc7PyWzuLyvG<`w@sCTQ?g~B5sjMQ!HfOa5fQ6@JrP(2N~d4GZ7c>Q zL^!lKKzjG!j9ZU?)!yy`OnL#^+uGaW8>3wErpG%-ju?nyP7l7Av&1Hh@I zr7;{5yS#RYsLl4EzjlP z5c#0PotK5hM)Cszl=Jbu`9h5y-Iv3|(irZDr81NCt1_j{sfd>2H4NKZ?()7q?0gvt zk>xH9ix6)wg!kxVfKLmNH=QSCFf%hJ=Iy8|GqH-}jnN3BvKg68D7rrX&Ta6*Nx1MV z!X98#>lhec?W`U&33&&RN;wD=kVwwvN)4ab6JR=d^v+sA${ zf|~>-Ml-|>hxUd1kI;**e0+ml< zvQ9B7Ak~94CgH0Bv$ku{JG?ZStfK{aZuNjeYwflqcyYKvk!I5c1k7ARvQ(#KSz4fc zplsMn5v%(vMvzoIc$gRC%*p4laYoBIlblcYfY;>+pv&HGBjd*rQcuas$*Qn9;z1ay z6?!AKO$PI6yA7O5v~SQ{q~`Q*mi8t?I;ri5ufJAZH7;N4#Glm0){l*_MOc9V(sQj( z6c%|Ve>G{_vX1fW{q=(EEE0U_vV^xHG7|SxwMM$IEO5&8_k1h(%b6Nn(cQ>Zw#ZGz zOi<&i^Sb#qWI8X|ETQ$*D2_(=)+}8}O>n8!4|988NdJFs@#{9RHN&I*UH&tc2lVBT z5O8v_p(NtR#d`iPp1(Re)EgLTF46ud)Tw8uDjEHu8wm^BowVK%ojE1tmwi^pPBGZ0X9CQX{_I*A!E7sRvD8ba@Vwzz_B2qxrLkwhFbrz{Bh#N-D+j0iRuH zSfUaQ$VGBWCo%+u7FmJCF|YY@?u8$kA_k+6mLJ~4-SY!r&GUvc*GrbmkcfxX?FvQ_ z)}Zn!)VN{rE>0DjT36z;=!=^1#Fq6|5+|4Wm*cTQHmg?w5oMWxyC$Am@~ZbNXqRn| z88uRkZIkqTBZp-0t4{bPM%ne%MIYL~f) zgy*9WHqH({{Ig84%!}&9yQYp82-J_Ar04pNXV&Lx&NWT$&-i^26737i(*G|IfWZFi zC6{P_^JBiiQi^A+;?o_^&C)`prejIj&CGhbBf5_qaZ-}~k)BF?9h!~OTs&`Jv$dm9 zJY6=4M?SRhdHYnw&J zx{DLDpGDdqOJ^04VnzPQSoYus-o%> z4ZFFz!!NnvlJ8>+5}>kei!Lpp3vA!j(S}h%ut$cI`&$icH|J!_#1nck!jznh7mcx4 z6#fBz9~CqxC3teJ*Yb`D+P3jt*E$jee0;rYi?TjBYV{$(HgNmCyxHb?-BvGrKz-){E#8+@&CMH{voEGzdm}S@rl6}wT!5*#b>gy5qVJ)n41PVElpb}|^-Y<_TG%ZKpdtlg1(X#oztP*MuP5Vv@Dyx`Ut2#V_`j;--^)1;%ToT6B$?DVbk!l~w?AI4PerpY9e*fZ zL(LuVvdRbhKcA6*ufE`l(-t>(c%F*fAoH(|<5>GL_*6krs$M!ia}9%7*HdhgPk!n` z$p5kY|M!W=>C@&Emj%!tL zx?a5ia~ngJFwWi99otRdVv8DfaC4MG-_4I#W zdU*nuvwyyt{gPb|!adLUqoPvUz-&imu_#!kQ+~$A7C~y7iAVj%*TBdTC;nm@3y-LK zy5eK4JKoohn)l#G&-HnegA?($%_SAkqeNz=*vN6)oBO7H(tk>YTlMAh=Qr19B;SCE zVm#+!TaCSijGSDi@#q#lA#QVf20bF84?aGAYN3T+O3I%g?OWhl{iW9VJo3H8PseMH z=!J#xT34c;<8>xZ2TL;G?EFbX13?6?`Y;t8LNcwRom{vv@$dcc+y9O2(WZoTc*fv= zcxXgKM8_S_%-3M$W#6BeqHpA<62n5BoBik|7HLRMq+&=s1=V%e7x2tCt?*2B*ag4P zFZfFgQm^_HTrn}n{lJ#-k11JMv?*!1e<*IfeLf$qN5Fyqp3Kb9^T5>3w3^hkC22*P z51x-F8{k}%N|J%kLqE!iBMS+x2+vX7OjNs4`J(NuwZT3>az>3BiFMIDj9@t7Q}PiglP`94Xg5qYHw(U@CE)!QawYt0r@gfeP=Tf9C;7L8RL zn63F->l|eqR}xFe{q`-ml$p+`lQ=gEk8*kJ*9N^&Xr@o-=`Sv)*nfl&wyD_LJDJaY z9hFQdu_LvAUqQUREhng1yC9+c$~!M_fbHTU+zZLd>T4N{Vr5mlJwYI}IARp9_l)M_ z-QDL}*SKuGvf!Y1C8amb{?-+(t#1m{9Yhye-hUQq*EN-WStBMy{VgYKZ9*TVHk#|Z z0Guf#Q#T?NSu{>{An;}4llqij3a?L4*%~e`yHtbPs#Lf*_BNAt>v8+}oAWxK`Gs5= zlGJ};RU6K7bR^`t6E4OSj<4kP1Q?|LC2@rXZ+~$;%koy62z4&C%-G(rcS^5`E5VEn zLLK6m&e=V;`=ELfCJsS&@3s`Ht4mdYkhDUCKw0ZK4Kwo}A@Q+yhG%S=yzW7+!9FjD z`LV7EQDx-rkCI^I3~7RErMn}cLVq@Sx!3x~!egnHtaO4Cr z7&z+#BR(}0C}l5|M03-q z!pBV(!}Ez^_34`Tv#zm-i1J30f2+L^b!3WlLlTDTfM`~|E};8pRe7|a_c~L`@oZen zXlwg;Z&U6sCYIwl+i{zBkV{@+^noRi2l1=q_2z-mvl6`(Q74OO;fN3t0Vh)zQ~LcR z0V>)zzdG)*=LJLr)roZqwbD$$7!*I`OftGLB7uk1E>EvNvGVTDxxDY3VY;+EN(dJE za)B(|xTeJVQEXX3hlMz|&bPe$WZR^2lWn25Au~;}W_90Z52sb^d*Rz0Vep*{MLxB5 zsoO^q3<{E@H4Ir#Cd2aF4Iob%&_2n@;n<-@(4Sk)3p`)nYS6#BFhMtzPLIxO zqp25gpFPQRwtrusegys8IYfVX`y7XshlV@y0*{>?)p+#UQ}xtsVQO`lKAJr~#mi}_ z-i-kmDMHl=OoT+RwSdJNW_MJf!A#{Km{UJk4t2#Ba3l2b5e^7>d)L;SO6`RhoT^ml zNw3KpM=8E$d2!$-975az4j-3Mh?tc6FD5#zd(P0Gj9vYAQ@0GnH-%@kSo*qK3KzD>bKt5Nq!|^S3XYr zkjapc(nPK>;WQD$Yu+Sr1-USPrGl3@n1Az|uPj|%O}9pL7CaFqyM`Tl@QrQv6OE^< z$=p9nhzItGM`cVEC~@vf>Ts3Z8;s?1dPn3V4ddA+3$BtI8D}5fZ1SM(R5vT0!_*s& z@C#9v2S&SNXhMZpnEK-&UlYbdta0ce)N=fnbw*w^APm4elzG(Jv>@=QF@m$zA!`DD z`2GRC?w9huKMF1F9PKFvUv_A5I<3jX*N9i625UH-e!Ng17W-C}q)Qnz@#Ed;zSnZ% zdzIS;tQQ2ceuQPR{l?nrS=y2Pl%LJP;ehb|Fn7JC+V2}%gzwCckYmexX3=kuvZN=G z&Pk#Ucq?N@#oeJ|`aC|N@g3n>!fC0gc^eMozOz*}p+I`Rv~C|O930DPx5Z1(09{Cm z1LM!EPA5#2RjAtSLH@uTCYXe$90m@U-`Q{S&AQkbECaL~7eTsoaX%|Z8b z^BvXluVwRHok+gsv&vv7|JhrqjOtvIkYKi3S+UVVsgGD;^3z){h(&)l2;}no_;x*z zf*(cyC8j+XW|x@W`WZ5UlA-l-U|_f!&}rYa1%rO19zA;3XJ?P51M8!UHh%V4k1Q?m--MipPIhmlP^y;rHJauGrS^C?nx zRCGQkQ;qj)r20!IipXEDZ-F((4GLF_$d0K$GI>*~ve_xKbr1s-{?$cDoeutL3X1Z|x+Z%2Zudk;! z!QW?Qytz-+4!f0=+~S!3P$WJB77|!c)1xy?y!kMwxDty&4>dV?^X2WiS*iK$;iTi| zJzXQC)|*Q@;N$#^kx^h_W23R-j~*D21ohcb(LWwuV9MuM^pUa)ZqjPEqucS@zBFMd z&7E6vc46o?P!{sKC+Zx&-x;OrGoNULZI5?qB|~s==$00?Vp%ZH8!)jjE5Se=fHII= zFEJ%tT>}(yg;&pZWd=ogmIn0JzS8gPP!Fdgx$jNGy}-%avI?%l{VE}MmNZ}L4+6CD={9`Z19CG~xNi3W z(v_1Fo~23hOi3wxbVOGF%0kP6OkgdqhG##K_tAqQKRY0+?CMNtdg3DKnuM(X)azN* z@~*^0u96Yxq``S`5z`e^4YFta9DNp3pF6svI70~|jGbGjE8?e%JgLSDFvzgH%8Qwy z2?=sIy693#lCrww{zyo*XwOB@`Q3WJHR7r_!Z`IsZ7J8RqhFopaCm1tH8n!Oc~C=! zLrg@}KXT|iFgU8cS-qDX&~QIimPt`ud|0|E&)(wp!>q2OiuK$-Bp~hc7Yc4$o8(IU z_TiVBb=VzEvr3Lv7YsSZViVykP>m?#&4Twk_FJUuuKUBz(i(zuBE=@#Pc@%<>zbJe zMv;b4)9BYGo`*HQ-PRNU1HQpk%?B@7%mWJ?@}rituS*?W~(XJ zTnPu4^-q2Ed2Gl$7`FSZmnL@E&Y3AJezsU?*~P|< zCzTke?bB<0>UKK5OwrJ4n@ZtNFDo~` zQXy0`QTYQcH}XbsRSYMZ+m)2U=PdG>LOlpkbr~k(WL!Ub5LjW&#QZKkCHlMAB;wy> zB52X#xlgGQcq+8db_jrtND(-Su`7}Rx?v=^LeQVcySA6WGgD_n1U!Fk_Gc+LFHjdT zFu-gv1}=aKx;!UY`-VYAah!&>`f$8z4_Ay+dIN9*7m2)5R{pT(x z(L5FV*6V#5q`VFfU6bSW9s@Y90r>S}kzz<1Wx2d{31nkq8yp%D6cMO6Uu6Oa#KDm`YRUi4tM`PF1nzPy1PK|n7X}oKj92S#wh{@0JE;4jOyAdxr%RE z+fq!-`)V?!4%HeGmr?Lo4jLczbcKJhbJ^&Q%G;Xw132B3luTc@Kjgm=*V(@n==MIE+}@Ec2QzjtwbZyuekaa>sUg{J9s z)wf*P{7&{X# ziJ+D&nyC|sCD(OvA=mRY)!Vfu12{@?Da%`K+7Jm7m&@I8FM8EkhF;*E&VSbvUrGj= zjE!+KlBU8IND;O1hYC%yBw4ZZKcKhzCIbuDJ> zPoXl$BT39)mkvT#W%uS$n;WH3uuf1* z4-Tt)OD;7}NadsEBW)iq?B(N`s;rBEa05wvR*;qv$$RukN{bb0$z^w=8C#a~I|mX! zY62oQRmj{@tp%j;r=WkJxOO*pL%1Fh8%^9+*>uqro1Tv;6*%l+B9g<~<&v{13ZEq!kG%knFR$33D6te7mq?k8g@U6kBt%0f^(#<@zsaX zfF@Aau8?Lt>lR5#bMh`X5PUKseu{rfRy$h-LBs4pkx*CntCzag)6Gl=VT53G=!nun zN_BlFRqGwA83|Bru4|}LcA$%Z1A-!T^_SbT%xFNIZ6twxVQgk(iIpi(j#jA;%lbqL znRqz><-N+YK~osPY1d@c?~F{uQ|$()Yt&_(ULX&$-IYJlgz6btAt$1pT#;=tHZzfJ zqGu087ycjxz#;t+^y)!-AG}D-$M>`BpG`+cCn8`6vC$=E>h!AD+S>Os)6n#DDHRJh zH$d`LTLrGz3FPG?5M0jx0G)N)`#8?!<>e%Sjn2kvYsD*56BC8`9Awu9cr0edpqLnr zgai$&$?1p@U+b^V&hIcH)_k+E&O5nW2P07ur?Yv6|CVz=4kj~&I`6oq90$`lN$rTK zVS=TDQIR%4AsrV(6TM~XZa_w+ww!|^Ln)o6veL4tszAmpKy*SbHOp;=b!=r7a(e#3 z>&MGaXI1eBp7#+jf`UABYM+vSz*46bNrS>-=IXG0X(&|rXn}R@%uuPiN+J1Ry4)bo z)SUHkU5t)KW%Kd@YMSFZjJ$AnS>NEsdF|n$i0#d9G`x9Hpv?A8AW4PQC@Z9+*=_w5 z?Ri7fJ=n9cw8)P?`!Lmk^X;=xAq)Ydp-vzt%~{DyfAOq*KM5a zH|}#}o{LIDH`gHL;{FQ+wC6IzJ}JqB&DEj79LB3|1#Kj?*K$Mru+dRw?zq_m!wZ>s zc=>c=q9{C3Tf%6Bf{lvmw)zg*{-ewHRoGz4bLz1Pg`(xMFJFZ zY&TBKE(TpzU|`IqYKQEIVH-+&0a)Njh?l?;dK#EnySo6P7jd;r3lc#bq<_StZv|Jj zc`S4^+YKdW*gPP`^Xwvn^U+;$rNn&qqybgxKzJ|g8zK8QB#(gU%m>KRyLeUmJdwrHeq6L}{hR?p?s0=0zSzdt__&tTk;#JLP;+Z<^}zJxo& z#Eot17wg@dc6Di(pg?Fv&2)oC0|e3ba8Zp$g&zKss59~hsI}4MlkB$>lP`&~%C@%l zUEMSGF&_66h%gJ?H+{1Lj8?$DWy|hq2 zUgpm(!@FUMBRW!LE*cRhFpJ6hT%H7F;rXY>G=S?oR%5TMVzvL}@&0eAy|)*-Aj*7D zi_jS~2mE}`0Sk_mKaR(f@x9~a!!CZCXYO&iT{&mKm6n*gSl~1v&Bk=AW6d-QJl8Jk zpU7S-z+d@-GkEcB@7|#5Kq0h6WIwxTk51I8%6&>49?hn6G2>Nb>|sxn%~h-|dcA~l zz+KVP#>-5E+Mc6cSzrGWqpwfLL1E+q&$^&MXbH%dZ2&vUAYc)hx%-(cfL^UECG{vb@y>3C`9_yJ~EyJ_%e_mja{6`o06p<<;!?B)J+wr8imQju2lOD`{L z>K5W$4|ny}#>&V=+*gCF--*`COW`m`~e)Oy6RE8g4Zu9IZBtD0|rZ#UwEYUA7F+fXbWA zK_O+-DT9oXfMVrS@(WmnWZIi{SPGr`KP)_zze8nWSPt&B*}#>~VyJ2H{bTR;P^Q{c zK~*9zXZ9z=Z;G`Hm+)xYt5MW^Tu!J1_;c^M;Xzd|Jb{R*fbD`rMZ0l7A(sS73mC!H za2#*egU$ylCUR|C+vfnr08`OI5F9P#=bnY{`N^)MXcq5hccfeORt!wVE`ZCs~lV%RK$#Qfe& z67s!s!^MpPw$QmEK46J-BbTcN;+2bhNzYa5vaohx_IYBrXSgl#WPfdD$tB0$ zKcKhF%wCSI`q5>HMwwPTb9-wJ+DpFN8Z4^H=+fXqT)Lno@bueL-Aycr8W!_!7VwEXJm|s3*|KqxU0*T+vrMcS+{`VYjS& zUuVAR&D|a6i&x{&TLF`_>U4+?+~Klggq}fVZP;Bazt>$D06`B4rE*-Y)irSSugCO= zP2*LBg~^~!I(l3B)(kgr-&EAX$6DEP-BLB)C4PUw?m2zB!1lJrIlvkV6ho!ASwz*1im&XQ$)yie=A8l^`i=#l1=>AEEo0~rh>(HE%9PzC;Tlrd~ zmpRWx2O~m5C;t%E?xKELkfo~AgwJME3l}a3ymvS%B0lFcT9*<}= zPP@O25{1SxV0>F$B8_xa-0N1h5;*0Yybuu(GDJiWJ#UyKhOd8!bq9gsU=7G+*~-h$ z?VF$6oI2C1d57gwx87gk!lDtRSwvFke*a$LpF#xih|`0k1&7C#Cuh4O{P(U`n_!HV z+mk`;hRL#|#_`Vl$w)k)1mtxN#8t;%;jppEhm&rMY0g+F9}tm3a}1&VdnF5+4N2V5 zN5S?Nqq@M_F=uY2uDe&F$}_~i(k}l^HnID=lzUiWl&Dk0VyRdpsXe>~*N>@bMH8 zsB8h*t!N;`dk*mN?3+XcrTlg8MkoW&tpAcJF7p}%MbY6SX$!R~qi&YwPFP$#uF-T- z{iMC!=3V@TmVm9Vyw9D~sp|K>>4J}fj>l~|(N7yooxJxvj#!??Bl4a39EMU06^>JH zfYA&Vp`trQDrT0+l*e|uw` z#oX3NDF?%1k(pi?TvE>sKpNQvU7Xzf$I@T5e-HRf@bGgipf)W7ypF3U8<9CO4r*!z zPs0r4*wIn?C#~7i(aCYFem-c|ZcihE_RjNFRnSxlTn)SZ1_7JLJ<8)`fuUtYOfD8T z4i#BhH69)XkivyLdFp;wVaLVQS!$G6-5Q_+thihO51Yd|Oc{>{f}#8N%wXJ8^_r02 zh1$%l4B=?mhsHj-Ydyon$EpLf{eCqp*46HFFQOvnJFZ*fq49pM z&PTf9kb3t=()QAh@epYSl@2B!mDCvdg_m%Dkj4U^Xt-LPuZX^ze*-5T`os?-o5r&w?Gf74XMjPsy=WMVx|524_1X5~9x1H6xeSckl^= zT9Xm-ur;gSIitt725s}y|2!j>i$w%9H1SX8IRNutyqhrssLNogXIx{g&gyh42m68A zj>$F}P_jSevq@$jkhMFTwL}iBdP)($hsF!&xGx+pd5NmVhUFC$lz+Q@LH)RmQBbfy zsM!#nqHQ*s8%rBaqto3}P?rIyFoUVBKsmAobZ<0)kayuO*E(&!YAMD<&XDnX7Y5LH zi<3#5rsesAUatXic7&^A{l|N_o21jssA_E5ospaXDG4zN%oQr_3a<(~Vair4#u4+F_v+xlb?`7l!`+ixw09#dK<1skEw$^8Gc)v^d3?2E4dpy>C~j z__aOYukd=>1Uk9g9+3;D8M?cxf#*u7-l%u`#rs(V!emC)x=+6b0p8KaMyROx3@YCL zBLxt!I=*~q&>U+OSht+|7t!C|s(`DDoYE?!*@f35QB%6lYhq z%S$|$^;evz#M|>N9yib%n}=1QtC05+k-$lgo&TX)VnVUS#l9bCeimm+JcEXf&w?V8 z`AYV-=^*0)l}PMS6X+*u%~c}-*tXtj9}9G{Cg1bLfnG+safGAgymfRum=hTT(3<+O zh%)NxK8<>4U_pUhPIzco&_kol9k;Sl^f=)q z0R~ZMObm@*aMlx(@EX}2Hw*bWLaM!tI`-}LL7H`1^cn~ zG0=t@in;VG(mwV9h+WO$``>Gw2v6DCUqkB$8knwTaKOKGf;?dsBo;I()Ipk0^HoP$ zDD0PqD+AXjWOEh6;SgH)*LBx#Ky5Lov4|K;#6C`#Pwz_xNCsmS%9_h9F5Pz5m~nC0 z9yikNtsydRSl#{--8n!qEEiC<>Nf*|`eUE8$ppehX_42{ znpUf)-%#QbuyaOjc7=clN@_<=Y|RMtMSD^?t-vIrcG&T&0}5!}1o(q0TSR*K8HwE>-|BR zw4xC0ftcB93&b|i+R{I0`{6toCuC}DTx34;SoA2#%d0p)7oR&*x&ew*Y_B=o;97UxIqx z6Au9VxT{0~LvkKVviiYb0vS|xotwIu&VnIap3n#m;wwBn+GEdyJ<4!@H%tOqq2www z<5#V3J}@&=4>@iK!+~as{@&fOF3-BE!M7}wPk#MkY84z0dk?Ky8Qmy&0wsu@z3ikc zWc~n|d9DKi2n0Q>_C^VbzQ8A4mLMBj>Zxkt458x74s0ItF!jPAAGvrBeh_^gh5> z+HKjX6sdhF=3xi9;ik~pQ05KY6~o^Nedpn%+p!H?ea}Yc~V62fJhVmuF%ehplyj2PnI<7bw~Uf2lHxP-`EjVq7>z2f^5^9r`#dbaj*4?A?n< zMzf1Frmd&sRMSWDy?oS%=l1ZppIFlADPcl`)j9vj^uXSjnQ6DvAVdsxVXYnQoXsNH zd3edfw{5N+>z_lzk1(08@}K~E2!cy|@wc;I6;-!;1!R-z1p@FY;RMpSA% zco`IPg{V>QLOM1EO*9~RWZk+E2lux#gdEmdV#Th4qh*28p>eU?oCnfN{+6>%w%9X| zO~v49)ZHG|ZYxw30;XVyus%hM9;7WE=F=9GfL0NR>80X;MQZ2Q_v>}e;~6VQP4>Sl z?(T|u*4y(7Tk6N4QgPK>l7XF}^|Qba@AeNSvbxdOY^~aSpnG1FWGzj$1{C^++JAy$ z8OltC-!!4#N}j5^v){SG)1@@NEfs0W%ga+}EWu3XsryH9Q=E|*$S2<7ft8w_5R3%c zSM?3XXl^~BQnl}#El+fswnuW6I{m5P7QJ}c4Bs%XVrN$Z2*|7Z3XK)!xCdI=@)OfJfLW1$rLL6sNspJ8 z0Z1ua^AJcqJ96 z;O&@TaFH^EVOuVMXXs#q3KUfr6=X-7H9DpX@0CFBnH!A$gM#g$5oJMJ28&cCa#^ny zxj{JmbIdlk0yG!Sn4wwF`Xqmo8sj3WTRzRlem zm`>NAxDfwcG!2-roM{ljhRKmzlyG<7Pfh>z?_E;ii2l59m6(Ir1n1~S0LOzpJaI_- zl|-<3UUmC%iDbI?Gt_1zIdOzq*MWct`ZPEuoh!GP?Ky?lgesX#O-dROJF=2lTpVK- z|I(*bBGyaIn1>Z8O-n=)AI@&DCp{GpEbnfMqdWyZ=yi7xdvZ|_%P>@MOcfo%IumE0Zd zlJCvimXm$IK3kxlof*)`OS@3pYd=j_ak607~Ovflji9$6cDSUOT8CxT?*tN355#mKN)usapi424<2_m-E@#M$SqCg1os# zPXF#;%&UFu9Zt*j<-G|2A|Xpj^wQ~0jMdxAPf4eYvvbe{{U2AP6!s+(o%~OMg<1oZ z9O(o{?HC5b^h#EM?dC0&5{uEOQh;=Qk=G-Ewe=}XCYeV)#pp(gnNI#?=Xy7Htsbm6 z5Gyt?>d_5A9s9n>B`p;zKGN}1Wg@2>u!eF}@;)7TK2U*PxRME#s^jsde*gl#=L7o^ zB&n2`tL*?`FZ>rz<~}jAK>?4K0%2=`^a=& zW2T_{b|`U9z<~-xZN3I)j7kOCjZx|aWdXQ%Y9txKcUkrM7a$dgSu-Saik0R znl3ytn##{4l)U^xbbyU6Eik;jAoB&Bu?@8a9vNuCl+g2nU28J>3K}!XvMO-#&n`wxMwxBZvN{r`EqBM#qU6_N2yrn=VRx4cOaCY z8u+K@f_T}xyE1$nr|8FaW4XYTAyhNW_bEpxqT@3;aI$ZriMT;LsarLl;!rZ176z|Gqqk9AytjruGn;sfRCam%06joxu!ou`D>iWs3v!0-NghKL_H zKCjKD9I@pcW$k_zhFRSn55x(@A1^RROQ^Q!j*IBLh1?-4DOH?@M%_etxS_7kH`CJe z(-6$#tF(1Bfz2S5*L4&rdr383|v1!SzUO1ne}6YV(ZIsc?>tXlX>Sq{ zMSIC%L7j((rN1|Tf1}6NeJmqNzWkXOu|E;O0W2ySynJ!Ls`NmH@Hs9H|As|;cmb$f z*^<3saWM=ipL{SrP?_j=L;%;J6JJDX%S$@CU10ch8IavtvJDObE1xxBWwOx06q=c_ z0Jo1TnWVmM%Z0iIH>duV^{XofwK}FDxBSb&_$H70cPHJ!r#ek>_mYxqgn|P0oI>s# zGt073)s@cxKEb?wXtS4=>9%4^u-y6sIAch@P;0kZ zxiSW7^q{i|fZ;!Y?QMsMf+9m99XFgO|1ei=P7F+#6rRzk1Yh4*6d|{PbLY4U=~{SK zRvHo!9owl^R9&jyzngfM?s$qnv4pDI?`(Lif8=#M1`V4kw9mnZ@0kxNap)4Hw%#bu zRaoKn^iTwaeH5huzdi#}hglfXH!gGn0+e&r#*`Ww34mwVVsQJ1rSW%8-{tXgb1-oK z1=bY$0KwHgYFcY=Z*sfCB3D)hHI2N2{9mO;z#;lcEFh{bg90KsD|@mP;5hg;xd-O7 z2)Ozoq2uyOZCB=4e z@qB@K{g4Zf8VI|YRnu8%m2;Oy=E=#yV!OQ|Hh<=ft`EIO4#t&Zm8rU6(Ki4|@(n%6 zN#YXr^ez6>Uxsh2zjem?mvD0<8WhbWs=YChiU}Avd>;2W%It=3aK}cl{Z^iW0s|@k zwVT5P#W3|d^nlMz;dhZT`HbZ!?ZDzejJ@~J_&G(uQ;HN!B7{sZ4vI^3pMLy@Vrz>C zxIcjEecEjg*Zg{ID;S-PO^HgQ106d$MArwXw-fO@hvvl4Y~$R4?bJv#{ulAth!FTr zG&!HXjFfZtf71<&qeaBT;H0Faj#pYsN9l5hwbEqi5#Ui%zw}y(U?qrc3h>r47@Q`h za;@3N%*zI8|6DV8Hm(A$96+Tu6buMpfHz_=5EHsscZ#L0%`euAQ7>I>#<9D%XM4KN zEhh0d#shja2Fzc9WsYxd?sIAX1YDNi0Gl}^;NOv@UTO4Z=npU`T}k0rYaUKc(dIpe zuDhgKef0f#bj>9hy9~?3%HBROAQjZcU8IPBTXQliJVFd*cIwdw-)uedif~@0m6X4% zyrTV}4%c72-pi&V;D?oh?0wBn_5i2nHB^f)gBxhS#K%=LveUIr0pjS zd1i&@8%#|`m(zbp#S^|?=n#9#{2l0reN(mk-&Um?jB5;%x&z8i-B9!>WNFyMSVwKEWVYy=!bI*}1)a*tDkh=IY5lrLz zFoHCl0Y~8Zwzjq97adxhVc>zQ!DjhaDExsgsX2*Q+m(hV3_X6lLj8S^23DqWZ_n() z!p6~&%$UB5`JB)xWHW3n^8aQON@>{WUXF+~nohOUW@P@-DzeP=bS7FB`D{{`k-7P0 zq2`E$h2yBslbars(D4^-Dfz1gC*b$Fr%5;V3pHmlo1 z3m{swi2QGug$zxjRgYI*9%Gi52Yjo(ZUTbjz#!yaj}79Wus@XbjitTI%Mm}}SUDH` z`V#Rut=fsbEXWxcWXI%vZ^(ej=pInVLf{WC8+dSXb$o6U34afaHnbfkd>CnzGdb72aX9faux`o^7Yei}+{h2{3`QF50Cci!Ib`MJ&~A z?da`Q{m-+xI@s$y>7h9`l;+3;gQ1BJqBU{xSnC&S%_e3hqj~ZMfC7`T`*|gaqj-M9 z{_fSn;`M0W5B(W(T(ZVDiJGhRGYHt&*ubGo?%x6D^O}A5|JE!V$nmXT{LSQ=j$xGU z%H`(bv0q!H25fUILUK87=TRT&g%wzc@PuIZ5`ak;3B$)90?1$=`unJ(-{ z^SrINWn}1+lJ;#c@&MWR+Hh@g?w-T?MPzSCmM)qq2m@pi>Nt%4Gs{P>1Uw}Ri4!mh zv9otS*DoK&pR3io;zd#prb!{(N~5pf(n^^-TJm=_d%IOxj7g5!b~y?EZ+dEzIhH{e zwrze|w*5<2?P@1ACGR)J{;SxkiX#uwl3_K#f`4%?R;Ex|K@<^zH2xrOQzon6oJV0UB9&F&r3CGUWfjf57&Z66umW}V6)5(XoZ9hp~ zKY#p-bwNjm@%C3i#FHS~gzJ{te}Vq*2rAy^0ZL|IrUaZ{q_*#P($m|01H6W(Adgsp zrAJ=7OwGl1O1iU%nvc2`t~sHSAi;lZl}C)2bpVd z<))n}+4^3Bt#!}US{ug5?kw)zOh501T+fy&eTmGJi*%MF0Nn#1bZoUSZt*79lK! z>+cWC#L?-=D6n4t1}xN@Lo$E@o3*h7Fcd86ytN!mZuSmd-kDpg3)eT>e_ne}yxwYA zDjFL7m9gj7<1(9itr`B`*G}?U5bKc}S!V1}z3-Jw@mo;|iGH4tR&hyo^T4LS1*`07g5e-lDISqw^jg2Zss{ef_``ca0bvRL+frwC6JYUV*PBn%_DR}g!HYuLN} z;0)FJ{xC1|{K_-`|F689nOXlymsF9hN)jD|^eXT{d3^&D#;zIe;$(PW09Hfj2G}KHvj@_2-9G9Mg>YraxXGDFA$DMq=zH(1!64}AmS3(qKGkKkT=^JruE-&?n z1^@C8kfQyGguwjYxgojNU@q5{SDlH0yb~tMNS9CI8Vmau`^EGjuUMO}6U6eTFhDj} z%#{@Z84eBe@wQ`#x3?QIArFp=%Pq3*_4bf?T|>jayGto7>}V?8mbW!E+F3o@8}=B2 ztx^{UoFTxa?dou@r&x0aKwQAFj|O-;@-EFd9K;9)pq*@79*|5<2I-m2zr>Ag22H)Q z5kZvkP)0D1S!Fu$gWWs^7!lg$BQA#%3$E_D_}^W=&&)OcZA3>+jffUL;q011`f-y! zC`b~xktNC|yJi$

Ebq@m>pn^nukl%>Fb3;bbL1A?vd|K8Hn6HAG@_ljS-hw4niB zUVe|V9d6BO+i@{ElTvp5G}6pd=w?EOSTJFT_nOIS@ZA*=-^T-+@7rxHB3c&$;k{pU z)dR?0v#@(kVkMy+>fhG|a#_uh9N75si7UY%{dYw>bSW4(;Nir?)B{L2NhRT;4GBAR z$-&dY!1;wd@q1h|_;TA*Y;0|jLKdf{{J`&xopsxRog%PS{28xK2s{^uo84-GsqxE+ z-0*Cxr8fiuO>*l5#HmQYJS-lpy_(vj@$K2|D|ms8yUW7CWL`MdN}eXyONI3&uw37) zbYl74YEJJU=wMDU!(7$;{@$I-`5!VqzTh$f8~L8w;jB>p2BjEa>su4=Ig%)iKESKyt1i|sLK{WTw;mM3t1- zIwg=hmuqO*3&D=#`bnY)heX5bHT{;udZ};dp!Pdq*zew7Z@#UCpWRMS3i$b*vhyUw z&8q1e=>K}S@*=hV8!IUI=FJ-r4KmX5er5c82^SqbHaRUW@BWSc`zY`x11d8iySt^p z%?~`26yT|qmuIl+=tK&7wQOF)!ogu-V*{&cQT2Kf9v%(gjoHV;_Z*vVHURGJ4L0dS zy*=ahpn6b(1~UvO%DU5pmfo>sA^7`mF|!m<+a7~O0>-(R20hX;Ah8;VsRr)kA=T!w z72n$XC+pFO77eG15aSYSyT-=wl&6Hjd}_JfmM{)OQakiIT`;uTXoyEC?<+9OlSRkC zkOc|AL>T%{S|n57q0A2h*1!?>S!?8&kSo;>Xp$ zj}-zp8ZzEErq>fKurkKvZM4eo<+RfJ8%3QN$Lqv`ifV3e=pl5IT%_9^6f0E9bx@%S zqGpG6dZ?lOU;>BHde@g5c55L(QTt9f&RDHKM?;oL7SCx={(M`k2t#WK=c*v|20bC& zOXo$;w*fl14bJGoS&jc)ovklFK>6G+e)YVTt*4wndx3;zh_16esg}B^ZFzdDkUHi8F$jQOk>Q_#4zkQ=rssqc) ziV6G@=?==CZynN+ps+Cgp#*Z^HtB;+OE6JIR-#eOlgM!dEZlxg6%qnVwivEf_uC-g z?8rM*F5ux0W-ztDJ|8EzzTgwl*C*=?2$!?0Ph!*+czkdo3kx&1anK444D6OOsHr*r z<$0tw0LvfRuN4LE!t z(&+tLmCygH``Pmdj0SE_<{KQYve;knIhEV#0SlP0E7ntpP70}RNDJVzl zZ3?USdE9ly_I)O6aVK3L!0iz5SU>hb;Pbo+36M*%S)Zh?Ii7vt?ccz&O+gWtkTBje zkDvT@9k*9-37B)*+Vgh$A*DFGB+K!alfkabk$E`_LMU+L%y)w=%*&Jf=;ibC zrFs(=w+kU*vKw@-p^>uo(qb&5dh!(bV29V%Qi2W9+m@zP(oOohqQ)GmvJ4-QA>>0mkiZ9Txjbv}O5R z&R%P4djLvpZs1 zjFFiMrqaFkikBDZ)mtb=d4WcxP_6){9`IrF1=$O_`xw-tg#ciMn7gzj&!`eYbahq7 z#Vwz1p{^c4ac>lqpFh?hhNMwz65%>Hw3Ix=>oi_&ZyW@sHC5f*#6t+a`1NOyTj*39 zk9cxeJ9bT+6X4@Nn@RfUG{a|snrBLNBj} zY;#$_*zD%CxzvchKf~EGIQU0ClfuAs4&LJ-LqVkvAH*{jmfM!S{e8tW?@b9-;HQ9oqcKlIA=@g!;08bGaniY&8OtWv25{Gnkv8(`ccyDpr@ zIOAZA#8JvuLJ1I)nr&E;pI&?I;{6#0sWmjO?{kgSd>0sJbv`@9%jxMkTxp07o1U&f zmFY78C!~yx^~1%3Tg}N_XAU8++RpB0S|p^N5Imp!?vZPB%quY{#Aql%8Dv4Z z>Xq9TE1thOEP48P*hs_6%gTUGWzgs-m~xxz2_p;xw`2l11uUSOAT6EH$0PcmAOuMj zG%ku}`K`eZUF(E8>|}+QntZoT1Vqy_X6t3UmoJaYUC!}gHa9n!n9IS0uvon7>PSyd z*jy#0-No(;*DC_=!UIwOw3OEzQ$Zg4A|3+6!a6!TQ)!e#6vDk8@RN&YF8IMK*dmfk z;(E`|fBH4ypVNGcCGWOOD7AImX)CO%_2NfTQqs$j=l*o$n@hiD0%O$2>LGSBSGcV_ndEhXE+6vaM~%R#`(1ww_6ef!m5J#dlilV=@vx*W5V(r88?h88a-Opd zK*iECp3wnc53+gTm~5p`QE|_RcT%4}uU;L!$7_j+kf$f97p^g%0aF3CwzeS7rYmF@ z0Own-U<^vP^KI;*gsHCih7TnrxSu5@vp!?6V_|vTrx&q-8jj6k7C5~RV-noMtImkz z72sqT4%EE0@9YqGi*AEPTj*%|rxgbHybez`sMlXpo9ooC)3d)Iz{K=vYPx59_#}_+ znazlSk;G>oBQrqA0?|2lOuiu?Vt^DC{U9QoS7UbV`&7lo{;_AJ2?d^H_wry6;XWDs z?8_cERMilOg%*MJPZ971va>sKb2o&2O18!(j7`G^1_maE z3&;y`hobKwBM0-Y?lYuLA6bH;^@_Pln6QiTEnQ^DBF#2o;r- zI;!%ywU6BN45@GJU$!OImV$zB^KwCTE^O-|z$uTa@M~FGMVFdQ-+LIHR>b}*9MxiooNIDn#V%BefH-$>9!y*6-(66Har;!g&YtnwldmAc$3oOP zi1Q!^S3uYXkbz3ejfUPH9`TlWHsb*miCq2ei)&u2=j(Ju`R|`>c_pRwGec_tHTK0a z>h8xyPEahjL`ysOc@$dw3J#XCZvxw7vP2sVRJj)?f?8xk4UR_&;Glqc>lKS$LUfyO zG~#8&4AFdoIky?Gfdm9_)oUz>T3U1*c1P9Cq`HCCc4l6lsPm0+ATwodsQ34S?WimV zclUW{bhMkb;ZztfU9JGnm``8O8%8MoZPh-Ez!vulD5V^1Qdz-Xoz=*Fdg11ZeBq#8 zZ6mv%D(Hc_BV)s4%+FZieCg^)Y@;{R!_Hbif4Bo6y>m35bCxwR2Q(usWyL?UXamI$Z5^J>H3m# z=RvF0<9(}r?pIn3(do7AJmG?ZDofM$We@1%?yG;t+QZLT!&Ju52&M6O-Wq0}F6He5 z2?ImQHSx0TNjqU!Do;l~Yww=^j8AkhCkbUNhjIm^)9P5TPU@i{w4(a4;8H4{+3BsZ zcJocH3V+~fgh;PqtJQ}B)#CVK$Rm8rkY?u7l8?PPM^W3r4&Q;QRrc)D17CJl)a~>M zM=@`i3)D4?K=7vX)jz~q1NR5~P?-bWRBw6>QIvsgmBZy`iI3iXsc#X#2~pfX+`r?p zA$jDqW~q}S#u-WQ3#!<}{QC3vgc&|wxp^nNQ3$bI?BheeQZ-E{0-DkA{Vf)Cf<4q7 zF@9si-tPx2g5C8oJv{1t?A`?K_dNu5p}rz~_D8+*?PgFy`n-T`_?oZaA|CP%bTL_} zLCRm$iTS*}kZHfB!6frue}`U$UhEkJgoYA=0@&F(sb^^k1r&dv2%#O~4hjm2qSt)E z$S8MpvhwA0ot&A21Mb`3KbOGtTHnAxvQ)<>Pp27YY;3HqF?GG|$I@i}gm=47WvhfP z;N_dnmLY;1L=Sj+W6|b>fr36NT6uJWwXMH^5ZGnowdgF=)JVs(1kr0wzsOp6RF{Z^)M`)C;-aC+PU-_*p! zM83tHoJP4IA=^#2;=5^%bo@Y-se#FS6@0TBS_k+{42(4bUdP|yX_#%-=_2m2AJrC; zlgca?c%-1G1yr;KhI$OP?u-9Oldibrc07IdCY_jO_?D>DwJ0H4;IWKC-y6{$V=1x^+`ssKU|FQ54;EYKm#ZYS)2&b-3~)OcpUmCN9~i z$pnKPACN7s?hsE;1qos!BQtG%a^`e)=>BRD=*&6gKxqI}(|b9)xe<@E?}K24|B{&SCjt1Mh3K+9w_t)xigzndIFS_r0_bv)dN3YO6{Qctb(-fxPd?(e519!`e0xJh z>X>TPW*Da{0!?(FG7<6-2X4Mv0CA}#JO{JFzat}awd#YSXq5eDXWxOom-98lD@I1N zq$G~#j0+wGKR*4y)O2qY+#|=wR(XZy-^>y`&t}{8P|C}h>9l!bLF)Swbck4MEP2}i z=7Ps+gf8NLvAW1D2G zbk&hwKIPNfTJ<$L9dbLzHD1I13JuQuZc7Mm$1lx*H?RXH5dHwD6AUgm-`&I6<1jv1 zTUHuP7DsEf*P1_({uB|x)^OC)lXX{-+veF>E{YNLPh(_$b2W})37aQR2MfilK;OZ^%sTS8dN`%E z?{vZ#(c?O0eSW^meCh25{GX{fYMmC>(DU>UeC}tyb#=}ckb!RtHPw?dv1iRwJr&%p zhLV)2*EiG&`1_!~!$Y~$2bD?PHiZmGk2+kgWyQmym&dsn-SFP|K3x_f6SHl{mT2aE z)thFp-)!%6D^lC|6h7=R{t?%M!OeE708RVQEv=Y5-Wko=ITd6NE~jUBATfQni#Oh$ zqqtAhBM{qM=Wt6F```{UTWO7uf;;l!?^J##0(mV9DgZZq0+N}nCZ)~%{uRy$5%5*S zQpyoy;1UN|nR*my*5*o*|Fwdro~f`{PIzw5-psyeavugzh3wzA+2xiq)Jq<=CyR}K z2Y)}jg6Dsx#@hLB?R{U+)|cCU(#@1M)kYy69}|EfBZ=C-rE*kJFYSzDT0kGsNq zU>nqUZ8cFlL-Gb!veoRVv-g_oXnwF6!O5`^YJ6L2;MYEMO)E;e4M=3k^i!9D2_xi|ttCpfhtQK+VR{Z=C|KfmuZ0~$-Z6Q{Y;Qa4&P5s-84V^g`%tqQ_wy9B z3V-{C&cSh12kQ0ZW`y$Ze_hoBKE6hN&w+!4MC*EW_^H$XGEQ*i$Ct>SzdUsRsh`l< ztMw0;J)!`70Jsv^VnKQ7&?BFG0ONtl7P3HlI{F2h9a;2|6n-IzT+xJbFc`dg=$`cN z-v|Ji-;$G)OUBSeTCF=B&YFT#OTTopxadB9Kew9qB)YO4EIYV|^ zcl?Kz@qBJC0<`4H%*M3d(2%QQ381b5Kc-IChYMP3t zK4zR^t$|jbyK;R`JHxbz<%h0b%HMHupTCXL)*Q{nx`wi3OXg5`CnsIoU-r-kzWTRi z{^+pJ8`qYm8bw#)Pu%ZD)sP0I555Bmj8A7ndWfS0K~KJWJ2(G zev#YfNF`Mo#oozgKS8s1Gwe0O*LUEMtu<|mE>Duc$Ce?n(#4!XcO zn{6Hm{PpWKjBGN0${lNz#+ZIS;%Zyk&Y%ugXgw>z$G2^~$+gU$`=47pLvxCRxHqw} zxZE#bf>j4MR!9xvnO$@ePP(Ja_jaScm2^7rF(hT0Wt(;NblYv-kaAe5cZLl?P4ujy zU1h_Ozi00A%l@gi2Fjw2>ORx z1FGwt0Z!aCIc(iQ`HICFp_7}|K`-Ine71bZO-~PukRNjBVR1T9Gy%f)eR&jy{kwsi zrT=<)Pxij3!}5ay7@S}`JG;1doF5M-jIEZMuP1J2te4UcywkB}rq>Ig)G0dGTPY_l zI?MIqjnnk%^?IxU;go`EK%$yFWvMQtsfjN~2LJr9XKV6lT*@=Y`T7x-(Dh>DVCJ1H zvEBAm^TA@1bJ(ba({tz5>No`%kG9$4v>r+4aM9`ad)#5WfdRtQi4wl%<6!w{Njjb8 zlv+~KeEa7Ec33qx`IL(zR|>T|U*~oosXM#h#->rF8u5*{&n~gOx)*aV)%kx+y>(QT zU$g}ZBA^1IARsLw-QDmL1eBESmhSEl=@yU<>F#c%4&89*hC??Tnzy<4y*u6*{J|Kf zzi;oo=9+7+xz@o~Tw6wdy8`o1l_mt#afXNnok!V?{obKx@LB5@v9&d~5YD(EnvASe zqy4@rygNQq0?_lu<~sb0HkM-}YQpGQsf!^sqQ_1MDT0x7|FSBeyIv$a(v>qE`c58Ha8B7gZt786@0csKVkBRJ7LGh81T@UBp&w#LnR;5_tcSq%H zQc0ri=?Ixhsn+o5-OxO=%3LwqkB+j zWXw%tnxMBZEMk$O$Ai&*%-%=fB1zc*l2%e(TfJ3Wgl8Ua{jhW2PxDkQ@CP9Kz$*mM z;lU>cRGI+(cHT5SKMoc-1lnC+-kQA%kD-rdoW;FC6-W*66`9g5(}jF|JVv*z{u+Ow zKtPo?Sl#bVRhL(0`bE61YiTa8`qoAq`k{AR9ToMp#eC17B9#KIB3xM#!C1$y-q{qA z%DM&fjYzY^!PS{MQlyg;dlb0n=L%2D;HT74`|b5=66 zcDSekSd*ytz<1-_!-I;+!psJqIOPjrD_-x_kCfqro4W+ObLt4s1Mlt-qt#wZ2Frfc zJ&MD)Q>b#=wY8L%cCys$1cC&UDb1T-w22jZ^RJhl2bSyqv!IuHm_JgGll!@|E^e?~ z%HXaQt-i*%+E|=c?p(jAFLkvvL!z4@Mx11%ccYg=wqc#H1LcMR@j6{DZvOgt; z=6~beikmYKhm)aXOiUw<4D%D9f!G4))#>T}axIJWsj`MbOe&#@!QZ@rJHw*vhbA0C z!huUiI%*JF!GSYbsu#Oi-)5}85EQAGUhjG47NK?KY;vnQsuWcj8ODq)Tnvk>WW-z=^&%0d(}O%5w!|Rl`C3xIYI@MulP`kVdQ1Nm4sFWT zg^9W8*@ypbeu0*aieill|7Z#cGAb%@jI0f(Ymk%YRcSddp|q_I^7NI`-(ntomXiyP zIEbNB!N$U};c@c8otCcH)$OU-^OAZm@CVF!ukhMbF0ibyPnI^<$jr*(w!KkJTF*EV zuHQcR79&Q9rLzv`bG^B0o~AmI4zN*g97uftSZ3!e3)gZs2O)E4>^&iuMSm4c7Jx?B za$U!=Bw$!HIh=dY1H#__be+i6JUedxE@UtJ8LgwtXug)g3pV_glvMUU0Ha~`=V8!Ajh70Lop5{30g{<|7g`1>(P%i^$bE`Hcj3Ga+rm{w zL$giL;N2<59cURgK#qo8L9Oi8+L-RQ%CU?kkQ5$CL*l{@FL*W-X2h+Qn<9g44=H`n z3JNL9;MZrEFwfwyuA#-40LRA+kfC9%_amdRnoin)OskSO27n|`hIKHRkl1yBM)Xbn zfV9lx>^pYP_ei@?N=ahQjlh=h5bd#k$9J2`I%L!s+Mp9Vg@Ip^VRB7 z`_9Y9Y2Lc;WK&Y<$(fF5_SGB|e43yGZw&MfGhS&@-t0jqFTg*!rdcQj@XJRWMfpt6 zJ>_OE!a}F)=_qt+6YBsbM^P{_THNi99b6HSUy_b(p1EQ{* z9ZlU`k%veS!4k&N&;2Lzgg(Gr% z?n*^yDO{Ze0nwbf7zXKZ^=#FSl`%vO4{z*Lt(T29jxKPy!QP~>$Y3G+Wty@5<;#*b zrN;*m)oK%x#U{AHa%;>}t&+9aZqqD9z#Um>s)OBXAt)4&sgL*5Q;u{+-a9Z*Wxf1u zy2L(Huagoe)6oG#cevOj4H!CG8`aM4P%gGb88tv6LpLSkK}wvdd|}qmC^M6{@g*WR z;06ULWTG@u5VOCsdf;eQ-7;&9#e z$+aLlXJ^9T11)VKy;eii=T7(419!4T^T$_DCQ$)$4E#(fo1KtHUdno)1}i3PEw##QYg^Jxho4^qagDHb>@u_yV{5Y6-U^&fRD z@)yEOIB$*-K0q!-rDZ{Gi6F6kSMN*D%GyxLP*=z~QH+BVo+*6O{Wj#)tL3e4%JVe9 zUp4yn=~{kB*K1SnJi(6!H!r^K{Q~*Z$`#)QT#w&zG5<9~5);bJC#c zk`%l|PXBS;wlna!YdM~wDE{rqCfXv(>nw`{ltHy-P>CExZ;Okjh}I|uxpCsEeQVy| zD6b2r{?^gVrrhv4-;p5RjoUed#Yz1Dm_&;m@`xar1E)C@)fE z(>qn0OpyV`%hJ%%@YP1HG#R$Dx)J;_=Qj(=MNHxb?4xWOCo$qYZeWV{N33??h-3jv z0&^~_A6tGei#3{6LDgG04u?VB@2s>mf!#_f+3Dc;?Bb8(SJ&~GikO*}`Cw!;WmaHH z4fG2y)N(U2x`VN`C(D)-E)Pmh;>S-V!8!8u=XZ|${Q2K94N4VgP*_OE!~kjwYfetB ze3)v5oHxw>re>+Pbo>G)uio998 zjnWLK$q_h(lwiuu?G?HGG6=oTcx=5 z-a;o!-e)%FE_Q_50H6m&MnZCH&M!wMU{YQA+B~_#1d$+p)!^D+J-wbs-)2)Z<2y{z z&DV(lq#^7HqyGXJoyTmTCwwr0FWwvV^^cyblc$hSS@Jg;t8{pHlASeEbRdqu*;{9t zY?Fpgx!7=L+#ksKfE%0`(0YCDebU)g#Re++6EuJN`-*pbOlEj- zVdofrJ)nF-!5Yn2d(fNy2qE>1qm?5P@e~+#zs*i2T5NP@O7HBPAOd#b=oHM4I-u?7g=oK%q2 z9t7%y&vR_h7OQch~kU;SKEI zXFXM-uVgQ4hb2h_yn=peA38n1`n?iWXEEOp+~FTGI$gLZ3wu;(B0<1w5y*)U7xU5s z9T4(uZER<0a^Tz#*^6B%eB5+^X{Hiz{q$`$R0FI%v-Mi;PJGrdBjB35~~7VXOt8K7bN0aYkzw*l>Ry}dySAKhLL3t z)0Rr%mV7!WB0ym4TJ3~ARm~i%yo5j(Q7riR#C>XO&UX%kSrEk@M!MeMI zV4p=L*OeONr#}eRHS8ST&pYgziflK%!5!3=V5v!0aU|Tv2NfY6hzv>3dWTx@39_US zo5vu+A?kv(fO2sH3c_dk%U$WGC0bFl)3u%#X*1U%s=oja;mVUCg%qoyffd(#?3g1* zryiESO%0^ZxjbH77azzntg9{r<^jkADHX(Y1oyIu+hDwlNMP|C{`$fDN!*hoY96s~ zZ*Xurq!xj=BD!L~Fr3zVZeC%!_!CIK^bU1N@a#}3J|g%;d8=)${t!CS z{YD^_u!vn-sDBh!-@Ql3hr0y~Z}0skhYZJ1-2K_=Z~wD!6quCJBeTQ{42;Ck(9lY6 zZnG4bo#D5=1I;a-JLBCEKpa(WG{pHot5HTlA(>p9-(WO8lXb{QYqp?k16XOBsbpDm*$>a*r5H;4DAM)aD|H?ZTN7eMpT(>aigN!rQGV%1g4 zF(5a*aHsWr)7D6xE)I*~Gwt>*~@3aiWC zCYY_hM;1Y?<#Y6r-5hok4tXu;bH#w3EsbOD3T+SKPQUY#V6 zns@R;+C`(dMnegk7`%0SNi47(%jid?fH~a|AiR$#Ar5G2F-@LtL zO`qy9BQj1>sdYi(vgs`Kva*V?Y;7v;JJI;Es)_Hp^gAm>!xEVP%uzCwn@&Z~afDIl zXLo@Gyzj`*aJ?;li6kBl8Gye6AB42x^)DHGu09|UvgJAf!yxGO zE>B>X?Z^HnMx6^tvl{lhcN+~J7rcaZM_)=z-YO5Kr|v*4#xmGs)7x}sn-jwb_&-d* zkhV=I>PTN>KC;pJC=~vvsjjwnOkJnKJUf;NlxD z6;RW(f%6aL*6>Be$H+RTg2ZdZ>j52{jIg;2I(9Zr5pC_CPqEoDo*ZZ(D|9c%iZeONqobn&zpBXV4eSJ(9B8u&pD-?(^jxYqwx{t%W5bR5sT1H9Y z-G_eINc!0L@KRezNBTFwCs>5Oz{~@Ux!ZfYYmLT{Pu)D43c})nF}Ig;S*8kN=*0cG zB^rjrI<*j16AH^xW{v(sni zzGBFc%xR-)EHopNA-U9@Zl)pPZ;aG(ughyikwl|2lGaMt@hfIWxKG^f+M>F!YEY+TVK5TC@4q*vWkh4 zkBorQ#FHi3lD2t4D(D5&rRasUj}#SvKc%{82GN;qbvYx9m^0`v)cWe2CndVuadh%) z+l7T23lboxB#DnEYOog%c#rQ4-vH(@mSa@>o7`K35d%~psn7fyEgvv_rQNs2yKQ0$ zy4hrafP&RyDH0IMH?ju#8by@ubrv5uIU@k40C2+R;I+8|rHbX-hdobNH0saKWiM{e z6UQke|7uGyEY^hJ(hLR|hN@QRa)O6|)=s3(p}?W2%KNJ^aW$t^+zXG7V1PUNweI#a(VmXn4T}ua5n&p@igq(a|{&+KPnoy-iQ#9No_N zF|*mEFB%7M3_XX75Na)T6#yeTm{?3kzk=qBi7asytL0XaMAn=iPiG&#!~L!+Wmvi4 zRwgmKl^KO&M07N3c#^v9mLFT4wPvQ6<&HbAYnmhC-$d6Y%}|x6g!QyCJ3H2_ZC?oi zMv08<+Hb5Mxdznzv7>z+w{ze^{8gcJp7-w`$a_?;JmcU#IuIEJ-GaoN+yl_w*T~4% zlPxxEl64L=4wA-qa1IJlQBc|%99Lg%dOUs`UwT#HGF?rtLr!5ziia0Z&eEse?^WE7 zY+v_`o2vjQYwfxV@so*S|=xIZ?(w_EzKfY?X)ua@FgJex;eyv0Z?EFwQ&U#vzH9FwJS5=V@_ zyeexg_|~Pg4(|-+lSTns-1&I>pEL+Gqg=&b==MnDN03~uR!|P}FtG^kLOMhz^XJQX z4y{nB^NWR*vfPBi#;RRWhf{2}?ixCGD1AnnNI%O}e2|u+m`@V$a!C$76bD>9^0(mN z*fF|5!@bh&*xs2=`Pl~e%aQRhyo%-+p|QkWClL036G{Ws`g-wQ(cv9iu#Lp(vUOnZWpM{7Ye! z^CM`aJcUI0^uNzf?QBeWn&lsclez3KZX7wSXFwOG7a9@@dbY*vtHGoi)&G48NZi5+ zo!9sF!eb_^p0IDj+Irx3&XTmBZOh07>)>ivnqHu<=^L;*wD|eC#0@{jKWGtFSwqdz z_**-ry_u#NlfU34@7AZsEr>q^wBaQykE~o*p`!0E#inWyxt!hbU>;sqnGQ+aI9p16 zwTbF-9p+PJ{+rA~6?yo9eFG<+DOGR0H)5g1G0|`@QbAFAJ+NZh(j-EiMS3`$Pgq#E zxy$AIiUG+&ix`rDq$1jVU8JV4F#iB~Dy`uxPflBf49BlRDkWLrR#$`dn!|tN9ptnkZc&>LkU`yqU> zucCi|ZnUeKfpiIV{m5Bc{|;{tNqLc2m9}o&!XbK2Gr}3WX!PSuu zR4P7Eqws}#&v?)!XzOwGx^aFUD7*N(^|lmKz+fUdxuoo7 z#FvA1dwVI&=DW|P%N9a1eKQC3-#k})3nIxxW>)5VUJveC%lYw+Np_X#88D~Bzdu%Q z=ITVPwFj_8^&SW6Nsm@b4I(xsCc6rGJO{I(c$4N!DQ4k>2D269j|oZgtun-d0sfo4 z<`QGZS2iKrI~CAw3e-&8N`uw&o!-7a78=ynQdcDxm*=44v}>sq74)|CR_wh7S4^Pg zV}1Sp&?yH{754+Vr^4eIyse`%5dISFHo?HwYov3Xox^+=*gGRxSZV-Ws8XZDH>==O z>@pfr8Ev|}67|jhawNJdYB@n4Qy2lqxoXA7vu_dqKZ6Cb{sk8MTqIBwl1k+j`JXP? zgFPtqC2vW#CNeptl#b-;N3#M0!vPh89uKOuHT~HZ&&0_y$BTgp=U(=W&Bxm}C8>)D z0A|_4r#IQ{%Wl$uRqXH57O|}2Xw8CX&~DgxK_V%~f${o4D?J0)O*v#Ee$c+UPRsJl`>d+! zC?k*tG%}AB&fa9wqP7T-HUcE*g{+l6GA=dBSUD@}3pKIg@2|*1Ulr#mN05DN{p9=4 zkl?GZD5fCJ`G*TEzvx&LUi2I+(RXOR%yU-0-*tO z0ZjOky|*TP*~a(JZ&R7l0v5;Up9Wr5tnB8XojcdE%|WGaV<0JlhM~?9gc1MVxVpY0 zlXH*ha*>v@f)tNPjXBN->*b(^nh#XKXP&@)65c8(GabW8nbK4se0 zlLnK8v?F}H9kq$ll*4hc-%aac+PocWxNw`4mAXfJUoZ>}y~Dv>8)Fyi>0!>vE9*24TC`Bgqnz$n9(E)?%8c# z`8-ohTy6ODG$*LY;FFMaaeE6Dcc5Wb5KKyiDCf;2FlF*IwSr=yK{Z>^oV z*Y-_np)&iv{y_6U==QPF0v8U#5QQqvK=zwnUqdxQ-VtDQU5 zDJZz(b>87^tfvbd@2oR-8~1;cc%|hWsU8|ngqnv`E#Thkcj;fe*zmSHqG!I95#d$I zDpW^u=`G4~)Abgy4wV1@rh311_x^v4S)5fBAq4HKq{PUvlpl!Q|CP$^x8Tw1T32W` zu_Se2g;&5sw2G;HLx^$EW?pbwRN#G&)fY|5q=sYuz^)8^=KKDvWn|rcJtdKi4YJtM z1mimke-13ApQL!YC;DO-_`d#Xm(QgX@dZ4%If|6B^f{j!3&b%&n7#Y8Enb#spIq%I z$e=68zs0-E`y@xKay2fK+S{*cFE#Ufb!5|* zF&qB<8lA7Un5PplP*zdNv+AsMai`yMSRpf;wtShL{=hTUbxfnk?}zwYWnf zf1zxe2qh&YO_s=!YYb2Ql_Ad2y;u?StapSn65pPKvyA1Pt<7K4UnuEQvS#W#9w>#@ zTZXWdFm#Lpt(Hc4R}i`*a_WYIvYn6YN{$vTZ@0&)k7i@~pk)fhKl)_3uEfAVRy<;2 z;+uqg0Lp6n-0K!*R!7x3ex`(K~JcDe25!9CV(_pusGV8JjqA6OuXc%$>hsP)&URtbdf z#hFT?8g!dr$kj4 znH*oU0PecCOW;R@eQy_3u^#07wd^}B)|+kxG0da(DLP|n^=5hs36)IKBCE+lXb4T) zrQCBpq4+}cbhkzNl6|GpO3u3S3@KMCsi9X!1MmOudY@cGA(Z!)tGs+Um?o4?c7H>o zJh>HntEXqN)SBwXVNP4}Nx*IGxjQDwCw|sw{>H{wdgZWEMn+Yf!G)nBeSfqn)9zQa z(6SLs1Bjgf^$QLTjvTkou;GdcXneVN8D`pCFnO$dZ?Nd%|4!@1PO@;_kC~Q-&g_o(+5+3 zK=1*-HH;t{i%6;kr6h^{-_kVh$iaMrE9^D0l+^Y_31KcJWlEFFZxKX92P^1ncMXl4 z)&=DnrCF7TNvZ$+;qsMY%^oN0i@acNC?qTl&11TLa&q!Lrx`Apb6J(= zfE@xD33@$TfQS?z+dY?S6EL!=T1(66B+7$R9tka5bA9g=>0Vd1wvb_+bRVS9z?3`) z_SgH{+gC|7hiO}?^5gR(Nzmnj#>;>Jn&tZ&bfUQlh$I#z-Y{O|e-xKDKb~0N| zHbG}0iNhpQ6@UT8CC9h38RyH@6t1a)a_2Aahr~a7Py;i4;owYBP;x{jY-vesaba;6 z5TJo=zwpV6#AGticYz-g!#g`vLFH_Xzjk`sL#0B$(O$jH5H0fKM{4zY<^%W3u9@B! zl4xk6%r2pkm|pXBc`pY^(9nN$obP~$7w@~Z^+mw7V{RxJG}b;}+4o0VXto!ZTb`O# zdy5d^arZucsf7psonK1{gA*s`^E95$5XU{$Mk5UHMf%d23@_GlgdTr@ABg}y`{NKH zhrBBg5jFLIHw+FAN7fzriL~wULYI+LFT!7q)6 z(~ZIP0uZIk*r{5Q+S2&XnRRty6i3M^5YXl2yS=ROhP9lg2j4A9!#4`&T?1I zyE%ZR@7%P3Bx$2hRb2z-;@x05mPvtt{{C1bB1MS#`29ql>|d)zu@K!I&|PceXxUSs z0HIdM<;TU1TWIzC1;$NQSj>8Oc)Zp#GCB!n%bTh&z@(HV8AubDPh>HWOIlf7hx|T2 zJP`gq`pv@f0I-hhgNgr5muUP;;*dN!UyuZTH?F|46Lj)!4h5nz`TiQQ0sWZWt|_Tn zLeG8vz@C>I4!C{%NFrBnBj7^9Jd-i3_k_td`!hgzk}3{JG_dt6G7qOqNa)qs z(R?^9HODb7mx0C4)BE7z6>aONsBlR?0!kOO!4NsabGG*g!B~rLpyoT%Fp&(p+16or zUw(h=7P_{Mn}vQh+Dc9pi@5s(Obb|T*IWh%1(|#(x}YDdwFMBgTjXW%?;h^?td{Fz zSM71=p=oe9(aJSNrl{);_) z7Ml-xDy261%YvmSD0VK8*K62V+bkwg9~YPWeGm?jQ4K79e5vXG(||`*d^J&}kS7~K z2IAubxmdZ|sxWxmejFN)8qYK_G=&2uht2Nn-Hu%<(JHQJ+c0Y%9wOZFJD4P~ykm;4 zY}2;0V--NfSUbNyv(T&!i$cSDG1HQK8_&q%y{iatDvMM9yKdJ|92((UZUgS|;q6xD$T=LPaX~ymu2_hDDGl6$*L&d-iH}{%qyca7j$m_HbLS`+e0~-$Y*h z`5_o=gZmk{!C;_oTrIWuX*Yl6Qc(dR%P2HbHf|(cPK(!}y>~QficWdMMMvjXj^v_^ z-Zf>~{{)GzvY>zBjwj`2IRt-D$w{ z@wyMdBJz+up(6i0)Z1$#7PdXo;a~Lfbt{mjePh(|@+mUsl1V#*laqW8Rx z1oBy8#5d>ocVmB+w3@tRZH@)R!U-_jPd5qw+z5Hyy*NCS#OJno?)`8bB@!sJe&n6j z88~u!b78(Un0VK>_dL;^_=i*LY=K6dAh73MKWt?bA7<)`H!{)-udQW_XL=r;l9IAD zb9ew;N4PZ$!hr)7!qG#;T+R32@?fBfKRIfhE&MWF;-J<-v-iwcj@|5G=SVIc%MQ-V zl$EY$WaXdno2G}-NbU8*vq|d(5+5XY{ukWUNNi~4{VK|-OF}wc1|Z^hgA-;V_Lg*R zxGL}Wr$=(fs$Av%iyPSPO0nkc+=Y5pRt)M023nA7L9?*SaP{ilaobiyqi4{Svpd*< zBRXFm^Bz7?wqBq6zy1FlYJG|kaPjRP2JsL511dp#lqO*(2u@3F-m>9^N)yG3)XMeD zAX*q-H{)(?{ny_=qX^O|7Uw>!LdE>{ly5QP=PG4J(gBxyknGv2m%PpqyUU*Oo2?2h zVZnL}kwW7cj^?6?U=<3194)Yp3qZhZo;W4QGo+IdiIK&t_0eE8CmgIS)Nqm0w;SOqyDm$gyHMi_GCLrDZN-#3>l5niYL6VY2~ z=?cvjx4G(;Z~~4zxvVYVFR*Ji28krcG5q-xatwzXthB$aZ*)?4`fe<`?UFaBsu1BtesffQar6eUo$wa(5=I4L089xJ3sY1uSIPAA4K^TM{`QI}_ zGBsso)77ftR`#0EtdGL0&Ev72Mv{MOaz^!VYKw}to1d^R8&4ZF?2m;kEcot0|NQ!| z@W+;8)a zVYeE?Z}Utuoij1r(>2!#Td9I@*ITn8zfzSyX=+3WBWMcJyH93q)=`+NKhIJPJ_T!G z?VLvF&ZBMx;348BFR!h{(?90&rTWs!jnY40wNo1-)?pDcBo1ICkEx~X!Hs3Ux|U-c zw$dv+$83|6%IB%4NPi9BdOM|=CCXJVjekWjZ$bqfb_I!u7n@Viczxp``m`z~vd6Os zPS!diIfafDm5hGjT5^+9Q#>0@$mHwKW_V)%f?cB4cxi+?eNK2sXmutw(WIc1!gt=? zQ%Zee%krFP>GLR!&<*;Xk}^UleUsNcrR6+F`*g0V73OBB%ME*qoY1{YU1_SlJGF3- zcLt0p6DSQkihXwS=+OLU>bb!|POYo&3lcpmO!1({l=^yAEUYy!cj?2?XR-(XPYCp^ zKVkw=kwFeoWN0r^u-45o3N`L-bet?y4zJ9SG#+q0!+(!J^La)QkxKRya0a;HghkCX zTZ$AEK{of(B^ECcL?n{7yeq3J5Laf;V6)?ppXA~QCbQYW{p(Y-Dm{-I-vAu^Ymy;6 zJDx`?y$e-&?p@Uhp3|FEBnfcepNLI1=D#Uf{V+ z_x~xfJnAF<5D8Q?Yu6T{Wa-2Uqn5jSo5NcyU!+JzLVum{5pW@1+r z)$ga9)V@lL@Qy({&h)IAyLwsDF!{5Pl)y+ z@aAIECj|6U{Ixm97xyTS0dcj%#*x=+4KXHWW_rdtL}$L7&8{(Dg@x(C_f>wb8yJz~ zZw@8H7c_3^IcV@av+MWHi+RBRD+2rZMU=lCVvY=n*nieOm&?4K*Jxm&|BtD2p3S}g zjp!pTvgOXKH9Dd4$PchDjW9qNkRiVSftppn7%e zUS6a^X8v6o*4ko|vu3@+Ypq3o?l{`pu||N~G@Ct0TAFV_i$l%rwmq(l@#;8F3XhY2 zCVsCKmETq4SCDq}<}zqpfjPUfDubUXdwS?o1XDj}iOH2ZSpp%F=#bfziDDfi0|AGy z2A_GsU0U1MZ^3Z*}l zeYyU^hLee07SZktxA$q$g3L`@f6|06FK69aM^Q1qD=1_&6xki4uWY6A0Yged^Yonp z)mr+T5Ip0mKnNEx!cy%J9pv)iJ|O@jd8`Qfs9I-*+}g?qR58I|Et`yI<0uswSz#Wx zf$@XaM9eJL=IPTQJ4Hy~wB(^+TQI z?g_Zm30nywtI>n%8zLT>=yGrMO!l^Qt@L87R_avRz*HqJ%Ec1~jidCfqkqPcEOs{L zZWpAI=|9_Or`kyEe*J49tn73*%=OJ!YhjNW%L1Yfw!li^;>295-eszNQI< zcYH`E1E*(x(E#?{Q(&hJpL6P%o(mbEip=LHxui}>_f8HQ(bidN{?=qEqKE2EdB^Tc zlB(I-{?#55;z&ZT))J?cJU!N^w(hVe+7_0fo`oAruN`~#fZDcz;C~fh3Y=W;@_sHf zxQFiH9U54~J}8GjKrmP5S}>4qF%0Iqcyw%Hg@elcpZj!E5%ai2L1fbaVRM+*xVxBx z=4d{tI}kxkbP6|K+!~?>_3bAT$$WxR;@!|4ZS$=j&1aIQ)Ktww_!$E7&`<@f>UYDY zaSDm=!(%LHRo~-Mi}Zvjfq(=7q|fY1*$3q{wYg$bg{GyVGNV&{H)bSCx0Bu7kgT%2 zz>=Dpeol}AzsL7#@HBIG*za9aDoUubS;gBslbma?#{`4~z_@92_amuIDS&IKFo!Aw zlxcjjHcPL`9RpTrg;6+M99|$j0?I*%<>lpyu{o_e`};(rqu(FeB+bn=3YANK=MKSo z`yaa1K>t`^TAJYWbS-V9hQ_?UNkWall+fnR1eL?VToNEVo)S$QTEz@|SQ@+a;h+!V zBF^WFu-@&x4_vV1LI5aT+^hf}ca{4dAFsW)zCDl5>u<7n`Pd*?>i^YPT>023AB=@c3K&4pQOm4H(aMs-|4&Fam{5DeRIbKrd zt|Kx10Ty@AHaY6|MhE{TaKWED+LP2n4Wvg_vG@IzN^IbD^^-;D?muvY_XGs+1)bnphAR~ebD>rgOd#q8`E zvP*i(U?YX3o#_wL8msBBu^39*&2fr;kFAFu9deyzB;fyo!p9e=NhkuivV6@30t7JS zU@+-|Z*RIp_xcn$jHsZwW6uCYe;(ToQVk7vBI3szI4jGyh7&=z^H2K+_KXxa@ydUF zc>4N|)GB{0;vKnf4K8y#Grr)et8qA7pc|^l&aNvY^!y^GjoQGotT>cZV>Dg7Oo37T zrlGxqm7=PnHIjUHJ6rCG7QO|nb$noroO!Ag# z9kg&$@y{VK-)O#;IOTAHWMl+m!h6_$XRg}sl$7FLv1pu{l)^P#r}uO_=9&Z+5p33yzg*rPv5$FfHp8U;?Sju)VxAdXo38xbxcwO9F z;Au1@%N5wm%1{|P?6&q%$)+pgBgjZeeUX%;lf13G({j5v_Df46iK;Awr$01%X&Jih z+C@ZI%!7nhPmfl?)O*LfD7rgDPv0W!akX>#2g22rt+&~9F(^fRXXaw+9Za-xakbpo zpA}+V^jc~*1zlNVZI9*bW%uJb3YYRco;TV32sTbFI(8CnMx)Cb)k7{TCu^7I7=H&j`2@y;px0?EhPK9&rj~$!K#_X=YorV#AfEFoy?`a&5+B^= zu;YKYU_B$TiGT|e)x5a=<*W%9Q*Md@O%g}(2;=gvJKIYlUS8gM-nx#8A1?zQPU%o? z+|Uo_3C$&^)Q$wjw6sz$OVpVmmiT~?@0e<+kxw-q(OH3!{x@W{EY~Y|a8$mr@#8fK zM*Gn=%g4;j(W$8%`G(5#{e9n`UOiseX-zi4B8ZTkg(ZAH?ao+?Yp8d@LBQsrbKjA3_MAva${i*%Q&PT4&^RBIFuPi$U<_V&hxVsq@j&TN3=>pRHcGzHRgH{R~L^&-dGVRTeUH zo^Sf&X+(I$#cQvwo_P42T60dz%pWyoehY2sHGLaVlQ^vf?)MK0^SBHEdk+wCadj_2 zyt!;9sR_9G^1fAh9IlD}x&2VIzdZB)${cgEnEFTjY0j#Pu5QvPxXeb`G4iuhv-mzb zdD04V18j_fBzct5@3}-TT3vW@YGbe;5D|5%N0`W1Pg%IEwIMX|t+5R1?4hlmd?%Nd zb5oh%JOWwQup+|AP%;;=jPeI1ztwG3FzgGG!?OgYNjo^6t!!}y;xVPs)d0un55vP4 zin$ac(mg#ibn&Eu9)C~ktL*!=X8{*pc}OXO)U@CE@SKvCR@gM%0L%hG$nicJY<|tkx11sm;LzRuy^xmNi{B;e95o3C zwZCj*ROCSV*FhTa#^aLP*;*^ZCy|0&Y{a-kB}$)3>xpy=I(IpmL27S5a`&j#zGlra zUCRI2Z(!`p^u5)I+=x-LW3vc4W8WURYS5!lVP#OdR9~Pdw7uZkKbbGPtVccz9x~^$ zUOim>7IT?uI#$8Ql&M2ogU{#6+XTO5F`0Zn=k%DS78=Ludg<}N?M~uzca5G<(H@@p zr*Oi(_XVTo16x)6GiWVMkz3utT;AzbgeMqyxK$#51M7uE7A*Jp8!>9lHd}%jNrG#U zY_Rt?1KhhchwXb^UFa9ylvmFTsAOSQLA$^wBd%0;3I#LgRA@L2QsE|m5`0#(0~F=dtN~(EfO?lKT^DS_2i|Jkh$9ul!MKIYlOYooMg#MtWI9 zuGR->K4yMAUTFLsM@(>fRwneL-ka=8Pwy+;6S;>#Oe7B+I-eu|06VZM3)xNndrT9c zQ7eAWQc>Y@F!S$^IrPePhWXFIR((ST*wRszSm!4(R4M$PNlj#A?<(sc=0gM$@zfcU zR(-{4?0^kb2V>&?I$P8Jp$kk(BB1j1Rc)~)2k@+YN%kwn z94_uYpF_}7+y*IeMMb54f4yxOkx<&H<1RCJmk=CADJctjApSA}2m76%TlLz@arcZ2 zZVppnfWsk|`x#CbyQBxp1rj*y92|+vp1ftCZwk~ZP$P)+CPHvbOic|f zeJZ4hi2PEYDtt?b7YLay$uBBWXbn4k_{nHFH(D!-#^2o1K!_!r=X6kBTMhiX0*hy> zg9+=b*^I}t2X#hAzBjo6zw6{n(c3$$yE}P7>_U~1RD|PjLY3Ky&d||O_a~!eU*wV( znBKi}H3P1X4=w$k!RdmY9bx!wG!G<%gd$(M$YoNv`_Et_`D#@pR#xVHF;vz`PRh!h zK!E9gvMw&4C*$e{C;4x+qdO=(Tn~O|2_`6{k7arPKis`#R8?IUHhd5Tm2PPPC8fKi z6$$AEk?zhzDcvB_B`wn3A>G~G-QBzky`TGe{(NJ6@89?Qa10Oo?7j9}bIrJB-ES#E zl(Lt+0B!{!$(M|Wtf1faGH}HoM&1H+a;nrSMI;bJ&7r91*3tI6T-ruPz0JNT6QxE- z6&CZKhSD2|0uGO+8W(=ofi9o?;{{?aW5$!B!Eq010ib~+v*W?Lqm|ANZyQOXXyc_5 zxsW)mmMDQUo^HPj$H9RqDkkPjDiUC`~T* zdx{3P*_<+E)FVG3Xn(5}S|WBPmy%27AShVGKm%zU(GnZ3s$&M$XNge`$~GHxFx^eV z2W8{KFx)9qX=SRo_tAH1%^+7d(61o)b@CU1xaDd4T@g9C2xK$WOe(EfYov7`Yg`X` zoNaeJGWEOiHuX%#n1T2hgE}8KXm&Mhmo!IY^;>R^qL`VPeMR2Q0JnVG)$|3xF3aV{ zw5-3}#Io$otkc~|ishyi>2BEc5NpmZ2kx(b8->)l-3GwAU4!-;h@e|YuLOtH6bHbp zCTn&JKew6z?iLa~)7fo{1eKd!pG6|~BMf}A`jZAq+$n&Q%2~Sp3aeWQPL`^BTh>tLx>>cq+K{EQ+8QHnHrA4kblK2IBFT zL~m{Y;Pvg9nGIfB$`TxU{j;T3aAJouRhSj&)!%jZB`TC3TRRwR)jH))6@CG_fU=7w zlBPYWH{M7&OUmb}pROz+0kpljUps^01MRbsk-Zt&`(5IG?i5-s8V6w0hSXfkx?Qdo zP+*vu?ONHWeTX2Zjhy0fBk0_jbmxVH@i&lwAQ~uV_5uyKhjUf%TTyo0@mMy*dV1b~ zHVXQ23aQ}Wg5bEBpW?|u@7l=BDJlAz_pkM2a@A5&) zdBLn-nQB&L9XV0!gaVQU<-fBBM6_9p#7T>EZe!@J_f;pn0Ijq1e0Et zqt~ka+iPVm11>pt!r+>AeZ~CqA5|voz*g!VxO3f@N+IOpBEG*}Uz!P+H|Wz_uZKO^ zSV^S}bw2V+qmYtmPz12akY)iRna@zACSitcH_~?c<5c;)uYGjg9F9Fo{^+v78e2kYQJaUwb2m6H6dqXcZ{JAG6B#_cR{Z= zw$^_4jcLkcW@o<-HZD7yD)%>GFIZECID+#fEbLQab*d zkV4eSKL-g+uo8_7z-n-80DA1@dSar#UjQj7HSm{?K6dmWo0+ZBXK=Hb z-|Se)(`h9M@$uFAg{)~iasb3@Vshd~PFh;=U4&Z25U-N64cAH)AcpHsO=m#FdME#shNXRrd_xsmR`k9$tn$<1W z=lh-U6goL~AWZ!s*?hJV2QQ#LiHJ>6F#zk^riQ0GP{YpEOC}Ss3$2>#??$J1B%8>7m{nH$!hU^E$Hcq8+)!kz- z^79a6pz=vRgjvW$gI0Zs+febGLt|nL5s`w6%F2{3--^C_cVZBlCge*8IzD^<{P{FB zm6VZ%rKzh+RBxbCBKC*}8g)lB@oVkz!m7cmE~k(XFP#WneeV1c z%UF@NMs5t%#!+Av@@md9pFys74p(=lD=Nzs=J1uZq@}4Yp!_=|5&HeGFG&_hDcTbh z;6pAV#FV1-gSTi1yA3|Q&u(6x%tk|eP*h6@uOi6WB*LDYJ4VB z4?csfH84`1nj7>N+~!q;J=jtZL=MJAzP?V$iT4#fjXeLz&d}kjlU+Ph>q^`Huevaw ztrFVKl(d1q5C=(6asxcu(i-|v;VC4dK0aEx4gDG5@Swr_N{@AS*h$b&+%f`{p^!P+ zmkW^ESo5^(>`R4QWq5#_t&R02K%H6HXR2%hLkM$L&lmuN+x$D_Ad5zy%;xxORrwJo z4e&uerV4L{jt!2CwDj!_Cu70ET^5@tLsoio#Ij|(HfO%D{GM+Zcd(UrJ9t@A;2G4% zP5}a=I>xFV@zz2Df8?5_qH}W6_Id9O)e%qbzKe ztjEN?fTe=@q(MkHRc@GBtO1NrHHY2T3%W1Y={47`@}@BvSUV3KOQ=r-UKkr2vpDQ# z9$kQ893U#xb!hc8Ttk)BqMN=UwEx6>pF!n55US+%7XQiPg26^7ODk*Feb+Oy5{PV*obS1A$`Y2WAL>X(+hI{}Pm7 zeo*^rWMY)j*>mEMy&0uN0fG@r7@FF7iFZPmT*Sq7trV066WtMF=V>}l*JrfT=NHAM zz0M)7%#ci0jIb zK%x1ruV^nCB!z{$B0A2_9#Aftom~X0>$8gE*q49E*W&IS62gXLJigM1=H91K`&}Pp z(*1d8(9%LUq`Ip7Ly0pxfZ9HP*6B3(k#M>Jma@S5`ih{AS7rFeKEP# z8S%Z}i@wU@7wSAZFib#4sQBsTzbq%HE1(o@50OZ2xJWz2F0fs{P9eKEu0D$T*beI{ zU;c~>2k~vJtosuYnkbs)x`FE%6zI=l$%RcDh&;8{*|6t5KL5Rra!hQI(JH!m0$*RK z=UsHh0=ORVzCd{nVpHEG{()7N>_H9bE%V~ zwI?s>_%t^slE*Dj@o}=`HS=wa_I$iDp}Zx`Pib4ChfwGRQ%!4H|)DS686pSCVTxtHPs z-C&j+_8T>CV8?^xQQ7Yfn_=jdNer%Rot>RVz-~SI?oFepqxl0ui^twE!jpN&75763 zx;d0W8yAR!Vm6Ur!hWYa6m<9iw2~*D^otS?(X_X;q*J*cpCQH9j=^?i$Cs7z)xt*%)x+I<>LafViEz}r=Z4|=>=tv7 zha;PV$j2jay*JAZaxbl&Sd!@(8CRJF9*%f0Kw}RNyQEY9Lt-}|rE|5)QKL0)V*${U zc#XU;lS%~|2i5wyb!HD6OuAoCwm!%CoEN~-3=~^uaz7-iEpKDK1Rq@E#rxb~)folA zOq~gx7z{L@e*K&W(#+Y`TDv(a&r3{rD7%iCTvT+X-XV0=gdH7(!+LX~bg$|)oS_T) z3chT#FBtdOqpAyF-?8780H>xGpS{r_lzus@H&vs1tyW4xw=Ro)olZ0L9SJl9K1qLA zkvKt(MFeF124G1|el_0vhQ(r{oGfZ*0y4z>o4(39t ztGQOYzbkIdgMFSVpYiuSw+Adgl%2>t7WKsG-~bH(m5Xh=+#umdty~kIq~41ykE>9p zpG~nq&8IwyEiaBUCs(Q7RKzsbOl5J;C%B9jt6PDb=Ljt@y0;m0`K3{!FVZY6-3#t6kT3 zx~!1~o9;7Hi!r$U-S}tE>OeQkd}Zv?wZ$}eM^lydU2gVR9&Pr>J>76Hl@QaS^w2z{h^=cyQaxH`YJK8gN0JG$OMP&BP}tRNLv|d<7Q*> z=os@1dVP;Fd)`0$HlC-Fm}jDdZc7&f!+$3j`lXq}W+GaAwR^Qk1C*pZSv>`Hm0TM--wq* z#1PduRok6`$VoXICa1Q?Q8n~yORJyEwcNY_I=7pkFw`^nJR`91Ti3NK37CnGA5u zpBI=_jqNsk>2<+Tbxk>Rx+YWzYGdxyiTqLTr2-%a(-j*V8!JbKeDlCWv4%bsyvfOc z^O&!LQowxrM-0jirm*ult1F55Ci@~St!sNaUhQzAG?Rf0@65tF-l-{7>S=LC z=&;P ze2``9zZ77jK)Kz~y6jtp623_bYXsy$6 z)XgOlu=53POm52_T@cPUGL!t{_^ijqy#T4;37hs;&d%Sd6quS%Sy@;LE6O@;`L$>; zbjT!vg1>ixuP}jeZc|tyd9I#)4PyY3>DI*hsah%|Bqfo+5bxYKd66NThB@^r+6E@c zdzU-A1Wdeel9IilNperac}HxZkfrSmkXVsFlY&j!Et|X`DJ9jn8m=4Kzz;*|)loYl ze=y%=@bw>?;=z_(+J5yPM)}9OeOU5^D2P1%@df_(pL#T)9sa)2f4}y#@B*^rfA09_ zf+c*C|BKtkRq;apGOO1`7Tl^eY(ZlI*PF^`g&o zS1Ow!`tKXnqkVg%`tL9Pv)KQSmABl({2f0Il^@lsZ$D&be9JPKM2ht{Il=Dui9y1y9Xs4wyCUbKOLVyR(+v6w%79r#xi-y^;N-X=7PyPIM zj^V3J+A~KMWlx;)%5Y5h`;V_(8yb>#3}`R+)-SUmZ$K%>e?PKfKmUJxqdac^=)b>d zU>ncZT(+>N(^$5m^`NP$VlkU4)nCTzy4Y(HNg#G96kS$TeXFgFW{-q7VyNx`<9fZY zzpu4ywOX-x6iHLde4dCGYVzfYQh{cMzfJ^RunA?!!q6%L&p{(BE8h5{59XLS+8|pZ z%?jq`*5^Q8YaTC@MwU<>f{pf{&!zv@uiLuB935KZ(z%0`Vp0jDOC|Ey_q(Hb!8QBa zWZyAyFa~m#(^)j$eHu-8rm(3;LFQ{q~rNOq37|!JG^iM|DNk93N&HTTMVQlUk zM4P9m88ejNo_1y_w)nVgMZdQ8*~my{*@_w2rFXY@nw6-ca)sPTi!g66=4g6-WJe%r zXG<-O5lK&v#drh!z^0ENE!$HrxV`tv8mIgef5dU7_9iEx|29)pCqSNp7gkyLe?RFV zA7TDq_@*#__pvaT{qp`<)p-73r3@L~#N?`$| zrV5}4bX|9*OB z^8Wbm?Nn4Y33w{+|K2V#vM)ubfyZ5*oOEg5(UHUE=3?-g&-dT8`pxiTd5G){=c!d( z?A=^a^Y2&wcq#ks+q?JTO(|A7N%-7j7jsir(Kx$mDk_KTM#GNQjgb76wY!}OGb$>_ z%gZ9&)vjOSS}P79$3-oH|6U_9nVr&*0L%b=^*UpqvIthEozK9P}EW1$+J6+{DDh z!rGRxi-oqfmD2iCWW@CJbT2!6_Pd?Rvd&J(<0p@A+MNP#=BjGg^{!3|srd^^Y-m7> zxWltEP$LfqDp8iNYZ5UY!Fp0rQE4x?+3|DJaXQgLU|*qKmt?uYsjQM_{~&J6 z?JfQU9_|rpa*Xn3Ogy{Aw^C5iR9UsSx~U?U?LVUO`Zc@B!!>YluwgMTwEkREtoH%k z+&pw)b5j9a^Dmj-VO_7*k%_o9muF=bTWu@SY1RkX1Y!rhVDi$`%=8ZaiA7WSExtSG z{>}pMVo#F6;84c*$Vf(~CE+_p3nD!|Jy0qXuR|e)dN&7cvvQN>ZH<_%jwOf(?BXNM z|9X8##WXi>bF7Ma+0)a?bSQm`{sL+?JG*&zv7Ej$*IR{vV`)B^+7y#VMWtSE?Y-U} zT2L5JSoqTq5HDR%*Yb3VHI9pGXuRF`hlfXvrd3R2V(;0Ad|L=Xr;yo{{Du}Pmba@X zoR^Q6{6=?ozd`TS>CS9JGT>@ePHtwGftOc~(D_wDR7QGMJ8rcK^Od93z*57-o-h)! zgQG3I9eTR@->D+|!^L_gUp?F7dBp^N+oh&rFDwqC@i(OO#Gj)qCs;1EFwQ~gXE@HX zvu-xVK;QM{lH#GulVPL;-gwWlGNeRq2Qm&v9?3Wk#eNaky*)Fho5Q`Gxx^-KgmuHg zrmCix@89#(tE^)Wmy-()IO(aWUx6*g#Whl|vBwf?&%C%edHwR`M*h0j&dwWIxe8|M z73HZ?r=NoE@*|J%SPCg#y($&da&sdBflX}?pj}yCU)-4q5b*R_-kn|FGY9j3|M_(6 z`zb;`By75uJ_A;|`Vi}}sPbF}gf(Y&c9c z^+lxbEa&L5PlqCjn#~#O)?mSdtLaYiXvqO6!vo*4D+c=)lzs4`1%xI7PL# zEpfYW$Z5Ks<}U}{#QgsBX=`Nt*>gN$<1Kq+f{wLjl>5$slsc#5UfedT@^X9A`8%rN zOmBs&+L`q9$4$)!GU_g{9-}$YMaBx3(Zbf&Qboq2vdi1?7Rb1vG_&$SBP>p%PFccTeR7Q3NZZv;-TA!1BS7tZ}e$QfBSugGBg^ELeaf^=^) zCEJQpmfK(o->{ACR4KMaTf|YboQ)V)Vl(SbRfS!M=)Q}e-X!^A9Pq*G4Gz- z+8xDcHuTCGnPA~qGX8>^Hn@MRAPXEc0}AO(aJH+>VSa!4qO7VKM+=#!q$79QR^%$P zkd6)^l)Tc6XNCuvsIn2?IN~B(aX25FF1>5*8IL zG#YkZo(K#37!YVtXunHcvK|l`y7&d2NcUjj$iTor->tdcwH?$Lra0_pO;qex939tzBaqWFmA*d=sM3qVD^~XVQY1i) zo^FlSY+taOW1`{W3VUbgR=Vg`EwlbTJsn+I zs*%9wI+Sj4eJ0)6U84w=`&PJx6dk=h?mx@j_;|Xjk4jkQXS3diPNeC!zgJjc(NVK6 zI#j4lwzQ-uujcZvN)DeV#q!9I!rNLGL!iidzPo2`eqp=c*H_8{3~c=AWPI+ZrFeFg z%ZR1VTR2(=y+u0YG|+v~t-aZm)pcgwg|}~LY212hdAbpBN2}tnyDGlG`Arx8PIoo4 zE`EO>%6sO^|De~0qKYht1EXnSy8@?2^+3Az#N-rHrThJJ*I<0sR2yGp7uS_{Wv$WG z-TfAnQc|Gv!S33c)cGD?dd4n``KGDGd>F`K3rkECu`l0@W?5QRl2ue}n<(m^mAjd( zk?ZX52PIV``sTd%&Lg|BR-At+bV*zM$Nm(m5hKnk?Vs%p{ytk%<+zCs znifEU2-t$KEoy%sv6{s2UHTfR<_86)eE})SV!_o}7g_xYFfaKS!xOb!WK!;(1-^9l zZ!sB9FlZ)lMtG&a(sVi$`Qc)Bl4&-*aoB=UYUjWXoykrh_&lDc0|dCr{4pstS}UyF)%36nW``mTSq=u6s}g10tse? z7FrL*?Tcw*M&}!8rZd%%H{0XA`FBq)D7oUYOY~(L++43tb~)oxqy zc)a0`9;iaVgDVq77BNh#tI!ZFdHJVr1F`!!xGR{rGc{_?K+O9xso#}8j@=>EV*U&0 zwCA5DhH|`-wmVU6M>bxt9g;ZRFamo+LH+GSZ`Io>5%xx0V8Dl7~dGGD90 z3=vFniyOG+sHcANZn)1S%n%SJ~Bb>QnqVe!zaq52%90tlFcx=E}gBq-># z8hKC3=|m_Xul7UlZOz=umGt@k78u3R1}3Q+!CZ)1 zG1`}xJ3!x`(+>(VD!+*5zYYSrrn2-`<#R?F?s#A;Gdj0CjaZ^@te}vZ zkyD34p+8&{_N57VY&&+&#uK@1Uy@My%W-moqBHm0%)QtVUg(*NdHL)ohC+w^dmyqD zwe5NVwGJv8>bl}syK$Lbg{`cVJ%0Rn@TZJU$@*0lXNv3fQDhx3gd?#%0s}2RnV2|K zMBC2a+`Dh%Mo(hrvS~8tA_Kza09`1@22v-yF?EKNYM6eX~9(2 znB7}`zOT95hJ0~}q}S}j@nCH$D}UTP>z9oCj^lcKd@M2bL0sI=U*)-c0>++c#qBWX z@6l6j$k32IqvHXJP1x^G3!W%*jQIQv3^Bl5pL5 zS+WC$)=kvJbTrN(okq2CcdYy#3A<8LGnp}WFdlP9e{}m4bi^JnvfA;G2ZD^e){sm2 zN18X#KS*+xM$m+3bNG^nH_@#Q3R|c%PRHl(zqsg2^cfWM>xbg=etyh6=Mn+HjZbD~ zy%!5z70$b}B@~Q@hqWv=R9XCfGfJARENfU!bz1*uoBw!8Dyt`{7E%f$&lAM)= zQTF)>fCG3&+HP!Ub5uXRg;?RUp;qZW1E!MB%0P;KJMUZu0#Lm-CWoKZHPjDwrXow$ z`xqVWT!1}Cdc7bpma7#iSE7%2dJOwxmn;;5iiX>{aCeKlu>CU-JBRSO(OF_)YelcXqQU()YB1OYCidG*r4y=y#%6fDA8&i zr_HZ@(f5g~+uR z087RZdOeicE2QAIy9N$>k+u-QhbUp$0!>~YWY&9^eL4-I_SV+O*1&u3z(5*}8fWXh z8I`sEWN^ai2zX+E2XA6H*7JrAr2|dzu`nc@(?TdFu^_3<3g-CAjl*a%#JgWV%!7W#- z=xb>Z;)4Ub;g8|3TJ%-m_A2~ajNkG(jfQ(yy#Q=m2;P%Muw%XE5iaf1B?iMlD7({Y zN_;e=JjSM5nFuX^f3`Q5n2685G+W0_>~ezEUwiOqxv9y|KXknxgS=3CwM$$HN2!bi z7JjJZH;l&@*XyN`+Nwz_q}^SWGDpTdwepovxy*sVc3*80lFI7JLN4ln=%%KLq&V@7 z?^JDh=Ivmj+r0wt82HvYHx3-6t3#vuP&4Yd)d)?HBJO3iGs*R}pX& zt0Rx&UVpggrYW!l4u7Kq>uT8X+4s_+4i?-Tq6V^JH_l0dFtN&+pwXm~~DB1~=R(;CQT#uQqufVKw&kp^RCR z{}C}qCI|Qbbo6s_3|hZyKkSz{Q?L(z;ZKVo{su|#l>kdd>!?oX@Q=;URK`?Oq9$6h zqf=9N>Ft9*s9T0!76}{4(_$5gd`2K4?U8sD`)VWn82&J4nDkxJb!=?^HvjPZz4Orz zL_OzDd-2kc2!Ut2129;|r_EZ)?>;nV%%~e8Afz0fc$Gv9W7J>OcO661;1C^`uH}=G zCZfN40d?||6>sGH=s`u7*ljVEh4Lw08a5jZ&kq%Ej{f>O!*g6}>q;ih6c zJ~no-;AyOygyp&^kHWfipa@{15o&< zD52GsR#o>Ui3vB`^Z6El9`7UgnlBEM7q&*#F|lR^cc=C&ZI*rGg@tt|Kz{+RprEu= z=6BKr{BD>amWWb;Lh*;80Jg(`%R?XeT$5TMaz44xiJ50+_VCJ+HYB;Nd6tl9Pnt-W zgNuXbEPMGL3x_xqB(y*pgLh2d1P3;sOiWO_n%T)vVt#aTzT3qZzz)ULtR89x;MyWR}aTjI19KWU}+MT5DC$O5Bqa~ zJWE%>_+TszVG|<~ha~#@7Z$tRI3)<{R(5rF|B$D)+L=HD+DYeZ zhaL^TM#Ae9V_{fv;?r?ER{ON{v8z0kt7moXZ3M|MojiVlA} z)d&mIs+P88O4f)NJUkl);)8_$HRD4=Q$PPcz_cni2)>a3!hr5CU%~iiKPi$wjEB33 z(fHTf5M~J>A{c53|kgqhLSkY#7bRAl|{`v(Eq|GoVyIUyfJ(L}DK7?w@fhaZ6QAfN1PDst(& zkG9YMyig}1V3NNdCOu>00DlaM<%`3#iONH#a6hP)g{ETookWq`-GK1|eo`-o)Bp_j zkrERe$V?8%U&&7TjS_?;-JsBpe{(<@>iALu*oRm}AJweVF=ZZ5EAeXJyZY#C5t#`%O z<4RoFp1WN}p~M6k9Wn2!^Yham>tkaxuro*4&Q9y;F;oWT z3(^WVf{e9~7MLT3WHsveiJ+VuPCz1G02BJR_twRKzX ztLXs4QvxuoX)vupXQt9&aeMml?vx#7qA+^3Gb@fKTpcod#neQhcHIU+s(~Ws&fq3k zvon!MYbyjoV?y)$^=R6W03IP=vHlEUrALs$6-W$`C+sIC4$y>qkm8NR5NkWVW{~-p zFEK2Rh3VUH!XnzYxhe;i;r7!7L>T0sRBc(ls+ES>&T5w!e5fYE^;slaBmF6a@_zj0 z^KVMqjSH@;Gkn_3YS+6#$T9!@Gkg1?xyQ_FxA`x4HxVu_E5dDOrL&N~+wy{gH`vqD z6Bbs83^EPcK&2btE^S9BJ8Gf``oO06K!wHQ=LlsJMPyiZTO-(s!Y4h{4toy=wLfd+ zcP|FeGDWjF{#41}{m>%WrInSfArkJPP;&G?#|UlH9}cOu$V`oCZ>}!z?zTqge4)>s z$yCVasY~jK+f89)4S${i=$%z}O3`aRCSP$%bIrL$?KnoU9`L33mauWsFYh%gZa$>zgNo zxWdj<+cQovF)@v0<%))N%@d=R};GG(UZ2y?h%2mzUt}ahLy!|Bk1#bx6>M^!#6cs0RT$ zO-!75K~UMs_~|W*u0H5ZBPt!9oa{T8HZOR6CTV$b0F$eX7D~un{=2tV!4^-Z48fH6 zF@+fXjrGEh4NTIyZ#JAbmrtHNMMA(xl+BxRFocI(oPLUXSjRWlGep~JbT2P&ppI~v zu?XM((G^3*WqD8XGT+*^$(d>LV~Ic6SBZqptA^;WVW%?xd=4fQSna8^WlH$}o~dFk zvRP+Ce1Ym6$`=PCEgiYRa}}|)L<;(y;Lp3&JY8MY^9u@UYVuBQ9vu|{s|%K)j(m#z zTyV<57g!UUky^+EUVOJ<~ZkI83$iI}u%##7NOjd>kE? z@DHo$>h{pS(dCCEl^jsaT=%;R8@$Vun?N3XCY@gIL}+hcCTuXk9K&n?H|Kh8CK1mD zo1=J(Z!(@QY-wq5vN4EXPOMSdmjgAQ;;+c_+gCc% z7@dv`A3rYrO;b?ov#`)-X=UYIQbGf||A|oGe+Q;p%HWKbsw;*s3UTAvZhVpZy(Z)> z(EcyDSny!_t1S} zZ8Aw{xH0Pac>2Hpq(&x?X#VlVQ^X*w=iimrZn3v)M&JT19%^W==^O1JG>ChWfX8a= zp;D5mJ(g?4;lzYdW1m4vyNi>ne(4^=zF#6Xx4pCT$iP5}gS+N!_6qh+e`;##Bh@@O z<5Nj68;<{I9@v_L<3Wz%#yX$YhF2d`4C1DX zvBW*H-EBj8fhbU-e+Li{Vx9Jo#}GpnRrUIWz=VYEj{bfyWxWD88eU*7!c2{Wv}K+f zu=5LxioVp<@q#5TEG<2vFL3^;B<;;*XB^l^_6;dR*54f&&rjhQ{=w#}q|5gwEccqn zWB@oGNHee)q+-o<=w~l7XW%?$!c z%zw(pcJ|fe9r5?AfW_TiS}spxkBA7egaiV##;gOscY;DbNX<$g8rp#HC^ecC1Us0U zr+f^`%CSNy;j*HgJP-X{tEvM0#X&Vc+}9}o^zOq0?r=SoPX2{ZtTK> zJ;WndPV7l^7+(iR93157-hh z58lEa#4^t>D>7e30n$--cOV?L10-2^rjd$dg%K_MBe6P45lo+{)u>KX_)fna9^U;h z`$%nC^(n$?Y=*F~yer(vb|CSX1$v^uE0Y`y^ufky1T#-AKdEdh(B!zW8Yu@D)tyt- zEyM%0DhRbFvT}n|>F||LSRU3M9uBtTDe|UIvV&R6#Crtc^{}2@ajCbTuB9G~OF2Kk z4v*U7Im;fcLeywJ?knc~PJgx>ytJ=PHcuS#TFc#gB~c9x zZBEFxPseQPj+f2sUUP`mEO++@4XuwBypcO`sSDN9O$xWxtfHa21eRa(nCo;&O%5iX zUu)n%_>vfuj#zWH6lF-p^0mAtoNm~86p;SWVWNf$jW82Q-#v1BY%i`VFcXEC?9L?M zShlu7(nJLi*`!PiM0N^}%+@b6`?V;iVJtNwpJT=G4C3mhN4Zv@dpz0?CV0&yg6?)# zzj1nnA5-(G+7!MK34hG@Y>V*Ws(ODlL~b>1MB>Yk4a^~onMZLCE=I@G)BR&Ef<*Nq zhjV>!fOM|UZXVOn;3GPfH2it$+vPTC;jyaYiI`Fiz{k1YBcsXe51E2+Ssx*XNTu4m zIvx~@2)807tT|5y3ga7AV*X<-daWQU9SZPY-lo5HO*k48J9{%t!CBjwB#qU&R26WO zQn($uiu8mCNS$k8pxpR_oWObaaJjiX4AtaCV}{m)$E#dkY0&^s;PZ~-GTzzaawu-1 zP|fGI+Uy4wT#etyhJ}cR5Ybh7ojm&w9k=Qn=D#Y+c@QhnVkZhRl`i@gq{!fW8hLt| z6f7nzd}Yz(i($n@gMY}Mj{~?I!8jP3`7_Q^VucUh=x{^i=g*(Rz{|u}kOzR5@&5YN z<&8RepcS!%M_F0q2Eh>7{gc1Rw@z=RCW+e*9p0DAlR_iP-stqA3nH{l6f2a6k?0|j zg}=V858Tn!V)8^A6zt&BLDYHwT2SzvjMqG|D1Y{jomzdteFC)4hX35japZQ+CIs`J zbmWedIJSIgp$L6bRqp7@i5D5meiEV*;#2gus=L-3ZO{dy8oW&@SxSMHwD=_z z-OX03!PdCuJYr!}1fyDx!d@c84cPmIhMCgjco`Qr#^Wg%H^&%>Y*nP&T#q_`Bc zzgRF^WZ~|Jpg^&*I{HwFszr0w5U*Ti-5IJydYrA2#)J$jdT<>QnZUW3WlNCqgPG#? zV5%C?7l!PoOy0L4E0FZQ!Z7Wyv+%oFY=R3>kt+Zdck5Flnm(;+R|4)ZL$0jICP!>r zA1DoV-er>Ng9RHQ>@!tofkQJ+r`MU9ar2`9+&EmMlkiqUZjh?)jGJB*mEyC?9pBeFcTjm<=-V6>>(kdk*Nl9(OaDaLPDNV6`Fc z3$Feui)9{`1TPOb<_FViSBd`Ub9?A@q3tOb*w%0o^ZDSGOlkKwY86eJN(LFry40h; z?mJSS?3vD1g-cG4(GZIHA)+~xJ#J5N-I$mQ;B$pi5sK+*%R;b?x+2)=Ay)lKR0+a< zxtsSTx5Z*b6w*l*DBdl%N)ywxG+n`N$tot1jvvweL?yLge9U%}Ddyp%oF zS#3Pbo9?#=hjuITAsx>VX`=MD%jd!HfF{fK@)rK+WLTT8US8{n4yN4^?ITaCSHi#PR9_9xF*l)%|qN(WU_@`axSAbYb71%I}&<0oan))qD4 zat)}oe!Ot!8jD8WGVT`;AS^Ad1&)b}>~?am@_JP;eu_mjY)EMI=%-@PY-0(RJC%lA zu%J+T8JVl>US;#$5_e!o2x#&ozWHKaL{RWicz8IEdlGBKt19<D;>e{FJpdYU2Zk8axW^@A=Ek7F2^)@F0O zCaGEH+zQ(JTwd=t@N)vm6COb!ZGE^jzTZ1nZl-2Do_{;K+%N_(K`NEvS6R}@eFrvy zJ1Hk9S3A=c(KX@cg@zWb!^$c$V!Ff;`n}CMc@#qMTuTgwenVEpkDJBeZt6|g$AvsM zC(5w;le;~CkzU7e^kNmvS1@*(QSWk>1NQD9f8dDk4R2vs5U^LAm1BlvygI(+`}%zT zSdT$;#3CJbn;=%(GI#MNKnSkFukR?s*e7+}nyw*#lQ4K~4g_1Ke%526E zpVIBOgAVS=EQSLR6qHaz@yL3hbuDdeTl)G!o?}sm(J0aF?CxeO70gi>bUcs{4hgUD z|FHJeQCY8Bw;(DarP3gvqDXhAf`YVkH_|EH7=X02fV6Z;OM`SvOLuoS-1VNb&-a}% z?)~$=WACB9;xC_P#awI6>2kP+A%1=d;AsFfBK#@P7JO|e08hxJd(2#=Jj(N`MhKxF zc@uy1cgkW;43j=qJl!~pRo?@!G}KGolB#tM6rKr!646?uPDheux%XA4CteSz&Ipin zmXQ*1>IU}PyyAFr3wW>;X%wGuJ$;4n8e-7}nvKB239Ec4L~!^K8=K0%zDA(1^^gAL zJPM4CrJXFt#6ap0i(d+jt3(2^JAh0*;DbZ=7tbqzKLmhqnRJ*~4v;qPNh(Q-)?Mgdp2z~(%r7Trd zSKkK(7l+NWljH2@XaXc9C8cRj^V>v%9()808ubGM@~c!&(ANzHyt8ngTW>6w5SNxb zUAsa7d$&8JkE z9(|9G-#t8R9v+V3v0r-&`T114iH9a<2dlV@THo8++I|4po)Z)< zC3BSW{tOIAn3k87-PUOhCN-(m0$bz?L|{VRciD`;vLE~8%B9_f@<~@5CkU@-gO4%L zWzcVBb>Dk+b$ZOwLO*6bzmz9~{oqOXDzCxKfhGEs1X+vVhy3ET7pIZI5$~j8I6`;x zaVo5L`RM86-Y;)iARcD(L!Yt27F+I?L*lvR?Hur=m|4`MFAOY2O3mggoLP6#&=$JG zMG=tzk*C%#q!+?CINsrI+9Dz%POjUEJU;hSd%V#-k^g|4j(7N-U3(gmsO19N=Y-1~ z0n|96HhX`O&$xmce}JS-s$Z|&#TQPqD4E%@#eIx(d%k@`83i7>;BwbvOJLOg{ZqFw z4DYtQ?NS#JA3wjzpCsggbSYs_iG5A3sHlifr}AR5(%xh^S2eo;2M^CXBjY)&l}F0? z8i=iw!0(!pmltn(4T}xH1CNV~3xH-`0l63KH-MX7Uny9sSxx*3{rgu1@?b98B@EAt zT~tsRgz2par93tFma09A+Gkd8-rRwC5Q?WyKLZ)dpQM*4E=L<;Q!pvdKLY32+1-82 z!xIapP~XI)9p*-|l=6t10|;c+2nY$=pvzxQqwd28WH7SNA3gE{AWtskl^^ah{Il7H zPpAj$BaF>PWCR4hu;^dDe97l>aEFwX6tG?BR1iPh7BzL)9BUrRQ3efgG3KSdR8c1< zCul5i@9OTB55z=A*N003`u)ggMr}PEofm-TWPa-jPUvbv5jf``FVsf`2~IKl(KP_ZSPZ+qDHw$pXjFvJC}uOg>%fIR zCjkDKSb=mFmN{VU%&$GeugUxmkB_f6%!Ph5+w8pM$kmiONNr^^?u+W?^_1rcyGL$6 zzeI1!VbbEE?KxI*;dhCOEw+2iOU!47v_5P;qcy16rOs(^-5>}CuSwL~+gI% z+_D^KzcRB*aJ!0p$<0(#MCpm=Zh3Od&gXoAwEUQKwf{&|sZ!=C8`r!0Vg}WJW+Za$ z65otC3|W))hqi`n6}P!#F2iV`nxd+|K=I0Sogg6SDZ;)o+YJv7rnmKh3-mhMwz;_( z+Vw>>G&L(+j~PHm(6s1iZ3_*y!K6>0KDFMS;s>p;1H}r#k@BU|@^Yi0Y{kz$KJPdF zGFt*CcnBH)ojZ4CjzMK<*mJQX(#hGG*>ZvlB!szum`zt#7nl?MXqEGKK!nWT61ezf zwk9g%{jzeXm{?^H#8ta)$!w}PuyU~AjVn(g9JMa4>~Y`BrVijaO6rjtAGxO zI~c3THpZ(GFHZLcy7MVgTQCu;CTq-52Rn$))OK;LPLhzL`m}lZ1_jvy0yV(vB@77dB z``{|NtSoY`BJ1iq&1f=Gvtox+g(sFB3A;qA4zH-zl_VR>!tdAQuFqANQWi{C>+O}? zny9f2Z$R0I2&NKXa^5q53bn}PS>hDg45W#f+1ZrpY9|s;DJlD*yn7q#;g{I4@%W^F z$(orHIygAMh(T<9{k7nX<3ihgEHb_?fQ(8@OE2`qlORET7s!y?2D9WV95#s|n4#`D zTxiF+jZG#AD?%0&9F6-@BIwnRa^8F9TXnC`%)D6ci4PxpzueQ^7E1BqnqYbwT*_nZ zTDL%QK{Cam@^Xc{xKv(oalp4ZZP@68*?uMn>4aRG__KE|iNO90F8${1+v!xXF0QWo zC%f~w#h%D89|;a4*<>JH%mT*e#XM`BcJ*Snhst9)EQn9{myN&=M$oCUWYvJSP!}}Z zBUX{U*&>@2a#NJH9C%evP@5$r?3^l6lLbY8+i}WrSOyRh*lM4Lyx zQo-bk@0`Fgyp@_%YyqhV_23~=`aCsSTQWGqk?hgY)Sdg z94ZnNDmByS`~(!B-1pSvm@vf@hvu=7~|0dIwU_a zHX%s2o}F6&*-RdnsQtZW^pw=?-IG3)1U{Fxc~NYqixXr=OW$YRwH%oW@yMS<`%2A> zB#8%Qxe8CT$oO4gn~KQo9+@4i4bcuA0oh%V%c1Fw8#ltplz6OXHv6|UL73QH@_1{K zh{fQ}`O&6?eY>uNL}x+IDSIuumFa6GcX#(03*=*W*tg(HX`78eg-my5)9A2vWyP3H zplC27G7=B6D)Z@DQlsVTUcH08J#n6^WU$RYjCtM9*l3kt#(AiQ~z&H5Ec2fhRcOGj%wS?*`}(U@(Ypi)-;qo4+bJ&sL(qd+>4j6-GB z_z5aH29ICOz?*#U&n#^X38VY?Upch}()1Vac-xhX);Pk%mHE3rUq2AW4b{JE;<|kp zP1GR7{h<}bnt1h%iW60%&s9hDtzy`)@9!Zt?3%fLW0G#;U&ozCdFmx^0WpY~Nl#}X$YN36Ler1IC7AtB{{G^z zqrCQOO7#+6I|LRR> zky%O?7scUji*IwqAYuKmS+||6cl!R}?r~aS)p5a&393L9r@@- z(m5wEk zvfvt5>lV`%K)?vvd(S|jKwQ7%jReDxMrO{kh$cU0g>7fSdu}m^ozSqbD1n5?L~w{P zIX^$4L}S-?3NHf4i^9jIx*uJt6mo;W6hxkB#;`}OMbQ)B0kt2INOxDIn5o4G9?(1Q zyU*t4>Nfg-SOfzUoC7|6LP?W|UP|=5f=<@R!2<0>>3E)J>jfadrH8+JZf9?A(wA}z zcH=x?n+n+qeu7sgpP){!V03*02tywNzzh6V!jKrOPF8VJQc`ASWw{>;^pT(a+`)WW z>+4f1Wd3n%hoBfD+-BQ-C6|Mr%~K5@qT;J`rY=$=)7ET#poJ6 zk5^SkckG7pvfp5~?hiY@(4fhH%Fc<`th*D{J`nk~1lj2K527L7TEqnVy+k0@$v?2S z);UahZ49vyfMG0oq*abM#~VcP7UmJbVfmGIt1T;i6fvB=!X8=o=O~W0+^gL5Go&~1 zq@TQ6`pR2QTw$9do8(3J>3LJM@l-W8GBPr(bI%f_i=}Q7n5`Ed$=B@b>k~8eJlY@v z7zg}7I^n*h_OPP_AqpQBg|S%YbWn#Ijlnia>S%xex-CuuH)9_Vq>i5zEQG z8pBy?3+Y54WJI$|OSh|QDAm=~A@KD%L+u=2UsA^FbCcA9Vqu$Y7jFCkrj`*xfemFuIcj?L6B|2otMj*bCL-AGRF~!zAW}MZN zVU0g@arl&+-j=RK3szG%9q&1Z4ER6ntu#|cD!VAh4!!rpK4HA9uU3lWZjB=aCGT2) zvp>8|hwUju9>Y?ar_K+Z?I^d<(`$|sfpcY-8U{asp{LlO{Q)39{Tq%@`vQ!o2_A_2 zLv#!bN&7B<%8)^~T1`$J(hVdoj|-=4eP~wcoo@|cW;xp^w``MD#K zz18Gn#YWf=*c!nOm*8XRDrQa>|sJy3V zefnt>{&XAIiNbapr|8dUNAy`Q(!J+D8$_cB9TVwW=ChJ#B?O>qlK-&&2{5 za-VGfNJ+m|^nOz=p{dRB|o+?aE+7to(Cn+k=z))K_<#5h+F# z&<7!uC|}bmQGv^mq`erXzuMVNHtJ0f7Zr1SCXPFwk*HSeb}EF(Kuo-SZsQQHL{rq_ zKvBW1VrR$tXlt?)ten7TIZW1rkY^MLrzIk{ns24HQqZb$z!Vh~^~a?af`n22VIrG} zoWGE^q$CD9K3$Sd!^aYfagMASVP7oRNi3j}gnMflu!U#cZkxk-<3<`L?;%yVt+VmB zP>j`mdKq%Rv%_@+x+GCNc0}Vdg@+GoW^rc1Qa&+5|9PJZ1LYzxD{7cy7(VsOkLI7;CjFC zrsxPf=gihtLW(Ek!hjyk0S*UX!4EEv)&6I|MGcNjrs&9VQxOoX5tHouhG1KGoQWX-CLa0a?o_?g zJ-avahEfjm8+;GY(dBQTT*A1Z(7*m3ZYf1BExW{IK<-}!EtX`UpGM?K5!CY5_V$+s z*MOKn*F=Lq9xW3SQ+-FrU14Eit!k$Rc#fl>Btb(%vjJ|Sxxf8%Z&4TwAna8gE2|KQ z!vRXsYxc(j)lEOhsos_t_x-qfCLW;!2^*j`*x*Ir^@@%bz4P<;N8ki7rH%{E2)afN znnxf?_lGP3;=LqD!(qrI6s}-zW0V!K(QDn$fhkshcdnWGXqlaf=>_C>&}k`KVk}Fe zoZki9*WdD;1qb2g0QEuu6%f?p(y1`5UP5g6!)m%#AxrMr=pjC}+~-fI*m_1r(M#)U zs;Y(V=MEE-lZc!Ivem33(5(>C)=qpKfS+7YAOjf!B919G>P6rXkn0x1YDRch@SOeU z4v_f(!tokzC)~di0%6^b2x=}au6xA9{>jOY0Tec94|@h}La~6BWN_6%`U14fM)h9E zkgMpys4fsD6EJEuH8!F^$!%?jR{HjF9; z{17iC=1E_kedDy~Xi_ak)D2L#rm9-SWn_jIl2rGWmZY*2bFiTJ5q<*(=YHAKe%~DD zEYfYn2g?HmxE}`x2Y1lWlA&IZIHWBl6$I4}eM`$8$jViL-@Kn0@JncvZuub=E{8ik zvx)Hs0S9kv1O^14_a^Y8BtbL$uc|6moq8`^{j;OZfc$(0sHzyA?97U7!m&VOs~H0r z+R+P6t|2)DcR~zy%@AI4dw%2KUb3FjT{@5teLq^3=*h)oOF@aZan>VQf@OUrxyjoZrkn#*g4_wsL|+VUTW6fql0Nv<4AkZ*XbitdIzi$r7Sm%@?9 ziTxHkQ)|vVUcO}j@9-uWzvPP~E4jp!%H~X!hOhpMnDEQJ#=DV!`Wap|+_=^Ehw9CT z8@K)phoOoVrTqPy(Zuh1u6d8-JOZq!1~%G~OB?$~;r#nFj`7O-))w@uz_BfgKm8m7Sw6uijEtr_PgMo=TKwkh! zy1%<6ILHpbJ`kmn-%l1%zN(j*CqoGmq&HYpAA7WYeT-N#P+>y2VTE1*zXc${k1$L) zW;g%)weI>V4vt4A;09t<0^WCPYIgaorud+#KiJ>@E-b|Q@h2yc7uykhn*v@ybr|2O3h3EkhK7nI^?LvJf9mC>X^sciX?x(ks z<1tH^efgG(<2qJ-X=gMbr=RQU1U)a^KTx#FSTCHQdE@v8rmO#8f_1}WGI+-}z>tvB z{3)xu?H35v`l>?cYtH}P*cqwVKRLZ+&GpF3lR$h;tZn|#_pg<3b<;0zLn`+pAW+Q@Fc<ds<$l}& zOOy^F85cKqaz@5+w<^p^AZl5MrI4tFr_jSIYmZ9zNQ{kDi)|I41Y``-I_mCuc#DSM zM?oG~P_<9>OIKUc`*#?i_^SKo>yNT?*<&ZCYh-NlspZAaSGNZI4iMdzV`I3~DFK#+ zdT?On)i+PVGv6tMtBJ6m4mqpHsV_{rPI&Hkt)TWjrR;DNa`=&*EuJhihRY!L4Lo~F zf~e-|8zDCwKtCAEbgtZDOU>J}F-ca;%%JM^7Dz;N>sV6=p?VXv! z#^2A8ijJ^-l7A%&pUV}dJjTLe8F-Db`O@GrKP4uT11Uhu)Re$zAynm9^;zTun&V(nJU2IUC69&S2kT%gM9V3BiMG0-BEf5M1?GGx7^4HM zc6GW;4*FSWXlM;hO`jo-E&>dEZz=NGtACg*JHm+S=W-&b6#dckTUk1WB6~K+bo*X$ zyddBX8TiILQRyBx-}){+5xCa#^DQOg*F@qtNSQe}WC5opvg{&!jsQOzJ~|_=2%1rN z00Fp1AsTG3&=&gdui&D-upz2gL*H8ila(N7TOE&vrV@muOomzYLhIA_OT7s}3AMG* zrgBSpL>5-K@p2?7DAI+v6%OZDs_gKtLKTFeITwR!t)@rU& z#Ym@#ztSVPsmJCPW$L>&5r{GZ8GGle00VBriAmk7n2 zdSvqyU--#531t)&4X1E;jJ|{td_j~8kwAf328oxfA6op z3#{^*v$OS%o_6MV6gH~yL8vn9Bnh1CCk|CgkqmH`KZ~>YE)qzXH8^N8Rx_^4gKGR1 zc(Y_}c6BW#e#v@x)TZ0QJM352YBet2Ff4V@sf{(T)Ln&lzpvBo!Q1Vn9(URG5hLT%y&=e_GFBh5 z2|-D~wEu_SDn`Bj&gD(SiRw9>ZZWOBMz^wBG@r}{9GPm>@A(3s%OD(~K*`WxrId4e zP=c{KDI>wT#jeMqS8o?O!_|js-IK`N*<@Qol)p*eSR3ky+=gNT=iyq8?YrV2)_4@e zvEjqHb600DZrEbXSlu!of~?ffzU0HT6B?IKnf}<}TXz=OzBh>DQA`yL9$ZJq|JGx| zc5yl0K5Lz+UFRV#E&Zp=!WHk{pDDzTZX998a_t%hmIZ&F-9PJhx_Yc6MFmp(XG@_g|m* z#Bv@xtWOry)lycu$L#HKR2*8qejTd5ou_t~4^!wS&z@oo`;uGQtXsgX)R#zlP!l5| zCG{E0wN5AQ6G~^uE9EG1#7RNI#2KF&&JaB}H+L|)oM_g022yT#Lo=K*iF{e9i;I{Z z%T)~8l|KMe%XSXHx2$nJTM#QXom8v!@PIoUZ4NLUFUyPNFk2d~3d6-CrMKGlAul)V zO)PLWF*!RG#$K%}XF3@4_4l9m4+xOAw~u6D<)o&`_WU%>=g^fl->Qi?gQ*!~duL7z z%+PHOSG9&De)W98d#XkUXS@1+Ym)R{5|lN69p*nh+@4mZpV--O-z<$$D_RhQfXaGw zbDQ&|CNA>(ce<*{{EiOsTYFZ7aMN$GH5j7dzf}w*BpnqEjqj^BFYZ*|AjG7ECZp5S zQ=nrT@%r(!rda1gLIPLeORL+rP-(viatEoubzKc>k%~#l-7pU#Wf$LmXYfsWkMMZv zTz+%3SQMHa#Knn|rmq|-S^^8%SGxcFx##WU!?uFyR2Ca+n)V}5Nm{zBB_#2OVop?y z^bNR_37V%*Up;>OIGq*#utUMd4$ABfjyg$u0#_=#%*?SYw&`Rff?Cl98qD#x+zR&e zTL)=5lz??AHa@oFWE|<^M~{??3x5A#vP_c!O6q6tB37TyXw%TrDoRSqEG`(B9c?%V z*1@q6AL3iLb=ZEvhHNXe&A?~W$m~`x&vtaH?wGs~bot=qKI446?v+^Nd{hC=Dd&26B|5u$17cnb9!D`A%qC%o+X4nIIWd#0l$2B{ zqe)2QU9_M{W^Zq=zy8Dhvqo}!ct&=!zqz3aL5P|<)u1>n^VhF8z#Iiz`kxaC5~46o z&~%v&P00xKZA5Di=W^TPGFvC@9dC2Sd-D!%D;Fp&3%DQbPSuP>g{L}3(T6*BMx_^T zQ9+E+H`|DMaIs$;5z8ZGV^gD`VAp1czx5VoEr(IC?UZz9kwNZWT_UO)mM(sJ@qg}3 z6z=VQv6hD_-s0lk?yhXzV_`Pu77TYq#dkdDj$a;R$k)uzv%@!1guF_LJn_VA247Zl zd4YwpAhV=IQcFwAKVUr#{6KbA76)8pQz(VEzu#(Bv{r0(L7qz$wb`e{!ngd?LkWE2&(W28U%(oj?P|FWUL#Tk$X9A_w5 z*jrp8&WZ>9pA%c6p)dtXK=qR$TB27bJ{xa!_3qk~W^Yey+JI4SEF9o(Xmmz$h+w{D zUmuUnSqX=MVfIej{Ye5M6CTWI{j&q3#rG9#&U?jbg?d?)j@bRQ1(G8bwtP5m1)+5$ zU6joEEefj0%6>1Saib5mf{N2y=ow*(zx~ho%L9=K%e{d}jOK8pZg|vo`CzL*Z7e>q zz}4m8&)54D2d(z&3i9e^JokgTvRI7{&c>~B;0et6VuowyD2+uY7KEVRWz$=DGvIu} z39bdW&_*k*XRD`N%t8Th&bFN7S@U}y77K}IH3jt{nsf{qSw z(tEyu)z7B)s%Vw(pXvX+}{Z9@a`<)FM;jYFRJ zcj*DYUs8*BxGQG<*l3p`5{ju=bYVEmDiOsyr zsChVSk=M|!BT@q_qw#3}T;yTC7>I1euihEN&KRK18KQ~nP6q%ct|v=5W_15nR$*G%~1_< zCZn4Uib_f}Ob{+${c~F=gkJn#o@3Wvn`bmW7PZWWN!ImLe%IQ=Lb$3N+YITwQk4a> z!nV12+j$E%21sQ_lob`Tv+@+}rGm1}0OO3-&i+-RP#VoJdBS(?u!(TD5DPrRApX&# zSxK1dgGTQ0OB2gi7)vz&XzQ|vHCb5H+s7fSpdiuBjjl+=?OowXN2{-qkiPBZnZ2T- zdm32wq2b}o^mH|Cw_WAPDE#%kMNdAQ8#lI;BqggKJb1un{PyGTMqZ*^2f^Dq|J(19bHe{2@po2XJ<8g!*6yi}FpB+YR^wxDkr4WmO})i3~kFAEgdp+~E@MJk=mj2Flv~iDhR) zq=KIBwh}k~Z$*Tw$4`;z{wqKFccyfGFYN!Jli+zr?4R)+M27ZH0@Nh<`RV^dJ%L>4 z!9SXL|CK21Vn0Sh3>w)-MXNVOc8;v^2D&6GMA@FoJ$}~A8R*cBzP!g(eT}=zOuev( zZxRw6MMcf1O!6)$W&NEx=MN01HL0S^l^&ih4>JAk#;(yJ2^NcfNr6+v5zwm_ZMveBfi-DD@ zS|!yO|16nYip+Km5e$v?88QjydPlN8UuoO5SNQZbTFF)!uQP{YtJIA4&j^Xf1$#GQ z)VFz-c&Qm^C}cy$MaG7RyFD%CZq^1f{?u3h&F{C|v1s;`My|cWWpc&|4*u#j%`(gT z?CKUqKceqEp=p=rlT8m-E@@bwiwvIe{nsP?{0rw_4;m>cSD{_q*5Ob7s+-TDdV_8F zlW)wrD2=GOKcrH*tNE>-(?r^2zuk^3D5qp%GC-3>l^$}WD&4!{72Fw$N|lTm^`)qz z*QwKE=&k)5!Y~;Z9%mbG=AEWd{WU~f(L;G%ql*TKh9>A*GK+3mPU%Wh^V&fygMk?i zMb0>_oq9^pvz)AC*2Ysnu5O`G^S*lq6<<33SAG50XSwR`e`lOS&#!cJ+8$`d>vC}? z#K|{#F$A1ik4_OcYuMFn)VkgKw;10)3*f4&x)udqnC$i5zCY1^Vh9&;oKQjShrsxI zLN92o*i12v!Wasl@kK>$U%e53&v9Q{P=0#$YX0Gb>jOs_RQ$Y$-Z84pM#Vf1yC_Mn z+elcHU9FRiWD=cK=cSi(6TT~Bsoa}9Y<(pAj?R8$$@HUVlYv!gsrkcJi5=v1+DT?1 zOZK%bzMV(AOB)5F1f0IonwR!1JodYd{r%rxy^d|LO~p>Q{fOfX<6W9~ZZ5rD3(lO} z+Z^_rzHC+cU4H%wWNWn%ocP$wr=y?N+ywu#{t-Jtmf&C8rQw30+?I{Qd)WwkuG`U9 zUr#TEbp1~SwXTfatapZ>k*yP*?@_{!?Ieyv!cD;tk-UbfDYdwZ%i^PWx1gfniVA9e zAry?@Nh*1wcR`i!-&?*Y*P`EABOX$G!}+sx?gN(88-*WoTKU7S!@gEZLE3dn{&N|{ z2V2wPM%64f6InUar20x(gN~E=>i@Or9q^f%`Ds=1ZH`k9Np_w1-g-yfaLm=rPM z&28vO`1VK<;Sb-ByB!63$A58U`VLtr1qK4NAM}q_ojZz4MA~hW)_Xm+$f;@lyTaPk z`u$x;mq6waF^6yK`-^4Cj?ST*WxKO}ev>-~4s1?a-nP!>)0vM>2VWyv9^sMcC*I9+ z;P(nF$=UcDRX_T}Jfh=$>@6pjz1ZdiuULwZ`UI&V#Hq@xHYPi$VoDI_8Ez;oO4-Y%m_%Ii|Gw%p{&_zej%+8v#{nj*h zvaDxawU0qern7kgP|TI zt{Utp{Jf}V8RmEC67%`mhPMsx{cRC7x>}U*mL$F;D(o||hTBY~WYFkgFqm9xtgbW0 zCaL`{9*0W2`n{O_NpJwcUSVmm-kJRD*xgPE)l)}Fq}Er@icf;9R!1|Qfq>fAX!%#g zNZ9#WwJpl(!9|vbx<@TN$+9>E@%u+^=On#>>b<4E<%rKK=Vpu>gE#$hFISjsr_W>} z*WGK6?${#4g~CAilxW)tXAg#I@4QQ*Wes&avbaGG54Gd?BP zpsP>gra1NJ%iD9ay4Y(^z1H8$5Seh(eXk3+rpF$j^eTVdWJ0Ud`)*;S=})F#00(le zT$Zza3;q)U-j6wPr1Upx+B)g=&P8sKGmN*EO|qJdOCPi61a+LFk^WJOLt>zpeZb*_ z2W#dg|6f8za?zgewN1-rAwON3ksY=?(Xbg&rO5<)qjpsC@uHA+<{euLi?UCi2NwtA zaUf5u8me!Cv68;Qwf5rm`LZ$rUsr%U=Y9KPQoCnqMc?&B2Uf>YD|(LG67_4tG~3`P z7X8Q3pY3`m-LkUG(FXtN96(V!yEmcyEr$TCYCXpPSz`mOVbo zSQJm|%U8r%MML|huGXJ98J{y)1U#E!$6LS7&-cd)^}l^niZ{qbe`i9y>~V>Qij6&S zaf#W(ecZ|TEjDg|iK=bJ$>BZA>xzmK`>jB~ENbTUk^R$!_Rl@v8vcd|WGnKS!Q2`D z;}4Oir=_*gXVz>Sx4Z;UFqDs`#B5}V=0)6o=Z^R=!M^M2mXggH%)Q*Xhpu(%9~1uM zFA1+`9M^y`8{fGCm#DtHlTkBOLc)E2Z*L;vARky#ixpz`CGVUEHnwUt4)=%~<-sbZ zb6)5DUH82u>H4PZS8X91S=AtYcLz5vik6$K>xYlWF72+j=Nr2cDk4Low~cmDQ%h}o zjh6N{POQy0b4M?_F)Y>>swbW-)%=WKPMk8f4x$JZtG?(mbUDIY2>*iSbjpQ{hu479 zC@|lgMFMY~TPn74?%f%CXbePhg?aomyka8y@wM zOFni6rCZE*QC=Wrazi z#z@JRD5rYze9A@WHpg~IGbg<<8g)wI)?a2586(F~ITxb`9p7HqMLp(^-o4m(IkbiB z_LRl1B!c$Ub>)lm$9}ZY1&wxulH&F#%2jT)?TExOMmE|eja6JraRf>6sbKX+az)VDwJ*d$g#H)|6(R z{A4K`F=j(t2x9PT#~jH+KX+ewgR%jm7NBZB{jhOP<%<+_zh&w#TF4 ziijT4_H^poL^D*6&HMRk(PX;b6F?lZ!|uhqH;LWk)gN;qtEEo`V#flEv^RW# zGhOkQpC6jAXvy-Sqfcnq_wKUZ`Ga8^Ix5``TX#a96#l5FrC+Xp=hv5&=2g^hx-f5V zikA4vd9@F?&d)9;Nqtrx`$-x5`{RSCT;jZ9tNh{sdU9`>BxkRT2KFiK5>)W~xl`7( zr|2{5%PnydB5&1F3|cwnFLQId`G*w6b}tdq*PC)-dOArBpD?}NxJ7VJ`YKJ zE*okZaY&SRnkU+&|ak_G2xY|YCKHiiNmy~q(brFSk{W+$} zk=6Ft($MXkUdG#Zf9K<^2`YxA00M0TXJabowy*ZbNhT6GZ@?Xpn<3Lw5=`JrBzZ=(s;1R`+LraeK5Iz^<7?9v)d#py%Q4= zKcRMH<(T&~;#;Gb-P)Wlc>0>%j+=UWSpoJnxA;pdGAhqjty#QpJ;QM0YSZzy`gv5# zK=iIg9J{2zc%a&R_E@8xfvto6lkf$1T!hq7^9>{qsjeAuhsVjB#}|3IpX>OMzh}N_ zgi{4`s=pzT2zbFrwy~1qSY2e{s3jdLJA(6Hf%XOO8+2n?3f1S*KkZvE9=f|ZdGwN1 z-$1c%K{-E48_1NUTOSID-(T7lx3lAat;X6DM1pg$)9BLbdv#p5p;j;$X(5ytWSlK0A=??nb+V$^I)UJ9mlR_Zo|jkMs?|KL{e#na9ZgQ1N@u%9@x2hDgu9(R2sv_}o^b}XSX@ocDc4MnV+AlJ z&79g~6dW|FRu^Zba!C1;7X^g}Br-A*K3Lsr#@jSnD1|2^vXD`*Ss8L0XKPF=eG)`eq`k|%tvna zcXkHtp8;jU|3sfxnt&jf8jP$L*rxva#+;+H`plD--E<@vjf6vi8_OD0Y=XC^x}nX( z=HO_lVYbnvuh=MZ-~CeHgqRqt^IxZ@eYy*8i1~NCrY61zVgy@`3RNWw+rV6D zs(N`?e8lIPD&EQGGA%uuJr;UWl9GgMMp)6(iIfhFw}UOGBu94V50@fwalig@=OtiMr}_i=z08GS=qmo>}!17M&V*}d8+0gMA9xM0|Fw%i{j6w zp^y>3jz{>W^(RyOenEO#=uZohQO?A2qZdf=!O30ylnn z)bP)vPl^-D^74KGUml%z5z*!5?qH)Oub=FysE}}m+HtxObBDiQVj;>>zGJ+oxxPa_<8L)J_Pg=$*Y!oQ zg!FWWtu)6J4mPC&N;X%cD>j;#TQcg(2+NRN%_w6f>V~1ffdbiHvPG4Mi1zuVOybNg z+T)G0Jwn0Pl)JM=y_(VNy_{i{iM?jOwL{dGM= zHyG-#0o>#@in>J4y9K6``UAW zmS677-VQNiBj%8f5$ZZSbSgFX6G?rnJI;ZXtI`0hWrU|wt}e?>x$3RM%L&4&av$Lx z8b(DuwVdubMkin~J~H>IJI|MXLiLeg+A3$}>>_dayuF3;EYcD|wTTue{49 zF;Z*Yxpdq?vAsgNO8T!#!}mHEVA5iB!MCa`td|hG8}pNYW4CK z=o8U)*ji|HoPIYkR%++G*G?=bDD2Rk*!!u`XZ5L9oy#KL5uX*RPCeLv2}D>=H60 z!YN(QX5>+^ei|;kG1t^YSPF4*|0DOqxmx#cvDfS#H=&8VIkfHR(Y1BT*v+3Jsk)PE zRAeM1fshs*IYGPu$&%i7QsQ8~`OA$t(+vKlIl~N6))Li%fDe_5?QaC!qC4HT z~y$*hVS@#~RJMBsWqm3Q?*V3joqFDGhiap!|P#8zhd z|6?P;T7IefR3~!u@**vb1~=1k;?Ym-Iv(x$`t$AirS0BvF)>)GST7)bSx;XWR>8rwI^7W2j8a&ZlRh?i!2F&0Uii-z7f(H~ZE_m2;1*wFL$?N-p-GefV`GbZ}V+-Y#)!*5? zZ`3hpG8Jdm5?krMf4x4w8WnZ(XtOhLyEf;&{Sa%i z8fz-3asUU^7R#6IYI(Av6IERrS4#ex#Y0@?lb?pyC&2`RqprM&=$x1%H|_Yszbgi} zFGcHwSY%~)6U;~l-@4|$*B&|fhInxDa}6j;@~{Qn_DR6YV=C>p zkaFiZ=IZJj@l`+k5+e07wU01Y3Ge_ti~W(D3pQqE#5WIfayR&i$1vVT5*tiF*|cc^eisYNWW zV~%s@YR5=TCD;EtYLH6SVy-SszE@8D%jtg7*sJ;Y2s}LI&76Xgc5S3yFQkO2N<3C{ z^c1Cn;g~w3z9(Ju^f7161U&8Ps4_B?7876M>I7Z!>4h}4^2?P@gGeO*{zP7G31VjF zY%SMs%udF0&9(&5@fr z-8UXIjdk44m%0*aKA&rLKQ|`CRaiGW^ZjhiP9HSUCAnD$ZdMnp%|02wF}se}kxCkR zYl!^!#DamVQ9?FTb`-CS1eU9^--OQ zl{A3R#R-!LOeaLun`?+h4yF~$B)LwhXr@y1>ti~&O$2*=r<*icwbG ztKq7AGrS@E(^rNUUfW?+88r>=(a9;MW#BRq_-8>Y%RvigK}fPh4rlwDD$~JlO7xSR z3(RJ+H1?juM%r{xDDcaR-}1%Nuu`H?wkMDLSal|=ma?#UT7|U2npE2JE3)*~q${d5 zWYvIHq!kvJMV=oL%MrDD+YYtM`u%0 zMq&bTz?y=VbL_QJ9 z%6G0OSZP<_+`L%B1akHqc>%fum4x{Q+Vi2Iq(6(xmjD-m%E~w0RGva-_rNJ<+bQCX z5B$%a-<{#>rS|@*(td;$%z=o3PBK6OD7G&vK%0L;_OSBs?o4O*ZkMYr?_+-T9a|xu z4;F5OthIBl`lGEOta>xzJ_i~tO-3&JI<1s23VP3R0fXdv`+22r8QZs~mzN{9xhmDI zGqJ-QQE-Vv@%N<@yY!ZiUiHftuo${2Lkt#bFOaw+lM3aKK(dVUeP*s7L`zHQbT0Gi zfc0l~4m~{CeVS;I5a{haYOzl<#+~uhXrMNnkxUEA#q4;EplxchmAX=^MPL8ZVN1^Z z`nFF&A_>$Y{tQl&0s?yEe$C6+O(NMjY=6xZ`QKi15Q>Y5YduCC9_Eu8-kSziH_ z<<@PDt%Rtkq#z~;h=hccVi8i(B`PH)(j6)Y1|SI1Akr-jQqoF_2uOnx(%tpX_k8z` zd+zs+rttglA=x4R0ByiA z_6P3Uxcr%DQ3+F*E6|;GPQGa(ZGQ!0u8w?_GZF7PP;VqF+)`!ulKRSl<8rc?4powC zT58e!h+MLQ#ucZK<@Ke@d^MFn{WHfEr`^>kbJNn^Z1wNTy%X73Zas-;6O;Ob%zoto zf}@dBL#>XLnxkNucJA-T)(p+HYA0Q{Ha|2Xy z^%L3)4k>J0T=Kb-5#Pc_ax>5{aj;?7_d%6}Tq(uw2om$>2kz@rsxMX652xbeC)-7` zwAFXY&eH88J@7mH*n@nBvGa7}U9_(~EYO>{oP01tuayzVsGZ$bYNVCsXI^capDctX zq>(V6r=5rkodTz-=&hbsf_JTFuW6Wd^4cbfHly1&Q)Zkbe7w6wCZ!KNAP@i z>c!mzuoCc%y-AIF&f-A$v1k=O7fP;k#zbFA3-$$O&KXQNu<-XJCW~O5B`6pcFEs_M zkv@vu%!*oevO>MAlJi)wNoFgoU0<=N^h7w#B}dEi|GPas#ZRaN%pWUcENe^K+lQw= zP?F+o>aHaw(iJ~I#QTb+vq>qCD1|OL%t3&}sA4^^?S)$GspW2dB%oFoA|=zcYHAxB z@9T0ZC=4qpkQC*;LniF&;D}(bd2@r4aC_hd$K!Qn9mcxc^RDw-C6%jtXckZvA zmw9sW^gaM=FTBFdEDi5J*?PequjrulqAjsbXmLMT0_QOPW>t9Y*hSr;ccJob*xtF; zN>?m8ZRT`w(chX_2tgK@BlnV3S*@DObRT-2$r^Qst}ny4vbt`5-~5jv4>6fyiEGXr zjTdvd4aN*Fb&y`t)nllZn!08`b_|&KqhG&nP74ho2^^IRXyT8tGrCJFwx=% zcv~knvZi_r`X}lc)|cec6dvkD zZHuh2g!7xb&C&8&Ubwg;O)J%2>uW7fbwEJ1H80EKWFu1zyJE0>yqNi~g#0cN{4BT{ z(`bgQ2>ApBk8%F_@ivcI{a-QKw?5D+kM=QNolvzGntzjF zI&Rw3*7)iRkFZU|qyD0{Yip^M$-rsvf7&yx_40W%nMv2>q(!?np5xj37e4Ph+#_&L zSQ-riMS+@c1v{i0U%cyBeg-_)xxsL2zPGdbqx7_vHWx2%RcXO(Cy#%h|0{uspSdMH zLs?-cPIbIGheg?Q<8QR#$P}v4nfM4%t3NLqXR~g5Q-!5BKN5TGQ`68S6G~)l&`lNp zf-J`&i^h+J(gVF0sVkNVLp|NWw^E1K-AQ&V9Qoqane#_Nf|#G0dT&!|%EPT>Obz{$ z?^-Rsr(%pGro!e+;Wyim&s;bh}HJ)voy5V|ts=%W4UYX$nVv zX_cOMlDxIajK0FM%Qi`Or$Bz(gpkm;hWeCN{(m7O1WLg2^K94SmmdPW$WAZ$oh28o zLUH^SGOX;eJ_cOeTvjIER*y~C_9Sno&>GY8;lI-Y9fn_sc%(wBgHPYio{W-V5EKJ^ zlE1pnW!ozlzDiy?yZ8L^ly2R^XbkgF!pCq)O8z)X{INYH>S-2Nv~pU?{H6}QK(&o& z$pKfj)HptN9~S*4Ke}V?nc4pLnglBnmiyWT(zR8nCOyc{JGY!mi-|cTs7Ko9MdKS9 zEROFY9Lm1a#mXc3QvrD6he{17XwTjG&=n&-h(XDLSV_TLV``%7efF>4IV^qBU9$vW zOYtk6fydihC!Fuv&-loPdIm4G0x#OP7dtOra5&DMX5K?DBciDrI+dK5sB`9ACKF%K zJ^A?G7?UI@u)NZDB&(UUa9hN#}Q~ zjTJRbC^!GRI4l1}z)|Z(&bXmQC#2CUQlZ(C7CXWm9jVsZ)Ja3QYWnHROc?AvpQaa; z2WIJ+4Q4gDzLMzsz<8Z%eYS@CiFI4BsflS5OLOx?m_Q(a(<2rZrfR6@=&7#w*Sx=2 zRjitIrB4!zJxMfbv+#NRd2eCig|I6D{T$j!sr$n-odiUR<`0UbYSt}L-uq6!Jo(F) zy3Z-T-Fzke0}Kda7=$G7Lc+QWDHFtM0j8mE@X5;Tf%P3yt)_^ECP1dB)4rs(GZ|MA z(+LVKrl~)fJykf|ly2T*4HPbzXiC_QQ)vmp3fZ2f$63GAoAwV@eo@vMYTn+I(Ju*h z-}9$E_0RmbcdO=Ytdrf+(YMFXxTa1_%-}*4P}nzyXINRasu!BAFY#SA7TawqISoXZhx>TUMn z4h=uM>3Bs-*A7N2(eMe3E2?h?yL*uV;ag_@NQ^55NYwr)EwO-~z9F>lkEdZZK%4Un zk!uI9|L^rF3W~|Uz8qXT5ixuFD@0I}EAQ6$K~$}D_wF-^*zzs*AE`f7&>N+urY7Px z__14FzQx}AZ~C>8$jUz7BKiNCPy5eDd6p)C@q;uM-WnBUWlvpQi8M4cl7woe^+w9! zH4L#Qdxnoi0_d`5W^z8)Mjj8xuAULkBEtQXUNBorzRcF zv$K<*-_^D2eLz4|^CQEJ&j|__6fPWtssyBHsf32t2d0-c&+K+}bo|dPdb+qSELi?% zX^~4*SUm9x^~Y)0K%5s63ddw(n+;R>S58jOu|*r}YuC!O)_{HgzKI{kH>XX@x+N&P zySu|7#}k+C=;U;Oj7%4jmu_xu{bOSikVN>EZ9qZe6<2co@~by*Na6TS>J07HKaf3> zl|2M;fnm(_Ez%en8?*AGb?oo|79UB{) z&^oqu5Mygoi7>W+;9K?9=K9MwZ_Y3?zr^5!VbkhN1^MiMCc~GRYYXEQE-zhA8A8z<&BRyrrRn5s)iIfF9Z zI8m?v@-s2+sD5v?a==&U03%0&IE63Ujk?L@+ZNN7R;B_EB9_NnjVznYOP2-0EvERJ z=ABB8{1-R&_vsm}x)~1_u9`gK4!G)jJ z)7g1=c=$VC$TWanA0%M&_%ZMG{ZUWrcd*{zDTbO(&Gwz0kr=p~zZ+-2xZL&O4soHa zZzbvb@C$kd;#&`^dM#eNtz=i0c>h^zeIt^eq*TmmH}5PM*e8%jKer%W{W$2(>!F(R zyNx?Ui^w5@F&JuEGSDQlz1xq0Ng+kWcjq4BL&uKYgeoV7qK76rvY^tG1=$TB!-FY4 zir6Xh!wr9+TLQ7p!NMOFWl?^gHL2Zi&1Nn0$ zp-h!7q7NUQ!rVOuwzW-7n+7U8nB_j+NLnPOyjcIYIU4c}u~4J1wYTSlHqk3e_6U;H ztxJ}cmI?Cl2MM}sc>f!l%Y74_IRug2Ve6KyEVW$YZx9a%;?Uk3e#L67Xw0{_^6 zt8)pz7@SvjNJ>iPSV5t-4$pueVtsf9L(uC$kR7~bVG#yp4#+~@$1xmy1KgV2&)hhMm)Mc4oTY{?d`2iM5e>Ew2~O- zhw?amV`F3D6iHEWu^pZW*6Z$*7cRVlK5=rYJOruj$7*?z9 z?$$8rD0I$iNkreM_aqWbyX#8jilrje7m#Ips=T2WN$%jAj3r?SobQB>FpmA+x2twn}YU#M|HPeug@^3&zYp#8>W+4tG~{8$!HPi z6utC0*lxf$M}EI=h|UTLW95iGo=H;wG}HvBP@h&WjeEBP{&EhM=yiClq*B+o|6V@!p;G#seqEGKzi zkswxvji&Rv@@0|ZsvqS1W@iSjx6WY|XTsgUvTHjH8s$ zr(~Rf2jT;W<LPvu8}QnL00W#U&&}p<`alrj}5=wVY!_bd-lTUM-Zz;4zDv>&6~Z zgXXx9PNRVb%|r?rEa8S7>z|&qF}B&Rm|uBxq)Jkc^-GGNce22H$(%bPKJ>R%Nwae` zad-`e`CP7GFh3`+86}IWyp99w#fuj|la+l8TRE-o)l0Xn6T~pB#-UGNBwM`n_`qLS z8bIg0f;0z-7^g&(>?H_g6Lsd9re9u3)_L^E)5BvQoahvVvhUOtSp2u{9Pik_F`3r~vAgS6uM$C771ELj zfUTB!O>b;&=M~w`J|paXI=VYJM)BgX%#ZBb=V7^g49*+~jR%N{PeE-)US6J+mGv)j zxIM%%o8kP)PO(QRC@P>#1i^^`%mW66hPI?>3P7BntDBMtLL}8SH6DdZ-QTQs*H zRF!^nRFYZ1iS>rG10-~uot>}FEpLV4z&?KNPSDjXaA`VoSdhx!xOo%iXkHLsg4o>E zDA|NKHnCAC;6U1pAi;xGdKQ$ffy4N0(<4*{R)y2gyt;D;5-QO;R zUI=>tjADe`JnSTN*5)Cr3Tcm>Z^u-;(8TWO2!8wa5aD@r<*{Ej{Q2d}7gziN)bt6d z67-prNCaiVuP9#LX$!eQNR7EeLoIo-@Sf1(;A%FmQx2yDN)^RPg6fpGxHusy&zaSko9AsFxy><*yu%7wfc326QIsOzJ6 zf)MG6My!LDl)IMmsylvQ9>>V<#ilGLsZ0mK90->|!wgP(9iT{nP$dpYh$>pFEf^rl4A9G(&9 z^4-P@n!Hu*>0{m}O3GT!r(fb?zcUWhp?geb$S{`c=!THl!a0`XCv^Mw>(lTn*4{02 z*>Gk#w@NlD5cBd4@$plk!quePVYLeBcwb1AM#|kul7`ya+LAmjkAB0h#&M^TYaHBZ z-{-U(-Z_oTkdPk@@@Z*lA)fA_60kOYkxLNuf+LJU+C0vXlJzNprRly%!(d1zL6<4k zesPQ@&kJ=BmLL+xB(I}#NwBBD=8uKaB~6~P_meTq1V7(P_7Jbiux=W*+l17>*yUC% zU61)>=Vho+Me*Dv^;>W4=@DvZ{!x3^zxKmDiPN{sniX1%4d0oj34%{Bp)rG)i$dKkFPbW7<*R(U|FoLlpFza=4&F1rZ|1B8Z~pZH07y%|nKmAx4@hXa!c8fvSqi#ieNtB;S_3y3UmVjJ zW`AxGA7@Qa8y+0Iu{hS6sGfJRE6-FPs)R`nr=XE`lApr}y93@Kba}>io{vmTNk4kT zgfnvl2fX1V_yFltg0`2~UR~#%H<6K%YNrS%EU=~LYp zpi->p@G?9#=ePF%4pR2#|YZWMqI}z-yH&5F)|H zJf$Qg2$?q>-xF7;k#X71+(#IfDRErQhjju(7Q#eaA|MVzKytV#w2xoZ_zDyc|FH|w z`6wZ=g*NF(w&IQ+Jqq^GyC+Yc+=n9z+%Eu|JjZzk&`EEg-2K0lont$#k*O_A_c6GO zUPFo0n&wUrl0+&BhmNDLK0#0qi*_0s8j7XKXu+{jvN}u)?RbLXAhKP8XePu9Lr?{z zMhc;Bfd*&t&V9S~9jt`M4xoYG0B*2?5YMQgB9e6Xj|B8GW3liwpm2?}vl+ryh(y;> z?-Q&au$A)j^S>v^olc$ZixH>5HxX>U1gt0SS9%_%X_xojG64%%YCWo+^wDOUU>VE}1HLPZRf#yE*{ok(bamX#y(#Cd2$%EQmccgcD} zg%F%@_-F5RW#r!<*4#f0*}0!dmx1BV_LuEKe64^wFf%Gv1XU@;<|x@HQRtHfLMYZK z#r8uH1EFL?of`$6AZkMyJwh3tM3fL8AFno}m?-9Z3WBe)$x3WIroC_hu*g<=P9x%6 zRDD6>*ad|Th>*}I^@nzO!X8%{Ld(mju@o%`Gti>-OdmM z-N28yd3X>^dqTJk{0zfUQC&jTd|>MpsV~u|Lj^j^G9ppY$#vu}E7|B`@!5YR_yYD4V2X`F3ko<=Cgwo=g zvX;|L>_anaYo!3z?p%}5&Rl5E_Tw1vXOi2=z!0fmu^Y}7LCA@bbJFZ3rTPLe>=O4+ zBoBD8Ff0&ikPGCm0=Bth*WUhtfvERINWp0#V+xtgJ;t?|*=f%MjufoH_4Of927dWnRA{nL=u)Z@%gWFJtTZdREkIAnRr^2@7_Li1t z$-s-O8u_wDM0|{lgfnKxx6?#@i&3{Dbd{{vR6LhQ2^g7+5iyNkK&Ibw9w^BT<7C3R zSD3WYZGDM^_${yLz0@w3^~pSf9_g1a5J{Vt@p_sCR7-bE<%iOun6h#pK{Zw9>mm3s zai>M6c5eZ5Yh4O``}Xa?l1??A18jNWF(vt@yGX*@+Z#qJ0mv!L@Vpg{z4j-RidGD@ z!UP+KoQdnp*Wo-s#rNbSJv}{k34&S+-KIdJCvpPA@KR-d_a7*nAuM?>X$U4-sE&@D zIMINpnO$;Q$tNDliaWlwYn!wS;eRD7ze%9R2^Ib}Dx$}bY7D7~KE&+w%Tz^lf522k z1gVIl%CU_--&@<2H`BsiE03-XR19)(ew?g)`FF#@_p6cdox*SL?2aEUgAbzOxNwP$ z&*bUboQ>trdbDfqel}Dr5wU&y^4c}-6IZy^%e2mBB`L19RXkUXin0t52)u1Gof%_g zr1vwSY_!k$^uT17ajD0lNUr6K)L)-nn0iW+(}}lsazB2*v1fC5v9z^K#Cqk*i(7V7 zLK$qIKYt@noTDBYivKq0`Np<7*K0&!{6&ugG~K(*K2g>D%qYxARSW4OcWxT}@N$8+ z^PlhUO46&JUwO|Gl@)X)kK%z1LvzmJk&vH3WpRDd^GlQK1-?gqTllF{Z=q{*3J0d5 zYFfQc(slFTQJXsRIBq!K81Hil_)%xSFW-Df!n-K&kf@HwTz5pv=~pOXQ;u&aUXc6f zcH#S9h;;)v{`sDzsRKFDkCj7eSOmz?wDt6Ep$>+@)A!C7s2BD5R>mhMr6xOba<*c4 zeLe;UQv-lXuHF|@YaaRZ>C?pbcJ}s!gYVtDcWp)k*ng_nKDT}76-j>R=cN-sx0M-2 zcnj4>2&w;ZScW2W!@e4bXK!q+PZI+2{j!~2FC|fy$p&cjX6gHMX5uv8NienXYVSwl zj@=t#xht*qe#IyTSmBeFG*simKyWt#%={g|f|4moN`Y34f|AQ& z$rxYgURWq_j78~2lq_Jj_fcOSLKFSAH{Anh^uo{R08$hPRdcm^r+j@>x+BSf&SX>1 z&@g0JaJcqJnZX`25gm~`k;37~FcAlm%={7 za6={@K&lAvI@cwOtI|E%uebM#Kczes=%1v)-)a;^dGX0yhpVYag#FBypB~ z1^gUa@e9AlkIs|W`Otc7x25`nK+4b**1U3$|E$(Pc{bJMS9()ZVG9d7b>E|m|F-OF zF&|18oY?5?RrZt#&k(;i#+$3;z$VBVQXv11%NSAwkru2xJP|whc>R1tbae3xUR8ti?O6LFrJ%aWvTxx>|tU!F!l z-^BX?;}(l>F6ysF1!N*l!?cmNLUY7f#x?gd3Udz?Z1(v1cgV%vp;pU&6lG$#2=E+Xplu#XV$t_UybB}+U6ZDaV8`N zYJtpsl3ijtL(gZR|D#X`qXM$GQ%qfm`^lRT6i%^W7VTA4XB(PE#>QR+1_oB^)*6|i zBD=hIBLHbp1^O}y^HSH%PyHmwdO_-j?}G9-WLC)d%+aAt9sh~L33#^o`jUzB_NI;V z+UWV5A*4%0ez&7&X=#m|7^H-M?iV!4Y^f0~G6e*wu(=NWz+i6{=k=~^Hi=r!DIW%r zbHc*+tPaXY=)XS7>=(5RU%sFAQ%w__jVRpi?h!_pO`H(*(Q8D`YJ7)->RjyCuVT(y ztNK{k)d0Q5mT{7w9Mr{~v&Hlax^1r*^CJC0DtF_|RY;nEQ^e*D=#1iOYPX02QdQrL!-&gz_S6vF3B`0R0oy}F^G9_R43U)ooa}Pjv%9~! zM2KvCIo>%^m`cB&L|w^kZQY{0V%N4w*LU7aUozBr>$kpH9}#^-Isco?A$Q-CT3)xh z9WG`pe10FR=8QDjqx4i!=S%ljT}l#oFJJ6Dc;7t7^@8Z}MKj1jaNa1U zvotlMt{c6l?LXoy6)gmXLHlGZXI9nB8{=~ewc17`^yQ@^PD9+p5-?T!4V;F^aQ>v; z4e5n|xzB26!yN{)48Z~aWaG&SiANAR2o#p17iPJ z813Q1*8s#GAR(!Mhsjh=;h(>MJ&}}L82!@|^FAzYBCoRYr@U1$3ph}QFE_d;JWNYB zkF&G0Z>{_xCv-EAF`Mg@npz}u>R890AVjl`ErL0pB}M4CsQhs(R@fwZ%S_njaMrTE);lLXq}O*DL_L`C-%U?;?%QeGwM0S zuh~mJ*uSdRF3dH_FzR|wyS>hEo09F}NDv2I5RX@9PhpGB%zX(Xrl=s*m$S1PodxeG z>H;m+2gTn=Ntvx}IfNWMAu&K_-_KGxQolW+X>X-k7VW{F(Dmt5BU|z%a}5@?+^lHF zsGsx3Wag&TC7MqiTOKnP@8gNfwtMh+_svhv0SuQ*KYh@QcPXWE?r8I7@9H$$aN(WN zu=E$#w&t|y+yN%IRAiY{f`-(*BUA8UhRCla;ejhAs|Omxilh$9Yp=OX-zbfeV%9vT z|4c>Haq6F-Sg+8Oc%Mh?Mb@F;EguE*M4UJHYLO?F{hUUdR?Yy|WYZDDjP6Rp;}>7T|+{gX5{{Q4DyxIlpB5h$slGxj34tH_QE zOS!zELF$-}1oNp=ry440hE}tXtsA<`!wBLeAD@b%pAxORXq4J*{-&|@yQylI2>>V# z=GnQqhbV##>nPz-3X%rEn?Lya#9MAaj^iXw)*93bi>3GV_mwn_I@e7)s}$LC0EQj` z%&QiE^DC>#as-1Kl0O(d6AYFm0xyO~w`RJDy(TQ7Ju(#)9c!D*{;6`$r^)FRXoDR# zBQxcuIhob`r|JT;@~w=Pq#{UN<;tG@9POY84CZQXpV^ac{`$DWjfktD^S_w13eOOajqzQrQjcPv$?s#w`ZIbDRw)|MK43*6mT(y4k)PiLh6 z;iJEF&tzdLRHY%qUvEf`ihRa8jJ%1B zJqx42#5NF3qM>Z7wrsYwVb|Zc`X~T(+Ec*kz%{f1m8j*FqOw8T~&bKG9}(W3;lkIIj0$7WHET$YXy{Dzhb70?L>ljuVd z|A5zS_lm?GItqGgxr8UNTKtT3G3*|$?Jc&o9=p+`nEc7K{h+((Q?OmHQ0H^-yX&75eZdVA~kQ@^uj!Tc08X`1p4lB{lGU4W(Y?KVw2trOCY zZ|uppP@hkDEwXg4EcM;_(zG%0I_o7=jjw`2J|u@a-?Bd@VDUc1Om`zYU8T4_kStl+ zY`QU;b)T!x_VnH=$>aSa!58x_t?pcA&p32Sn-C{_80881k`+*SLMDmM407?ns3R^o zgLDBogD)j}xt22)_H35RQKLl~@Yppr*-iwnVfWhF8leF~PoEZYS~$8(bZIRKB`p|D zF%Bn+UA9ZwbZdRdBYCgk}9ggNBp{@Q+1v<3~j^E0Zg5CJOC5Wnob1&mj&A$EOA zWBSAuOY|xBfCb{=usmgus*-IvdY1^ziHPU`*K9(^98Hh`ut9)V5j-_oIdx^_)t_(` z7bpiDxP}bxoB29Y#cQyE-cLgE2S%gqSMrJgiX&zG^7AKmgX=>jop^@3y{FHeJ*!(l z2AkQ3UAd4uvkyRdZm21vDl~+|9*h7v*aRtz6C4%lCche}3PqrA*92^8W@!mMUI74j zhTYq!o$X)2c?5=?H0|Q1BAuLmeGLlj!%lih=$OZ+ zp|DRnIR#P?XLbXUT>?tq)_f8X1$K;&dbUvVfn%{_Y(8Irj}Kmi^q``_CPF$3p0nY* zgeT`e!%@O&?B@=@x})(!l`km_bw68tO!uFcy^x+|P@Kn8Yc!8-$Eo0Z`s~p5I*htt z{hFN?=e+ON$x_~RG0{o%K-0zf?nR(ZXsfSQ+at;;P zV!0J^h@N8H-dH0!YF zm^81fw*(KlrO?Y@kMju#P=K$3t1WQe{M>2oE?NfjKZ2VxhysnWIR_bkoR%@cNjPNK zR++8A@6C3vJ~+o{b-nX)8iR1XUt21(MjYvt&!08AbG?$8OHTf@vWopwz)unuw$jlV zLVekYGydAH_t^#&OTMRH7MY!{n2v0(Jk$F1Pd(F|%(rulH`-8(|M+O7C{17Ztv+)3 z$>mFQ+gUc${7)!$j7-awCGqJ?_v)?3%@;WbXnalyHPWoFCu!+5*pZXs5@*mroo#r@ zBfX3D!N%7~w{9_)$_PKyn8cJEjppkOb$Xi{jBc_(`FH`FB73+G*a(0r21RN1<3e<{ANQ4{TG>ee$a;DIxf2-%ol>=eD$Zj zkG7mi^?lees?8|u59|%iyThnBDzSON_@G3B1yAFrs5|eLING5xuUc$>*=}yItfhsk zfxm#)r1J*IenBB;iKIJTxhS>R9Byqx9ISu;&_Il^bq)oh1Qdw zva--wr?;H$4aZ9-SX0A_SsFAESj~zZT=4unvGjcIUKY?zoMz8aP3R?_00F8|w!mp9 zn+UaVd1K>2^vr>odcaorihX8YJNi&&e4=5((!nLQezs*Q4mV z0=m%wFb^BR498V-#VTUP%0yvyV3nH@)4L($gE6Az%7?HkxX0LE2DT!#<{?;$ec;??6|{ zNS1q_dHg0vt^SwfK+^&ms>V5YVeT~HaM$@|^L6b5jGUv|wKLmPoUImWIQJCJUXd3b zL;}TT10j}Fy#tKG7GQxWGz6>=dj1%&qlrpB3IYgTx51B?16Z-~pj#$3)-g*(2vW<) zG%4)J=yTZ)e@StE=Ow**s+>%(+DZSir+CA$#9vW4co8^DFwq28AnEwkt)mEizpF_CTlObrW&_xX@O+mru{5+^PqG?s11IENP!JV(mgU6`V|@()?E?VV9+|j+ z^gw;t@F)?XbA9ZW>!7bXs!b3CoDz@Jzz1pHNq)~_#72c9qGT)x zq7;l@;-V6ZCioZLzvbF}Zvb|^td3@yNr~F+#Xwe7KQzNHf%pkp z+&46%I`Yj<<0j6a*M>ye9Lv+P>urnwj(!{+SbnkgJ-xl?Y%j?cnCtG`wJTWAj+2nV z_=s%XM?1bgQX~@AuEALJgdqjs0(L91P8ZV9O#bod!9PxX$TbM`A7b}Y@(f)zSFqF8MwFuBczEM|pGds!h;1eaHOR%@(D4)K zaRk;k7EMQv5ha$^P#t^epbH9ZG!eEwF-SP(TKZ+mf7NtUz?q%^%mGVK7Z`j&51sE0 z@L&WBT_OXUn}go7+%7pfuXCoziR8+azqC|O?ssx8Nr!nB`j7`~eUp&>=2CZD$z`2w zaebl8YH^Hw^)Q+{3uo4j9UhQjQezc~mDqOR@(oHjIc2gF4E5l}YtPtOPoM<7$UucucHUIYr7)922;07d=x zoB}9e!^1C-XTH@q*Njk#1}xk`Yw=o${=z^J^gQv!PXyK>j;OmC4{zq|aTjIy4~}aZN~@6L)GM2P52Z;;?@>EYPuJD_dIw^7Hv}ANRb12{)QD zz)X|E0|8Bb1;f0#^^(-vxiSMsM?oA`NDlWQ$b-bh@36!QR+8gv6(vq8nLm#xh6=W@ zO8r3yYG_IoJdXp^AFfTYT{6J=Sy1dH^&tlVFh!2@u;t3BE8N@)iXY`$PN$;Vg)^ia zCjiH#OCRK-Z^4k=4-{PxUzmI0I*nrpNm}{Op9&^jXqF+0jE32#jq2uM5 z5_tOI#Rd+^8=_Uq%XIdTCb~kcF%weI@Mb&si8qf=riNt;uO}g z7Xd6h4CIaA97hQ9BW2m3KhGfvnMIKU@nKQ$g_yzWiR+qS#EFEVDH8-_{K-ks`>Cj@ z6I160zfoZ9;BIjm&RHSgmV`$7`}glVB%Hn8yiqvok6!80^PY75c!s0IdkAv`K&F3n zcIu6po=ry625q%rL_Boh9-5e>UfA5`sBN6}fBW`}mdobN|FE(D`Goo?wk>s?IcY|7 zUvKY&?sfiAPlA71n2p7++%+4oJg`7U`l-!NXmCcRt;>kngsJj;yk{cE%{%ges+hB> zV$zyx=nkgHgBpMQH3}oI^+$hx6Me}#pWdf+-TlyX0B3~@?leWKG=fkn0HJ7|b6lMx z_ytvapMYKV^^oi$`SAFZvrV5kzTN(o>l$b29# z{Ja$dx4R$lG7Kf#TkG5mzem6h0P~Oxry+PxNlL=)-Q8h024Q+d>kL^K|w+;Ge0%}~z_pAdrX_Dl!3GSIVkKa&noRZhQg9BCy9Y2N0 zSmb%5-b(V`g0vhDccYaD2h5${0{97(B*Y7xG4gDMcJt@ZYf(5$Mj)#IiY9a;P?2$P zb62*s$SZCVf)IFymvn27;*3zx4QZ&apP8Atj}a=MJ!(elghPAq#gVfTvIK-;IvzZZ zqiky2l3in?qYuy&lPF&e8vXnCzKMxfPR{TM6Vc5d!Sw9sMT`>f#&Y^o1+-+gki&|e zaPJO1wc_@m+VM|{?CIc-fWvR1Y}8H=J-!Yo9hhaO-myXLd-zLaI+@eDxqSnTeTvF8 zpqs7l&oUpKh~#wNgo2T7+0Kwn`S)`BXIH7(Y9_QQA_ z+gcVB67w@*q`bSGZ(StKVoz8~o7E|zU; z>D%n?MHO*?j4T#}Y?|kn_%GjOO?LXn7GRd+9np;bjh%Qdf4|Ef=i{GU=@qJPFFt&ruo;MJ1S$pwXc#N?Q;_X) zN-S`pHm&)1^R;;)wdj6d2_$hAg$GWNoFV#;hePGQ7+Iz>6opJp~7!@$Wo zV$J1tC^7?Oqd3tDm-46k*9cUjt_ED^Z1CIve)a`l>g(TN6krHHz0yPj`&&%A)KBVp zHr3-hQIge7>H$?ejmB3Enxg;Qwy3AfoBzJyuY179@Ec&iaq+_47%@Bx#}{;TbdP=} z$Pp&UW~l*TnBh+egNuIWh+aRu+XX)zy2AjEp9d zm1`Qy81q8U3h#tOi1~269cUBRu!X^2`@J-IsJwh?$hxJ{!H+kcF*jE+LADGGS6Ylc zK6&z~qPIltF|X9WZ^ImIuB!7xZz36L93AS}`XDy2GGrf8Jx%tjT-y%PJIU>0z&Yt1dJT0FZhns2^%q043()YFtlav?m1 zZs06RH#Vwt{2F{%SLHD{KJMYu#Np`VW45+XIP{~$jzy@@>jE$eY z6yI`jzGI%zdWr>yKKngE_=i#f3;R|V$boquH}$+{1&;i0H4B}UQ`L)X576*hmt)3J zuOaMHX42c&Y?S|ccb??q+y6C;X{DmjfniK`%~#LFJUkPqJYPMuu_?5+$@^Hyv()*~ z=>B=@4+%jhpXKlzKmKh0-5-nV+V9IcsAV~BE!zk;aryWxM+htzS3C(Sn6_&=eBk~- zyiIG94;wxG#L~i<3s*wQZ{5mQNcn24tenIrApfJ6Uedxs*Mpg;2=f|X(d8XK5@uNdiM9{0{YL~`XNoRO6?~!Q|LUt#c|LMRnmd}^0#^?aB zNMt-bdxK67 zK`#2DlF~<+LuX!5+I+Az+lQVVdyn;>TSW2FCn|cJ$SBTxqmVsL_#o-@TmG>MOY37a_#K!Bv5gJ+tc`M^*<9#FNu~&|024waVh?m-UXq#qpBAv3?4*#Cv>?m}264a$`gWFSpExRg zHowyH^Vk)^%<_6>lbza);f2={?+#Ic*~r6_i{V56{Cx7-gL41t>UIx=9wEH*ey88N z$;Mlwv!hS5YZdj^CdzB@+50>96ly=Z|6yXrO-n)C!9h^*FatvoP7_rO*5LlVh)-H}oiGkDLu!T%WEzD7g~ouuMFrSTF=QtuV-or5zL2=t8m$fx3M%^bihil6xO?{|iOF9{JNB9S<}J+O=77Kqfn z5x0F9EX@0a9S<_Z-3qu+dr)cx(;vkGWxS@GR^5EV?DyWJdXep0no_h@*sbGcq<#;n+$aEBsXRud{yS_Pu;)qd1hz|}x=`M0KRerCm5DJbt8 zua2`}oU9JRDpz<-_sVC*{iSeYF!~Wgtx>qNTT+r16Hnr=kDGYDaZLaJZ#)P$EC#~s=9!NV;hQ#?mK4Ck1ylv3RO`FT#ZY@epf3k!2{$x2qk4eBuyZ~xCb77oR&_VvW# zQ#IpA^QL=sfz%mW+1ysXeY@kqrmS3Zv)k<(Oai2glxNWaNlRyczP>Q9teW*mqg0sT z_iz6bZ7zO!dF0;Sx^^3Uo+e!fGaXm=!l*dlL>u|B6DMxoa0@cu&{xXTF~Eq?&Ai7> zW>(>1EpcowePm?+zXuQ*lQu!*ww=4nVfjaih5j8cuL8@B6&b}vTHE<^Av84pEb_yJ zk;&s1RYqf4D4bq{+f5ZBDoD zW9)sy>3nhqK9^O_DAT@=@yV}WXK_^-o0PVmb)=YjO(~z~Xt(A?_fm4G*4EDMfo6;+ z-e%LU5+_3FE$i;~d%mw}LqV|=OX*`&lz1@bP|141-h&eo_xq1Mdmdf7UNCooo7;_+ zcc<<0#jt04;4a_1hlPcbXVb!i?P9yIr>Hkb!IKCP{c1i4eM=qXm=3I?-P#@K0#T*7_XKY}fY=7<}y)_?G(>>zSR1VH) zQyYxN#K%TQr6x|u3Nv$Yz01#&d-V5Flze~9w%1DU@4gye-}lnaf1cGIym_ePfG^SU zl2GvA2Cg_=A-w+jvgaxxp)3MtsL8r=Dms7obp>8z7C0LF%KPPmpZ?4f5Wfec671A- z#k$gI_Tk(}-T5Bt{=afB-Y~$nT)4zq>S9JAgpsSaXZLYrWN>x~P*7Z31 z&r6tT5VW)KiH};gW1#eY;H*7SFCkZ7lwF={buL6c+LEHpYhkTS?t-J`9me%mgdVaLs_6NC;%=ht9@jKq}cYGxhk_`s!H!76##3aPO zWIQ^ipjhJgyR7wgT-M?Qr+0n6N4RRDpyush#Anr?C8z z|57iTHpx}$z?vxF?Jc>t<-YO0vo}~+_=R7-6_|6sG8QuSHKE zqY{FIf^-Dq#L|JP>}9My1Tnm;LshChwjdI`HXLTe;f*^dvDlt&3V;C zm4`s&j9nZ5>-jFmy0u3idgyob0!DW#CHryzyUaD>#WI(snZE3f7rB0mm<)vQR~0Yr z!G7>oe5qV3!!9SO0L@vfpu^xglCsla2S&9Tf9XSe?O!C>X|bUcEe zQJuos7^kOGz<8ZfZ$H^+s|{+|_rN54`>rmHR)At(9g2$T5=W>O=k!xjQ@yA-f(loD zRDM8MSW@Atg!vp1y%LYe%V`yC=C=8*bbI!t#Si*m`e&}i8h1fU3lyklU)*FQrWB5~ z_0tWGqp=s}xVYf}t2>`51(k;d;19kw%S|91qiB8CLz?%y7O3wi<5qO#{5~m5U3STIpFNNla|)>y8Y+vhHEoQ(SCi<@pz%-r$a!fUn}P z7>g}bh8Y+u#{&N71mr6x3j6Wpr{|HaTe0+9(TApd~kxSPXvL1Eqy z`G1ApJMPgS{L3kYiR z7$XLTg~CZn%On0aOyiqd7=R!Z55zAwzc|sT4WS<$g?rD&VX_f|z2tN9Z5aup%5yv` zqX-4BV}201J%+||td5Ckp=PZpgEX#K4Kx|;sizzH6)yYKpdW>9kE9QwOAPdG^kaBj z9U!xtF`D%JM4mV_{lll2FE0v!--vt|y4kSC&nQJhxab(FfX{nVmOsNrU~;={#{JZx zVRG{|mMos0(X031$EM1ong*MGuF`sTJA?TJYBU}s{UY0T5fS)dQS|kN>D3tjf8TJ{ zbAEmN4K*@MoYamajS(KU0<2oNjN0(a0ie1eSF|b>S4sR5`8CZI~bZtdvmfj}V>g zrVW=C<;`*@oR_z^)gZEpdH*WlI|r6bSaYBg-Y%D7ou^pelgL!j>8*Tl`1?$Aw_K z;GFe2a48=PA|unic#nt6atC5`2p26DIdm#m$uDJTe0wRmQ8t=mh$1Cvq? z&d)LcMG{yxm2?}s!^sGM9UtPI^ z?)iTM(AqBnPoI>=<{;z5_K$@9sZl9b^;(7E9OX-KM{lev#+-<}@&?pjKg-r|Iu|Ha zwN-WBK#Nqe(EAWZ8r`qqg9lG}%h0^{k~f7Es-<;(P2By-9zL}Zwl*|e(W0XxX0NeOKsAjSCgnED9Uw>2eP=>3$r;IVO5N_A731c zdA0MsNR3ZT-uKPUYQMrncs5gQ!(*`*=<_-iN|t};hXF5=^yQ_-jTvxBetHJ6;0%Ij~hmzyt$_+tMJ*Nb+m^$~##YH-n<;Fza-azvz+eKH%= zdRCTU@DdCvq5JJpQ~Sal_nnA|%6l9$GhXVi#38u-un8)?7Eda5&Id}KL;yAjFB6QD zR#(?;mCHefQb4hxNp&*&?uq) zp(e1GGvG _xm}6CxSdFDd~G}PgZuJh=}eo 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 literal 0 HcmV?d00001 diff --git a/ChrysalisCborTypes.png b/ChrysalisCborTypes.png new file mode 100644 index 0000000000000000000000000000000000000000..0702969d0546c1c90b73ccc1e4731dbcbad1aaa7 GIT binary patch literal 265567 zcmeFYbyQdD)&`12V^9K0sepiVBOxIz9U=nK-7Tqvgn&v*2}pN$ND3lIhX_b_ciy?& z``h0+=bk_AxOdz??ilxsaooiEE!O+Kb3XH#&oftmysS75CJ81A3JQ*-gs3743Yr%R z%4KeJRQSn4-xm@14~Dgbx*ZD2)n?@X7b57d-hwOaOq8G6KYb#@t7m1wsH1PCYryDi zVGUQKpzsMgTkGhV8Q4?k8W@>a^3$wW*V9m#==0O4aXevuVl84|Y$EZ})FC=ru`n_t zk3~Vj_t*8jLi%>dw}1T+B?Fs3-~9ERxyhfuWUXUsXQ1q2ZNN{XXkcgMV5?{F=MKn+ z{=SKbt$~icfxZAMGb=j-3o`>N8z0ku{0jLS|NDW*&i0b}0xbVr_1E|RevOzeT*AT1 z!OF?O!@|zO#lykP{Lcse{PN$gSGID{Ge(|Mfc2lt{`Y5puH|Dww$9w-uND9K=IMKWAX=U~B&8eD(F149pEI3@q)D6JYuK1oZWI?M>{>4gPok zh0N{$eg7e_c+GVzjreJt8T1VdbsWs?X#|Ay^(k~H%uVd!vlO}}_7qlz6uMUWE)@0# z&h``x6tJ!Tr)BIQ zEY-x4;)#x}iGewVjESYbosJ71@`3-k1S0*`N}UR=ivGChRt&JJCub4 zH|~gae&R3{Rd5aUA)!1{VMtb%R=LmcB!Yy)EY&nW+^6|15v6G7CzH3>!e0xD-puTa z=h=DibOp{_-`TFpd#>i1Fz;bIFOe`Wkl5|+X(@?082w-VX?`e-+wgBcK`z(~ zd3U+s-!Ft8*WA5#;lY1=-sk!{`u|I}oo-z7`nPA;qz>};M``Hjz|_;j$gZbP5OD99 zZVP4M;!1Zr-16;x^YyDlQE~Ca*NNQlaC|ZWH~)YDjL67H-(RGZ&C>4(8m0tkI5;Bw z{n3+?lQFC5|1A4XA{n3aBT>=I0RaKNzX&LOoU=tmMX%quA!KN1sN*!7yL+&ycjwL> z=beT3tA!i^;!UmE&UcZ@#&Li7-SmdXbuVYI zetyi{+`OQ$(8WwQaAaiUb6VQm;d1@a^QV=zRGgfgZs(`_zJqT@OU<%REe-Vb-+lZj zB_`G?tx3B;;Xyk17*EDM_#>+0F zo_I1pWME*Bn>R8voTE2RP^&*XqK7|OQCVriw>CNH6&#Es9&(#yVV^^k?=CH^Vj(1 z>+j#ckB*6%Jv2Kx*!2Bn@c!Far5y_!TZ+f&k;_^9+tAQ-{q_%V#qZ_i<3QK@KF)o$ z>bsYHzNQouFcUs_>h6%C``ZpSr%eWPM$A^?k%$vLJ2*ZrcHY#zdYk)^scBY6AtnLciUkEHJS8&#&{e= zIN%~XkfoxnWF@MFO~UT4UTkQyJjei-i!2Z3?v`!t?A+t$kMD?}?<>@68~Pzl*&Hi_ z+c1?|Y%?uZceF%5D>JY(kgcbu*W|ihD{gPkK9sNB*4GzS>$*QRH>a90`%vr3lS^gd zp=39RiQD~fZVgvC(8D@gAi^gnj$4CoogB_5;xjx8hh-6+93g3TVC4(}tCS|AvpLm* zLPSj5^GWDZPEL-*lP6THtREmH&km-qm03-6g^)g6fTO0|=RK!W%aeg+4`|i9?lWd) zW-4bXV_;!nl}`J{S4c`q>U?>9nIHxuwMyf^zAJK0IXO?()#$VD7EW z&CUKC^)NWIh&uPjrGp3=xSiH+laZ0RNTIkoJEK6<9JH=dJ@9cpox!Vd&PE>A$jB&x-&HJKHlEvI z3IF%+-v@_>HZxyu_JCm{}h#)T^|aMjgu2oSyvR zeOu5YZezpx;>C-`eQ7wM*a6u#HqXWQV5^PT{-@4;S5E`?a~d+cGv5=Zkd{!92$26%A*n#~A47ljF6p zYG-*!D`YjFguJ!XiDw#ZH>VzZ9Iuu)uK8V`V%R)6w2O<64}ctoMZ^iXlZcCpmrC9< z=m^*82&Y{cEyeOu$yU9Aho?lONhoYG+3@O-tghOGGaogzUy68WRtcW)NqIZ__02(l z$mN!nD_%NHeuW;VFN4`U%=$CFz**hbD0@(Ux_1jfr>j@5=2uteYo096FSp*Z;( z<(9YkoUe0naoxUsJ3}d5R>w&aebetJq|Hsn=MBTd(F56PN)W2?^ZQE!K_kUReQ8f_ zjeDNE$IlCRoJ8}x?rp#UeR%&~sMK^|VJJVb%VG?_sHkXTd;9MF`~C|H#+~241KK57 zP1Nz$TUlE(tL1B@!k(~Ojzu>&i|(yY$SEu1!~P~g*1q&?t$BH{L0MNPLl*-qHTL9AxUQ);dJr!NI|GVq!^0M@}fFB^Ey;Lj{f`jH*xS z)GDuBxni@kps@C<`b}je4*+bcQFj7@+nM|gr^ox7TU$^%Uw{6556R_f$JK)J@}Zxc zl$5XP&(C6i{E+|f;X^@DQL@wecn3z(C<0fRO6f?kfj!T&yLJHK9tO(}CgCXAqXpEu zD;{DExTveEdtWt&sI07PXZ2?kK-uys5BnzU1~2bNLWXC?IWI3?Cm?7Ez@tIp0B$n$ zG8Z0#kDng{2ZxH0F@)8i<45vitSYDVkbnTmx+9uq&zO5&EgDVVzX$vHT+UL+BBVcK|T%s+kgThE`1OQZdw8Zk)vuP25 z`fF>h`)j{fSHA;d0mLPlj}#4$jPyVd22iA%UKjmIix7^6=rqQb)bkw@Arzc5(SVHPr|Yr*%Yj>*mciSOPN}n_h$0g=gIl zttU}J$@r5ss~z)m%uQdsplAyrMZ#lc#XL(jS1O88(-=@PAz$I0v!4L2|IPJ_k595- ze_rARV+x*Zc#qqaS^nw(Uf^=rzaD>WNhTJ_X|`aL-_Bl_kl zDP)7u&O%Q|p_L^tsFh#UQ4kEKHC=t_a>NfEA3Sti`B4#A3QK@6@TF79${?lx>UxD| z{{#r8-NvL)sUBp2>E@Fsy}iBBtOl6bs=2*SRZ@W7nU7W6kd~GXUInJn>4SmS@1cfZ z7A(g>);3o)mjvqSG}H&c>IE4T`m7hgbmXUtZQ$tK_J28vK7O1@8Vh%%SIg5s*!cY{ zKmYqwOVH-to*@*7XLt<=Znd`u%zckFdxDa$Sse*!n^h}^0{Aoq`;ZJs!1POy^6VRQ z4C9y($>u-HaK6$KM@L;_g`<3+UH5#Rr#n%wZD1hc3Kn4o&Le8MgiZiiYg^mi(X%JF z3#jhhL&?D5<>TWUuC$|JWMt%>h??(CoQ9p#*S|+28;9~@t~2I&?MoGxE~wkYJhq>u z9)dbm`o_(Jd@SfDlVR&y;(IhS*`&oKCHlXr9C(d_Fp%o_-TvgjMp#(bE6z(?t3O*U z6o7o0ZyuKSmWbu`@=$&@=`s*TgjYSUv?ckOmYz<3i5C*WwCxtVal_H>GC+J~>t0}C zvbXmo*y~wXup$qXd|B8VhdsgkEj+itpr9t$pRL(%cB`Wtr5JvI3+VvLd>$u6f`Wn+ zG?}%!EtnD8S~(Aq7|k>4lz@9F6jjo)mFF zN4si=WkOk5*{AC2i!vzPA31_PeWCz7#7RIA@I2##Hj0LsS$;Kos&=S+-&kmx_(+06 zs|E}3d1HScjd@{^1VRH6kJx^xKS0PERma3cQbq0>ceit466$0d7yIWAb#P~+J)kJGwpOP6lP_x%zVR%4{U-W*K zjE;@9``vg2N{>}Rq7o$=TNnl&^(0`S(}cS?WD7F~2NgSeIKnx$=biw8;PE`Gc{arY z)g)B#4C?O-q+|j}JuWu~y5KxESbGLt7i#ty{OKWuhCz$=!XR ztNili%Y$bn{y;{0v(=b@d*zlTJ45yF_-qPKO2n#<4y+KENukw*KqRB4l&vi*u;XXP z%+`~SfZ?_R|9e`bAJEFZ4ONoI+z~ z-E7brLhr;L`OX6m%^X5^7Rqcmy_#(9>DTvnM<6GEmRrpuaQJL$21t;om{>1x`dJj? zy_Jy;f`)HVOz99O@K}#ie+6ZmZ5>Yv047hkZR0>=4c+1{5OgH;62^o@+zUNoS%xw#b-6ubbahsMeek{pkauoYkn0~`A@FhJmC z@v-iI;DtTfld?ZRZ`w&xC0WxDtX!HYxKA* z?}~p(!HK!-tq?i=7Ge;yFge6b2ad8+;|0TF&rZgWGp-x z-tF5^6U{a@HD zJDa}t-+%T-lX(9Zc~XJ>aTcXf3=P%rWUAp1D`Es7036|o*0 z7uOlhq9-9K`30IJAjO&YWYDhO{%VxyjM}$$U<|{NZ{i^DoP-8Bmp(&MHY64gBFD)(I zdI~{%xb=+*X~5L-p8tj*>u^q^9M7KcI1Ywj(lap$NK8!ZD7ye#pbJk15w29ZUQF$I zvWX@jAOPLo)cSh9;%cEuUm7+Mvln#Xwu`+~W50f>(B0;Lx#Qm+MstbTr1xHFL|xOH zYY4}Fw!VuA&4ElD_j|N!WcSOzy7WLre`07zjdP20rs0rmVY2ZzdR>A`_BAkO!l#XeevQj}|v*UHBH94iBS6r;u$13r>pr_C>p!fw@iy$_fsqtV=%so$_ znf~SPbbZ&}kb4*x6n(`aeDFywQD9}PQpvy#0WcsbV!)q}Mi&rCk)8)m#1s-O<7wd? zXevw%mJvF1Q`_xTb@fASk3*`POj^w#XXyzdfeif4K98E-|MlfWk8{wIPc}pb^R>Gn ztkPuk$sant1?sC*WpCnfx~n#OnER|W83G(ylSeTqAn8>+yQqo2c?7|8>BnbDJa0|5 zdJOEZ82aL(qCcQ%f~Qc({Rj=3=c%B8PYO_tR}>J0RKW`aSBx zsGsOUk$hfZ{Yo;7x)7is>YyDf3Yr+G^qp}$VIZ4i%H%Bq69B#<6VFR>JPs&S4&p6GCbfKHit*a1pow&S{TG`G#2YNz$Nnf5UAi8{^Mvr4CREz7YAB=@my zGWK(mS%N|Xai_O6)1LFRP}q#`hOKU(%agOcwO<fe?q8{6;7g-5^o4c%xlg=uHjUauBIe1NMS8*+%Z!fAE%8 zDGhsVZ4F`ZdM2h{iM>T+RnVVkoJP>8NU2}x{q{}T0DEn5u^mz&Qze@afUM8?6ycQz z8#)Gjs(3Aq7{~kTMo>e6?!DV4mO!fU22vH{(G`jfpHLV{*9}V5rDuFrUomSKZxwkiYE9_2bvhz@r83}HTnil)a1(Udx-2Ir z7f8tPF`u6tAOG4KbOB3l)|Wca%3mk16qk7}1MRtGKbVG85iRnT=sZw}QL7Cz6;rL9 zoQ8-l8xLd=05Q01+Ywi145jUn>?85M1OxaB0G;@dYQPWyo_j{GiHo3}1KC)wc#aJ*IwR?iTX(%BfF$qxPrL&%Rgi8d;&k_?8 zW7<9dyGgIDQED2|%J8uxk|DdM4fGrpgX)xpf7bW#vEFNFi>LUxToaIVLk`of>#@bA4uk~uYeymHsK%bv?|BEMd;t@l& zwY9I}BJ!(npNhP>dSw!zd92DodYZ>!c`y~w+GTAUARYq~v-c=DsmLAGkWqb`Uf+HZrra_I||ojaxM=Q8|Qy>sjHrN&?4d znr&!j2D|As>c}4G{^odhIi2k=&*}>EiKi~~^|hv0-fLr(DGwa-GEdlM#;QwOl;q-h zQ{y_J;ANIG`K3AgEx!x}YW?VNYgSTLcJPRc(np>~siH+gX!BL$J8zChMjwiy148f( zdLcw_0KCfN+hg^92OCX~M)|ShY3+(vE+n$4w_i@qgQ=-0L>L+$Cj((An7kSE=yupg zkV~dP&gi%ni3y-d!NU`C;Swr-hR@(PzKZFosS04oI3(;Sp8z@l?7{@k4!nV&eOLPfm&W%*Fl`F+3TC@8eEoRDDw1J z@i(uy=i{%tgR*g7v#O-ajNPQy2U07emW+@P)yvoS3Q*FX(X++A^haHR^JDn#Kb%54 zzX?YH+k#ye2A=_Fh5X1-cTf`E(uLUYJpFe+E zZb=HHBuO@&7y5N?_-J31gBb~zWsZ$s2?8;4^_-QB4OpZi zwHLuO4>S+8UmmqY%iXx#+x$-$+$$oOE%H40jb;#24PDI=_5lVZ=0p$%wus9B1~v+4 z9dOoZ=G)1T!%EOu*VwD20EZ-IVqyYS4bB|(TO`A`{ZdR3kaoarh!gZofUXXLM^a48 zZ`|=pfYHL8SI(PxnaY_Tw(8-TKqF-N>QK6BmiLKBqqU_4&OPb2Sxa*>3QrjO))s$q zN=j*7r~3#76X-O3RS^LKN4OcI_m2`1mk5wkp8j2P@3hqY+GBE%#B*}eQoaQd+=2UU z_rIw*c?)uw;+opZ@83xuPzKe`)OEmb=u8w$1QFrBHXA523qO*;7Em^8`Kl(lNhZ>D zw(X*mk?Z4gzyx-qGyQ#3^P`UUHE$s)mfc_6N9AUUWTx%B5X^nn9~w;HTicLSv6h zdM*k-Cc}gw@e$<=dX-C`fVkVQjg4575(wAeg53~KtK`=fN?t#BoL+WWOzYBUWq122 zk3!$(2_2MT=%|c<4BPVf}p)%EzI=C%VmCgv2dtVx9IV(>umLDW@v?;1dw!BNz@&(E*9&QpnIURm3IsSLWXzG^3{$Or0; za5w|F4M3KYVB5i2wFdS9qU_ZMXwhE9u_|6!45K6)Lxe+!B~XpxK&Y@=>Zd(9IjOLn z#Y7rrU|VqP^kGAghCa>@*^PgA!J{MHK1dSSiX(TK=u`2h>&B+>MMCB$2T*@wlDH{y zgHH--Qd@JgPiLph#Y>keoi~#Q6+Z+1ii5DnZ8LQlNGtm=2iC_1aIRbu>f5qU`1tG> zoP;6pr z-n-5;j(C6#P?of{wQFi?LE|$|7`6CS6#?2b=ouVmH~?3nFL#$rEY2stT%s_d6j_tR zC7@TmckiALz;XP9AU(abOBY0XV!A+m0DhR@?y555;Y2o12^6 zEY#$ags%YJ?Ve$~xO>7)AA{K8vNeMN)d(@k{@5%4kvbL@xrLhM<~g>C-4J>l)PdT& z9&4l21+!;dW@8nFd`dpd%m}~=$8uUgFHHe@3sjz2o(p_NUAF~}7VcKrFD5%afL0e= z_Xyi(Op4gUTDQ$>7cX(P?Dw*J(LO7=56V+#ELSMt>krVf;b0KYP`+TRyRx1O|Ky8i znYlVDHW4Vdmr%H0?%WRv2|;)d)SacVZ3!evtr9>s*@EudZhf2|3WM|?FH=%lS`Qqf zx5R9Ipvz^G4&Cf`IohGcz`%IaMItp%j`0ePfKXS3J*Z3|DHlQ(K=Jj5 z?gVV%*6!}^cfTNsFG7^xwcOX|?Gg{h!L<t$6?c2Bh!NK2$UVlc#A+d&(f+TP_!~VEOKG@vZ`4-A$5y&1O zzk--0k|5^m*|}jKK9nS+SX|U7)NLs!E}jPZ1IH$o@KBg2 z+B}VR922Uy5r94lG&`@sd0Mov11B0}TW>H=Kpi)2gWeY%9sP$3PD|(SoBN!KIUgW1 zbGr6?IbJA*)4&dXZkvzKRQAKPY`NtIYr* zwxcdl&~yCL5FsEzb2gybLj&BQ@822ZEXpi?wt~1E&8+jfb$aw7CuZR0GtgNxv}&ui zcB!9ylrJ$>fUe$t%_jPo#J5y&uVqrnBL`${@P@a(ppkF1+|=HHLjnVv7?JPbe%NDr zls-u~73xk8h`+Xba&G>;P1z;mQpc)%#;Q6s30P zqUGPn3heSDmzAulDk1cXJ=IKQcMdhcFag@0zIhuI@Z7?7u&_8SMla8p*T0X|olphB z(Ad;ex~BsS8wHA1Wkc!~7Q|P4K}pFB*p0l2n$nREl7Roy&ExOXLV7Ajo@iCtrVj2w zYdZ~COcJV+_gtMv=LKL0L?tQd6EO3*?HAs4EC({|)zs90^cd1w2E8*=spl!!z9`%v z_5n4%eC3J)Y%ZW;NtuE&U$5%n0uaHKiF$1_*Oq$);Kl^E5#X7fAI_5pw~-6DeFZDA zR7;!Xivwab&_9QC?WyUL4OI{I!z{$X?>FQqt140u z4{2-|C(w1HAlMdx>jC{$I^4S9JamK|{6-a2QG69it@78XiJ&aTaF`LI02^on+ZSry z@1-To2BhEb8t$%bWM;x+_Pw5u7zs8uHWzF^;8o$qp+NhhGu;{-9UX0)8y7xt84+KA zYO@1-Lqr)fa-=4K3~(P|=MlDktS(#nBrrAx8a#O2{Vx-e?=1q*K}*!{+yx4ey$6%~ z7i)_)$d1Ic7%b3cLfjRDX(=Nk6FyyD9s$&}h^`5^QFE3`w(=S=U{#KGeF7q$ zL4swCH@*&Q zpMjmFYkRq~AOxxlG!HLel)#ilzh(U!%vqFroZoa<8;b$G8ElT^w{lL4y^oDb(ON`5 zff_hDJ)L6v0G^Yn{zOrIcM2ZYbd_MJ4vBNc9*fbE3on3uceLwa!b})MT{MJ|>FNYv zG_Y-4XcoS-w@c5)SOLB%z4fqMc1T8HO{?$#4P zH$dRt_|7%K?6mg0R7eG82aw)JzH15(LD8QEP?I}wjR7oRyeB4GEk7#`4EZmhEgMhN z@hd1O*f0DLV(^Om2_A1?bANv%UcDtSI5JcZR_-rkm@E&nA3Z4}t;6t&no8 z#y=Q_~&qb5@072s@m zY-i9xZ=s^23j|>bnL_%=ZXyg=nyFRG3(2hq*K`!>tl2g*jTRYTK|Uu#!3Ja|hS?xQ zj0GkzQtv4UXQ~TdhTm5Z&RqqO0A|#PqnNbQK$|Hs8wvr)g83pS<2c}WH3F9fubKd#i6BAXL8c*M$ias-0tu`?OGP@> z0=OjDHY~O?5>N&ZMH4J$1XO8gXaG}u!14qw{RQ0R+3^Gft;gA+5m1R}0e4=ou(^48 zS;02~8CwD#8!#3hh79DZL!j-1E<0J+7c=gmQwUHsdQWYHk%GF5h%zvH(y@epG^4ee zJsc>cc4*`U7%(+6bJ+`c0^*v0da8f4vxtndK&a5u)U1t`27U2H%YJ(bl4odYDizGd z4gdVfrvLT2o4b2N8!0Ji1YW^tnT0f{^oW;!2^CxZ?0c?ewW`@Uoodckcm`U4P^esA>67Dxsr@VQ)kDKAWeaJXMKL=K1-nw4`;eM-x<>cV+F`;7+lkL z$OeM<{jhvE!lvP;4##UyNOkq}B2p8PmKUn!!boxYpjq1I&o3-2o|v0Ic&Fq+$8@a+ zCU^Y7I#ejqmqa{6pd-KVZ{*rwTg96pTjd8yf0bS%v23ubW}qK}dV!1`M$F_0{-?POY#b;KUaL>CDrvmxVz(m=dLeaa}Jjl(mWa zYYnfjV6jtsQPLFb><(!I2EB@iAYjlaL&z$O4+0d3z}Awx@7#d?CIuo5(3(CIXpf4N z%zO(p*eDe~5_ih0uW@Y=oOYWuIPOmxC>Vn0*0aScjJ$Ou|49 zl4jhK42DDYl|ir<76!6!0yhtdQ^h%gBHo zH2ly^pnS!+Jd~l}4RvMBQc7SRcsvN_MZ{)^4fF+K7>q8-=g)7S zot?o($!96kf=h2QQCIs+5H{1=(NR@342GOj;0AviiQpZ1#jUl9n1tEUOC)hcg+`I(s1GtGksZvonRa@5%jcCkfT*dX!Vzzo&k;2^BEuf#;jppk6r9EdHKrlKM) zV&>iAG?yPw#}5SkG+(P0!sp|lyM$fnF%;=&J{MMSm^vhVplsSN58}W~UA$`yH4V-7 zH>P^Tr-jMx@O+Tl`oQ~1lZ_7qHN3U#FqmczG1ntzrzzL>m%yk+crqAxxp5RbcOV3T zyMN|1DFy)ZU>Dz8EPopqs6S+SjF~?cM^q|Mwb~ZQ!5-hY4iR zD}o&JdwxE>=mRJc9d2ib^H2dnt;s4}g+z~m=m&SQqYRXCL^^~JhgwPstmiBIug?gx zr52g-18dR{~xe>@U-7yE>`l%69edC=_07X zIQ^QTkP@DlKQ=ZNKH!4_ODE#8jO*ymIB-Rn1u#grjW1}X^?H@QFmg0EhfEzv$jYkL zY1KH}2%PRHfuigS-fLH)5_*ypG6HN5lXtKe%@7O`*T{S!Vp#!Eq1dMtp0osc--NC5 zIN213$%!1kHkki}i7T*d>*e#F^W>g7hoPE7j-|m}ffT#~6@Avki_2z8bQXIN`lvY* z6{L3qtC{ZjF$~OYobFF#^Bqv0Ut5F58&Rf8izuOh8Ns~KpMkLku|JJ}9b^?DlNL;T zhmK;VLDgU}?Z1z7ciFFT`*g&=?pZ&^0tnD_mWcL23GSB@yxonbm`73&YV8lM`4HN&X0osDUjP1O*R9 zd+6F=ydHM@)iL*j(JBTO8K>`%Mg0aoM)whi0VCt1?A8f?grl|NBX(F zPr@Za0m#;a3JZ#XGp~QUFJpYXrt*MFscD%8K*Gs|k;rzBm+8jKn)wl_eyWQ<2no}Y7j zv#6flZwp=*fGi@1w;yETx0$NBA3I=Z-5#P>3>w&hQK)Kv=3yfv#lZ1kr>;TF8yIv( z1_)uWzjC$l8-zJE*y^yg(7`+cs(oLp=0I9o9Gw#S$H;G8UDSX}fcQ!<@(6T50%}0N z;m!HSFj@wj7AypLusDMao|U+0pn->Pfk@X#GCi+x-b@|!d-KK)G6ib89MBvG)N>ea z2?-6Ihfxo3Jr!U+#oWSTn=b?R4}}Ip&l|>Cp!Wlk@&$$_rKP_`)yV?dfj@r_-jL9H zBtqWe@eU3UnfU?gGe^(7!;63KAe*vHQgf>jKj(0(m~8m3EdadDB=g2)9ZtOUpB z=1#~Uaq*IEhdiCCDwyRA+7~7oH{gW8!-UsXZb0NU4Gwa48*oz^J>G-yFzEnXD$r|` zf*wN)4SItRn8N+kCPw=DNRNQ*Gq4;OR1T5inMLfh>1hatx8ujI9#h0XlE!LW!iI;R zLIq6Uop^q66IKZV9Syt&v`NkhF$EF%1&Kq@(y*!@{`u|y{*&wlBZ1AH%COVGEMaH@ zmyl5PzJWM0gAKR&=N}#7MZw4Dn~Yy;$;UzTMTieH7ohZseW?HEqQ5R*M^{H~*#I$~ zp_qz^jMxGfhRz6C2{e8@HdD>gt4{y<>eBf0bF{x-x_YiUK;E!uY0yx61F_Uwf6|b-zQ5lQnUI{PNxb-~Hr(p8eC8 zn`rxScHR40_-l6cM#eXtP=x(G$Kjcf5oFMs(Hek2L1|%u?p*Q=^Pjc)Dm{Jn z)Kw95g~ltWs9;|zj_IH)P{hFSqzQ;9P*4b+h>%s^H-y&(z-dUUXuAFwXeJvtQYvsQ zB?>?@wA*T9I{w1)_wkKQJGwN5Yv|$KCNFPq5t}!Zm_qQLmw!3@JEcj(=7r1>|MLjp z_o1Kt-SFyC3#s4rWFKNaXJ$}7AFMI^IMagi>*)*lPz(k-@`T7y$AEGQgAR;q%+0qT z8exV{3I0N}XYa~LF){y3d-x`>p|SBbC>HP$|MMIe%$i(WR7V~Zj<^O_UHXrx`!A1x zPAT=@-XjymfQ0?$IsfO0?^FJ_7tyGE?*03+kjs;O{@a^u;n!gz?%)18qVnMWw^!j5 zge5LM{hvSl&!+u<=3x(_Bwap=+6!}!@Tj+tc6iDPOWiIEcu$o^?tqVZr3d5pz0}s5 z(&xhdLn)eL7yf;n7Zv-$Dsg9;ribO(**OYXiqjois27$=vidb0jH&C_&m+E1pJdD_ z=MyEX5E7h6w-xSdKNXjjK92X_bqGF6xiz$&*ygFTrLjswNfq+W|L4=_;mH@XCyiyB zw1s1#=*^>@WDl|0)Ycwy@W;&QtsGRSa?RoVdiMFi_j-%?f4r6`$|BY6)^QR)J#6Dh z&@P7;(SdCryfChhKH(JqDsry+Sjsbhf_H8W-WGFsyCbuq@oppX4xLMaVOo!sDjwaa zn!&tJHdD@V+gWDLZbDleQyD%j4C@^@xjLOc0|Pg@*&m%XQJ|%BoGe!{HSpo>e~G$g zZCu4EBEIvxmi!f>I7VDm9Aq+&tLbKDX0G49(NNa+O?{d_3fA}FR$+cclY1s*;@k8( zGwD);(PvwhTMom~BTCu2dME1%ceweyFw53&KHdMCx=OS_(v$qMt(++7`jjRT=4ZYi zl2b6MZGC5=iFTemVJR(csxwt#FC93K(i+Gozc4;7gNgp>ZT7N8$lh!b*vp_TYNX|+ zco#+xr0(oa*ed@^NS|z{nV$q|Tx0C1AGqIYpBUulC+4BPi;1()Z;c|Dx71d*eT&D% zo&0-NDSfN4cGpN5E6#Hb0w*FW)mUEsje6HW_nVw7$Z~9=8(S<*AuUntLXy>|?fi8p z)qkpiXuBgrbLgcr4d;m@YC-$h-0+j{DVa&_KI77dpWNI@)J#(L_+r$FS2i`?oX3ZK zHuyZHKP_xjF2wz;KE2GtQI?Y?Z?$E9P$wC$k%g_~Q6VOGA9-IB!=K0v80c&EcIQfYJRG>vt;l9171<3sNsZO=xd!Oj zoqux}% z4ej-oSu(|$KUeM`7egx?vf`(_QQrQwF< z3g^jE=#+s_2G>Dik^}gJ4b1t+gVNy zw&Dlf9yVs7a<9)V+09fw_qDV$4Y7<^6o%n3r$<^boomk(XrO9 z#`m8~E{8lH?OM8P7tLwSVUZ|(QH;iiO*iu)f_smK&~LH1PJKuj@o=Q7Uyp4})~U93 z$VlopeA7*LCy}pFekeL|(8EtS35A07tjCPXD{3X)zxwB+i%oe&&g)DNzHjP6Cu z$$B@+VeYvX7w>4*usXLb&(}A>G=yw5UZ2ghw6&QQzkZkZ%#pDuWY7%BrmS1pQvZIW zho#Q5gx-p3m_HB-5w)wSVY@d+d67(O&i&0ty8ZdDv#Zg>&wf;7ZF#+VLKDgAdTiXw z)@NPhD5NHyXjfi4Vy}y#ga%6XZ?Bu@4QEADllC1yl@()A>TJ$0O7F=w4Y?VILD9WuBM!_HsYm$hZi=q z$K8*EjL!ztjEzm{1|$PR3=P)DFFU&yTW#rAb;oPS^bp3sPo-LecTgC%HOsGto}G?t zZ+Ek=Opse>{^II2`Y}?>hk@mKcOI82s5`S-Cbr;KqLPzJ#}a2w!_F1{4E3SKRkS@! zUQhPKW*_!a1M0M+ox_|PcxhEB=}gD#HMFlT+;AJS7JD^&HH6UZVIIz4xySw8($o;02q$tA9&aSe=7&{V! z_9g0R1!X1C9TfsH!bheZc%7ZA1qF_D1zN+W*+W?(q)xk* zoir-sAIije;{7a&2y#1fy^tQmwJ1`x6EADFUzkriBnZQPz6Hl>Seg@s!WJdcwK3gC z!Y8rMtDI0DQ7P=xwYu!2n+%lY9G;1K*lzX*pT1S^iN!EOQ|ha{QI`7cLS_4x9{QIy zZ2gJr)m@)GvlWcZB7~FVtrwei9H1J!!Lgg%4 z8!e}?wUg{?yvxz)7MaX5!En^P+ya(jrmfwsUo4S!7se~9ac0`&=Jj%{FdG8QTn~Fv z1c_thR8Y5Pb{&p?8>C&`_$p^ehmXk@(rMVW$I>~vcPZ>R-#OQV!pU%bB=*g)r$?C7 z#o_Zc+TeSujm!;N-sNf>mWts(IoEzU{n6f?!tvpgJ#4IvpJigA2D__`K8}t?4-cO# zM=qQ(jaH1lS@*MS`1&-;scw&=+%VG@<*pK!52+Dz)}oq*`ZQrK98L zpuTZBRYiENHun44v3sF|pVMdvv)0t&qqcQcyU%|6+fscNP15L)HVl(Erg7_0fxo~qIP8k!@we<7St^;UgE++cB`rtT%jxs(ZYwx1trqC4Nm zlqjd7^+sxs#p8$1K8`+KLz`^+s2N?OL-dBxa`rfnEu!Npe!)pGKt5Lem=I}{q15rk zSdz#z+sbFRHztH3D+#I3JL$;2?L83_*N9S2wCX%RMB#qQ!*|DX8GIuB%bW${?PlJx3M#Du!54yFMhL(B_rHo%J!D<7k$#;d((q z1#`7hy4<$6Nka7=SIVjjT-e%fGEpzAjGXArUAb zH)vv!kt;+GBPqzqA({GDMkBu5;({6$K@`dOM8>*6ackIU*VHlOmUwQS=3=R{%`1yg zrf1D(@b-@W7Yzd(4|RNdivBOJ$JVP4>_06aI9EP8}r}7uif3ZL)BF? z9tGvsrwwE%&`GWqm<7q!F!#AhZ*N2uBi_^MlTI@lui_%xuk8vogFHUhTfY7D zr1D%j#Ee%wvbVnV`1}4dJyZS1!cy33>!iPb98Sa(BvaL6^GO(_Q@4=j1+Kp|zej&O z($Ey`gO;;#lbORJ}_ME?Us~%n^fw$nI|Dngdx{BQs>Bi>c_ye zCV$43)4{zx@O1X_kKLeS?$z2j)m3qYOewomR;BG^ntGoDE@_XC{+6`vrLIkck*-Y_ zq}rSKR+n}SdykklYu(ueFSugYdFM*za_{q0%@n$hOJ9qN*mxWrxQr~xE>keveQdFk zPfyG6>f3&oVy&=A}`latFybOSex4SpwSz*QFC0o{K;^>%hNh;tx2J`iPFi2X{qmtZV1UppwqwH7t>I?X~e}fMK0)}6Ss5^ zdgvrUqC-a?mVbhn}0ls++ zzB@BBC+ph_B*dAuXsxQM?5A7O4{nnNc<%U1|12-wJzjTl-lg*%%xTXjcRd%_epY&i zpC^Ww-&I#TmjwF4v4?hk^wo|xW~Q5%xGXcq*c49E&Pswx`mxiPRx&@Fd{-)csUDd_ z<}ZC=7Ny)u!0>15wvS))3*9Wa>A8r7AEkt&qf18hG&KAMQS*-(k0)qYC~=lq)7*yB zFux19kw1Ad%dbc7*IHyT?J{bgAfB2Ue18mZce6ua>-z#z~_pZxVgUApe=M zVsq>K9zp1YoMN?y%f~V|&W$hg{hB9Ti%CikW64#}q@olTb{N|u#jw^y#O-h*K}y`n2pKE7-1A$MBz z`SEHxMc2Bz-uesKgA|&>wuCf;BJ(;fM}zNJGMLEn52vP;^9LWAd6aTaUSC+Hx zv>XBEk10g+d+|-x?)K2Z%Qzh(C_m8Jr1k3&<8zd zk5e`EPwt{9CQ{d`3c8FAt_JMSlCD%2&Mr8^0H_r%|e826JNb;=9MD~X7Bhu5zKU!U5Q1UbcNtSP(lc$S-s z?xaZaiu!ml4f*-TrM12^TB;WWeYs0D@dq12_jvYg~5<{P)N@4GB zHCE}ioD}8k*biPK?Wp818)mh==gnoI_;Wp^@c&@ztfQie+kH={s0b)sf;32XgMxsx zfJiqCokOQ6B`GZpBHb}G4Bg$0bTf3v{dvw^_q=zl^B=Qj&1TP@{XF~0&(|n#EEBB} zpLKAlo|jR$@e@0vgM+K*32my+K?Dk_8g9zQ85#0!I-aMa7l2R_d!8%-|6DmYZhzx1TGsN_0HOWwg!}c@G ztI#Yf{&kZbti9Ua_`5HWF_*Y#Qs}_uX39F!)mp{?bBF{T&=V7hYra%H z#=vNB)`i@kerHl&j8MFJ%UY&6?yXDB%>Dh>ma(Sy?cPOUsy9RU9=s(sB*SyODslGC z)5W&FJ?5zX@Q_r@(U_7%*z-8LDV}wHQ}=I$*Svs_CY>lUDPClE^MTJ_j}5Z*WF|Yi z%D)YYFAE;{I(oC{ruVo>!PS1l`)c7X+CN#?Ezp9S^j{bQ++?AScVgB_!;IUSR$DB_KWROb(*WBoCa%oNyoG1mg_r|A?Wtt`$4olS_=NCQQGqw)qTm> z;Y`OXXs;6$A{<|$*HF$~jfvMFG&smmwQaaLAdcPJAcr!T^iro^tUV;bZ26TNFm8!jYZVe4)(X@zV2$<-JGVTnzz_bAG`=!*hSJmNVI# z8nP(Y1SYd zt6;C76FNW!g-oT9Vwp%Vd%o_OrY0jB_@~nE7Lf+|gVMk@QMe7EwBRouZ<|kLLubhms$q9o-r@^ZI~(Pm@1;P z{=NuAR$L@Jp_%CTb~gK(b#gxEUH9F|{79#|b)Olo(9??wWYbLgYM{r|1U$CcVc2p4Umq5S|~$S$&gD|xKf7i&K_U2FX|DP3x`@x=E@`8 zSWhFpYePo;-21%E<3Jn9okcr0=GK2cO*YAXRedoNjiB1PPZ25S9#-j?Ad^oXv+H?n z9=Y=JLC9xGpM#^^Y&L(Z51J-Q&=1Vnm5eYlZBH&p(PW-iYr0`FejDe4!^!62_L_Y} z`V?`EHZ#L-C3=d%d@u7NJIAz4zw>?eLwP)T(`z~1~x=o59Vj22p2Jco{bNute1q-O^pdM=V6^-Cd?9yw&^y--nupR_@_z~PzIDx~PpdxPV z;92F^SXu=gg3U-tv5D}WDS+z6w$x%q8gy6NNn(Bxx1FUMsV542f|p;fFCPQ9m3>}= z@)*4ejLSamdxCfHllfNUzsHF%?JJUCM9DNQ+<<-psF~`rfTQ% zlX1D(dat&0#SMC4I?49O73g{a&A{N`BfQb#fNxe60^csLoyTS8Np>KYL<@ zlv=s%9Bx3^g8%pEWBu61R2+Lt_MeQKF3Zq)ss~r|0*ANH^b0uf%*U>z&fOK-Eq9IQ zJrtS88~JLW0zA&K@LOscGn3;BI!xvcsOmwp zrRChk@VoE31dV(R9{67HTbycqRCFtnqb;6AkIfYi3*iJJ^Kt9>g62B^$mr;>%^lmL zS%Dv&!%-*kK_+Q3be9q!l`!;01GP_6s7B!zg-VJ9?H~Q`k3f=Uv9kdd7 z(<~x1U(6M!MmuYV?Cg6+2uX4eLW)1p2Pyu@N>-JKEqC$tw?BZjQ%mCJdxP*1aewc% zy}j9ySG$?@psBN8KRCu*M6sttL^4kfwV9=Z{xFK zRuibAfOm3K+K}b8;bP`r*YDAH=+1FLVxQbw){rKS*Co(@>)A%KEBjQ5?QHkcbBe`h z!O5h`hDON4tor7wYD#cDIEvKv#62Sek?XDNec5GK#4`~WOmrzJZLO-$bHy=DBHZ&( zJ#F2SV`Z%zhuujFoTi~McD8h}?@wg(Vl^w9Ga&Myq{!HMo+ut6h(-F70}K-U_aGB>3 zU73)<(LiE-JQBEfpGhDbX=n~kyrWF!Y?wG{&v2#-cS&H$MD)(NGOn=CZ@ywRuyIyR9zt*{0XGn4RMLRooxX%=^`+#mysh zPDTTm&IvzC5S%?btR2Hlw@q&wofwLOBZaRsUztb}{7co0PW-11=!Oo82x1RBR($fSd&eIj8jO~%#JL_HPYx^U&2H4&9KyvHYiOFw5CK8b zk#EKIWAlo(IX|8K`9X77>3;r(+oWjG zbeWg;ay3vt&eJ0a&xq_(y|Pw=Cw}RWOXO@*Rm!h`FgLgRTMECT=&=O;{`m4QkB4Nu zUjgr`JtX4irw4J3S1lwZ={#liQs+N^b*DA-W-C(E5>rU_)Y78*gN0ts- zs?UCIu9F+ly*D-fQ|9O{HS2Wu!>zz5q2Z9{|;7b>2jd%1Y?x*}5g+I}*g5?u>IzepUx69^Kjxctb{nExKNB_$ty zfg4Ul3PYb_q3e%+o0HSQZXeHTk<)zn)vMNm6hxLGn^pMv4__@8t#sLwpR-{6s-q6l z+tA(IteyJB_khpi%wlzEM9&`C@^&A^medsZPC4Peze*%}yWY2# zN#sp%r53Bp@PIFR(owCG-(`%tNZy#Z^@1fu?OgAv%{{DlM<7GVMQ?iO1Wamtlvn(s z<-B_TIMxU>E!nx524dfk!*1T83f);sRst&9zcC#I8;1PAZ2~+`F}2~(dEbm0v#V`r zgGt(ITkCN|$D>W}X2z5I5WT~hdsQ-zho;%%O;b#Q_W8xs62LXQCO%m2Py{ekZu%gL z{W+-T2qjMhY2LVkxHy%MGop5)Ahx#{F(+mC;nCU6>3c1yoKN<*I#wT_A`zLJ7rqu! z-=8{ohJ*A`R<7T6D&1C3TMI^ccxm4$$X}N3WO@E@&FG?-#&Sp@g$r-@n@5wU%KW`w zi>i;%9}G;(4WDLKl?e&gv5bsLE{+)&azCUEkgRju%J=^I{z9boN4>aiK5MRKRq^ep zM#7UP0-vwat?tz(c1+C2=lx}3twFAeqlcwEFji^${cRL>+6wd-Gc2(-m#OhZZ697W zLOJA6>PY((-OXUhf1*swI`&_yJcd~Dhwt^P(v>my!%YJPYE(~|Mn%OK_HZ^Ama<;)p5**Xap-mx9n`5)$4=LGK+~su?CKciZV&l75nX6S$=Yu*F3xQL73aRcL^?-M?kT8EL zIsPR1?WDMh3i@0*!bm^&x*sjQs7O4GqOZHB$8e#X^;53K?{dD%-FwcqE=1TR%}EiG|E+ z#@c7kedYhx@^uk#srsUzz~i06%jP5po^w_`cOC?nfBIa#Z-ir5n-)T$SyOs-|B6ic zuvw1dobSL(y<7eAz1G2-0Dk`|+AUgStuyPcWFhb+BFbSB@9OtJ#0N0I;GkiOt)jYw z9PnX&Bi>1zZIm;^(r5y&wJJrUrLn6wni3T0&|Nm0Dz5+74Bf64S-MCmc72Tvgyd2u zgTOTbZYhM6LX2-s)98~J9ft0tlW2cjN04KadoS_}yoWP|MZ?DAqSg3Y+m<`W{oiy# z_fm9yge^Txi5?etu`l}^UErWOF;$q1m^DS)_O(Osec+#!lPm?>3m`F&CM|NAw9kZ}%v0%SNiE7=INkd=C^#|!h@l&jk^3eSGV{CoLyYdc&gqwhb;V{$54ig5`OYV_GhKTh>HSh%3LXmq*Yzxnvgj6%eo*4g=ksGHbYW;LT_6wU%E5RtW(S$x;3X zDald(OlCoWfPm*-v9E7*2I@z6-BeX@5c0yY%i}AK@Md~;tr?qIxlb9E(mYY`JTx_lq1gvUpN8MaVJtDi_x{r)dtP#)S^Wlt7k?J2t|AQG5K0 z!Q6Kb&|Okk?_HPTIwH%dOslISE@Lm5q#f#W(^bm~AbF5eV)7y&zldtmi96o?3R9m; zG)_pEt1~j$7~*U0m1v1!i5E!%kovF*S@FEjSuZ7I*I1Ndj(i|%tVx$Hek<`MXcwb% zM!#{84)fH$VWt$6>2DyT@Fr(Bl|8t4i1i8y4wUOKN=Q_JFj<&bcnP_nfl3& z@lQv(#-_``mQBz77BDtUl!azB-P>tCI9v_B3g%aB>HS=$=~op;mfDe2#_h^s;PRbe zCk7_q7iei+x#SQAWp7J*Iz^vMLc6Pl!;2xza8NbxU?jjR2OoOa z?+~{~8XQ)OK9G;$&dUCbqC7Z47B02jv^rZ5Yw4t1*JudiAr&t5lQnfw8DBvA3Z)xG zV8rHEtIl>+Ks>&%?)A;ACgn|}yTtK8Wu=m}anW!gId(r1KNn8M{k#i#3Q{3WjGG3h zB`gWGp&&|{iZA}I=WF;R@i}xhy0mW}ypuzimrASVjD{*wAnr`xl>m37^vRjDx4SJiPuJ=r= zEr!108(l#)cr`=m#oxgO*Qy#XLkTa6n^$*tM6dZGKlN(|Qqlcts=6(;a4rIt#VASg510QpN zQ^r^8SB5K8Gv0=HQmkkrwfAh}6XQ$ULM3CLrv5l5Y!nKxMGNQf{@wV*F{ivTA^I$AQbbEjYl5tcBD?u2YYentFav!~qta9egR!zRGo4^IQGidK54yMGJxQJr z5vC#15Ip&$d8h!jt9UPS%$0n0>L8>x18>uo+;nD<;Zp4`a{VUzZ8AJ!=_6+9QfF># z<1>u85VbM^!rdfnX9N=?R{uL$6|G4yA1EB9C?n>%lH3=+xtPGIJyRW_97Y1Se*iEN zE1Y6hBcqD__z{Tyy+vnQs`NElZ@fJ}T^shp?u|RjsguPHB4_$*Qy#+=*i1f76&B+2 z5s^iio}R?N=nUhpg@8d?+ib@Q2=Iojwai*}MVfdwq!7_fYASQxLT79DCmS{~Wp&xK z+;uKFk{1W8T_7m%4-s?fw?Y#m|d zm3v0TqFC{~<t%4=aI;qI*ee1!a6Uq(tNywm|)FN1wr0KI-eu$5>@;bh)5<{7u zyuHIfal58$>}^>|5m$f3rJZp%<71MFgIy8lw*OZ!U^Tv)&D+U+G{d8U-^{#MSUL!+ zrJL`L438xG;_YV(i=F9p6^_1TdM_;sD1n4eng0FxoLIbLFOG_S@}6tsHSx*qnEs{ATQ4(ZmFu&;dl9kiyxVG zXE;Wto85)b;+coiALAlkJ!7&z+1Ym2TkhYg|K22<*jgQA-rQ@wYvoeZ% zx-roY-)bh&ypLA*aJ7LX0pnfQE*R;u#U*1&mAQFX;|(4z_3B?>7l7WW>M#qVo?LCG6q`=nd&^jI9J@BwxFMwLUmo|0MQ2gHCR>Mi3 z7O80_#wXy^7X@CGItbr=GGe5O^QJKd8vjJ}#5#=3G4XHPvDa7)xp&C6@EDpY#wmH% z&#V1Qw`CVxm$&f=NH*Geuj3J^kgI$1+d6u$FLenSG~)0CKi}fW(MP3uzK;t6$W{@m zUei!_R1XDPr2B#c_4Yu6qHKNhA zpQHMV=gX+*rV1%sm&IgwEhV>(*Qw#237a!;B*@jM)H~582b!TSB(}=RKb2|ZS$DT~ z^h)1gsA$;bW|7oiMcHHD610!Yr8Nq&M#aQL?H6i){rg?b?TW*H2Uaff=lUV4qa?&N zZV_T*@UwQHxARvJ>9vqY;!*ngg6Sxu%J4vdN|!AZ#3ugF=k(2Ey_a0?nQoA&h>n`9 z<%X!rMZef+Xc9F}?4H$y@(K3}aJVhbEnpoxq*j|iY`zvXGF00LshZtXWfGv)v6`OL zMPF7Icjwbk5EAWc*+wSAO)X!3u|iN)sCN_PFA zEjnfYlmb_S_~GJ;l5!J`pMPYuTjVMsl2BeQxbL_cg6YM@c|*Tg0png;BL4gA;q_8y zKYvC0?rx#nYbEGu>-;oDpEI+(P9>KU=Yw^65>)xa(@2->4b0pE%a^ablPW7KtqSJW zK8UNJb91kw`f|fY5xlH=O`4mC^}ZS=YndDKokI?#BeJZlq5@+?G7+)HXv2URzWhUK z7H9o1RDDtAc}`YS8usWED>>v^)VuwIXy#W-2^rVRmCw0CWO#|kDjpS9H;vn8-_%O1 zov|N0mqJGe-LGjYcXmqG| zlAHT6S|5sx=^e_c)iIrL(jPiOSpl{5#v#RdZ->~J7~^9tybp?9@61KN&YC2u)XPCr zB}LZE*Tm&8m`b^a()b0>9+-DZJay)#obm;O6r7-HS?jI+duU-E@fK0m_22zDRqAai zX(@tlmU%}eCc9c%iR5Y0*eNci(6?z)EaS}w8*_Mrz4vegYcb*OE;&rgRxy|8hCq8C&ufd z(~D7)@85pNhQ3$R5{3Gtje5J{d35j7sg<#Noe}BC%ZI&3UfmwK#Ig~s4X(<@9OSV{ zDDiPVQYV~a+qhY$rtW}>-qQ9kNKYpS8iGlXo0ON7w*R_hbj7(5SPCY64ma)3ctXCvaggd-LP4hodYF6t;`EM1(US2 z)VRJ4=a7?@S?SM~M~cZ+W95yHv;4u%J};WogqdINzPJnP&qQP*><*% ze(*Cax}77Vy%5GYZHB`o_TP)*8n#E?+glbR?QkY^)7Qp>F^!IQJ#=$k52SUzbG&W* zPOGeydPx}W2d6resT~mMV+bEvR1?I8{X#8kLMGPUcp=zmzVR;fRssLHSNMIkZmHA^ z7ANEK@*M$?BFcGKa_Y7XPx;P}(K1!Bk3;N<>g2>N6YGW--Sqw%p=>3G0>;5L&PBb% z?6W0x@t6%1|8{cD*W+Y3^4K1}@4!~Uyc#I2;@;Sb+?^3=2MxU5@>B=i!ILWNmFTBF z*#4HUI+Ti-n~Itb-|woI(fd7-7oKi7$CbbBgWP-S#@oN1VP@35g+G{51Qs*MBhk^) zf_Wj|I`?xdC+j`AOH&!fFD#hL>X;97elKfP8s2d`!Z7%uURYprR0b!5h-H3WQQ3i# ztXP8)`9sHBOv;{@ualaps(XAm!{lF#%3ery`J2wst-2E3c+(TH!}2(v3!--nL1#3| zO!!dT%ld9vX5p8z)K_GgfooUvYrlz=@&I~Z z{6?2s(6~09hK>fCoFLEfiKXM`>$}e3t%=R(P>n8jCB@j{r6jPKYjw(5xVL!UbVLg> z7E0F#%E7c*$*mR>Hvvg2xkX0)2Ah@`%mz=Qp;C6bZp2<>t?)LCx|V}oX$DTv{vl`S z1S1Tp%R{>gb9t*CuFx3YWZexyjVxO(K>;i@NCf z)2c9eDoNa9F>%dNl4>?C@!B?%#FIj+0rARcj4y>kLL~B@%1mmJVd^1Vkmw zTnhx?4(Mra-#@97OjxgiimS=8PCcmkzpSNNiu1p0&$F}`bsi+Gbaa~GcV=SrxERz< zx^UV=MNK#v;Qf=8J-T(V6ifPy74 zd{ocQ{!?0~Cz`6=DD&g`ES6SqDZXZNNMkk&9pw4Za7XiFH&^<-%;JpqSyk53(lUl_ z5oGfM&Y=#-$o$3cla(Z|B|m=Ls2Y!nVY>NzcO-=r=d>@g))x4@3n(>koy=96-sCF1 zb6571X$z1upZ@7#I!M3g<1X&*hQmlBZI$8PCdt(@xfl}(w=o<`jDEgvZf<@n;`$og zts`Z!XG}eMA6XGXhSN{{y*Cw>OjZ+dKx8cTeo75%O3O1zgwbcbBE~Z4UPZ^5fJ*y?h0L`Y3 zGN|jB9gC6hO505dWJdHYM=HO{MPv1^U0(Tzg@?@u=I7R?iVG$)->9C?adVBE@94!@ z8blwYh+@~uy;B|#?;^f0jT=0&d6)M9|zJ8d+B4m71A=j z?pU6;Y*Fog)GuB@Me8M>W+caDvw#Y~tN52a*;K(aSGv{uH}7Z*&7~YFxUEfgg35gH3|z!x&XH>zZ(dqhSm5@?-vp!9DmC-m-Mb&ft$4h6 z2aMd@T*GvH!OOw7Ia4L?b3fKnu#WlGL{bu#V#Ud{mH&Ohch7Q?*HnJ4jIsGSKCJWQ zGFL8rFY0+BjCw-JYh7*%#k8ic8f9*@;huzFZwE`rCI#=S0}vCky$B2!n^d4KhoAEe zaX~h5-L-9IVNv0rYnv)spW{gWT1OlkCq^xx)@grQu&6MI7jwWuh7I zpEo)fz(@bx8}oJe!Fjb_kZ-(#8($Parxz-`7u0$Y`GTM3H>~n3cX=*Fl-7U5q*-(C zm|)d0cjY2up3mDD&!)q2*v0jw_yfO!fBurpvD&`{K+1UICm`PRy(J?%ovw?m1zHMR z=GcLo18qg_PW{L0R3aQvH=9Eze{bE862nP-K^{ln(C4b55A*zm z=y<=+PPY-BDXe5d`apX_qY5zjUY%{dx)@BQIki%4GVpMAn%yOH}2b3K1K|pi}cI50JW3&N)aIy^ z5P2J1fQD&D#Yb3g*l~EUK!Sw9%zO+`J}nv*m-WgtGCXEq#e1SaVB9nC^Cb(~V*_LB zlmvDBG<;b`D*WPYxvsAoj)!T|>pM1|FBpPr{gETc8uV{ADw0K^5!doEBOaf0{O@Um zk8vtjQSQ%Zm#4}}J89ju`JfTNk|N`tP~BTcn)ob99(axwV>9CWA0ED^9)L4MB={rq z7K<3%hu+P@Nm}+ymW<3|s@LW!4hcIWX5&n>tmG)wScECt~eXQRN zhohe&szQw@c=MK3aILK|!u{usTl!IdC2n&%h)r^vBzmc&mQhuWR`+4sEV;^Lv{r#9 zYRevjN8VUEwHgZpW@>jxoHb*a@qs~Hzi|Ip*9e!5(i3qiok1{oH*bDpM*Jx}>jabW zl!U9{Reg1q-dH56TApsf(|_Me;Nj~P=XqvU(fiuq$BS1&L}22z;IK{H^%r^3b@7JSE(= zqgdlwyQVfxMa|{YXcjGg=hfxU2AN9zo??SSLAJ!_5+p`{(qPveF=r{Rr1sHDqGbKa z3xXc9tX$*V+n;QiknXty${xnC;}G|;y)>w7;~uIkgX*GQlFQKq)eI}2ufFSsywu|u zBHn+tSpW4Tr>e}|Kvc7mB$I9R-uRIC8w%aBW+AZxOR(&mmF5wngv?~Gaxt$6OVmPA zS4LJ*pwwe{|GtUv-At(!y&z9$wp`YR1_U!FJG<0id$_-5k*?meBX^-jbZ#>2QFHUB zvg44fFm&D$zn53H6ts{MNa#Y7{kIdk*!b|t@o`!je(7!JH?m2oP0xslHQT!+-tNI& z=5Uexec6c)76k?(8_^H*XDIs4z2>qHDOZqT#HZdy+B-YMF-KM{Ejks`_0}AqkYHjC z_t_*h@-CLSIXI!$DN7jTd*g+qupK-AUTAD24!Uu>e*Rdsp8H?8g!Z|}f64C;%EiSO z7#JpVxk}0Ejfqeob5xa=SD;b@k@rNy%2rPim?3K`5J!7HmD_SnAwJFHV7%c>!ppmZ zMG|LSUb*^Pf-jb_3#_B?ahWP?I1A(82U}iMMjcpm5CYD7e~H| z1MEPjy&#~!!C%a6wY(>1uctSN_QX){_oHF}3IRMvVUOd}YbVV9v>MpB`l{pAC`Q|?4npJ)AEl~S@xb2^~aP6YQWa$125p3sIwpvc;7}cV){uZ%kq(+ zfY#y7FLI)3qsNT`%)QAv8u_7AKB3m{AD4W4?v>q-c(-hL-k(qxue-$Bi``X2WSy&| zWuLt@=MJ8jqJfatz9mIPKY)pW@c7+@H;iFB^30_dv>=Pnu1{|Mo)zklB_?c*kB&B1 zM+&w*m@D{x1I;PEdUXzS1wrqF>O=!CHB^25+_nhe#%<2&cm^YvjVof^oQ#aYU}j;$ zap>b+H8Rt#xYHTh$2vtsq7@iC&a^T(6_AZ5R)Ru5mry3-&}R5D>Kn3oa3U|b zUg1M=x5;j9Bk1m=**vnCKFcVhqXjPFW zd}NrKCEV4*e&v)lESpqAP8JYo`5MLIws08!3(5_#+3EF9x;dnexxYf3!cz7G8y`W9 z&`=tDddhtm(?t2)Oav>cPgjmpsA8OpLb3yR;t`|+)wJB+ze?bg9|}B_tjk@0-`XQ(6&1c$RsOz3lWXc0T2CWmK_PDGp)xto zhZl0OVV^8gM-~z6{Yy&#n*gT;))!dg$?_DPkuJ;RJ2y9MWQ=#Y#MdNGHwS$qF8qVv zlEK3uk&v4s2B;>m@xXfKm&WH)@%KB+t(d<_?J3?Kv$x#fJM7M~=TGei zTaF~dm)0dvAM`-1L8C~{pm)$(06{C(p63GT-E#+&Gv033eW_Hz%T+ z5doSPHoC$xe`n#P<@On#v8TR+RhZlBJk=!+Nm1*>%B^h#s8r~|arpyR(Y}RR96{x} z$kcGTzr(5g^L5TIIQwq38(qKt^+IP*$>SHOE0KZL;TLp{YUtEB7?5|!WWfovg({*! zM~0o-CEfR-#1=1pshW!4$AW}$^Ne=yRyQ~{|9g`!!-Y-Sdh;L=2+2%~k#Bhxx!o9h z^#1V?f?RUq;&i+SC`6C}XbG1=*$;qsQfDggWE;GSlvR{n-S>&vmzT|Ub_`WZ-&|)0 z?^3T*-)_kNCKK)K?tKm-o=+-1P>D;xyQVytr#M~~2jGb^JLf^|lXI1Fw@bUK+k3%* zhpRvV)J2qcXs{~4wJ&tJv^1>0tq!AUTL@Ulj{d`AL4nig_KWDd@IZV zbOl^yIFR>PUY;pgzN4U_p((W-gOkp32AV3`nAl8>j%GP#LAY#hus|tN<2v*%i`c~` zc`c0}OP#+2D&7TY+1tbg9n2`0U=s6O}j9^T>~l5%0!oDT_qCQp&#_` zg@TS|=fi<`1&`0_U-hWilbge}<${ZElm{Y}`y5&nk%>CmNJ^|^6&Bv)3V}9n7#Jw} z$~2u4zlAkwRh8J={HtWBp4<#)bbY%J$-EIa2Wo@>m%0Kdd}~7n@9Hic0csTJTKEH@ zfw?LZA0J@%4VOUEB0RWLcO%EBELV(%N{S_722Z$^7>-C29&xPuDk=<-e1W!Hz%#X5fXXjre1heOEpuc!S*r0iV1 z_l<9IYTkG?E*;W=ucOd9-}}nzJ1>^;-KaFm?V&zWEPs zf;U$gxmNOWrGo4Ff*JUN)j%?C)z`r*2`r_{=NBe`IvNHei+t)lnl z7zGhs8!5aYd5*ZN0aF5eGclfsF1!^>h_RJ_WZ6WL%dIFFwqAp>#1@FqLYy@w=k9Q~ zc8Hd@lsAelz;=1-VwvA452IFxiNPB$NLl$>QC*#6c#j?ux}_;oVagH%3lg)n@ZK?= z$Ey8*k#gE|_yZa@G{PIMte&vhf00J1c^AQE;RZzjB z9~;DzIdGif@B0+WtnY9HfBp~rQ>4c~LYC*GGq8OB{W;EuB3p=LPL^yLv+@UjrDvcK z6cXX{qpnUMCw!@MwD)Hu4vO)4$^YYHfy{jfl%D-A3t@zu0i)jD?NSm37Pg9I0#0m| zo+q;|K*>1okbbv4Kv* zmMogi>(`YqC$K6esi=sB4n+?Qll%NS@#P9?6vztx`z&%l8jnL;sZy~?NW?uone313 z|NQxrD^NHT9v8>+d+IL?pG6 zOIl_vuDF=Y-Tet6A+e#EnO~8$w`w4@-(`0=sc`G!-TP!wmsCarwOZ$OVx>qWa2(G^ z0g?f@4vawsNsJw`G3k)A#LorV@)HKnC>C+RO8$Re!geXU%|-e1*Yg8_=f>xB%tSDx zLm|TQe!{@3tk9a7UUNQ7CKWID3rs*&$kNctIDe-Ul!EQ<=bvGcy;vE}XiMhz@I@ym z&J*~_r{Ol<$1p=(63F1$BjfMl8kw>{%75M;*4&6A69-)vYe zVOGJ=_jL2Ybp{rYZ%w|)0g_J$iHQu2t^TZRN$7r%>Uc?lBW@)}TE@=)K|&I`I*VbW z1DBufV0=W52{}9FeqqXY{p9*{@t1_eMQ-!aQudBuTs5alu^^%Ux&EGSa)w@;P9&NX zYE}Fw4Vglw*X@nfJZmtUtiz1^lKo37`=P9q0|XW_9j|;+e`gy0cw2()DH_T=AHw^BB?V16dJnjawBVEY?XU>Qlwnr5a-j?)dAg^HdlBp*pX+HlfY*~DUS9c zOYVxJ5;2`xRWxe|u{dXM10&;9|8qZhIMW-miU+*d7;gH6)Zhg$!xIti^7%$-OOhQU zUT&eG7;GFo%{?9OGpzUeDM+zIx{8Yer^~kA2n$@~*bY%R?#(Ca1>A;zPsw~vi7!SU z4WgxElM15yn~%l1jbUYF$nr_!f4m!eFDK7h+do9%Ad+fp*#U^Qrk0<ns{3%ol>Q5hFj0p}v7q@`A2U%-h=OTHRP5Hy_Goj72x=f$^NJ15 z$CURpJUu--%s=>{<}}m~s=uiwGq-pzNVsAa7u?5~nj?yJ>Xuc;r2HenqC^}3uw1^N zrlA4TxpF`i0mvBq$?mO_Oe1k}asnFfjVPs_5AK3AyD-q7&Y z(467fGYSzjX=&Cg%YNI?Ya>zt0nHagBeBJInwgmeMc|VUJ)6c|~`2V zUH$qC`CMN$&%BUK5S`yllKaH{AMakdLYKG~*vs@>3+iP#R99B>@0p zKiZ$`$|^1G=Mf|!c~0>5!--^Ax2bJJWClgRlP82k#D>OZLB+-WZ?5M5an4`kh&#%? z091z$UF~*=7E~6!TCu<9`~6y#^w6ahiQrFtb0oI5wie_0{y*~ao>LK!%er220x^xg zRN?mkU)4TQP;&5$hsU|54nMkTqDOm5Lx=t49dfAI+-@I9s-) ziwYP)41VvFwv(*6R2iM;D>;gK|DX`=98S04Y%<^NI_-h7aYw>F_+Jw86za)TABesp zPitPH^5C$0=K$Af$AIw(Ng^Yaol0%O^we z0jRRU@3?=B_=I;&j|Zi65h&$by#hCwLrPhCR6gme7l_v~-Xdl}yi)RK*m`yDc1YnYM#1+kHG`JG6 zupH~sw|6%%8IiK2`;0gz^v0qeLp|9z!&iQ{gZ`3}T+EYz(lWfusnY$cNxNZZE!e!NS6mWL%uc5N`o;dfzcf zCb0PwU3dJ zi?$|<&}n34dW0!Ns@B%16DxB;bA17qb-nl48mBCBt;4kF;wR?6*AdKtN(JsZkp7g9 zInE2Juj5|oCDSQ_wWTUv)1iQo{-GpTL07H-^%16{6HEhU$Ys>YV)*y(4K2cmgNrR4 z{8^aD80O&CAH@(F-MjsA4$tNEIv zWFpSEzpE;WQE*BrK7*iAUT^@}V{RRXbx6Ktoe=tp4InI61sGUv=)IyuW1Fj#7=C5@ayBVCT^9@^?qO zB%h z#kg^a^{1^4s{)x;KvB_SCohsR%S}n((%K0&`)fI4=rxitEO|yvKeA5l>wb@gz4(Be z_JqoaYNIH%joc`(0@9%=<5mOR>1P1;-mWJ5Zv|JX04U#=CXt{9VrD4}Bx;Me$AG8o zQJ${OM8*%+AjPvCD=k=XpHzf02%g<9_GMd89#2;ofiuQ=FkNoV0X7lLrzM7Mn*#DvGEyJRYwl`1^ z5s?&-4p9l|?odRK?rxCoj-iy0M!G>jxuwtv6=i}u5^xXsnNVr>fgh<-!SUM~0y8_S{zdUeHZ!^4hej`>(bL%{y%<&(?!b2U z*as9N2IwU55{o>k)<+)%B>Y}&ZeNX3aPiKLHheV?^CMMs{3hhiTm@Yc$qI@I2n{q` zJYqk8%t{0D70QFwIev%OyzTAnb#ZkoWBrz@_A33=(_T^j8k-|xB|d)SE0_kKc=XCm zZ`1&xU}~G+D`5Ig5NS1YF)O;lx53Lbbu}yN`x2RM7d5triTPh{_fmKq{ZBV(N7KI$ z^~Dr)B z)ro=1isuW|#~+knV-&dC&lPada^fN6JeB)2V!Gs~)RdG#JdO>u4!bXirb62@74^V@ z3orqeyl2&tA_@vVZWl!Mt9N2gYG7=AaWe@lDcP?(*a2T%$}8q-mUVqw74Pjv&XG`+hR&mwN;tNg&7Cvgla4*dUAHJAsPVi(H^|% z4CeNL(IIMS5!_Gf^FZyIKYyD1>|iDjS{eO@;4Q7XyPx zF2KuQ=hYpEjfc-#hf(Q4lmGP2jbZEdtx#+i*a0FuJwiZml;c~!o`UP(?bjo8-Yjp# zD>hpw3oQy2!NXd2&UD1H^D4_P=I|8VH5>K~e0)-&k{}Qn^<@46v?*%o&mKbnPt16> zub;pC^t=Y}VkN5MHy5=ySVG_*g1fWf2^frWZI)H(*9Bl5UdN@7aAR^kb!ocJ<`)gu z?wYSJeiBd_@YXMpYlTyI(D2!E$pF>}a^r7Lcgy(Wc?bE;1)(_erO<%ZS#^Hy_6%?<*uJCP9_k!v`2@1;AL&2f_wg8wz{-1KWaQSy?_y!Z(d=;o|Jcnr zR*tkIlQ>IQosYz`rM0|MQ=j72X9fn?v5d=Y@yz2h6~P8v{V2%RkuvE7?-^?zg+{?Dhcfn2_5bi?SXh~$;Plkm$ZQA(P+AQ)*T zLBT6BY`@9MM;8qk?n^{7-?{n1NyuT|0s@86(MdUQoi}DD{GxV8YDv8APLalqWfUB_ zgxuc%b1uwq&tZY@NW|8%G!+|l3meUoA_5QZ`%~I-&c<$8KvGIFSF?z4oT?vTA0x|p z`7_|Kl>77PGdc;6C}1)KO7RkL*<(89&!6?3y}i{&S)w-qWLnoQbZHQJJ4$%A`uK^K^1t+J){J+)Y zWB?X>HOtpNqBEs#v`!dUM|JRwKtmb=)S??R2n{LdQ09{|H1NKqN5`HdmfKp6%dKSIlg|fw5 z+2>s@q1@A!Gv!W)G&(!B;*vFvG2dT2vCYZ@b^1Xh=w+9G2?CzsaR7W>15`-|dOTq7W~KIKK@GyN_q- z^jmEg{YWDAvU01;40$+Jpxe@~Voc6AG55P%nBMx0%|?rDSQ@%4PZ*||`P9Me&i+2r zb$zS2=xejKVhNN)_33Vd&hU;7KEgcfd9T16EEkfUYGJO!Vo0=rkn0}BgF2;nt7Y@7MSUuUh-{0-U<9DMb z$r;(784XL}t!B1NBtpUMIi1TmR%>))%@mQ+9ZZZlKfH|rPb4c5uAgzDS?|ZduWoQH zM*k%K)5D3+J8@%%3Ab2TnJ?30rPE%$rQShRphW9x`J@9x8A_+YlNukd>Zw{G`E)?^ zzepDYAh^FSQ|Wi&B8O#9JZXxxk_VeD{`?I?=O=;Ckcb9c#sV#J`NasiG@2huDFm~8 zYReuu4#ebkmQ&8lWk$VN?trDdf2lDhOu>Yki|cgW8UjH7&=3+{G4Llh<^~c_Z0+s4 z=ONgD+)VCCV#bpgM|@#{hFuw>PcqH^_d_6)3QhMCcCU%t^cVcMzlSwLa>GH1N=_5+|@S|6$mMfD5Z;>*) z`=Odb8%Q5PCV?A8CH*}(9HRhGM(sb`KS?|ljflxR1_iIYv-?*sHWdw!`SlhNmDABe zS6@u(`Cd%LurDA9#=^!v{iya36zTy8py7#mw`5#gROe27eO&-EQF^3+;;gb~joXFH z-93iQ$r`lw!Cq2Q@&gS`BzVW0oc>0=_AVy#sdpS!cY(X(THp`+&V2(*0COsdOs%Jr zgSL#syI-4`v>YG({o9~Bxwi>~AygzRx@^2`{llI0AMe~;C(xUTksUc5%-63wm-s#Z z^N!@ZWwC6j#MWcmc9YTUTA&Qnn968{@d92nw6Vo2agF7TiJ1A6h`QwErG1MjuEDs> z6@R5u z?0kI}dXydk|FrGV!mh*P{lo3!OSHz`vu)d2Gge+cK3w_wDgqd+XlJgH{bE09{YW6K zK;`kTGQEO&^+PmZ0Nl#MP^!u@tG50%0yvKnIf_JwQ%OuF_Y?>@3O`E@WD-}u!EuP6 zs~kMOSWLzcvmfs5O?dsjsdLhi2heN%M_E?Cjad8oiHwvbg+5);vGM72!`rSa%X>c% zMS*iq=V++96SlK^wOCiF$P*;1Fqq^aG+UkpNX>k}56BV?ucxigj7Pi(70~Nj=mjFr z_=HAs&wj{TZE)<}%GcNFOfM8rXi7u!>80a8^INCnuF&gwvXd+W_Vf1YA&h<37U>}QAAVhzqg^`(!?XUedy0|EokX$O!6v9YrlV6*dFVFtWpuaal4mZ|0 zk);I>xZf`;OZC=qX_QztGkKI^!ro1&s@%p}%r(U2=0fm^;uL_&1SJVT2w$(hzFTY7 z0#<`se>PmgM6;i88=9>4*zN|-;AH7HL5t8`_u+5MCSoS5)o;6W4{DxG~+AL!h#*ALEU#Tl4s9`urX~?WdyG2WL$Y1N&$^} zqs3w!9%IR3q2_L2#Tnb$dK#o>ho%gQB7lI{LdJJThcmq%Zp1k(w|wy<0_xTffdWa~mw!8Ic^x4txU?Mi9xiK`TX zTWIp|3C8o;-JFpIQWit^#Umfu@ z)3fZg+Nr2Bydl~r)9MdQ>s5F$47RhoS8hK}39NPm)N`p6-h-dN&haqc0jCm&EbY^D zF)W(iyvH9+a66CQ{)|Rd-7|SxaOm$ zad+{GImo#+;x_WQmrqD7(Roye85|hQF9H`l=3g3-byrDFPKm1j&nnk5=^$Ksalm*5 zG{9GXNav31@<^bis^C9Yj+L2pW1RAWt7ci}$!Yktcq70$?9=oM23PMdWX=Q$)JE>|sRt)Uc+UI~v*a0prylRuXz-FHk+$W8C;W_+;#cj}6 z6H}~3GJb@Hfnjj#WIb066&g%*oT(j;Tkl42xnYY1IpA0$Bux@!_0h6_*c!yo3xKpM z8qD?JGCE1sSGirN&&=mA%KH2HmD}fFa9TYFbmWqg`Rssu5Cbr}$~Z3qbb7YIl|-w~ zVf$=2$@tpM&4msSZoQ_brw4qI3B`}fMRPfW8`4rzoy(7K@bE~k$14Jz!R89ho(N4> zYqSoI6@vCmIZ&U2FwUHi5XqU+RpWyLbr#bxwyi;Xk4q_`2ID&)bcB)K&#&;;7A@-M zR`$w&2HZMRTW1eAAqwRN12Rwp-9Iu>U9rH!_<39Y8s@fP`nHQNMBV3HkJ0TTU254} z@^qvq5?-ppN&bgw^$$q?=!Dt87r)|v+E8W=@w!F~hc+8`{zP=w|JYm_gdvJROB*|! z)QyFKfqn#5Q4m+IuAi|IaTFR{pE?2_P8q~QOF)m!y&DE-W>bs?=@Pi@-|6X*cXSD? zRxdk^);k-&z&MI2P;2<|E9{wWH+mZC_E0LnU!|i~a>_6Jn{(TD@1d*f6|Z@Di8M7u zvb6As-4U&=Wf(NMkXjz@A;&OS2jE)OsxK~%nr-qhuM;?0KnAXb1&{GT`tbohgp@zN z`Jt|(NMri?;Wq1^^>RD{63nOvwp{h>8T#7cp_s5R7XS@R?;#L~-I}m&9fZ^JCW2CG z53m3d7i--HYgAj60-P|Bqq1YzTB6PzkI~8SP#r^4i>mR$aiPqB7LbzyCN@w}D|NVU z{umS=K-3h8`siO*gQutv*UUpPcnQIc*%+n?zCO`@GTm?|!)dH- zy~sr7=E?s53DOX)&PUSkPWMYt33#G;os}xQEc9@RZgHq`RsmCTs^|Tw^)3NMxSz17 z;L7o8#YBM$nKvGzcBy`+P)24Zwfu+eVN*4A&!2&T1XR+0y%HZ*+f81eABdIdcXGKL zvypi%V0zco7<2Jr7%$evu$g@i^=ZdDKjaN)@<1wcDng2)4AmP<90VljJfhsObO{on zgq5`}%&1^X4%|?hpihdH1OT>0Zec0QZjXDDN$@rf|28*zGm{0=t_3E$!;zRg?>O1a zr-Go(%K>?&+$)o)vp*0ZELID$0E!XM65j$gY$_O>!ALdqPc@7T{|X6?-3(u@-iaSn z0BRbx=PGGyY*vX$Nd-p>RJ_>Ob?z(7?r$am_47|a+6h>k>(f*RdvD+7tPd738)(in zdvPwivxcnbel!cfkeE5-jgMuO=kcfhAgSG~V&%8+$FKtSD(AHjcV1rJLfsqb%wYj} zo*?QEeT@%y4bD*X$^1z&vFa=Q_w;9*go%=cO!CA7ZrsLZ`vKdZb!K5O`a; z++I{&a&PVmqt~RbTWPj2b}AhK+~UeY&}STA2p9Jd)3roc)(U_6c}pKtqfL3R7Qzq*V?R zz zsA0gn%?cvGZ*laDu?&uYemW9RPm&kmzmlyjM`Sf-cuP($uvoaspj8J5eNAIEipCA}703fu3ELGyTq>3(aQF(Cah2g1`LauY&idg_xLG z6`w@B)S%L~3D0x#BRCk+2S_}bqlRT7q^y@{FWRdD&}Q+=eM!Ur|B0cR&aOW58@WJEoDpsNSiw!P8@_zP`Xh@=x8g z=!VuCdwU~~OOkOdEo2N75KrkdXg3V>#TZ|WS2UZOW;l%pQbISPr2a<-oU&-3hfXSAK~^5oo< zj!OFZ*q_hu2L}3#xt2@yu)Y6LBq>ROH!d#q9-Cood<`~2z$AO*(>VNo=^;C^UZh+^ zY0&N24OlD#0%}SkIsB+mGsx~j%hc4KtcZ|G$p^TIh=^BIuZ7f3PHf@g6U5_ltTdcl<2ug$?Xnt*a*F$-A4GF8pQIyxk{+c+O`!;E=y!2j1TO*dL8Ve9&w% zp2yR@>0erO@<3zHx73a7{wq1R_04D7RBj=jMY=1M*8}5)~joc=ZaM0 zRFb-x;TV}I$uqUv?RTP6$E)uFO3my2 zgoKMbX}5T^-d)lpe0_N^&+BZJnV$Y5)1X@tTI_N5omIXT3}_ZvMnQs;T*KNDBi;QtxEB-VykTLGvmF(0^w`7AxM@LlG#t zc=g&Gsw~g+K|ST_+O?oii+n;!T%5&w01lU1U#{rg$#BKxNH`|6pktbr2i)}tEuhKy z?wHB}ZTgd!w0X)E`3Lv3!npa0B|_t|Q|^!Vmkwoz8Be~L{v%v4#@xxDx9CXEOZ)q2 zmv2Tsszsi`!}A4(ZW>7R^HnN!E)a*io`GJcyA9;ackj7z@Ov`e&>qiKh0>c(jkL}2 zl$6bSZM=k&(A3J)DItZ6CA+Uki^}ghubMU<4SFM)%pIkGgg$aLE^`KCKXbX?9r5Sw znm{SVJ??O7=$FTbJJ($-$Fr+#jhTaa=ig5iNsrssXS*em1PD%tuYkAkIGC>vj-vA6 zve9J(z8Ub`DF9_7iV%V%FI<;n(*W%X~k(LE{^ zs@ld>#>8w7>kP6zy>+vOn520Fe46dJy$WL)W*c3Zj7+kT8e3NN>Z6t#TYw>^qu}CZ zRV+$7EhCACsA$wbAI}*!o+)k8Y~+aoY?Qf$mgEzo!Euc6Kzhl{%(VUEIoFq^5tx3U zmG{|OMBNCFEQx*ijs5mSq1?&KB=Oh2`7fklGbi|V`k9qT^Ao>x*r z8z8LjL>ja_(%hRU4AlCCemy4xj6lr4Ooj3fDRY(mHtub?a>U1%IhWHqXPv*vlg}=5 z8WPk}Z``hLP)6i$ZW2;eCgYc;l!IOwz1;e0XIGwaPn)HYBkitOfLmca)M4F?p0$pX z>w30O`tJ^(D5(l@3iMawR#m}f=H?J=Hv0@IrHOmX4Xr>}%+QY24z=5xkRufgYaK1q zsaqEjq5PZO^nEfPEkCHZrrc0x@Ly%QSxeBHeUygBGJ|GHfd}q~hvu_U(MLYIh$J=C zSywV@_9asOn^N6Y$*qBe;JE3oXZtEIDZs^hCOh@b5u+pEGA%+(EwxKPiN_x^NL<{F z9bu+NRzUD8EFmfGR@V!POIBRux%7eZ!`hW0#*<&0vN+^jVKKwfsJ84hjgNXlF`@y` zC!p%3)ihxJ3%$(4;K3`Qv2!@QCzm=oW$bZyPfijw$=##Y=9(o?ObnlhaIDy{UoyA> zI@Y8_3v_RAWi&IPRu^8duHLw2OU#03^Hs#WjzNcD{Oz$7p^p%MB;9deGWhV( za(|~c>Uj!Z@5y)${7k7MEig)~-+Ov%;PgoajUG-nC-SvZet6t`zgD+`ovp)Cczyl- zB9bG2?yq&4Zks8UNXtNO|0PomCAXUPV3LA`GE;~1u9ze#Q%%{~lt<=MvQsVIj3gwi z=k}|ohMv53zNs*nVnu0>jQ|@RYFY{}a+9skMl_C@Vv%?nDSxgu#aWi4l4(~*AQw7e z$3=lk9tdBWE_2X9m^^&4{`uh36uk#gHL|mvj4IR)L!auG#%M@@udr{LU<^ z2Yii{7OfNXA>sI#iAHzFph;MEVv3cUA-o(V@@0;%r1@6~DK*{X32E;%g>FCHv zkByXPC@tmIYv7;1=14D&z43wvvnye7apI%k7h13s!J`V zLIS}CF)ZA!s2NqKdl*p)hrortZ18D7%K(eU!& ze!$teyK5*61YF4B0lF0>j4+Q|7Q>-r=O%%;V$Ig^`J`n=ZFh73Zq&RX^w zUdWOdZ@N+~b>~i1qht1b7^9%9ufuYGZ&0?=EtQlz{ukLEmvO7ae7eSV9~UK-vAf(< zq3Y_|FhNVnZEjwnQTz=qgX(XnM_%ymxUsJ3HM8a14DL5Ckl(mpC^-XCl&jLN#d>GB zk;%zH8wOeoGLf^3=|*nbcfUbIKANv|>#$w#{Iz$)D+QO9|X4MNWH< z^NSaTV&4L&XlPj4YcswEgDfX1iPPugTr+C*uF~8~&rm7h{?<8%1jJ`uO&-n1$9fK_ zc7P~Zp`nHY|@c*#^ zf5&`7(i!3NaK1DCgh=7M;=gg&?ih_)aJ|0|z)6M-=YaV;Cma}+M+r;8Ew`%s&blj;Gv_V?#;)666#u+6TJbYl>S*F`#-BCK2dIT zBt*FeRpy76sNgqo?X7;9uycn*k_Ebbm4eF=%rN{pUg5_A1dU+)_IXKOG(YuJR8n?G=K1Xy24 z`r0TYn5b_(1rrE~-J<|A`r2k?LCcM#wDj86pf2E&Z_QKa20Y>@b#-o$U}i_o#TBtBO<4FLOsHj}ICZG_sPth_w2 z`6`mxdS@gntMQ$M*&m=1=kCsN+D*1yTAJIHryx38H5e?NQYT;j7hS1f>d&``cNX(o ze(CAV>}C_$c80;kjTm-3+DeH`dOX-vJj`AXn&L5i?hv^D>+4RKcV1C}n{)2H?(-6I z4@j)G60tp8I}p4g`htY^gp>M(J^6jpf;c=w@wjZ2YO5f_8VHosus>Ri_Mxp{Rx7G2 zY*3*-yQ>RMSmbLKiAIGU!s|+YyCB$HYkTy3OerSe-KtGX4l8g9C47FQd_PbVzCUTuSG}BluUR6U!dJOn z_!U zxzqr>Apu+}$z_7SP6tu-)9w9Q+z-ztKOIWk36GSCmqUFv@A6FCWkXLrg|9LW4wdc9+8a(;(Jp0=V!~>k-Xo14FZJ&(XAmZ|AE*`7;l@>Y4OB;_91>sZpX80H+MXKkDuhrFE{zb167)@er)^m`Ti^m<9~mh?<&#?{`;u!ot4TM7PhevBxEE5%75&*Z|5lRNgpn3b3aJ_U#Y?lz8U%>tkzb ziGSjZ?hyeO4!&^{A+Q`ntbu6V8D% z&8B^5(gWia>FIL*>)ak>-<=!sCmJEvZs#V$_qP~Kto>;TUH>;;(u9nLLQcmP(j|3f z+)qlrq!OCMZqz#PRkPVOg>cdg6kq~`zP@T%^I5Mn#eUNl(_R-*{EviRX^i= z#Z(VFe800H1_QfXKd7ish7)x!eK8z#% zPIz^!v^NK5nnC*0@8+i-2lA(^cj!pROKCT<(KS6Q%dfGB9#&Nar`crZ7lBQ+1}^8J zdevV59f!>YLmra74Z4|16p_Jg91lyvCpckYk3lO?&SPsHdv#kw+S&1)3ud(C1n}#r z5>>g82o}TTviJ3u2d>sAE%nZiKT}f5CE8Hr;z8{tfgj=o;?n<(B$e-$(0b{q4@H;z z6R3n^2{mYis!!Is9VR~Mr$Z1m$)|vyIBy7gfr6TxTyKku_9`~=IL7lDzJkjcN*z48 zw~~lErDF&aSgcq0+au`JShP2_scb^6x4N3JgqQaFcYO=u2X^+e#?NOEO|V*94VI$i zR#&ISFzx;@mWA3)6U!K$SH?^=oZMRu{rPZKURJerm8bBbqZ`kp8F6*0NcL!{@u@}z zGB7z4HcPX105nB|IQ+j-_Uj7W=gj-AEeDW)9Pu}Uw07$^j#&mT<#vGKbC(Sx=6U{m zJ)tr`HaS`HvZSfaV=xhQ`=~*?O-)6GbN&z@A{hBnbos7G1lGwcz9T zwqo^U7C;2WX1bjE(SB>g0snevWMxty#acV+v2V8q{O=N%iX9M)agI~@oAUQ}LOC+$|HL|#baw&+WSz5EJfbg?%nDkJk$ z8pI(47#b5h{jX-PxAf|4N+2fs-@IAl3T>;yK|ZO*7_!`qVtKCcag6T&r&rH@{xrF8 zglP}?kbd@|DbqIL;Y|{SdH~v!2BNvlKhg zYn&c;p^3**M;NBxEd!T!-P`WdSz&CyeWW!YDaFjeCdn%}IGbQPG-PcFstG=btVT@W z>m+h=97gSAGhAGgMutzu7j6VZgynjZG|G%>LaHuL1vf=Hoz$_c=xfoT?u)%Lt23jo zH$#kGkM{vc7)J(%7lC7PuZjRvsNL`_-Q}cuI2#X|=5`^_)o$SGjMY!Yz-C#1O;u3 zq(91K1)W023qkisE16d^14w4Ds5pKERdXKfWEdvx1C)z=4k7OzzE@R0>gZnkhA~z@kQA#KGuC%@% z3!|W-dQIROJ~Knb=Si$EVp~B$PELv!CwFyiDGgb>2?eE`3Wr?`eEet+b0Q@4gDk*9 z0cSB^l?KY!+Zs!49Se7p%Spd~%N7>eJ=g^Q@1WeNK{J&STr8+UZiF4}|DpofD!&vs@4H-br+VkREPp}W=*adk`ft-k61*I^>rx{(0l6N*NNvtEB}+EcD*IS;cx-}!oX z=a~tb1rBB_QYH)H8Y@FV*~`Y(mgY}~pF|AJBpm2{Dzd=*pR<&;?=3Ng+wTLVIJ>Xg z7wy=AEC{Lr#1RA_wt9_4n8*<<_cFqMD~2X(@UIuyLY*T(nnCU93;k2i&f$FZ*gsQ= zsiL#bK*EQ~S)1MGJEOmp3SxB)#yJ)}wzl@_-C@~Mf_CRSuSG(xa8;%$OuGeddLpNa zcy-OqMfayjmgc(7cZc{~Y|;Qmvc6ycvH3k74TvI{SXjtEY*c}2{r@Cf)aY{Z%o~eB zf;#zwaR!;Nf@VF}P1bo#Sfl}Sxc)aWX|dZ{#a($|+K#!lZ0E|}eGQhKIzBA;`R4E6 zjt{APoS-e{o^iD0UZuZBis(C~fU)}nrrV1>3aMHHh0(e09>({l7jbx{RMGt|GAA8kc z?Cw`w4h|1$Fd9%%@j<$@JI@saH%BgC(Ny5E0TBk{ADxhV9F7K3ItD;yS7=hQp3K_g z>A9xVY`K5JmcNR`r{=-*FSh_{2nQ`gA)!)PaLLG^g_*QbG!0n@hthU9H8WE~eit8+ z<|A`pH?zzrV^*+J;2LNO6M7kQa|@*cT95TUljW(;ZsR>#Xj>)zb~kR?Sh@sc>bh8o zM?CDJ;xQ<=Sx55Lwdj)YTw?d^YmR_vH(kD(&4K)i#(XVonmx6<)8N{cpRIC9TfFvW zTWKwgO7>BKHVCKpI_;v&d)iu2fEO*^o%j# z&xwEBy)Zdv4}N|+XKlSruGscXa9yqqra~F;*be&u@QL^I^k@k8k5f@jLU&2{JNr@5 z(dSL=F6JNvV`jQ4#T~Xcu!h35%vR)}I4s7}n{z{8|Ky*!+`>Wu+MgTJ=p`7WQldRt z4SoCd85akP`TiDSvnI?1gQ3sN#;k(MTA^A6u{D&!Vu?5)Fz_Q>97Brn-bAvi*>tf? z633x^D8MnO8MJu9ljd{8d$+(e6)Gy~=)}apnFj?0zrjL{9v835W|B2!xt@>nL-R*6 zOb-u)$f)2Um*upS>k`xcO9fDuWry9$SEC9hn#@eZdnm;@SRlCI*F5OhPJ0 z`M%Fj9TSDuCUJ>GgxUG}`3>rx`pj=XOfv6)9@_7QjRVs&c7~Rdlv+AX?wz{<{h-BH zKC@0C^|GhWO-y*>O-Kl8u6mYcy8h9O>xWCS4x7iLBOxtDU(83t+1Xh>_v3&uCl2e2 zrZ==I9sAo*c$<7pc+jrn4zoZ61TC{41Y8rRH{mQ)D#w(9uVez7DUP-__Vr13Cma}Y6YdUM{3aulDNPc`XHesG$O0EbqeTAxeF`}8GShLw zwRMBh(b06VC|uCO8|rpJnBV9*_m3I)rp}?1^qoEN*{p?~eY~RK=j0DMSZi3!OcSEZ ze{9kinK9Pk1DeRrINE8V9sBQ(wGZ0sQtVCV^VEvhQ~9N`wR|49xOvM32wSXQYLf%5D({_TPG$8WiO>9-P=}LJxVL-+uQsKa453FNl@OiIgowv50MA! ziG$wIb^%|BjE=55UxhZ1T#E^m;{5zv4bWXQZMmO*pyJlo)BBnxpj8XN^VHNvW+o;u z?NM>CNYpc$sb{fBC_J7`A5)BmJPX#M(GoD}Qil?5rVe0oWB7q0K{J%e_ew_XZrrVj z?3T7Z9HNl(d37lL(al{)GjZaN`k}ZrH;*B~F5}49ln@}cSga%AS6^+M`30Be<4Wo6 zbKm|=rvFc-Xo2(Vd`uzg*&5Fm30~ZnClB}CsMlt=#fM2u-%Edu%@9t~Zn%-jgmXwH zRN?3}W4`c=fNcICX+nZOwz0m)c#kI(fHAHkSn+7N$5|ZS=tFYrgZ?`X+uQUVstNu?qX-MIujZmhgM6mkgJd4KrXQiVU=(c)| zRUWsplH&E@+jN=ZK2J!fD3jYcPL}-ebwoU|5srrxx;o!N&z#kK+|mxVb8& z$8NdBI<%J<7@JFtywUVYw{6Kh!)eczCHHe$nL!leWhSYO;2vp0LIPdVN&g$MXX<$IIFP2ea`Y6Sg4tiy^#P%mW{qrrup=y;bBGONce5qqf0kIDU zD|&mJ`M(-78|8JJoH+E5+FtV7_|9~ffvF<-B4u_yw_1bm7V#zcSZmlb4Q?ooL=)+s z$6wIg-~NQzulJ$72)~oxOkOK2q(gsBwy~3L@S%f3SKmy?C!4{+#$M^B8e0fQ>eQ?D zN*7Qm(>kRhlfRPI&`2sQ^nxlR_{kNjwhq6g>jRfXq(C`sB!7|$4umn`DZC!44KAeP z*`eUBg$Q^w^<3V^GNj1p{$UinW0J{QuyZ)~fCIynKf}V}`YJKV1mGSdw{Sc5%Lnlo zk~eooC1`jXA?G{Y{%Fm%z$F1U)i%p*jJM>x9J)S~qEV;=&EbNmZWL2{QofW^T_t~g zfP%Vx(#~~$;h48_@U2=qO*Y@b7A}lTp#P+lH5pY9sU?>Ehwq^vvUh3|!xzzQMIjf= zivW@&*jSZ;!U3`PYPBmFXNjnu+Cs860*{`aVK)Bw->+I(S{?J8&!bNHLYsURYasjZ z8dJ~hE|uBp>gFaaRndlrHNmc4IiklU?{?oK{?BVsA1o}2uK(Jz-c=v8*Q(cQMm7Jg zcsrG@ArU*U*wWNuQ;EFP;cHAh=ZqCc$^KEH>fe8kEgd3bW3nu!PuiK8lk)|5z@4RP z1d*=mg0Tq9xE_Bc-n{8to=}1OB3PqVy?au6CZr%)AvxwE^8UxF@2_M^z&fJ9YCs6u z0mDd(M#uVY8(heRN4GZ=U&P%gA@k$3W{RFf(->y47(tuXJGuo8SMaoyrid~!4QA^s z$>JE6!D{=Iv8*Cn=v4lvKz(2*igm*E?`k}0E@dPo^=D5>YHAd-41?Whrk8552V;wF zYdqH(5)#z7l&HT9lcve0|7`42CHL*=-(uH@=dxp=5LY*_&~Ho8a8_+LLy*$o(Cf_J z#81M9$8_8#4fa%*?4)^PdLbqeb1S?Urr&lfc1|{i;a%$UE0Bxyv!(@~T7sH|Mza)i zRcAMSG*(NJvb9lP_4o*2LKDh*^_1!XSD?mcjVwr?>Z1|9K+AroKvM6hJNxs^^Xo(9 zB)BE)(zpS<1RCW1ns_dM7)jSjI~BE+<=2FA!*A}9JyjP1SB00Y&=qut3x{PcFLw*R zik$nN+`#vMLe|ImsMWaL=>}srCmJp+IB>mR`wN%j0h^Pd#YanPiH^W;9CuX_jU#WHywq&IkhAG=T5P%H z5NQ$yh4Bh+1xv=94wr>v+n94llOBq!)PJO!3RuTWxVq2;pM&!KeJ9cOi-2I)wt+y2 zml%Pv^JE)Dec=Bt5$W#DGu_BFmH0x<#RfC=`!8+7vAIfbseK^Qtwo)fk)Us4`VI(X zu)PsYO^tE3Y2AD7;gHu(;Fga+de~31wlBPIa)E%=irjce^F7Vp>t@&6@xQZh99FM} zF7E{9F_>&m-)T3wXN|@EJ`M?t!YgxLwvB0;K7$Nuc5e1pU*BKe4qTg}O`1Czw|6aG zr|P^UeSow>!T4sHzfJjuR?b@}=y>sTs!>;e()5NgmYwjCdQ`Iyz3_!&NK-M@6c5Vm3*@te;cEJ8LvCuXVGUb z1NlCEHKyu9CmO!bMS|{WdQr-{mkrncL`=&L=MeIGbV$+TYUzY3>q9-=z_ELz1ki%5!maJ{9ICX20l4C zh_*3Xh76@;I}Nh7p_ptmXokZ@2@IG6bm&X$@UrAIsU^4Tc$`!{UMa0RgU9+!+!F7W%}teHj`eK?qkc-C2i}nSmxS^xZiqGBXhQcaURl`b zoBjso)c9W~?z|?Hf+dL^;71Q$>GUQ*>TRHlVVUU>&u_`(37hq@1b^@fT^aSkNiUun zs9cG^JGvSNHrz_PKB?qv#%!t}M8QxLhD1Wa{qbv-*EGz>#ME?bRLd2wCts)9R$z_h z%qwZ27U}bIQmxKWbAbUhmawyk>6to?<4}7%W#FfEE>ngQqT*B=9(dm!9dtlPScZfV zkK6C$fUD{T>b>+N@kewJw}D)q8mrMOCN{RUxTRgOMEOS|I}OboHdZRL+krb_jpF)L zXi73~MZ&u1w9WPw0}U@Pi&YyV&81tC5XM&~mmSGOw&G6c^c}Z{9e<8=;rb~eS-v7e z_n%hng~r?Cl&-hF)I4kY>k0S!l7yVre@$4K+4YVh$!zVM^vCxG0doNSit18?QBh*K z*CqVgI#%>iR7y(dV^zvTp+=M$dx1P=^TWTF9ta*=CGnzx@)S6SFmxx$^TbbX>OAlQ z@Q*86O==*DACn)SsW&f?hXCs?+8#Dms548$hTp9+TmuJVH z>A-g~JlFS3Ozy68l(?xNRfo54w#_zC9G8LLxhpp!G_AtRJhTHEWrr@To_| zCQ6rj#RIVoV7GmFXEIjKKw%j~dl4Ex5{LFfaQy5{T6{A$sj?WO<)Xj(jNMs}7=yPx z-Gl1dJ)Y{QasK1nlkEOP@S7}Tpo37RIfgaK5A)H|$%(?`L5>8Sj5{-uZIOg{XgsHv zrrrw#%_oZjaVef>wl-H4iJ`T%$d%^2U_x5L;-J2On$K0{(u_kWSw+l zq^-c9)h9cPMW4>7sQ9<9R zV$1}hf}n?H7B&{ekF$3x+H7Z!stVs^Bp{-rLOTy%;Qm=ni(7gf-c*W7yA9pfUoNYm z3I$xs4E;}0XqE5Utefd6`T0Z1yfl5mSiJlrfS77+R#DN2IFz_$E}^k>*9m{#3N|!& zW?N}ZR+wtrJ0A9dnA3PPqt^Y-7AZ#fWM}kCKv11e^W*2Q@@osVFXiRsO%|>)Ih%4K z-gl2THzO^338u!-a?_d6#Zr9=W$TG(5~@?F0)(D!|~s9rXgjA)!DmP_HWR|Qc&_K znaRlXw{%Q=+iaMh=8a3EpxlHE)h-u(XxWBKO}kgSVd&wE9vGnGfmF%Wc8&CW+8kIy zk_(T&yr+SaR~UcN5#NK}k8wA)zbMUa_c?OAMn}FKExLZ2eFeDq(8)Wze11X9g@j}( z28{&`y3dvVL66bo&L6c3VlQHvh6V=SnK*N`Lc*Rwk60N#e)RjI_u74;5Isvmqu{(* z!0T$Sk{9~j6I>I8CVlQorAD|ut}VsfKv$eh6Z7e7>>v$|GLLoi7ieU;CYOtA!A(B| zwD@@OOddo>!+ZMr*0wG*T&ivr5Ai_}Up}=!Im0z6Ihj_rQJK9BopejA4V#Y6ev0X* z^U-G&nK-AE$&xo8sQ9TyI0M#2!|YEEzIrx0VN1~VI}_5jv?Fn2(BGfmYvK-#%I$jL z+~a$1L$7WreO;PCItxHm_Z5Hid;ii>1dD|oDU%%m9!I3kKrnwr|d+#8Whk-^iDECniOKK|QM%XznqjH3~- zcLd;PKpp7>1c*k)$Bl=Qzxq99Ba=Vp4wNtPTV}D^Ay%K*3AC>~tzpY+6}8kfS)aqV zBsmmXoKCmc71GKn$_%wkkbeSSxYM#gMU%EtrDR=lX9+twxJG=iZYT)mQy&h$!JB@l zI2%FeNMj3fj?@mp&bB_(9x=H6z1@)}bNk9^3aYHq{_VG-7+>uKPHCET8iNgO&)f&E zWrUZ9)&3^)8xrtn=Rb;slXg5i=2OG%@WmV%EPB%}`p^L*L3)F{5*^L<(}^tohXi|a z@7iglzAno`KQW*1T=vethoLTo1YJKOr#~b?P zrJTe6!`xfO#kB-|gAfuVK+xb4AXu>A4oQFz9D+N+-Q7t@aCaFrKyY^tZi9P(;O-i9 zd+xo@z3;QX-7ouT=L<8ObNWjw?SbFT(oFTjjoE^R?@r0(!%zpg5l z+XASf_sBPqj&M6h1%DAb@lek zdtyLdGN(5MffRNCSHN_kbw_>ZEU~;V)blTwCXm>Rylp0k9 zk)LI!ATK9pZI8JIAYQq@xUU{_&dHxHW2SyksnI}IsQMcK^r{Vb@!-&FU>t*w(dv5} zu-;^BjgO6GnT^MTEtoIKoVy!t>HhvaV0+}PmKIt^0ERq&uKW31@Is47fH&C0m+<~$ z^b9x%xCW95H3r?Gf6&MTK8_k28v57QQ?uw8>RCZrh2`;BbVPC_m9O?|yKavJXU31H0+S{F>h4L5vh&0Y3U>9bFbR)T;u%g zDYDJ}gCT;v+ip+(r4=7X``}MeBhSv`5YJ`Sw7NvvI*wwA0XZU8dwn0FgPGW;#(&Z; zW$x3?5I@ND&AOQ!nr2tr5VlRVygVnKmZ#Tb^1pihoW&a2V?~5n#h+?1eef|q8o}?a z_y~5( z?poBTR(ka&eR1FH_s9L>PGHYmr@dU$sSrArpp1-3y(^Tvaj!U;R=%>F0fEvv;2_fQ z(i09Zl08XVT8UVwn6yweSgc5Y>UlRmk*SGfESn^gVT0K$bl7M8pjS~*vGseS!1*>Y za}_|`QeCONfGR(D&aesY@2mK^#$QS24E=nyxnwvPYg6u0#VF1psaRxcQ+mm&bi#y_4R@3b%XT+;>(vmn5#Cs7Mf`f4g`aO+(e}Z z4F(4X>9yyc0f>PoZVU_-(Dc@ULe*SZvq2zD?&BD{rKM$g8J${v z4m`p)aF%W4kv5h8RoM*x+-v=J!tbTG#LXp%fD^{*)+s=Pp59aA)!K4+WN-Azs5?Tc z2e@q?ypz*nB44v|{>+y1pcx|3$RHhr2x_i!dSk&0A;B0AjNv{IOsB<|TtjZ-Mlbws_&D1{I7?BUdB2*b+WM^)@#S4YEd83b1%Nf~0*=?)#*X7zZ(sVDR=ofl zC@VGDK>_tat@V75&Eh>8(N_10ZV!W?=}M(nYyZ_x_pFW6;wy60d#4?q)n@ZK%@hDv zyWHTp{4_`oTRFN3&O{dSq^;hZI_Dxdj$vi2PN>oOF`Ltc;cd;eV$C~sBCiSgeUh%= zx6U=!)sKniKjN||qz2+(fyh-MlQ<+TK0K{O=k1b)-z@*k@>u8B)c`rnQ@U?29`pe2 zsM%`4_07R}XWp+m_b+mM)yk6hkABrFm$BU?A{%!*dtpg z1J~N?>K9)VpS6>WnPnRN&;d(o&g`6PcnJ;w!aVqT8lR;a09T^W?9Q~ePpTB%TDrZn zv(EqLMip#Q&&>17SDS}DqV@TTnU#TtcD^k<0m&`iv17YUo$D(4g;#gKbb(0Hojvq= zgORYO`sz+AXkp--7U{}t*0s9P`BeYVRHVbWn#Y+gx(8zwc@FDyR5`pAKc_O`&6x!D zG|N)1!YSV?qgYY}(c2%w9w_EMb5t*M8m$Pi` z3+lxrJhLtV#psU*QpHmF+=IDFtX>0qkkG`?(!V5)xlf|+l^3y!)gvW_NmGkW0Z*Wr zb0(|}G@pVM1R&KGpUk$5df-Hm3#lZn#>iTYj!zqappk%#XTg~8r_PrRwTBd~r%x3+ zB_91xBG}VqQ`47LyXVx*@9Q}h2NFtMZ(oxEQ!VE!^MEkaJG3RQ;lrtrXj+rB%9IpI z|E#{XSuj{HeX3AFc%Gr6LZ?En+gz4}SA1S}2p46pm5q&6R8=nEyUDQfH8A&{ytuJJ z)#u~m?J88l>)eyfD9r2Vvz;{Txqj{~5Uis8!Et|%M9@nc7C#)PE#TkkewHLstD@WY zIT7<6h^_`cE0L*p-KN2zWm)-is#Lw64$nB~K$hWlQ9E2WUz?4x=zuG)eKtKhO2f{s zxUOSF>QI2|Pa3Xd?gLihkOXT*!qWVtN`^nz=XCK*OPOOnfBKpFW1Xn=RMo6)l#wZ7 zmGX6x$`C%C9sEkL+Vz?Nk+pP_!Mp$qmWs;CBtDPexm~_`m$r$)*sqm7VjwxhT5!Q0 zlI@+Hx|#$c3-Q|gkJMXisdaEn=&oBK0#5_%pGlLjCY4@$4}oAI@)^2*+Vrri_X+(R z-`qsO<-sr<;?_vDAjse;(k>4Nk>7QVdvz%(P@759_H2aJ``Vj10jf)LvPRhLBN$bg zH@qSb^}|`FJ)U2YGna&l2pKWN0x}R4s}Yl)O5fpP75@JZD;>-O}B|ynl7xBL-I z0Iv#*mOA5~qYGJ>S=QnX%qy?Rr*{WTzBGJnpY>b&j_Yi_FgzK;O~_RfF?Q8}UILL&Tr+3JGs1KR%p8B>eEV~}^31M-}MGX1ah8h$W_&aHY z&OZ(8XP8>H{Y)xM5;RK6T9_D2EbTt~)HIEm141eBt2ckL6M5}WI&Qp>d=1?A^~t(F zY35Ema9)79hed|%7ZpT7Z5eD}ZY-){jyN2n7}!8M1+6%$>N_UIWdW^&9F*H0}%AAt$(fsArRc=@PnW1KJD+bvdGFiXieUF|4Q^GK@lFP zLum!OZhjUwGz0`&3N@ByD#eNYwFcfBDWk#&dWME=(;W@$-j+TaP|Z@d)~{bt#4$YB zop0YcUwtbx+SPeMt1#B0ZLl$X13=3d7rSadAS-kVdT933ie;=u|)zOYpy-5lv2AX>SFcX#^g@g zAdv5XEX9B-IT!ob9*T1?Q;fjErjuclQChc=B9Xmyvu+{~>@8jY)ad!X@rJSMO%bIK zvmfxxUvsi|Ew(@N?Vn6d+Twg`g{Ix$k}Guy?Gy^9=AwC~$gXH{1O(@7SKs5Rv*@mD$rBl@rk-5aH?vq+ zpia5^^o(`k1O>Z`8mr(r*HFJ^XJ=k(#D9leR#nkC)_*dD@PN5REDB<-rsFzZeYdUb zfJqaB9K);tXFRr4jam1y(ea+Gc*h&9Em&p%Soq6|(`mupPA2%Rs2g}2iJCuzIKG2? zrPy09rqaVoWjm?3HCJz#xHWut@+-x8cU$|P9dw@whL}#_l~2wl2w3K;_{sPD?Afx;}sQ`wP|$uGQS!!$X}v=E{QvfX)0niSpR5+<^|9 zEzFxeo0kPyLj@C;JCh9FNf5=klDFf@hg1T8smNpU@n$a!OG~T3kRVzCj#LoRW;4BN zyTq1Cs@NfK%U7#kdEmtcDG)yYcy-_@@0F&N1Ge>eU8Eh{kcU(N9!9k^J3NBaLK z2lB5gft3Gs^xq!*zY<#v>o28?95zm$`yXrzhQdoyNk1b)!^o?>q!kM*CMEzF?HUb| z^9QBH8uNotK&tQ|mFRPj9@g2}m06k>kRQ}{^GqE1c~Fp?>mN2$28P{#S~%KM&swoy zVzOdnWR#Hhd}q9YD%J>c<=ow`|EGnnu8h3Ah@hZtSPTErN^v3va#fC5ro7tVQggsqN296uXe&5ge0WbL`5H8k_pf$ z4bp?TYwv74Q)l3^4wQIP8c;0Si9#k&r}`sNQBl#>nYpXZuH&gw^Z&`3CX5G!f51(Z;*{@u zj%y!%e(Lu*SdY?p@sw@b6@le@_S>h=DQ8|JPX^|$yY_V}aImya{G4ctO`@X6eDMrl z!68^;lvR#-x+6a#ZFTvd(G*aH(qJf9!v|Kms5|* z0^w{0h0_^?Z{-gzy*#cR$D*UJUa(>Nx|j@6GSLTJZVt1IpL1I;cFqq+{7%qm*qr$z z6+cq!<8$GCI`j}*8TiKg-pTuFS+ah~<@&5vLQ;~7?F0eNc*s5B`*)6wVV_p%X^>BZ zAS`U7<4%8-W{|*`B=>N?aJ7-r{GbS>{P%-_!vq(C+<1A=RW5;}A|{@2(>z~eE_O&J zxb>@?3XXKXI@=|JtjcCQS9-d!zG19qAViRmkVMdKMYV_KC9PslAIg&V-Th{hnD+oU zk}DHK6D}%V`s&i7)_gLaOwfJ2+~D{C5kSFw7mrx1G8=CJ%``MDuTKVqh6<+g*qwo9 zXlZ}1DFt}nc|L$aaqraUP2+;li2~YHzWe~{%ggW$Gg)Q zwBq7Zo!!w6_X2Qc+uOeyyykf>g=^ zv4Ub5C$8hUM&T?cQUJ|}l8Y-?B!I2Fq9RMXF&vGM4NY8}b~SOer*fvsj0(ciXB{+#l{eb39YySZRmomuX9@DGvlT6Ou--e!`XQ|5Jp zuhrs-0-9=YIsDrC@cStQC(UhxH&>caTwk9Ahvs&2FY)_#S2)l!A7d6Bfnjh?i^qQL z1-CWsNLeQT7sMxH^$xXcn*e>wW1@IhT3-H##F8Jv($SyIl;cbC&^#0NnESoGam!x> z1IMf4tOQTp_R2RNBRyw}&8Au^mcsM(Y_*byMH*bq0p z=ozzgzTJ^o#JF0Ac)r8R%@)mVGW6-b{6j)yR+Ow2yA|e87?2uWT(rKRSTg%B)uiLvn^em-6)0XP3wXbikBHgwy zm&gQ6$9y)Sq}X7WY$gNV%Og%}O@r{c*sk?LA}-e3_r^4{yu3xh;oSq%3DtHvsu=fU zFf`L<=i=Fx&_U^YHVZsZJA`|?k=W;g|In6>A!L2eg+0tm%(wuIjl#b>NANKb18Ik}m27!`llg(l(C1=rMw&KI0H~%9O6a1D3 zp@hW5NzaQ}8n}zY2LO*X**!d2C`?q^=(x>)dv}9Lbj=7FbJ!kp0f&D28A{Q*mRd2~ z+=P{9PN$1^LnGvTo{{#i{cg9Bxjy_=FCr=V2*8JbS1oO!zRt>087tPbproXUN=kYw zE6X)HT6lDRPRR_t9j@aI!5cEzpPMwkVPj`cm+J72guY+?tQbt0fxPpVkR z22cUv=eq+w#NJr{^ZB!{@T9C4fw?uqck>&%!Hz%5Ej=Teg@pxB0#Yg^hAU^=O+3zw zjWw3-{r$mwva$lgwl6F|&5euSZ|7>QG*@({PfsO2NPNW;NJE6Ke2*3LP7-D-)%kq9zcvT7 z-`~HqUX<3-&+2o?Ib0k9b56%=I|o}iK-K%o57a{$uU4cL3Jm=&vDyuH>w5l5Fx~AN zw=s0>Yx@@l#?7iT$M-Ucz7e(D7V%6SLzB@HabtN?p#YrLQ)!!)QJ znBnu_2WlHE@9eyP-%am)DBCkUoKkK;%WnP4@ULEWY>j@}o4QLaoiIZOT;WNXHL2d$ptFKQ7c)?yX3eNlG{r!##BMVz6Cxl>z&*Gs3gIC9; zBh`fotSo+o%L}Y(B%YA(I?7^KaJMaS}$ew+6E+7GkW;PW{$k6-kAi| zDk@C1eCIeV46Fi6U5a%^m?ryt(Rzff>K&nN4BdgEN{SulB?GQ zT{M>sjr*ND-Vj9d(|pVI&Gm|&jhyF4?8-b@rcnTqN_cgt-tNLXT`cuZ30JVek=~Bk zmXwy(d%A>FVRy=I`(zz^UMnH5J}PRWKs~0FN!wiO_Q?^zO<4>jJoCCx*T=z5Jh|R| zj;&ij^Q9de=OicOwGS;Hnwv{LIyyEqBBkVWfBtYi?cCIK4fon{3t8V_8k4y3+iWG3 z)Gr2B*6^mLbYv8i#!?dJ{p;wes$padavQDNuPeNtCVouMHt`0X?`DIFl?q>nP+D5< zLA*UO7I%0epL(-lZ4JGxb@*vZp|!S2Ru=ZwSdMs*gC8VyXQX7|P_33Z7{u!0W;PlG z#NI=5jE6KBwXeCs$oK{X(6Sp3uFjg=L`Px{?3T*qM_y5Wbkb_pu;VWk2n1U(0H4g* zD35{?qdqH(^5m86W&x5yu}1X|g^r34I?9indrPemqnQR~YunC;?d!errY~+>pG8!2 z3F;S9&I*4_amZu&y|(8HyEfMy41TT5{m{QB&*G@xY~2j2rCA|ADiT`_4m2`@S6idN z#3Qk+5nTJTss5Z)W-gqx`^j$|LHChdBPsor)jzFf<7IadUxyQ~T#4%Im*;CsXK&(+ z2R73Yj-(&%jc*#AcSJSZ`SOO-ipw0V_ARE3fBV9BcJ@?y9O^VU?>xqRpz;>6XOl_c zXm3o}{sWOa-&0@l0JxqhHC6_v!^2AQ^70gaHnbbNg`5Rtp~{n`GmhwicP zgC{E7-Hot8O{-#F32d3Y*xP=}KV9Q&<$;Js@BuspY?oYc?ags&WNMQi0LmRJPO0s4 z67&#K{)@Kx8mpDlVQz%y+_YMa@jXz;!*`EM9S+Ma>%S;7=m}T);E9#b2Vjn5JY0n5 zoUPSo^VK?sK5KH=I#6sJMqQFIQl2nCQ~PooFF$D1aNJ$0E1xa62(y~4$iELK(3s5+ z>=iNpjq3CJygr+e==9Ly<80bB3*~g2cayeQU}{BbTLRLki5^BsH-z1pqWQLgeeawC zFO0a-@r&4M(1-PrM?i-|ft2G7B`57$Y^dMP+u}PoNL68ApnUo$`dC7e_m$Fh*Ndy+e}KMs2{bb{$+>_3raVPU+tnZvn$_5)w_d;O_0GnW5Ts zZQsic@>PnHXLm0Q4a@AtX)gBWds=K-*YlbLv{E4q9McZ?%rJe!=S`BXt3+I=?Oe8STf?KTKl>$hvJu~Gok`Np= zwu>^e@%I<|^BuKI2UIMFw16gKTHi)+OF+Bc@2g|R+dHqp@O+(SzCVBBm-MAX$%L%Q zN<43eFJJMahw!-Zq+C9nD8MF}awqxyNc;~@pMpIOM*X2=N3?JK(04E!=#|uYzw8@P zZ*6p9;sRCfhiv!S=);X-P3pOTCrAb+76ZvMY6hB)S|mWeNg2l^!P_3zs2gx(eVXyb@J8pui|(wi+E;IWF3(S4$qrHV(BOn6Bu6UMY_Wm+KoK!D~~%Qd8Munxbi_ZA?y57i3~B^SnGAaJ!YdW4w3a9H8XI--t?eKF!a;dY^b!>dRcc|I4<{BRufTi%rs2*L0vOECA!KHc@&^9^mPcCz zfj*7BE~3m)FZ<0D)74`!eWF&r0)S&k30~`E^l>(OTxJ93DJU#Ve}68*&c2`nC@+rs?ER#q8wnZCg->n${ZD~` z37q^`kn)mvW@1E|<>i4U>kzyBR-8zn|vva>Uf&e%Xb9&c=%Sm#>bgo_<(eTn<|j{jGG+r2f3tf^wEtNP6!Aa8G$Kt@miSY9v87x*X> zn5eiY{6>y!pOFhb#Z|3@rt!rg1YnG3s5wfr|x8m_}jPs3HE76q1=lZ zNqMx{v@(=y>j{6hV&np)q+hP=*B&2V=6wr8*G}`SNL`9la)NPX4NLs`@(|Sekoq8V z#}5i9EN|y|M8-J<_Qg=y+U48WYXeXV6cm)zwLXI)P5ds0;U}PmmsKUJfI#xf@^W8; zlLDhAp2WL%jLXZJB!cb)bS1_RJ}0gK4Dt-s(r1iXJRn@;I#qI)NFm}G6r>(j>p~tf zgaZ8Z=oF7Ae}6ST=RN7ujpD)Z^W*J^>S|5^l4>$vqXZ7DeE=sI9wFR}S8gi8d7h2l zbW56RYHB8PTC|6gnic6jpzu3;eri&cm!|{n3L#r3IF8Q=b2J+dp)_<`W;&j%zbtRL z7Zd$}&kvxth6Y#yj{0cHqY?>v=554(A0B=QlR*b#A;sHD@t>wD9wmec3lXPzB&J}0rG z5VL;+XgID;`@vxP!-*gu^a*$-Qj>f49!FS~=4+yNO@t8bA2XXyYe5zIy0ITrg)hjsbiCp=m?k*sTHJV(J(yG(sgSM164Aqi1E#I#)v~_t$HHWIm6Z26XLhW-zC(&+|9;JclL6 zg#a4Ld}RPTFE0TaVzRrdeD?b=Yy%J^0~IABL+a~26H;L6o6O0jr@y~o;$|aNc(|QP zysWY^8%)l;%E~?#y5EDdl}4@z8*U&=8p5F3&vDU(uk(U~E^ypr*#73iDw)$N7*fmx zXC@)BhL0;h4u$e~0}o@3gr_Y?F%NKIRu-W}N3HG~hhQ2qf>Y5;zAHm@8IW@j+$ z0YyP4ZcuD(VSqx<57ff>N1VH0_B_R=Dz5l)q#i(0&JGb=F2#=k4DP1`Ps(C2zaeYKp57jp{8kO zW@hBJyl3ztX&$f9xmcshW`1hV6*Rhi)QNKm5s~5N*ATkD^3tU}u`r*m$#dGRc<}mF zf0_7rh{I{gR343z$S;M@}WzVgS^z zMUN0P_TF`MnAe{!PzKK8dc20xDIY09-DBg^3li zsc&=mrcfm}?wpM5a?$C{f1T+saW|rULAl-oT)bbPj)sph4O0p??fSSJ3i{K6y(-b~ z(ZJ0*y}PV8G(O04JB|0eHhcQ^ZDt%K{$DFAQ0WCQIh80f-@es2dXANyks;4?75wkz z+wLEa)c$)T`1U;*xRw82hkg0*JoAa(|8)JYzfrGXmc;-1DEs62{%2{xS}Z^Y`yKzQ zAtfx>KEwa{$)_x0;D^UzW$`>SRVmUmIj&pWpRZhBooTa6p@g*n^>{qci!u|zthzaur@Lq`~KVnN|GNtLo27#)z?@4 zQU6~GK1_mML?O*UpEGRTcjDlM@p?i@bjUaYN8k|{iKhGKQ~3E^G&pG9Y(`P>mU|0E z)HiB!9QX=9%w`>bH^0)H@Fw$V`XXikO(gr7T7P_YaM~ocdaQ^jJV#zE7DDl#9L z=t+i;&mGcDinBP7b^PzJe%~3x8~Ivu ze}Bt(`~Qo7W+37*r#3%%Xh(XG)OzH`cUcP(=A-K#pXkFO!U**xGPSS@3k*!!@d%Q7 zAvf7CEh<`7TT9FA*Ypql8HgI1^OThOxqLC;F%HGz_oAIyVu*T)s0gqB>gvRs-Fj|c z6SOv4p@O(s_`2d^PCJyfE;zKmu5y+E2-Cp8#C!tZWzW=`$5q_EpRCc^IKtxN+6mFH@MAv5ga`#_ zp?Yk78Yk!YBOvReSre{BiFynlLWKcbt{LvrCpK^$PktyBqH|shw!rUYV)E#M$De+M zP7s18@ta%jClv%fN<-k)Uxmf#JNf8>M#A9}a{*ikmNIzOtx)OJ=O^bna-X2d(Z(=(CyVRqXGR2EpTBrnK1$O>!ZnF3P23%nV2wy z4PCte;Q-NAGI+l{!)}QtSmH`sFWgtKdj~+_K7;EC$0E%}W~ZlyJ#f)OHsDHfIwzx_+Vv(2Ge%o`VC-%rdJ`-|l1jR%#Z>ZYmbIbYmiOmY_@^5_ok0$fi& z{s{QzetkXmZ7_SX(4-V4XG{&eRxY1|3=3;vL7Sc(v{%8(Q$=xc@GAvyslw*+o`7U7 z5_~lT3@aid0OABf1F*)*5lMV+uA%5{tN)Pn1xHoKO>6}l%nAX^xjOn+CI!dcTPgX9 zFHqO}>_f@PB4lbUB_WU0+2F>N5U+1m+qO)>fJ6O8N9&A-k|zjH&HJLe%I((+2uKAZ z`JPlbfLiiujThH{3B#H_)Fw>+0;f$!!>IQ9#&b{lyt$Kl z%`o?RSgq`Z)06L$b9^2i`8(HrBua&cT|d7r%4GiW++Qy3kxRR_^Slg@>mHMe&xQUe z)tPmA?On5;)R4w&x8_PB#G!NPK)aL{yx%&DWz%#$eVyjfM1m6#(UmkF*N}E|oxT)^ zM5duU&Az!at9#Gaay%3OsF(t(4Z^bMW+HGoztk<4?#%~g+H%BvZBH$k+e@eSL%&>> z?v8(=4)??}m7p9w%m8U{y*;Ldb)c%I3ap84_I!4IJt@rT;kuS?Tu$$`r4!`xWUtb5 zWz&L{3x(qN5Teb^lA4=2c%5D$A~uY5dxm~Nis+6fzoh^-lkmL8a#?b+doTobq1R0< zETkatPM2G?V*;Tt@mVB}fHWytxkQAD0iKG%HTnHX+ zlE;tlZw`Bc2UtpX>n%!~h45;s-h13+HKaA(Z!8nk?d*Ut!XFl_A{Jpzl6hI zSpvfI@UXYwA|E$BS9UBVhaE+OOyGgQ_`(?%3m0p*orn?FqD)M*?8WC`I(@Ow8HIAa zK-@0GV0{q|)~u{Rbg3-tFlv-{6ArSAo<6S8EN)9NskpNi9W6fWp{s*w>iATQCWkj} zQ&b3gnGQ{0S5`p@SKS2q`&Z_d9TJMFxu8AEr{qGN0Iz08Vz zIeo*FyyJkITDhwPliRaSKY0f&%x)VkthiXodbL)9`$6Zs>?ZzJ$y2>42@Bwog{oGUaZkTw1m>4RQV&9Pb`p42C?nk=1jGzpH&P^ zCoOd!oLb-mr4T&|l7|P8hS?z!l22T=frt5Ifr!3-6B?*^$PyjBvOSTH>a;th0-+Sm zzq0c^z8Y2RqHZk#Gs4liTopp$y|K8!lCM!+u!BYsJ2vhi*yQ@X>n1Nvhgyq|Hy?`m zaB;LG%<%sG`(P=5c`C>EbgTmgGkA@V^85A62~LXp9}DDp_75RQgJ@4-??|G>n8W1j zn;(yfh>lSAlkfFw)`VL3M;`ig$D;*3~YA z+x(xOqpE&9vxA+$T105?6-3!SgRXggtlJFk&_2YNzOz^X7Gt27eBuo6_542 zBo%2Icqr=u{HB#_0q`mcPQjQO3_{-QFuHm%F(&EX#TLAmDKdm(^sXiMQDG#GUmE}D zeQo|8%5HJmGNA}cWWg25?@9Fe#F z)gWfBk-URTQ3X9fK&o@Q;iAaQEKua2d1*+aTDoDkr}hnYQ5LWcWc%|{P_Qe3!QJ7j zI)r;;d~Mc6oyEu#9WSF?`HG{aLK$@4{^G)lCn08dwMVy57R%_3hC3I)VN`-p_}f>0 z-jpwWE0`-2d8zTPcIYTYq8af#QJD4}7?AaEKxU!l^DTnf+FELu&vRh>!YQ{TJUrhG zaEhS;By~?#vxDtgqpn~vFf1c{A^5{aTk_;Y96$2FD1V$Tu@Zl!QUp+}W(yQW32kkM zB{Zt5v-QQ?ESUU5LKxs~FbwILvE~jA7T%TUG=GsYF#(J={pv(K6`c|@Ft>FMT9v1C z6Mx#n7GC)&`}P^~F->2iQs%fZB9g+LsTs9m=|5K~E zmV50F!gPnFT{irY&QIZxkYl%QO6|e>vF&c+{#pNu~{(MSd&NeK+kHl zzyK_bWnhED<14m^AmicZW3#%jg!LrM%wc0>X#p~IaRElF#OFZ>)DVpSt>^RC#gUOW zh!_`H5;zvHpMxG`cXUk;&$&w%0n@5xmJw!^e#rYRFJ{985CHQ@Z%t2!RXGyEg)BM0 z*vG}g%XM^ePzC&*3e>KR`lfY=4Sfv!?{163y@Bu}$12f6O{#fq9R!7VbhJ83Lv)Txe*Rdb2%s zKscGvX*ek$d!#OGzSiOD%5JJu8_>v*n4Ao%d9nd?T~L}EwB+C2)!l7-eI~(WHCF^v zTEDd1$8)_L;{C0DPY(F}fMRK^ZMCy|I$vY^jnf`aY1)9{dAA!%Odgn@&+4bRhK0S7 z5HEiCd$yAD^A{1=+?x~%Ukb{0K+5&O6z%rw07STEL(}dK7u`*_PpG68_(U*r8`puAJ%4b)twnfm3iCN+ZHVW7g(bEdkJ{kb!8uF%b{E|_pQbx~8FonLgfI9cF{^*z6S z(Db}jVPq^=-d~8oXK4XF6V3Mk#ZMO(?`&eE<=f2+G(HYbyD!l{i37s86)oHfdCr4du{-7 z1)eER7QOo7;bwo`NjNF-?v@&W?dfHtAU&K43r9xT1)AecD$$}S9KcMK^il5DdH|J3 z!1FBd(`pY)*eBe=NC#@g#P(!mlp$Ghp&4*a;(=rVCXcv_mybV z!}KMQ6ducJV>JF1dO`@LqxN#Mxc?PPwt7gnG!cu-!_#9;FhkTaSyKkwo`^EefcZ@4 z{OX31yhOUKr%{-Ts~Bi11!Fa?vX^&yL^jRm+=!P%lGkZp3S#`P6ovY({acvt=$V;~ zFBi2rD$5liFa2dB;ma@|LW&`zyVFIVa|(Npd9F;#8|Mol z4&av_?UA;*bg|5|2t-Gli`=||i0V27j2ekPv;GK2y_kK+Ez za<(|TK|ijLR%;sAmn?u{t%QYyhHroh>go-)6oLy2K;WBweS@y9W%Wk0Uazc7<^O$8 zs*KhzKG3z%=Eg#pjRpPbHc)Q07?|T=!0Y)!6VRvEG|gDDzM!vi<)|@NtqdeC39FWx zOi|I`oBPn(Ty-Om({BJ8Ie76P#`U5okjaktH7BPk(+?4*2d&#m6@aIbT}!$ zO97PL0qD%~YAfhWxz0kFG z?vN7bOU&X&(ii?UQo@dbvQTI!I@($xtsF9hP0YYTx6ba1&+V=*ktW9Pu0mC00$an@d~9wi{8tM^Jnofovi2o8OTF!V-TUds zzma+yJ>Rb`+1QmEKWM{KQoaic5AW>m4hN;U%sss*`YAV`l~~Hn3})Ofx?Utp-?pqL zCMzpIs3rThaW)C>7SVPzrziyXF_lAQfCMTSKY0vYS?*v_Z!$!udjGYYlUd6tnog{o z*ae5rgOeEoLhRYvN=0;+>A-5V(rUz-X4WRyfJC~1> zCwv$CnO08Ht2n(-y_s*g^&w5rWZ2ws!B4v(GBHjJpxJXYSnuY_@Vab1+dTL+y466s zzn`yFU(r2viuzRlJXdCBcE)zE6GggEWpZY2U1lhGvJVQ)l}cb9Ok@qZxop)t&_drs z(e|+49((c>wKVoxLl|rWlIpa$_Rm%(H}B?KsA9+(Q6J0ZxNtO-XrEqawK_k2W$LI- z!rzdUmsfvhb7H8wvdTT0E5rYcTu3zTRX35QW?%(0I~`vl|F@taZb`A{hrz)11_`f8 z^%ZofzM?F>1e1l6A7PrI*7VpMK=~vRVoSVj7re-QZ$N`T8q4o}AEMq& zgLT>37@cbGD;akNTV9ym&@XbEn-O9VXe*sMxW+EY3>Pcv>o9H`cQ`V?R79lH*zPGk zJ;Wc&4`DA&DX1jg9!m>42k3VZ7tAAWVDCCt}W~|<{^YR#9kmc1U-vL*y zq7Q8jS8rq?S4!Vn-^G5u^rCfm?S(&_4iJlZqN~m?vuv69UU#KQl5ekbRW^ zLZH1+p+1mj!0U2=LqclB>nwfoIMZuv?4zB11r-ZR!dKLU=(H9&r)bRe&kz|4=>Nsr zdxvA)|8c{ol6ERhM9B!*Dzd+&_rb$0!( z`}y7X@f^qV9LIeh&-ur7m7M4K{eHgh@p`}B>%r=Ab}MgpMLikX4_y5^xluxLYddKz z+vF-3-Ojo6irCYcOxOQ9#F7`?D&@Z;O3rznx-dSeuQ6qv-F2$3cG}ne%-Q=%c+*8} zQlvY3{{-7_$JynXX8Oq&hLY3wVUvfGm^V~b*5-1qgdC8TEoP^-3_m_KN79_4trE`o z-76<^^5D5UES6_~r`a|!O0If$Pj=+E*90dEVO<9;7ywT(19iu9L$%@2CNC+o?m73; zQYQ(?ct&2?v#S`aJ__0W?v5OcvLC_$V2R6+Ep`uL`pwMr@WpE_w{cX2>Cq;+EnCVt zZ?zC8c|Z1l540fNuBZ~ua4B24I#)=FN8vz*9Z9yJ#z@YmI@iwEN zX!xC=t)6?XOQh}L{@hTVcz0%;FNB1>FWYH>{bJOHc1@l*Q$*A$UPlmp$ zEH5dWnBcvWD3=U7R*jl&_G*Nk3xT)aZdhJDq_?>m!I${jhJKD0?E;Vm_vMhU8Dq2c zUr6)sU;7reV(+-vf85?}u>O;-MegeI{!A;@Y{BdVo+m+H?U*B%<%N$8%!q#B3+4GK z7H}`Ji;4agb*7Pi`YH#xm}q79o(6 zlZ$M3Voo_MzNSPpO?%B+zw)g#ryMwNq=*?j`$_bTZavg{%kjwHwC-a>V6XV8(%P5D zslI(vqL67nUNJiym~=g~^i77$wQIrLZ(WayblOLUYTauJ5$d@y>ENfrEu$b zcImO(cAu6wCLp?BMa91C2}V|$!$a+%Ja_EjxZ)?lSNV~KAr)D6E4y%j%VicXF&e7z z^8vLh3HthG52JiZFb?Y2aVq5~@ok4!dKFiDJZN$5;xltMWS_~MVP@}fs<*f5$g2Ly zR3LJ&{aeecBgt=mWPK z*Yx~MbL!^(*}aOit|fOFQm1rn#v6l%n&GNL$B0 zFQQSQV<<&#JKn-|=L3zQ#5g-4K`rswlWgX}LB`a7Ge%Be{I?)0#5b4u#0jB>`l!?H1si|z zwl96FD)=#wD>B)hU+uP?+|j1s)moK?6CxzbB**B^WZjpV4(9bm@mn)2n%`Y4dD_Bf zA<07}JldELO;k0qN~Yc7xdy-F-@N){N}joUmnY7eZD!_vK-dd=k9{xZ=Z$POH;z#r zi>oQ*_UwPN+El)(-IPl$Wvp%ZKFlq1&4^`y{PmX=q_6CAJSuDF&7lR zbIWk3#`2t?L(xxrQkOr@Z&Nw$Jzh3^_B_%*Z0&&XU8}zF)}P0yG>W=hSyVodUCm6P z7GQV(5`R5!U&;9j&UX7f1RomL%Ba(SP;;h&xwJ*q7MTx({I0Dz$cJ99FVAQAQhjTr zzwtU*zIcFvx;p>0>#dw7w@wn!{A$~~Y=F|TEawTb6^-4FYs(g8fdg()QKIs1cuQmK zx1$f|QM&!nwu~u2fE`h%9L$@DvDy6SFD)=I;+_JR5G@4wJylmv>iqZ!Q+TdXQIw#G z!l|n(a%p}2cw;K<>GS7D`iIYy=+7h~2XYScRRRS z8?}7;)-B5Pn?Ie8aCp-*ny{h!!32vOu7q$$ZSrlB`R|B;Qfq%u zDltDko2!Wz7w_1)yYEN5$}O+whNgD2id)YMQ&DLOSS$SDw=`?Y6}-dGe{8tw#ICQg z{W()vVUe{@z;SV&(6l#P?CMrTzRo3v0@eH|omDR~~E_V^2i3Hory{4oM0Lq<5P*7H&L1#P!bYy zYkk@9%Y(HU#neRIWJ>v@k0{w#ut0`*8lvevaI7N)`#K?5f1i2 zCtEIXc*H+-x^2hyP=5;n>)GkV)CV)pIE^h#^2JR}hp_?uu-fy6!QS2%&!6*H{3`uu ztw$LWA|-fdd=+AO)L;+S}WQe|~uV&iucoAY8hB6712TxTI7?S90>z zdya%@6ndUMemqRfHDYb;ehOAK&Wzvk#_|dF!*BFk-;(6z+^xXcy>ay2TP#fmhlD29 z9HcbTe_LA@MYHF`s(As+RudC7`2GL7qVJxY+y6-!b1C#*JXYRw-Ef2PIV(Lc6`j;H!RCmeC(|RU zVXwFEPAZ)_du7kvlPSBOaNSCOSvgsL`N#IiS`~$bAfA=OrwJwdmOIS@=X6uUmYh>- zTt&|Z4h;r9x-Uqz~cW zQo+Fe1Wf)QzCIt^qW|{~gooUXa@!u76S(<U8;XBXswF0@Uxlg#)@hF#_HIu zmXD{#ekE7cgbS2(c9`A~ko zyP@*2m~i>z$rDt3=Z;nm0F*Gw{7Tk({q^ft*XZ;ATwuz9E&7^ahgsF%NDm$uo%g_0r&*pvkrMiQl{qk;?ivR`V6=}acRQzXAO!EEhMK{Xv_>`0y z*3?`-bRNVcB(NA88z1L0SGE6qPagZ#?HCm!+TZit9dGe%*1g9j@pRA4hOhrQQXa;K zH@VEs&CyHonZB|m%`hD)(%r>f^dl&v#}>0UrjaiEGFM3c5vggh5>igK@+yvkFtp^x zNcqrQ|7@m|Qn0Zqxm1hQxfMRNwLcZbTw2?jnwqejTn(Sx0Ql2xTXEtzcpxE%(c4&a zrWjd+1n?|w56d?tm|0k4Z{EB~<2)RNv6%~gL-}j7RpV_LtmyGV6zHO&q465WJ=k63 zmOWEW#dD+7^Y+-UiBD4nVfItR%bd*rGby)-zUkP;U%z7CzCDTEqw#TZ(vhMrl;b+t zcE%4@23~^_XOmIJ79{vrffgQ{?!th;!1ccTe?%e6*|H`K$=vMFhgB;RnOzO|?#8C3 zfrVzw5b5}{In!zyX^f}H%*t9N&~@McsIKEF>)aVhg-Fp3eLYn7r|TCzenBNL>6gK8 z-5Dn1&p7bgx*$(K8CQb_f@(Z!4odaf5FRE7^p77QJSs{`zDm)O1ISnpH8UwjgfYkk z(aS7ii!x@w(N{j&y4~)#Wv0%|)cK_de3~(Yaqq8vXi?xYEH{GKA3d*i{dx#im&bnm z$SKo+BgKg&)-OQ`&QdTbnHm5=rLS}&7j2>EQ;ZM^InHBZG}Bv# zK_nI2_m`({1Md@`S^j+|RQ?Ce^i_QL_;LDO*Zz(9pNeyZTgl(&=ZkLLzV8P_L`75c z4L$Pb#j`@TjIu(nbWX_H2qm4oi2W|8|{P- zE*=xZk6rVu|G6o41;Ul*(@h$B3^Hir2}UZAPo^5XlG_w%te0N{8}W)};EN0m(;f!x54h zq?V{|-1^BFoBJ9r|3Sy;12S@&Fg}Z4@8ja)WFGtuY{|6Nx5w07kNM;fg?#Q+2DTZY8L2Z|7o&Q!!6W-c3^WEKQ!vHEg zj9z|LzP;d$sLSfM9&100%;vW)SieKOGo&O;OP=oC`wR0>!cnC_v~Sk=D<*E!OJNVz zSBa`F^U19Koh0!hH(V(<7)?`~6l$K1y6$zY&0hGWrJ|-5IF>SJy5;Y|y^VP_UPrfv zdOR6F6sPdr?7(x@vzv$wwfc?}Q6&BKf(I^c8Msk;8KUKbDbV>O31i}CRN;N1HRtZs z<)wMFZMm$@XD8%`ieoN5G&*3aU{e%%(_gL|5B_;RZz2f6N1`D5m90|){DC;7cBi56 zmy^sK9EyI_=WN~<%|T!oWSo)r9bUoK+yG3UKR0(*-XUh8iRJ8BqJsE`g}Z~5ybD8_ zorJD(v5jTJ^m)?1Ur;F4M^*TF2mTcwCusM+(!BHjT=mhsuPdoScPGQ>kCMK_z7Clh zg`Ii|ui16%hU=o_7CReNsx>gC{rCu!QP*XmX&hVYa7zkyi@V0*ay}#^jK0$_`p3}O zSaOqGd2VCXun2h{lKAdA+F$Aay2Bohg1&OEKzm*HO14Gh=5n78Yl^Mavz4i~FP5E~ zCBf%xZ(y5=KkAxHiSpd z$B*YHelLAGugCiA`E#P>qpyTpdW}!vx0m|o8@0Xuoj>M!t#%3X$L=L7Q}|0?uM(x> zH!!sK{xo&&L4Sq!e#R;;L;m!Po1fE?E&0E+)_d=LePX<#)i+W}-IDP~5?vYJ0R0si z-ult3_w#)}m&i3vjQk|OWbX6ZAv+}(ZTz(ww_R3qBd40@Vn{#oQqB!lN5cminV8JB z+t(^xyLQd8tGD+Cme$GG+Hyew3o&QKsGz&M+kB{{z*P)25G2?X;~Ut9%?NuhI69t# zCu*umyFH>zfX=@N57)_9r!0n@4d%Dh%rK?Ua}oViZ6mp+kYI6Kxs0IXE~l-)wtWSePSfMH9n$SXiFH6sxwL zT7y@eZd6eu;WQ{FMa`dPd>%jnij3Z1{XDnHk7LTp$}AZeVZi0OaUU*H4kNzIUqnS= zl*4N@BJTyvF$TDnWKiD{`Ap(nBh9ILFI{2*70NM3%%+&TgN9fx%%*bVs9}%J<3cqc^Ort?hE7qff(-nDi7sxxc>9OjNDImPd{p z5t%8a$X#r+$Y8vY+MJQ|QogdbHZ?;r)2c)I%9VZ?TvJE{GSBKl6xkS9ftJD?tdMBw zUq)drm(#2fEQtgbN!bjHcdI9BHrX=#cUzNk*N^Wh$&suLp1?7-y`?*0JKRD-j^iVv zfj9zdQj-(?nH2p(LS&vFVM9}6j1z)t8ZAvtSxHGUtSKq_^(*MlR6!){>(Ez2vokR< zF+{!sGa9fH%wD=!f;QVH$(_hI@9N8I^e zI^TE?w2_>BiCT%D*MR*bJWk=uGh5@7qOqyedYJQnTpZ=ziT|ZT?j~Kp|Dm6pr4%Ck zy~J#%k&zJssuT`_IXUp!R?4{M!FZZ1gsw;4H1!FP%JCkE^anaGyaeB&iGpDAqL0AU^g3wuwmeW_k z!PhJ{@mtR}Fl9FLl=y)IzQ3cv@1TlGa$)~#;uW{IZa8N2{5{D@PU!aX>Z;w^vMrXv zTFL3C<#oP zI8ktSN*5D@F5oi+o#%%wU(A;SG1{)o4m>Lmu=uryhbLXghXWBdBePKh4GE`}2chx>-G4QgZUny?YrrIX^~~1ZmN8 zbNc}-^WHv2M`stlVHPN&5Fv71DWs&l{3%Dl+NT;ravG6qH*e{%JR;upw*{qt6qjSKx&kIwXc}{&V1}8JX`>|DOM`z=waEJ8zymb?Ov7BO|sN7Xf)Ic;RT3>FVPx|zsqeuICdyAnAoX7S!JY!>K_5xP%4+-&t=>S3F=;Sm57@;ma zINq9mNlJ<+sEE6`C|}|){(gRsF)V?GhUPXdTOrkzwW*?w0F&GL#geLEeUYj{c>>)yhT1|`csBR5n(Z~>jFC%a$;r{hf7(aP%T&s1B+^ZEJPtBVs=U@8)GX^9=i((6~ZTeUM} zGCSEcKci~peFW@^J})J!j=h~-G1@j?ym-N~K9w^iI{9@h<@ezTPwD6YI952)hpfW) z#;V#fES%=51&;HY?eDAb`2fHUS*AF0MDp6TV?{+p$6iW`0;{qZrl+UROi!OYfBpo< zX~O6Z16Bj>Pz&AmblsSXyd){vJ2FxU6#OwWQ{cD+E(jqoJs)3Syvm2(@o^%el*Q8= zwG3}g6m1@ynnDj4DUJ(=PC%!;vWg0r6fVRchUmDVr>EC9F;TyH3%>)Et|%^k{O}>+ z>7L_6!Gs|?tNGb;Zm5=mni|lpV`3S-+27>9212pJ&Rqn$L!|v4_2pUF*<6r6c)keD zK5ojFGcfc_PAcG7vK?pWl$4YJEpM2bR!sMl zBqr5kUgK+BXRqMkW4}`M^enbGc6@ap{0I~D2P@J1hQQ9ka^uh91TOj&faDBuctm++ zWqi2K>sR3Nosq0*lz-Kg@QuG7F_Fhpp?SNJ1HrtsGH~ony@H8e-K2@4rreR6Ph=2r;B%E z8i+@rtm^CC6yO-MS$uWe381*%!Y)uhqJaX)qw26sH;1@yr!H@S>>@e$2bwVgsA^cfl zA}avdATU>I!_=egG?@RiaJO{k5Ydw@O!$P?zhbO3wh$o)}1$o@4wr0g8AFIW5>ypCkc26FuyDtH2e2IOis3x@Hj))V79jS z+xoB`Hi3NU9CX1EC(yfA<$;Y`>)KqW1*>*g*yejUXtLfmkQ`SgIn6u1@&V3lPZ@Xq zx*9v3fza`81-dPb)*qP6*#AEh*XhQ18J?jItI473#2+)2S~X5v&OIp#dU% zL<}mFf=+SD@5yofN~)@tE?gi)-k;qGJIM>^#{ef?EBfb!6pfR6ZmtN<^OBiaT;&X0 z-3^4#i2q3uRscmvs;Z)&^;RKzop z|BQcrx3qNk^=;LbX;U8pT}M1PaB}szPIHuo%frz=2z9pF1t?|8SjYlBuO0f!JGU`-Ph73Kcq$;@QV6hi-d2-+~PiU0$bz(w@f zzU9(BfpY$K8*5I8GEjL+hKTeC5;ZWlQo6b{uycK&9CB9%LzA>Jy*)j5AYiI1R1#oA zbj>It5{C2|*sF%R9@XCd{!0K#iP~Zau)s{86B2rJR!isi_Mc*Yh|zoyGpK$2;yBa$ zELB2WJPUuA*e7@Cy%J06HY-LL@O=}2__w`d*YMdL|}{q?;WYw5cpvQi9_n)+m4DCGiupuF(qi=hzg;_l&*4!;V0GUxV&gakl4!r=de z#QMj^#;Q=N(DKn>D@Z-g>z6H{U<3qeX}?y0`?3*UUC+70c3R3isgWO844aU=JU#WR zg4mjZ!eKOcFhAM^z$TC-*XiE9Iq(NuHr*FM(ES)oEvSKeAN{QG_X&y%Ka8pTR$FU| zuL3MGw6Lh^Eqh-1?HlHF`^LqcK?E%5vdRk$?geUL5EKjn&8DKQ-Ch?Zzzp3YN;GK7 z8SmBw6?R_U06bas6(Yw<_^4mB#eZVKi9H$~Jv-65ZE#?q>31%ezofK0SUs z4B4XCzyGT7-6w&8hebt2VexvqyD!|oFXHR#yZ2BUp8J}wj*I$gw*AnkW#_EU`zGei z_2IRZxj-6sR-dS^9r3Y)-)d@7($*D}A}w;h94udOgg+p0Txil@4Gd;KbEZ2`L-!O9 zkG~YH%jdRqip!V!Yitu)oPvdZe$mDW%*@ViiBqlwTHlhT9GD2`&{U(8|7Q`HxG6|+ zvMpoGq2OppXy_bRyDh4MCR_CT%3q=yIiVO+4o*|rwtkux7j?!jP8wWlq zDXFLAw7Ql#uU{Vp$ADk|1Usi`NE}^w^NQ*g%{T7gc>x1S3SpJ1(LXvw`6nkU>*K9f zZe+VOES!pAa=zTcQuotRXV}@xK{>&08E_sOJ*0)MfZv(cOguakJUl#M;o-Q0-oIQ7 z#y*+C-jo*=J%Xh&V)t={}Xm%W@94?{qnM-oxOcpW@ZIg z7mz){_j^|)0rL+YKD}TYj^zP4;?XBei>aPXrAMNY;09vY1Qzj8=jZ8|~_v{RZx8?raE3W68SS-(|!#i<3x^W-UzaQzWijTVg`0N&7>fb!Lv5@Mjq^ndE@On zTG_8&?bp3Oa~V&FRfl}fo>J5cAs>>}MozpORQx=F=?b|;%XNbkTP;(h_vx}hdc?%U zhygo@e2nyD6cx>X*8!@bv9VFJuiyZ!%lrWhCn1K8VPP*KBlTiVu-F)9E`STz0V5zN zwbJSa7J!kWFfA?ZO1MxUY_sakxuvC{Cr5R=OUT8NZX0H41GXb%Cf&BJ{*$p>xeu)( z;<&&E5K<%f^v|HC6~#gqyK4=lGnKdOG#!nA7S8eJL32X{Q zk&F8JCo$+z4DKqh9631;qy(|>ciCLe5H5^or z+1S9bGO@FJgVj?D_;w5T17Fw^ez&uztSqKePvg?1(JrD$t-f-UM>;@d% znutOByLa!FM-x+z@tGe2Y$V;jeGY$nLmi4G^d27DG3~iTpOfh9zF2k0;`t))M+0O) z3$yO%?5w_0cPGQo?;w%2hf3kT2au922YLF==w~u=Meew8n1G(=9Qnl7L8v&VWgBm| zEFBjw@BG)Hjtq;VFd)6)J3w&}ttKvq2n&GvAszdvsed3tX&yF&zyi*`wtzuEny*0*3j^YE=}jR#}7yV*~6U_jKNnP5_xz;JjD1132%96 z=^eOsZEbCdunW?(Jky6zVh<*mcY_uem}NV7z?W(okZmimtt%ao zisql!0Rhv<>JiEA2Plv5cQFq&MdqBKmf#i8^{NBe%0LhQ6m@OwABYAXu?kyQNjf>n zsF-fkP0aNv($AVCwUJ1w4nPjNE>%wq;j}pTIcNRzv%*RTu32N20P;HN zwczt-&&((69Tv+wAJ#=)<-$?Su*D6LXFe;G~*9D*r~ z66Q|pgPrcG8+S){jYY6O7nUi zJWPH1-D9tdMNgDo9H1^c$5Hy?Sq`JEj@zh)f%i{ezLb zmg|_-?ta7BS?EV~HIcPcuey+tiRn4_ktu;}1+@)~4-9N`aBx^d<`8k_>!e{dNlQyM z#7!PwzY0N5456^fiJ@YfYxbmMWW|V`Fg6-ff{&WiMzGnZz|a_i<~--Rk*ms)Umq<6 zs*;R^gan^e0p@I4QXsW@8yVRRB#oDc#5TQ<`vUFs<=h|w7C45J4`VGZ2jPeC+Z2_R zmDAJHuP8&sTt&fCO+$`*fON|de#BT^g69AnA;Baq>;RWFe?3+BXe$>oQ_Fw;^a1?< zdcFEOq983zAOMof=`?$Ldr!~KK8AK9Z}x*qkM7;R{-Gg{Z{MVijExNdug@V$ff+o# zw2WA)8+Sb1oJtGlWK5H8(aer4&eg$vZ?Su`VT#Z~rQgnm8=0AT4iB3V zVBCO0` z8Kfc&R;Z>CL2o8a5>*?!rgDA!~v$C*sLsVe#TiV)+ySntuwY9XU5Q%IhAZyu;(1LAH z)Or4lxP$}=F{@&oYi5RZCq(8wAt3=|i5HBE+=TW)uSK?v$vFC}s=WmI;wlNLu z>|PjyUA48<)n$N%SO>e!)O1MQ(25mm0hd9B`-K_2bmtB~%*Qjp@Z#^^W#a{boo3cn z?B^#tw5%LH!t1CHW#3=nju3TWxtsg-D= zm$fG~Xl%)QV9{msfJSURFVSUXWu3`=bWFsNQ*>=wf|sA44rXW47J_+8qHzLqYP75b z9d_O35Yhh+aY5A&}cCQc&=N?sGqr}B&7GJJj< z^y>{jKYM5M8S~eCC=@5s%LMtI1B38^WN&XWWs5+aIr;fvo01!snDVosdpWAsHz46` zz!G67tU~?>WLp`aoIVr?B?$V<(>=g6;9a&N0IpBg5-2S#CDIFaL%)$}N2)~M+L~NZ zQ4#zog|4nHF$sm(;^d)S(Byp~mb-w5-QfU5oac9Rc6Qp>*@=S)LIhclq!kiO?{I#g zg#jEN^wnBHX+ZoHm6no%`3UAT*aG5<7_P5@)AWdsXT}izC*bZbC@PY}LO6mdHLgLV zLH3r}N!Vdj6=*VkKE3jj)0_$F==LC4MNHZNT!Km>2Rlrp8j$&x*xXnL>$j}l8R_ZS z_8NSJwzl@kgUE7riU5b45z!5irEy&!(;JA03=CwD;Vp1h90sFAkd~D#2A$Afa{!?Y z0Yu&{d%11Kd>mWXg$5$ao)`58rlT5HQdU+raZbc_LtFXcr63@Vw<#(60JhK@;@L0* zNk8B~c9ujwTz9TPx;MOVA}S;BBOVN)?#A7hj?G@&iBc$+^Z|uZ)gHfvKt@K!!b(2e z-F@=z742BrkOxB5%zrvS$dt6VQzQQb$}nK%ZDz&;vEE~4>-XELP||XMlJXh2!Z6{x z3g$Vj-?J;15ZGaV!Kir$Ym7cNzP8I!eq2(*2_^9lSTXc5s>w#;``G~swoj5T^_xD`N0Fx{LPJfU@E?7R$|WlHa(Yx z!^EEqgVWWmt*Y{GH(gy>DeCOh9TfrXx4gXE4MG`frpi##@O}~`)>xWB2^q)~Dpa&# zY2@X54-P9Mkb$CLugZ0-SCP=t%8{RlE-jd%6>)qBJ_lJlnex%Gv6+F_da_5}v$pl@ zCLl(8iku!1HmE%rhx7KEIw>NeZSsWsukm?7G(LFMMN5&Zs;NaGJm?t2lp^JG?7GY- zE%bW&lnhmtdoQRsl@0cN|8dHiY2vr$%fuJRgJu2+>#b!@Wa>$T>A0$^%bt0t_qV6w zacuual?)}_>CG7S`#|3Bw;Q;7kVw~s%K-P zDgXphv`VwIbpf{{QGb%ZzNm!_t*m?)0-V92qoV^{O)3|3wg|*6_+fW+7ZHm|V1d|H zN%KdWIy1p8UNSajK=tff_+Ai+>YMooLZQ*90d||6wX3vZ1iyv$4Q7!ke??K>R<}$( z=ougxku=8B1!V;fNh%>B0iOS&MD)V%AW*2}$XH@!)Y?N-cf3Oh9ye`D!9?v5h0#VX9G0<~m@q;^-^Ry71I}b0&S-N>NnwZdAQA6@bAyz| z$kz%0hq=Mjj{nXik91i)4kO#s-Te@3b{{cjTAn@y!^~;beh!60#}?4#h_bflG$qJ{ z#>K~9yn1y%GOxm*arcjoj()4EDna=sfdGPI+h9%j@03W`O3z`PLQ+nLoeByH(sFVo z@cwOmeTDy`?-S3q<^qmPp@DU!48jvX^DU zs_o#1+$qVx9JQ@mw;nit+zaHuNeHN4T_@bh!(UZm0vuZGigROfNh<|NY8x$zSt-cN zCztKxz_Uh`Aps8+kD(0E*LJd95P1LtkaNU>2;`{-QY4w^-gyK3v1FRw)54zDl9ra` zjM}3b1H)&wJR+dP=VL~O%Y-0Glh|%*L`h3M_=2Qsd)~dHu)uaeXg_P^!UzwhyDxf_ zN?y8Tos!4mw1afZ*=rvODE%SAbPH9M_Z2j5gQ)eFCnmzTE%6Qf>0 zEI7$Ngxf^H|M1~M@f}qurR9aijQX`MxQFB*f?8=^-TwUie3-*+b&XZ4$g4|0 zqEYw!5R65^Vmm^8dimVt3HS`k<79kB)w!^zioH2R!QrVI->T8CF)ehzJ@~(ZRAFj>rK`a8~QfmH1i_#~?5u)M?vZg~I5MO!OZKK(-er{y=S29(Eh!b7rp@u}zxQ|h8Ow@jE(4s#N zN4T!c8WZGQ?uSymR{9F`c!|!peU6Hf@>O8qHo`GpvscPoRi`JJLW6>Sji&V)BDEnb zLUMK^4BV8mqc&_jrVqNDppU!;;Y~`}FDtssbV`Y0tTPKuxy?QI zrt+AwJK=KmSgo8;0r|49@B-liNYtDfK;wBWfg7bejvYJpHaC|Vtp?(d-sgrW>Hmni z@s}=NCVAMu#0`uhiq?o_1hhz$?_*;6p#J;ZH_)VBh?0vcD`n#Qt?gkah=B_Tv+nWn zcJtXKou<5dclVqSI)p&gUv}f!P3WQ8#3dCK3RsL|sCgw;H}n%1?KwDIA*j68H#UBP zGCe{eh=W&e-Xu&fm9J}T49NLu3t$aDo%SOQ0i;ZEEr7B4EetN<9(Gm2E-FGS*0-%!; zh%tU#YU*pJd}(?t%OMBX#geh(6f^TqTtjkstXa<%++T(csJH!8RJ#GviAD={97%Y% z#O)~G;WDc`3Db01M1-2~5nTKWN;EQL_~yL>IV%#>P>NwYUUOeF}ekI1JC;3 zyaBWrpO}a#M=}#NAWvblP!90+(VDbR)*MH#c0sCm%-TY&q(4 zwCH^>z>{UfU=8*8%qwjB!GwPTGy5Vej2aPUVP_`|4#?F8@Cvw-48r7wBm>ARAA}J4 z=#og-_qXf~#~{SDNQh;ZkdoSt0*UFRr3w^7q#@0Z5_L+{&tZa98BmHXwx`PUS|G8B z62zGH6%;`Dp!^c3kH*T%if9#BSXq4|BD^84JD!LmNRlu)9((!ukyA`e+mRx7L#YgE zILMKt&%M8L5YVFxqyq_W;3CD8_5+HiPoJK{lmy}(Aa`*kn3Dv8iNfanJ4mzcPDRiw z#eMkTk(G5WcXQ*9^;&-FX(1s>(6Er(r${a!I>!tOFYIwgEz7&4q&>iyp3k271^j%V zLFA5*Q}(;Gi0o^iP;FZqB^19H59`&dR|Hhnq4MhldOE)S_~9;1FOKlYc=8}WZW?Zi z3vm?@Fd*0c7!^_&(=$C>e;QRsL=xp6v=tQAj0zWg^mb%D%7}a$W)u?5fU~nRF`9&{ zhPdtkE|$3w3SJ=sz%EXRRG9?1EaC}6xFrn@Poq|ZjIe*#ldCE!{?rv?(U#yZG|wiS zepe#{xDOlFWPnEu+u=;K9SwlE;8OcQxO#edU4-kyAc>c7NLvXADZoIbp+ZYW@P-o( z28&<4z=C$;68%nO00#gulprqG@f&*}A1u$6t|LFpMYfOH6A~I69Q@f?-s`5BnLgYNSb72CTaj6+48D4XSS$gj zc6zA@oB9l4Sg_ctxfc<|-#Fz8mUd$s@(3|Czrl~eLp?26pRmq?YeBfrc$|ly zzZ|4c8fO0rboydv`7=IV-rRJyeGqrm5pvh%t>_hr8Rd-g=i%dff;wn;u;|gN_*YL= z$qCSG9BL;>eMPWYOwe28pmsG-?zKw?NXn)NQwA1neUfJ>^YbIkm8Ki6?)3oMAl z_3OtGy}&IjXo}IQy#a;!#k$LzSdk4VvdagUqzq8jz{27=k}#EHV9toJ7PER#+`JXZ zyqK;67!8n%aY;$;US2z~3jS?$^v_WzSYvS{ARnwRXu$GjI=c}4AE*Zey1O*`LqkLR zVEWH+aJY^&3m#bKzw(B6Cm33t(M{I9d-uYyxg)d$f&OmP##1N{!2pneT+DN7ui)MyLIKSUF!P|nwqDI&OULT7JJ|ViFWKJV z_HFb!)D6xdQfte7MPkOnz;*|Bg7h9k ze@_B-5uhZ-jmQ8tW2v?`F}}grJT`CB<2Mn1f)MyFy4<}Lg<0`Jdx(G42jk5Hj!5+c znNngffssyG9Ey&3hseDVmOJLnDhtVr)MO1neqGbKZIprO@*MD{{`z_^44% z{4LHc5Y@RPSHiatqc7QWw!Neq$o3UuOG0g=m=pjKK9*R?fUr4UNaXM3{O3P}D+G!I z%rOvISQMf^e;AvehvXv)P}Q9Goj-pbgxqa2F|+@A&#I*X4nTS*@JI!;NJ&QraO zIGwy9DSfZ?9ysl;Ct9O_Uwp(j#O-w#k4lgrlE(kO{N&z_54k zwh#~=zVh>X*QSqal_s`V9z_F);(x3z@eO%%!GzemZBq}Hgb5F`vjyR})&72z!)M?X zunh+h&L-@8^6$OIsX&Z6Z^E(?2xyT(dP1eF9#2$BDwOx;L3D_9_x8T~$L9Qfi_o@5 z30wdB@NnUaMWmenUhLohD;@p6e-eLXBK>HA*Ao5T(;huD{_nZYQ(e9N$2Bg+{FO6| z#$K|g9d$p&cfXl(SfiYA?^rs(KO|)GBeU>(@;*zU%#_7#RyxT_tBw_qI-*u02%FZ6 z4r_*r$N8tm$fr1d{H6pP#;aa<>Ob92;SSdVho~yVZtrN2cDq4%_9#5Kr9;sEPW2n1 zj>h9Z<5f)W8VaKhJMNgi0E_3zj*hjBlk<)>7fBn}zYN*yXoo81EzK2sEvORtA`3))%~Y z6+c!6Q7^qRp8Y^n=C*}nVqITqzSZL=FUg7?F(WmDbP5^49O@Mpzsjbz z%kp%zwWaqzUstrrAWk^)_j`$7ueT@Cv}jp`{1mqc$=1_sENvlI>vivxhKG;vw%v`d znKXv|YNRHG-Sg0wuB{PN7x3zcBwPY-^o&FFQqd;-qOSFVLfv`5B z`SPgG!MG;r%;BfINgs>*hX-EncH8d$XVot-#LL@jXZc~4w}vc#{ygle4n1rA>&4ft zWSqB`CR1-&_IU2z%fKMYwDl2w&0JG6GK~1?eBKtu3EjxcZLw zR*H|W*PBaP1ygJxBGacTmbTf?Uf|T(9_(^hD4+(OgguH1w> zY8f%Bvvu_sE%=COvR2XypL*J)s`b^m=$+FvzJkXey@t0!`FG9Knpn&N&cgo`zq#?>3t1u2K-WsN=c`g zxEK8P{hGtOq-~F_FN$9x)mmK~XnnH#OkzTBW1jG!w|AU{1qIc?;<@KXo$MCRicU`M zY02_+b|Z7K@PGaz9A&_$l|6Ijh_+NmRnr3Nb^87HPxu{FmXVddTzhpl!@%Rs4WcAX zFZ@q(#1(OV-;K7G_2A$Uo8cd%EG;3@^8z=mq+aW0m~|N)pEITDv-XMa`qtpeQ7AmBh9>)e^rM47BC;qb~Z-dR^=$}uM z7x;FP@G=Pc7fnprRh{4EG1?Zur8czi{E~Ji>8AxBfpI}CR#|-vQWWPtPMp}D+St<*e$B+^!L#f@p*A6wFwuj>-h3PQP`6mi zJu#ENgFDHm^N+lQ?HT+<*`9r%BwwCnT$i@+3x$H&n5W_Kq5>ZfnqL;DYSVWgJ)@CI zQ=+58^)cu{b!S_;$NAGzpIp}*S@^8IBg!^SE1yWax<=@Ib$6)>va5K{z+j8@C#hzE z7q0Sx%XYf|+vn~BUwWn(12bjHdrYh^t~k6epVW1Flwq&J`|S5S$h{d_ z#10aEe>VweQ0K6@f7?-nB(;R(j9wYFe6ni_#Q=r1D>o1KZoXd)zjmCDE*7pVyUa8* zczFkzv8^_IbQoJ$Kd)(#NSDjt&19YNEkpC@+rm_74jv_iJ)_ zU)m)Co2WnGU8EZDlYDwjX1~W$M|l^=;|3v0UUN+^?~d@RK@>W#_D2@axZTYfT7R0= zV)R1(wpnW|cMaQwl4`(V=}3MS%9l%xsSy zZf*!Yewv1Y=1ut*e+6FKO2LzP_f9|UthP$O84~GE2)o-g+4am|fL-eAyg(JYDBB{p ziHVrDj=%n~`E%p>xWvijAnlINULVlbsBc(8Dj>jn`~8#C58)E_Q&GRDD1V7De}~Qx zOwrpyODU^q$L)ON$eH-KLv0c7v2c)%ZkJBtlHn(A?yIUnF79nTLy>}f)-<{)Dcg1x zk}HIrWM+KoU9eVMi30a|J{}$~xEH=tBqvl<8Z*Q=`YxK^pi3(%GCNNBE}nHXeD|)3 z`sC);{Q0vRqEQDYzO%@F9@caVu~>a;t^IkNO3#hwPu{Z2_fv$}wNAIG*v~9BYi*H= zb~bs!gnL#$-kRsx>9v=?8I|R0@$9C~ zaT&S(W&KXjVJXR-B-c(Zi(S}J_}8rw-T2!}p3koI7l$wfuv%XU^;X+W{X5EHZ?;QL zrnVtWQvg>})Msz9RK2I4T->%p=vp0&4z)&^OHd6_y{_`|C@x%W`)mKJU)rH++04gAYgtVk|cS#=@ zuXK)GY{~>~r_l8bW)W%Q*7Ia8wBF~X8L=+G`t%6rp_CYWHgDl5WOd;}@=8>l!FKg- z8y^gjt{Jkjja$mLuK5lI%9mF@Ur>lLIM-Lyf5*T#kl!*3(VhUTpvUFmbSud(*5;wo3c%anT*0}Df zkpD@fdUY3MP2>=dM{JqJL}qm4Pi;|jK9v|H<;4DE{?`}mob-Rjn;-iYiABHp`N3H4 zk}BKUWdYApm8n0Ej}ZoE75U1&65?w;=R4dS&QS$Hh%nUo%Gnn|SQCfiqK8mePi@ho zjTJcLzPVU>S3NphW3|-WOew=3%v+%g8y!P9-1T=+uGI!|YSNc`7sbY}Udh+y)&q=|lrerkx0S#RTI86)9Ys0Nf zYer+-28lBGa^9(zUc)HfR>2+HRJ1OzDf!zqV2y#oWQJ+uDIHdZj7Sy;Rjn`=wg zx56dx%0p@HfU?PCW0gsvSg##W)fAAt_BHqy5p*jp>7N52zIWaRIe8RoZbx4zl?ORW z-XaHPtLO8nl<(sbcd?`oz#Cm{N^!O2V-n(WGX26ZqkP37JGiJ`yt=dYIX0~8WvlQ0 z{h66tg}EK;Z`kZrH`bRR7~0|(ik#UU39H#xN&O2G_P`o3Ag zz{|3`RR|Nw-07kE+50ZJwHL+{;~QO(y>EaI+$5L% zSkAPA{RJ97+ao)J40w?qC;q^!lYXq z8QE4s(um%HUQI+q2p;ZqeE`c238xFpJY$uaV7`0zH#xSqv=oF~%ctVz8D7H=dX!2T za^qRA`J8>Ce*KDY{cm;7hWCSUo0awN#uvM!EM$a4o?i@xek|vqb7o~(U)`>r>ap4$ zNy*tVS0Q1K{5bvr_Km~UHVTNx&js*+y&*HuJFa=1G?9p$2AkL$;^xj2WUwXNo=OukI^{iQwI))o%*tpEf^vQDNs zb+}-E*s3& zqW^C-|Ay;+`OPmfS=_-87yi+W?(yaJwsDzp|L4PH$Nr*0<(r-9Aw$DWKZbcWhYzS| z?NJZyXTr)bEG&9i!v`&a*{!(H3*EkbyBXy$?$1)<{XZ8&T60X+aepWjtDev4b(Xdt zLD{z~9%H~Kf5I|hG87`#53=vPiy}CvZz%S1Iy@3(HaCw3KUGn~p|=*W$qHT^PE>cB zxP{Ly`RL+2MSB@}U0vscdO2Bv#ZgJ^>LV@^{2G2;=qxHMFK>NEG^bOAF6IJwT9#J=toTh6#$(iaNb4J0PcEW{wTy~%lFxqDtV=@}nanKEu)dp;SwB;bZ=>Fa%aF_sxv zId$NAM_*E@kifJ{liiVQ<1e)%o&U zhIGi=cemJEymyt;5uajd^+`(Bjs1yADrx2!BaUFaCa@A8EOxDlc|EP+okt0=K;#y?WGGT?1(49V09i zMf$Aql-rouZ(LzLYg3(D`>N2eU*T#p**DSlZYHCH{-ht@g90m=FX1D@Vx4l~eO2e0 zCPikURC1{#1tj&0O%ho8c0IHy0Ns2BH=b+e3Z{hatFXC z%y#!sNLPTenn!!9THDrHfP#jF)6V{Ht=8}(^aZ=~ZmNRz+0^@+RSPSM5WFh%ewlJ} z)m*#4g*vs-F#j8~XHx=_?DT9p8qbZ&PN6TZk8rP_C>FF?|9v;@Pe`tb;ubgT9o>WO zaJ6}cda?fvw-!QHWVz{vH{J~(`63oTj4;h*dG4eM7g|onz#A^v+?;9h>=4 z>#;NmEpxV=p%G+u^e9=-P6^`yXazpFzhJht{nP+~r^Lo~AYlJ$ZEEVK4dNX>4qIAo zcJ~S%SBCM{Zd@#b;hqu8wv|;4$5}f{pSuFJ=Y8PqoP=Hd$DVmlUizNWS zLFO(bQ3$W67n44qV@L-UO){|3&3w)y#W3vT*s#uG$mMADC6QfmgU4|D*M>#yGM8N)PQ|#u`4<+s97~711xe5Z_@v?; zO&dZg16;l700dJl2RLEUUgWKJA)D+I6a_6;FZ9zm~V)8p6U|(?d6x~LSvl+oJN~>7opK%z5&+4oW`6OIQM#Ndo z3lu0_o-JWVJHyOYnJ4h3FJD)$Sr>5rmWktyiNmIDrBbDVoRC%b=tnaZlKo|kQjbNt9zyr@RF#B4HNVAipd=4CY`H7HT_ z{hjfgsmgA&w)S;$h})rSJa_TSW()g>n{rci^dJdv->&V$a6i8Cm=kR?kp&^UD-~)I z>sqI;uV6eC1cIx}!s6L{a!qYm(qB)=-KF7fZ-_{FjuH~pmoIJF&1A=quCb6jyZvj` zs;R?qU$9yaaXCpw@gHwl=yBnvo_@dwY>N=atOU?%EFLabMR|mNVYm z906)^t)HiX;?eIa_>Y&@mM(C+`|3K$|DBGn;3*Usw`Qhf;=0lM+E_%F{M#2|uAI2h zyQUT3y?w0LJHdKiWS%LP4?Su15RY4 zmd=zBI27$-I1>6*~XqU3kmf``rk17BuJ5#(Cf5Dab#SFH~q-EW6w? zDc~C$pAuV7PFSZs$;pqM&HqJ}msJcWK#!S@jvzm9NG;N09BtN~52+2TN5u)3fZtkH zZ9aX;#p*<#F-@jnzxeZdMn6V9;M~OXZ@P6bF3MJjLD0Zs_SKqSU~kK4?#jebSC;XB zHYC(13)SAD=dtO6&?r}xI^h;~?=&tbUNdC2pAv;2zO`(2`H{6QnHehH`5TY2~172@=ry$oZb@O-~YVC zQO-H$$dcn?Yb>As^$PXC(cn`hU)bY~AkqDOO`XxldLLv1{)^rF)fJDUV4UOxgG2J> z_c=!9Xix><$mghZJWNP*g(##nx6!66JM@PG=QcevJ#2ZZrSlg>e_i;8=(dxC>9cwH zzhg5ucO3h9>ZkpizqVceOlHZkAh^x5C7f3vR?+ZKovGQe6ntW+$5Z3P&N0dBlRR0d zk~Ratxs}bu-(4GS~m2-(z!f_APV|rge`&LU}|LEh_Jg# z^NVBx@tfDnh_bI#KKGDve)b?9&$c<*mSr3xX`Bx>HQS-Lr@eqfx)qs14@u{H?0H!0 z*1L>kq)&0$8e+y_d*2UqJ^OK7zDUF?OFXy5+R|X$K=)+V1J24?ZY9S5`CJ7NvZ+{t?TUl69TF~7I(h&WiIG7M*Zxx5L% z#=1VXv>hDa<*9)Q8BQ8pZ1+WAsrpxb$k5=2~k{JAfEKQbv7*RdpdLCP!+?Nyo^o4{c0tu~rdeg9kB{DIYT{CTgr7v1sO% z2#L6pu4~XdmplK2h56?hk2Yrs36u3`Qh{M``xm1(xr*YRMTL(oZDPqL$XjmKrdsQ1 z1>`MY)o>@tWlo&#rC@j~^QP8JJQa?t9o^Bi?K16RynS?@Ffj})N+OFM<^h1Xyg4&< zOK?8jck%v?n{-33o;NpGd}%~Bx93Pp1ZY^16p{)rY>3*|UeMFumL2VAkB8JDnZ@49 zb3I?OZ|x{b)D+zPsXAMil#$~81*|8s(PAc|xIyF3vjDalTUL=huZV%z*x7pqy6)T( zdF}E0%i#Wd2N$-G$of3742AayQlu=T2$F@K=^-yziyhkY4g3puWRRdpq}WyTDP~uU zxQlo~%P3LFisIMmBX#0fZt*vNCHt308X8gRZvTeh^94JKd1x~_(@hA-O5J|{wel1; zrf1El)#39S&ACu|^23n$QNsDJnFKWS$nh(G!}$h74aeaVg6xn-w62YQ`O#UdWGZF9 zL49{9T^0hKmxP8bu13o(c4th@kPtTu4xhO8B>O>b-t4+HYlpAXTV z;=^&MVHu7JmdxFy=Bh=H4}Jv$)M$|;-OL9nl`^bY@q2R3k*_dAmLOeuOF0{y8a{9$ zHg~58WVDBBD=zBr^0`&d^`S#J{2$_<{b{aGoZd~C`TBU>gOh<}c4P&|34~{H+8-rp zSQ5CDHqM*oxf^!GC!IKsAgZdf8tm4Xf!03kEVOj?Zbm$kaMDnnk@YCtg_YJctGgS= z8QOsYqyTgs+7E96LOyuFzFaw2tS>m2@Sj=vv5SQJE!ccKnM+Ztg2ENBBHxF6knjO;HV%APN37YWK0#Y>1f}&&IstOb%4b zmAkjSq6KhAC+gIfy*>F{Bl#|1FGlS=HxR?`)#^n$SLJ?%x2vXhu34{?ra3Iol)cuR zNRfW^jJu-mOQ_V8VNRN;$%=_5rnDFW0Kfk+kroR7k*>K;RQDIyoXQdPN>4+3md)1*_WmXT(BL%2oo?0%6NMyW zDJ5Yo$Y7bxJ@><#Er2d79SW+-mQWb{-lOOp_6jtYp1I%BBa^U@^dkEkhTNt1j`#P+ zHxm7h#UWam+n~bb~UAh?mxj$ycyu6{B@syYDIe>hlLQ*mzDT%$pkf(BFP< zDiHOeIj;XiTsy>inyBfv&W4=c@}cpv@UkON_%)!)V{?|J<8Nfj(fZA~-ma`2hJb8Z zk;oCwrls|o$4w%iLVkS;`SA~)7yQ{u$J;#Uu2B7Kd1;<1llxM>$uutqA1SSrx%N^c zWu~^ZREeiMyi+Zy#%h3UTV_F`|9~9}68eBC;+wk^7xCkH+%HJ^?@srAt1HuQj?(ZE zwXbFph10A@NQDW{^H$c{Z89i7xe4_jO2H)b2EQ?%7j?Vc;`Y2J2B~zjHF%o)-_?@}U z;Ygy(i<$XF-;owWIB6RSda73~kYYAmm93EZ7jy~=kw)X$7*&yhnEOQkyEUI2$Nv6( zhWt)+bb@%DB8(Hc#Ltxt7h;@V!JmreD<#}-VD2JgE9i!0X}`O}pdmLSy75j2Ncr#E z>ylb~i}w-d=hL+@JpW{P7h(T47}d>+m3ms6D*t!LaUe@vun^ZkV7;J9hWH?EFR&n$Rk6uqr@rGMNx2KH7Y zui)l_rCG``Y1!N?zqeuX5)qqfXXbc*lQJS-A%JJ^)wN?=`Mn(i4pNj^zQEZf?DVo0 z^P(>xSM+HLNk*T4sic?nzV?{K*RCP`YQ()taP7F4^;2w4sZK6I^V2ymv@$o7(?)5A z!B)4|^$6w7BgH2bb@?V)VlB;jpXmI(FNwp;4vwXLo!&`Q%3>T$@O-XnD+?nFj1qO5 zNAfMZ>YMDbJ`E1C#~R5Abt$(>q+6er$_=F7OC<$W=Tn&(40V{eOZ7&#Ww-;3Znf3_ z`amcwkX=6J73+44w%M5q6Z4XzoA5rm1 zE+aWXK)+*Hxi>}PU+Q$*fH;wVOg}2OmApFFu57v{skCA2Y%a3QZMgbW&@>n~MnsUK zq&WQo;utFvsKy*EUnO8iihfrOJ5qljwAbRlbakOi;8N(U6;$LN=FvOK3oM9n`yGt% zm<5vCIsUkUxzipUASpt&u_IOihHzg}01pD&b1v)g*NqYuaUug0$VQ8k{h>pH&~ysg zLl;~2QH_3#-x%}DRyN@`EuK%@hkMf>&)475%4duDH#8i%0(riwgjos+fo8#<|t=zNxQJ9U`Co9`xQ0&<9Q= zIAoFTb64zeb?3`Jaeuys1N&9?2kc=yuIDf4EG&JK#nO%ZUNW-L5lDlDO|P;y?2&?8B?0`W63}$M2e(&6Y7iq^bG8TOSp^*`mZTK2W zTvSwR*n`$W!(~9kx@})1TiSGsQ$%H?dyM1oe6qag5y~~|J0Q%WoQ)p?ySA?8jpQiRAU#{a3d~*2-UMdnAv;<0W_9gb2BVvtNQ0Ds^18tO$siq6OC# z893Z?K)~LB;v+Jry%2(YTDFw6@Dvc! zNIjk+d}m-_#OrU@YFy3q^_4I<24JO@M%{0~@}Vatp3PHL8+oObF@{Pfld&+MRLYGd z`=-)qtsET$CwY5IeA!Kt>uZ7Oeven%MD{Lmfypf$s# zsw1BpB;;)SLQf{GeU0IMWr3J(wWfum*7dflv;S*mZl*{%?IZ`_%z((|cVpnc9X$6< zi@Ty0N5U7Q)c8jMjp68fQlZg)J&j56lM?u{Iw#h5yiJ&n%$8Oupz8-%?ri-os{27r zYbz4|go)8GT|B(*C3-)7ZXU&WgE%zAym1IGG@6}-a=0`7ssu`(S%&!KF1+5N%x>r{ zsFF%6Saf$!lWcL8w)3ayfC#b-sJT}7La$oAVAwPTMXZx|O4Z*`X%+iL`1pXpSPFKh<}PCI|lDJzpDa(y8jaBENk*O)Y4y%pGG z(a`Ybp{2bVB#fJvmKxvQ;5c8dPga_Mbo}Fo*`SHEG&igHdS4whhzlxaK9}8Q2|j(v z!SVZ>mQ-He0>h<*>k|6D$$a0qC=383S{hv#19G>s#Pv=_L2k8cDDg&i;Ph~<`)5Yx zKi3tQXrDN);@32P?@nl*nB8-hQUhj?Iu@*LU41puc7x_KDpd+{t`g0;eKf5?r}O z{g<~V6fhv-`8k;*;qyGm-L!3hUdw1Xv+g&H#srUR!_I-@cFQcH)GSmu;K-i)C_yG2VfdAn+woG-)vLOHZ!4`;+q_0;vnCO6$GtUoXwBNO-HI!smN^b2gkr-5m({HY=sc z4kvUihvP0*G%WkqiF{d%KcdrU&Ry2c84SEBuL?zstOthe*dc{*;gsmfss_7#dM@gZ7rpafohn$$A?VP4@kmZkskCA)3V0; zUcIDe9&4*BAj~uFBO%K`{g~J@E_%f7xK0aix451*ErEhZeN6;PS)HG9>{|q|-U&IH z{8E%=5cz-1q}LWQpv2fc-|Gf+vdU5g#j9%5Fl&_%WQ4Vu0#$C{e=!e-l(Qskx0%_P zF3R+80P8IZ2Qf{sE2QfWDuHx+svxN`tO*W|yhRHPxBdQ)qa0bpxjJ;c$tx7c@1vvp z_za$)CW!+Mni&eiu(I{i1c&&%0|0ygks|~2Jl=89n4P%i*9`u$vZ%RnUif@nka02? zphR3RI=NpJUWlSj9Sr3Yt7ry#2Ea2?&sMt)4BpWjT81)kJlUGGi1{adGx{#j9KZpWaXBNfl9Fzq>cHM}_Hog^;qp9Vx-XI$ zI5d%>gR-E!)_wmIm+yN$`QfC2CL4Gb8XA8S9v*jmsF|6*qoa;$I^4fvt?!vmw1{@# zKnnokYH2pp62c^_HpJw|vyNJy{;Z=`iy-j6`yUy~&?Udu_0AFxP-x$PFECl3uyhW$ zdyu1PU89f~`1$uAAD!XMW|pmEudk5DxdupC-Rh}Lji>cfi|GLJ1W{e< zsz~D1)JIxrxI3`l!w|GT$~yFTadQx@RJgjb-iw>eBA&-|xkvrx3NEh%(e;rmH zH0r1|z9lxf)|Q#$RbL)Z4y;hwVTl^(zRsBy!ZN z3Zh;bH1K9B7jns9t!pC^Wa1MLfa+G=b^r90!HAy-IR(Yvq@><1MNF(2XyZUdFUr3Y#KT$?MMWU5xDUgw zGy}F|-}L&n8%-b27@;_GV};UYx5#GSo>Gx!Yi?1QzTp38KLoy6n@9g_E=dBB>V031 zlph!aS-UfGF|hEudK7t!a~Re7yK4N{G%HR;!dsq_vNE3t@Kls$Q8kuX6@H| z%33MT%X6j+Ow@dFyC4LPcO49euH!HiVFAe(1W3g|FiOxA6~Rz>H8Z|OileN(dIY(W zkyXqxDUL(LJJ2YoYlX>P$hO?LXR0cyZv!e_mHJg~p4&;C_1~K}EMU#c+h}4G?RR=^ z@VtE+K*&vvkEbaKf^&~6U0~l*%+r(aBH0HNeCgx*Pl$+>r{!=x0>G0BRKrZ>##ErB z{fHC(JGa*S(Ydo5D2ioQ)lMBg67w~xf1i1QX6P&KESmdx!8sY z=xpGd)vI&nQeUb0_yC=l_0bFi7(K}uD@s(rDE^yb?EBsj2Mgu?oZ?+TfVbEaqD-9x zR-XM%8|X$=H*wnrlv>7TJ)4b|!peMq;pvD!yrKNd zq8^Sa7rSJS@Yagr9B*2}IG8xTcvSD(tG?N0a+4)0-ULyaCkXXFZv6|afIM;@3=Orq$IYxHC}eQz z3)6`tM~3k)zIa8_z=<9iX~f~k$S<8_>AI(+<>Vlft2%_45q)^b&0`;u1yrWGV;T1x zz&3Sadny>9>6f86-NBmmhMf9A9hF2bt~Wb}i}%|DX>L~2z39Pba)|s=H0x*m(GdB1 zRvxz}&DDSTa^?EW1bj*IXIpE|XJl1K0hk@7$zPl9!gxDw}{U1MUWd*skgMrxOMy21$ z1kuw4|8A?yGCI1~W{U8DdWK5YYN|jC{kBkDG};@XwhBt6%x0!5S#PJJR4i3~vX(pF z%-3i9^n`){N(UImaav4_cx#`6nGtQGMI9zg_)VI1 zJ~eVomZm~|^KkjLB_(W8>zp`HI1VwBthS;E(#fiR^yFM=B?8VZD1KMK!yPUDseu|A ze1OCK#trjXZ+hCP?IEXTOszg2I_}Q1(sCGYEpOybn_Ql~TB19O#muazS`8`rU8Acx z^(PrHoYPTM9J{-n83cjKq7Q96m|KEwBb@_or3Lg!o>sDlnZP-07bUQ4fYcYzDY{0&BcDXZ@j{o+>M5; ztVfZSu?dq3&z%=_4sC3`h&k!b)`ox2Qpixw`r~L;MIqvTb1X#ct^b zfcHPeMRXkuuD;x(b@%&QMnub#FjIev3Y3Bhxn{(KhwgqK++jW4pJ&VNv%iN7qImI! zR6Juezaaukjxqsv}@bHBtrqGd2eU zF$U-PJcc8wNV>aLXPO!%hUcv>Y>2)IB=Jz8y!e!&U#ul(=7=l`OfyKWgF$IDlj=3_ zXnnDJ0_rayOrS54Nfj!3`vcT%(nCobpqs8p;Ko8n3MMLsx=c|wXlOE&mP359zhu4F zmQnzZyd4b80s1ef+Xrc%fGtF`-ACt#*+X#-dPFpkPzj>j zE~w}Xw>4z-{5juq*{~qg=q`=bF<^s{^DWp&3Ncrac%7%jmBUK?FP8r$W2Z8aaG^fxOXS- zvXCN2eq5D5T`t~Zqo_S%`7ht2Mb7$_~q#j zF@=CM&kQ=HiVTuk)t24&pS~tOKD<3U0qQ#cw{WbiPk94co^*m&D8ac3gMT%thHOq| zT!-+_hmP_U20eSl>&N+}C^AaVxU8;r#jEIe#D%`$!emxV?(n5@guCsLu`Ct&kk%JT zLNz}jDk{^kQ7Og?9FM*-8YEGwg(JMtqn62I?BTKW%odR=OQ2`>lOl@9?S?M z^MFNv{Suf{Jhrlrjtk#1ioaT3O)JQw9RJA5r)a074cPvN*qQXr^&QR+08+rNa)mNh;QCI z9jO4Me5+Dly;bGV2`t`PoBmM05{KNLpCB1q>$_q*+MEe(77Sb!m#)||z(j;YvJ<^b zrH6se5m0(5%JnRaciN3_NQnhGp|-L&2|VbL0J#7s&m24A3v6vt{R{z4ai19oD`%!} zKe&3yQEN@cgC=COX6_{}?qKe84mW@g*2b1j%3o_BP`Ubq*lmLJTA<<(hbira#W@!% zBALlkDegHiK)oQv`*W|3N`vDGQIPmxfq8ZH&-c&QsMH#>fvr4jt8x}^FL0Dw@(Kud zcPW2+cdP=uzsK*j{{5J&818>_(<|z7V%p6r!zDnFh>BJ9E)d)yJxaIOqgL&AK(k(I z{g~#brPMTOUAbMID_KnDFwgN&--T-VwR z6kq0y=G=do#(eYo$>mw;DV+{6erAhM+}wbtG-fZcoT{Q?(R7}edEdf$M8thnMF#G_ z+!Wh7%H7=zQnBmo0St z^X#_2PQJ%;a5}`rR4!ZvBTn~?KVE?4oxKyo5W|JR>l(z(I6hwMy#59dac5)gUUG17 z&&90%T34z8g=YNa6FSpb!Z%s>XM!YK`gT_9@luL0kLQjO}3t2`=W~PsKLIfX%(kV?6jWr^t>6fKiUsz8i!6`G37t7l$)S)a^~pT|H3V>rV$`yZ22+1bjn# zJ>Vy%%PXxXUP}`>dV?dQL$*ii@E52K*FpYLy32ObRTh?87yb06R8cy;yS(QFV_)?% zKrKd&r7_2~YGv`>xk_`Zb+LM(@c@3k!Quj2Ci>8IZ$+Vda~_-Gf3^A7&BDTpSox=? zc(WT|ZeM6tfVX-xH8Y*xdzjq*g5{ZQ?~p_OD83`dnj9dbq$uB2W!;;^g5e!rZ@#*a zO4&zw%0vK0WZmihs~coNVOAuJkW^Fq56}&gW;akuh^ME6(@0cIx(4iase zscdF-yxV1V=k*~)@_tqqq8^VQ#O`Xt)LQZ z@kOq!Fh*yy+i!sY7f$u6pTMdbfZS-kL-FsKeil-DiLz2y?gNTY!KN(DC6f{LAPnWL^_I}@ZpbM=nuS(}6_BT$-UbCVFFs6- z)4{Iq7gmH+*oX+JaI3108TAGAN03ob#aD8{xf^|K#)hk{6v>~i&>du*-FavxnbJdw ze_|V2FI+vY@wFeW5R5`LM6n0$3}F;0^WdoVG0o}Cbb0P$24;s#aZKTNEh^Zz@7@$%PaAlpMa zld`($cx9)Rcv(1z0wj)ati--t4?h=9h{XQ>>HHayv$nHSUt)Yx!o9F5 z<@+1id28cs6@|gv)Z5)Tme>bC<&s93-^v45gE0=a)9I@&B!6Du@m#jC{|^FqC_O-n z-{0P{m>CQb9k;#$%5d5;P3hsp^a}sC?U#pok7rvI_y2s|Gp`Y3s#9qqaV0peu80qp z+=%TpehR(h3z};$=EIBLJv(=xuo*H*mT41MwY+YzsRXJem}-mbzJ&0kB>yWKzWw}| zRL#0=sDEIfW|4AUG%nXu_mXS3Ftpea_emyeDWKW{tg+ zU4L=JgZ#6wP)IRMt=58N!%b_96+T4%xT1`iG?bV!MBR@h!b6~EYIzV86!?Vh$w@wZ zN2j%wusm>unDA=AB5B#?dIc+eJ|5P|`ox7ynGWY@R#PFzo%sbpDZHk|MI&=f-SpZv z+t!iuKsYCz2@X1h%r0F#Gz<4TuK}~PqB)K+6|6fBrod@0zzCAReYK&fuSzbEt-6+6 z9xXJGx5G`4(mh2K@U4pM)h7J?LEsJeCk^9U{a?X0zGl7IDgVl_8d zYmyg@&S$O~xK>OC*olbuI(tf&BBJ9J%EhN|7na3AJ+Z2ePIVsujz_Dur7-5=QoB6T zZfb<8eA;!om??K)5Qc?C?}~_uC~>{qudfvea(Hc^JnB!QuEOTT4Bjr{a&P7Bs#U1= z59?D;DH2Z2{i1zj7rs_~)Kxqy>E3FmXi`3zTjB9w?eyMNsG6^LYDt;yRhsZdW2ifw ze%tFb=W~aQ@D@@ho_shY-Q}^&$jgU06IDGEb)EXe`1sMLVdT}6NmOjC@9W+OBJQ;L zl+28Ot3z;8AN){6qI=zw^0}kOW@G!ZAppMuRWT4lE)TmcqDv zei$a)>oggaW4=*m%8RPO;rjNpT5TLWOx6k-n6RS`2)#mskNGlXmc1|eW|O8P>f!`$ zqA5A$gbi_H$`~&Kf{lQ0#Xk)(xIHDsN6TTlYAdBqMIN= z$jOO08ROg8?Y=X6mvE>U{WND#M+vNa9R3ym>NrU36WudbT1>Ds&i*M$mD^yoDYG~_w zN9F9C#%Y_$|qU z);@^C#(ujIoggWe)*V4{4c$G@9yS6GJ;(I$u{D*7dVMn(CqZ0_?Cjn#!POP3+KPBi ze~>a5r_`EM-1$mh=i3`iaD*j)JS%v(R;(2M>(YFgR@LV2PO<;GJ7=dc4G0KAfPF1( zQ`3w|<$cVb76c}PRg@1NUHyS0wKlWow|hbr#=_GlYgT7h*(E6+ALGFU1Vh*(fy$NaM2i~|B!=h)W*F_aBMK6TCIWNhQ^yLR+=b*=WZ4*g= z^a?&T+wS|F%cI)#1C!2Ht7ZH61NSbM<%S&Vo)TV$D}1w9_>!f4S-rN3Nz?5qIp(kd zqooR0MG|(AW-p=sfzHt5U#X6?RxeR8x4$E5)#ifZ> zP1POe1e#5MIC)b7^U&k=v9SclBeV3J zZ_-BJDV*(-Hp62W$n!?#x7;3r^YgOSy#FWEg?1e&Cw>%&5gFzm9<>><$qJGEB|st1 zColoE#{BRyXX|h%g2#EL*@eS*x=7DJLE(lsvXBN(+b#A5AktGNm9R~66&QJ0qiC4) zKio~JZyzqa_`0^!dkorPRx901hQ#iW&Y@0kpc`eCj8|$}>>Li&p;8)om{c~g<#h%* z^hr%e&pXS_RRf15?dp7|0*@8Z1Rg$p?Vb~=d)w;OF__Q`^xb{=x|4QxwpeT-zYs7K za=zvxQKP*RDOPRAgmjhcTui?xv9nA$2&4nc7Ut`)(fIR)7a{Zg+?%(E4xMyxWU%c; zb&_CMQa&@37;sIlUM$hMN`z6GouP*=^R6yC`a*D6k6leoZ+MeaKKsyWs_ht1m_E8# z7is7`oo?)FH{sfdi{B2#DOO_gE6jr>5eM&7%IJjr){3v>B7be;4t#&w>dB9Yr`JGf zznRc%O|nDXkFif#{JFAH{;bbr80VmSrmPavzt@8PZcru4wWhp5Zi*i=_?v>q!TAtI zfpYwb(~XZ3QJstBNu??jtGEdMP$|~usgY}3|3VL}(Dbz_Q^YTvrzX7Gi30<@IQ`Yt z#%qJO2jSauF?|l;SMi-X{o5%f$ef|I+DMy0ljk5j>;pp{o4ntx|r927`U6|uhSF}a7 zeaYsL#rftz?JG*$<%-&<9#TR7n99iSbgpm&@;?d+RpDZsg8jr51 z`DlVY&ut4>u$i^AV$``CV@)E-UZ*(o_LKd??52*! zncGuN%}mP%LM)8KU7Z3)daF#|MLq}GI_B!8x%S5NXvC@Yk>!EddvpBDni}ln7#fhm zF05IdT;GCXWrj~?l_ffG5U?5a+Z&ISDD=)k+d zX*;WG;>pv)BKWb@89AAZk`cr_U{KCD@*ob`Q2Ui+AT2 zVX~M~ULpPeOsd1`yGUNzf4$a!Bla^?6Y$52e53Q<%Q`U9rtwF1&bRHs$x{hQ!mT`g zT}v;yJa8|9c?xlmP$%IXdx$-R$E9g$LN-Mlkg{GC%foF}Wj2NV5BMF1BmUoykwqs* zb{{tRaoDb_1Ez6IoT21@e{WKy2>0UGra!}I^LgImvy*Vt@-(?Rv`u#QPLy@XuL3zv zQflgWK!9w$Dfz~DC=(n7GTK!c#ti8S2bvsfN6T@5pH)Brf`K_PHBt6Iyb1jw3G?>9 z&+wh@<|(wo@E+Y~Xz11v)8XO3%9UL-j);0l`{@VI_a7G66(9kEjHZ>{0jJUqJ3Dlc~q@{tv zQ#=q`2v0}=26O`GLNb(C8dwF^@h2bV?f>+@*B?5o%~I;&NDX0PfB#<&x&?P?a14&WM2&9z=3- zbHlMrFHc1?jV87R*+IE~$uX!WrLs zT7Ez~FZN6URb{#5;&(u&8vj|B=HU)C)3AR_lCWs#4a%XUwYBk*yCW~4Gp6MAz@Sy4 zTi1S?>pom;2=I^l8if5KJCwQu*3fWi#fTpO6QS+%PD~uEjBzae&rxxZgj}HEU>7Bh zMN{=AOW@a>ct}+h@}XK$UPeHU=w=8V5E`PU`6R4em{FS>rT>Hz$q?6%ABYaafmwR+2Ev4AvzI=Ordp*P}^k_I=nIDnX)U$BF=-hQVuj!}Medbj{0bsw89 z6g1xQ^chHDbf*hd0F88%loVH7h&?$5Rp?iF`Rrbt?@dlbUEyE-Ucct(pDdWJh2F8X zIUeQ@q32~fjgrPi(TLTR8|JB1(O}1f80v6Dx)NQ!Ol=ndLR~C?0-NIclK!!g>IgAj zs4TscT5-&W$*@nZNR8E_s{FT?F3H#nTo~;C+LN22h6eW<)sS9WW8QjSR`+&*=SW9& z#V*|mR&>E+J9M72@v`Axxjp)1f#P51Z4OGA_g=nT!}(`|Obs?fFR+zOD~Y;A4=WYe#gGdz-7 z>~Ue}rKH4h@#UU-f;E<6)MQ@+v8W{-G&Sv^mA%CU5|{h+2IFIL8Vt=MGiNx0!a`_R zgi;0yEF@{V8qE&Li8V*oXP1OZMNkUc6FHc^xTthl@7w$DrUB7V`EpY;+F~4PY9^*P z+QfW-9``SxMXz6~mB{Wg{IEI75rDr&Aq+jpXjve-@!yiWSP#4 zAOTayi)R&-;R~Ci`rvczgYl#YC~yU}pTDVg8nVwoL^J3yW2o zk8E;0t2+Tg)8*P>b2t;FaQ?U;lWM&^9GM6TpaBn5EMOZi&+^_SKS4gfIAijBd^1;b zB*& z!<3~+6^NNx5{uy86oz1-#$s_ldR23@v?i%DvaG%JQnlI^i?iIgJFSXPvjLjn&;*|s zPbW8%6%?zwQSLjazJQ4Q7TCGCLWx{t%HpkTlem+rOZ0v*twe5}3r&W)d zBY2GW_A#w*U%YyiWcaI}3Fx!|I3GQrUOH;`N_+ifx!|Gh@* zXbeqvUAD15U=@Z&TuZCX+Q(hop|BOkxA%2oRawNG;W>;YVGC-V86-v%Iq66WkGh^MQsY!lHq_qRk!IY^qMjL`QHdRMTdEG&;RA@MAF+sa=0Q32#U9Mv4`Pp%Sh>wYu1|#%OZd@9GA0@7=OVrUmAUxnvD%xq&tNGV*lgz zV({dw;e&Sz?w7}VI8NJjf@H3%^|7q8N~`5(KK8sJbllc z)!Hq~;#AJA5f68RV`cJy;!u=DuIjb(vA`Zg)YYS@eEnl?gEnVoA9a=GrmMSYKoAlD*IW;C1_ zAZChjd%oLUl-QP!@vEoO07m7%4|@`@LCZc;70Cnl7Rz{WQ+^` zH^0uw;^7iXc9XkVAT~pr3%g^|-6i?{rQ#HWwxH&C0`OoErQ%A&{>`D4lZ&%~q|ew4 zM_;2@sHJGt@r$*ZGa)kfK^WaKy3^^%6cV@+{*of_KmHd^h-d5F`CyX>^5mL$3l?R* z)%vG_M|}APlg>9Nk#EwBRqyymiuqi}<+h?=ALi59 zZXI3kqdr0;y)hV0fz3(ruC?D}D~N44*`H;mqZ{1*H7@7;f5w*D8={Q}VYR z(eoyPosqGls}l_eUt)pp32R3prcf0K^nC&1AjncuEUYX&*+o)I_cxc*`giChE-4&lB8CzoAM z*EYpk4PArkHLsiP{H7Th^D6{tdJ0Oy#Cjv5XjCKmqG?8Z{{B40q6H}6O=m}A+wd^4 zr>7^-G3WvdS7%2R$8NRGL&DsX$WBZlk?<`)3Ne~Sv1_3b4T~m9F`0r143%AN&$PXe zlA_0^Tc+}EiTBAiV%wx&{Cag+wKJK)tXPoLotfzcd?&-^uyzNSa5hPecfm+VA2rL# zm5hwu?G7`5xYX@`(f{HC2?4cDI8DvL@JF-sK66xurK%SixxcXQIZR>|ytivT_ zN{(xIp!a9ESg#1P-XELli#*84%-lXz%?bCWhv9(K8K@cP&!=NCr1+ICOvb+awT^Q# zK(6gYI-u1Uq(!(lnjg)>502QSojfBmJ``f!zBop*T#Y)&-jszhSRK{n<{^!GOrOL= zT4a2-Op&nS=hay|+LADHMM(MO)2G-%D%BHDhERY#m=P@{54k*)=@gHi+1?F=+QnOt zvtHj2buXnMhs%c3rPM@(S~P&r60cF5RClv>Ri&cNmh<#GMWILyOL-cZrN%TJBIS=H z27H^SA&E?Cx#b|92D|ynTnIiUgIW}T8jMzbm;h=BC#zK{0H_hgrTocutM6jeB4luo z@Ak2?KQ@WmHHO*CD+&3HUdQ(6xvgz_Ko-SfJv0M4U;Q7nvDPhPW24&M6;ccmzo6Al zA4abjw79qSXCq(1r;vO;Mgm$c zX)>uqET(#20VFmZ&o=x{8H7|=Gybhu8+o;6$BbHA)`O@wxG$=p>pHI>o~f9tDcQH& zVUl!GY_)~k`7{`Xa4v$~%A?wn=MO~WW4YT6{NeIbq!;X+Y_l7uq?B2%G`eZW`f?Ye zZXZi9lK6_9E$xPQBKUL_*6c0wryJt7VtL1enHeVATxRC2A?4&~-6r?Dm|l!*MvF}Y zB#HNBo_?qlA>tq`ufon}J17)?iyq=RD6<$1PV*M|Y|&-F!eYotM-mbF>?OnMzd6sP!Q+{Lz-{z3!7ttQ(%R`>Pl$2(0*~spsdalx7oXuL7-F0c~E*8O%>AKbZY^-t#y^n78Ox?ti`AUusA-pPS1cXNsC(FRL^k z4TMGD*<;;wokq6E(OMq`ND7|d)Hpb<$;jqIQSk=&hx#PY}FQDyzhZwG55N$ys zH?p^F5<{o*MU0G0t;RyaO@lyvx{!p9Bko2%r*EZ1w7hF`(_FhI)R^6hscSag+YeQ~ zUV}41P1UAjULBeun%>j%5j>S>0J^XJ_R1GMJ?yEX`JutY;W!YYksbrdD=N+Vx?f57p@J1{1=$o6npYcMjc8ga>cjuVnG0P-1DY7*lcgS_E$}Pu*d@|{y z&B2@$5GD7|GL+w)Fnu;TrBWT;+e>Iy_tuB`nj@uTGR#2d2fQF*9|y>Bv->SVSlk*&J= z885}iXs4pVBG}$7a9-Bd0gaqrbYBm-IVw6EO}T#iIQ zvP4KvFCAFfmyQDEI9Br?!=w6zs*OL&z9QsFqm%Z|&CS}HOk)>oGz>9hXLCEBi$dk< zuTF(HknveoE@oN(9DfO2>Esut6ghzk-y7w zq8&r89#B@sh|gA-;rXPiQFrdG3QC&|T}J;k)NIbOoThzX7__ zCEa9!LR*Du~ zpPg%ex{gbukSp2Z(PX+<4~xUFqcsV3I zmM9=rGHFVR4B7OIiG1|inQ}#%wOa?cWbF496qL(BlvNn*;nJ>goW|7>MKHp|7m9A2A!1c1=c)QBqzLa;8IQLOR{=KM*s?r+RwfohWpni|kEtnh((Y{t7DJ6Yp^9u3usMP5%11dsfFH>rv{ zm%>A&P^jXyvXW>%QyNrf7yG=Yyydd`R`&2kbEJ9RGaJ2%iIH-8y#KXJmo`&>p$=ru zvXuxWo_9KPk-pf#-ba9}6q6&U>*|X$l!_qhJ>k!$+>Xa?IW$$2=pPoQ3>J6f=xnoe z4hq}9HJGV*mYr|sBkBN^GAlP*!)rvj8EKJWnB+8F`n(lxzO>sl23Js8{`=}x_{l`c z`0J}GF7O8Y>9V)(^-vHC1p`gZm;7(WDa-ADy=|!O?=^nfEWJX*rc01$(egI6 zVgQbHt-RX2>pDDA^96dHofVl^Jg~`$#5dq28sAE_}4F14-cG=N`*ep-XIsccS*qQ6gXX?t^Zvu z2&ff;rF{cbe{Jt`*`atnlP_2IB==NoFV7j#F)$Q!3~27Ih(7?SWcVMQ%AlhA`UfmR zBWA3B)H_@>eu)O9=Ng@%oiXs)q@A2s2fr*ZK+$+_sHwqGVJnl9LEC3MP2ZI!ret6O zu|jd{b@-|;62UKLGFq4O{h>uJ&*vx8{Lhnlo&9(boXQ<9eR)YRS0|tChP@-a6G6cV z7yz6v&U2MpK-PtlC*AkX<?=(Ko4>rht z^I|19SN_hSG00w`~9QIkiZCbiXaN?nS?aK*~Mp3J<8qQb~WkvDsbW?~DEv5}!qJ=h&|h z%9pO+U0kSEMPR(e2uv;=eBDZ^PzABEQCi2uMA91`dUAfQluRx+TG#p(CW=N=%qBn- zb?J$R(_^)AHDX|6e|8)sHu6wkQ7Rgx!oL@L%D|@xgFPl}ru5iGgetS386(?hf(ATD zW&%hq_m^s8-o}=Eww!nkHdWWc?AsYn9fsmhiPS28e(w^H$Vm+m)XmhoaCz~+K*HtL z0G@Wo_Zd38itG+E-U-B#1ic`i- zmfFHjx#Xuse4F8Z23i5SotEJ2){;8jEZ_h3d)CIn_ zE98Jk{&))aRU|lF9RVSMJqDLca8o|dO*K1=c(78{uGW=H1sZA#%AAr3OkRhYw*b|^ zKRXMkBCWFV^-5WxTE$Nw?^y6`gTJ45m)-?<$~Z_gf0HY-u1^y5<5-Kin%e$+WdIEp zt)8L9;Go&G0#z0*5X&}PYK%uBe#CEbK?dNi0~HAI>h@#HAR&j8Ro+Lh=%^agGQVzy z!Y=M}j*g8f0SgRBsynYGq=RkE+t}#025P{utFWyl+9LAVlKjG<`>E;OVqzfS+gzv{ z2Sp`M=rWM41R~O=;L0n_?$a|aAfyd9TW;9yxX4G*^wfZkO$pnI+nM{X{fFSD_6Al*U!#Y?R}n`gMbmIll5L^u(rQ=T+U%08f`C1L?I82aL%VH9$KRG;o-6{n7?-j zTfQ&WW2vY<{0tlRVmQ3oRpf|?$wnex3M*7)UJ@ZWdMf62#m=u4B=@s3mZ{LYP}`Jz zL~i1)1DiZ;B7x%VF{ewg=6p@QwCuCTTwp6Q-dw*~9|#Am8t=sE6B>TDi!_23VJz6U zV~xRA>S6DC*WGkJpd8GP5A?mcil%+`7W?O?>;HOEcwkgi)lMlX52OrZW3KN~)7@QN z6WFafBPh)NbJgkQ;PBz12r$0Rx%vQ*^Zg~&Y9cR@e4=aSUvm2e;+;}*xM^ccLe;ml zsHT@3MG}&d_q+D})zua-GZn`3I9F%q3xkR5jKr72CQI5c?l%YVJ1IyxIWC~-Y8!#) z+Y?&PD>hlInkui~ zlzK*Pynxl_B^MVLQXr0TDoA3$_LWR~33t3u{)=|Hgt=6k5A5-&{@8yr^EGK2b%BNI zHJachQFpbr`b#BV+MMXUd$>h@u8)1wFfS~8qHPZFXciC@?t_%&QIPzj{}L$kB6*6C z&*K#t8Bb&5<>MZ2%e`C}C}$j>&WT74?0GJNdnJUaG|^4nPd4R0S%rrYOL(K6X|a?- z^y*cz@#sKazPyhpvyt@ses8}pl_tHq-6(|`*DbA|R?B)rmCL{+!;K_~_<}^jp8gtk z;!RQuWSTzZK)(1_0uOxY+NkE68ZT|vx)g6O@Vkb=eBpX`ll4CWAdR~|nt=eS zxw82RxN0?)PqWpLRADxk`-q?qI^5uRWbLTk-x|W#PE{($gUv4&y zO~i8>v`}{j#DhDBk`qTKC$n5Gv>&S&%%%#T21b}-y%DZF9e!MO25nv6x`2Qji%x;W zHy0BZ2V^f1PA)Dsfo|{fe_dzGI#+%0v)J;Iyh)hvbdHLgeC41iRlhs*9X7VWP*Pp4 zX2T0$de<#achzC$K&RCC;dU9JP3ZQsdzU>Bew8{%0HF@Na!i`vsal#4Cg?3v{ncRs zgi3KRi525*MVCVUHz8n=roy20YGbnKwT#2?N2VoZ`JOrQUHmVN7jzv@DrNT6uH4+# zn$<}9u+PvmGjK_>L2o%7ZqfB(b!o97-)=0b&JM@+x)g_2xn91~#O6O2@w&t7TUbZ{ zg<_}UFH`pe{;O+xqa&b{PBMm8WImUV!4%!mAqd0567hJ%!g7u)pB?<~`h+ZXvDs=_ zI$IL=OxOCx3;_K1ybFkSXLxkl%|D)<Ro?hVP7r^ptBq#n)hpZ^xKN3CKYUoh1nte%u57fj zGO0~wA;}u>3ffU>A-&9R5Rozq7pi{BzFxeCX*rb6gm%2hT?eAUl zxV}j>SQu%0-XwOyT&OEc-YqlL)Mo<|TXsFMc3#G~ye5^;ek@7XyUY4c`g7u9OCys1 zyZCqzl25b`Um=X=czPz)JLXh{ggkHm$vFy%j|zWaE-jcg>rIx|#75lIA%Dy{z^fu5XngM((B%LQ6@nD**IozDIJr*B~4l9C{H zJ7YJ)faZO9XlAbZ-|2>*lgll}JL{m?irC}zUb2`^$ycMz07wG4)^HUS6%0&!92ptU zm#{~lJ?`y+BD|!EN{_O7fkK{FfS77y6OVsz@U_9+Qq%kmuu?vAb2U%2=y=B(T%x1UJbGo~<2qdN=AtC9d(hV5spD87$ zPpHy+{OL?Aoq{RgCJ8{^H3N_9`5)0V0lH)!b+Bvlq`B1D*oxGIzI=OE@Ob?dDxEM= zpllT!BK2Hid&ZH;px&-jXuUQ;?Fpu66t+MIQB;VLu|&1p;1d>&0;r4N*lrD->8jtH zMyu3~B?B#OY=+1CBPozr8=Y_WnwXfl)eer127p==Pz~=5ySxDI0d$Cv-hWk({Z^8K3-`vY@v^Ss%!JKiPR0)< zlvs*zrZf!>hTT#_YOJgUXp4IQPc)t(;<R-1swek4t(K|WW~@aNI}O~#G( zI!9}KQm52Rqn!-EbYzGeo?b!9#qQ7+s^OG>&OHdR7nbHrb$;?Myq<22k5*<9MR}u#_Nh|ar;(*cnQ_`BoNc@vqGGG6o`m{6d<7&ZG zlgAoO77b2Tc$I135F1+RI~l^D{HS8NBreY->9REg%q<3Zk9*_WUnQkmY0Kv`o;+@? zb$^%}oo?<6?s%{Fc(;BI9n+BByQcOz?#vDboZ-CW-0_4chS3VTkVIy@Jqb%zuUU27 zf3Gz!XF2DeyKMq`HgfwX@?+6^)6RfC@z%v9idGY^$TK@ca%d|mMLRV(-DRWiImtej z%`iDw`BJ=4r$|M;w!7OE&rEf43c0yRZsE7L$Am!YdvD|NNWe&85DsiWaPS|Uw!d+4 zQ9vD>?#n4}PUZcrpkU+bSk?!Sno-OC-EPQ!B_k89_y7^Z_>BT(2^cdRZ+2(* zMIn^zk6{COcV*Q((96xVdVCZCzj-|kHR+Ej`cn11>iF_<1!yYYpO4EBTRbh(TKqfm z8Uzhtx&*q+%-@1;lr)yo`+D zEkr!oD&c=q7axyDF@QJiZto8B+~$byEuo*6D-_lJbaUtCaHkzc#H{xh)8X)n{L`n$ z3=3g+iffBn=Hz*!#@VLt3VFf00jsqQ79Ew+w?qSv2~e}?NHSMx(EX;I*RM7=lM-Ct zipBX%r|Tmn&z0nYOj_d6EK}X$bd%K6^E!pwUGnezE0*%_Zkw_Zl)NMKG_r$4;Z*70gZI>mJT};=+ok_;fK?Ucfzw<+a2Q2)^To*ho za|I@67alu%Jt~1{%i*HxX|nSBXH zRL0&vc^8x_t#vP%G%KMd`&B5YAm4Cj;n)634!Dm~rya~3{z(BWmji|Jn zU#7ZQCuo3yrJh!=Md#D?QNMXQ`owb6@kaw^=_86QeTo{PAR}h8DZ!=2fE(-i>l0=$ zEI7f=GqeY$c&X*zx!#3>@J>?4EZ@-)P;qiR(^+eSp;BoA`Y>QvGjHVq(xi>&#KJ@) zrn7J*)boK#KLgc-SAH0}in3KhImb z`OE!o_q$IZhY5M)X>hkE1~&gQlxSU1aNQWezvY*OU-9+z4aURvka3NbYQ@j~>0RYUVR$A7&Q?;xC&UB#*x&$DHq56q9lP+@)nspmjmz3GqTxH`y!u+Ls> zPo!`L#g>_EJ4u_u?K&{3&r7Gq8&<@%s9HA@ z4QZKp+V+5YXX1~Ek1 zsMI!q77_7@6LEcX%?}B8l33!5(*Ef5q~+<6WpB7Jntf}`3VW?S9hxe;aY|_j6+i8AFc&54MCIq)o1rUOf4b7Qm3id zVWV5LuvA{Sl@gJ#=JKr;d{$HR1|A;11}O#^BJ-l6o#hM!P^!N_)W0t|1g)LNQ^T0y zWC?Ew)am+~F}6gLOy+Q*_cUqA_4@jxB?XND4Bvt7i;J_Ik@cRLK>Od3(NTU7vnje| zEM}olRSpY0!n^adut<#Pdlp!bf(w3Q9(&{(GT^!*)MsqL{QM} zF<2887Bm*s{;jjTdKgYByW;^}q_GSUb=%E>Uy1Wtpb}8$#OQDSbnhw}x^=!3OGHaY zhe=3CSZ+A}_;1aPmanB96w4z(-3e4v-vHlFz~chudiNBpWcg)eQpF-SKRa2=xLh3y z)!Bl%x0ts+(fa@z`k4~3THNlpabRv!&vbUbf~pVhRZ_Zo z4V#ZIZ~H_g(dK4|jRVowwXQ+N&ppxWYaWAJT6f!?Q(x(|7Jj69+@5E|gE%2upp-0= zU4)H0-g)Mw(O?rvQNhcD`+<4@e8p@IeD}&Q z-2ki9(M`M6wH9tg=R*z7JneZF)zD~JPyzCY)7_EK>h2h+JNhEJYv;k$XFihE_# z5<}JY`bdKI0YMyx9Z@pj+@Dw~{lWdo-ZWPI?19$#aoB!JDaEZ!|37wHh@kUs_*RMP zPT$OUylw1$JRTnYk}z;s*2;wg`gb&sOawJ4d*$h#FSn16%Hkonwxp0pE4`M#oPdhV z^(jSnYGpdivgL936zkVp?8p7ovzne5sl=`rsoDDWWO?IzK2GYDrp3D&Se^NOKAdy% z3m$sT%9^8rq+jD4PRE}I6O2QLO?^c3pAh~t?VIeVA#+FEojRHx5gceTLw06+&{Wq$ zL*{C@Zmc=oSiH|uzJor8Ng^N~@hzN3UQA7pdhGV$WHR>X!DF6cjhi@(hzFAD-n``s z**YU)XoI0U?my!t@uH838A#^U-2IjJIsU2TX|&oXDSad})X;r=KU)vuoZRg-scS5+(C zO7-0QcjysqG}!#mC2JH21S;6a{&@Akg6{QSyUH81_nfvbV`BDHL1|7Tlz{GV=k@cy zb#F&!(Tq4;p1WJ<6g3=k|C?QVN-C=EzUV~f>tmw3D=UOAT3RX6$@LZXJ8DQs-`DFI z$jJ2R=zyL2U}T8MtgiR!XJ%)QwY2QBJ8+1L&VV+bZ+JvP-|2;R`kTFp z{I=hZ=~oC=+I-LWIPPDU!dOHo%2^Ap&lxrQ-@n@Fg_(kjbF8?$PCo|fJ-d<$t3@|{e|gNWhXmfjYRh$-IFW*rX6LO zQ3jm)w1lv#RkcP?vj-IZJUYh3KQv%<+s2iMyRkbbN=9L7Dov*3k;Uwk;?#4kdNMO7 zCo(3b>ukihaJgJgW2#Oc=nO6pz;x?Z3w8?XSyCRnx_oqh`H3pbmign4YrvSRIFT)p zb7*fqEo9`gYt&!$e#%O;W~iywWe`D`9Vb0qD=kenr8wDTq@cl^+E+OojiUi_y7G^Q z*G)7%q8jDl>AmRLa^@8|LD+0W+<8hF85NpSKk?ODOL8jDOsN8g?LDQniTJhqr9#CR z_z48mBb&>6>UzfmsfT)GgQ?#2h+!dzqZ)(04%|wsaq9W{Uu{2{zglw}^#_a(sSZ7@ zo8m-8ONeFCrq(!7=I4KxBw+s47j4iFi-~>f0?%SL_tKTi6*!s?$HcE-OIsO+tECb} zB_#AOC-Q_Kp^c5)g!7m~{Ti_-gqZ+^1E5}E92ZPH{De*S$Jgrx58#U&;fPP!HJmUo zz0?7Kf^5gHk0WQ{ryT=fA;Gg5(iiaWO_dYJoeAuW(byk-dPq03e5Ar*sAslW{Y)wO9uxr{6=+tx9X79I zq@*r|zvvcGH#Copm4|)&_`T!mFY%X(nvXYU!!2NH&2TV5Q6Z01kPH!c12?POTz{nZ z0Rcx@eZbmk-S3Qw@4nBJQhx~iO~|O1q~HvW(7kvuovS|mx!>4l0U%-N?og@iWzW}C zGFqf$WQ2fM1{3QnMN3X*_y?G#vD*m50lqAW+Zjnwk=5m5mr9ZS(;+e{@lu9N>I=D0 z&0$bs8n3jbnGN%&58Abb)4&)*@uhZ47yN z@3GQ!R71naVyh=4kzWperRHcA*VJf;`syr7R{m?rcPu?U?TWirk}31q(1IdXUH@WaELaJjw4`pX(GwDB~J3N?$lt-Ym z7AUW^ccZEhmg&#VN$t03oH4C%BE%6X+MVMQ>^NPs=pTloWLjahF%nu zKM*k6*mEMbM%iSP7fsjlyW_FvGF0rltVjh52a{2-!X=B(`G_>G{wac0cQ{(hOlG~< zn~2FJ#w85tC#T;8N9K&&&?EywURU z(_Pb{KghPu6is>9`*8w zLr@hemV*$)D)HV767G5hI^74$6GfV-V_AwEjwf_aM04%?xM!-TvA+cI&G2bs=$?W) zI<6)P^!>|isXsZT=ubad>@T_eAc6H0o2apaND8h?D2Nv@8E$f%5dAI4eLeMQc|f?o z3Vfr7Q`sth%dLBfo`a~uFs^L>=mL1e+9Yee;g9 zd}_75G8!8n|7A?|!mH#RQtQhW7UGBql@@2_aVlv{kqK-pzzDAc>MY4~)zN|EO-?sV zISY#c{=u11m@0gJ}}Nm@#3W1`MZ z$53(x^N}_d9M!5rKUiB^{6*Kph*au_qgk_F zRj3d@znAgw*WZzm`uoTKi4|4Jk&>{-Xd<%MMU3r|5HT(SBZyi(f)gIEk;<%v@A-vkzP)Yi|S|%UsGi25Bya5}RK&sx zC>wHh&dARH3tkk9sY%cH7Kw=&c4(K2A6rpel?gTK(PDgLFada)aRh{b-%Gs71 zKJ2n*cx-Hr#U2Vrs`dKe!#t-j3BqDsZ^ur?NKt;bjbFto%jhVh?11X$5J@~PIC`m3kFLbpX*$(MoWaCuowK>*Z6z%C zX@KxEu3CraH0!?f!63cEy$NK+r{}2cP9a)!IXhfbkBEr)SWwL0vIJXd2N?iqFJmFq zjbwD(bxNdV_s(n+>YQ4{U8~h{r>=#5XN%wEyGzn2NY!4MWhb^T3LAYXtd^y$!ngIX zlm||01L7rR?kqX!h7|P0quZx$YMowfY@|c0zaD#w9Cb6gdrtnJ2pja-JRq8oi;w5$ zBNl2^-Fk!QmT>T+m9r&OhEyMZWBpb4X=NB})@*RPJ0v_Cu#>Kk{{}`N%dBr~-Ac4$ zIe4#*T6XjdI&9e4S256?&c-(1NmA-$ci8LP0 zRtzIjA>M*aXm zYPh<|_2l?+vt}r{jMF8m^w@gH#p$#2rMU|}eq;g-?x<)s}rDm*}kl@g4`KL#u_nZ-thlhf~B5Mwh-0f6S>EOf0pfH?i= z)RigL4nB-@!e9YVxw;y`+K~_Li_Qwv+yd3#bE!F`-&P9d@^Wf_u>sl23Kin`7?L4k z@fsBsu)Wg(t%RVYN^zp2+4qkjw?g z$43k>J2(}Pt=$rOe-XRRv(&rudcL}-eZehhKr|W5|JH{U9lWqyJRP>Z2M%I$Fi{xb z{h21$w=$``n94_1Qs@4hp_skBWOxY4b5Qur z_Y7Q1bu$o=8i#6ax{^5lb$~X{_1SQq`EoOnzP@}Oo4C06M6PUNe=LuUJ@>#yKTfA1 zKHI*4mKG6N#!#U~U7UPQl8tS7+rU5+_~S^UGi|nHyyA*;jp?`-$TceTI!W=^CIE*I z<@x?>f){K9qwA$X8Rl2ZooN|^g|hNFF&7t?n4Q#(jg6hDB6e_|$6zv_0-Q&Q#Ah#N zG7iOke4PILIk#=HV2Ois)*l)Qrl5oZ&?&5K%l~yCQW0^#YvSA3TG-oGFdR+CT4?d~ zLm|Yga6Y5a&>D z?y!u)>n^UlxaC;+B$s1^Oox3>&Gz_Gl8_JHLQ2Z5MRL z^!=|_M13AcR%5Ndh3p>vT;iFcJ}CymUkJ(;vlifw6zRK4r|^i_2OH$y2L~gWht(gu zj#IK&kTbC~1%(-}g)UB*j;5eRW``%l^fedZI}zE3OnNd5M4#ZSOl}RA*i!6ZPS;Ve zvSP`v@k=ItR&x6Uh#2Bo4bh*AAw0*FOU>FyH?hSU&$$<62%F(%RKUlN{zElMNd&NW zmqr__El&4zabGW`<@DkFd~9{@uoGBK1;P2)Jk5-H4tFPh)3K3vtcr@<3|b$f9-FD8 zQz2hL=qXaeY+CbFGBN!Q3l4Ed>n~O%#ze-%^tCjYle7F}rTtzuJ(ke2#gL;On*x_I z?$z!Z5bV;qYlu$~{98Owd?2wZ&g;Q<#qFEnL(|^}3b76#<;jh}yU}=XXN)m8g zB;tB9GwxC`9j0(l(4#r7Rx%q-Ozg}ms#(=qCf}NCSo9v4$&{*;`~Du$@eSS=@gr)n z>v;Uon_52obLedgyV;=mvncRbW3-~p}X_9^xpe^&$s{K0S+ z*J&|CaxW!1G>CKs)dXX>++~uLf zvDK2v>4G&=FI)nzE=^9Nzv1rg{?)K1no7aQ_S%XaGOE)#!R&*CW%ai= z8monBn&Gofbo~DNvVA&9NvYoKtgMjOsSe^@ozLLP_)4qY90Cp%YkO`nwi{uLEG+9i z;YIkIo4&QR2N#c^piaTU;!mX@TwydEZ;~B=k_?O^1geba=4vhJvPIB-gHV1BS^CJF z99(to8uJuAMZu@pVE4+^^`+T#u|SEsBlz1?VD-W;;K$(snu+(cfW1ee^nPM;GFJdz zPEh;y40C6ZV_yp5xL-Tb;!XsZYhUuDrFQ44SY*<;*V~~f-qDu7XJrj2P!IuROaZ7u zIXhChufs`qKenZ<77eATvcyCr6G%Ih29(RM0LUWjoZa0K9+{<9AN7Z zw3VM ze{a8k!Ww1L-Lw&>qKU?0;%j>rp5Klg>kKm_Bw`hfv74RfRq;3|4y1q*fWL~LGwS;B zC5BSYcLKuwYrssI?FUYamTI;261t4cDDi$w|HC@J*p{C zFx`cUsE-Gt{Y5OcrIN}!e)AK*w9l)xWK3s|TDU%1gB&wV>3IEx8Rilgk&mvo)SkfezKml@oL!IALNjc$(2d)DL9Rf$L8SRFiJ`sE3njvVCM`WL6M-MvA@9OI6Wj>kz`SFm~CD{1 z0bP+^UuiCtFeb*e@)FAtOm7={t+Nlr#P}G|2Q@K>$wMYH( zuhTjlju#2e3Yau1R=EzQrm$U$4H5uh@B_+Nu~_I7p8dg8E*(-bz|F#8`b9yfUfnTz z3@sAb2$)FzdB#xC(4+NsTl8B4vAqLk#%Uvd*&8_8ZNOz>Bf%nkQe8c^YybSLv45#) zt-jGME6=z+<4dQ@)d7mG?yFCC)LFY_ZBJ{b_ospv- z?fzu3)#u;$*Mhx0;<1LYFbxL%=u9id;80i2sn;vYY`<4?;Nz9OVmtalp0?@JAV{}_ zi}ZvF`esNXdMULEV`dW&|5R9--(4N_^llpTNZu1wy`uwhW!0iLPN;jd1IgApM_~r? z4$L*PnSA=HVqq3fC~YCH;5&~~CYbkwtcFvA846+=53XKPEG-W?1tWBa8g-kM$5X@v z+3Y7Rdjk9K4nrJKtyc_}nW+sljtvFb)8%>Pnv9k#_A%jf8Tdc`DGKmy_8mIgn=*rW zP52?TLt3URX^53fBIHWXkR$QMVq-_;ROqhtq91NREF%G5LReTBEhO)K+2<+h@k;AN zWHv$}2g$d_BdO>_NGM1h_aPMIeo|!kx?%9B*|wcP5qcN2rVn3fIU@{Clu=WMY?*?= z=oiP#K{M8RrzhMLyg)C~2i=o@oPmFj(7ZJo))1{$>A?%~Ib;G0@g?=!h3k=!X}X2= zeU*A)L+Ecr1plIhp8X~QCXM22k->NHmu54gj=CJEF}DW=wihGTSZjVBqIR(p#{vgOJkYx##KzeL4g^f%658wZm!$9GC;g*|3b?t>YI4FV;u%YPWEBUxeY_38;Oq_9oJV@ z;PKoV^2<108UTF#7|#bNFXvKW4avv?&GF2eRKX4;-HK(f*Z{KW`duljL(ku5iu3c`r(CtgCIX?aPBZ2_0Q{IacPUe4X+P zU*9ug?zd2ubaObgOkxkTQL@xTiGye2^78Vi*GM^|m*_bIXLfC(GBU|*&towjO*cBLH+^x(YcMnI-Te*8U&!w++!faKAT-?knuscOD zd1%+$1o-%vgUauMtJLRJ5eiztO_xNiU#7Y?)162@gj$^2sw!2!l#&o z93(0htRriQhDn%6-?0nb_z-Q%Q?~R>c z1%R~~OTMFu+n*^IUZ&fxP`#nxDk+|GKS7`vjc6~o0HiK4TMTxQraAMdtMHv+r6!C3bl^y(^N{u4UG+vbA+wFJFT0Ns#{fIADn$)zE8b zvbr4y&iT6&RYawEslea}CUro`#;!KoGg*4FSX;s zS7Prd>35GihT*c7ie82?v&0kex_pmw8tbP9>p&FY4Jho95&~$mx9g)(f`wGFb^q*I zXM^`8brI+%%HLpzUtMFknlJasWFan4CT+85^bZy>$>_{-OX6}uY<2aY5_zG$Jg-#F zFhb54;Q;^aQTfT`--)E;A>8-K7Z(PlMVH5I%to{2ny#E!-jDr5v=}MV4HBUI}!1Qf0)G#hs}SQq8Ee274#nNw9G7KW|M&OIp=7pj9Oj;h5)C9tNjHU> zLf*l6Yucj%M1;4mGWB3>rcDKqLhgka=-uxBlqwQMa0Q# zn+-WY;aayjKxp-fcRf2`6bMY%o-OrSf>X6x94sk{OyJSybv|C%b~WkP{z-KA%m_5q zE+g7D8(maU7NW|#=?re^B1KuO_q9apjn`VaQb}sRdUSmD;If`UgH)m9m+~M=@drV@ zyCLJ)*cNt#h25JhR$Ekn7VH^($!uKtbz2fW`e%7<)rL0`7NB5wj1UYqIjb3|ZxW_* zg+>|*!=e#!CscF>VvTgQ!7|MlGJ1PuimZ7dF)=Z@U|>-gW=t2VMqPv)X!>d#!ntd7nh;O{*~ngs&b)WVGd3Q>^H-`+D%SW zPfuPJD_%ajojsy4IYy^2DFh7-s3G<(i5GiQz^@|ibZ1P#Z06}|`RQLE=Yt1n0XuuW z?Lh(^A))arRIh;+_c|&q^_K*xg@ELfy4Kk{AXx(lM$E5q(P7@EE+17y=OuDFLz@*A z9?aL1t60K4jU~T)SESnH$R+IQCa(kuwciPhBw~Cve*-uq+(;J!a&m9g)LT>Fhi-J^-f5bD~t=mYJb~uoNc9d6v5+j5+4* zWn)5ETA&hxdyv_5n{O@t@@N9<&<3$a23b)KX8yv+R2#y~u0x{4#P(QUIKT`?<-+gY zn#6ghTCBIVek(8BxREznX$m21bhKb#UG)m@ZX9;7Sin_^Wl%plef7#>t_BT2yLVSN zKSvzfiCR>@RwRL%sQx5qtIo&^vLEkhE2ytGs|-oK4Ig-T2pL$NY>J8VnRt^ZWIP6Y7ZCNYg6$)7SH@>VBUtz3QJ2zyb%zo(mRx&wp8!W za(xz!X=+IC@)#lg`4c_ylU34pCcCk6nLr>;!U`J9mWb2d4*JebKu)Q)6k4~TvToDcTmsZt_Vs@F^H$QrUEmG%SQb?Px{1lGy#uvM zrezT-(?0#JIfs(NFJ^&vWCH^^lscs_GKA0E*Ds*I`4VIMyz~;|X3)y=EV3>-Pt*XF z1Eam0)A}@?P{6wYrRoMRS16k{mngvNm?%}Ec?Ij7eMcJyYV;Cd$u9c{-A z)fjK#%$}S#dX#EKn?gxTOACL%3r}ABspCli6+6nHbc~VXD0;-}@}8N;kwicsqOlSE zZry)Kaen2lst|Btw+3T7&wu-;k3$_C9*Qm0riQrV>VZ_e!s*ZnA0O3zqi2e{Zl&53 z6BNFH&tX7UjZRx@AI<$d3sEB6>hHVOx0q_4XecOne*r@*27bfbl&70hfhZvo_!pXa zz(gk@A?zo6T3Xu3Ib>8;PHxzFMNJF7yJ1-pm(?N!KnVbVLxlSZ4X$r6zLNUDPNX9BEZf>+7bLX!CGQ9S+hHFN6yK>KPw#Al? zd}G*TDVsr|Cp_0_cu!EM7t}DJpOe3+9xqaZ%1X86Etd#>B%{%uWKSaMR`(zRakieS zbp`1{g_EVG0OZMUchUPJsI8Ax>%#JSJoF_ZVO7}Lem%KMqoakM+#$}Zr!M@xL7T;~=NJ&86>0Kln1kKcu&d$!l zKH;Q5IN|_6M;%MERagp2Ceux|Oa?=wU@49O^-p)eU47kgz1<<4F}>z5K%&K;tq>~o zq%t&|9Lygpbk_j|mz+XrL+$3UuVt5Sj(9w}0=B%f)hc}Jy~yb3SW8t0x}Jw~4D0w3 z*xg>hH8uh$!LI8R8{kR$piWb58pYN?Y0gCfwkv)Oh3Fp{`*UW<#({B0LcV@}=Tlei zq_m$TQgFGIr$bGo z^Xgza5HQRt_}sqt<*OhcSW9w*pK-fCeTNOaK4T(I@#I2*;5@+>c*KSqm0atl6^dsCvv1usxrB;^Us{ouxgYNkpZWOQI^>Wc5 z0+T@kp1%kQ#WvU7`KC_j0{_hllK*cQo+4 znZbS#y$azQ<@xeCBf}$|s~HAHsBfX39mdah=MVYwe3HLED1i(&Ieefd7hZP(<#JFd z$uB6}?!R$A*c20%N+dozS}OmNRcz}A_lfCK*YaGVPsaO#+UNOM**ZfBz-`{PW)u=M z`fi;&ee8|%Cl4(rCU&mevq|;-#yoc@RRW8IpXAj|=H6{6B{lW1ICi&6RcD)OAYXJ=XAmCs(wt_`SX zjmufUZkyG`&F$SS`+p8cFfe>H!NI}#1@8>-bh>&7nkrQ5UWGa)&$b@x0Me)Quo)cK zIRn61hqKl)HSY=TVGQXyyLLyZ1 zI#r%a;&%?m10g6HCi4|sCGHnnV-v>g1hb*tzOG$etwxhEINTl&pGG~4V(5p#$nVT( zYjKGQN@8Jx1Tw|h_Uj>EsL(y4MlJK=zY3jIgwZIJw!F@ril1QEyQ-SM1+mK`FvF#O(4wez5$u-|rv z;;dzwaS)ar<*`fvE=7%v&Fy`Ld`~K*wzaiBUwU#UIkLnrd}%{Gf&$10#S6{+5BmEy zLGY2se@Ts~hxT3FPsmC|o4j-_S-!+0wRwrGrsTY>%aXS%>^(9#-=;d2upb$NvRU(f zh4o8d75`EStv#riA4w1sn5%F`8Wpf(oj;syP6uoBY;%spXec#o_ojnZtHLJ)v)YFH zAY_cFa^eldKQ}zN!u3!(OF!!);avK(R?&zI;7ycK3wjBiV zM}k@rdSPQDittotHP$SFMIKHlwWMAHaJY8Rdyeb+nAy4qIq{IyVuk)n{PEvV zMzg7>3Nl)dTNc^b_6%H*2@0IJrc1K#Grm;sFX2^H=--yek!)^m)*nE6pE?6~XLC{R z8in$BVu%WNcXc!JdOyI!gPll0O(S^%GFk<)-o2?(DJ22|Wm@&F6fy~u#Y|YxLS4Sd z%@KgP?0b6yU|UgTeU=dawff_=`sL0Sz{`o3PW$D#f1vYSgT?wU<=neWdl;a&f5id& zYu|>`cql0;4HmBUd2y%9Mgc2^O0AOgP`#EE(7z(sIpjd-!(}shKV>8e_%%Bdfq>Zw z!f8q-EWCVYOvXl0w(eV`9hlsa1 zFfkcR7fL#Gykgy5xEH;OeXMkmI@ZkcQ zXp6z_e+U$`YD|9#6n_bhz(I-l!v{i@86YvV3AjCv_jG>K4qOHS_akkp=$V}3mIO#M zTwGENM+xx&L-jA=-182(ee4tga3l3s+cOnQHT_RcK3Z5jZS_Y7s;YX}hS=J$cU7C} zQ-TU2JeoEprFyMK-SS^m&5#A@MDB1VC|`l^jAu%R9YBe6FrGorvL*iNu<7epSpvYd z2aLyIa1dbUB+Qj3BLIcll)QgsP-^uWv)<*FIrGTBjQM|;!7%VkkX0CNtLWW2X?uzL z3}Qi?Vd{KM2Z$DcjDCKmM2blhlUG?ACrRN5Q1xP3whG-_c_2rT7n4vR4sqyDuTnjO z&?avDm7f3_2dEs$sNP7##Kw%3WJTw!u{E_qc`V6@6BPZ*>883DX!gSB4UK=JSS+h; zfzR@1qI))Ei$MC-KzfC0SNg+xGsb`%Di@ah>Y#^FJTKzhwMVM4jV&$MWcYo#A~<2g;*)I&}IiYQmb?f-x5d3mAPPCo+)5%q&&3fSbcn@5!Ye5z(^D-HL7TgE5gtdeCoSPP7CIYwu` zXisY>R+~+wVbZ)iJz2xpn=DAQhyAAW6J#pu%Yxaz6cI6}n1G<~I4wq|pOmy&NT>!` zTwEx5KRTW5>NU{-UH58((&o-Yxfe)mVT& z`~B}YkkAfgi$vxtdBS8qoLIn5;_Iyyzv}yIVl-5 zp>E$ij)92!I_p=FL7zdg0%~4z$^)s(0=A%Gk9c1w7QmW}+`YhGy}`ls7oMwBoEnQV zeQ}?VA_@3;Y1${?JS7Tt=0a*}@SA?;?*`x->y3>9`35E+A=q4m8k^T?_ULcAajCAU zMm#j6;p>ZKi1Z6b=~3GeeGaNNok#-=c0EhaVpT{~RMZzy(T}I6)>Im`_+WAh9sT(0 zf0v&xIuJMYStQRaPI%+kKaz;=H9C42U@&lUDj9mA0YR4Q?b%B}oBuODF07!yd59B~ zl`9cTomvv_t}QAq4lF;gK}#Yah!pj3I$og=ZRw&QBSXi3cx!n$fKFHkh>&(o%USOk zPk9;}&Fbsx^$aHK`g$0dnAW?3F`C^j5iJj`>sqr&$;d#Tb)iC)vXO~AR~Z&n?7sef z#u1A*`V?4}jVEYg$GgkI(MO&E6$buFQ4vatf~|-fjuxa!4(1u9X^-1x27;8pEiE%o z2T!S{+1f{^#Usv@8SV_Set3cRiM~yN9^C@f!r;1=j3f7)7BwX`HIdzxxJ(B^=f89< zDf@>2I8XL%^fJaUq&FE0Lw^fEaa60d-~hHL^hX7of4fHkdt5=Fv;~w93tJfq4N&73 z0<~~(Bfq=5b3S{9;~9#Zm{1b-5+Ip6!K@@)sriRTqghv*I?I8%@qKpa{4!(ReK_)ce=YMd=MO$IXa_h-8?8%)TX9#ViNnw;dy}cg=;wIRdtFO0+J{eWMsSI z_~i2hB7J9YicU1GITvT~eB`bJ{Pbsf;%R7yBE_}SY>{rBaQ>~`iQa^SYT6^y_kh9k z?aQS#XKoyDo(=UFK?BGQSSen$jv(HSO$^>@%gr*V=SUO*j~NF}=g+zD&Oot;jVmrP z4*4gc2!#PO31FVv2bNf+Y6?nOoy0%7BOmq6wq2k=mn5e|=XM1|NOnbdT)0 ze>ulPpU1;Z#pkFzm~H_q68*wGMRID+0Hk>O37{)8l1bKFoVe3PK=KYglrxSXx~==% zqw`vbv6q7M?f6hgI>7Q}sXjXtv|k5?`>|LZmF5=~t`XUUul_IwTBr=wur?@QIc+o9 zjhYNA;?23i5Ok%(OYRNs7YGE|JamY?VPIB#ew3FV_au~1)3jOAxZfaa0qPV0seneauU0x4wM9;j&M&^#w!$NTR=Wjx&FTly zu!d8v=I#36^gpuj$p(0`BEje@@yOAiuSlD{WpG%OVEm3w$dBl%awXTBt6;${8|rSx zhwP?QWOE&YMX*pyZ=-W|MkXfn{8SmeiN(Rua4el9mGQMNK8AvmJZZt%TCPf%08Fx8 zgOeb=WSJ@I#v8ZgEXyJw!oDt{1W7Vb27)O9{p}d;1B~iwJTb6`fcmTT{2>E!cKhek zQH(?2&G#1S?#>rl_49kaoqd&!{^)c_+WV9JH!hu_ZAQr3={4YZk{LO~2_}N+L?#+U zdcpR78x!|=TH1(b^qiRBBti@R?VQKU7yqshEP#S)qCRUZPTZ`?DLynfh`fAJ`TOrD zWVspOm&-IUga9!l+fwV&irUtizqMX&(3mrdx!#V6##nH=Y5Ii>|@ZZ{hY zwCij^kpKl@Ex#2F=gy5{j2!Wzue0Sswe|;#maoBmuQ_&*Nx+taagK=*A8WPuE~uo4 zwAwhd^$iMo%``qSHdQ7z$|szm#o;U+{F39^)U@EnE&ao4BbN1so~)8W-l_HB&ZOmg zG6}>ozyF=||MQiPgdfr5n@&h1kq|Bv$fLTsF#tgW13XJTUM~3uWP@c41Ji0mpl%NX zm?1dX0+6}FproAQF_toe<#*|rWdHZ)Bej}yYpny|1+0$CMN|0 z#sS|-FHLOiM+$8t1p>fRzdd9Y77FXF->;_yw4)8IdC%A{ni93#g?DW&G8YqAe}%XO z!lKUnDOHS(l^{Ra)crA3OY=@9L!s^)dlR1_1RCu?deLb5VYo|BJv5-t}CI zBO~3sL+|ONrxW2x``RWCc_IS|>o%sXb(Vcfk*_cDA=mZay$pJ$<<~$9eLd8lf`!k) z8_+Y&HnxkQ6$Kn4M>4bSvv@QbI#+WyCsZ6b`<~`@uC-^p!sz zuX^MR$zLEDf|PDtN$FgvK4}?jApP%n_MfkBiNLZ2%Ua=u_D3irgw4pIV`;NOhl`0w zQM*b?`9hD|1CloI+zg_3xlgMWF||Jt0Jp*|x^Jz)CKT@3%Z#ZhJ2(!R%IL|svFASiOCc7GiQ>nZhz|69E0Qi1W*N|kt zVFYL=rN0eFqtOfE1bm6WEO~v%c_pOQP_5XceCQ_rkb1*Q$hAK#DE$2lC`UBIQ;AA% z)8I3tnzWe)_t|bzySiM!c0g6h@&6w_X|W2E8>9uxnZQ7@|`2kk|uKbj{) zm0uK3_jhA@DEA14k`@pvNT47&5r`_7&=9H|na;<$3o-Hg>f(d$epm-UMs7l7aq$nalRq>$uf4pC%LQS0$B zh4a62oL0Kg`1*jk-*+b7Q~wYRDqy2IvyUL)vepa_i0kPy1I!A+mJ1o zuU}Qqjtv9ggaA0fG4CkcW0+PX<<8dVa6B49#$4~ZK|O+!WJhuMj>}g?Zdft6Y~?#s zK=v{c08VzE+_#>z(C%lWEOpef&r-G%slyZ$RM}1x?(#th^anPNz$~ z=}G61=<-qVnR!0#I!;Fdhoj2c+KSE^S9jVHGroB2zfDvt8`GmZA5-vY>1acqd*0@_ zU+laoFf~oU#?voVj9dPKaH_e5wHcjgi#hv75izDriy-$z+kq${_dxLzoqgNQ*s0vX7$e_^eT>XVknYq`*LYSnIGahNi| ztsI?uSYD;_#_?kcyeo&MOzY5AXz;~3PQfYndap9weM;9v?~TE>v&+@x1aSRGU+MqU zINj=YnFU#BV|K%Jv~WC5_}hn3+@6^w*1Ug4j)PNvB1<^<(9X_2I9z5`-3}2^2y<_` zVA$MJLt#pgOANi<;pGH`{yn`NR*A-^qP`QF#hT6iMM)_-M^C6yax(kcV6` zPZ%}|w)lDaVH{4E_xo`S^wxd+&5A$ED5Bi%$s;aPDsDEc!+w&I>1;U7(nfy-c0mGhGDv)7j=q#(&4?|}O6s*5e0==CmM1(uJ! zDA_8{R-2GPcUgqf(f3^c>)@7CSy|By`aUW2X1iYOMD@J6%k1F$;dCFMOyuba3q|;3 zSXTsY9k-$O!x^OHrkMkdLJ1@MPHO+1?X@(uUqG1Wc72&9r-)GxL2>cEd`rLiDfA_Tfd%OAR;04_YD;u zeALbdEt&KTezh#<1bG*_<0M|Vc1G^#pE~SMep|Cf&DHh9^p8YrusKC9@%k(UgX(TT%x`1nxD zpCHSj6wbP?>(!cHMfjn7A?|E4#b#=4tCaq)v+P7+{x_GX{rS;GTLoq-95E;O@Wt68 zzhPrzqvN&2&+fFiTzEzEtl_cTVPoT-h6s3~ucMyY-^ffBDh0+_HbH$njkZqsSV#f= z#B)lxDdQQxy$ON5!K(@6d6R51UQN&{(8FiH2%cny+8}DNDwE%j5*kLfy7s=l7y8j= zlNF8`3T)Q%E!*1Lrzwh3vMeUzl9Pl`9*^WPE}6Sis60WT!3H4mxO6f=k!%!p^$Ma_ zdoh+QIFfugdJo3@PoWmp-aMzCaT$N6Y&n}A1`Dm3uFmL75s2`Xx;qV?#zU{yz|S(i z?L)Ttu~B1Erz>i^BV${e6(_x{tCNwPpA3pfa!Ei@^T*o_ApK=;8uTGUZcr zroeLXf$aAi?~N9jTntazG&G8^wNRNnlf{h5T0^7&WZd>XA2ijL4?*eIM88Dp=wsiR zi#@sNPfZk>>G^_DnzlyWJ{eQxY+KegZldG*4Rx}+khf_6>O*y6f?`gdh&3zxbJy4` zN%OMyb$H?jT@C1yqwM=l!VlkFaK!#^aLBWJJbO~BHSibfT5fLimHcvtZaITmntUCu zaL$+Ujbw=Wiwj6h=hti2Uz88z;7F((8_#7?S*Si@q7l6#Kr_uP9$EdcaYA%Y1s5PZ zihmw_L$b4v_x1P>)c(BF+qaw1$;rcjLlcTo4w}yzpZu^jB&;gx{Y_g8l5$rr)ae%J3=snLRNyr z!f^R8C|Bn1@1)v)k0+rNwdr;L#OdBrX04TZO!EJeBLL69`>@kAfV$z2@aopMS^C2O z_0i3%X{&kud!RdKwyYc>E#%Mqx|T9(GLglx#N|B6A^oM}*aCTZBq~9FlgGuUN}uNe z4y~&oO(595mx!;wwjAMSY2H^01Hn!>>gBUt8B6m+EzdT=-q)CTz3k6*VD0JY+aMIw zP1qD14=q^VR11QMI$R=}>n0z`!W{PYK=MVgfxlh`Dv-l4fT)*pL6QGuHS_$;^G45R4%%@VN zx%)?gUYC;TWR{n|j#cnn25K%$u6w58bT5i=BW>m~*boL%CaVkYk2f3N zfANLN1d(|-Q_fhE>StJgW}bO>bBCPSc>C;CTK}3qMi{;QzfG%|cEP7~8up(z?!VUyczmp7=oIn%&6S;JR@3IR#jU?`G;%delSYlR z$EJtwMM54sFP-^E|Do&lCh{=`Z>CJo#6VDsD{nn?Gr4o*XL7XEl$lYtr*JcuKXmIe zIUUPOE_fwdSJ!F6_N56dXBnNNUn}cYZq(o-tIo}4$?nA7ULu0L!5g!h?k&`_uE5v? z%`LN#sZr0)o9A&gX9nhI>6Ux@y916C0)qPZsQv)Dg@m>pjcHnquJ_gq;a6rgNw0`x z^ykpbKe96MZ*7V$`*ACmtn>}J>YP7jF`OQ*sAP|3=4VT$H~GX3Yo5A0bDQouLzUN6 z8U9+)P*qobjgLEWHw>DKFGl$|i;OR1-zyv<9*vbCDc8`xLJfa!b0v9k$-+?g+2IAhVd@1R`9; zZO7MHl@9ys(sU9u{GD~o#y#=s#~shwt$k$_>nBG%Q1*tG>vlEj!@U#ForS;+jfExq zTNTn?pc%iDmEmrP^(>y#i&%wSiqu~@OWRcpxuZzg{nxEYBBu z3>Xf@_>sfNS`c9GIfI_wp#c)o>_W!cGIqXrt+vQiNp_ge`%YR8(+e~99m`|>VeY1* zmeN{bQiYgpt!>(}Pxfcm6?-hSat)s*T&zy?Wty%cr>d*JY>gu)b6)*?z~o0b9mQZMx9*y(#wDSUB;^n~$GNtL#i}|8WI^^G zjE|}6r^sfES_rIkFhc0&e!QXnczAu+NkDpm=?=DuYO1l<`B)%Og z!;e7taJuv5$`XwjXEdFY{TRc2F_1^ z$JqL?r$q5B;!9TLngO1GY(JjCwzR;8v;I=m$kJ4`kM_7~b92SZGES!~=Ho%>tq$qUn# z9~6C$NQG{9T>{N8_T@5ZihA<^1PLb88ReP5?;i6|c^SP@p~%YI1bbVY%+syjJmz|5 z+P_@N{MPLXImSrF3c>tn9vjb`W+a76XRmoHHaWgmWyMP*`Q7mC+4(Lu9!~>wnR)LF z4&NSuG+7!6IdA4~z1Qomdoy*E4NV)72FK}#2rB^~ze-zjH;rj>JbiCsiBM%s+dg#A zKl)*&XSlq!a(nT%3o(?9fgzr35No{B)ton-7mb8uW4$q=%u#nTsDd<&OUi@a!oU0d zcbD7$+wD)~?XE9!hKsBY<{Jo!M&X8TT(EUUJtG;6B8*~mD9FS21EmPudmbU71E@-1 zUEOFj#7702)|jb_l<3qFSaoR1i<05qibn8orrz{j~)5!YMdj_JUgJ; zeCp>3PZYODzUM?dNK#5F+n7FnT%}8Y0#j`5^Nup2*K_KwJyyBF)}H*m)9wkbljHtt z^orz%2jBIxDlD&!n*wH+>%A{Z7#Jm9Ej*3p9_fj(-M-xt4M{PQR@&MH=W#O~Bx43f zhGPqzQjq5_U^|Cmzh3A@4E+)WDG<0HnJm$lxH*zNLrObXZaZ1vkWS_JQU=5Z2`1^K z8*90VZ$}13Hj@o?qGCLN^Uxw<=yl(ifPta$`r3BEInQjZ5*HM`W^p~<7jPotbA>Da zZ-mMDRc77pOSUlAL=!Zd-|~x8XT7a0wWI47HAp%x9@u|qFMDxDs{cLZ3HBG4&^Ea2 zBHrG<#KysiGe^dXts1ez(AUR5H~?NI%C>6bmv5mIr7y+tWwsO}XLT^@Q`4j^&CSC( zMd0t5x?>!8{ExjfdkY=$#MP8554%d{;`26|5$*l0cpx5X)>VpMO3Ho98#`u_* z^S)rpjQHvZ0(pcFmSFGb?-IOt>z0t16i2mu=GL61;q={>l2f>d_x|ZIt8DI?<`e3N zG%WCD&d1+qAHCj0!C(C;5*aIfAXpRP^1XLOnVgd;QLb`+wjxG5TD$3Y86i#M&&&%f zD7eyBPs`h<>WBLN{UwIuMY;0hW6D8R*>%<5x9l1`e1?L8dVW4wa#fs~y6ZhYwTTJ|Z%(J( z=kh#aV&b#eeB~U(z(@m|iyPbK{pni){Y3^_3v=_qoWb~TzLg~ubB%%84Eou)0Xzn- z1qVoROKPgvTubfoLqI+UBdvrw>?XnP!+5^#i%%9dD_+-#uZ{+)6RXr3?WVjj+G$i2 zI)-C`5Hqow&-n>v={H>T&)Q@-FJAEK_6)BNFPy#NptFhDFV9EGJ)aQlor8=Zn}-&~ zniVigMT)EoqrLmD9z6Fk`|$yspid`%wpAmv4W+uIleCZrYq~`-H3HQiGu(AdGhSVyBdbQ~)OKvxJlMFvO zg8Fo#(c8gu_|J9L4vO;~+lM+;MxD9$JC(T&Co(pv-Qj2;MYNCIT5gfHO9%?FXBvK<4;rQER|@~AriE` z$70Z8rE0q8?R2{a#T%k%wae?7 z4+xH5c?fJ)oBZa7-!5u$Y}(=Vi)Tpof*WkAhxyYaqH}kRqi9eeD0q~^3o~!J#P*bLB&Al9DKkTux8FPWS4E;IM~wN~%l&R=wECb27D{N^|BXH|TCuW}^YX)j zYD6l#So(+TdJnRRU&G+8aUSbtZ0L@Eua?V3-;K6uws!~wp2y-K!;yQkqx7Y-UtV5i ziERkeN{enTz`{%QB;nrTw59M!fY#9dZV^_awUFLPf-rAeWH2q>6_#;ib}T_9)KNy{ z1Q+FN*C3Yorm-$eclQUUq?m)&Wh6STiy@>V4|g;T4FMiotkbSdLBofrrCUcM;QxXV znDf|jZ(EXCPjVzb#Jjm&J=TcqeieKm%_jBQ`%M$}F*#iyyVp9e49!_vo=Dv?6m3Yl z3|KdcCGz1J?Qup6oLmh*?CApW*v`D?bcM#{y?ESvHg6n~pAU#zACs3lz|!lSo{or_ zEMvqz^R|L?3)^pFO>8VadOVz#sH7VP+y3%y>iy-_v5uW)w%dD((R=g^7SVMkNyh(8 zr(d$NwtZv0cWvMF=h9MV1?MTMQGd-a1@akc>|2G)J7K?%3*9gq<5qdJ0BPVdcoi47 zez5>xd;QT=tC+MD9(%fa;AZXZO_%7?jHdJCnD?#Uy53Cor&fEh()k>o<^~m-Q>W(c z^{$ij_G^~K{EVeJk_>qPK{(wSsPnY^VVm}-fnDc~MbX-H`2nYa8&CYO00JPcHjBQD zBx@46Np&}#r%sSvf`>s5;o;$#EnJ}upWu)DR9Q^>gGP7Ec@d`^9 zKrt2;R%kGT`@b=Or|>&)+vAf zj2&O{RA~~KOLhjul7XzCpx`MAVax23G#s8Xver5NH~R9yQmPZ>#(hwJS3j(3vmau& z)X}_IBF)lVGZ`!b2%+Ek?u0?m`t^1IeVyUj2MESk?!HFBfrKEbr8p!c@Sh*iAIhq# zC({)ePT4}3z!(N5;pi5WS5#zzS(9|T`;_$FLa*wf1F5)-dyRA(5`Iu1o90Xwel`>w6&#gYJ`d+Z4FnlEs#th;=0{3w*a7E4tXcj#)VR5qGC6c^5*H!CSxN4rH zd~`VRMeNq*95pB(M^r7v@w6f>f){0-R)6cb(_n=S$th{PkCo}Dku8zMuqH}6&sp6AZem--; zKTs_WUnx}TesriO;Hg1?HyEkg4Y(;-D^2R;|I9bFDD!B@l$adFtM&G;cI1r$CS%!* z&*N}7%@~@- zkx?o$8NSC3ilcZ*xP@cIpM|XfF>iP{Pi{EdX7_-)psLQujh*KPg-Okq4*Q2>i~Q!F zzgZ}8LyD)@TpAnVmH(+gJ)5u8J~(kM)9@%Vz!XduA^y?Dg1Mo-e&=d+&f)r{r_HV) zLRFQ+*v~EFTh#0WEK~o)zt*7PPo9iOOXuKb=eqF;o}WTEzVw*-@2{8 zmtOm34Nfe2>JKjV*eH`z1Oy(sXf`;K~bSC)YW_oIB@l%e&kLws3RlH^w&-=mohbQP+5-UnWGl0URcfob$=4OI<{<{h6 zKhBc>*SW!Nbe!-JPWfMl|JUm((~rj`|LXc*uRXf_|3~Uz_lfNO^8X*uP5}2KtlH*e zHcOkMWBp%o)B?t?Hv!x!{7eL>w=Vl?O=ZCr7J3`2Ut?3uY0In2Gt{QbUUN6XsSo@j z=cGccK3*#=D|49|#p>MvPzs%+WPNgaKsebt&toy~mDyU`0Cm?39ZSQ2=Hdf)-T5Z> zj7v%#@Ex5KR*Vo9;qeCZV4_x_^R)0H%d7IUAOjYkx^LY=Q*V}8e6 zytt>%p*j6SVB_-kWXtVxNllgMcfsWQ#Q(SK4ka1Wo8mg)N!k=P4@C?0hhwQqi2PR`2@MvQT+Z(_|9aJwy9;nlh>{~!UhJE;rhg- z6>p}w-zybsWC6m}*UwMrsSI-hu$4%qKzYB%8*5veBH6kM_n@x#1gKp@>%Jb&jk$l@ zUEQFrhQ3}gQ=gs;aUkm={r+^S%9R!*05u}VrV}uJ&L*yVU*Ql9pKRDJEemNlFFgT) zL4P>2>Asqctu2VJ-W+(GVu5rLOynsD2?1?w=TuQU^U$F}hVa#Oc4k(o&cJi&RGzS~ zN|vzOJ3`Fo!M05IzTb;-sHC2=8JvWZe7ibRdaG1mG-5EfKJcyC%6kbOA>melmXj(# zUrg*(PPWa~vA){36k`%xLD7qSjN6DRpi8V~)BMe;+<7V){$h8bn?}Uq@swP&{h9mX z29y$U42Bm??!YN!nyme@+nI_4ydT_)M3_vLeQ{`@lQ;NeV@R%4M<43A&!?qjt9y60 zGnv4$qx(}KPuOS^Qm(6~ul^e9f-pbt0oo7zB6wUTYbf>fh_!#kh;>yBagBNlho%0S zQX3QI<@Ewng=A=m@8k0sfTZ=n7b9(L8JkU)c?0Y=*$iQ+=trGkhP~qaGf7)LpA> zj>f{UWt>7phk-v>#nNUZAmDMJ1sz|jTB-Bf6G?zsFm=9Js@rgJ z)P3pVI$G=Q8eJL=;0CW_l>!M;t4%HD(}iZ6Yy)Oz)xy)bdT0Gm!puz-@(m;*pu#zM z15i7kH#pbCF#tYxs9J+v(3Q2d8@oF+ACInWVX}H^o)3tLTe&Nngi_J_!8;8J931b4 zxwZ>&X(|211SaC%p6^uwh|gwcry`@;3Tkbq8*~ww55$}nWVZL`8hDJcWmrt~SRdWW zD&T_fpHU2QFk2b&`=!9;RlMfmPx*jjdU~_jy4Z;HbSLd8#_Z;Yd*3EFEDGONz~tH< z6n5wHr!uWYi}CB%l7vL&oTJ+lPu=B?hUQ5JhjW0)>VJAV2ik3Vcin4gl<4(GGAFN= zL)amBbV=PQoYlPp18b|jE3|6tlT%fnE1!2gJ_K}kguM68z^6%F9T$z|t#oEd;0J{y z51nq2l^G4c1;#&QkHqePv~7QGp~PlQ&L1O!F;7NP4S97BuSvMM$sr=+Bn z*0%W{#DAf$52kbiVAw=}r4Qe^(8w7p7OjyZn~~E`>6MYrlg{raPKmUrUhnWuPxMXm z?J*#$bXr=LOD$Ao!+v&#)$ZTea&sW#*~0dh#K|2i4khuchy-AVUG*~Mr+)O zQ|>2XvmCB*WLI4ucvG6-IL&5u_i-y|*M5rJUdFP9FrJtU>pZc;co z5~A87^726Tr)R83G_F{~+>B_xnHO?`$H2-t;dAK(L3p5&bvBx$58t2m1@2%7^m+_) zyM{Ic;7Zfoi}`LcX4iSHt}xPp-h(FHo9%I8QE7vf<24XzFk1B!04o==^9=JjacEZ7 zYnVXg)jQll#daoS7rFxwJUp(pHImt}Bv4SQ3ewP^gsd= ze2Bf&Q*`vsk&!3>rkOOR-s}-(zY}$Mloyev>FZ{XL)GN(=l2>kd%UFEW7Kp%W4Spe zp?YrzvE3M4{{6$ZlXU~wQY=zZA278$lR00(%|GQ=MW%X${{FoY7@o?5~N_@k*c*>vh%Ftilp$*WY`88@xO6&4nT@gDFhyY;53Ffo1OvGvc3 zro{Sv*xb#=0cFR$YDJ8(w$t-aQ!DKRM+kuJiHS+#=rGru_T;pnZzGMNt*gtQ!!|v1 zt+n+>49!Nza;IiesO|2Qti$eu+-G?-mW{Qs>ALg@T4g- z)!ic_c3V$Tdn5o2sm13WPK4(#EINbT*7~BNj>i}B=W%2fm-bVOY3+wd4Th2tS6^3$ z^!<@a28XCCpm#`W8wB#c&BY8050|=s&0+w$x|J<+Bg#yBdo-n#kErzgud^Lz&uS84 zVgL-v0DNC&&c;KOu-h#h(7mlmORFEt2UDef{rxl*mJ8FnNtl>l9od|%_p|*PbiY4R zEa+*Tc>S8LPsy{GDm6EtzFwrMjN4T%kZJ$a?YBpc$TfQ;4q|pe4aMwFzEhk$ZuSLBETjkKwJ)atO z@tK*?Vx?mKPG0M6T*y&SklEd}Y4mlziprG-13ln*TI)o@QLeLjy`t%c)iXoV=yK?Qr8rb2B_-eGbGPUPy~sSTgJ!BN z@o%_RkK}WtTQ6pvoSe#ZyA43lFLAc*tmy%G_YC)ERcJMCU!y(eLRw9Eib+N$F`CWi zd*>!R@nSF5w;+cU9SL>}mmH0T64L!eNC7h2sk3P)rZ=UTaovcPn z9i6`S6q)Lc?iLeO?k@s8&oVMA{fVPBbx9t**|{m~)~F~bDEtDPiG>d!NUx;)U)-CP z{0bfktyG89G^4zBGwqp{mIGc)o$-1DqQk zPW#lPX7|KIT$~K=0N{apYVrry)YSCP*{+J7EwkgKv7!TOI6C@Rt|G`HKOg`3?0Sg* zF(ABNTuG9M{l%Gnw~wyn1wyxUK3^*EpdB-o;7B@!ySG=B!)6r|3#%9p>H)MI@{C3? z+h*;j!Hkph)#A>M=4L5M`}lYm0LU!&xHCZ~yZ46LHz-$IJX0z*NSeDt0j$M@#mzi; zs;a7~9(At)O?|fU=!*hC`8Zv!9yu^DoAfm$#n0E5V*KYg<4g|l>+BpH_|wGyY3XXQ z2rT^WxC+5XDX6#F!iIpefU92trw2n|5)-SPn7||gwu2}dK&Fk3LSyGPdA#=M>CRm8 zA@A?zH-2^pgWG32V7IYasHCB-B8MFp7iWOeLM4+%xm-C3>?V(C9BpgoRdY~mWisot z>2JWOf`fo`u+O{tMN?NBY08L+L#P5$_z-#xE={dD5Mn^Atb3dLxM^v>9j&BMQB!+= z{d(WgN%vhcvCQD0_l|q5ZzBwFITL7WFZu0j#?(1tXy09rgCgaVUo@7HF%_s15)$P| zi=#O*$A3(*#)=mLUrS6Z?%pog+m2>e3b9gwfC+p}olQj}R?bs62jYlO5t^nOi7*@;b)(MdH7zZZ5D~Deb)HOfaCCHa%TJC*Pw?>> zbeENsfY>Xc@Z{nMB>Gt@TR7(H;cMBSIBp9XySgsp;Pf`Q#1^w!WZHkk9M4bM=a-a_ z*_bF)1sO03&13w!)qN1AvfgaerT1a%6rSOa(f6IIYU@Ymi`g^_nij^#b!(47I64!A&6&4-f31Kt3Af z+e#zn*ASRWPtC+rGBKs*D=|;k9MOR2U%t}BKDr7Rz*(?sCgr|fmAHq~)4Ns3t#O?E zvTHUvbl>WG0~^lHj*M^@mUJqY#b3kuU&7*24iJs_9RlxU!N3o*#v0yRvgs28W1jNCJoQHy7hqkS$tXS?g@!afbxnF2eu0*cLjG zP9bW*o zXl3m{$@s$Snun)9FuV)och;qnZCGeRK$|5v8yIOB8rtP@1(Z`ju)tRBceSC+&rf-6 zLGn45%*k2LQ2=Ck=Ts?9|2gm@ zhQsLu+0yQamX?}u@X7cDD_c3LzbSJFCIE0t9$hZ_in^Sc$mB>5 zAYqXCHG2YbOIlH}>A~BpVUVE-2Jq~7SLMlI-~5zDv4hD_`W2|8PnWB7o3Js+Igck9jh~Ij9 z3`s|~dGTrx{HXEGe}dw?Ym5kUlDf&Pv}wF)t78h+s3hWPKLmnOdDFtp|CDer zVQoC@+TGCwjAU(1=Ho-as+gW9tk%!F?$7~4cf7Sb{pCx*3D}Z~>~m1oszg(osaFOY zNF^Qi8m1l1=E|OuaYRjBItimb?+AW^f;_9PHU_P>jF7LjfdK6A=WI$!<$ECisLbxl zI{s5ZTU79|2Opmu8cKVki#?u@$jL}gq}f!N-(ld>71?Tc*VFIv^$z{24GB%{{*iTt z7!VM7cJwEBJI>X?w%T*o7ltjH!yw;(tgnE3?%-gsQKC0Ue9z>;)eR64vygB$S&T4O z=AC@ySXp1usfo_S(S!N>l#)(Ce7-J6T|_G-rPQ5meqt47 z(^UlXU;m4mZa>}f{!^%7YNlXM+I3{OzgIDe_eMWKoA|f-NYUfBrcT;(w2#$^!a{nt z+Ys1Tz4uIoAP`$ve2Q%nqeS$aADze+NJ$aT z8Vwf8NCI30jKw?~ZTF2VA$Vx68nn+pnaW4kg_9|j<%oU=!?n2yP4}+D3m?bsW2kOH0| zVQ315(oho~=dB!=7?~*u=w`g4F7<5I07N0%*VkB$=O)&*YGCQ(-Ql2&g3jD~x2etX zwtHiFyzIV{J0#~xEk@wMJ9Q{-%=F*ojL*(yZf`Gy*I1zjP#_0Tw5Q6;y|d`a32)9X zE#(7QfT+y78ypiOCm~S7K<~G2Q;Qqcg&U^f!a%Z}iWwn8bnGIZqjBTQ?9@1~U5xbi zBS13v9-*$*IP%_poca8@V*RLl?c&BfMI9H}SVnb5sJkmRX0!Fr=ecsNR-tallE?@ynLS0J&QNf1TpSv>_@9y2yt5d61W{AZVFrK+{3Z*Hs@!=o_hoi@RTlFFw+%lo zRvv$?zrG&q*>f=67$o^MgkiGxr#Zjr{?lmbKevGJVgrS=k<2amXqmQPi4QRtxXzk) z-q0Oo`u7UfB_yqX{||xmVBxm>@7-65H(vifE(G#Ip%Aa76mC~VL)yOc+BmR;i9eZ_w?+31U#7&qXmV$?RF@=)oylZpR<|3fpvWpj z8qw%k=5{wQxy`9dO@KNLy;y8zI6b1`e9z($R%rXrJguT5YiXf6WmhRW4ka7z^sg~A z7cBHAX4JVJRN7nUONHH^%-ROW#QlL@go}`kGgnq#j~A#^4K{l2eOBFg$wuqG_+(DO zKA@19t-w?C6WcJdZL`a*2`nFkf8=goWqhVlpAtwInn>xg^)-m9I`mkb) zpz89tkK}WWRp}OiK;5DKqrY#6{eaNx`X-Fdy!{NZ4T3-I6k5=Dr4m8uvCPs47 zELcdMpvOw4j)DA*f_!<09WLxU(fR*YM=$t+RP{VUW`nJ>Nw%bLxB!>EO3yb0w7=W@ z9FzaPC*QyK%oQQMDz7qgmYJ#cG=L%#udnugnJCuGxY^JD^hUu5iZ0x`agx{U*#haST@gKrA|$4+_q(y3M{jON6fo^8j1k-bcHJC=Qh=dYmo;Is9n z2Ch}>W1P?<)X={MmcS{o7{LEhAKX{AoL0j71DJvqrhn&+F`_#oUgJ-0djRL@lrBbM zIDGqaA|h}S6X3F)H=e{^I%Y?#=B>q;8!9vn54)j_3C5`x?~A@)3E_`IRS4s}5a^FR z!J_?DU8@%6`~a$JRSYOu#DA2IeJ^0vt(Oq3-+eBqKS0V%89JwIf!Z~~s8YuAIy0eT zs%(xh(%3?qpi7QgLR|LqVCnsRg7pIP#X%Dy$A(+cs59?FCh39_H|d7LSAP14YSFW-1l0>6L9va&Oa7~;i<8vMbgr>*UsTzw#Fh`Ci* zP|s2FQ$-#spldQ-Uxty1P0nq{w?`>kBT# z7Qu(EM~sBH6ciM>VX?()g(X}sZu#RT8Gx118r8+BGR6<-lm`TfvEu54)@axyg z&4uPPJ8a{x*0FDMRWhJOS=kafm|H3ML{vOx^KvzUwvtj(S|-=@a-&X&jKe#1sSaqu z!oo&}H^Ru|%a8oZD?YPb3$(wB9Xu*vUE z59;rJbuq}t(mYgAXKr4!vSKx+;=?Z@>+8Wr(zG=@jdOEBCMYJx1hqE_si`5@dNl$V zOZ3<|t6KnhBo#kKp0OT_Nfk$|hF8B9xLem$px35)dW2YINUsO9QxUnfJe zhIev(yMdOI#-sMU zQ3!+$Lk8%Lt=R^o{O7tTS7*Ifkj8jWG}0TTBI4Ou^(^^7Tt9fNcW>~TF^Yh&{WT6# zW8)Ij-ydKaJyC!T5tVABRO8P~lanw0!RK3cF-s?K1axfc@d!mk8dsF`_jsq9y=qMC zW0r7Ish0MDtId%tZa4S(<&i9u5#v*AAm>aLvyALeRz90!>Mwrg;2eiXp;*I#Rbxcc z*3o($=o!naZ(M%sWbXw&G23q8hS6v?asA<_+F<%ESo{*KXA;X5#9;jsY_wTs-fUaK^tl zDa&Hkcx%y38^h4eoiA?1%SQB!=2P6@ccsPUqce_+@4J**)J{k)2b`=0h3k`?(NQW>|`CU{cS|!`B~y{4NmI;C5iUzEOrfUjnIm znDB0m#L^JFb1Jd(7iKX%#{yFh)2%E3VLvs^5;OQ+E?1$pY#Ffy#rI-ydNgN*5IWk* zq5)lESevg$!HIUvV%}r{g#s8E!eK45wI_fDnJzuOZE1DYzev4txKNcrS!Fy*`n@PP zFYE?{tEG+y^u(Na5m8Y(cDqwgG(9-T3O`qV9i(_U-{{V0(oZ!-T2IuDa0wgsAB-I7 z6^99R)aTeQQqo!6-EXw|sWM6o7wAu~rj)=#4~J6{^IObwUtXWZO23pNM)&Gn1lgeF z-CEnf^m1ig3gVTbJ`LR;2X)^fA8=yZ#`EJJLC}cefNd7gHZbsRP}9fo+9M&!!r8>w z-_T!4ar`N2_}jFsG%uv2~s)X)9q9Oi>lPB!Er5c3)6 z)A*0Z%FUW&&1#GO>@N1s7yE60{P91Xe)2^)E759Iqg7_a$ER0oTWS}vUhcqnilG_M z8M1M^rJMh${6nQl95}{;TkAV{dOmq{du2P@oCYdlTzduwuSXv~6`CL*22>^RdSZP` z;r#CIYGLz(_vGLJ<6z$1`sAEs%wtF#EK?+~VgP*K?{!F1jP!8b%SQsgb1WHvJ@d~J zvfm;m7kW!i-?raas$Az(3#=EpHLzaY7gauXXt@b{CZ+`uj97^TJDH>-02zI`J zh6JpLY^BL3P*L9Ur;dJmq7a@Y|M`e>rWLpARZDsjhho8;*K5xQe&_}Romw+tEX}8} ztt6RL?#@2|CRRUhCK|cyWM6miXBbrdq&GU}V;ysp8`_bpq+(q#M{nNJ`$t$# zH_JDP3|ZvLbw1u{pU}F_oF3uuG+y&p0Vt5w$z7@3uHkf?0$S%qe$tbT$+jpji8eOv zq|PW<#lBvyu&Kd-YSgky&iKx+x=L4e*;y=fvC-Lg!8mw9=E63e& z>d+|u3>@MiiFmf~SXXWFu|l2>dCIA#kb6BoSe@~!I;o^TKMc_3ny9!yk;w#WrIxO4 z81l1FyDECfdt)6$qU1W*ooBhfeJuL6-_%`9!>)%UjE*80mZbl{?VbA`HZiMze!yd6 z<79!zR9IUUYw#OyL~k^eM2?YAy#tBWu^wDk7)`P!S!DJc5P9GNwU^q2MyM6UrKOwA zovzN72`efb0d;jJr{nr#NJ}0Gn>ZGh@#vIw+ETuLt1?#IBin4rn8B;!KNU;`X-|rZ zipY2BVp<0#Elqa9m1lbzf_mk1#Bw(KzXb6qS6&mDJ=F~PUK*Wgd!LUky_bn&_iJEW z#X$RqeyrI^731pqn%1AtJmBhsvu5ek1wXHDFZ;;%_QK5EN~b@PlB44i_MVlkZF`

VAFZD_+<&f9V8^1xjvO9G>nv;{fo;#R0C9(*jU-@2YM2R0~5||b@>5xmxS}p^(7m5dYR71m~qX+3$hTU zf+%3$Lj!XO)EZO$6U$@nXw}T0CNZM>3Hd2k?wf*d?0g!c7Li>2?x?eX5H?M)7(Mg3 zqN0_pgK)?B9xO=GmXJgR+fE5Xqp(VQlBpR^^0#mKfu0d!F#lnhTFs)qCue2+YPZDIT8AGQKU7 z-EYVgtJ$lR4BN_`v9_tE}DJKRo@Hr!P)`J=v_X-34vqV6rIJ<MWM|xUD+JOS)OZZ) zlquu}6SIlAXBs4uSLCAL;b#k+<&RFMl2ha&j`}I64wm`yX`+H*_2&ivIG%U00>2aaucx#w)Bhhn>+BCj>r8Pc9TjqlICDC z3QFJh2!{?ZyCp_TI=kE@L`YPZn{VH#QE%J_1r{bV-h|Ya6j*?5Vx|*_`CH#Hu?Ue_ zS{A5POM{0gwa_zIzVSt5GWz{u3%9Vm?B^qf;-aT$>Mv9HGnMo5l&o(rv3#9m7;!U1 z(Aw`B%*-Ngg~1{lZB()J^bK@T=?a6*4;CRY8LwxB>53OqnoN7+EEiZUtfqFjBfinD zr?;ofTe#Nn2v@CHzC>M*(F8nN;lb}yXsD^X4w>M8r#sVxrm=%9vM2*A3OD~XmRAEx zDVlhlKEg~g9<3(&%=Ot(X+(rwu(V_<7n0%7{TBeHDw=~yJrecWQv?*-g0P8d3wH$5 zkP5NF{J@(|yYHid@{1G!WH|+8uS2wu;Xm_87DeV+wm=?7s+X2}7~XgtSXp$uY(ME; zCA?glqyhW(uhO!iU&mke3^WE{=_11RbhE38e4i^QLJ66(+flEBbwJPAC80Qcl(*hgrv$WAI5`iwV) zJH+!9r8t>iL%WCYhrsBJ)lIJLLrHjv=b#rY8`0eo zV8G8{19rCC{$dbDqG{XP*SfXJIdclNW$2*EZG;3hc20 zpEQD<0G3y=uW#hHC?7O{R1W5}Ef)#r<4_kunlxkoTvcD(laCIn4AD<|z0b3?CtDIpE@Ns%>Wbm<5WV@jF!g#JZ5@-hDH+OLT?bmOrw*(5s~G_iRLCe~ z;#641-@p#Wvbm_nnGB2&HV6sgH*w&HaheJVwYfS{n~?-DVb4zj6;g8J#h-EoY!m7l@aXSke``QV80 z>d4H}yN#vC+J!H>A8IobbKBuM?$3JE0g|AvBUidw4&715$bfsVst)>eQv<>u(H%^m8bAJ0cua|=61Wd zI;IE>s3-s|pi{NX&!4?jX!+8z??zhU-3#2(k@uYJ5B?_|dw+sJohO(ztYOa*N3)Q* zdYwp{dpI6aMg=fCy8aQ#fpa%2SdI25vs|3w8=GOQd&Gxx;mWsm>+f&jU0`C|pKC2( zMZ1JK5n$ny6JHOU);!4XY&t4dnrNT*Cn^)+`BQX90O<~Tn#4nrSZ$%LFB)hU%x<~^ z1^XoQi2@{Hxe+9=>{z2Yh(Bs-o@#nFszLqiGJovd1pXlnX=`(ne7cMNNi5P1d&}#y zx(|}~T;#(G`~_h%Uvqe(tykpa*JNOHhS0!esGvGRbyY7tPbgBrMde%mOHS7^HV)Ch!idxinJOvxB~v@F~HoIf;8h@>+06% z@NzrG5~mw`Sy?%_)NZ>al0q5ldGO+EiI3fXK0`&Y4Ehs%gu{|vyl6qZy21d~z|Q31 zp8ZQeaeKOu#NoUvOO~x@K%Ij_XEoMLWa{;dbqk2NL5^lPL*#A$x6OdlvA!u{Lf`rM z6p&zR2Pd#!)rIe?Wb?;+e*NMX6AQ8v&jYL!K3{ zsx1r8xu`Kn04pNH1iZOl(2v|8>YJWq2 ze~`>_eYS(h$;nBAe{Z=llqOYhWA!>aq=Uu_ zQjgmsk(6Tdr*5~mrIwDw9$e9I-Qjaq8}wvzAFeZMG9S~=xl&jx@D-?%_)MSRiBfGf zwmyO{aW_RBOueCMaDh^6XiQJt3iQhDfY;iFIRnWFxS-44UgD%nc`SN2L(HL>*p+GLZUs-VdQ3`S_*IJB|d*CSUEa8{uNb z{ix-$Te`Xs_V@P*pmuNkQ3>H>WMsyQ)QLv3rP`yZWHOl_MndMBZPxn<*`ZLKy+4)E zpCd(JEBhD$f&9e_0PXzVD>4#GIGh;C)%7NR{v{C^8HR|6h}mq7tVm_jXu1#z=zi}e zVAA>0lQQK0-S&c%-DCIZJIgs?2}6ckCrTk`&}P<%h2Hl{Q>s_5QroHqmI$!e6`^_k zn`!p{YKWpfw`bp{PnQ+6`_&a&<0-10VzIO+L$WiUYug|?aH~me9!U2p!^l}h9a>PA#HDIYjn4&35 zjl0paR-Q)YxL}a>mqt@vQM`KGxZD{Vej>X)SC2>nwbNS_WjH^;kcWn2I{(z<1@$)% z2JQZ6o0~>7BqDDLRPhbr6bq^7_K@7`r?Ku014kk|5Har!pDtXO4MulIJXNktElT-A zLn7ATUGI1R7$cdpB@=x>VI9EGCFXPpr4R`R)bt<1p0iw@O=?=(+R8(>4R?SLb9vr# zsosE|s9LwHcNxNW59irna|mQT=Id9_2Q@TwbcB}9&b4;`0jj2^CPBb~fQk9tE(R{Y zGzH$ZO<;Irq@&8&)L=lf!0y#cn@Zyw`k!nTgX5-?)3+i|N$P(+uD~cQ>~hn2D6H!9a_@tSWw{lo>} z<$Y$Z$E!#l9v(1}*U^cZ-rwFvZUJqhHtr38Rh8BJk040jfTJ6a`6ojHpYjz!?S1&x zXbvD4`(gJDF5h9!rQ=(8mQr<*Q`l*ic|2+6dKp~&DwDAP>M6r zD^4kCiiMn#5&@rz&Hozpdw`)xDwlJC9qr4qOY7AaE=~@avc6s4c-)g%7ocxR!~)?& z1hydjZUxBr)NSGF^+vNLFT*V?h*8iw({1##bdio)X^~L%c2|2t30Om$;1S-CY-Hrf zJ=49|R|h$(kaAlThdroIp7HCyuT@zdDo}|Ahq7Fat`{Gn;g>xMrMVrwH~|FA4#+s& zXd8##B&XYK{=!nKG$c|DKLQ(Plo3ot~cB>^^{GPL<_?G~jdqYayVinFeNld3l+CI9;gx36APBB%P zO}7CnW%Q?lIy~I@A#46-RZ3J;>*{z7&|`cA#5&uP#WK|vb8i5vQ@F1ApNb%WYGMN_ zR6@hTjAyFoOeYFjK^drAmbm^o=tLj`-K7KPw*vzMrInShxwyWquIh=$)2En+!v1V$ zf{u%etE_P&542(-A_9(XzWw>ekftV{^Ye2+u(5i%K|%HM<;#xF&ZU)==)F{+xbHmg z-OS9*t*xwj91cLGfJ(UmnzgkxI4IP$u#g7b%}mV9eG_17)YR799RMChM_2bmc)DXo z-q^HUuT%U_rKO1FP?JKwWp`U*^YBPh-pFu=;eK(m%&@H&eh@x=S<3>((Eah9fXADn zVv&!B&*9+zygNl?*ybG5Iv;!T-a;$K?)_0BCzf-lhp&sx$~syc9nyCZ2FEN4Bw4Lq zWUZI?ei}#1yXa_HHL0ZN<})^Do(483N7OSFx`>U47}=)X;h^7DXp21!6+pp(Z1wMv zw}SN!=(7#Z>RY1xZkT|IuYJZ9GFR`}4GvLa!YO!kaJpP@o{;fphuoWI_VL^2$mgm-9PN znF>6v!OlXiECr;kZS_s;?eFXqW`Kg8E$e$-VYC0mbcpAbX8eMx;Jt(xXaPNxotmmn z2i)%8g0EGBn~^vF6ygjI4=aBvUssKfb3)%898hJ834hHafI-Hi)pL0N-V$KFul=$; zUKOLhM~>{ygwS?)zEP=r4=}njx!uLvi<{TmIzz-ou$LRnW}8x~)aw?1S5VWOEcMm+ zWb^ykeDU`OWJT~z_jOpHid_yGg?XUA(q(_Ty(WILu373<`;Cz5KKT=itu!%bi`hfg zY_lWE0iU#;*~x2Qz9R|J8UtS)YwEb6f_KAPsx%FV9M%W>QU*5+YaONV%Ac5(psAN4 zfM^Iz_shMRhYP#}VBH^o7Ye~Uc&`X}=>VH-=yR4}ptIx@6txa}&p}rPXz2(7gfaTm za7|7}KKpa^Fs%jAcq`~I3my_%YusF+wU>jWqmAmntQ-I*w)prZ=| z%gO9I46fH1fKzPG(^H9qFWs;3)MO7i90#56S120jCcYA1#ZS{&`$vT z3cJ-J1O%kr)6^bAtXuDpuBWb&W1IpfJ*)Mc8;O7Ykehiv<963pflC zs5BWrJUv|nA*{-N9sn9YJg&sNYH#@+*uuiMJ6q=`&@HV6vS7CHv`Wyp%g};_iYFn^ zuuJzlGFsINFW&a^k3Z6Pzh}i@zYd$Ku!rCA<^O+_ePviyYqu_nqJV;mfRsop-5rX8 zN=i3KcX#8WlvKJA5RmRJk?xe{eUX&zt~2<)Z}08C&iQlJwU*bCnD3nPd7d%GeUCBj zF-BVCUoDw?`^Y_Ou&CKk@0`^1`*bBCNbbBJ4?}VAU;kOEa}yki%uEMfzi{mbF$06O z$r67&1~r|@)SESzN2od33cKcKUkjO2ad39c`MoeZI?miTh(m`4ckHK@pp{;&j&Pm0 z+^9<&CK&53M=|(37D_6ZOX7Fs)M`_!Ho-;SCG>HJLh$i&2CX*6H`$71@B5PKpw##u zJO;DzN|rldKi!BtM|%~TTOW5-Y@=8pYC9vl(D|LLXtdhgw`XtCp?ajhOCdkz-GG+} z6XnV7-&cbV_wkWC=0yyqUzI-#VPP>G@Aj=9^Ohg&-CaY5e>it#T^=3pj^_*XY6(YI z=8xUUh+;QgkO(Z8W@e;mGn|j6i^e&&og@@?M6)H^*5A$yvc5?z5!dnOzBjHEjSVZ* zn{aJFe}V$6W{DZY87D*=qTtVtFHSevCfV89AF=A)W?^BWS1I;^l$y4sCH4*xu zG5lT0O>NRMi)+mZ&b!R)ou|pDvpw83rI{)KIL{i1m^MASwPyX5F10Ip9Tj=wo_^&t zLpL~>%1Sspy+NW;!#rt8ElPDKGK8wx@Fm6%;o6jJMMYv>yW4;n2|dm^CcXbLGBS-{ znyap?e79RhfIMzI7@&Yfdlu0ZtK^(+^DFz$%5q9xT6n>nhq10Vc>9&h;&e^T!qXMH zpswh?=pr}IV_$S=MeI@1DsrxQ=z>rRCLDo}cmyAzT9)0n@=L9-tf#&V>A$#v2;N;{ znm^_)5I2{{zZ=Z-RQ~(B`VdoXi-43b*CuEc>O<5@3>3s35!7uHxR7=#<*hwcVD+qj zLcljdB-DUBI#8qGw7An7%_7psK4^H4!X53t_0f$SrGlkCjY(zROT(z%%h&*eUr*&m z9tsG&v>S$?wxnaIBUDpB=;457g+!j|% zZN*Jbu!*HIrAVNkuKeex7JnOv9OY?o2?;kZ=-gl@*qUt)XW@uP(UUp)qZ? z>HFcswXL1H6D>gCFZP)(N#`KSQ&xWT;>8OUjJC$c#@JCUB@X|Nb{MIp|NEye3ct(V z)6s228@Samu#l4RoawN2$MZ)Ev`C+{;kMI82JkuVIFhG0WyOfKBphQBaJL684|$|r zh6)~Cu=vP-Q<_+)%)NRZN4h0N4JRM zGds0E$&gNLoY8iVERvhCO{kI8u_LEkHDbZ-K08J4pOZ%wrQ&$yU@XN=o&6$~c_@j~l8&Qgrlf z!8zaEZH~&ZJPyDhQz&E?+`bk7we$#kIBWuP?ln8$8?%u5oj4L_!;#Y=NdgcaJTiTmXDE z*a@pY{bX>3UN9`otgM~(3E01P7P=r48w7rIW@hHIE~&l!K5@l_qMY1ZOCY{;ob(xA zV77uvp&mgvwREHB0X=o!j^SFtkd?{Y8zm*fI4<*CyI0$vc-+ozSzW*UBn>5ZolViwZ$xTxbkYAVJno_|2Q!fTB_? zk@b&=h-_DepTWlW$;)Ht?d?@LSzTQ zTha2miHSF}upp8m?0bdU1YGvMg8qwbdJi--w1_VKuwn>&_E+?^ z_M^kXgtuo~gx+v&d)&DbyhS2(AGwW#u2K=T&=ob5T1O=6hh}GOooX$hM))g79Gzl3 zRZh?TvJsU$gqUKsoy9}z@)ka$W@@YkPKIQx#H|XchaF34waxx8Kj%IUb+CT7G{tzS zHD*^dLt9oj#YxLuEBh6Ry6U?{d2*yLy=xQoCdKj~>Z{Tc08Wj3=<2X< zpC3LVAhh8ozdng}HzGv-Jpm!%z57K_AdvZcZkGb0dU9qfiiNKDi^Cq_`SAT!Ps6Pl zM8q?>D4>1hD)NJYEi!x~CxqNNgf zQwj=_$1na2P{0CsNny3+*78R0|H5lU@$>VG9ksK!wmm~7^$`iJaa@*8jx6W*d*qnFb!|UJ z!y@Ta3JI}W9`q%I*2VA&E`&GQGZJyPMGHiA%h&r9$~X^%J+ZMfdJ~?pS?_ji{TAx4 z-tX%3X${UJ;4mSFvC@hVpLb7JTHm$Yyk>?V?)JK-DG|F9*xigP{1J$=cp{+B^`X-f zx!DJmTgv3{r2pkv;pVt2zPi?7gMR;$vv*%|*REl)OuR`HH`B!;;{ zQH7=?Qv`G{wKhe_KhF5J#Z2WJ5h0&XsWoReHBNutO{?&&%3C0uI8GZ`%Ogr9MjN3# zA03u1#@ucAw8_oSW^=>c;gX)GR9H+H4k4)u6G2cjZoR#{!Jgq#fc>u0LO5R{p ziI30=V`FKjn4QnV!w+R;Ng?O(^Ova-H<2f`c!L-&-B7KHcpMLRf37bom00JB6`7zS z5XrLwu_~%Id(G(7muGBEuS2P=rg`ytV_wu<@?eX7JY)47XBCx*@d_#DtZ`iXs*P;2?D?~)#R`5ry@3nlaoj3?57pu{6bac_M*T+7{kz`e=5 z%g2c{b8gmZb27RiH5KX%?%{YIizuGcLMmp!Ze?B+$i||QoVUq>-UK{0*J&fmub9Lq z)YJhU=To0PeVX+rb&KKM#|K^zM)ybp3-vKH)DUI`1E;bgbQ%iF4ioB2tbPl3_w)dT z3FWE(fTIHJC;9H(J!mX7L)7w2V*Dl-3HX|mBMvWodv6aIIv)s9i{Q6_NQaCwEr8bc zHLYqp;|$4oKY#yQ`zybILPLdd#}-qSpi}qc^l%f?xETOaAic0 zG2!Oses5wD0J^A)tEM2J4E4=fP|O;&WNKv84mdx$}}cH^q6c|lgv z@a$-NJiv0x=B5!ukq89h=;&w*EDj2A@!N-oS8ro{V|luU3)(*YWFb;IIyyMi%Jpu}QA^r}hW-TwmLWMJus8dlOyKBvDcRcIUcdR{ zeaJmL>)WjlgZbNlDS4r>`k5RWj2?U};L_aWj|~B_9zfKi)6)`&X1fnxq{|KzXbHi# z1b&69_~FE*5^SDp3(y4tGce6To1xxgA*nn_vuU4@6};tQx&$Z49Z$5!o(>T$cPDVr~$H zAkC0Uj5Bw0cXx-rqOF4iYHscrKtd=?NIuA=0$ur{BkZz4U=2Jx`rW(wV2rDhKENow ztD!VUTf>^QPTRuE_k`!E!DoUXjmzOi4|wc|kX^+ML{$^NkkDdxeB1dg>_5NKF`I5- zw^m9Jq^Etl{$Bdkjc~&ro!3TB_g6>s|9mF1`!go9tURj);w3sdWV2D0*hqg8Of@*(P%yi5tjue4^J#)RGyJ6 zdB2gCh7BDEr6YCw&cVVT*Mx{WCFu|+|yF0%1lQqfz&-YIRWUg?aFxPbh ztJb@Vl8jpQLB75a>y7PG7wkyIFkb_2=dg*8EHUUQ*3hbR;ecGuVhzaP0iuXqhvd-D ziHSG}lvx1SV23S0RQ(*Q;0wyz$yt z(Oht=l9-JR==VmXKr97Wa#F}}Ud{CoT!m9`#jr3kGLBLR`W!uK-xDX>d1LMFE_$(t zLjkf`Ug_eog1Tt7cuX1TbpnujusT^Jl5YukMk41X%&1ZIv-9f{MaV8JS8}T-CU83( zF_+mYFOUfeg2|MKnE@4&dV2NB2m-bYHcP~vIIc@V{OEkQT}f9Ae8wFlHf1yD=!ikO z9|ckrEmgMGmDLW5N81gBMOj&PS5tBy!dLj9RT%@qHw0qyh%#0pVI%dfF zbFILJe~o7n{)oNVBsqyIJfE#rp!q6^7ltX{mY`GA`y7frvCuhCW~mi*e!&M`G9u)u zpzQtEAVz;Pvv(ryhyCiG#f{$mdA$*|TjJY?I19_;fn#Gv2O9z~Gf~CktcWy{ zjtE3C97l3hUbvkR03i_iPIUqYHh*6NkDT$ZY(Wka`S(qJPh1WUW?F;eb2Vzj0Oe; z?BCvo`yHM3Q9pee1GLM|`Jn(x|G+@HVqP^U7U~!ne5$IV!oyS0kK8gO=Q+k$>TR)x zR2L}lEVO??P2j~vf4)4Z4>s=@(jV)~=g-f_MQB}voDvPXX|7ES-jd7;xNM;`wD9)R0*=D2MPtjr9^S$+GKu>&!`|FdUP zb&jEb#*}4A1v=LZjoy1fDgi*#On)xHV)8h?NOBt3NsvNOf`lQ)k7Q3j96UUb_kRjm zy6(XWyX9i}Tx9}tbCLjDxfEIBG+AT0+!!}%HxpJ?R;R5Q!Dr8~fi@wdS|D@WM38ZE z#z3K^Bdzh5PZ-xFtC&q{-{*vN!P{jEi=-V z4#Ye7aRUWXsh>inpYZbfl^D)d+AWhq(yo)9SP(c%@y2&Pv9fU+At-@cnE9eGv{ix_WyX zS>AwqvlQ>mX6v}V_)6#x52|MQeKD`L0)<;wooAKTh*uKj1U=f8jMU#|q?HeCI$ zzyIrtudb09{^zSHUOqlIhKGkELdafyAoEQ2xp!;~Wj8xj6#ssss>S~`lJc*MVBA)@ z_HS?cN^o#^cpe^0tnKP%n)#k;RF|F+&2X^WIx^uX4s@Lc1 z|C#9YpVxBraS!jodj9qIf4#7e*M%W1@$Yx{Kldc_{Qu|afq4A;maeY$^vMN?DEzA= z$}M>5^vAZe1Gy_Uxs*|JHu;M+m2@o*lk&1aLh~|Jv89T7hsc#wk5?v+U(*%X9z6JT zBTx1L>urK|%C5J)$LIHX5|Y9{&p-OLdhW8XkaX&ibn231%c_}gt5HGue?R*y3mN+V zeLqeT|2?VouX}xr6ZZdjBW*ta-7Xd6RG{uTrp^CQO#hkE;OvzElshZ3{fA$oG{_kSKFW-)j0IQ*f#eva_`abJ<1f+2eB`>SHs-A%zNzYr0c z- zi|Oc{m9cvnL7H7&NnJ*=hSa2e6QXZFX=lINj3(u3*|O^whNpENOOfx$wDnx@4}MJ` zR7U52;gnn_v&n3%>Nrtq`CM`FZvGPP7Y82yu&_bGyzr?$I(psX|h>w>%I}GDX7=DXl&lX>rJTc9(sYPa{lW@-IDLdabTu5 z-p;|p^N#J@Za0_m*uJGeN2FZ$F;@U-`>p$b?{p5`lS0(1CEM^%SiA0bzJwVfO5L9o zFVyt<*6-1FoHDVVs!BUfwAaOEjh2+nhWB>n=&<>w+IlahGp+3_bP>g5F)5CmoaPHaT5Orx|PQ&SOR-zn>s{5FL!pX(j*1O!GXE5{iJ zw-LX6o-T{?Nd7XPrA?G-N8(h(joA~Wpy!Xm`sr2l_g{}U<@xUgQ;rib$9zqJ<76(% zB&g1e0=fV_%3UM-kIr<6G(C^iIB&eRd4FhJy>GH}FU|ezyMl?CIRi%rvcdHJjP7T9 z3CZB){ub%Yv7Xrn-nlXwSRrLbqsyNNHPVVPmQ_da_{WPGi)21UL}lA0?Ki3^%yH%8 z-?u;FPjqD;BxI5%zE!F)#jzOnKp}Y2{%^zk_|Dralk2pW@bRs|ZiUPZwBwzN+6&bV zq)lt9Xtx??1m1^zy9c@puw#3pEJLkM=Jh2cf{aIg#%ohd>TJFf-#i9sGpD(y@j(rV$Yln{YfxGfd8iMCigR zO{M5%^Dt48r{y5}hl0oXj66M^_AK6Mdp5?Q(sg20;Lt{lQ*A`#z9;ov92{NM^8B_f znHQ1yx2(vP3E?zZ2{NLl7e}0UY}|24;n+{M8tNV|r;6I$CYWDB&g<-O;PoAguq`fa zzG!I7Ls91S#1A;h-y?nSF3nY}>T?G+QRrZi=}Sr9wXmv&RN1U&3<_T&tQ6?{HtOQ~ zi|qySOq*eOyAF_531PvpvFOs}xn2GDp%QHPk{6k?bLy;J>M%t`MO$wE>34g|?z|rU zdqYc+_i8u$uq}hrBV!k*J{CHqVkO^tKQ}?)v%w(#M^z=3Wj`e!D{<`1N7iZ_qBo7Va`cJDCIb4$d+JYZlDZr9vf1h8J#3(K5^V zNv8l^y)`N(Q9NyObaJF`_O}~qTopCa9yiRUA7K7y-zK5UeSWjBtVD0^Tdzx72&v>^ z%Y~LqDt${yIcipP@pvU?7;e`=iE-OQSY6|uhOnfzu@vMz0uQWPZK}grtId%?{ED9T zpQV@9b=D7YjCS-$@@zSMiOJS&utqrXBp&1DW)(_E_f(l)=O(95Iwn1nXv@DF%S!FD z*6p@(T4lZ7Y40)S6!A-oM9*7yya>MvmbG1&vj$-{`_SYc}25PdXukjlmI3%rKMkrpdam?R(HpJ{Yo&KMGM9;8N<@wj@PhjVE8Z!fMPYPl*r%aSwy za;>unhz35Y4fZCGov*1_sMiGq=g>XAxNzbe%)^iXcJ1wG{vFL?pU0N<$M?v8DJCTM zEeKr>^BU;s`IMEg9V8_wE2|-+?H!p^n?phcg;kWl^KibuaC4DL?oC+i>5!B*RJ3Ea zkd|*aH_noUFkm`xKIV}`Pfym+*@l8iR;E-@p}VWPySww@7)wwPofNC0fARN^5lGLr z-k!VoT3U6svQh~@#)cy%dg7Kz`aXuz2+?7Rtd2Y)Ai^m!xQh%SdL8{t?$JdHzCwWE zul^Luw&p^5n#|6_9cJQS36!s<(&v$NSAM+v;|DFa^J&4Lq%m|kIbAU^`P`E;l+A{H zRJk_4LOz=eYU_-vImEOvXfc3H@ zC9W!((SXHRk9mYM%IwHEAj94Uf~68o3Y9c^?t&!T}vQJ(Bs;$WKV7>i8Epe$()0InMl_`8fp(Ll#Rvk<>8)& zp8{Udy-1OEF8`Q4QEb7OQLU2K8*p(^frfwHQh1~DZ9i^pt;U`IRkmKEO#X9L<>;8X zReC*}r~YtMF87#MLhc$r*mL+&=iqTo44W$-@`78&5c|E?$a?3&W^k~WUN>DLdt1{% za^qlU5SGT-pTVZ&&5_r(92D3}j(jLmj~m*9S4D21Eni;9=8L=+kfQ9RTG?_wu~Y9h zWph!ezO@Cn6ZRng!Nuum9QIrFI-A4~0@2&YvjRcM6JQf*;m?#HkAzl>VwM zE5YTd*iabc((>a&ZZh{5T+~}TGIOo;W}_kVF){umI_ZOb3EJB4K96`}PLwa4((o3>r_38u+sv5&_$MqcIf?s?4n7Vr6^Q*+sFmqc0|&-Oy*W9ZWQDXs|+Z zTB^o1BAxKvG4}~y{IU7O*4s=e-1_nyEvFBcM1tz!3B8h%H=poPi5OaB$-eE)+irW| zV!{X>y3$#mX+T~!Ri|Ct+{sxCUvdYKPt04(y%}GYb#4##*!C^kxa0fUOSh+Y@zbd7 zbOuW|Vqzl|e2EAM1{~jGBH|~LeU9#Mdb++c%&VOeZf%%|tVdOQZ($LT6VD)s5$zhX zkM4qVPiPOzsCM)%f?j6FFabU{pZ5VvV$IbyW+*bnF01K+tHfV%v}d< zg|38x5rovm^`ociM^?X|2Vg{+O`BD2Mk-WguF%p~cEFwss|_?_yc zzs#3#G^JNdgX;W58U5;b_%KvoaM)5?u1&U`HeB`+ogNOk9+(YYoCHeO*i(>^&uaU- zDD@<}hGg+Mvf3|6Wt^R{rTydWd~kkPrSk5F<4{J?H*x%8CJokh)lARRyIwEEquw=W z@U8G4Qwn5Cx0P7y(&y$mZys4A_&gF^^3+C+51%dZs3J`TPb@XY|$FV2z7NS4$gKm5!-_2N!bnweRoaLZM)msKl0iqw%0nmTs>-Z zH!LhF`&N;(4*@BGTTbw9B7lbb*32PZoEZG3e1C$XY3|MSeN#BZvy)#)%3j@SblS1O zbUqn3aG`TU%%$8}?Y;7Hm5*}`j1bdOaRG!MhnKbB`&D+}Yf4E#{y?2l?UedQhym^YeEH)e< zFR$OlYNUA0YQBje+=O&(7D{39sFsF`OxNtn_dlwBxkmYn$tdR?^{(l(&j$F#-5;7y zSTXV^MBvcaJ(w{(+#EeA(K1|jH^WIweHR(=)yS4F#n8+oKr5QjWt8?={b5wo6Ck!XB9EL`%8<#Oh~B;?(OEB zVQD*2TA-C@idMS6P_sWkED-hv`GMi~q$iqJZ^eTj8%YQJzdHT5_~^VsDF<^!G|bHI z)-rLR()<_p0qgrc=IV%z92_F%3|?Goieegldl8j0RLhe#nxAJy zJkyP+OPHz(UscL~zq#BYhl;lKsx1V!x3AjiON?avo6tb8yUijgUl+c<7gCmMIS9%x(VLOfmiDX5a$Ohdz1$by)Y(a{peR8Q|!K`h%_A=jvO7|T+vjcWcn zWH?qSCSH6kib0**A?W9nI5vX^cmFG`Gx%J!a` z<+Xct9s*U%%W)0SlN_Fch@SYNQfbm&65i%dq@I*q40lZp4deKC?|@B^qRDU2qBEK1 zWepFnii&uZCELMdyJ)oNa&$Umvh_Z1w}6W3eu*<1K}AwUO)_bomQ&-CQ}oR^A=1&4 zee_4HuU3!7QEweV(VdN~97{#<&omi|iP|G_tTIzn{ml;)WMpxQ-PS27s_0`GVi9Z@Za7KhLkL;93Pz`fd&MqMECrcqH=S zmx=jimqz5EqpS9nye-gl$*C-$qPC%=^a-+EVg_oF>*>dGiq|>@#$&H!C7pg*Q~sX9 zWu(+>DfnU-*~i7km1l)if>2Yju|=dp$mgB1)$WLLi;yA%L(kLphAi8u>?j^l(O*d2 zgWi!AM>%CHoLw;;cD7LxI%Mcr$GE6m%dz9j*QLK|gv{*~z%=BX)lUhmZx70i-XiYr>~Hb&nJs%5o6zrZ&)3D z;0BA+zm_#wS2O3F^O2=5Z2j$rTF> zhH?s00TWI4VdL1^>QtEhj^?rb!=a0Yibvlsc0-?uDo47Q^RpTQk`9bFDx>HSSl zY4jNz4K4Rb*pHvaYgK5jB{8kti1V@t`XpASa0 zUZLHRvpeTSp>bU6r##P1OkjUI0UH5A)IXG76@5vPnV)c~>~<(8k?zqGlJPng<~_*` z7h*7VaL^@kYzXJ7;EKK;2% zbY$Lmo!Wf*%EHa->)j(D&V74A-PZj1zGF?I)sN3)W7Sp06I?VRuTAq@7p8bvXXmaQ ztO}gqHGk6fzRsT$%MLb-EVLNnYHGE~)zd2#XXorr9SV z`BK-9y6fF@iP>+%nOhSOsEYgi)mck&vgDTT(CfK2F@R3o4++~4TG9$}D2h41axZ9u zmi%wc{?W_h(NwkyUv(B4n^>kU>r%VN$1`aZ!c#S7)VjC+J6kcQ%3&YvF5wDN_wa?a zbs1Go7+xm~>Ru(bbtt{Hv^&l)U?6IcjNtix?f4R3Fdkr@8Hdxx0t>;CRH(>_sptB>#C>+js= z(1@rd$@c=8z9Z`eJ~a6ac&sT;gpzc9Sm+wxIav+TsL1c^+kz#DQB~eTe8P##UIG(d zm}@9~K(8q=nk83sn9HrLRPVXIgQ(-df80CO{HktuR`})kRwvz&<7(@l&-aLHYp)QB zB^tKDv=2J_pZ;r0F8kRJJ@xacsERC?Wv}~V8%~|%JsCYMQGJ!Z@LOd%hB*u%`qNKG7zggeK0XsUX; zt|EcabDA#j<==bIsJ{XI>%GvbsZw??F`QsWIY8^pq#pg0p4X<%&zzixs3p3)Z$rC8 z-f_)hPt)*J0y@$?GqSeK*3odS+8%alu_=OIK0Te+G!jwU@u$obLaf%Y;fKkJdD*xn zu-&*YF`l;fju2yN75$UY6-`j8_lf!#^S!oi6Q-8Or}R7qnToJ{KPwKh4>G1BMrF0- z_O@wFN81s!k-We1f0e=2yG?)T>`j!#%`#JLW5?&?}pMnMK;mWN#CB( zyv{i;&%v4H;EIxWKForAnXf5w2n`kQKl{+KAHiJnUB zoOiTk4WowN7G%}GHBX41HevKu&_>c#huVBF$9;%Pd+c=JfKq*6mdjzGZ7h1)>p_eW zth-c>+&-|*w`$OI@0^2J)S38i@98g13&EVMwguz6sQKJ{n#*0%wJH0_s_KyfX>Tl& zkJy+mRg^!*M&gP%J2(6L{zm2zN!hQiB+kG_pa19&9?Te3efV1Q*df6 z|18$y<^o&8p86U`TIryuO?|VcnjoTMY$|@#8OaXyFPrtf3JXxB{H3vx@|EbUdU}6mai+epi3FnaA1ZH!LRYTTmjcqOf`wwbsFJuQeC( zO|z4FKK|v66Zhx99~<@elPvT+fE11Xq+<~{O;8Ycn24b*PRF*kmgmH4bPX_eYIy}k zv|KUzF?B*ord;f9#}i2+ji)&?XUMR|T0svIfl0>q!$(-d3YAtsS=OtO_I!D{6vLj! zXFh>+ZCN;HwtJ;EQV{a~eC2k&f%;O_3kKLv^Yhz*xfd%>&i!u`YD@a`IZvZ8Y4E!-G6= znEZn2PbZYm7BKI)xe&PXG8zCO1?Sbb1K<>0!wW+`9R!emcuXDEYQ&WmMqi4y;|}+kzzgl_a~5~sNO3upQ5`K+au%q zn@`#DE%ivL-5x*dnAq4UmV(?wTVXdehU;!tyM;q4HFA!g4x9XMAwiHt`uIDWCIP7y zzS~1avkT4um->7sr}2`dXd!1^MN2}?{0slAzktO(KN|G++XeFVjvI-Qg$fJ5H?@Ap z0FB-3>lfy@fYB=`sHas8armeBWG&yNh){iv+V9~g4*MM4g26Xc^dr^E^DESb4X9~! z_4JyT-1jzlV(;U>Hh%l*#mFtItQpN9$<7A^C$wL4Xio>JB@1+APFF7{>gt(E zYzGG%3g=-#EaK;JKtMzzZ6LL~IBYQ@A(uY6Hf{*6v|xv$EBx2nfq@%XM4~$K507JG zRr4x{_Wv~2r;B%d3~Z{?ei@dU%FN0ssy%a~Fsq6u1cBgf>(b&Y6VnHi(+Mn2I-ORk z9GB-6Ck~wUa1a3z(LmK}3IoqG;=DadMv!t>so2LAOxUKlbT_2)y~%ZLD|@bemdT&Z z!UjLlRrs}*U5`)&eI1?d#YDN-;}rwQUFaY7 zhNBF7{tSi>{W(3PX?cBYpd(J>KHHH|Yv|e8oOQWH$hFQS-9Evdm>N6g{Ece#Hve_+ zW7JAJmcYm^>_VI4Yks7>nrI0B(N9lI!J5UK4M|6OSUo2#pq4DO zwkCT@lzKs!8j@uzBeq#qS~KRZnZ_5j^Q-vBPTNlyDK(mY4&EX4#mvaS-AwAw)UrL< zGwp@^IP0LTwOw&*P6!3CxNn;q3KYI{SRTCJi5IX7xyl#R!hg6)6+met=D?!3ov%N_ z^AHRQ?1&v3Q=Lt-8lmJZ8K&D$T3RvaiZ*>+0w4Ic>hmW^6PsJUUL!GCPHZ?h{S=9a zuD8#&l_se^Qg~zw-|;~A3 zeFM<|=7CmSoYeggsE?oVC9b=zxrT3~YDF!iu7yaA4CgK7a*f|%298-YX!W_xtO8J5 z-`Cf_?IsnMRLlnKtcuNTTh7{#9?`kp<#jNB14K6?wN_f`E8oxp%*DkD&&b@h32C9p zT(Lf>zXBi`cgWOUitSHUWJaY?c&?AX1ncoBc0*_{n$Pjiy>u>169x6_Q)cA7JRjhC+uL;a&sA8TSo_F7xz`g*5b=pCHDhkQ)xMV)6u zMJa2}$mwW59OZ5EnS;Wnzu8jx)LB+)vd6jxQBkFY(Bh#~@Zh8cKeBgP(3P_>O;pBa zH)CXb*B@&+u|P5BZ9qt?NJ>AYS7L3Q^>+=m60RJR9v4^LrQa`v_4Isg9}l~$D60+W@8}WQ zZ}uKH`IpTO$e$|Q)8#>aeIjOomE%lha*OFLs7)QJ=K(|pgGcRq`ATi5 zM#I94c#J+T#(XJa$@9mipE>O2B1r{2GKcMs6}=vNkke;^&!`BQjjaLB$jNK(Rx z!-<)|+S;c;IfX6B<%GS&&FyGzDfup;oVwA|-Rr0wUG4q6`LqmFG#t19p7Zbu7D(@b zdCJcfLw4)o5O zKPB+ly%~CZvUYL)Dp$ojuz;z~uxBvta_ttWmCK<8r&N-Jto*}Zm%Sg&QwiU`Km7?+ zk8r?VMl<9boU8LY1d)(>-1ZVnPleP+&Qc!^DV`tX@T3ZAe}0x0`o&Z5Yo@XE5wjO8 z!qpy`Db(g3$$AOFJbc*8lkpPZX2MO{>>B_;et@4*;d5bMZw;a1qw=lYvrE#dedJY7 z>fXGpQ8UKv%)0cm39vN@ovW*?bRxM~3x-5@kIYqQIZZU0Uu1f5hB3OnwbO-LzFZ#_ z)9yQ_ym%9B(D>&KenO7ar%a(^3~H5UOUZk2EH6##;XxTOZpt7%0&@zO4m35-j=PxP zRActF26OB_%v00VF%T7X<8RH#U_Vjgv#G43v4X!s&a?9Lc>0_S(O4iylgefGzH7B$ z7f4Uwb!L8jLkF@lchLUtKu7rYw$&AFm2-@Cb6ZOOp(|vZ;6XXoZLa}@{&PC;dM}Pg zZu4=YWU{kgCekHvGgEr0p9_hiA6egXvZs9%ttHzvAY)n&0L#+Xzhphpk-OR$=YGXO z1_uk<957(c9s}g+ppbD;M=2@-S%>uF8UWMqNOlR#AAV>z(dOMIY0$@P=uPbUt&lSY z1VG%JV4f ziRp>|Fj+7#lP+Fl>o{6vVWCPmY1o% z;hgjQ;!r5>nA*S~NWCu3vMqS-ba{xw7S#{yml%rL*x1ZaHtr`GnWw51t>Bss%{TEF ztiEf+1H8;a=4<$FE9w0>JJ!>vZ3pUtr_hZDmSZn#p64&S56QyW0ljZglB6vZ^iX;4 z>FKHIajdVnY@BHJ1`uV!uzbE&l`zAtTM4)rc@A}v9ko^;{#i3isIA+lUb>J{k$*Mf ziwPi=`}pX+v8me7)?Hx*Sz$#n45+Udb9H*Z^n1JTWpxhxN-?8mGhzrwjf<emC}0+;o0AOOglOt?%3cx^yqpkNhQRFgYSDC zDlq)<{O<`ztRfqPgwFSHjE#+*&QLuVq2cGh&h&QS+na^=Dj>~0r<{ouV!tAPtZqn3 zn&9rX;ane^PPK8DNYOd*vF|a)^Z#|SDaFvz@rft(W zzbNY&@J~}qA2))%qw%pcHL>~b{Le>S{hxgJb`#d~|NTy{fTQ;RyI2q`&A)$kJ2X5g zNeUDJp+bJFy?$T#wsl`vc=)yNa+z2e89RN#!XG_v9Zwf67MGNC^z?u}7Z!9k(uR)u zka;+yr>D!Pt6#NILghN^dpkHMMqyB8{jZnM{8HiFyC0xnH3ouKDJdx+<|L!4s=CZW zAsPf@2e;-zg#^DoHI>Semz9@?=^hI4J?yvvfu=6guiOfiEzsL_S{Hz_;G-<+6%i46h>wqqcEY1q z_7YCH>Ye#TSb+ZWY|Z83cnL1GHeEC7^#z@*Ic@b4=6hWgb~>v|9$)_0j+PgD`;5%D zwLYS*sOPH$8jfUZJ-c5K*KJ*P-Q4YxJ|8`12i8ZYoB{L{YJ|n<13Qv~V+yGY2d8OO zj@7E^Q(GQ_j~}xo_AMps*1H@f*!G>eAxQsK+;z1n*k|WE!a>{$+NZ>zgTl(rt{H*2 zYKM9UCEFnT_f}p$BBP0({p$6AR2L{vn)1Q}s!620E7Wd6Q?0Oo;wJ)V^Ur{uRTxAR z1r2}iaugZ(1q7f2XV~t$Z!72zLgx!ed8IDD^SMX3SC8OZSzU!rv!DE@&??>#u zyyF!Wg$L?DFcLltx*KtDaYaD32il9;Mn|Ksrv7%&BpY$BR5U@e8Mo^JJ@hetvu3Gz zjU!xJ54~$pnoSDrNhr+h>{sp1An)-3CiDEeto)JC*%m5@?p-x~!Ec*zn?M1bfX(J@ zkPMpH?Gws$*Idf_3X)YB;;D*KPJl$ipqlUj;fTt^}uqF3-Y2sKy4AjbN}h$Ndep7U;#h64W}} z$h%q{UwY6!f@T@(-#>5OxqCNO(4E&C?Jo3fy!u50Z9mZD!3y$6pt>#$9pOCoD-WUI zpD;*${;CrW?Bmq{iP+fKjHdgkV_#ffUv(HlivTgd)4QP*IN46(SLgnVZ(cagf>!kx z!D1`2l(rBSqiNnd5|`q8fBpbuxbv(pSx)x#t-LTQEoWq7Jm;6Fu+)=d89VlP(V!n0 z;`kFGk5WcPi?y3ZLlizbN|s@F&ecfQ@n>D8(dL@c1 zrg_!%$-SY8!0if;l4G)&ns#fti2on5&H}8;ZQJ`O2BCn`NQg?8NJyh74IPbPEVdBPkuy-QC@MW9@V9z2|;+KkjGimbKQq-gnM1NB;hM8!bUd1LZ$koBB)s z=y0$aVBDCRlDLohJ6pTibrWGDKR=|%US7#AzXYBJQjC&{_TLQg!gDn8l)zBZV0F`h zazSBUq?B5-MS3&A54#C(@{cfPdcNkwD0XUkDW7itvMSBj!zi;8`=+V#vUNo79@bpf zdukj|D#7&xh|gjL9?*qJVVEypx%3m6#|86nZChI#z;FCvmT@0=a3E!D2+1^lI+FXkdO5_%8|k9!UW5B4RcCx_nhZ zLI<2c5^j4eTwGt+oovPf^?=oCkEF}n#DDMr(92Xvju$7)NH7dK0pmcN9>~bZ2#B0( zGc>}xBWCJ$cW-FHDCH=n2TLAIymv$~AjbMYw2EQ4HiVQ{8-`;iepz`(M1ZbNj#p`^ zO|3zo@^6fDZf%STyVHDc<&ICaK9vyVbEWIv9cG+**dACp9%<3=9kyF$sl1 z+7cL>FVw7iC-aZ4z3bU(7AwpY_7DiXc{2(}5wP15RQhPT)Z5DoF`I~BFv0+Lk!$b; zVBEFfo&y9l6fk2I6`b&x8h-!2!BB8fbL*;dxNrhaFi?{Mq!_+`P>>*eJt%q2z#HZm z?dG^s`d~SQ!gBofzD7jinPV%4c_Lp|sc;CjdLeNcM8ifQq?}Vonh=qi_+f^h?2uDN zMX_!S1?|_?%9R(lDefJAs^h=nzYc61DIO^P$@G4r*4%t0lIBg7blQ}Nm#V*myt6Zx zFsA1G3fZv#7dNk@B#is<3aKF`;`cgqueCO3lEjI5U4w)%v5UX6rrP}cw6Vi0#T(y# zDt1MBT=zR5`I3-t=wry{Iu7-gsCg|xRG-eDZ2K2CUaf@fd$0V;xY>0X`2F~q}7iNmNZz$2Qa7!PDbeuc+$x*p4nUNv~LRY=5_o4 zKXfpFkyDuXQYhek^27`HeTzib9j$$`OA_E3JNH0&^M`?!tgXqy(1=;Oc~y^Y-{ zrII>f0a+)Qfyh@o{7wnRxTDIg=390TR%KfP2^+tXztOmCMBT**cWJ!_hW{NHy#!NO z4-|;e?;qY2CNpybQD6ziCPAT%xAoQz+;!z2h7SP9>YIdA>vGHpI6Q;>rLNI(kgg1d zK}~H_(}Z;^jpeb(XgFC}KzG4hzjQ)s<)I=58J`3gIiTF}_YEmrpTXG>{N)Qecq~~kxen;bFqrg|g$LTu*oc@@ zg_+h2m`X)h@({i=>Q)W}H38Ps>BW8zz)=?g^f6KE#y#CO-HCX61o{mu37lvxU=)E{ z32V%^u8tp&u&FTas-&zJC~I$TpX=ub@(tu%TyfjA=fPZdS1vRy_4PB6^DrDm*1lUR zoAqvGZ4IxT`6qx~G5IfEfr2#5=2PL};lbzfZ;X|Ffr~0O?0bTPb{jTpcgZ%mERaem zfRX$rnBygX^9jUy-hkNv*yd8SruzpNwEJN`8CPo1vlJr&(|UTqS%lRO^Ltt_8dqVr zjyO)JBYIGt8*~%%@bL8Z_kRNntnJnWp^c3V82S<5!ooDL0c7uMg{XXgG&#q49 zF{2n%g!^apbk*4rm!W@cv9)zt{n3XD;w!&tg4oLTR$-c9+y9RMubM-m9>X5rPwXl^_0|o=BAM68^wpXv5RJu2!{&;No&QY<0o`yb4D3I?&i28IRGl3!^SmA%^;*34$tsAN1xjXlF5w|$d)C&8M>S&r)i z{3m4Y%3+~_>Lt#PYwnc4Rpp)!8rO^_GidnJWvYz-C%TbO;ZU<~4+r*;?py?;MBI{3 zlmcoJMXi?4x(Z_gDis?ALkA}*zjMo3B-N?isnr$!sVCPVLrhir%bL68>4DPS8RvU@ z-dQY@=Oe{q+@5Cf-6c+&MjPBi1}6kA#C!!zI-Xd*Z#g@@!9nVKv~3J11EAGMPJ>L1fIKuc(aNDrt53h~NA z8RGb2QS@zq+*N`@HR{$5*n6dNQ$h%#5y)-W((eb4RGqqmT!P z{Wd0t;cWJ^)05{*J0Ilt@Lxen^sv;LK_es24>K*TsKU2r`tTT3Hg6=!fM*Oe@O!VyGnT4rYCZ-YvTC|}-c5nYeW0m>8HR&95mwVO zK`Xwdt2A|+CK5h=w5b8^%F0T1cdEo4RPre|z|!U()}Y&5T&$#pl<>S#B!YKD1P1`l zKB<+9U4{53*Nl&k&lqzz5)4-sk%*!R47<2}0&Wp-Pcva=UOB8z4EEGF zpveLFdy#9s6TmZw^*f&a7ToI_utvK3@o;dOz`}noE|wO*(&yu^x2U@mGR~c_KnsnX z;MRwQOAp5W^nAN+Uv2pp2QxdnKD-tIsvKYcRI-OqI&eJM`4HSnvr-F1mFVhB+uB|Tx#kQfz|BlB~5!S(X8e*!hFt3Wp-9+%8oJ{cJqG$Fmi z!LVkeMG2Pn2tN0N=@{m}I`|#<=hCS%%2)Sd+oNjIR(f+@hX&qgq0AuU{T<3OoW){c zL?&<*&|w5hTt+P6aF=C|B^|Z1knwMS}BRUiEwzER>Ir4?KQB z=qv+uMxdH;aC0Mnhk19kd20F!-g^L&eesn!O#)@t{e5uat8&aPbg>Eyy>}5NDCg(r zd1liPyrB7dfv0B>k0cHHtAwB#@fgP3ho6anN2)=-rU*}t6sgSaZ)sXJ2KBi?Yg-#l zYpiQjRMaaWqm5_^O3IrHN_WPgkqPK6KvtG>^Ti@um|~^_r*^3)8M8i&LVRFIifIev z6M@F=9<_;ziV9AR;GvB85Iik!&F;pTvMKx}4dNMA>EgM`R?Wv9a9p(Zlst z{tqAC-oA|xE+e~7BDM}~a3DY{!Y90Nx=(z3v~)34V7R{4pYLEnZ%uuh(&t3#;_vdt z6kbz~=ld(PGqRUOt=bB;66J1>*a{k8zoXV-3C`=w%a4Z;|H;OCKRqNyJEtNFE@aEc1t zmE* z2en=kMU9BMJYYcqgfc>>4w4HgmPM_QB$WG?LqnyIKl8I#r;kxSK*emlf31Tlr!Vuq z%GlV&K^v9wnFGPg;F)O;gPd?|Ge1m7p@cy<9R21rdub^3?V&3#*8s;X7>1oa`<7ByxQGm_u`9ZvKOemni&+ zGc|cr)q<-Qhvt#e@0wp(KQ6K~V~L&*bR`uD|I8|p-_qRi#X6NO))qu68^tN2%OaE)1DG4I zS)zcQp4}BE-`!6e9TMFZfq808_rVyVtz^r6!G}l!{+*EC1BTx$gcugK7jnUF5b07; zPzXk<{c_k&QgLw)4xQ{AxgbqTd6CRgRLp1N0_hBJ^}G7BQdqDau^PStm_JB7XaPd3 zGybKNyz>#5ePG|;aOyF}o^yM49L%}Dw+DZVee3q^VlC(hmP)!%X?4K{2?WTUp@G4t zASZuaR)f$4NZNB~TPZS{^O!b6@Q;^mGmm9(iwL?i2ng)4ZvHn>`BNpAM(9!*4n=-d zLk3q>e`tn=3FC(gRE5D|+}+#L2BsOSVXr5|E?(Z=pF=`g|D||>e{v#Fod>qq079Tv z;J9I8Vgd$B@K_?8T0_`A@*dh735k1bOg;fI79edmW&p#~vCnb4 z#(q)owCd_;+yW>%@=2Ev{UjKWk^A(rBI*!mf(yRr=^5$0`HDsKda>81+~;;IOq-+L zQpa2Olq$kLy?X~~s(X@>G@&7noWX^=Q>Y<19Ls{LR30cxrwG}Af}2#HMVGsGg>dQS zfGpqTeAEe3?^sV9LP#mC=hsO1&Z~=6_V8yEl#VQT$tG-2hqw4Hepn+VbFsZmegD3D z0E?lZdib!w!lW&15c$+yUr~VpUF))4_U%Na;>@j`V*bJp8h!pWrHNKsqx2n>O#=Q6 zvokaGkQDX*{CO52xTns)_U4+=5s?~%U!@E|#9)EfucVTAfXPJa39& zvVA4NiAUR^wImciZveO%h-L*+-&;cDuQq%k=Zu&V)7F-t zQF_PI)>oi_VQxbiCnqPONP`3rfb9`X$wdnm`Ym{P94^jtgrvcPCe?1s8>?*&2Hjf2 zKZ~Au_)>em5IT$K|2w-Ho=$IOqL^^&v3h7>Iq!<;t(+XR{JiL_gq$1tiyaGer}4^y z=sNB@wv-$b*yAm?nFg;Q@)PcMZN+!ne0ECr_JQ$udBNK2gsd!s+9Sv)p#ySj7Sd{M z<(C6FvK3n%AbRyUO--##f++xU1VF+gfm$3HBx#e1bRd#{rpb&>{`SM8=UPZm<=}x0 zHe80v0ya$>a$)qU<@Do6;8!kHUPHd?WB&Rwq`2h<3msRvHS}p{XduH)+S_@Ola`hi z!1nz4^Woa|BXE*rOLW@=LNdVpf~PaLx!DCtu#@TQt5(R2eTH-`ymiu zt3$c~9&tlYPYA@LOQU3u!DP4c!5QgGG~dw*ySyvx!Z)zYVV|X{GG(~1n);m1!vPAO zj9;k|1pEc0%Zy|t@)Q=cqw%wb^Jk$(pvLPOLy^d>qpc^1%D{lgge|(A%bouKP93(m zINs2^)y`X+ znx2EO%j5YE()Ph5+)?Y^)r%d`$lzpCmA!BWa3t&{r0?Ls5+7sUzrR=y-W)=-hseSz zB?0$jXZFo~;U_-S5@3LIAVq}K8OQd;)6-M!oQ%`j2QtNJd3hb4H;_vd0~g5((<9W# zB!oaw`6Yz7fYn<3Rc9?^=Ine%_meKXij%@=ziP`Iu>+g45)P|Oh8Ynm3-hO0Kr{q0 zA{0ohYUgkva{1SB8S#Qu7xJ%A5-QosD~d7KX?#INg;)#g462p{ET2q-gTI^iKJNef zS5%Sum(>BavyhOSQU5KdJlTpzF9{0V?EC#20-DbJmY~lk$6dVSZ+BlpbU|D-@?C4_ z#u!_yV5@@7Dfa=RN%?)fy}-hWI{Y60k0!sI<{8lhxu}At5GAN`$=vtNWA`rmE1ywT z&sbZsLj2NKzDw`bEo6A6gG!DT3rR}QH@Snzo+0ej!-wC7zzy*QAF;Pkof}b{fdbM$ z6tPyQk-wyRm+*c(Dj^{d*rK4nB&4Vq4T?VoqZR;7gcub>C>jC9S;F(R65xT5wqJ(e z=U`(r95NH%Q^?MPip$IIXhBxNm}S4Prs0bnLl zs}!0Uu(w~BPjEce$?uYCTl@ChdO-xruBaFo`ZM((mBa3U%asLLK(!j@NH{fLxSs3? zg#3oFS|}cWdrwUOh9~}|#S*L#ghWz({VSj=I-VUEr6w!-JNQm;FPQ-&S`NUdh zDR#bt@%Q@7jHkCZGRP&up3xNzqr*XSKV8I!D7p)b)_z&k4=e#gmCpwW8lw-s5kQ_Y z1JcichV+2~f-x6yDCX+wDo?Fjyw6?C=LIT}{gjls51&JG8$LGk`ZjV$^cI_Qc9*4%P_{Bsry~${A$=x(ELJQMOhpJ@s zDa$d-ax3q~!6RW+KQ86qVx11B+O4X9D{s~LGUJ)}dzv^bfTu^KpCCe@Rmjg?wR}qs zEft`S91Ar1?63%MTbm)ihb;}YLOD!#P$d2hgzVD%)FY_&LsqX9N0?|JOw=z_rELQ2vKbd4UTb?)9JbA1KpzWu)0x@Wkbs>I=`M-#Wkj?J1&UWK_lzLR zppdVWdX`X82B6~4kf;xfh1&AS`{9n+8-ZOY-j^nfXqW9XpC(-*}Q#w3p7$@;T47^CVwH<2^(2RTl?{;`i=k)cANey6GKgb|{|H3GDJ}o)EviI*{`2DYO1v!l%%8Our2N6kB=FD!RfgpZ1 zmVgcje#Aft4gNs@X(6Qtoh}(ilpau|CggE^4(_G#;<1Llxp_C(wiu8gQ!O{01>Kn3 za;Wvp%+9_>Xu(W)0HAxIKs6eys0}30K)0{Z7^*QuAUO&A-PHo+0~1e}NA|LVFJjAB0aE01uok^S0wAJla6;*btmoI9b4( zMQDftRS=FI#IB;HMT5&ACLuxW2Lz!sOv%SlwXH^H3i9rM;NUNHd;LBKtRJGw2b}7M z#KfKOXdz*)c@nO+|`H*80Q&v^QCLs6& z)z=YlX(6*Or)u*HO4+X0m&dLLeZrjAPk>KI5K378O(~qPe!KAS&8MB^wZQ|Jtqb{t zA#WnCNImk>jq6;$Go|&LpzX;|+Ze35$=$B6ho)+mR9_SiTJ5sWqN#kJBs%>)X0~YI z|>!GHjPgFhv25>XQXEkYn3C?X-z)ZV@pNwx$k zKrz|b)Nog`A%h5tRLc6@H4MP3M^JqsUj?!;9d%^nQ__gEQngb!>|n@977F+WxTv~0dtX&upwtNZ2~906GO&(7SvZkG`3juLgTuppiEsD^V|M39X2Ac= zQLC^Hp0@^>x@*8jKr=;iZ|_&=h0_YlX-~xxsJ;&=s{l4pq`E57w?ZXIDjZMBYQ@lpEeMv!q}%Suw%`}kjNeRF1P5WRpAZ1sQe6i%(~G7FH^+c`XJ zh6r9ts^=vRToIxjOHmZnklaTI@*pk8(31nr0^h@_KBJO1O*|oX^b|@{Ugm3 z9jZQ%FnkkfoJov+mUKVw-2=xLfhOe4)sCTJ$~tZ;KXQKms9Q`z(`lr!ycSt6R z@)Epa>&@t-q;5zNAnmDP%l*^d>3{L{->Va@qUl^x{~x&LoY~^`wv-p(Ox1D2Q$+1cVg_ zC*An(@NgEOy*aqJ=9ZQ|L3i7or~mr=?T7!}MHw&vIcgM4%wbys0hAeN0Lg@GYaGU# z1w^G9B60XFP8cKsb^u=<9u*}dCWZzTGbn}M+=12#=#^w6PW{sXQ7Kd|hHMG8eZhoe z>$gJqX|)KZ81zorNIqe4B0T$lzU?;=v+3GIY^ryLT=&RtA=WpnEJ63PRVqop$37>~ zRaL;cnf?j|Yb%IPB>mvaRuF+k^D|GuV#@!bcQ!pL2Hl>29H!?!j!b5gmAKFW13!#b z4?ZaP&L;5YQ>t(us2)Fl_4h+{G?-ye=%ma)jc&#`-qgt;m$~R9qssSFJ2rrzgDRVuwmh{`1g4W$M2$SITDC7emVj%sO93_+q z{``OYh2PHp?e~PP@c#W6w^5XlmHdCcg=Y@^&*?PR@llzpUz_M?q45lw z`#Mk33JT6V$k7BiDbq7E+hTU2+Ic7qO`;>1|8wyEpM~+3d5?$YvyDNwf0iO3xKUwwrGChg zN?OQHCKE=!$zea|V_fxmwIAehyz#o?m{Sa-+6jnquLy_;-e*b>-WOs(gJjUo!m8}U zhuDzBqv9j~C@hs^3D_TTkajRzekVV@r?3Cx`a}n|%6A9L6zEWZ?#*h^8#kzS_qoMh z)k|Mp?AI~>?)`obG9oSAg}61&_tPZ^pWeH7kC~Nzf1B*he|^fqD)z&NbD|<5kIBiC zpam8@M7ygqx|nH?YstakiRznX<6}Bd$o0cGg67_jcb@(Wviq+`hhuR4Z+fkrlH4kO z{VtQbSk{ln{vWeP3KLDLvP~SWHwxvYi@Cp7H8+^we*OIsE^af@gIlk$zMfn%dzG+w z2QXLGCNJ-fwz^CoPua9CzF=8S+7Gz({W0|`ORdN2L-`-_LNJT1tYQcr$rjogQ3jDp zIypF?;nVuaf4muhA^YBwJ2iEp)+O2os1sWax9?yOHjFRm2H-JDWCfEL4W}Y6&0Pmw z6MJ008Y)!x3+Z8>o7dFQ))rdrUj*$VAbHEx_w^B?ql*jr(NNddxR6iOxWuF5cSGka z=N*g>TXJsaT zD{Kr@ewY{3i})5DZYbXZF*$wEW#w_i5(^@-+ue&3UThyMF2_5*^}3<0?KTw^J`vj) zoy+)Q$1Ic9B$=;iqOPYH@{p?m;+k=^8!_ehi#g(;c&orWJ@QhRTH%5 z$VP)4Cu1Lwf}(NVy97QC)mfQx}K!XWc?|m(Kc+X-eO2)rC*B_CIr)%Q(wzdK=Bu_$C`^yf&Z4g?zf_^+~s=36`<)6nu68-Jws63g6tF6ptWDhc<| z%vf0~c+B2lrRNspP^5Zt0x-n?V{yI4@*$J>=L$q!_dk6=zB~6m8|zr$4QI8^T`JJh zu|D1V=L*)x3Q0aF7CwiuuFS4D-*2CEHZ@ht*ed<6Pk!ubfLIZlMgzU6 z17^LRuE3}9u?~W<0JMB{i};e5bL8wyqJ+OYQ?b6`ocirm!&jZSAV$~zEBA1yUVj6 zaP$A~UDwGCz<7n_&IT)Jxk#bl`AfFu>-vw$xogJ_k#yO4Inv*hinrYh*?FB226wKZ zq4vCDZ%z5_tz{-n%C$xDdk2R!ij}P8Lqjt2-@c_eovcU~w$dtBa}d2yaiOYqYFsTf z`0TiQlf=xd9lCQ2Ev^d~XXAHZUiJlrcz>CPM|&hg2dK(?FD`{WbWI3VrVO|9AslM0 z=B>$AkKEj8Iz`5m%*=Pi+7$57&~4iYHys82%lX!Fd!E0)0qBAxMKh)K4!=yXUA0zH z9TyAw5*$3&m*!VNn&-G1_F^0L!Gj(YG_H>IVJm`1@$ZYZWw?J|5=MJ` zxV8#Rud!*Qb8NyStp_KMnhRviFkn_3iUa6sIg?-sd$p_tFw=YCN6i031nY^QW^2FJ^~`w$wv=n z&mF^KM1nFUE37ZM3ZS9its_ba5J@~Q!kY6G02YEVASbU}YAAh_@UyKAi9Vj?t~fe+ zY%7CS5=*he!2nGqCb7t@fbU49HHDs7)U&fex=e`g#u!w42YR(?ejXoJ_3{|X6_L8% z#dts5h3qbYoZFj;g{7Lka*)+TDomGT|55I^-PR-H~Jy(?qrMmqAh~-H51fX6#m0n zHwX({7M6lKkica+*%qTxDoVl9adTm3&)=Yp=_hX*Vl`69kVs3NWn4tiW9J1f&A+Fw z^8e77NH%sOy8eT8{r4zPxl50%u7^l9$Ha{*pLj3v>BC#I!VgfjUZ31cnr|uY9glZr zGbyo|teiHlnbvGe?0vt*@A@YY6`NqFNb|`4=Uj7+dI1qdp1e+Y2qp`qM19i;f#*U5 z4wA8A-lv)ZTW%%gA+t%e`Z&Qa)Z1Gao}sDad3f|Q`XVT*4%_;>ow5A#xX(SS;vank z4Y@pJ79w^tF>pZj=;YqRjZa8@BU}tO9z3ouWhQPoB*9<5^!9S|xH>|gv3_sS^!JU; z<}X#!1uAB_@^qg=dMGI+Vm=lZqaxAJg!u_T`Y@5}lSJ-S!{0#BOXL|mEHC>}Cj0){^nKTT?tglL!X$z`AZ*=aO-*|TeE*(NR{r&b7XF0OzWZ9SR zJCiw zO6%wk&qJ9s;8>tMRH3G$Lj((q8a3@5D=W#2H}1`Voi)dGYLROw0lhzA`b-p z4m)CAS}>OyNTtbS7}uHZIZRdO;4r9ojg?(5OmKR@Kt|ga{09U?MAD`DylaEum+4T) zRaUtbEz`0{kQoQd(zU;(WTR@^Tx-htSjZ&DH;1pgVL;dq?xM~eAM zA|N4E@~0u#nWssu*&OK?1&Lkn}gGShlx;hUM8;YHI1jLW;7o zX#&3dzigKApa9VI4#{Jcmz;qi=+B>JXa(TrK8pjA2 zO!4M&iI%#*M`v@X{_i^G=w6-g0ryJAisjY*3l8JUKmNm1kEfH>NIO}M18J@EHS(e>tn4ZaWU7wJ^YMCB;^L611A{3k+3{f2R-mfkQ&GJ; zJKsNP!_LW_J^%0lBF}4EleZq7zo(LPK(-t@#|N^N!(nveeSN!F--pWs7>WIz^7=YW zx9x@Lxcw`{*G?BrTOG)ug5GL__6X)*zi{5Ds`}})Vw5C>Q6NAwJ9k2%S`Bk zNqJ$GmHjq4*FzjzJd5p$KoYuZZ&f+DXNlZDA5*W;v$NZS6Jvel`WTAEI)`f%&<9Kg zvCJ!LDaey?kg7++>ftf)$S4sdoRD_ zy9g+t8%j!w-sIpqqbM$BhS9!u)5C(?T(Qt6&CpfC3`%d*bRJ4QE1Tm8jW@B=J&!*@ zvj#IOD}fL;5V7Y&EXsyx?*oM)gyUTMdEf`D_SCa)Sp~l3m6hKbPYa%9rej^R6NX=$ zN=KFsjThOHI(@^Q`WhPhIj2wwLjcR2-6Cu{^lL(Zs5^u21R265YDp^26O|O3-M;OX z5mu+1FUHYpv}xIiE?#syfns5VqHr7Y2{|nWFZ!E_IQh(8vgXBL4_wk_Uk0kr)#nih z4n_py@v`k{XbOe5Gg?}B+<%{TQPK2e-xRXfPnfn2z;{UgI{h|8Onp7PM~TVBG?Z&= zB$~-Fee++Af4OZu)KgV#{nM>xe4Qic(%ajYu5B=Sn^E%#1#>JN z_oWk-VdBOZrp3ZMHJMlulB|e4{K#xE>Z9vHkv$*(DRxJtqR3 zhC$vNO?;mP1SN6fWqhfpYw^bJBp++AJb9KNi|(MKWhQnhT~K#&f%MTN*z$Nl-WbC) z*vx44R>@~&u zG%K6#SXeX^s?Gi=VhSlz*V&4oNw|-ueX!6rI)84r{ciOk#SZlJEr*7Vwi0kSv%+qX zAmitAF)hfI&r!*F=vHOl#daDWf8uisgOvM|Z!DpCGv70xlH5y;<`$VcJ#mS|L@OFi z(x<}0;DWY)iDt?OW;^h>PV=nbtntI>no5SGvKNpWtoNS5Xxi&bs_U?d^gO!S_?P?O zQ&rlneZ4p;`1a;3Cz01BnB7ceZf2&bJ5ji=zhA*tL=$w&=RsNS#uRsDY~0zQ)kLrH(*{Dd?~pp3cR3~M(V5o`zK`Pe>f=?Tvg^e`$bFgMrU;zw zNsp5@e$gDrDIDf?ak?hly!5kKv^v4$m2wuk18=cld=f6zEh!!yShKsJoYbRfv2;_d z)p5zG_A!bkfqiog`m^aP$;IA>H#@o{$@{X`+--c8@XG^P(V2Qy2 zE$N*}efvXl(+y@nol=MICJSN@b>=dHr#th|&!Sp3h-(vkqKo*~%TTyI{CLw8clTcV zbY8YDpUl+F%@~l-y~Mm}!JP9JbI3NKI}uya-;JotZu*tNkGQ5KKJus!fwUJG5XzY3PxXLqhku zhq}AVYB5Eur>7TucA{l`v0mh{^O!y`B~93h;p_u1maL9WrNhdrx(82D0Lh!_Ay&H+ zA|;}=8pjsFDD6eTVz890pQo9Jhn^*sB|ls^I#{9Hed~@j1R8e^wKf&rc63?DH+P6$VyLcTO1-S) z;ItYWe%Uj8y*0^Qd7t1_(-(aDWNv)W*W7SZHbHv1Jrath*Z$r3_f75jxe>P+r19eo z@`WkhZZiJhC1G4Idv^Ad&1tEErLJNtyXL8uPl{GnaL($VPE^=#_mcM%Ux}~*Ye>&# zsn=#l>+E>5V{b4I5-CzN?Cil%%ZHj|YoU5;@87?Qu+bUlH*P?8k@SyjlOuK=9a%2h zm2UqBm%nUjV)(C3(L^3*!03oua)Nr;d=g+Q+%ly!MF2ovl4nzT>rT?_Ku#JQk^WH( z<9Zf~GBPkY_>q`vq2p-t5#&{q-K0SAm=B04ALg1KIJ#J9tq z%~>(C?!xu2dvWL9N(=aeorzUEt-RzW_h*7h;$c?uHe?M1)zs+kVr)RO%_bs{+MQqS z>+S7KlKpA^hTURHxFhNis-iSeQA4nsg98H4T#l2P2HB2>PWivYv8~T8vW37zNB_@l zBs`|1qLr_=UbpYbUP(+k_zU+jbC%~()BXLWi(1WH_FFt{>XP0oAn7kZ=hj|& zam0^E^;PnPcY?~X-E>2HkJl(3pzCWVXkK{>_!Um4?@lxy6vzh&lI$svlcO|*lwK^@ zWu7H1_jM$Q-p19VAd0rGuM%hIJaC`7%l7j2#D^0+e)hx5aCTfsc@e+Ha@WT677!7a zOtb6?bK+~+<>Vv4|53lcr2;$shNIOsP2RZV;>ZRGha9a~n|@?z>ol)jHEyc{| ziNp6>JC*k|Sg!=>RnHh_{sfv4jKxV8gdCJe`(>K{?wrj4~g-| z{9RcN26k0BC-;=amJgrqxw=h{ZH3ZF%P467S>@!Ak91WG3ytcoWGvlLtqdW$j2ERC zlYJPzYtHwPzx79kSkEWwyxgzw6K%dOU|}Nc)b*L4Sl(z)?(?1N9bhO|4@Csx+K%^SSl^s=#}Z0#t>tq!6* z9j|scr0x6lM3&5~!K3*`cOl20IU${5dUL5m_bxc&73@vHA)Y`u#JYylnfF5)8b>S4 zNidF%0x*{2Ev+q6)K>dt#?7XFUIsZG(z=YVdLm6xQtd0ww{Sk>Rlb4_R%{&|nQQr2 z>ysu_B%+}LI+jn6X-?pBiGtt=4L9OPP>x(7vHEzKPV?CzYp!ZEb2!!f+(Oe#h>Czm z!AcCl*x_1pXgC$&L{^BL^^uwNi}v<*2~yrTU<&A3koA^QktT8#ANP_glDBa@ayP{npkZr^^w}?Cb{|dLqXi=NS{Jb|9Y}A2>My>y?e(9 zdzZrkpB8%5S!$Y9;~v&V31TUk0d8t;DPlN3P}Ri#r=|>#~YlU?-F@9Yz>*9 zQ7*;h*nRZe%NrTtC&Ntue-|dz#h|A6;lnW@n=#V`2xV+CyAvtAbMG0|g4&IL*aoysHCgojfUnnM6 zD%SZE(x079=e;%kb`>*lscw0DPcP<|3qKz|7 z=Im6hBIL6yWP0U7l+E&FGE)doSqD)=f(?Xsc-ikx&B~0R7dn=;K2KiC!lZVM>XZ<1 zkNy-@d4eX5<(@wLAgpJ>8Sj%5pOBdL3tqRDG!y-=HC>%;0p_YL&!;lb4Wdq#M3Bh# z#sYIIiFnIH8he)-U8L1nkSk3IL{B2miTB3nMQyL>Qe%_igtE#SrT>QENG%Mp|56)| zyJf-iuJ@Bpgqf`Ox5M^@Q=+I}JuW??$-U}NoG3_XP-{mH;KSNGuLA4y{wv{wD?`ocgKNCGX2>~SeNqzTn!ZX8e4 zH>Qkp$kDft4}VTjcl!EQ-1W0N!ACPAs<9#hiHdTz((C)R3huIQSHyp#DjQX;jQq$9 zs@+CMbTH1T^3%kMgkVehUr;&~y}-LQdydVJa(h-Y3YuM~kna+V$P)U4NcG-6BG+$kv-IxA(fGqhKw;I*Lx_o($ zh#QXu8yn%b?*9?dcXD1*3fVVFz(7ec-5g6eI5t>oub_6lpF;6fq57URDrddFB)|!zQ%qpT3S)YYh4R zd;Af^os~x`ztj9MaY?$R^oH`Ci22=PUV974mgQbBt$DE7+xMFsBT>`kA#rY_!dT?( z`l%`DC1S*vzzr+Zay*jgcm50Ru4LT6*R%Qcbz~703J=o_B_;`p&Xut;+|baT-GhX~ zt}Rs9k~!*C^jB9@u^d*E;gnrbMDvSm$@|OOOCncZ3rWv){}3PrlU{zmb1+%;(`ax_ z3V0fv_Vh6+DOj#@CI@|8z)y<5%wE$1iWo z;e{kZ>!ApnC+-WjB4v<{$mN)v72{hP?niM^_ByiLh4kwa!8p&vzZ3o%UPj5KmPU@h2L+Hs;G4BKr**N z$)-7v_stc(WMqRvLDHSO=@{84Wr`=Rdq;0c!u+-dC>^iLTuF#7vSo*JX zmOQYI>Epi7VC7s2u2p(S&lL||)MlHQd@q}RA~SVCY_`h~FoL*)={2R()@{qz1L-)i z`?R+CPiGYzo@RC7@zX(;kq3; zzc`zFNb7LEA5Y=IpZP6QY?PgiV2MA3JWC&BJ3*?_gtNx5=OusiW0dJAM^`ByaF6>ARA6&)D{Ou>GaKk@kWgF=&MXyvT+5W(rd;Qv2 zg~*Jyy=aNY^%AdEvG4(I@~azeygcnunE|B--e$_A!mZzFc6i8po;pS+y?ZT-trBUI z_T>G7uB)gt4 zUZ_v08|U+IcWchQd;3i1(KQX*vb^?_FCod9UOKOhaU-{|9z;hpMcLs0!aDLF7PTmT z!J4AH8YX8Gsww#ts-9V{ronLWe9h9Rn)_Yqe#)$L$t2u)QX4D(v6Rw0_W8P8tio9i}PmpM#Rl0$0 z2^bVczQAX^Ps6npT5R()B=j$k@X2bmY-UIrbmo```qFEm9E`k`Qcx&Hk#+OMGStW2 zbPJ~Ao*4w~_k7S$a=*)h?RRqmoZpjdjzH5cf48$R$WO&^wR!YJmu<^C;$Yx@SsF2r z>7Dzc&0D_fGaSh{lU2ABQ*3HZf$?|YG#JA#aKRBl68m3j$lgI7U z`%!u4xmCo(OHJYGu!?J)q6P|+LCvw*)*6=Kj3X+lXNxCAHf0ZgvFFwYA-~SwWDQ3n zS$|*V@U+wV^!S{ps3C1fwLIBV-p>*HGOmG5T&DV?ts*D*_Kb*f7uo7m!6PK@p?qn} zX91Cs_kw~yhjLTWs#Jz`jr>7D>Ir?is6gED!s*DA6d0qfTWWWLNxQ!9&ZBbJisQ|hA)4v5ou*XeRs_>Nqs)-f`&f6ENiH={hW|QZ2rN}TjS;36ShSe8>Ebx)(`d^k) zhRhe`%|<}DcDYy?4^pCsVd39YlzMi$jD8(+|M}-umo&Wqw3kjckD6VM=ViZhYb>}` zkkE^tzY7P)9&gFcQ+6e**AE^~%+S~-+~IBa+=?<0NGMN2(N;qR-Os6Sd^vgD3Ki}2 z`tBqhw5wjTJEaJSV~Pp}J3WI#d=6oJtR+>A1|zK2?U!zlq9=3RQ=Wm}K%@%>ikqBV zdJUhIol28`Xz0C{l#n41$%?1CfgO}lk2SJw+#(^RFFE$^7ZFF-n%1>uOo@Ew04p}?FF&^@u4YAo;v0_7mypBQwB*!$kkAU~Vdr}`kIFFc z5gBca_qidZbrYR5X z&@rR^i^$AXao;Ltnthn8C8Y!ETE1PLB0=T6?J< zIZmqaHV|af1D>9guYS7B$g2O#`BR!^W#~HMfI^w9LCDn8V<472`o6a>v!q8;i^BQ0 zM)$$uDV#C4Yh3|cvo8hZ>$ z8DgS#564;#wf0^R4s_J6_a_!Ml|yfB0BY9E%#1UJgZSo{(R)vR!Np~)RR}tR$GtaC ztwt3n`e_Q5vR(NT@{HE*ugc4KpO|L59tVHjHHA zNMCm@A_12JXiTRBt%t$Gsk5NJZI-8pUtgI2)#gMJK7p=ytMVH^K-@EtD~9)4GtS_J z{(98zD0xm+UUn3Sb*DBx6&;Pr^rGVmToZ_t6j$rz{7=ijpCairW*80segVbbu=3+s zXHyiv77lln38!kODiV-)DfR8EWM^DIc94ZjmRwj^4tEhK=^0G+-h3OMj&H9Ro6+JK zsBO-^W^B;2&A0r?g81$(!h=9|loc=8{+7cDD9^-3+Z;C;lR_QL7yQiX>V%HiL;ZbmQeNqh+g#o~2>O44*HR!WjJn z$Fhp0Zh!EkBEx!`=df$jO6jHzC$u};&9SI}LVuzX@O(^L4aq632EA~sCRU(I&)_$` z>q?j}PTH$W5@lD~geF~AYPDNpG$tvs9-mnU4_u$=bpoOnooncBa}?j)TJCdS>$J+~ z!P`qLY)i2r&$mEty3lt6yHIE_B{YKhJ|8fiUNXhJZ}O_aANb zdG^EE=6bbi4pHTUk>AFPAlO8SR(7No(Eki5u$yZ1``-~18(exxua!jVOqi{CanbWi zt-T3|tB$pbU9g|FeLus{uBN2@YX-|$S_u;)vj4P?J>aL=FataXkNRdkcjm2>}~cl z`&Zf5j9uEzPxkSOtr79CVCavl4}k*btrd2|3-ppRXKmBJD~dmu)uyZ_aUEVNQ3t6dF39197|oK*n^2R^rdyEA%slJI#H`BC_pe!s#3 z4OfKQy~D%#mZxb;)|)L-KPVn*p44p6f18SM8ibylt3fYFyj^d9gn++J&;7#4tv<3B zE_pPO=~)`d+vXBE?1_E4`$$lGbs^WPqhNMv9umEL^7NGS@zLzhhmM~REz%M>*6m&# z++0lhK9|_f?Rd`Y>}mJ_G+}SzRA-(5;8&tjXI#s5kF+*7xkBlgt}nj(bToy z0Pvv2LL5-OIkW_IXAx;>#EL2dNE}98i0k_LM`lNA+Y0^`x#6Lq&Ag*hqa^(CVSc|vRVH#as~$Gng|qil0pBNVszqs;%f@c=AO2B-l2TmJF-egF z2(=!{!rN|dzvrx@C(V{CIh|vF%>4C!u(?)DQY+liWYn|a0={c>_wM1kAR(Z75z8CN z9i3PCsxUVF@m--#SH}ENaZFrFFR&)n4V3x67|mZqLR3Fg)tf9I0>QJ?GFa|=b}~9% zsEXE3rctGVk+`#AnyiYlAN9Yf%b6Bfyy-`m1!CMUvU=wMpO?KSLH)J4PrRNN#R)8h zRvQ3#3fUdJeI6o8CG-1$l1`QWHQUbb zr~iT#=4TYUS;~H#m7G7QoN?BfT9+H#glYGrL`;fH4&OCBw!I)GZ-8zaSa_t)xfLGn zGgDK`khXkAiyEuj|&E;?jt^Kpx3EpdWt0+!UAu&6mggWKZ zi`2;KMH26DG3=9=XL`gNnf?P{Dz01}JQMczAL;JaV9mMGVPw9L_Z-b_2Y- z-X9o?GV*wAu7!oy%z8bq`)gW|fzZ z)ZSfeX&aRMlBO~>3H<$=ih(gf;ku!h;c84Hs6=db*`4#NYf_?^xSPItNnKA}?`X10T+0$pj z3=4Y}N2?Y9jcmu4rT6{&a1vuIF1ry?foUKp=Y9k0w^#5>5BNt%2APAce--ff`Pe4RAJ#)B*LX`V9*NHY6$7nJ$Ap1 zfBu94SF0L;qy&XdUXws6Y?fC_FGwM;*jBe2!arU9_Fy>B zBB2A?DzYeT1-A_`4DRQHY7aN|EH*R|O&OPyHxb6a;+!ifKVCvwE39Vcmy13w8jh?q z%T9O6%zcnlK{qWbSpx}{i-@$3y8<}zaGaZSt9gpSvb`77jM1sGnS)C=6l&Lr+|@Dh z^}R8EUoKOT54u~$W!C1(7ULW%6V37wK+<4jj>6mcg_mI#4`hDs0wW96@+ybwm+E^( zr>M03JXP$xh@IAF2+$PdO%*3to4aldFbT*jw#o`d+xL0YUfrXbo8ubRT|uX6e6pje zn(G%0Imtb%FP+F;r+l{WqsXe-6Mbi`vdW7kgc{c69~|mfsH}|o%S=$2jN!VxRURL% z^X@Ljv{@wk_(KL-c52JNC1sRE*sm*dWDv$cyT~pfP*SmmD{rM6l`kHc83>AVD8o@@isx5)YubD5v!X7SUa2t1sd8|c zb3fA{or~S@+YiBBwRf_v+GCWdC|iZDx0tb&akC@6y*Lz28hYwInZ<6~aZX2*=EKkc zkPkbT1*~NIYU*E;tK$5n<;CUHby|Jj>@qzcDk7i(y!&lACkba}7&Jd5l8aSGlR7NR zx#z7m2`67L`h`<=vJT#?C?+3JE=`3}CdY5Ayuwg&WBpTKs}S)7S%PfeVGrdiJKQ^` z?M0%jrQuuLiYJ$EBD9_{sMC9(Ai+}p#b3rT|2Y$2TxUtVe)_Mjr24(xrqlcyN+DhN zP4pfHK*ckW{ zdghklzf&HszOIl-tQ5Y>;FtY(cVX8TZ|68{rLf%F4FyoDzlJh~hy3Ad`jS52F`NDS z(u+()uf*DDye1gZ+*s-HDqd==q>P34b@Z#*vI?vn7YYpiL>?@zKPnI#+F_S;^y2TXoXj1p*$uWi7kF4D%-xg zqo17zuz-W+k(j2{Y(dmgO?W%Eal$yIII2rA+Zgl}w3agti2(`KW^sO(+~Vwj}aip9l2&8~<=KH-)?ybQv=MTQ__?I^w zuBHM^f;zw?+#b;-F$b~-2TS2F3XW%c)HQydmmM(b{qr|{GE0V_=^>TX^h@mhl`96J zOjj!V-27Zt0gWrk@!0i|UF3Xkw=WwZApjW)Y=&av>>e0ceh&^A2%J#>ZV*qSgZMF{ z%-#L=t$X_ZbTAU4h=wFhpY3y*E1;#+uHcd0pDhpv0-n7+XPfiPfOo2@u3Au9rdmx} zIvf@1{bwN34pKm(4pIn!`fyHFt-nm>Io|ZU8B?haKd^8^c~K~7D;4lh+<+yC4RkZ$ zaygXd2;G_K>De*?WsSd9@vz?tWT2WJ0I8wq)4end$PR;!UBCd4T|)C6yUz20xT){* z)YLan3=d!f|Mi4^y}UvMdJ!XMHGs~iJ71EC>F>$iea67q&HnTO%7+i(2?m2g+6`*w}->vl*M2=^YqQKIR2PKS}d7iAfqajAPZLUdiQ*=5 zfnZ@#@i*syMkchlV89%)Ur+)DeL>@t<%`RH@xV!+gi7Q0ZM2v6 zX$C#n*a@Vtd9MU$Ia^Sn-Ey@ck(AXW&HTmHjrZI8{^QS&9@y__F!T(^1S3Wk1WtQ5 zmbfq0ve}>Bh_a-N{rFA#oX{j{Q{`q<$Xxr5JAk&w`wsF;3=ZwH38y;4ab&%~h;m=b zT^;T|d*U)F@Sz69-zZD|&M7J^T3;yS@gCm&5!`)qN2^+8uQg)L*O`t!LAMjHq_kV> z#9_`oy16@agrD9-KyF07l%kmPG(b#i#v$5^+G$|?iWBTiL7KEJ)uiPfS9kscHo&Ux zY!GJ5Y_5PS%lY?l#|u-otCT(fM5?Z6_IOaQ)t-vvHBh$Kf2JqYfiqH$LzXycmMAPP znJ}My>x87!SsqRE)$`@yPsf1YOy~nhw{DC^41#8jfQ;n9V>ud5MsMuo6Qa|pp$h4E zLPS%(T(N7{cLFGUfnOou+v^&{#fQ?k6MuO>i=&$CU4MN8Ivq?@2E3>MWQTT$@1(zW zG&`05r2yKK9Lm!Z;j;ZO*wS25vXqXlT|qcxvRw?>81UT;;WDdM8Ha-+F)kJGHy&j*b zPaHbBRKfsVtKU6hS99C&i1`lkM7Aw%{y}+`LEBrqnv7xAJWh5e)*hTjdG$uEy+_mu zxf*o?nPGGlJ9nxj=g0W1uBo87nLO8m3hIu6;^I_&ZUbsv2HNA^-E5j=bewGZ->&Z< zku>95Bebe!Q@REQ=DoQ~_NxfxcCp3`D62Gh&qO*h!s?f{lro3@yWRpX9&!;=C+R*>b=Gqk2> zCf-#ndppP!Y4YOv7#{zJ$4fx|5D%eDdWs&*bzVIc|)*s7c;^*e&{mI&3-a2le-}~EGG8p8ABOt$ohfpe2O=B+hcHr4#f1&Wr zWQN7s)|1ID=Iz*W2f#SIXzBO7KpuDbN*FOAlqQ&d3LS+RdEXRUy?o=Q*(2!n;H+S z9W=mreQe%sG$<_pfDh-gSDDy=*T+|AL;t4Uzu$tjzSKT1KWnz$E_2KIcY% z>&N#+TpZTfeUYIh=5F?Gu19~Evc+lpSn`L;|*yPOmlINYh zVe2-zCAp*_sB-BXw=@(HQSYC-Wkj+%GXw_|Q!oBx0DTV0-Luwm^ZlrJqqNU7z5UJ&I`*jh6x8g4MKrj6oy4i(eX&^qdK{2JznPc$1vcIK=t3RU z-hT1!x3_BrEPxLKY>!I2c_xv-b0J!_>Y(0mUK=O+od3K%)o}8Sg|$w#&J6Sgpn5Tb z^bPJV9}CNvBm?8h4@kX7*exdzf9n-CJ z<*&MT|3P%(fs&HkFWY`Jp0E((>12o^PH?(z%LwO9UB|qboQ!nmlwUwZv_l*B%DoLt zUSrujhlp%s876JXQEEX$kQ?lapCD|g7pkWvTAUitWSgC#RAC$z!w?>XuW-VIghGey z{2bWGi^3_aAdI8?lJv*LxaB=++{uA#+v@7c!`&Mwgv`~O3tOkI$?+d${2Bj*y|O!9 zHlxXwcD%o?G66r_4i{M8ykQ&N0;{?IKt+pd&w|5Ub`U1GkFd!c?M{fOn+ zW3~gvDkKEv&t>x;#vLv6DNge5&JP z5JZ-;?>`!j9fjyVrLo*L&Q)Kjvf+vZAh*)3#!B4PnQ7xLRG;7uk)i!Uy#CmJ3HQQj zIJd)dHpF?IF=XJNv(w8o|BK79K8!|*-Bx}tcH~+jw0Gj=e_H6fHpJt6uolW{H~RW% zKIu;HWHvZ``Z;Dy)$Fjg6@|iPIp38-E~(C)h7})W69;%bP_eEPXOKit7HI3#yF(cQ zPzYN6-@yxCA*_vmm|yg*FqYXEmS()AS08Y(W_aJoIVnd^c_UB7*e6f*aP&damy&6z zrl9kx8zlTpJTYKRs$JV6pEIvthPj4&^Dr{x)oN_k=O`|)p`~@bw?~H-8~rzR>|u9j z@qla>6{l-yua2{VFx!%yZ$G!WCF9vpU?NrzduIr%AQ+&l`>YXAZ%PHOl=(@@<-So zji_~)>7^uQWhZs<$sBim(n`1e=Cn3=g1nI<$2_(iUxS&bhUM&IWrnG?6B^8y5E33w zj_!GtZ|crD7aJ4XXX1XnVV3({YF&niCrZ}oWT);b^>4GH1Ov2t$N-J%-4k)|1J7_f z5+ReS_kI?ng$&=w43TVRvlIYS3L@&>p~1pS4^Weg^@Rs}9ZPRlxU)jMkZZVFohfS*9r4=SlXwNj9spTJ$ZPLb9*$9eQa9jiV4$6ORYK{cQdEzF!g255b z@5|T%wOccWy!r$eS)DgQHJ7`}<3zxzz@(CtuGMx3*n*%jU1KEAncX^r*88)D4r~`1 z>IB5#dvqPNU_YO>RyAgGF6z)VI3#OZ_e!N{4RmKdcHA3!Al;8C@))-f-_r1kTO~*0| zk3J{=R>i0st`h!a&RzK}$puK6*Nnbq9sF3OOh!J>P#?vf>LSebYKo@cnY z-d620XnXgCIQFdff>f1*am@4$&cEjNk*y5^+tP5^^>n($5Bw{mMKsN;8Dd{_~a}M1eY)nRFlRer+0M>d1FKHd1-=R5h zklT8zAF#Ii(nepO=Yc=aEC>5Ydi?gP{Uxnh@o(}?3wvfDQm*gNC3#)j?ma7KZ_v`ZZ8M{0xNY1x@6@Sg zAmUgSv1&CXZqi^bAb#)=%CylEN`}zN~@h+B@ zm4?!}BS-nn?*<@ZDWvrQ$2<_f1!PdG>j$uO-K(pafGqI*;sU77xqiAS9pC#zTk_BB z3K2hE0zaA0#>+s@*O}~!FtEcv_)E=@9Pktd1iT+n z*8KIj;F!i*Oo0ruG_@C%C0o5Juc0D#-Ghd~q-LP0+kR%LZ>2ig}vRs$UyTTEA1x8|6f=K~@lVp4K45T>W1VWxFo%9!5W|3uq7 zFpbB`q3+x(@ZI(#bnND2xJfm*yp7PAn>_t^V(=_spg0vHUQ2{HcD=O9OnJS5v)J4b zBThTNzMK#nkA{{=UiNRdnn>8a12>Tr{$EN4L`EEb&$cuZ{*c}UL4nSJ%E0RF4GJ!*#@qXYik{I=*~93RKK@R7 zW1YU5KqlVdeDn2CBZRMzN*_qDT+EnzdkXk{3QJq0zD4cj^SsOEg+mSSihpg&uly@=T5{P_i7;CUfQ#9tu&W>Ko*M^KsNf{4Q$D5 zegyG0oAq$DA#wx@i-+CC#vFjQBmHe5A=4P>w-rT2%>yS$0L_z6T^*dY_2h#Ktf2dO z7d%k984@cQZn`o2-zyE<)lKs&)?C|AI9>&ayxEwz_&UhIxS*l-zb3i)`G4ul+%-pT zUi!{cTHP*D(gnzvxtu+! zW)*~0L8O!lUtZ)jK8{*hwdVCtIDWe6A{4%`tDCeD`7_v>(Fpd3A9mysW<8Sz!~t zbPIultE{RP6gJG;jWfI1m3uEQZ`CzWoVbfYlAK*y`UXC91c-~Gqzejz*U7(bE~0-! z?4(uZ65gt*yZ>f3@cmXBBWZ4!vL}V#fqSj@{+1n=-*{qZmwo-hbf7at>{2icJQT#7 z4TRLCvc+%bzI)3>VH3sXu`%ouSiqZ(h9^j70JKow>8!TqFoT-~?Gj9vT|lN;NUa$f zP;>de{;L@F1cIUo@NXl65L&g~nt{vz>o1T3%+9K;oH>F5Jr4f8;i*|lB{Mk+L530y zRx^M9y7+BwvW!!`j^jVCOG7|Pe{=g2LIjO^46x9#2v=9p2^sWUxeIX#2_&Q&jF*=j5ER95 zysZgeB{$H<{_oZkeo(qGG?7GnZy|7Y_kt0LW8~i7-+wI=>COm5CW3Nd`~wyjXdn30 zvVhI>->;EL?}s3LEEboou7>b&hCo-68^oeRAw(wyH#9VEbCLZ=&>^gpTQG~(7YQ9Q z@-c?fgoFeY7c=~}5#Hr=(c0yn3?4U zJA6QG%{@%hObZVYFmzyvq1P7P-Vl5JqHGP5NWnB5;s-WC10~kN@1|LGMYtBFWqKy& zP`p|M8mU=DPR!%U!iwEs>YC*54{;&BC}?Tfz(!k4 zOpSfn9)zbd^97+Agik=guYYJH^Lgdv!H0(hV4vk_>&c=1l=16WT_wsUru?RPx$avh zDxLC0Nt%F8{X>>e0sS{6mB5tW@AtiKv;XPO$7Uu59#X2gq{RDEswKO`#QRTergCiB zLqLovYCw~UM)u-BLth@wDA~}VDk*Qr7I5I81o;R(2Ze`x5pm^&_@bl*6+S(sr#taJ zq1enc=T}6p+5YW6D0+vRdOJYddiH!rhCVM_efsa2S2HBE$E$(}5<;|0no++NDvd(M zrwWxJjXVaEyoWp}oHOwB)W%QDZ$nVSJJ_HIMnW4L^dipvwuMUB z+wIa@;_%qtg}JCV&Or|bokADqYj`dgZG3z|!7xH#<}ML5^d_d%DhX~GxvnZv(?4NP zSZj;9eEm!!L)e|NC0S{Fhn7^=;M3iBmc%gwc|YtZLWwrMih+&UedB|Sbc^3H5Af+< zVtd2K=ey7(+w20XvQeeN!p0Zoa6;fhewr6iJYGLQkrm{Vkn>{B##*m?0O7jZhc^(H zDGeP#KoYU22L06<)05}i{CIs90m=|U+e24c*t((~(MPA167*cbyiV5De(UW`ZA%Nj zyp z5@COTlFh$*7OT~`c(Y~x(nQ=A3za{7bxEkcDQbpc9?Td_{$~9|`&W#6kp9+gkNOgq z2ZIhFOn9fCpnK-mXA8>^D*HBp>sZ=9X`I0dVn}*tk4>ug!zwtuXXvF`d%@e9@^N1q z|5n-n8b4@Au{Uzs+7VTxqI#=N3=UPbesYpR z#Eg*cPe{5?+tQVvt&t04(>{Amyk(J7!c>(Ko(?wOh|*jG*5qV+x(9uW0lJ{NytWnt zu4O;Ia6lW;2WWo3O+*n7j5X=fT^PZ)q96I>sT{I(z)s9|hqcY1)45iGQK-_+_kIq! z+xWyYNVeIxDwB(J-vWnrA=O~LV5ITopYwRIu-zUYC!f2HWmo_3L2oO@f6U@n_z5zh zzm5xjn#su4sR|s6vXbwUs+h$Eyr|6*tHa?6x|e&a-oyZm{Sr1YJA;k`N%RsGJ#{bg zs3x)@xGXQ@Yq0jwZ=z`?u_*LZ!X&0dHmXCaf5P1l=f)ohL2XU z>gX*eLOMJXO&m$L<+x4SWg%%gC*y{`&h7no(LeHufuV2xYSCtWT^eivMTZZqKjiS3 z4-td^jF1*&m00^+mGI~pS^AdDT8GGx#=u8`0MXj8 z!;5n@mXu(jf<|)Hv%FgGZS3tt?t9ER*6@Nt&h0LVcu=&s9ed*k6Ge7V?)x|8FUV9^C81c0S4&VPS(6j@11iQ;(30-~kym996j>6%gT$y8k7 zK`U>dJO1ZPx855Y|2TJf_~ZQC?rlc6XhqwT2&EjWYMm?Il1i!Q)cj|M{iSyeUah2D z!G+4vU&&M}J>K<(e?a0THNcN(d&}FcoKv$)P{d*y)JhzU!{o-pR;J|-dEG7dO_hu* z^y~I=(-Tc;nVW9f##@%z@t&(W$+=2>#JKpzA?9g>gJa%jm*qR)g?K(C%(WSn?9!4H zlf7<>*VjrHvUc-ltEsOn(=!5p{e^35c0X|i7mx4Q?-&FEm09^1Jxj~*xLSvCapAh3 z!X!TyOBt%{`UM@1=i&LXcd`bWXU*arwV^*>mH5N(68d@h2K*Cuir6J1Np@uUh+?@| zCj_wkb1&WWY5cBOmSNJuCedm4U6x$(Xyv+d|A>>=?72jdiGn@K6NJdFfHMF*UJ{bx zyt)H+{o)e%1;^Sy!S-ikGnVvR!7IMRq+%PUe>gXHwsORfY0@HPQPPFUCM6^!_4v&Y zyq2m_NeR-c9$Yvu4yLiwMNT@0{0UE&K*JJn#rMC52SzdrQ=;~#jcQUD-0nv2n$5$q zZ_pcb?K0-X24&@E2YW8IqO3c=E$9~1TN%MmWY9uO7ZHB>38nj=LFGumz`*sgUu=JA z@FzsdfD!Q(4Hu>ycb_V1#&mjzFQP2^9-mU`i>PwK>#whyv&W2pCKPmDYy(3e=L%e@ ziH;aa+G#?fnyu*6TYAewLxT=RkAA$|1aDsh2nl9oRe4VE(qMTa0uVn0jgZ`j{&0G- zA?G4|b@eN2{eT=h80RkHe<$f4d1nLtv+W_yCn}l^-LIb%Z}rkNcdZOU<5TO`XEpY4 zcs30HE5E&9T(kCppMhsiR+{3``X-haBEC$SUVd08S$k$i~6?MG*(*Pq5I54bY#I5G;1lT4(}lHR|JLUf7=K3G@&{K))U&Cyqwq_gML9&m$!8(wDaQ_XY}pFF8@ znDAk_({^K+sDLeb$&L?!{-1F?g(lbRe7w77P<`2;cc`fczwu4!VjKFhrA5`BH&+PUQ3<4iqAZo7g4$8RXe}8>z zXJU;>Zc#lF54#m=y5LV>D|`_7k9wb)L0`<1=#$5u2?~!)y3OCAP5{;xgB4wAQ(Q_X$ooZgervwBNeV0hI%S?$@{(%8^1up13t zj(NccH$VK>gnOggu)s7-PM+5FNsLpG87(;PhdmP^_tev+f_UdYPfw{@J1TikPttLl zlmnc2vTbaEfTS3<`AjKRx*%EDWS(qPT1rTbnBdqz$5#iWard+IK58ikoX~zNt46P* z6tM11J^y{CR!h}dKfEssW1P|}-NlFzJf=}5W#`6QwO%C#@pCbFstx)Qq$`OIf)dK4 zgmq2-qxpgmF!GC>Ui9mI|NQs9nR$SkBk#{!4(Zg_)r`xog5`2-_}QLW0n!RZXc%@MT$?y? z4%R8an^Qr-GKDHSu-YrlA_XYZg_m(GQmKqk3h9&vyB);SUeA$zkw5({Z_N0ur6pTD zU~RF{qtat9dJRBSg5t~w`MqJ%yfUnK{gjZ1$L$e@KGRN;fCTmbmO0kf>pAKx84inu zAD97s&-X~8^7?P&CvMkB$7$Ny+P*1&_d(J!^o9{QiB!t;;=uL57#$c81|tcISw}-4 zV8d`5PBmzyO#Je~?kR>K(C}PulX12UAAAlEH&)h8hgET2+Q~Fe68+WYq~RflIcri1 z&%OT0&)SFo`uH3RY&qxu8w!egnk2|zX5Vi(_Rge)_U`B$fc@{ zZ(l8$y&p_u@Xz8O^gm_O3#ZP8Yf}W9zcUZ1T_R@K>8g?&$=7#v&D7y#<&^$()fvGA zKT_p2C-I+CFb2znl!Q3?t1f#G6vDl=lW$;$_lXsVOa6RZcIyBHF`{11GUO-=2wSN~`0iDV9+W?-GgnAAk*c2dYjhb<$HS?UT;O-y>qZwh0F{~hru-3;vcCS zeffC2)Eo-f?*-Icae3OFUda2T!_@UI$J(uI6{crJWUP>o2>JZ_l5syXn!PJHizw8% zSrwB`RW9oe65sf|RYSEqRcBZ6j>L_<1uE%3-rjD0lKoEBL?!X>>sqjdn6gf?h(FO$ zb;g^w2gwkl(O)ldI#kvBS4%(vBM0S%i2t)O=@ZDTohXg1kp=}tbd}TbE8e>knizL1 z8^Ct0o?f83(83%ON`AX9t)1ApTxf@;(Bk@cuoY^<$A`qP(;PCL+UDEjh&`lJkAfDw z$zb1_I`%90b=jv6jcG&cz(zT-+M2`24taTFXkwjZQz&SddY+JVWpnone9!&=qeG4{_tK<^nkSzjQ z3_S@W6|AJPd)JH?1Y9WG8c#Q(fhGmcZA*9KifW*^kuT0z#};0ht{RCcWf+9H%8$gL%779;Q*q; zKVJg%PGL{GTUU=?7ua|x6H4O&@)H%^-G*j1svbk;3p9Xo`8JHU@jr+15M3npmF*vp zun{8>xNGP=SNp5BTQUQ-rcfYk__(t=dfIutYp@JoULN~$p-NIr_yP?9@$z!G?5;UF zOVn|uqLM$M6+_m*7(F;dXL#Jul(0BtQ4>1c+soGL6`+S((-a$R9#Xh;5+mV{QiSsR zvqO8MNIU;}v!`c!zWj%k(Z1Y3v7NM0&XW_9)sg*&=QR8OS6?Sm3vf){BOwlQBb>#U z{sT12AjnRzClico-@S;QGM{T~=|*7)zK>j`nMG5Ir4($Trto+n@V!UOyIQ0hqze%G z0qMbXEct=e=3mztOpXvK2Of^-<2=s$%j3|+%=Vhi3QV&K&zB3i#>+j~u6flr&c~D# zhb-{R+tDt(!A+shie`AYju|K38B#YgT8$p(JU_T^?DvGpm=$Z+qBS%tF<>VuiEA>t;!&sBIwTxH>IrS!40aS$j zn#f^Tg84^M3nU^W}h$d(0+}^R#vI=*5!|r_qZx99}(I9q;>h-)(36Wg7io0)_#d zKgJ#(!;2@e$w<1<Uno{usL{wCi>PR$< zT-)(-`{+@sx52ebsuXcX&*hmrIpdxirx=Ow{9JW^>YOBY^3!CkUAVzE54(e-!`Zz# zo%K|C?x%+8(xHX?X>+sY&o4E&xMOtUOV~CC> zc)1?0Rxq)q6Jyat?RQ8U67hwFI?(~vY@f~>S@&juNKBGh2yJpMnkO5ZDN zU`z#zAmC~dXjn>GTw0Q5+#KhnXO_k6U&m69x845G9@>>0M)-R59ofv|^xuVHa{Yf{!~#XrBHOa$RSJwPQ&{X2@lvyY zWDm@Ds%%s+T8_{{*d1^3TwFaZUbHc|IUmTCo@HEj&#t23I!0(cb7zzg5&x;d^kQoG zUxlU?iVU7LD|#>?2-{c*d1M7~&NzZ`CEU&zqeLvM4EJ{t>sQyCdOv{5mtBN#&_sht zAN`0HM`S^>SW|CwRGc@G#j?61oW(`nvAST(fbukJrbG~5c7DEyl~uXC8gn1TmuHE8 z-jtHL`Z>XEID>uN{GU2$Ab^PSbJ`W&$cdA|rC-(C<0YLOuZ;ZSI>#T5`!RX4Jf1Sg z@#ZRka4{>e#OxgZ{iVswp_;?V@!;#*;PFW0J{X5zgG2y-)Z~ zN9)@Jc|xNB!TbFD{HQ6_pTR!M2s|w=2Sqhj^$&!+Zi<`rvdRIVYX@U)yZ?HG(^+wJ zZW?IYovVTm8UAa2y0z^c{iD??u@Mm7_?Rfc;HLh-W_h>U3c3$= zI*A6c&ekeX$@dE?-3!W;Y*IE?HFWtUm7TBx-oJlG5niHF(=+ww{~_)z+@jvTH_$;u z2?Z4aX_4-d77!2+knS#NhLDt&kPZc;+o8L=L%O>=hwi)^{hr^w|H0*X&gdNZ#ICj8 zwf5TYs{qpgTz-vwUM(TZEQh?e^>*Rq^y*N;#u+)s zQe&^-XPo6`0>)OzmK8J&ti?W#qyH!WMdG2Mia;k0tO-jD5C{dDWvg4A*VO9o1D7(* zH6yPui2e?Gwzt^bzJoxx{+ z{ez+}&&uAkqjw``rt+Dn{WZP4<7GsbxG|cIjp5DP;2>}+-Gx~k8aGtyKn{RJn1ppy z6`s2!)YUq?oH{EjzUG;aO`N@Wr?$t0L=l^1xnIUC!L-Y(wqNMLl@FZJ1}5m3X5&ZVk9@g` z9)0p;H#0LEAQwAR*Ag7(o-8@U>OI;C&x_r3Y)^d%E>*sbj3Db3g2>wN=W3? zwmcW?1Ujf<5)w^+GGAO?Vs-Px>veW_FOSi$^7GNr=l$vIq~PI^kiD-UhKaW`a@Rfp zX%j$U7hF{Z>p}TnHo2#C~E*e7E2JfFQswioJNxQu{%s>gBu(9G#qYNS^dlw-E=ebwY z{OCy4tyIuDGU0u}Ix9}FhY6qN9Lz7nKBus=n-|%0s`7=OQVh_-;1GhvV$D62YdSJ{WX`9MhIEZ^v7;hVN)a%-8Ht zr5{(rV`J%}>-p#AX9it8CdYfDzBOmNON&*B`|^}oQ0+jE1^wK!xexP+bxfJj4X9ID z!e(P%zaBQ>B<(L2p7~3ET50da@45I&vA;Bj<5N_e`w1*jK#hht>wHExT;%Pj*@>z{ za=Yx=++3KiodnBKNcwYGAkqJ)vD(cQRY5OLG5#T1Ym+-a|;(C?nMu? zjSWCQ7?dnD*{#<7(L6ZYmnZ&pE>*3r$g)b!&7PUs^RbFKzkWGTwf*|>129~ViEC3+ zchadaiDsF1MOdQ2*B4uSL6y!k+>0G}+!t^+3=9&Qt;r)%fwjH_0dRpvJ%RcX-+zL8 zwNvcQ(Dvk1gg)pLpE5ry}e1!uFc*YFN1cS=hf7xtpmLK8itnS9DivyuhSe|gftelG8b7c zNjtvZut#Cdc8jMi9pC8jTnP7U`D|lrW2r%xHDStuO3597+`$qF4#S?C$aF%r;p%Cg z4;}3bb*6;F6jEzraP?aLOMQmccB=e)@8H6@<9bRk)1MqVXLK!%$wl~8sfguLxQ;Oq z=1@Uoeso5AWc|Of^KSNfj8PdG|7ny)QM_zkmx00MoeL+VJ(A|2DU8I{IPR|73h+55 zeXRpHDk%tG^tde$$Pf5d#i)LRo)K|>=x_4Ey_z(-zU^j&9X;@Nl;m~X2Q?Jx3R!a1 z>bI4ZPxR0CLlH6+I-^O1_>!U1*ZdxrXYQw%O+X(r2>%QPhf&04SL21D;TlpoFCb_2 zdVB^1m)j4!8OhyI)&Gf3l6X_~eDiv|G0}HXb;Zoe*5*)$!(lo9hJ^aLygud*+!S(Q z)N^~;fJ-wzQe4m(la|t|Rqw6kgQ{>n9->Rp-cFZrMR{aYZOz7)2vlu#jMNE%MpxOg zH0~XueEXe@j*CDI292vb6_bYrgX_6T^9Q$E-D2^p%xL4O)1B6(NZMCdlTkkPr=^wK zK4Xa2*DasRmfv^oYHAg4#WYEOrktTE+*Jy?v~jbuwT-^K3H@|?>b!)B`LX{`azG@O zB8@s&Y!l~@F(t)`dTX>!YU)->3LO*Ol!@5Mx%@}@u8*zuZh2vMYv6p_eOLejjW)29 zb8{3@ihW>m4X~SfDu3VwJG=Up9A%j3)hcL4>wTWxW6|qC)jTy$9Je}eWr2D?*E-^7!=0h2o@bW7Sjx?>(W_J{ypfzx zfMR{oi6Vg0Gk9O_fh|ZiQ{&!HD?}A$HeU~Myt>4mSevVJK8MdqLYT* z?e1>t4$)KIyIxg4SlHgy)QJO{!bQ#%#HXiaCUY9MVgKoi%CevC&OG%1j(3%yGf+9r z>Gn-%!&t#0uro9#HK%*4=l)FGoMrBVDgIIKGfwxcHU<_Cfi|l0&s+%h5_!oUP|x0* zZ0Vh@C@L>b)$UI$g~H+|th8%>0W;X{enAcE;6!Li0f9%d#4*rCg9C=dMoH;m1OM+Sc^=I8gjr0#qj$x{pj;-J=4 zOkvxA@1ZPmtDM>yop8zi3rpH}3}sc}=!EbVY13;ZnrP`KHF-NIo)UI-h5A1$hJ7|BrxqP}g zRfco4c9R;7xwOP^Fl{-E1)cwzK`R+opJ(gp=!gv1ZAh7!iJ(wI0>ZeZEp7r#%;Dm% zgJ3$^nT+Kkef#Enezmu)qMDVsYO^sw^fTO&)#aQjGU+Hj-u(Ke0-VA8pr%HXo(?9j zU9vQB)SG@F-L`oDp0_u?GTzxtm_M3Ck;HmOe+s~gTXCa3b zc746Q1|>;JQ90S?7*mD7rCEm)F5#A;Tws5FJnSgU!^`V>uZ~n{odl%7bITd|8+tz_@%h&{ z>_G~x(;nlquke$-Aa;)gtoqdTfJx}(`0Co)VJ}D0z2Xg!_7)RtW|K-lUG5<67%Yd9 zz9E&4+T`6B?(mtJ(YU^5&&fMG>1A{;Ry+3}7^5kKex^+QSc*(?TCH z>o#w^33XrkKn0YIm%1V)Ot*0u6FXwrXcf9znmtX1+rJ$w^HY+Mh2eAj+&?~Em~}|F zxV>T)Cer?&yJ>Y7I`6cKBRRXevsrxeM9gpe2M9eJ#d_3hqruRA@csUUk25+m>{+Ui zkjdO{6dN3Rz3mXffO1mbr-+R$!}3t=?b@S?Pd5t(;-k@pObkiy{K1p=O3gY}!zr<} zNgrV-X>gd`y8Lo>WZFII_vd&1mBwRl#X#kEqh9e7tof@nQIKazE3QVWJcS3Qr>9Rn z+)t=+IG8W-6?uv`P^l{ft0qpD6p|P6YH@RG{qAdHKF*Mz$k%J7to$oq4HmJ&0Ijf? zZ#P)^2;`iRCu^c?1Oy(M&-X?8AxZLZFWFyy17N4E6JTNq{L`>vS^t~Kwy2M+K!)#Ych!F#x14~1(@*E ztgI|{1edd2!qc6D48Va6G>ufUET&3{2L=XO`}dd@7mIeL?1F&q3ot7207BA`S4m96 zrz>7@4IzPK-RbUA5~>Y?>59kCo?9a+kDpmNX#0hRURM1FHCo-}Kbh0nnT|4mu@5dU zXWzrX>-xT$gFH*zc(D-fO~@J09~HCi@}(`J`|WO1?ofCkOTOy3K*`G*gY ztXHSlVATm%r=X-XzxWbIXLF`%XR=n+q{aXWg|?mjkTrZw*!D; zU1DN3?MQ(})hC?=5)F;-DLFanD+hZsow|dmRc}p(;!TF#(gcxsg%iT%ABzOzwE)#( zAec_QNbACmkFP#eYE3~!p~gPoYUjjFuF_;bw!W zK9~XmqA%6C@n5|fYPbWHA?CeB#NhLmM154-civXDs5kM^xKB`XODYP4!ThtB zt@h7@-nL)>JM(!o8|LVgpJKgS;c-ofP+K=XTnxiJ+2(m^cJ1wb&2Q!ETE}I-<0tN_ zq?A6?U;uO2L--Vbj^*YScd?bT=W#tc2oT{yUWJ+*nD}MmZ5`Te9Ub9?h4+I~<;MFQ z4QnH$i0QzcHZnY|#T1(VS3?<7pg zNt4&n^y!!`zja0`1QE#-Le8-HC^`~Ox*(D^U4d+=T~V*ws(XLnR# z>|XrfRkF!&g~`l0y^9Mwi``bi#^xsGOIvS=C_NyCE?Csj-`V-7v8xLYK&LY3)~K0> zmzRFg6$3iZM+cHS_gr6o!FBJ!7)_KI@x;X7nkwHt0BV*&V&ULCk06p-g++fD3Go0J z84%+f@6A_@=*e?Xel{}F)zSG_W;!~mB@dwAr%#_G=pX$Ll07q^rDuEUK@+Lyu=zsp zoqA-K(nB92#{2cY`tgB^UsNkRBI3dJPkDKSLMB#unmelrCO7TkhZxe*0R8tF^7DiB ze6F)GpciVXYk}T4@C^}H)pJ`STq21N^dyd@wsv|DaX)~{faiXc!ebc|6ZfbE<1KW= zFCmUy*YHwW&j8f@!m#DFw1_}jP9aZDIBN!^p+vua&DAQ+9BF^?;5GTG{WrU;tWHRD z40XX5Vs2ZqdDkk;Ik&v)!s z%MHq}qhKHvDkG~+3_6a5g>|ybou4p1zOYPI)8`e@^Cpl-cr{Xx)Wx`jv%D0*mjCS= zLRdrgnaK}XS<{LJdt0joISm4UYDZ5mQg>quO%pU;Vbl-!giWBhz$pW`sb0CfXK>zv-b)|SDO;r2%gceXRNg5hHx;ooy z?#x1DXD_D#pt1Su{sIDsLgd76AGEe<(v4M0uX*p7k0#v!=D4zHZ5~d}7dQ_7=jS=5 zS1z(=pZ}h@VecdY23o^eWZ^a;JvQwXt?mIAS-wLG04(8;IIvLdKVk>i$ zW0(wsrndQBv3Q5pUj|Gbt=qhQ?Xek70nArQd0r$8wv;=c!Dcb>O!V>Ncdjny<|`j# zxo9l6FUK!WKE<*63f0$7OixBGU|}bK1po2Y6jlLrI{K|Ex9a31lEt0*siX7ianKXk zA!u8P>5bESySOpRX(+$r{`;)jwdHZFXD>e_?apGYe*OBj=XM#RY`NwX-VLTbMSpx} zHWJ#v*sal2Z&zP?mMDgk{caCqI3@p)9om8A;vxy~r7fc;yf7fG6=i*58b1Y12o9EX zJe&P?-}x6uMnDjyeW8gIm7ry4NZfjCZy1l=Jjlxn=p82p5nSMgg!D#ijThVna@nK< zSv+JOo~swN&8ayc&6BU`Tm+570oeNu4^K`bJW2A?VR$_*?xy%ENbVZlTq=5O#qWQv zfoH5gWm_gzAII50E}!^zZBIbGhv0Ab5(BqF-YVAwWi6C^*^9QcZh=*%6}XJe%xx^XhI` zx(6gC0gU=ygIzmnRx_5Tx(Dwa$D|wrtEO2hAyuHxsg~dP86Gd^up%i3;5$c zBDjZWMokaQq2_*mL7#`m@>F8uh5?9yY>nkVZJZGf+?dP4Oh`xo2{4%A(b`+n0S^$r z8=II6mK#X0loYG1!-Ij!Z7@E&0=`j0BCqQDY8!|xAD!( zNqnPh9lVt!5{ZPa(f&T2$Z6O zrTjreq|k1gqNkUBbBfJf3rN#2KtPBAlh4@Y7Zmx^irf`I`6erOXY+JgDS`W?Q#3KB< zHJ4hx5{zV0chu4P;i|Ej8LP<*r?6`rHa%ytD-ULdpeIi+KDQ#zq)X9T z*;$)x16T|4pub@m!!V)80BVhtv%Y20X*pbVIfYlaoI6IA0=VCzsj0fL)*i}gxZhE1 z5YOov8#g!z$_tn(wfTVs+uuKKZ5a;N)Y7uuo_G!x24FJ&^M_eKxO zmy{c+FdqC4pAKb$PJQ@AeVeVl zzKS8+s#paX5@qDhH8yj(;(LlUg$HnE{!SQk9 z@Gv4{fu`-w#8c2{Yz7TLeoA^jMbWT(1mxwzcW1BmJBW9m;HKU-MMTnaFk8+s=Bk!> z`eQaIMeuO5>$f~|pQ_kXxa9bVe2`?js6pnMFfB7%Pf;TzRlASDGbArx^%67KClYJa z>}9>WkeWDZl)ippwi*`x^b-GmRCt19_}18ySC>TY`D*GzVLs0a{K+j?Rk-GZ2^VEY za@7lJTd2!H8u7(fmLOE8%Mr5;702lrjW^Oh@`H_G+?L!C#*jG-TMVUx;v8We^UT|i1yR9s%Ma}ZI>Jy$#6`fK_jLysFlAa_ zikGfRzJ1dO4y9zHf2xj;4~|o!R&mdVA32LYA<{7B0srekxh3Uh`_rHDav=TOGVuNa zrM&`=!!Rin18C8Zk&%OCADEDrx8y#u_4{}F3tTLu_czscVp5W;YkBJZK{ZU5PENnI z>NS3s=gqst4I?0cYktK4^aR(u(dDyje_|*ZBZCh~!Rt9g}H`D6E=WVO+31-Ez?^r<@FQ@FXgKi%9qQ@8^{9Djcx=_1qC6##^e z`1|Rf6=bnPbA`Zpla6=QMX7zx8o2Sx= zEo5hh4&d$NjU3rD3IeVdO_8)woqs;2nU0#OsI1(X@6F}ix_kzijruz`nt3;#7yuzb z@K{uwEx6jHn7EFOOrj;2)!F&k@Us;u^$*{wD&ws!K8K{v3Jcl6M#xRabSBmsNYxxW zXV9Zd#uk(AJElN!`t9@wEgOpUhJU>v2Z{bAJ75~yq_tfIHO${4FpEXMJmk47@^Zeg z)sdbf=KbYg;_m)U7WE#u`zgoV=eAR~m93a9QzpLX zk1UTF{y>?KztfIkga`)L++1OO$aBrRxsN4ZHqEd|AMo}u93B1ed3FcQ zn<_Ihl6i$4Nt-5*+Br{tw8o^r&5IA47Gln|M-FjRtha3uRm77HoAo4+R4cJw_Wi5AxkM&3L8-3DEO2S|u4x%ZX)taXdovw*64f>1R zmrf{9bV#(U>ucEwQe^TO{&Ajlr1bQiV8N_8htzv zuO{l-;tD9Gl&05K4xTMBw6hquex%vJs%`OlCRoeB=Kz=7^?IB;ZByFFK6|xJ>EU2` z!oY;!ayQ3|zI&YJ)I0UotwvGRhxRY{(h|D&U|1tXmf8TYoL`O6pAvHk4vPez8y;`q z5cvWi0^*CD2<7rZ8S^+gZz}b{!SxuXMKp6L+|S>CX{A#}BL0fqz=)P*z1@=HZHnTzJ;A#;E6>j`?2tyBV= zUr6D6YmsV9{N=4jSehs@@2|Us+4Qm;6wX2n2(POvA3jHYdJN1CWlG*;tJhm`2l3`VvAG77{g& zi53Kd)yfpNq=_(eE9TjMzE~O@8%)s+2fVP{1p4w{qd)p7s{)Wv<67(Y4ok|=i5pu< z(RjKFKQEpqi&xt9Vn!9%<&QNCyqwQ%BkJnaD^JesKK1liZ;b>yIMwFZgHo2sb4#`U z&BAA2h~G8VTksOZ*0*(r>ASq!y%N;Vm91e2o-=JaNb{||rBp{S^{k5qgD%$|N8Yjy$sK4^MTl6I zB^z8hDCA34;&t@(CbqVTgkLQnu$hj-qPAsrOh>5?&;QQP)a%S!B|2}%ECWLWP%`Eh zZqyg{Gq$U;pWg@=^~+*4A;0kH4%Z|I+m&t42t$?gjDD#%MYDm4k(HX=uQ^7K%{CcrLpK z9*lF7h@u@jMRXTRXUYNnCkyNg#C0hw>@p>q$;Ka8r-wX;(ck z>fngEZF$(2$Su}fmSe6__p_cbet)vE{?D1tLA*A&oj7!MQl2sfyj7H5YGfBEL%6sN zl-``p$HG@GAY;D8%V=qd=5_;{QfzWpYTnNZz7Ok?)J~_8gg0DA3)Ng#y>v~aH&Z&a zp3iq-FQmjZ$)Xv*zC9uXOGLk|cCvQ9C1zO^!I?ICgNEME3Jn%dE*#%#U+*^Z)ciWj zbxufiu??N^otT{Nmt;k0K#gK6Z9Ax!%rhJRvbG@`vN!EJ zJ(3mOi3%KsI*9Kk%Ha?oi?Ous;3v(0g9jLv578x%Nj^NkX1>A!`&-DtbzP@vBs*Mg zFYY{a0Bfst9JlbG#mc(&3j)^|=?*tEkE?Y0hoagPoR=&$o-IjSQUwSX)B9JJ2TECJ zyx4!rXswTTI3Q5CJA0V8q?F+$#-@D`zoAT%V+;)dhGKyHzCIdNRD zLN(V$yDzh#{ka=;V&3D>FH}nearS$Zl$3D=d@e~q%{|iOiJ%`2whN|RJ+zR53<%wEy=Y9=6@c4Ha4@>x2Lex&?KJQ8!@H7x%aJG&V zB@LEFVmiOkJK%fqeSA^oTBu*PMho%wY?P8rt41!J`EO#vZ=DkOh<`EfIYw7smtIPT zQxCu>2ElO+k{LvGoDSTc#|op07UY9v4#ZD_gC-W!Vv{GT?9le5f1aa&g)>vo#$n!*dN=jeY(fZJN-rDu?wx#&`3$P9J4MQ}P1gteF zA`I$qkab@*8t#J4)F!t6o;)%+lEM+LvhYC-x?QBK#(33wZ$T166{=3vX2=a0ZUaFt zQg`*x(=H!2Q2}GN@afzdb}D+hlWb7qU_6}_mztZMN7%xD6|f+5r8t!%4~wO@tgxfF zR`C!YdaJW1#WFm+aXPZ4jmc_*oqMMHBZHBB)QqZ&HYWNoU0?oIN}Q}JXieF}z{V&w zL;HuSgp&MZb#`iPYy$6c#!c5OkHbV&)&4B`-!A)b@&DGzT|c(l8pK2t5{f*`9yLe! zC|0jYv;686-cXg1B}3Z>T5?HZUZ>WOJoUno0x`6Va++~2yN%2UmtNO>k6E{A&Qc?s zu%t|Sv?c`K&QH=A`e%uz$_u<)?wqHB3Nb;9-cQv$z5p8Uq3dl zKCzLlN{5wfT|4Pqv4`w-CxN3J)NvPVw5(nOX}%^SwMa^eP=zi0ia$x(jKba5H21AN z(9XEoq4+N+s8zak$~O9of3oW?C6<*?BHQThoB7F%#~rq1Y`HPY`#*!E8q%K@jw~sX zLC)&5+OJT?{=#BaL50dlD&aLNFCi;hpj@CtLaW(0=ro{8udG-X^ ze(LSEce~+X{s!=CYn#S`m)2e;G%YJjOv+v&!}e zbeHhR6IfEAmKql3NUaZyJoZ;KOtoCeF#mf_dfr#+;L*lWwbJf>iLWSXPZ`zI)h&Ld zn`n*62^?yXd>MRUe7EqEeZaGrweQ^N_G{mw3msm^pJ`a8cfmeB=*QlV0$bgU#f=IEqU|=kYM87oqwd){+XQ|CR4WkDsRx;MX6}k z+4RQQMBHidLTxjr*wqCM4UJ6f8wcBfWN@x>rkLE(ujc{ASgN$VkV-cVDypz7U75&r zNducBL4j{4RozM>N*xnftZavKbK)C>Y4u(&K3ks+WT^8ETskP5Ze(WI%1;izy2Zb% zK6yD?=38#Al0oW=o-KA{bn$haR`W(3XaQ17hm34-$d58{D&$RzZvQCi&z7%9 zyzHocOCNm#PVd#y?~9s~hjo5t#0qKeO=3u*7M0R=PXtx9L@f z`e?pBWnEIaNUwUS!sobhrSXP}L+E|ONk~Pue7;h%;JIHEtWJ&6n&lPPaPg}U9x)R?vl-I_ne&mcr+ z*XB>1mtyc{bH;fQOAT7Mp^gqP5y|M>;Jv(GO*%3KZes{m?XeYQm%R#4U5tOH_elQO zHaN0#RRc-9nXWan$t&#VqauuSDjH^GpdC8SI|xti8zi-|p5$JiokXj>Sz~`f1D!5b z1w)t(5v;f(iocid`BHrl9@oD~{b*i(2tFB$H!DQDQVUk78VImHr zMy4zVgg~e}bF8cHT`K0JYGmSkS)DDzhYw{{Yic$Wq2sAltYxO#=r^=SJW&2qFTRPW ztVR8H<#+6$!1QF3GO)&XEF(|BZSE^{HacaR+ab#q>tHScc4W68^zQ|(jCdIkSa@R}w29v(vt~$Z zf+J0{HKmJtn@Z!NA4IYYaz4TuN(7zj3(=XBYU@>)^VBv})&^;`X+5^%IzRs;!@4mw zJjS(ZATzl=rdC2&Ju~Xx$U{1M`AkKdxo#=H%6B%&ou;HMHLNiG@B~AKP`e?gKFWcR z*lu%H)b|vwI8^FSL-(iPegH1cBf;R&uAAAfJ%`R3^Jd_CEryc?D1 zz^B};B~es82hO3?T|ONcEV#?V%0kQQbGOk+suuR%YB`(F*@8WQKo+>0NRz*9YYfd) z;qmBy@7*p(!5HuJdJNU75MFNQ4vR54s!m8tEwwwdh#QamEtKSv8rRYSm%|TPUup}a zskIthvkMGh=v>eXOZlEdn6Id%RX;;-h}-Rns7_5+ONHT3va+N%T>W!pTVC`L;`|_@ zj16?kA#BiiL}EC7qazSUQ9~oQ7k`{~H5fJ;n$)4PY}(~=-<`71>CLr$>_{#A z;kpd1L_W#>U}rVVjDCfdg=g^jBiP#Q*KBUP&GeH!m`SJS=UGC2nLPJ-Es7FV$+-Dc zC^2*_8)lg$kR}ok0;dt%x_j@*H&rSibk%NhPMoOlzRqc?W*d!OH7qxURCKfKLQLtz zs7GROp^~UNV;e5+xWWt;od^R1!_;jjf0@g{{78yTuBQ;b_V5)-qZ=NF8H1SGVV8#8 z?wmSdjeS&TQUg$CmT-NHp?G=7VYfDd(sn{jrhNx7Ai7nv%wQPlT%L>#ul|&%H8(!f z5+<57P!fu+Xzo~u_t5vx?5vQXg9FkCn!TkgeglTe zC^4^fcDY5@z>z-jcnDN|lq5Z_cI$j&8&P``KH>vjCn6fZ zUDTB%01_(1E|o&TLPF+hI3700p_PjA>trTlEB<(_deLNA*29L}c8A`cf`U1Ap?o)w zsn`ta$*6bd&S?q)O{b+we%1d<6-yIUxc)Q(C46f)Cup}bbQ8P1p3pz~jkjh+xgyb1u;nvL zjG{_d!O{8`TjO~x=qK&G(p5{-(O><4-A(%Q)JI}a5ysL2?kjVnj$8gb$1C1ZSaYd)lG}V728EK_2!##H{Azne6Dc<4 zu#WBjOMf-skv8NW*2_-AW}aidAD(du&d=9VoUDuH=J!cka~ zo7~56?X_+EZT4+JaJ1}~_L|v86?xd5S!gl3JAHWDo4^{;wkkfvUFALJM>I!qLV!L% zPG-3<0BcCGjuGMH0h`U@wiCl<0r!stSgJ(S$ZM*~DP0cWH+MoIukPVMykFa_W<_bx z`5w;LgS5D~*qNEyAseE^#7H8u$?QYQd`G9R)Nfd_+j-B=FFHH=%e7xV(7_i-(N#>e zv9nW53u~97=jVh~W`3NmaLGh3a!~PUShdr4YBSl)>FnygNU;ypZr@l_I-uIowmBq93{L76=|M8C#F`n_1}bMtwefw0s#3yMn0GUG5%J!_PnG ze5t>aO2f>cd6OMnrw%46ghu!uU;x+oZ{lXK5$_FcRbZRlMQI!N_w|#B0W?^>T~88# z&!mz!HDkEW08qC__WkVs`xAvybAcV~>{ebkeg8cl)%m}F0pC2rUqc@K{k6Xzlmh=f z>i(;g=f58R_wVr!|KZDj-#AhJf$e|atX@29{P(x}&jm7IhyU+uqu8_mzaQBCw5_d8 z7{~p3a1IJV&jAuVa+`ZUS(#ovptU+o_ zS;cwz@u!BSCVWN=&J^>htDDDij~(KxsG`D+86>hEjdFjPRob+(V}ncW)pitVurfwMg0VK~ETpj9-(+E9 zstlS|hKnnHXI@vQF2H8nP?z(`ki)qGVS!s15`-^)fx6(?EcifYfkq)0!p_~1gb@gP z3+d~;5O8z5{d@magu)UR>W5YjqXGinavg-8TC}7$lUj@x>bAgVA3+{R9o?LXCvwfs zK_?V6u3b%M>+8V8Sa@H3vXO1UTRm0t6!M3bxL~90d-gwH*)!&(6A@i`YGR4u+@#9aaB(AhI$+)R1{KkWLK4&GZ#KcpJv@yqD zb-#di57=YT;c-CZOk_2Z%F(KO4?1GTijIirQu9-8-E^UU&&}0|^;FHN1)@jzeu27n zgBh{e9=rL{NQLUpfF00WU^Z6x!RP&%`>z_3o5YXzr3XdQhf>L~vOW{*=bFU*WRoZt zA=ks}Ms9g)*wfteio&pG!XWtf%SnF)noc}CGcssT1d#;Hst9T>7GtG=4ke@_+FF8?UTOy+4pXig4rs$6VnZvgT5Nc|% z2b3hH(QNEV zF#F;CevGlpUfuujFV_e7Nc|pyq+|Mp8yD9aiD}S%|1ITXh>qS+rP7t%&V)a$hyShD z@v#CVc#rklf6vKG(Z7Gr?rinqR4~3^$7@ro{P}7m$i`erMx&Ui@_7DiSlBa0+b5}y z*4KKsAs$4$)hO}a|6T4!qX#Z0kT5d?G&cZAZVQT%n997-*GtY$^<&5+Z$B~g_Fed!NJ1va%^sq zJb5{}5A*eiR*MhN8b6GJ0Khv(c^Plj=)vE?`7v<&r(e`?3=>epq7wT2CTn=Dy@C8; zkK9+*0|V4P9QUJxQgrl3k2XG=(%43DFD@{lf&#xv>*eeLSwB2)OiJ`L=QAy^ zefEMI_1_d5mDieQ5WXW((&MkAyAsN$6gUtiaM(f;(6g;D4Mx<0e>rRYS39VLUWaMQ@dt0O*b?{FibZ6-irpPn7ig!o86 zN$GMm77*83bV!bTWW(Wx{E$hntk&xs*Ct(QMd5rxNMlQo>SQMU9&*`m$H)B&7ljZe zRaITB(-yGG>9G4YH+RQ7L`cCB>Cx^tA0M^~_x};%eP2i;sk~a?t6ih_28!1z^Cj#3 zMJ5>-m#4dkW;TJQ+DD<+E)NM%n^(7$f1E8Lm6lC4&b4C`tEh<4y~#gs!{@EGZDE=w z;dCd#6A%^LKNq7IQLp%37fdfQi4nyqr6$5{zjxLGcXmjAUEsl2=aiOQ2x)W2Zkd`n z%v%$9u^f_6=x~HyYs8D3D1p6bzf&e|^Dv@7j@R}YS#Egv^|%K5-suL)I*OExydoA4 z0}BP}pmkC7^6ocqq-bYSLVc|0f1O|g~TCctB6ZuZcx{acileKu`FyG?n%WRx7k_u>y zCmA(sJkv6yk~1rju@QTid+hyM$36T^almT(yt%op|9-w+WpBCV0h26N;`*wtw#>6y z<@}f2;t8zG%z~jrd(9n2yuf5A{^|T0keuu~QEX5HmfznWJnzOZuYC;k)>N)U<2jA% zhGmAi%|whhgL`nnS=7XPp%I&6Uql5~^b@`3ZGxQe@-Q!a@;}$J7b<Vtv zOKCXDm!#EZ4jp2*OE?a}ERHvDDgGg$e*VqMw7*(R2XrcXFOa$Vzv#{sVHOvcEIPb~ z;Fm)MdODd(Ei;tOY@8Tq9++`hzQ-BvqoShnp8p2f;dg{s8@*vZEAiQXI`NnlQ~q9# zK-z7xOt;$X?f)#nXh(;3H*iy zL|f;SnXQYgV%QMkOk4#|H+qitLp^JSZnsCl=QOmzEAw_h4qq zR%cDFgLV`_M3giTBSYS%)=dV#Ab-!;Y?`Tx;g;}RI`fHgB>vnBly5wz$<9&vdPheT zHD4qQD*F;i)C}T(Ttp)Qrr$;Efsx<6XU89m9XTy#>*;~JaWa9g^~%V|c*NC!q5iEm z_f8s|mwDyyf94$`sKA(~z4z44?rBf-B8BbCzy3Crg7RupKFG#SP*(Q26d`9&srs2U z?;C7Y2jV650!HgYb1Fmn!wAP+K-;+gbibu+AI&ec)-O6-_hYRS+H8$&oAkC@(=ugD zs=kD{IMYpdXv$#->I*%FWj*7EOQei%-kwtdZ)klrH>+017}xX*;sGcG^x(8^2kpN! zr>+DGv2J6KGWJzt_KU5mOqSefQ@>4q%kL`M!-D;=nbKrTSw za`{QF)*T?_VT&0S>IhkAhH<{Dbio{NW?YzqIlA1fa-84n5>A8=`k$+FSo56HfVWuc zYunz}Dt};tyE##ubE%!(_s1nD=4idq2>ysnQ}R8yy`$|iL;9y^ZyVVkoVM3~69-z| z^`5ywbj=t^tvB5q&s+g#R{Q+7Bk#_M(iYLrONg7jrhB&aL?`MMSsqDp9|Dn?~`4jwAV-qxCzv^?#$<265WsR z`2p*@syI&rEr}f0y$=ek_ugcU)8xgIsfv!`BsbtAW$TWLGm#t2ryllm*(8so9x5>e z|A>nN!k5!}CtG{K2`lWqe7VvB7Chj{A^X3(+_cV1}}#Bjc5Td5(ULfETkv zdq?FDD>UFNX*BzR^Xlf)Mg@h(veUUHtSNb;kC?5Ogx6wwO!`VR&Ml6gtINLYm_>wG zEe;9qOci2@d?yrkEtxeER8qp`cwwRFY;mYn>(Qa$z!`!^Y8oCM-jd37gaBc-#%bF# zIw|0^d;Jg_u~!({8^?ijb2|q2HVu6mQ6R)ZM5FkK1oyp!C@!mGg zNYsYT-nzXg=}%bvRzykw3fM6~7ZjagJ|CqAxS~`2vJD6DVF+}ki2_KNtqg2~|I(6P zk9wud29?~&q>)6S`<(?)fJP?t$<&&xKH-2g&Qz5={0~jNO?Zcoy85f@6~~v-)>{lh z$_J2;L~hxv{z`ptN_sX!?kaA{K*}ON6TaFV1%a?(jf!_vD9H=W1>)%S2j*otsMR4t z{y6`jG(`*L4z0yuWSZ&IT4Hs)I@?5pyig`pru$V-LQ3j&3P0WlgciAV6gE?{xn?lW zHJ&`R6dyUXXnPis@jgR6S3q8FoR@yTxcv1M4VpKKBBzc|rVt@tZteMj^^Ig{)2yRY zv(q>qH&fT7>`#0I`GmJjRdgrRAr=-H*;X_V{^E-8dx&GsfnVn7J+hoDjbR;BQpe}N zzAgbyWh+v#;Wj{()ksiLQWEqHo6Xu=P!OpHpK8CG(NC=?(rv-(N!a#R%8U39F^`bJ z-Z}Y&eE*)R80~I!Jzidyg=-Rd$^Gip$9EYq=B$us>Vwn0xwH}LG^B6eecG8wU3wGG zL;Q^)Jz-EV>(oB5+f_-+WlTmHr;Jxz0to`}TFaEKF)RtjPlpJ({&6P?+qTQpi!>=Q z?3Iy|do!jK&IJW$YgT!0Zn#>o>fCOsyXqUj(Nr8PXIj&-+}cw4)9OR)2@HAS|A)J` ze#oj_!i7PU5D-inL=i+lQjk_ey1PM;?v_TSL6Gj2Zs`V*F6r)Wk?wCE-*@k`&-oL+ z=LZAUv*KQJPh2x|%{yq3!{^q0G;X`)QCIdr$Tdu6i;+e|oW9;XRHEh1nY_GQQqF+F zzN0(^R1z?9-WC?zbK~{M+&x?Gq@QEdzr_>Hepj8-{sG6W;Mtmyye6`f6Q#waCpP!8 zjQjX7{PElZoBi<`nwsvycvn8bM|a}NkF07O4{l=OiMVe68*|li3-=aWPyrpk0abyj zZv78URZ_fravJYcEHRhdQXw>15{=Nl#7lg)ALd(FUi4Pl^7i448}o;?)##H&D|uE| zvEErr%}r(FSM-?=?mf7MWHWB?MlmDr=U!Emoj_3j6iq43GleS+W2TJmSb24gtcnX8 z@u#)TwMY%i@e{L^?-@a*ykl%2mZg$xOmao}RpVei8t8I1RN?8lMB{aT@qRX!fb?r= zScXA9VGJfFCUb7e+e5b=xceeGvpBJ`noRm+L1U(s(rA6+t3jVMUe|yEh1>?5&dAhm zUgyvvM%5An9%tt=t?fy}m(Is=zbt*Ohlkma(I_~3+HSDEe)HyHM)F@D*{I#+a5FE^ zJasI+|3S-r-4(7INCrj*gHQ30x@_XTqAL7hqYAY7rXsmdb34xcO1LPk%iD=H_3~Dl z@Ef1bMYXevLuaE}Q6VXKWY}YU{>}>Ibhcwo16PM#=aMI***J~$k?hme~ zS-+&Om)hpwq@*^@?bM4xp!n&}Zws$zWwx$_i{SryUU3n09pxfDk%gc3Mb1mhtA?w& z9UoCYApp4(-VE~fzagcOnU{sr67UK?9nxx%$Kq!b`jC&(P!*v$t(dDX13!c0$DKD7u<`?cwFE zb5>@`CwO~uwh@K#-KV<|w7dM(5(U}M`4XxIh6X9R{t+*#(kWgG-fCRZu`iKPXaSc>+l9N@RuE)(mdyE;cCs`0 z7ps#y>J+?US<tTag!Hth2>8d zT7N55;0~y%F*Ho7t-d_?5%Xf2fteE(Cx{xFA;@ijOj$(S#iy4i7856keRbl98@~5< zOTQ2bZFxD*xfA|d={H6Q(41?(4-hoWQd%j-XxiFDxJV)^_(ZnXka9KZAH3l${G6AD z4N<|nZx;*|Vm3dvFI?NeZ4uUKeN$^|JSi#mGd-S1NL=#sOazHRTCQ4Z7hRZ2!+_4M zVUy$g|#{&WI(9ZWKdVdX=dT*4QXW5kE$d6X+FmOr`^Ci#Sa@vs>qHM}IEkFDU07c7 zv2bxOYiZ3~UYp^*eL(_Y&3ywS!*}(GWIToCt!y-k^Rc}=cRB6^4}vBkXBiyYo$$hj z*c&(qZGpoB4b6K_soL(za`%G%wHG90t}kyoI&Kx|bxVR_|LX}G6@umY0S+Op+Pdcr zO-E!TFg!ZjSU4XXTyO5!8q>rx8wNZE#G|OwjUHmUW?%O=h2_+4Jllb`vG4Ty2{y`2 zz0PWsQ>;&q*8IhD+&uHrY`-wiRJ!5xCh)#dH6@9Pj!MbR#X7lhqpi#F(`aX8Ayore zMsIxc$9Sh4+uETGxBC|=!qOO39HxC)Zv>q=oJc9Zkl@JQzwf((y*WX4TTpUtPgnEZ z*78BhP)=T0IOBjVp@Pd^yaDDy%-5DUk}pYmR_zoqbmr}iyMmlQx_;h6n%(BQA45o} zbU6@|a>RgS!?Ni%@xLwoyz2B9rl^xAMg(5d;DE9QM_Zukf>uh6OxzwP#2 zdU}e<%Fi^B&y(MFj?eUGkQ2Qy!q@9f@Ye0Dfewj>`&*n+h$DLjtWiTkNN2}OKRl(T zzDeT!H!{t9ZEY3jj*;3ruQ87j78ce3o@YtQzOBTPK1yeM`&^V8LkL;=!}_FGCbmE< zLdz3dj+EFF?LD~90{ZN)(l9cRW3T(hI1LaA{cz&hCIPMBt=GL~Q^7VbkYQYqb}Mgh zXOmC+0t_&&ndF%ZOG?$B<&7Axr$2$LCv#B2r&)NH#`pLl`bm8WH`V0vE*83%E z3-@K|F%+rsteM2LolJWTU#r-KyNn$@<2A0xo=k2O%&7^4H{eTvS~G*Q8;lnm5gZr? zI%1>L8zMU-t!{f>?dE=SaM&IzyetQZ;Ann6IOG)f$&<9zBy%M2jEgonut<=-lOH3X zwrI(Oq|z9|@zNpB+}y>CfJ<4sM1 zrp&B)_zTgy;k?*img{M@8?LY4zrU`g-a2=F^1;BU>^8?8>39tEQ4~#0vdyV#GD=DT zzSe)`|6UB6`EwO%Wp&_dmOp#}G~z82WTI9V!`NKyJ)az|K8E|%zdBj})p&vS=yd+Z zB3EZ#C{_r}efPT=ZJUE{{Xw8lRNC|Nvzv1tsY59nr#?@Vo`=rPJ`4-1`INeV zySQ=%YBh!9HVH{!5U-tAbv0UC93}d{^5XNYtFV^my{_(UXNv3Wm6hSAWE51|SIG}c zhK7TWCpBQS16jqjs7z>bIeqE0jD?Ctj9zWIfa|)5uJV)`gTy~`7{nFjYi{zIpu1Elp0LC@W>bExKYg2a8_^DdW+D{~7d1wsF+9hYM+#x+|TG@{XQ9G zpoc#l9(L!;bVb^4ZS#b#RBqKjZ@r~BkWe8|kxQKP) z;*(SJzQEkf)wK;#-ANeaHArnRlzpF=L{Mi@2=h8>f`^w^gj@@cixIuqOdUmd(R5o+ z&nrijM;bL>w-bZG1#PlF3X+ogy3IT)Dk_S5=lhMmzW%94+>E>FgDpVf{4`xW*8Onn z0GteDQ`5B?w}0lWfM{l#!P@UX@CqdMZL?lsusOEaFD-qmB!mvFej7GoqC`YW>g^Rm8uTWaJNE{9Ai;(bdbaDDDe75p(=M$gCBlkDR3nS*2invL7r zsckvDC~kb77TjCzPD)C8IAkdvfSsJ26{sLHon50y&un051a?Lsdtn@>$iptSivA}m z>b9qM>ph#DY0SB~cWNi1|A;R?|DX@Vl=~4-plr#*bmz_H)^0-Si$k;NfH^xmzSc+C z{os;%9aY)lb6GqLB8GED4Q`a;>@K$t9h${zWyF8%Mc_LgoKVsdV2CLY=}Q87eCNC`7;E! zc_%b3&L>N@b?)+_TB*|N#RGbchc*=dTrFFWG>wZ-M*I6O##Oo~)msSt=Mngt|KQiv ze{z3PgZiIZcF~%X)YhN*pppK<=Knp6-#Tuh_IY+<%9&Rl<_o$xXQgQR zJFZ_eB4LHe)}9_5OdZV_x2L>yG(NU4ZR;BBcp`dFsXfR8mGr0IPW^~G+l(Buo7=_6 z<;6{GOy>B-{qu8Y=&&U0jz9Ah2qMiAkL?eSt4Zl6!@%b9xldC!tZI%eqm?9oc1R*+ zQP^yA2c8S5p@&xeH2iRTD&wo3!T|LLB+Xonlw1<0#ij1hTBP$kC=9>9p0>8qFmb4S zURbz4oaWzhi!8sW$vbEH@g--pJ4HN?wZK)v*QEN4bfftSOGoo@mH}b;p0DHuS%N{^ zenDj4dg2p*WlG;=(f;{zKshr-BJO4S?t(WBooOkhxJZ8(HP_$dH`4Eo)0Uddl`0+` z4ip@%seJ78yGWx&M(HR>`oBhJG!56*V$LG#SBo9?_CK@+o;n$2uhGhpvzbi~E)p=m z$Hp1imCXpVokdzGcul9mGSKpc;B+zc>Q^GL-~4Ez6A@K4<-nA0gE@C$VJsS36KL5< z4>iZeyz$-sDKl_?_6Zq3^A!pzwv2>CAP3JumN z8!sDbO?1mQ6c!#YcB?0Ko5vV1{IxaFz|LL?&Wp5~n)$){(A%}OIE+j#R@Gp=p15RI zQx${DbLG?h0p;;Z>sUU%56*aq)ki{-l4n3dxu07X6cmy6&0s3##h?8@GKsDigW1N4 zbgFfeHiU6);Xn9lkLJ9M#qywqZrc%e%BwLoEUA552;i#$p>*O zyrHi@4|w!=!f@zW&vm)D&PYra=%WQP4mmP6F8P8w!i>#L;xG7&T{eV>%fEbqhldv) z5fRgaMEqcfEXfM)Cj6U|N$#-j`_Y^b69WQRYA+o%J-t|m6*Vt1?%bhV?TThT-7JB%zyWb{v-^{ilQtJE zwgUw2O;xT7UKCj>FP5JrJ%UQTXUd(040K`=!Sc}vS+P#q~XHK8Ix z_|RBbD-OUR)bE7PEib3f&l{&RBYEr6lnHAip+1YrSwl+7HuzPT4A%_*8kI?+T5dG= z=>{RQ!}t7q53$vZqeHm8e(v&6WU)O5N` zJYyRe4&(ISad~F(#3=a)5W7zDlCFqg2<9nQgWa>zb?V~ zd+3iQ&Zk^8sk9MVFHA;9ZJ4myy1V<6-;9mdx%eM$j-`=sGCdKdQ}r@jY?CHrF-UTD zUMI@G4iDp=ouk(sQ)Rj5wT9L3Zp_dB2_p#V7i4?}7^f+*{wphVxht`Nj)?7<%M^#M z$!L=AK>C!+7w_uoPjnAFuit1V#C=FFDe2(g*fG$waJZtOfm)9eCTM7wb+bStJg-9O z?c2A{zK_{d7D_2sR(5bZD|rW!)}EX4}XU@aN}nV$IYnk-@ljGu1L^bEE5ex zXHsmJ8nqMRXR_w0ZVV}E1P>X>Zw31Th8Vlkc8?KTgoalsQ zc1yKUwUUTUnwzt?x)Y19JtIV6&=NGNtfpb26bNQytUn&lQ!ST+c7PDhtB5fCr$3u4 zEG?x$KbgB#R83zHAHPUQAYC70R^fIMxSBV%@9|JA7kPP?c(7LgQ;xB14?+@s zVN(d}_r`~6j;$b(P698=dkid=c;uHPs9FuLE2^qGpfdZJQ!bW!_Et}HLoni7Nbc;| zgwv!hI3(P;WqBV`h<>Xsk+OdaB;f#M6L-r^p6KsUaGcfeKZgyrF#H{hxUVcMS zM!Qc;{GJ2Ff&;7J--D3CWDAF~-v|=8f1Ft#T;md!0UI`Vr{M$?*1v~HNd$Rw<#V4M zMT0Wy0SE&G`^_8dNTeQbu+c(dBaEudOvje`F{O4WY*>wYiMKGL%XD1VzR5NE?7XJu8GaGT89 z!=sOqKqlr}$1&E$F3EIwg$ZYt1x51jHD}4WuI4eb<%=WgG>RtS32-BvYsFCJPvN2C z{`Z6k0pXsh4yqG7>9Dz}b;QJKKInPwzs_dizILy{@Smq>0AOB3jH=;d*zdh-lkzeh zXUI5#SLSm8^Yim13mNJhR_B>;biPY86o5Pbp}wJXO*{ih!vCN3q>#_CI~z&ujC@Y; z{NrQlw%$nlt#QzOsYVr5A|d(rEL`Us)$79O+1S_y2wr(Q9-i=It7Zg7&`C1JUmGng zP;}05b#XXnmWoyrhnXhucDOS&SdlbqET%2mFXG#J6!aDG1_*+>23!)D<1IAtdJ|<+ z1+c~Skp#Gx52Gm7LgEt>jqAmS$IU~<^|_d!kChD$D@)1w^ZPeLJhEH`8)|+280NC! z{OWaBM)jD)8ljLu-h@_OlyKjFpP@2hN~?GUd9=G*oOkBje1M>$wHb3|X|BipV|E^J z-i3T~=H%gxMZNy??Ac02?eWPVhVVQpLtKAmQR+d4B+uaFTTKI@bK`Vtr0UT9J}hh^ zCOO;n;TIstFG!KG5s#(oOvoa2>2OBEpyhV+&)(3_nHd{YtuVzgItizGWURAbx63$+ zER9+>Mzw2lTx6P>*cVN>;)y50u=LxsDrNi`5-Wx_Kk(rZ26X;Pf;-djEN*ojeAnu7 zlR!A6-tBJF6L)2e1X6Gx$~K4^3hC`#70!uXFu@rE?OVPKwb#g=YPV}6Rw0^8C)*3# zLH5AKSqxrg&_4^&!D2kEhF6IkfMzo{xkY615gFM_6scHEO>J?e<_4SlZo~E@(xG`5 z64uHfSCS`c%YowjnXKIV;^-da%^$fZ);8-l3Dd%}J31&q*ZvXgFvE%Tyg)Mc+#j8h z;u#Idn`di+!ZKf*wJWYO6v)Sxjh7o&uVKCP`RwEtV%{Y1XWxP?{+e720ol25^GLp7 z|2_rWuI0+}xRHt@O5;BszDDCU(QCv>B3l10La?NuP{?Hw<&XsiaU)Jnedv>?O5%hs zSmLkY|5-1xkgD}AHpqQ?LXpz&|A8N{6wlUo;G9-8_s_ax|W+{l!{|6A9Z z6yWdg4-E=NO*qDglk0xV3#Q;6sV)bd#&ey;JX>KaQH}$J;gZbWRUpCFmsRZ=7ooLY z?{JWl{lNNJL*huIOZMHn1dmk}j*&$|R$h-CEq+-aFE2bMvYQ}`!FMsQww>z17HgMZ$_>p_-tA)D$I@M%X6toVg zk%hHkLp=xzHU2`#g-Tezz9LIy!@{PzyStk%>n^zdS(3M3cB|>2KgpHDZTHg}@oaDu zn}!@;(0zx|Af>u3C39?qP>NQ8vOFd(=6KL7s}${yyp}9p`8B zvZtcxI+?0+WYVx~tpqkfI8OrN~aJt!?FUob}9#?KTfn zO|Q$0%zp>zl;5M4@p$)G;JZ#JRc}gac;Mqd$)*Y0KcP@a{OVFf@b)9kEV*Q^bah$_ z&FyrXd%==`C&3m~wN@T^1S1L!qHZ2uBctB8Dw1(E{vTZWDcx-jcvx!(RZ2>)ag%mQw!sR`X z;QMacY6m}(&J;#gLMQ);=I`hCh>I)k`1nIw>b+;44wF|GN18vHnkwC{E~%7V!Gm3{yzSP(?yI}H5N2lCsy_w3gPF@V?wg2L#P$~_VIjO$;# zsk=N`Axlfe+-;Z7R{BU#9QU%q9Ea)_8V!lyB1*kj`O1vjmG0Vn^Ivh?(3*@f<8~_Q zF(nVixm4f?Y(vwNJdPI8RMhJU$ohN8=;DHSHET;iEJyUv_V@R7Pmi?|c{5~t%_h;S zeP{C32Xoa$*M#`)IU@Ff4`0{BMC@{RtZb!~F7V?V@3xXLva$+jY9@MN6MeT?lYwa( z;ejX8RrWi9z$k^F-HBnLZr!4kh>IFF>xyDbWO&zDsMYuhhqURF_GE=6tRc{K+d{p& zrM!q$5QhrgiPOWj@vLMQ zf4o^>e7;Cb7IEMk@9PZt_O;G(&X|r}mr!{a1-tGrS z#}w$Twpb4;cR90zr=(WMRVo{)bvzL9Q}yHrf~kargv_k0BJ&xZY@jRFcgcbO=yekU ziFTwu{q2g%$|8V{A-wVo4wg>XSI$*ptg_pRnL7r$N5plYSCqwU@@3PBNcgj*_6yIp z9lr;3e%0P+TjM2q?rH4RL5b2FAyN$oUpoT|%jPFq#G_ug#PnNwJjLCw&k87>&~_!| z@S$!xE!O&y(I4z_?Y!JnFT9gp>3~Qmku(Cf_#;hf`6?FgAky?VXSZH5P8w6mSNG*(7=7hY{$&bYN28i{>)dewy?6&p5t4(y7Q;#(c{Ns<>q7%#&sT6 z0fpP|1f|#?6}@HhN_4zP=bh z0-0erkiI!x8(V3;QfI$x;>xPkfW*bc^?P^M!5n$CwH3|X_2P7HY3YD{9>WtDwvo&u zUOzVh&iYoi8Rxye3m7(l4g_X{-yS}yvnWdyu-e{C{9vZk>bBC`Jp8VzKlrEq*W*7= zhL__%5TE#vxVlN@8Qo8Nj3GUnt6CYCLmqiD^zPb_F;V|=wSh6v0OZ6tcr5!jfkJ9z_U!u+u-iY`F1u|?5schai@#J`S8r| zlYZ%$qY25T&^cA`MfH*P@RAc;i+q~g2@D`V^8Gt^K0%d!lNUD331Ad71-%l@ZcT|~ zXJ@DU04y6m{_M(1>)Jp@G2JC8yOjqr3MwFnkFl_^fj1d*W29hZC`WPZ5LoDeoYrY= zrk9BE>9D64u{E5p?*HWrHXgkO1tViHG&*bR>b@Px2e;ROsi>%k zV0?6RG$|{~H!+c{H&MTqU&6$M*45P&Nap&BbXraJP>6Y5;{Z|DdH+4=d91u<%BYJ{xRxt#Sw<^xKigu#wRGwKLR#yuKr5KTG6Qa@X_BN6S(97=OThBM8Ne6 zMRC@^OfONr4fkLe4I3A=W-Ro0D_1n~dAD=|q&OCqmfk`h!P3U&e02ro_ugKrLY@k( zTE$oW-h?ILM7~AE4aI_Qp$>`!(MN+*8ej(AGfFT}2;fk-yvQ6_m|?*Y70-84!K-s^?P1 z0+Km=Z{B=l>wLB1;p;10c6QYh&5Q=}Qd3)tAe4Rg?j7V=Bgx-*X_=WN=)PV(*<0D) z91DG}UNsAkEF^^9o4~!$7W|l2sn8viTA_BcA8lgO)Kok`oABkv(ITC(GE*X$g`l_8 z5gy&cKR7tJ=uPJO5Li{?IqmgMxH#=LACi-QFj9_wV>SQTW^ZS<5+2NMSWJNG&5G+yajE=1e&3ac7 z$Wep#@~W@r#lXO*aXw)(O&n)69sdpX%Ve*XhKGmL-roLjXQmhG*bJv@*rDtD{NiW^ zYS{b$gk9L&3;@#;@pcw|Jpg563i)d7Ae6pezAO!9$&QYVy#wi&lanhW(ALpe>q|vb zueJkH_io4sC1q!KfRsdY+CRsJ$q#TrL!b=cht=|gQaxc|VWbaEP8lS?OZiGsj7j*A#jxompM=AqD5;&1S|H*24xYznjwTu=rYG8YAxVX4bibXZRa{u{ePX32T zUS8fA@8i&<6@fqLak6fMlN93telZc`R-#~cc{K&c{CINnaHxYK-Xz;0^ zDda$qUoEtJ$&y)Gh-6R$jRB()TAQ0aAz2D`5?%vhvE?$QK0@9O_~4mLIh~I!?6xO` zKcix!qoY53{yea)O(=oK#VLh1d|otJMDm*2z=1~U@pnY$q{D*I{^C^(6)sS=f{k-fX&B}Os5Ls zz(x`h7ET7XKxpFn`He(WSoq!X@3~4s?>GQG$tftV!#n~=_CZe#@k(#v3b0#`j*o}H z;M6i&TX^gNrnDXroSQdAB4KtT^S~KAi#Nty%A|sVL{`jd*mPhRi1qbXxEvx9xSj40 z5_WtO4waIZ*X>Jri;s`5Wop`;C7bbQk(6(dN;4~GVWm3skVM=vhRJug36+{ec(JIu zyotelDo&>n%|f+|cp^~{e(FR2gUzuDP95M^<%k7jqu8R0Ph#l1$8@~crmJpCl5)TI zPUO|wnm|M>*Rt}2o$}RcJEUS8&({x$X39((qxamNk%->Y20GUHmu|O8Raq86vs_0b z)dE5mXZd-Wv{Vf8@8matZR%+fDh{a_gfivkGwD`K9qdM-9H~VRo;ZX+Z&YZmW_`l$ zLTkqTK5$cD=i$`V)n#U9e+Lf)tCJn=#*Mj!h0nl*`SIh&sF;}aZW}uFDi(NgzzI+2 z4r~azl~{kkaPA%)G=q&Jd|~tptd#5NS_bW2OmsBRgm!*JLF?C(siS-J=o9#eiXFYTCMv&oUq@hUE6h8>ivRCEoDGMFd$ z>W`m4JwWpY$Hm2E9Nps+UT^j<9=XElqN^?*(s{g`7kgJ0{pilsop_kb*^?Jzd1Qyb z!Nrw!Ov6t)kfZeRvEVJ8(Ij%r3~}v0zg)q+b9kRIf{JQmD0y4UTnl$OeFh}xAW4@}tA2cjk1%2OJJZn#%s_W}wo^~V&Q9Rwc4f0tX690C zKJRn;@l$Z()3?B`i9%MR(&^|q@Z9$7$3Xbq4;;J1E1C|^rZT7pr3%-ZVT0a5I&!s6moq2Nc+%b(cj$!pZnYb+N~K_z5>?l@oJy=pJ% zg}9B$WE7a7qfcvzxjtA#6xZkF<|4hc+f?cyUAzlJ7*VHb+vB4lKwPXc2bBjMc)t%1 z(}hDR5yl$q9kbJ+3Dh=PPnk=E(JF_48nfD+e|zoPwZf8;MerJ+$RZxHj9|icg?H$G zu6)y|d0B5h)6&JhSK+w!NUxj7l4hSiO~*HAcA@TLLi$!;|FgHh`*g6@M-;&&cMjfv zrZBr$l)6vC62@C*_G7%{MQ_T|lbBCkhCh16&Kwx9V@qczPcTc2hhz}PGm44TFBJTe zG7$`Vms*ZD6g#N99v2PK%2N_?=ea{NtQ7IcK%1SJSdeQgieucIk%BZi%Bx$H9&L$# zU$v)@(Yxmbdh@ocUoVK0s>UzcjFn74z2gP{lq+yw~;ABDxly7o6>&FhfctO}+#@6jj(M9?u`wI%?A zk8BD*21FGOCx3LucX_Xziv#4Lj^jJ+^fl)r^fhll$cBRiip?zPi^w>&yAkx~225{%~2_7W}s zYuOS5X+8184k$aI&dK|tyeH6=z!j|D*C!%)mu$A98FT-%?(tnOoEArS?2&wpWbw`i zBCU7k{nOL3K8~EeFgZ9_XuPPlF_a-X()AAue8MA@G$T>PTHt>)e*b09SvaP?gmkKk ze3}l%ZZmb3^qulF(U-R8*H7j5qj#2nuwi2r#mJ{`kmR*E-xns{ zOvklbVQtx(pe7MV-~IUSyIVIIs(JR~+XKwv5RQr8Q)g)p=BCSSN+JFCJN-j+Gy-XO zx-tPJh7y2dytH1%f{;m+(-jsH#uouYo5T2K*O9~JIlE{CZ888MVRWhy;DIu^o`2A& zbB;DG8&qx}B_&-8B;#?8`t?f+fTVu9qr#0s86T{((+bcZ@jqj=+Z|6h|q$tR{#xnck?e4-$97C_Z z-SIWCY9Q;a&W|Ruxq5Tn*h#h|>F?kA`#heqxPC90Jsrxi*_!@*LzYTgCWC2WY6L8C zO{?$htK4z672XR+n1a|nRBy)Mw0`gJdo=Fr@DWvfez(G&*HpEJTV(I9P`O{akMzPR~dTTgg74zw43dVYRFYTV8`Sn+{$@g@NH*sYfVJa{j`9eEdA z#8w!{3N>#XVbpH`49V22=K;071lqc_zn`gdEFIjcmY$wKcXuSfZU+wEPnQ_pMMB^* zhtrh=M}v%m{rxEr0qwZd0Z3YZ6l1@%d=?zD>yqdR0g|r6^Mk!X;9d}^TOr%p7|h!H zh`~#OhK2?kx&dAp`pugF3f?uDstSknH0XS0yRGr?oF}p3Vqy%8jC0@^&}!7+gLR}7 zkMRf%y$hRe0VF2fY^uuPk_)r}ml)`ut~PQdA5fa|Zjb zjf{imBnL)+SEE!oDABN{Amlm<>xL}q?p7RMLNZJ%|k=cs|?}F1L-1jis+tU z)ao~bUeFY6Px<@arDV|AWEifZ`)PMd%yG1uX2Z1`L4$X>sCc#;$LSEzuUl%VQ3KWf zZVDU`xSkTNJKd|twFDytYR%1KH+J%Pj*rbUzE6*g?yt3ebw$aNVL!ub^+Y;$Dd63x z<@!BQPUPM)!}|VWy%dX(m4EI%pHI!hzdjnjOeE?p42(GdWDRf3ZJwX3B!}lJA7j=^p z_m2NEdtX^90SRa9p1Qtu$;^qhw6mikz4~Iq^c3-Exi_z5!mB(bMz0Gl!dAn9W0j*O z#e28;7HfCvnUe>a_e>@?KM#lrQev%l7syg+nT$st#&;PGHHO`J@**ryc{PsR(dRL; z(@Ww)Z`F~46!~lxS^Zw!jt{COEK6tP9wF<4Ih`Cw*yk|OsO-!{H}yN!JAAp0(JGm^xL;Wu$9_cRroknt=FGKZYlF{w$csh9 z6UTAz=Tg^_+{5Z$%?UbzADX*iUS#ORq!X(EEmowJKf`MIq zw8Id0LQza$RTT%Yi$`y($5zo=Dwvp85r12O^A9^+xO!*2)^O-xN^V#(PS@-s3J zgy0Bt1T+9aU8IPx3-augOUjJx_GBe(uY7?HHXuBtrmn7lm>0$}c`7f? zFD~}J&4BO3U_4Aq33a{R-e_P~-d$Z@$N?BGd9&g5>(>ZB3J%fI*Kf^~PR&#*(k7+A zOVMIxHEIXC=Ss&5`kI>Bu}T-tYI`%ZB-hlIk_`ia8|vyMooiBMYU~|Gk#AH5z5S}j z=zZy#@Q%*e`y^9+T>mU~7f4HUeR2E|ugZpT+!O>Tv6QTA>Xbc+a*-VgceScazKL?0 z4kr1u^f#f~s0Ul!4Ll0h$v7J$@+OX(?9n*6hLL}LS4WE}GZIyf{}V=+@rGc_Dy;9h z;FuMML1aOa#px$%R?3*D3~7ErZt`WrdyH3C8{wF4R`Xg9cP)FVvyy!cBlEjrwtnKM z*9oS+Z>hgRCl5t8o;Iq-%_x~7#LAr(&skX`AT&V+fOExWg_f2UhJ@jO1As-y;scK0djm2E zkdxndKUK)Z2RM}MG-_w4+TQ%r=g*J{o`ZClVXM`n=g)7sgV(kBU>A zpc?=u@xjDfkZip^Xj-Gz+n!&eBr-WeOmZhh}` zfPRYMu;=PAAa}P&xuVu&8Uc>VRV{zs$}0Jq6|i+J@5DMiH$KwAlVM%;)>r6w@Xq`qo=SfL7akFno}Zs1MoMjy z&C)qKIwBGuL`1P-nqIgmg*mDjtb6f#%rl0p_B(JeTPo`so8^9+jE4!w|=R+(dEj?FVW_p}&N~CnE`P@To=~r+nF}Guw z`%Jm@!Z^V8u6@ro6jSZus{#_|U!9e;*f3oF-g@VO+mV@~dB2st*fNee)&mcNnA;`_ zVVJl!!u3CF6rE-*N6i-fcO3bz~0@XBPjb-FYj z2O~C#8Ka|0sJDpQ0Cvw(E~bR2;`CeZJ`Z3kE&cr=0B?SW92Hivg<_t{TOe%uLd4c1 z(NXU%YrB67lr4Z$TY^+n@dJcgUVI*R)Z19CHy46^N#u z+7j?Oz8^25l1%mWbr5jo`w^R%Os~l&;`fOflhW4qfQ^?^G=g7N_HzMEyU24sXKIl! z+SgQjJvK~NGo5qv^P0a|p7~{fy8PlR&k%nc=69do3&!&-b!;SET&bF4kl!Tx2iRO% zU+(~|;LgTuRBgKvu}}tD9NL0WU>+(2RsN}|k6|hg9b}AQ?2{F2Cep{0_PL@*9BN~O=S8v}wQRjp?daP!XK51!B0O}iNR|C{$Tve1Hi*-TrXn4!FGjNqq3*vs6l-=|ed>AW+~1xD6I#kcUZ&i2BQ@sED+}n3rpUg4MJfeZtgWeG1e@``=+p}x^q7~VUp5q#0G~ahkexF zlarm@54o>&iTD^(azrUHLXiPFQe?d%p;7A?KFm{E5j&(&oTpNXhy`H6#9d9z85_}a zg)A9QND9CRsW7a!12uyn6D8MvR~NsV(Z4)Dp?LBH;jDtOO0=5*2;mLEK;k)2FNQ0zEQX&z zoYbpq+JBWn$HhFLXNcM!E<&Ntzy z7NEL>#o!krpA7{o|CEd&4kPzCz9xjIuktt+1INA%Y#*dL<{(glWHu5^N@Hn`)Ohee z@`Apr`}Ii@%vJX3{RUw=yzJEMY!R?RNIES6jU62#5ODtQ`RnfeQxV7W8DvifG8vFU z0Gy3qQWBsSN5JNjZCL*Ic5pRu|EV!c{1_8M2)Qa*4zGV_=l(sd4}IJwGQh+C*F`*V zHPQcDnf8Bv_Y;rrZynbE`3d4*yPjXK75=~9=W{0i8x;M&r}eplnrz@_93wZ=euwWl zS05@(;ZuE`IEJJU9}>xCOZKs@e$JAz0*2#ml?%g=vqO}8OnCN)-X`1QDDlG2tPWu+&HLmyoSU@ha9Du zw^3C#W|FOsgwzb=;0M=93)P-an6Ty~AeRhNh6*2CuWKOln$h7RRh0Zd;NP4go-wda zfJC-lmG5}Xd3DRRekMl{QJo5(-xa(=|EWbkCcXA=G5IU>e+qh$kRE#crve?9?{CE{ zdARrD@@djnW$YK}kX%?VFOSEaGFRsIb6>xD1bw@edyq-8ZF{~j(2yoKipI%VYh-&bZ=pDkBpFz z4~%nN-FJdYlabUQo@c@xy}gQn9c;WD*dPK%&;NXqNNu(!5nxij-Bf3%C^9ngI#41B z1mGtFx~AT=ng0d)2%k_=8i6C#(bJ;<sTIiZj91$i)Sdqk-I}UaY;SL`vY7h>wqFxR zSwo#!zh^Lj0BnTaX-i9s(PCRLQ?%Hhy}i&elVM0SLPZTzo<^+-}>P^5iYJ z4B-@|<}(_aZWpECOyx`^CM4top0)<1K}Hj0dBE3TvW=RKG8$p*LiL{&0nTPe@cf4- z%j4{e>{{+nqJ1D9&Ga^8@Vl-kkPHqforiy`-l5X7OL9v&~<9E8F79@bBENe7PrDEr#hF2Of8 zY!7)dUSXLUNX-5S&|7Hv6M*t4iw{8-wq1I~u*6~E;c4LAcS7NOV`Jkw&>%p*^)Wbp zg!SeZ>PusH4;ghxgi1I8dCDLDd;AY4Bae03Tio*iaqZ$bxp+@x zR>9UllF*Edl_$-aTj&N^-}g$v)eQLt+31a&g1YY$#ikRi;xR13ke4f9m9ViX0o*Yk zkh3x8%XX^7)iM3V@cR0CfWWp3g}|40gm6_c#Ad>@+z_JCTfIu9M&S_ZWg@V)M7PU6 zaki=VxzS>jOUuja5vpc=AZ~+@f+U=&W_?bIT&vT1i~Dd?2j+WQSJW#OXsFbDC<4eU z=Zmtmbh7=lgWyihULchI5^wMR`O^c-x!HgPyNKCg_3k&;pbabrm*JSGiiBpD7IT{&dd*P7f11o`p zlanzN8&$0&I4!QMWI!b)bc&X$l$k{L_xJC2&=eRzw9GnF55K374>ag$Zb#Zo8o%ECarPiC;ZCJ9|fWcQ^$k`8C4lcbb7$ip6SC2uiPj z30neOT4}(VOWm$qp*%nioGoa@B^t_*Br~0=8ltSvCUx3mq*JSq3K@iw5GeZ*gHqaO z^zbwJGqp8&EL$5I#a4P}u+AyB`}5_{&Jr`HvgOqJ*? z1B4+(G?yye$FrY9zCpY)G4*(Jeci|gS(Woc4#?^N;5SPP3#qVkgtKXlG=RLN>nW1z zg0eh!F?h(gtZQT-=VXmgR* z%)aC58v1kin{adPd3@jA``hQ7Mgj*UlY8mP+I4@o53LUuPiHs}e?w87dRnyC$0zZD z1soX>JCI*g#J_lPb%R7wg)ciX0`Eli2i}>5eaLL%mwedls3=@rdG0G-Tl)kiLM$~roH z2)d_dT3EIim6jBlG9rurrQJF zL{BM8k#fM`cil+l>EPhtwh=fgYB7DKOA}SkfBn@Dkpbi^arwomiW=ORPz%2-wlzzz z@An(%vVAvp|3Qi;`!T1Y{LG93 z`7Nf+nfB<(lX5a~LXNzTDg-t1=eLR6)^NaPym@=11Hl0`t_}a^YRT$q?egfAX?<=P zj7MWGC;%&W+)RV~q;P{Z@`SwXE8C4%$Xyr(B69J%W(J&M3B+QtZ}HBUGyRYe1R<>w z(`PFJ&P{)~Y)>ydWLXfP(~uH#Zl5Ki_l}fmIF9%*?z!n-%#fiU#m(;lF>q!s0fUck zmoP~aV$>jS9xJZOJb)b)c`OzyJ|TgO7DTRjHA3c9boT9aqj(9^E)1k^LW7xToRe3E zz(H_etcsjzsHmvuT+024+uk{))IO%KY*+;9K34-=oK7JdC#fO$^k8Tx#JnoG7#PKP z%N7BYZ0=dz+==e%7s`|yy!rF1(9|w#E352TxXxYYf;l*Eo(m*I$Pp_oUecUgckBp7 zkv*w~maK_p2OgFr@jHuJL^X)m1wFl)y^fa$xYgDBfmu0as9X;6f@g#WZLRI>n5H)F z?js9Dh`SFH^`c$BkrRx3eI~H0)yE(2=a5)UqGhw!K7RUiAE*4U#j!(UsWnPtZ^#7O z;^N}S+e6ST4h5a077TAx#zjG{XloP9jf8$!um0kNkb?YUs_MW$+=q9k@JR#{(;Ttp zFUcxqJ|vAQ6}efXqK2EaMSNV*7Bz+AFsS!*Ku-2nd0L4!V+FWAX^uNY6#$JE1f1Pc zl~lCxN^8nGLqo0;S$inF_W0q$8^~9Cxn>4Zv;lxcy{wydZu{WStLO?`f~vPa*;tB; znLe6|BIwx8A=m>=(;3GAi)XQ>gJ_49))p46$9ZtY?B$;6=Z1B1j5lw#L6jrpNF!5@ zdCV-#!7$#^rz^W{EgZ$&(3eky{nYf%?#pYlDM%Sg=Di^Eh{CH^$NsHDMPH8e!(ir# zE+s?$SU0T~O?2P56f4yR;j0r^GTRMX`k1Ts(ebHvNiEpNfuu?b+F%rAZD(XJ=MG8d zl#Kr(C>vW_9`4(&i|#3ON#KT!$j(Z3>R%)fbV&D))oO-NqgGczwcN+Sz*ivL2W(cu z0NstGO2O^j8FWlX#+fWe`pO>uitg{#3M?c z_F2#EO}ZTsZ4hV@e~x;I{s_bm_Q6tEDxuP75~Yy$`VdaR+N8SG#}tQ1&KIX@Twod+ zuN#c@M~NU~+5r--+w#H~rwlSEQRK>$L*x}9=$X5n4!{A|u77)!1|Z}JPuCw!96WKK z9|*+PSy_Tl>h4C$XS&=4fS+oFnzpAvTEJ`M8wcW~QizJk&VxtTkn#6}Kmqpz`S`GR zzMS~&BO=lYOR?@$G%kA40mP^Z+H_YMJCo!SW`vjEO ze*lw3@X#OQWI_!Xcx?!Ad5^a@WAZ^w;0a)d0AUp zeumI}qNgMs0W$}v;`#G<)j8c%Nb@-?xED*rLvsPASNjr9o-X5|K(AWI6xbK{jgV2gAx8)Gvw9%?G&dIzit^zgU< zY9fMPQ{ww*$#doWCTlVduJPU(rWWq*&93eW*Ebq}_~En4%1S3jm)m^dJMX@W^8t9^ ze_y~3wwEA!;3+XSF{y;$>xT%7A;gUmVSzzG<=83I9_=((G&Vkde8|9-K+xkmRiN6v zxUjHE-=F9n7l`mr;xoLgvm5SGGJNyRll20$kbFv1RJqTGR~7Y$d?XuzCfN&qiz6X` zQY&j~15hm><2}i`AbQ{5M5_7i9UZ+!_D$DYT6X2;=8i+|U4pF!7s=hk+XEOJrh9o^ zhO{4Al`IPiMH;rApuIW)hfIc}&E@s=2SLD4G~iFrHr!4(dT$owaU7083~tWdNRsKR zWN2VzQ`3va@lZQpXYh}l{QL@BG63jn9 +

Chrysalis: Cardano Serialization Library for .NET 🦋

+

A .NET Serialization Library for Cardano

+ -[![.NET](https://github.com/0xAccretion/Chrysalis/actions/workflows/dotnet.yml/badge.svg)](https://github.com/0xAccretion/Chrysalis/actions/workflows/dotnet.yml) +
-Chrysalis is an open-source .NET library designed to facilitate the serialization and deserialization of Cardano blockchain data structures. With a strong focus on adhering to the Cardano standards and enhancing the .NET Cardano developer ecosystem, Chrysalis aims to provide developers with a reliable and consistent toolkit for working with Cardano. +![Forks](https://img.shields.io/github/forks/SAIB-Inc/Chrysalis.svg?style=social) +![Stars](https://img.shields.io/github/stars/SAIB-Inc/Chrysalis.svg?style=social) +![License](https://img.shields.io/badge/License-MIT-blue.svg) +![Contributors](https://img.shields.io/github/contributors/SAIB-Inc/Chrysalis.svg?label=Contributors) +![Issues](https://img.shields.io/github/issues/SAIB-Inc/Chrysalis.svg?label=Open%20Issues) +![Issues Closed](https://img.shields.io/github/issues-closed/SAIB-Inc/Chrysalis.svg?label=Closed%20Issues) + + + + NuGet + + +![C#](https://img.shields.io/badge/C%23-purple.svg) + +
+ + +Chrysalis is an open-source .NET library designed to help you create, build, and sign Cardano transactions. As a C# serialization library, Chrysalis facilitates the serialization and deserialization of Cardano blockchain data structures. With a strong focus on adhering to the Cardano standards and enhancing the .NET Cardano developer ecosystem, Chrysalis aims to provide developers with a reliable and consistent toolkit for working with Cardano. 🚧 **NOTE:** This library is currently a work in progress. Feedback and contributions are welcome! -## Features +## Features ✨ -- **Cardano Serialization**: Convert Cardano data structures to and from CBOR (Concise Binary Object Representation). -- **Bech32 Address Encoding/Decoding**: Handle Cardano addresses seamlessly. -- **Extensive Data Model Support**: Work with a wide range of Cardano data types, including Transactions, Assets, MultiAssets, and more. -- **Smart Contract Interaction**: Interact with Cardano smart contracts. -- **Cross-Platform Compatibility**: Use Chrysalis in any .NET project, including .NET Core, .NET Framework, Xamarin, and more. +- **Cardano Serialization**: Convert Cardano blockchain data structures to and from CBOR (Concise Binary Object Representation), allowing seamless and efficient data exchanges while reducing manual handling. +- **Utility functions**: Use provided functions to intuitively interact with the Cardano data types and serialization formats. + - **Bech32 Address Encoding/Decoding**: Simplifies the encoding and decoding of Cardano addresses, ensuring compatibility with widely used formats. This allows you to handle Cardano addresses seamlessly. +- **Extension Functions**: Simplifies the retrieval of values from Cardano data types by providing functions to access various variables within the data structures. +- **Extensive Data Model Support**: Use a wide range of pre-built Cardano data types, including Transactions, Assets, MultiAssets, and more. +- **Smart Contract Interaction**: Utilize Chrysalis' Cbor types in Datum creation and interact with Cardano smart contracts. +- **Cross-Platform Compatibility**: Use Chrysalis in any .NET project, including .NET Core, .NET Framework, Xamarin, and more. This not only allows you to assemble Cardano data through C# but other .NEt languages such as F# or VB.NET. ## Roadmap 🚀 -1. **(De)serialization Support**: Achieve complete serialization and deserialization for any Cardano data type described in CDDL https://github.com/input-output-hk/cardano-ledger/blob/master/eras/alonzo/test-suite/cddl-files/alonzo.cddl. +1. **(De)serialization Support**: Achieve complete serialization and deserialization for any Cardano data type described in CDDL https://github.com/IntersectMBO/cardano-ledger/blob/master/eras/conway/impl/cddl-files/conway.cddl. 2. **Transaction Handling**: Introduce capabilities for building and signing Cardano transactions. 3. **Advanced Address Management**: Implement address generation, derivation, and other associated functionalities. -## Getting Started +## Getting Started 📦 To use Chrysalis in your .NET project: -1. `dotnet add package Chrysalis` -2. Example Usage +1. You can install Chrysalis via NuGet: + `dotnet add package Chrysalis` + +2. Example Usage 🧑‍💻 CBOR (De)serialization ```csharp - var originalTransaction = CborSerializerV2.FromHex(originalTransactionCborHex)!; + var serializedTransaction = CborSerializer.Serialize(originalTransaction); + var deserializedTransaction = CborSerializer.Deserialize(serializedTransaction); + ``` + + Block Deserialization and Serialization + ```csharp + byte[] serializedBlock = CborSerializer.Serialize(originalBlock); + BlockEntity deserializedBlock = CborSerializer.Deserialize(serializedBlock); + ``` + + Access Deserialized Transactions, Transaction Inputs, and Transaction Outputs from a Deserialized Block + ```csharp + IEnumerable transactions = originalBlock.TransactionBodies(); + foreach (TransactionBody tx in transactions) + { + IEnumerable inputs = tx.Inputs(); + IEnumerable outputs = tx.Outputs(); + } + ``` - var serializedTransaction = CborSerializerV2.Serialize(originalTransaction); + Access a Transaction Input's Transaction Id and Index + ```csharp + foreach (TransactionInput input in tx.Inputs()) + { + string id = input.TransacationId(); + ulong index = input.Index(); + } + ``` - var deserializedTransaction = CborSerializerV2.Deserialize(serializedTransaction); + Access a Transaction Output's Address and Balance + ```csharp + foreach (TransactionOutput output in tx.Outputs()) + { + string addr = output.Address().Value.ToBech32(); + Value balance = output.Amount(); + ulong lovelace = balance.Lovelace(); + MultiAssetOutput multiasset = balance.MultiAsset(); + } ``` - Bech32 Address Encoding/Decoding + Serialize Transactions in a Block ```csharp - var addressBech32 = "addr..."; - var addressObject = Address.FromBech32(addressBech32); - var addressBech32Again = addressObject.ToBech32(); - var paymentKeyHash = addressObject.GetPaymentKeyHash(); - var stakeKeyHash = addressObject.GetStakeKeyHash(); + for (uint x = 0; x < transactions.Count(); x++) + { + CborSerializer.Serialize(transactions.ElementAt((int)x)) + } ``` + Bech32 Address Encoding or Decoding + ```csharp + var addressBech32 = "addr..."; + var addressObject = Address.FromBech32(addressBech32); + var addressBech32Again = addressObject.ToBech32(); + var paymentKeyHash = addressObject.GetPaymentKeyHash(); + var stakeKeyHash = addressObject.GetStakeKeyHash(); + ``` -## How to Contribute +## Smart Contract Datums 📝 +Cbor Types +![Example Image](CborTypes.png) + +Datum Example +```csharp + public record AssetClass(CborBytes[] Value) : CborIndefiniteList(Value); + public record AssetClassTuple(AssetClass[] Value) : CborIndefiniteList(Value); + + [CborSerializable(CborType.Constr, Index = 0)] + public record SundaeSwapLiquidityPool( + [CborProperty(0)] + CborBytes Identifier, + + [CborProperty(1)] + AssetClassTuple Assets, + + [CborProperty(2)] + CborUlong CirculatingLp, + + [CborProperty(3)] + CborUlong BidFeesPer10Thousand, + + [CborProperty(4)] + CborUlong AskFeesPer10Thousand, + + [CborProperty(5)] + Option FeeManager, + + [CborProperty(6)] + CborUlong MarketOpen, + + [CborProperty(7)] + CborUlong ProtocolFees + ) : RawCbor; +``` + +## How to Contribute 🤝 Interested in contributing to Chrysalis? Great! We appreciate any help, be it in the form of code contributions, documentation, or even bug reports. @@ -56,19 +157,4 @@ Interested in contributing to Chrysalis? Great! We appreciate any help, be it in - **Pull Request**: Submit a pull request once you're ready. Ensure you describe your changes clearly. - **Feedback**: Wait for feedback and address any comments or suggestions. -## License - -MIT License - -Copyright (c) 2023 0xAccretion - -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. - ---- - -Give your feedback, star the repository if you found it useful, and consider contributing to push the Cardano .NET ecosystem forward! 🌟 From 221b8bcd53c9739b0f4c48638f6c6f660f703e26 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Thu, 28 Nov 2024 03:32:23 +0800 Subject: [PATCH 051/162] refactor: modified asset extension functions (#52) --- src/Chrysalis/Extensions/AssetExtension.cs | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Chrysalis/Extensions/AssetExtension.cs b/src/Chrysalis/Extensions/AssetExtension.cs index 39054e9f..a451f49c 100644 --- a/src/Chrysalis/Extensions/AssetExtension.cs +++ b/src/Chrysalis/Extensions/AssetExtension.cs @@ -37,20 +37,36 @@ public static bool WithMultiAsset(this Value value) public static IEnumerable? PolicyId(this MultiAssetMint multiAssetMint) => multiAssetMint.Value.Keys.Select(key => Convert.ToHexString(key.Value)); - public static IEnumerable Subjects(this MultiAssetOutput multiAssetOutput) + public static IEnumerable AssetNames(this MultiAssetOutput multiAssetOutput) { return multiAssetOutput.Value .SelectMany(v => v.Value.Value .Select(tokenBundle => Convert.ToHexString(tokenBundle.Key.Value))); } + + public static IEnumerable AssetNames(this MultiAssetMint multiAssetMint) + { + return multiAssetMint.Value + .SelectMany(v => v.Value.Value + .Select(tokenBundle + => Convert.ToHexString(tokenBundle.Key.Value))); + } + + public static IEnumerable Subjects(this MultiAssetOutput multiAssetOutput) + { + return multiAssetOutput.Value + .SelectMany(v => v.Value.Value + .Select(tokenBundle + => Convert.ToHexString(v.Key.Value) + Convert.ToHexString(tokenBundle.Key.Value))); + } public static IEnumerable Subjects(this MultiAssetMint multiAssetMint) { return multiAssetMint.Value .SelectMany(v => v.Value.Value .Select(tokenBundle - => Convert.ToHexString(tokenBundle.Key.Value))); + => Convert.ToHexString(v.Key.Value) +Convert.ToHexString(tokenBundle.Key.Value))); } public static Dictionary TokenBundle(this MultiAssetOutput multiAssetOutput) From 96f9b62e4ac99056e58f24a6ae66b1d263672479 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Thu, 28 Nov 2024 03:32:58 +0800 Subject: [PATCH 052/162] chore: bump version to 0.4.1 (#53) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index c10f2b5f..c9ca5381 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.4.0 + 0.4.1 Chrysalis clark@saib.dev SAIB Inc From 0b1636dc4ec59b812325ce7864d6c7e76c887f08 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Thu, 28 Nov 2024 06:23:01 +0800 Subject: [PATCH 053/162] refactor: improve subject and policy-based Chrysalis extensions (#54) * refactor: added subjectTuple and modified ToBech32 extension functions * refactor: add tokenBundleByPolicyId extension --- src/Chrysalis/Chrysalis.csproj | 1 + src/Chrysalis/Extensions/AddressExtension.cs | 15 ++++- src/Chrysalis/Extensions/AssetExtension.cs | 59 +++++++++++++------- 3 files changed, 55 insertions(+), 20 deletions(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index c9ca5381..470d7991 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -16,6 +16,7 @@ +
diff --git a/src/Chrysalis/Extensions/AddressExtension.cs b/src/Chrysalis/Extensions/AddressExtension.cs index d19dc0ca..bde90935 100644 --- a/src/Chrysalis/Extensions/AddressExtension.cs +++ b/src/Chrysalis/Extensions/AddressExtension.cs @@ -1,9 +1,22 @@ using Chrysalis.Cardano.Core; +using CardanoSharpAddress = CardanoSharp.Wallet.Models.Addresses.Address; namespace Chrysalis.Extensions; public static class AddressExtension { public static string ToBech32(this Address address) - => throw new NotImplementedException(); + => new CardanoSharpAddress(address.Value).ToString(); + + public static string? ToBech32(this byte[] address) + { + try + { + return new CardanoSharpAddress(address).ToString(); + } + catch + { + return null; + } + } } \ No newline at end of file diff --git a/src/Chrysalis/Extensions/AssetExtension.cs b/src/Chrysalis/Extensions/AssetExtension.cs index a451f49c..29902598 100644 --- a/src/Chrysalis/Extensions/AssetExtension.cs +++ b/src/Chrysalis/Extensions/AssetExtension.cs @@ -17,10 +17,10 @@ public static class AssetExtension => value switch { LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.MultiAsset.Value - .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value), kvp => kvp.Value), + .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value).ToLowerInvariant(), kvp => kvp.Value), _ => null }; - + public static MultiAssetOutput? MultiAssetOutput(this Value value) => value switch { @@ -32,41 +32,49 @@ public static bool WithMultiAsset(this Value value) => value is LovelaceWithMultiAsset; public static IEnumerable? PolicyId(this MultiAssetOutput multiAssetOutput) - => multiAssetOutput.Value.Keys.Select(key => Convert.ToHexString(key.Value)); + => multiAssetOutput.Value.Keys.Select(key => Convert.ToHexString(key.Value).ToLowerInvariant()); public static IEnumerable? PolicyId(this MultiAssetMint multiAssetMint) - => multiAssetMint.Value.Keys.Select(key => Convert.ToHexString(key.Value)); - + => multiAssetMint.Value.Keys.Select(key => Convert.ToHexString(key.Value).ToLowerInvariant()); + public static IEnumerable AssetNames(this MultiAssetOutput multiAssetOutput) { return multiAssetOutput.Value .SelectMany(v => v.Value.Value - .Select(tokenBundle - => Convert.ToHexString(tokenBundle.Key.Value))); + .Select(tokenBundle + => Convert.ToHexString(tokenBundle.Key.Value).ToLowerInvariant())); } public static IEnumerable AssetNames(this MultiAssetMint multiAssetMint) { return multiAssetMint.Value .SelectMany(v => v.Value.Value - .Select(tokenBundle - => Convert.ToHexString(tokenBundle.Key.Value))); + .Select(tokenBundle + => Convert.ToHexString(tokenBundle.Key.Value).ToLowerInvariant())); } public static IEnumerable Subjects(this MultiAssetOutput multiAssetOutput) { return multiAssetOutput.Value .SelectMany(v => v.Value.Value - .Select(tokenBundle - => Convert.ToHexString(v.Key.Value) + Convert.ToHexString(tokenBundle.Key.Value))); + .Select(tokenBundle + => Convert.ToHexString(v.Key.Value).ToLowerInvariant() + Convert.ToHexString(tokenBundle.Key.Value).ToLowerInvariant())); + } + + public static IEnumerable<(string, string)> SubjectTuples(this MultiAssetOutput multiAssetOutput) + { + return multiAssetOutput.Value + .SelectMany(v => v.Value.Value + .Select(tokenBundle + => (Convert.ToHexString(v.Key.Value).ToLowerInvariant(), Convert.ToHexString(tokenBundle.Key.Value).ToLowerInvariant()))); } - + public static IEnumerable Subjects(this MultiAssetMint multiAssetMint) { return multiAssetMint.Value .SelectMany(v => v.Value.Value - .Select(tokenBundle - => Convert.ToHexString(v.Key.Value) +Convert.ToHexString(tokenBundle.Key.Value))); + .Select(tokenBundle + => Convert.ToHexString(v.Key.Value).ToLowerInvariant() + Convert.ToHexString(tokenBundle.Key.Value).ToLowerInvariant())); } public static Dictionary TokenBundle(this MultiAssetOutput multiAssetOutput) @@ -75,19 +83,19 @@ public static Dictionary TokenBundle(this MultiAssetOutput multiA .SelectMany(v => v.Value.Value .Select(tokenBundle => new KeyValuePair( - Convert.ToHexString(tokenBundle.Key.Value), + Convert.ToHexString(tokenBundle.Key.Value).ToLowerInvariant(), tokenBundle.Value.Value ))) .ToDictionary(kvp => kvp.Key, kvp => kvp.Value); } - + public static Dictionary TokenBundle(this MultiAssetMint multiAssetMint) { return multiAssetMint.Value .SelectMany(v => v.Value.Value .Select(tokenBundle => new KeyValuePair( - Convert.ToHexString(tokenBundle.Key.Value), + Convert.ToHexString(tokenBundle.Key.Value).ToLowerInvariant(), tokenBundle.Value.Value ))) .ToDictionary(kvp => kvp.Key, kvp => kvp.Value); @@ -96,12 +104,25 @@ public static Dictionary TokenBundle(this MultiAssetMint multiAsse public static Dictionary TokenBundle(this TokenBundleOutput tokenBundleOutput) { return tokenBundleOutput.Value - .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value), kvp => kvp.Value.Value); + .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value).ToLowerInvariant(), kvp => kvp.Value.Value); } public static Dictionary TokenBundle(this TokenBundleMint tokenBundleMint) { return tokenBundleMint.Value - .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value), kvp => kvp.Value.Value); + .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value).ToLowerInvariant(), kvp => kvp.Value.Value); + } + + public static Dictionary? TokenBundleByPolicyId(this MultiAssetOutput multiAssetOutput, string policyId) + { + return multiAssetOutput.Value + .Where(v => Convert.ToHexString(v.Key.Value).ToLowerInvariant() == policyId.ToLowerInvariant()) + .SelectMany(v => v.Value.Value + .Select(tokenBundle => + new KeyValuePair( + Convert.ToHexString(tokenBundle.Key.Value).ToLowerInvariant(), + tokenBundle.Value.Value + ))) + .ToDictionary(kvp => kvp.Key, kvp => kvp.Value); } } \ No newline at end of file From c0903c297c4c1529dd2412692f7f93ef1579bb82 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Thu, 28 Nov 2024 06:24:19 +0800 Subject: [PATCH 054/162] chore: bump version to 0.4.2 (#55) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 470d7991..9a4aef5c 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.4.1 + 0.4.2 Chrysalis clark@saib.dev SAIB Inc From 82c8e1c443f982ef7c4aa42ce52959c534c3667d Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 10 Dec 2024 14:12:15 -0500 Subject: [PATCH 055/162] feat: architecture redesign using converter attributes (#70) * initial restructuring implementation * remove constructor and default value * add nested constr test * partial implementation of cbor converters * implement primitive types and some tests * redesign converters and add test crashr datum deserialization * cleanup * finalize folder structure * Add base test cases * feat: custom collection converters (#58) * implement custom map * implement custom map * refactor: add NullableConverter and CborNullable type with associated test data (#57) * feat: support cbor tag (#60) * support tagging in all converters * support tagging in all converters * feat: block transaction types (#62) * support tagging in all converters * support tagging in all converters * add transaction types * feat: add new CBOR definition types and structures for Cardano Transaction WitnessSet (#61) * feat: add new CBOR definition types and structures for Cardano Transaction WitnessSet * refactor: Remove CborDefiniteList and CborIndefiniteList types from the collections namespace * fix: cbor def list type (#63) * feat: implement all block types (#64) * fix: block deserialization issues * refactor: code cleanup * feat: add caching and parallel processing of union types to optimize deserialization speed * feat: support blocks starting from shelley * feat: transaction body and asset extensions (#66) * implement transaction body extensions and hash utils * implement transaction body extensions * implement asset extensions * feat: add extensions for auxiliary data, transactions, and block CBOR types in Cardano (#67) * feat: add extensions for auxiliary data, transactions, and blocks in Cardano * refactor: rename utility classes for clarity in Cardano extensions * fix: union early return on match and some code cleanup * fix: mark block as abstract type * use cbormap for transaction metadata * refactore: migrated custom types (i.e. common, datums, redeemers) for Cardano (#68) * chore: version bump and upgrade ci/cd to dotnet 9 * remove merged code * feat: added CIP68 Plutus type and CborMap * refactor: update CIP68 to use generic CborMap for metadata --------- Co-authored-by: Katteu --- Chrysalis.sln | 35 ++-- src/Chrysalis.Test/CborSerializationTests.cs | 68 ------- src/Chrysalis.Test/CborTestData.cs | 47 ----- src/Chrysalis.Test/CborTests.cs | 91 +++++++++ src/Chrysalis.Test/Chrysalis.Test.csproj | 2 +- .../Types/Cardano/Crashr/CrashrTestData.cs | 176 ++++++++++++++++++ .../Types/Primitives/BoolTestData.cs | 33 ++++ .../Types/Primitives/BytesTestData.cs | 49 +++++ .../Types/Primitives/IntTestData.cs | 53 ++++++ .../Types/Primitives/LongTestData.cs | 85 +++++++++ .../Types/Primitives/NullableTestData.cs | 35 ++++ .../Types/Primitives/TextTestData.cs | 38 ++++ .../Types/Primitives/UlongTestData.cs | 82 ++++++++ src/Chrysalis.Test/Types/TestData.cs | 38 ++++ .../Coinecta/Types/Common/ClaimEntry.cs | 27 +++ .../Cardano/Coinecta/Types/Datums/Treasury.cs | 21 +++ .../Types/Redeemers/TreasuryRedeemer.cs | 24 +++ .../Core/Extensions/AddressExtension.cs | 8 + .../Core/Extensions/AssetExtenion.cs} | 5 +- .../Extensions/AuxiliaryDataExtension.cs | 35 ++-- .../Core/Extensions/Blake2bExtension.cs | 11 ++ .../Cardano/Core/Extensions/BlockExtension.cs | 124 ++++++++++++ .../Core}/Extensions/DatumExtension.cs | 6 +- .../Extensions/TransactionBodyExtension.cs | 61 +++--- .../Extensions/TransactionInputExtension.cs | 4 +- .../Extensions/TransactionOutputExtension.cs | 59 ++++++ .../Core/Types/Block/AuxiliaryDataSet.cs | 10 + .../Cardano/Core/Types/Block/Block.cs | 41 ++++ .../Cardano/Core/Types/Block/BlockWithEra.cs | 12 ++ .../Types/Block/Header/Body/HeaderBody.cs | 43 +++++ .../Block/Header/Body/OperationalCert.cs | 14 ++ .../Block/Header/Body/ProtocolVersion.cs | 12 ++ .../Core/Types/Block/Header/Body/VrfCert.cs | 12 ++ .../Cardano/Core/Types/Block/Header/Header.cs | 13 ++ .../Core/Types/Block/Transaction/Anchor.cs | 12 ++ .../Body/Certificates/Certificate.cs | 175 +++++++++++++++++ .../Certificates/MoveInstantaneousReward.cs | 24 +++ .../Body/Certificates/PoolMetadata.cs | 12 ++ .../Transaction/Body/Certificates/Relay.cs | 34 ++++ .../Body/ProposalProcedures/RewardAccount.cs | 8 + .../Block/Transaction/Body/TransactionBody.cs | 78 ++++++++ .../Types/Block/Transaction/Body/Update.cs | 13 ++ .../Block/Transaction/Body/Withdrawals.cs | 10 + .../Types/Block/Transaction/Credential.cs | 12 ++ .../Transaction/Governance/Constituion.cs | 12 ++ .../Block/Transaction/Governance/DRep.cs | 31 +++ .../Governance/DRepVotingThresholds.cs | 20 ++ .../Block/Transaction/Governance/GovAction.cs | 66 +++++++ .../Transaction/Governance/GovActionId.cs | 12 ++ .../Governance/MemberTermLimits.cs | 9 + .../Governance/ProposalProcedure.cs | 15 ++ .../Block/Transaction/Governance/Voter.cs | 12 ++ .../Transaction/Governance/VotingProcedure.cs | 12 ++ .../Governance/VotingProcedures.cs | 16 ++ .../Transaction/Input/TransactionInput.cs | 12 ++ .../Types/Block/Transaction/Output/Address.cs | 8 + .../Block/Transaction/Output/DatumOption.cs | 23 +++ .../Block/Transaction/Output/MultiAsset.cs | 23 +++ .../Block/Transaction/Output/TokenBundle.cs | 17 ++ .../Transaction/Output/TransactionOutput.cs | 40 ++++ .../Types/Block/Transaction/Output/Value.cs | 20 ++ .../Block/Transaction/Protocol/CostMdls.cs | 10 + .../Transaction/Protocol/ExUnitPrices.cs | 12 ++ .../Block/Transaction/Protocol/ExUnits.cs | 12 ++ .../Types/Block/Transaction/Protocol/Nonce.cs | 12 ++ .../Protocol/PoolVotingThresholds.cs | 15 ++ .../Protocol/ProtocolParamUpdate.cs | 107 +++++++++++ .../Block/Transaction/Script/NativeScript.cs | 47 +++++ .../Block/Transaction/Script/PlutusData.cs | 60 ++++++ .../Block/Transaction/Script/PlutusOption.cs | 12 ++ .../Types/Block/Transaction/Transaction.cs | 17 ++ .../Block/Transaction/TransactionMetadatum.cs | 41 ++++ .../Transaction/WitnessSet/AuxiliaryData.cs | 33 ++++ .../WitnessSet/BootstrapWitness.cs | 16 ++ .../Block/Transaction/WitnessSet/Redeemers.cs | 40 ++++ .../WitnessSet/TransactionWitnessSet.cs | 20 ++ .../Transaction/WitnessSet/VKeyWitness.cs | 12 ++ .../Core/Types/Primitives/CborBoundedBytes.cs | 9 + .../Core/Types/Primitives/PosixTime.cs | 5 + .../Cardano/Crashr/Types/Common/Payout.cs | 14 ++ .../Crashr/Types/Datums/ListingDatum.cs | 15 ++ .../Cardano/Jpg/Types/Common/ListingPayout.cs | 17 ++ .../Cardano/Jpg/Types/Common/OfferPayout.cs | 20 ++ .../Cardano/Jpg/Types/Common/Token.cs | 17 ++ .../Cardano/Jpg/Types/Datums/Listing.cs | 21 +++ .../Cardano/Jpg/Types/Datums/Offer.cs | 19 ++ .../Jpg/Types/Redeemers/BuyRedeemer.cs | 13 ++ .../Levvy/TokenV2/Types/Datums/NftDatum.cs | 88 +++++++++ .../TokenV2/Types/Datums/PaymentDatum.cs | 11 ++ .../Levvy/TokenV2/Types/Datums/TokenDatum.cs | 102 ++++++++++ .../TokenV2/Types/Redeemers/TokenRedeemer.cs | 30 +++ .../Cardano/MPF/Types/Common/Proof.cs | 61 ++++++ .../Minswap/Types/Common/AssetClass.cs | 16 ++ .../Cardano/Minswap/Types/Common/Bool.cs | 16 ++ .../Types/Datums/MinswapLiquidityPool.cs | 58 ++++++ .../Cardano/Splash/Types/Common/AssetClass.cs | 16 ++ .../Types/Datums/SplashLiquidityPool.cs | 47 +++++ .../Cardano/Sundae/Types/Common/AssetClass.cs | 30 +++ .../Sundae/Types/Common/MultisigScript.cs | 39 ++++ .../Types/Datums/SundaeSwapLiquidityPool.cs | 36 ++++ .../Cbor/Attributes/CborConverterAttribute.cs | 7 + .../Cbor/Attributes/CborDefiniteAttribute.cs | 4 + .../Attributes/CborIndefiniteAttribute.cs | 4 + .../Cbor/Attributes/CborIndexAttribute.cs | 7 + .../Cbor/Attributes/CborPropertyAttribute.cs | 29 +++ .../Cbor/Attributes/CborSizeAttribute.cs | 7 + .../Cbor/Attributes/CborTagAttribute.cs | 7 + .../Cbor/Cache/RuntimeMetadataCache.cs | 30 +++ .../Cbor/Converters/CborSerializer.cs | 105 +++++++++++ .../Cbor/Converters/ICborConverter.cs | 9 + .../Converters/Primitives/BoolConverter.cs | 48 +++++ .../Converters/Primitives/BytesConverter.cs | 72 +++++++ .../Converters/Primitives/ConstrConverter.cs | 96 ++++++++++ .../Primitives/CustomConstrConverter.cs | 111 +++++++++++ .../Primitives/CustomListConverter.cs | 82 ++++++++ .../Primitives/CustomMapConverter.cs | 134 +++++++++++++ .../Primitives/EncodedValueConverter.cs | 49 +++++ .../Converters/Primitives/IntConverter.cs | 43 +++++ .../Converters/Primitives/ListConverter.cs | 80 ++++++++ .../Converters/Primitives/LongConverter.cs | 44 +++++ .../Converters/Primitives/MapConverter.cs | 86 +++++++++ .../Converters/Primitives/MaybeConverter.cs | 16 ++ .../Primitives/NullableConverter.cs | 61 ++++++ .../Primitives/RationalNumberConverter.cs | 57 ++++++ .../Converters/Primitives/TextConverter.cs | 41 ++++ .../Converters/Primitives/UlongConverter.cs | 43 +++++ .../Converters/Primitives/UnionConverter.cs | 151 +++++++++++++++ src/Chrysalis/Cbor/Types/CborBase.cs | 8 + .../Types/Collections/CborMaybeIndefList.cs | 27 +++ .../Cbor/Types/Primitives/CborBool.cs | 7 + .../Cbor/Types/Primitives/CborBytes.cs | 7 + .../Cbor/Types/Primitives/CborConstr.cs | 7 + .../Cbor/Types/Primitives/CborEncodedValue.cs | 7 + .../Cbor/Types/Primitives/CborInt.cs | 7 + .../Cbor/Types/Primitives/CborList.cs | 7 + .../Cbor/Types/Primitives/CborLong.cs | 7 + .../Cbor/Types/Primitives/CborMap.cs | 9 + .../Cbor/Types/Primitives/CborNullable.cs | 7 + .../Types/Primitives/CborRationalNumber.cs | 7 + .../Cbor/Types/Primitives/CborText.cs | 7 + .../Cbor/Types/Primitives/CborUlong.cs | 7 + src/Chrysalis/Cbor/Types/Primitives/Option.cs | 17 ++ src/Chrysalis/Cbor/Utils/AssemblyUtils.cs | 100 ++++++++++ src/Chrysalis/Cbor/Utils/CborTagUtils.cs | 42 +++++ src/Chrysalis/Chrysalis.csproj | 8 +- src/Chrysalis/Extensions/AddressExtension.cs | 22 --- src/Chrysalis/Extensions/BlockExtension.cs | 72 ------- src/Chrysalis/Plutus/Types/Address/Address.cs | 13 ++ .../Plutus/Types/Address/Credential.cs | 23 +++ .../Plutus/Types/Address/Referenced.cs | 28 +++ src/Chrysalis/Plutus/Types/CIP68.cs | 22 +++ src/Chrysalis/Plutus/Types/OutputReference.cs | 20 ++ .../Cardano/Cbor/CborBool.cs | 5 +- .../Cardano/Cbor/CborBytes.cs | 0 .../Cardano/Cbor/CborEncodedValue.cs | 0 .../Cardano/Cbor/CborInt.cs | 0 .../Cardano/Cbor/CborList.cs | 0 .../Cardano/Cbor/CborLong.cs | 0 .../Cardano/Cbor/CborMap.cs | 0 .../Cardano/Cbor/CborNullable.cs | 0 .../Cardano/Cbor/CborRationalNumber.cs | 0 .../Cardano/Cbor/CborText.cs | 0 .../Cardano/Cbor/CborUlong.cs | 0 .../Cardano/Coinecta/Vesting/Treasury.cs | 0 .../AuxiliaryDataSet/AuxiliaryDataSet.cs | 0 .../Cardano/Core/Block/Block.cs | 0 .../Cardano/Core/Block/Header/Header.cs | 0 .../Block/Header/HeaderBody/HeaderBody.cs | 0 .../Header/HeaderBody/OperationalCert.cs | 0 .../Header/HeaderBody/ProtocolVersion.cs | 0 .../Core/Block/Header/HeaderBody/VrfCert.cs | 0 .../Cardano/Core/Block/Transaction/Anchor.cs | 0 .../Core/Block/Transaction/AuxiliaryData.cs | 0 .../Body/Certificates/Certificate.cs | 0 .../Certificates/MoveInstantaneousReward.cs | 0 .../Body/Certificates/PoolMetadata.cs | 0 .../Transaction/Body/Certificates/Relay.cs | 0 .../Body/ProposalProcedures/RewardAccount.cs | 0 .../Block/Transaction/Body/TransactionBody.cs | 0 .../Core/Block/Transaction/Body/Update.cs | 0 .../Block/Transaction/Body/Withdrawals.cs | 0 .../Core/Block/Transaction/Credential.cs | 0 .../Transaction/Governance/Constitution.cs | 0 .../Core/Block/Transaction/Governance/DRep.cs | 0 .../Governance/DRepVotingThresholds.cs | 0 .../Block/Transaction/Governance/GovAction.cs | 0 .../Transaction/Governance/GovActionId.cs | 0 .../Governance/MemberTermLimits.cs | 0 .../Governance/ProposalProcedure.cs | 0 .../Block/Transaction/Governance/Voter.cs | 0 .../Transaction/Governance/VotingProcedure.cs | 0 .../Governance/VotingProcedures.cs | 0 .../Transaction/Input/TransactionInput.cs | 0 .../Core/Block/Transaction/Output/Address.cs | 0 .../Block/Transaction/Output/DatumOption.cs | 0 .../Block/Transaction/Output/MultiAsset.cs | 0 .../Block/Transaction/Output/TokenBundle.cs | 0 .../Transaction/Output/TransactionOutput.cs | 0 .../Core/Block/Transaction/Output/Value.cs | 0 .../Block/Transaction/Protocol/CostMdls.cs | 0 .../Transaction/Protocol/ExUnitPrices.cs | 0 .../Block/Transaction/Protocol/ExUnits.cs | 0 .../Core/Block/Transaction/Protocol/Nonce.cs | 0 .../Protocol/PoolVotingThresholds.cs | 0 .../Protocol/ProtocolParamUpdate.cs | 0 .../Block/Transaction/Script/NativeScript.cs | 0 .../Block/Transaction/Script/PlutusData.cs | 0 .../Block/Transaction/Script/PlutusOption.cs | 0 .../Core/Block/Transaction/Transaction.cs | 0 .../Block/Transaction/TransactionMetadatum.cs | 0 .../WitnessSet/BootstrapWitness.cs | 0 .../Block/Transaction/WitnessSet/Redeemers.cs | 0 .../WitnessSet/TransactionWitnessSet.cs | 0 .../Transaction/WitnessSet/VKeyWitness.cs | 0 .../Cardano/Core/BlockWithEra.cs | 0 .../Cardano/Jpeg/Buy.cs | 0 .../Cardano/Jpeg/Listing.cs | 0 .../Cardano/Jpeg/Offer.cs | 0 .../Cardano/Jpeg/Token.cs | 0 .../Cardano/Levvy/TokenV2/NftDatum.cs | 0 .../Cardano/Levvy/TokenV2/PaymentDatum.cs | 0 .../Cardano/Levvy/TokenV2/TokenDatum.cs | 0 .../Cardano/Levvy/TokenV2/TokenRedeemer.cs | 0 .../Cardano/MPF/Proof.cs | 0 .../Cardano/Models/Cbor/CborBytes.cs | 0 .../Cardano/Plutus/Address.cs | 0 .../Cardano/Plutus/CIP68.cs | 0 .../Cardano/Plutus/Option.cs | 0 .../Cardano/Plutus/OutputReference.cs | 0 .../Cardano/Sundae/MultisigScript.cs | 0 .../Cbor/CborIndex.cs | 0 .../Cbor/CborPropertyAttribute.cs | 0 .../Cbor/CborSerializableAttribute.cs | 0 .../Cbor/CborSerializer.cs | 0 .../Cbor/CborType.cs | 0 .../Cbor/CborUnionTypes.cs | 0 src/{Chrysalis => ChrysalisOld}/Cbor/ICbor.cs | 0 .../Cbor/Utils/CborSerializerUtils.cs | 0 src/ChrysalisOld/ChrysalisOld.csproj | 25 +++ .../Utils}/Blake2b.cs | 0 .../Utils/TransactionExtension.cs} | 0 241 files changed, 4919 insertions(+), 288 deletions(-) delete mode 100644 src/Chrysalis.Test/CborSerializationTests.cs delete mode 100644 src/Chrysalis.Test/CborTestData.cs create mode 100644 src/Chrysalis.Test/CborTests.cs create mode 100644 src/Chrysalis.Test/Types/Cardano/Crashr/CrashrTestData.cs create mode 100644 src/Chrysalis.Test/Types/Primitives/BoolTestData.cs create mode 100644 src/Chrysalis.Test/Types/Primitives/BytesTestData.cs create mode 100644 src/Chrysalis.Test/Types/Primitives/IntTestData.cs create mode 100644 src/Chrysalis.Test/Types/Primitives/LongTestData.cs create mode 100644 src/Chrysalis.Test/Types/Primitives/NullableTestData.cs create mode 100644 src/Chrysalis.Test/Types/Primitives/TextTestData.cs create mode 100644 src/Chrysalis.Test/Types/Primitives/UlongTestData.cs create mode 100644 src/Chrysalis.Test/Types/TestData.cs create mode 100644 src/Chrysalis/Cardano/Coinecta/Types/Common/ClaimEntry.cs create mode 100644 src/Chrysalis/Cardano/Coinecta/Types/Datums/Treasury.cs create mode 100644 src/Chrysalis/Cardano/Coinecta/Types/Redeemers/TreasuryRedeemer.cs create mode 100644 src/Chrysalis/Cardano/Core/Extensions/AddressExtension.cs rename src/Chrysalis/{Extensions/AssetExtension.cs => Cardano/Core/Extensions/AssetExtenion.cs} (98%) rename src/Chrysalis/{ => Cardano/Core}/Extensions/AuxiliaryDataExtension.cs (53%) create mode 100644 src/Chrysalis/Cardano/Core/Extensions/Blake2bExtension.cs create mode 100644 src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs rename src/Chrysalis/{ => Cardano/Core}/Extensions/DatumExtension.cs (86%) rename src/Chrysalis/{ => Cardano/Core}/Extensions/TransactionBodyExtension.cs (52%) rename src/Chrysalis/{ => Cardano/Core}/Extensions/TransactionInputExtension.cs (75%) create mode 100644 src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/AuxiliaryDataSet.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Block.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/BlockWithEra.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Header/Body/OperationalCert.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Header/Body/ProtocolVersion.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Header/Body/VrfCert.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Header/Header.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Anchor.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/Certificate.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/PoolMetadata.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/Relay.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Update.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Withdrawals.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Credential.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/Constituion.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/DRep.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/DRepVotingThresholds.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovAction.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovActionId.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/MemberTermLimits.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/ProposalProcedure.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/Voter.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedure.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedures.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Input/TransactionInput.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/Address.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/DatumOption.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/MultiAsset.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TokenBundle.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TransactionOutput.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/Value.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/CostMdls.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ExUnitPrices.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ExUnits.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/Nonce.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/PoolVotingThresholds.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ProtocolParamUpdate.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/NativeScript.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusOption.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Transaction.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/TransactionMetadatum.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryData.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/BootstrapWitness.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/Redeemers.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/VKeyWitness.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Primitives/CborBoundedBytes.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Primitives/PosixTime.cs create mode 100644 src/Chrysalis/Cardano/Crashr/Types/Common/Payout.cs create mode 100644 src/Chrysalis/Cardano/Crashr/Types/Datums/ListingDatum.cs create mode 100644 src/Chrysalis/Cardano/Jpg/Types/Common/ListingPayout.cs create mode 100644 src/Chrysalis/Cardano/Jpg/Types/Common/OfferPayout.cs create mode 100644 src/Chrysalis/Cardano/Jpg/Types/Common/Token.cs create mode 100644 src/Chrysalis/Cardano/Jpg/Types/Datums/Listing.cs create mode 100644 src/Chrysalis/Cardano/Jpg/Types/Datums/Offer.cs create mode 100644 src/Chrysalis/Cardano/Jpg/Types/Redeemers/BuyRedeemer.cs create mode 100644 src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/NftDatum.cs create mode 100644 src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/PaymentDatum.cs create mode 100644 src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/TokenDatum.cs create mode 100644 src/Chrysalis/Cardano/Levvy/TokenV2/Types/Redeemers/TokenRedeemer.cs create mode 100644 src/Chrysalis/Cardano/MPF/Types/Common/Proof.cs create mode 100644 src/Chrysalis/Cardano/Minswap/Types/Common/AssetClass.cs create mode 100644 src/Chrysalis/Cardano/Minswap/Types/Common/Bool.cs create mode 100644 src/Chrysalis/Cardano/Minswap/Types/Datums/MinswapLiquidityPool.cs create mode 100644 src/Chrysalis/Cardano/Splash/Types/Common/AssetClass.cs create mode 100644 src/Chrysalis/Cardano/Splash/Types/Datums/SplashLiquidityPool.cs create mode 100644 src/Chrysalis/Cardano/Sundae/Types/Common/AssetClass.cs create mode 100644 src/Chrysalis/Cardano/Sundae/Types/Common/MultisigScript.cs create mode 100644 src/Chrysalis/Cardano/Sundae/Types/Datums/SundaeSwapLiquidityPool.cs create mode 100644 src/Chrysalis/Cbor/Attributes/CborConverterAttribute.cs create mode 100644 src/Chrysalis/Cbor/Attributes/CborDefiniteAttribute.cs create mode 100644 src/Chrysalis/Cbor/Attributes/CborIndefiniteAttribute.cs create mode 100644 src/Chrysalis/Cbor/Attributes/CborIndexAttribute.cs create mode 100644 src/Chrysalis/Cbor/Attributes/CborPropertyAttribute.cs create mode 100644 src/Chrysalis/Cbor/Attributes/CborSizeAttribute.cs create mode 100644 src/Chrysalis/Cbor/Attributes/CborTagAttribute.cs create mode 100644 src/Chrysalis/Cbor/Cache/RuntimeMetadataCache.cs create mode 100644 src/Chrysalis/Cbor/Converters/CborSerializer.cs create mode 100644 src/Chrysalis/Cbor/Converters/ICborConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/BoolConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/CustomConstrConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/EncodedValueConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/IntConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/ListConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/LongConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/MapConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/MaybeConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/NullableConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/RationalNumberConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/TextConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/UlongConverter.cs create mode 100644 src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs create mode 100644 src/Chrysalis/Cbor/Types/CborBase.cs create mode 100644 src/Chrysalis/Cbor/Types/Collections/CborMaybeIndefList.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborBool.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborBytes.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborConstr.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborEncodedValue.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborInt.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborList.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborLong.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborMap.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborNullable.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborRationalNumber.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborText.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/CborUlong.cs create mode 100644 src/Chrysalis/Cbor/Types/Primitives/Option.cs create mode 100644 src/Chrysalis/Cbor/Utils/AssemblyUtils.cs create mode 100644 src/Chrysalis/Cbor/Utils/CborTagUtils.cs delete mode 100644 src/Chrysalis/Extensions/AddressExtension.cs delete mode 100644 src/Chrysalis/Extensions/BlockExtension.cs create mode 100644 src/Chrysalis/Plutus/Types/Address/Address.cs create mode 100644 src/Chrysalis/Plutus/Types/Address/Credential.cs create mode 100644 src/Chrysalis/Plutus/Types/Address/Referenced.cs create mode 100644 src/Chrysalis/Plutus/Types/CIP68.cs create mode 100644 src/Chrysalis/Plutus/Types/OutputReference.cs rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborBool.cs (95%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborBytes.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborEncodedValue.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborInt.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborList.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborLong.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborMap.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborNullable.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborRationalNumber.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborText.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Cbor/CborUlong.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Coinecta/Vesting/Treasury.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Block.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Header/Header.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Anchor.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/AuxiliaryData.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Body/TransactionBody.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Body/Update.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Body/Withdrawals.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Credential.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Governance/Constitution.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Governance/DRep.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Governance/GovAction.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Governance/GovActionId.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Governance/Voter.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Input/TransactionInput.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Output/Address.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Output/DatumOption.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Output/MultiAsset.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Output/TokenBundle.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Output/Value.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Protocol/Nonce.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Script/NativeScript.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Script/PlutusData.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Script/PlutusOption.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/Transaction.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/TransactionMetadatum.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Core/BlockWithEra.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Jpeg/Buy.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Jpeg/Listing.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Jpeg/Offer.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Jpeg/Token.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Levvy/TokenV2/NftDatum.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Levvy/TokenV2/PaymentDatum.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Levvy/TokenV2/TokenDatum.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Levvy/TokenV2/TokenRedeemer.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/MPF/Proof.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Models/Cbor/CborBytes.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Plutus/Address.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Plutus/CIP68.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Plutus/Option.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Plutus/OutputReference.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cardano/Sundae/MultisigScript.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cbor/CborIndex.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cbor/CborPropertyAttribute.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cbor/CborSerializableAttribute.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cbor/CborSerializer.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cbor/CborType.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cbor/CborUnionTypes.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cbor/ICbor.cs (100%) rename src/{Chrysalis => ChrysalisOld}/Cbor/Utils/CborSerializerUtils.cs (100%) create mode 100644 src/ChrysalisOld/ChrysalisOld.csproj rename src/{Chrysalis/Extensions => ChrysalisOld/Utils}/Blake2b.cs (100%) rename src/{Chrysalis/Extensions/TransactionOutputExtension.cs => ChrysalisOld/Utils/TransactionExtension.cs} (100%) diff --git a/Chrysalis.sln b/Chrysalis.sln index c4a59a8f..02d798f0 100644 --- a/Chrysalis.sln +++ b/Chrysalis.sln @@ -3,11 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.5.002.0 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{99A5B7BF-F17E-4EA3-A062-F783B9B7DB18}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{6318FF83-5E6F-46F8-9900-471C7CC3BDBB}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis", "src\Chrysalis\Chrysalis.csproj", "{9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis", "src\Chrysalis\Chrysalis.csproj", "{5A7E1FED-64DB-4068-BF95-0AF626CF808E}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis.Test", "src\Chrysalis.Test\Chrysalis.Test.csproj", "{79F21F38-F55F-481B-9F8D-4EC6BAB86D8F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis.Test", "src\Chrysalis.Test\Chrysalis.Test.csproj", "{C06B6FFC-2FBA-4F61-ADAB-85220CC06196}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChrysalisOld", "src\ChrysalisOld\ChrysalisOld.csproj", "{7F539E24-0042-441C-BC33-51A550EC420F}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -15,23 +17,28 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB}.Release|Any CPU.Build.0 = Release|Any CPU - {79F21F38-F55F-481B-9F8D-4EC6BAB86D8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {79F21F38-F55F-481B-9F8D-4EC6BAB86D8F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {79F21F38-F55F-481B-9F8D-4EC6BAB86D8F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {79F21F38-F55F-481B-9F8D-4EC6BAB86D8F}.Release|Any CPU.Build.0 = Release|Any CPU + {5A7E1FED-64DB-4068-BF95-0AF626CF808E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5A7E1FED-64DB-4068-BF95-0AF626CF808E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A7E1FED-64DB-4068-BF95-0AF626CF808E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5A7E1FED-64DB-4068-BF95-0AF626CF808E}.Release|Any CPU.Build.0 = Release|Any CPU + {C06B6FFC-2FBA-4F61-ADAB-85220CC06196}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C06B6FFC-2FBA-4F61-ADAB-85220CC06196}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C06B6FFC-2FBA-4F61-ADAB-85220CC06196}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C06B6FFC-2FBA-4F61-ADAB-85220CC06196}.Release|Any CPU.Build.0 = Release|Any CPU + {7F539E24-0042-441C-BC33-51A550EC420F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7F539E24-0042-441C-BC33-51A550EC420F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7F539E24-0042-441C-BC33-51A550EC420F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7F539E24-0042-441C-BC33-51A550EC420F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {9B3C3D47-7C7C-424D-BD69-FF9AE31E43EB} = {99A5B7BF-F17E-4EA3-A062-F783B9B7DB18} - {79F21F38-F55F-481B-9F8D-4EC6BAB86D8F} = {99A5B7BF-F17E-4EA3-A062-F783B9B7DB18} + {5A7E1FED-64DB-4068-BF95-0AF626CF808E} = {6318FF83-5E6F-46F8-9900-471C7CC3BDBB} + {C06B6FFC-2FBA-4F61-ADAB-85220CC06196} = {6318FF83-5E6F-46F8-9900-471C7CC3BDBB} + {7F539E24-0042-441C-BC33-51A550EC420F} = {6318FF83-5E6F-46F8-9900-471C7CC3BDBB} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {AF7CDAC5-E37D-4AF4-B9D7-418C1B20E64F} + SolutionGuid = {C3CF7A3D-3710-4256-A652-8D459CFF8594} EndGlobalSection EndGlobal diff --git a/src/Chrysalis.Test/CborSerializationTests.cs b/src/Chrysalis.Test/CborSerializationTests.cs deleted file mode 100644 index 2a591fa8..00000000 --- a/src/Chrysalis.Test/CborSerializationTests.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System.Reflection; -using Chrysalis.Cardano.Core; -using Chrysalis.Cardano.Plutus; -using Chrysalis.Cbor; -using Xunit; -using Credential = Chrysalis.Cardano.Plutus.Credential; - -namespace Chrysalis.Test; - -public class CborSerializerTests -{ - private static void SerializeAndDeserialize(string cborHex, Type type) - { - // Arrange - byte[] cborBytes = Convert.FromHexString(cborHex); - - // Act - MethodInfo? deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize)); - Assert.NotNull(deserializeMethod); - - MethodInfo? genericDeserializeMethod = deserializeMethod?.MakeGenericMethod(type); - Assert.NotNull(genericDeserializeMethod); - - object? cborObject = genericDeserializeMethod?.Invoke(null, [cborBytes]); - Assert.NotNull(cborObject); - - byte[] serializedBytes = CborSerializer.Serialize((ICbor)cborObject); - string serializedHex = Convert.ToHexString(serializedBytes).ToLowerInvariant(); - - // Assert - Assert.Equal(cborHex.ToLowerInvariant(), serializedHex); - } - - [Theory] - [MemberData(nameof(CborTestData.PrimitiveTestData), MemberType = typeof(CborTestData))] - public void SerializeAndDeserializePrimitive(string cborHex, Type type) - { - SerializeAndDeserialize(cborHex, type); - } - - [Theory] - [MemberData(nameof(CborTestData.JPegOfferTestData), MemberType = typeof(CborTestData))] - public void SerializeAndDeserializeJpegOffer(string cborHex, Type type) - { - SerializeAndDeserialize(cborHex, type); - } - - [Theory] - [MemberData(nameof(CborTestData.BlockWithEraTestData), MemberType = typeof(CborTestData))] - public void SerializeAndDeserializeBlockWithEra(string cborHex, Type type) - { - SerializeAndDeserialize(cborHex, type); - } - - [Theory] - [InlineData("d8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affff", typeof(Referenced))] - public void SerializeAndDeserializeBlock(string cborHex, Type type) - { - SerializeAndDeserialize(cborHex, type); - } - - [Theory] - [InlineData("84a300d90102818258208af7d9c96301f58a748e3a6fe5f51580f083f2a30f20e559e2d4617dbeba7c5a00018182581d6033c378cee41b2e15ac848f7f6f1d2f78155ab12d93b713de898d855f1b000000012a035f4f021a000292b1a100d90102818258207463e1a9acb0d70f9b652ff2c125f5fbcf2288afbbbc1e3132fe18cacbfdba2f5840aef0bed9b035c3ffbf10acb4efc6cd059a9da49eaec197d8bd3770618fd5e04acb6607118b29ebff303ae02b95586c50376bc688fdd6d6d0677ee382680a5f02f5f6", typeof(Transaction))] - public void SerializeAndDeserializeTransaction(string cborHex, Type type) - { - SerializeAndDeserialize(cborHex, type); - } -} \ No newline at end of file diff --git a/src/Chrysalis.Test/CborTestData.cs b/src/Chrysalis.Test/CborTestData.cs deleted file mode 100644 index 67a53b21..00000000 --- a/src/Chrysalis.Test/CborTestData.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; -using Chrysalis.Cardano.Jpeg; - -namespace Chrysalis.Test; - -public class CborTestData -{ - public static IEnumerable JPegOfferTestData() - { - yield return - [ - "d8799f581cf28c591a54750cb052f31d1f555a4a73bd4dc1024d0db09f2dbb85b29fd8799fd8799fd87a9f581c84cc25ea4c29951d40b443b95bbc5676bc425470f96376d1984af9abffd8799fd8799fd87a9f581c2c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6dffffffffa140d8799f00a1401a00325aa0ffffd8799fd8799fd8799f581c54eb723c08f858e0baa992a7673dbef25f77f017f844d7ba47edd4e2ffd8799fd8799fd8799f581cfef7dca3149e0f49706ecbc7219af18c3c859336c9d77aab8ad89b22ffffffffa140d8799f00a1401a007de290ffffd8799fd8799fd8799f581cf28c591a54750cb052f31d1f555a4a73bd4dc1024d0db09f2dbb85b2ffd8799fd8799fd8799f581c78ccd5d261c1603a16e87d8927542f841b03ceb84e2cb71c83ee7dd8ffffffffa1581c9cce4bbd9f6e06ef9d67b95ad8511532b4569d290d1575fcbac48732d8799f01a0ffffffff", typeof(Offer) - ]; - } - - public static IEnumerable PrimitiveTestData() - { - yield return ["1834", typeof(CborInt)]; - yield return ["4101", typeof(CborBytes)]; - yield return ["5F58404117843C7994EBF875EFEEB2AC276D2BB051C6A4486ED4A0C5171E8D788AC4A51727B3FA8BD0989049377503D0B5163C9D716A1A94D21802215B74D692C763DA5840BBF246F3362F0357B54758DD7E55B4A4612F1C69358151B1CA4FC2F2527408BADABDA547D81B0DF92699FD924BE4A3D144B727B2BF86F3C9E55AB2875EBF7793FF", typeof(CborBoundedBytes)]; - yield return ["1a000f4240", typeof(CborUlong)]; - yield return ["1a000f4240", typeof(PosixTime)]; - yield return ["43414243", typeof(CborBytes)]; - yield return ["a141614541696b656e", typeof(CborMap)]; - yield return ["9f0102030405ff", typeof(CborIndefiniteList)]; - yield return ["850102030405", typeof(CborDefiniteList)]; - } - - public static IEnumerable BlockWithEraTestData() - { - yield return - [ - "820785828A1A00275E211A03B77E9258208103D6AD9398EC3D7BCD6C9F73B5962A8C61961F4A7913FBD3D60DB5B0E9262358201B268D3D3E801DF66EE693A4E0AABB7C7B7036E28F91FEDD7A3337F69053A9BB5820F7B77B961C02E09AACD654BF6890206AB3605BA339C633866A0F1777BB33F60E82584050307A37CAA9F73E8282A912F9B1451AF396FB526F4F0E480A7E59AE11997899D729281FA94D03A3356B2A9441DACECA74B88DD03BBB8405B8652B0A691D91B25850EA10EBF654D9C20D72077747785A1AE974D4C147EFEC762AAFC22B46568CCC3F9E8CC014244ABAAF504BEAAAD46F64B2E221524AEA4074E27AC0FA29A1CDD856F2F3486508298E7B147456CFE234F20C19044F582037DC1AA95FADC9AFA5BB9C2CBB047DC57351015DED48E2466D617EF9122496D6845820549D81968062D38216AD59C737A963CE653A113FED6A30C775B7410108566C50051901DA5840A4FC33996338D7FF9C7B31E7E289B84465812A5965314A6A74AB5633551CE5E33D37212055AF6C955A96E5E5B50795DC924F5566B421A743F7764F1103EF4E0B8209015901C091E3E935699827C1ED17F5BBC3084EABDD809F9C450AB7EBFC177D35ACD55CCEE65C36C8851CF68EED45D001F04F54D477CC2B80FFA50A9A8B1E667206DC81011C6BA4B5483681316378D9E339744B29B48CE548DBB93FC6B84D4B7C33EFD4C671B8E7FA77ADCBDF53486D226760DB047827929B19CE0D0947E39248ABCE143A4A8FF8E36F9A5CAE03B7E799BCF0C26418950F4F50A8782F90506A03969C2CDBD1D006DE8157C2B1F62A3198B992CB9C3E9B11B3B63AD41B5BDB0DA539E06FAC10FFBACCCA107624365A887D302136312308D374CF793B98561476E74AE7F35B35AD11E6B344040D489234BC9411D2DE1D3972B7D2FB466DC749512C559C3552368A18A4BF88E290989C57E231E1F8C7804C80E79174557416BE3020B42C5E07EF27289901C73D1C6A1451E0E1E6B831A8FE3FCAD8A774E988303A7629005428653A0C6F0222A39EA7028031F5A605F8C80C395009410064F4CD4211796DCA101FE318D64CE0CE8577F1E18EF348A25DC821E33F8D1A61DF478AB589657F20F8E6DFA0ECD8B6CD7071A9968DC7A246F1E0863251A7877840C4FBBB742F9CF52CB17CBA2B5CA3597E7C58293A73274FA09BB770EFD50AC0C8267EC0C5052036C981AC00868258204C0F6752B4C1AC3303DDD7277A0671B73D3405CE2D457B3933B6BFA0DE44489C018258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96008258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96028258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96038258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96048258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B96050182A300581D70E06D212B306042BF3025A0F6B64DAEA3A42994EEA2BAF84B10DAA1C701821A00E4E1C0A3581C13F46E97A7908B513DBFD6BDEDC9A70B1F09CDD7BBFD778C3B41F85CA14004581C8DA51CDBCDE5ADEFE972D704FF749C8F713ADF0A6D60DF82EF66AC0BA14001581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA144744941471B00000004AE92F35C028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581B00000005A9B4FDDE021A0006F4DF031A03B78202075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03B77E7E0B58200B91BA9E53B3C80EC2FA2FF58F655D26B9B0D3A841E34CE0598A0FDF283A0DA10D818258204C0F6752B4C1AC3303DDD7277A0671B73D3405CE2D457B3933B6BFA0DE44489C010F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581B00000005A96FA77D111A004C4B40128482582037C9BB309BF9F216C8CEA96E57808B4584C1F802F4A259E58C25314F395134A90082582073EABADF9E430383B1DEB138444826A65EA784973F5EE80A785D7A55AA4508B7008258209650E9A22B65A3655AFCFD242BFBB1365A58206C687895F9A9ECF3E940517B9601825820AF204FF4E4D0DA27FFA5344B394ADE6FB030082B2E6584611C8019EF2341ECCF0381A200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C85840426BD7BD103BAC8D8CBF00A9197369F01F0B9461B235C04658AD6FC1FD5C2669D2C09C4617C8280AE116009B12E342250E5D184BE36F0BD28CE4BB3A86BD6C08825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840AE7D0A8352DFCB75C3894860FB9C610AE976907A606DCB5377809B80865E7E1CADC973CD160E80A45AA1CD7B6EEDADE2FB9C591BE2F79150CBE2EBB12279A6040585840001D87980821A000D7AC11A142EF1CF840003D87980821A000151E21A01A82010840002D87980821A000151E21A01A82010840004D87980821A000151E21A01A82010840005D87980821A000151E21A01A82010A100A080", typeof(BlockWithEra) - ]; - - yield return - [ - "820785828A1A0024CEA11A03718FB85820EA5BE439100C17D70E4B9C3875A686BE0FEC8DDEB334C2B817754DFA5A3DFF5F582006EA166962F57ABC25AEE664E82AE87C1D0F80AF5B82E3A93B9847C3BC060A93582078AA8F7D6CFE1DD20B1FECBE2C6D2214EC19E2773442ED815978D7035E937BB182584047F15AA6EEFCD3B870ABA5B7A81A44B7D3B454693E69A9C6E81183C640D5BEB05AD8F23E31079F4F93DCACF8B85B9B974A046B4C8272D9862B8F0F5D8BEE58FC5850F4B38B196CE1C98987C1C3506DEBFCB5C1072540A1863E24E86742AC42F600A1008DDDCE3D2348A75C7E91772A842F484D8F614B312E2D0BEC0B582BB2BE66BFE9D55998F60EEB837828D120AD0B6C08193FE358202E9A169801D1CE197A604827C377B245C16A8C80A89D1AFEB1BAFA73DAFE3B06845820B97BAA9E6C3E14724634D36CDFEC33777E9B36755B2044E4BE35CCC9514DE51C0519019758402F2974E4C6AE86DA26C041ECA8CE1E18D8B91A3D9A9DBB6083B22338909485BAA3011F7FE7CF73326BBA402F0566F7A298C214FC669D568DE658B9847D3371098209015901C09933EC7CFDD3FB64326904CC5C082919140516BCE746316D39496633631EADBFB2E1C7075B84451F3C977D1D453C34D31A5CC664A7CA28AF264798B136F0D60E24B29B2E25F1CF14A0D7262C96CB743CDD6A19ED89FA805627AE5D5B35081F1398F51FE614349794A6985983F8E4712BAE2B4EAD0C3124089D7F7DC9CA1E8F85E86D36BC2F41FDDA200CB82F4B37A9A8FA710847D65D98F720F278F3BBC6E8FDFCD2192B6C70BDB462C66F868F89EF41D75EAE1AC81D60AA7B9821697BE404764D62088C04B1392D33D7AF02E04A4EA9DC0049A86D72BBFFEAF61B1956E71436DD2F72F5833FB621BF3A159AB0D2CFFAEBB6960FC6D09B53E9B355B78C2620D402AF79CBA952FD03CDDF99142346AD74E4D05231B018DB929C5FE4F95A82FFB04FBD08E2CAADC2EB7E64C77E62C44B40C81077A677176B86A82B97C148678C3FB196B8CAE230969CB081011DDF5E08A46D4E4799FCBF0CD89082EDAE1A4655D6DF02A3C444FA0B6C853F74955C77BC2C1F5A8D9B92D3CC42FC9DB683019252A15254B21782CF4A5BC72FD549C77A721B3EA939F5C716D1A3C19358C0DE8322633E2BB012CF4A96E72358CAE0DCDEA07979A7BB74469918011DAD0AEC9421156A9FA50081825820F8BFC94AFB9571E0513E3A33C944D495C10DA5BB6E0B6A4500D33CC54CFE7C670101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A80B75AE0021A000F4240031A037196C50F00A5008182582070BDB247A12C25FE78744444A5E502C68C09C48692ED2B4CA95B583F973E44AE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A8098D660021A000F4240031A037197350F00A50081825820D5243170D45B968E2ABCD182E2D5D13008EC8249C3D00ABB27F14323E42B952E0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A807A51E0021A000F4240031A037197350F00A50081825820D233491765ED5FAE613718A0039C543474C934EA7FFAD65007A100FDEDBE49BE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A805BCD60021A000F4240031A037197350F00A50081825820EC78F3A82ED57D925F6D16D85D599E8E52A16992477F256ADF8FF79D428909AF0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A803D48E0021A000F4240031A037197350F00A50081825820E4D503032FC0F12FC2A5FB3F990B0DA43616FDB58C75BA58CF9661A4A343CCF50101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A801EC460021A000F4240031A037197350F00AC00838258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C8181282582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB0082582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB020182A300581D70E0E14B90C2673CD5C00F001C582C966F22EE35AC0873EACB5A1C053B01821A005B8D80A3581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14574444A45441B0004C791C58DEFF1581C953F7215A4C509478CC5A63606C7688915EDDE3BC7FC243A262C738FA14001581CB03F07BADC6F4F050DF48B19A27180884FFD214B32AEB02213B98B7DA14001028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A8051603E021A0005E1BF031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B58208563DB90D535A1F26BF10F1E728B04D0AFAF6537F02A43ECCC0E90970AC903100D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C818120F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BD111A004C4B40128482582025BACEF308E77CA8AE4EE620B64E63723EB1F4D54A36F6C5DD7C9EF00C0D49EB0182582097D4F43C165EA784034635923F462C478DC666A46FCE69FDA6150A0B28BC39B700825820B1A9C1A86A9A2457131147A9663DB6E800A135E26978A7237BEED86747096B2F00825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD06AC00868258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C81813825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A00825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A02825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A03825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A04825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A050182A300581D7077898471D1A56F64CD6FD110E081C1F91B92CC1484F2480AFB48190A01821B000000DA54BBD753A2581CAF829F4472C3728307007831FA000E450883CFCA4893D9EF535E8786A14004581CB6525F0993875DB27B0A1C780F0E0F1678ACED0DE6CAF0D241B61E87A14001028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A8050AE2C021A000693D1031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B5820032498343BAB7D28DE51B3B907F5A18AF8E25FEBA546E330A7DCD1F30B6B103C0D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C818130F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BD111A004C4B401284825820CCF53FDCEC75C228401EEC309DD877EA115736CCA7BFD99A6242B1E69BA2928F00825820CF8E6746B4E08443ABB66890872C938AFA25D12505BBBA35A0A2CE8DB092511A01825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD07825820DC5E36EA57DC042A990562A3A30E1A8AC1FDC86B775BB0A60E2321CBFEFA24CA00AC00838258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C8181823825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D00825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D020182A300581D704FAF61D99FE87D6F1C4AE346F804A6B9824808A04047BD846FB1EA5F01821A005B8D80A3581C591D247A9FE69F17BBD270E8CA96057BC03005C79EE384E4A7013A18A14001581C7726C67E096E60FF24757DE0EC0A78C659CE73C9B12E98DF7D2FDA2CA14001581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14574495553441B00000F069859C6BE028201D818479F0000000000FF82583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A80516725021A0005DAD7031A03719091075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A03718F650B5820F6DF332DE9960CFBFCB58D8F8C509B9C8309BF0EFCA8C568E894C166DC8700C50D818258202280834D8FD7769EFF435B2793DE551B4A2D7D68E2E80C51DA30AF785CF1C81818230F001082583900F97CCF4FE384174E63F2250A3C4A61F851112ED0B93CAEB6AA84308E95D8FECA512588E1A954EE5A8AE2BEFF32EA360590BE694B5065D8581A800AF6BC111A004C4B40128482582069B0A41C5355C5DD16AE8C10329FB01F82E140C96C01C5ECE078724DB41C9DD601825820D3E97688CD27216FFBF03064E702FA29B6C565D6D9CDE8EC49854900562AF6FD04825820E80CB10E33F336212F9B9DA0F71FBE9112ECA5AFF0DDE2D57238C434D54CA33D01825820EBB3F064EEC37CF28724ECF4DC3BFD08F2142B0B58F5FA163A88F4D761524D7300A500818258207B22F82CBBED80FC6251E1EADF19A8F7D9662D753C4641C5A4FEB865FF40DF8C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A80003FE0021A000F4240031A037197350F00A500818258202B04404AADB673D87CC5D82000FFF11669A52E651ED98D01892DD37555A7360C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FE1BB60021A000F4240031A037197350F00A30083825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4900825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4901825820230D8A6927029A8FEFB3B1F25BD77A7859F1C0CA5A0687C55559549FC0554C4902018382583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A3B9ACA0082583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A000ECC1682583900EBE0C0E814F6FE23095A734DEE2BB4DC9231006F5FC83E3CDF134F28802C07DC45554EC84C78FF2AA6523CA9B7A453057851E045821689C31A05CC9140021A0002A801A40081825820A7C71DC5A79CCE5B333DFB9D23EB950279DEE5421879AB08520D3D855529C539000181825839009FC430EA1F3ADC20EEBB813B2649E85C934EA5BC13D7B7FBE2B24E505064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D821B000000021758BE11A2581C22691D3D969ECF5802226290C2FB98E2BC08522D5B726C1F5F400105A144546573740E581CEF6ED47A6917A3CBBEB46561E8853DA969343794D66128598A34AF2CA24D4275726E61626C65546F6B656E054E4275726E61626C65546F6B656E320C021A0002B4E5048282008200581C5064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D83088200581C5064B671634D14CB8D543E71DD8EB437A47EFB47B0B22882866C420D1A001E8480A50081825820C4ACDA061B2B89E254BF6A3F042B6E6D3EF5CD97B86F307A203AB8E153DF026D0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FC336E0021A000F4240031A037197350F00A50081825820BF92B177D0DC0B5CD466C42333747A1B02964903003BD1B5DF67A6E7BCC29CE80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7FA4B260021A000F4240031A037197350F00A5008182582041A36B5C55795882B6D8583F38AE9EDED2350345D30ED14A17A9526B62FF6FFC0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F862DE0021A000F4240031A037197350F00A500818258209F5F08A52F8D5CA4D9894E95024EC3749E6FF482D7DB3B97C5C72580F8BA9D730101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F67A960021A000F4240031A037197350F00A50081825820F6DC8D25088EF5D0B5FE1A4561048DE24F453DB517F2881B6F53DF75397704D10101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F4924E0021A000F4240031A037197350F00A50081825820F1EE3C844FF872EDC33FB3D5389DB1670AA8FE52C35B6100C5E8701DFE32F9430101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F2AA060021A000F4240031A037197350F00AC00D901028682582038637FC438B4EAF12DD62E69B39518B8216F64C9341D709A327C86DD42CD184606825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D00825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D01825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D04825820A78B1A66179DAB0F80D04BE65C91269AEF9160C246B95431AB38DDAABDBBFF7D07825820F406D1A739F08FE44EAFF70DFE36EEC94D3585F4AE681CCE57E60FE6D7423F37020188A300581D70F499907CE24F0F79445809C21A6C63C87DC88132033FFCDEB454141801821A001951D6A2581C0A875B518F66742777D9EB500DD34E692F0B4BCA64C14E7C0FE8186DA1581CF499907CE24F0F79445809C21A6C63C87DC88132033FFCDEB454141801581C919D4C2C9455016289341B1A14DEDF697687AF31751170D56A31466EA14874434C41524954591A001E8480028201D81858469F1A001E8480D8799F581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0FFD87A809F9F0FD87980FF9F0ED87980FF9F0BD87980FF9F09D87980FFFFFFA300581D70309B2F030E026E92F29CBD5A97BAB8B4561966227B5F80463F90148601821A00146324A1581C2BC42C28323B63B19C8C57745426A9CC7DD5A0CC85D83D8B7D5EB584A14001028201D81858459F9F1A000F42401A000F42401A000F42401A000F42401A000F4240FF109F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFFA300581D70FEC8DC75517DA7858773560E4E2A8D930829DF1DBA72C40FC662B1D4011A0016C13C028201D818588C9F9F9F1A000F42401A000F42401A000F42401A000F42401A000F4240FF0F9F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFF9F9F1A001E84801A000F42401A000F42401A000F42401A000F4240FF009F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1A001B7740181EFFFFA300581D708CE0CC32FB2DDD1ED9C7B05B017EECF444AA2444989E60AE760730C401821A001C25C8A1581C7B4F489D06F3EA7B1743857C95A265C790A38B2EA9437559FF6E5DE4A14001028201D81858BB9F0FA200A001A1581CFEC8DC75517DA7858773560E4E2A8D930829DF1DBA72C40FC662B1D49F5820B13B86B8B7EB7E607025BEBAD0BB1F9F6C44E3A1D5C6B28DD74D38787D3EC098D87A80FF009FD8799F581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0FFFF9F1A000F42401A000F42401A000F42401A000F42401A000F4240FFA2000001009F1A001B77401A001C61A01A001B77401A001B77401A001B77401A001B7740FF1B0000019180163627FF8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EE22C8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EE4BD8258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A000EEA958258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A00246946021A000902BF031A0371966C081A03718F6509A1581C7B4F489D06F3EA7B1743857C95A265C790A38B2EA9437559FF6E5DE4A140010B5820ADB3EE7D6C39928C88197B7AFA930D2101DAFC74B09EEEECE78A6030D68913940DD9010281825820329BCA217F0292099FA1F5F091EB038288CB1056AAA7CC301C617551415A1272000ED9010281581C18CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0108258390018CEBF95A0657B70E62AA4D9F40DC0AE9C9057379973A9B6FE6781E0AA86A4C30121E3347956BF594BAF6AFAFDB6E8FD781E71A1797FB1851A003EC721111A000D841F12D9010283825820B5A3C501A58F63D300E9B203CE7F273DE758644E36BC47E035BD0A7F7C06131300825820BC29A1771FFFF2519162EBF1637219F521FAB639B29C0FC4641DFD5C1F3CAAC300825820D77C50ABD842DE59EA72812D275B221172F7C755205FC5D7C9F01FAD7E30B54F00A500818258203AC7C5CA083EDA4296A310D9CD48860448E804B5F51C0D74685F41B25AD965F00101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7F0C1BE0021A000F4240031A037197350F00A500818258205A466CDB2A48B0344766F849428C019D82F594B587D63E722F3CB65BCBE5A0F30101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7EED9760021A000F4240031A037197350F00A5008182582048789F6D1F171A7E0306C54589B91E4CB44E4E3E779E3CCF44B20EB6114782600101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7ECF12E0021A000F4240031A037197350F00A5008182582037C13AB67BA785FAB660FB54ABED382B0660F731630FC94FC3FCCB5D97943DC80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7EB08E60021A000F4240031A037197350F00A500818258203304831CADEF663E75AB20CD49C27452DFD788808D267BDFB0AC5ACAAA33C21A0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E9209E0021A000F4240031A037197350F00A50081825820AB543A2FE129FDF5439A347CDC5769A7978B320A272D14B2029B6D316DF9BD820101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E738560021A000F4240031A037197350F00A50081825820C9B0617C38EAC4253837585E5989D4A060DEFFC7A447E336DCE0903003329C8C0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E5500E0021A000F4240031A037197350F00A50081825820A61842CDECA334B533C12C9E73C904D6C287DA31EA5BCB645643984FD5123CDE0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E367C60021A000F4240031A037197350F00A5008182582031C4B3317969D9450CA56C97490A55F3A5B7AF3D3077F4632C802D7B551E6FCD0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7E17F7E0021A000F4240031A037197350F00A50081825820505BEFB011C999977D3AF620AEE9D341E5E04974BCDDEFF10F0E0A760E6EA6530101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DF97360021A000F4240031A037197350F00A500818258205E81F9CE9818BA10B897320BB483BDF1AFFC19B9220178938E1CE3B4856C42D30101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DDAEEE0021A000F4240031A037197350F00A500818258200CBF545553202E5880DEBBA25FC9E436D020F3D87F7F3A1841ABEEC4797D43FB0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7DBC6A60021A000F4240031A037197350F00A50081825820EEAD7BEDED5DDD22ACE57E1487DCE5B0B5427EB3BF10595E568B9B7C3BAB34710101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D9DE5E0021A000F4240031A037197350F00A50081825820847A80D5526BA1847B297A987463CF4D27B1A5C8063A02F11293976E5EB8D1790101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D7F6160021A000F4240031A037197350F00A50081825820AC9B670A08B56789AE3832085DE6D330E6FC378D2141DFA5C32E1420E75587E90101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D60DCE0021A000F4240031A037197350F00A500818258205E07F15D52DC9B945C62809F8BD4024E56A46ED844BBC4DAF34B774FC1FAF6670101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D425860021A000F4240031A037197350F00A50081825820BA7094EAAFD69FA3F9C2943374D93BDD124D3C4B948207DB0A45B306DD3FB4A70101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D23D3E0021A000F4240031A037197350F00A50081825820C8E77D603EA30470478CB699BF633596D86B3ADD75F8BB9FF67F2C85E5A84F5E0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7D054F60021A000F4240031A037197350F00A500818258203646499DA34F33ADB3A140B300B52F592F9E3B105D3847981C4E3A7D88A534A80101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CE6CAE0021A000F4240031A037197350F00A50081825820CC3F7565961337DCF2EA7B4DB1D62990CCF0924FF33E53CB821ADBF2BE96793D0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CC84660021A000F4240031A037197350F00A500818258203E4DF81BDDF0568D52EB1B7E3F95999667CB1EFA8AB169B84EB21BA6C85F7D490101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7CA9C1E0021A000F4240031A037197350F00A500818258204A41426D38E394E294B82BD00CFC5A0FBC9521C4EF4F22E5CCFA97B04715CDD00101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7C8B3D60021A000F4240031A037197350F00A500818258206C9C63FFA25B94A1640AAA1124D12FDEA7BA77A9EEE530B208BE7947E65D65AB0101828258390035ABF8E53F115CF5F3E03FE62A988ED9CA51FA791F36DE4D695BD74F5BA4707BDA6A38608F86B808EBE36749738D1FB941A26E252FD367671A000F424082583900E5F9E165D8DB0559B9F79C52D11A7CE708B6FE6FD60DF911853D67693992EE78587AE9A9EA0D9F1F3FE4EA883B6C04284FD35AE5FB6C8B1B1A7C6CB8E0021A000F4240031A037197350F00FF9FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584023D19F743515DA1620E6B299709153158A60DC8463D64E94886FE95FFEA86611DFEB605F40BA3B9244DF08EA6887CDA60DABD59F7D2BD51CB8CF465D3D93F404A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840F0A21CC8D2E1D1185E854B460CED341694900C04A14D8F5F283ED93CD9C6ED2BDD9D0DAFAAFE19F4F492B344F4BD53C87D9F58FBA2345786A20CA63247F8C70DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58402DA5CDFA64651B3C5A177101DFB7D5E6F13C4C8165BCA2E9FF64B7256595A7E241A0BB481ED9A2D26F4E422283F97FEA680C11BB2B5FFCD1FF9EF30CD682CB02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584047D3E0F7B436C8434003E66EBC2D23D242077572D053693E6CED783C5794F2B7044E7230915E78B08A46EF13507E650542F648CF1BEF35AB2E6F0AD345AC9B0EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409F45487796FA97E7A9D77B796741376E82AC449260A2AF451E6604942585E4567BF6891ACA09B7DFDB4AAAE3B241D12558C9038CD25AD78A53918EBCDC0CDF00A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408BFDA1A9F30423B3DBAE1D7AC5F8E211F8E88853036F87B2A6EEFED5993C10DEC097704B7DCE8522D4B00BAD7404D645BCDAB461305F23C9D97C591ED763C10AA200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C85840779F6F08529742E160EA6E9EFD26FD2D2C27E0C10A14156623A59383FC8F44578F1DEC74A1681EA93CF1BAB621832439903384607D51174C746EACEBE6847E09825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E584059828FC95F121B61BD81BED87005D8A1B95A5224F1E9C8A3321C50C5EB6803E3FAC21950E4B08736B7876B2B39966E906CCCF77626C51F2F3B7E2E46B8D1FF0D0582840001D87980821A000964191A0D903743840002D87980821A000151E21A01A82010A200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C858401127FAE81DC44C99F12A6EBF4C9EA2B0D142F042F0442000ADE7480B114F90E5A603D7AEF881A7779CEE8197230DBEE84D732336C6B5A313541C5CF057165B0A825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840254AEDFAD73856A59053EE1D10B07F797D8CEE0FEAFA64B4F9B1886EF482ADCAE814AEAAD3429669E153BD363A632CAF631E481FEA5BA56F7522729C575B73030585840001D87980821A000BFC471A11C3469F840003D87980821A0001754E1A01C2DB0D840002D87980821A0001754E1A01C2DB0D840004D87980821A0001754E1A01C2DB0D840005D87980821A0001754E1A01C2DB0DA200828258206E290CA92C2484C00955ECF4F6C2E539E2223365872A2018BA1CF761AA3683C858400D19170481CD3C89CA5180D97FECC3F2BC4190F2FB7242ED885323FB12E34777F23AACE969F869AA9FB0A43F8C5B0FE9D37E6B9FDFE55E7D484E7540C283DE0B825820F682256DD3AC458ED70642847BC830DE8B7C4871A4DEE7D2AF1FE4EC72D5AC5E5840D5E5266D7E46E98E0FBEF1AC3C5B1BA6E8AA6DABED630E1D965A61F126FA3E0FA79E4FC726ECA979E59EE453915D7CD7F5F9753C8D7FB7340C3D335C0E6C690C0582840001D87980821A00090B921A0D1C2594840002D87980821A000151E21A01A82010A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840BE908678C005FB4EEB0A4B20EBBB3BB3EC4E8D476745E5CA0605F3FC61F33FDAA6D98A0E33AFD0956576856FCD068A91B68BB52F8F7E468E73923EFA99978509A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409A612AAA9C456A101834E2CE146C35686C290586453B9C37B6FF302254A7066290A771063F81744F2B769AE6356821322D1B509642FA16473DEEEC1C1E267D0BA1008182582039B37B3C16B64837864B9685EA4AB037642C6DB0A7782E56CA2EE11D2E83A8825840C20B05909C7E42D1E2100DF78359EEBD5FEE52FF65E7CEAB708C66E8D3206DC3839B8BCBB39C8037454CC4E1F67B587C9C025E4E94D7B4563096A1CDDB4E1F02A100828258200DD2349193F4D73BFF8ED9FEA7965E3C44BDC098F1D91D0A2C9AF8AA525DB71B58406E415F72CF2502C41C77D34BBE7EF675DCD4706F801AF178BCAE11EB98931CF8EE1DBCA3613182AE3CB22DF3D7E363BA7FAA67BD497DB82634D60A463A5BB30F8258200ABB7B89E091DCD3201AEA501854A4CB05290862D88B6EB30AFA6DFD23F544675840A7843980D60E1F674E6391AB2FBE3597D5DFE8628DC918FDBF74C8A865B43B3974F684E03C3C985DFD20571AA05E1AD7D7C18836F6C0AFB772FBCBC00B3C840FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58404E9869F6147D5CA7F5461CAF3CBC21028DC4CDC6BEB844EDA5E08AA1871E552DEF865A16B1C97AEDEB3A9AE5EF8A4997FCF4B3F64E3A8B7D451421BF9B97280CA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A01BF2F2DF9A0F42C0993BFF69F466FEBA57928A0ADA85876BD9AA1F628F030A51F3BBD01684CB05B2E077CB2F773194F7B6454248D638802D1A44FCFE1A8005A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58402F13F16DC3FE7F383D66760D02CD6D1C45E080652669304C97399008570857E235B5B3901C1BEAF43604624B3528567250630A9994CA47B140AA34DF5AA8BF02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584072E84F9741DBB0AB25B5FC5339832E2A271CC56DF6A3484F1DDECDE1E7B0B2FF3EBDC484FD4753963F7E3D881AF8CB60C699905427D3E1962A4FA71477F20E03A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840C3D1B1935BB4AC2F76DBBF5B2A9E13760C2AB2E1299C560B345B8788E7E0CA02B2140A95BECB674D7F6CFDBA8221A2B6AE26A138257A948CFBF31AF5F6392207A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401B505A41D4994FD9C956FDC93A72B3090E4A7CED3380F7DCADC536D9A0D51DF595C5B6713761701B62543F12792D8CAE071615DA7657D5B2ED65C07F788C3900A200D9010281825820344194B638C6ACB245131928034402DE2ED0AC707FC8C9F0D53F911DD9B112B15840C569E26DB301CF8472CB37632E6A373193C7404ACA51E57CF5551C9150A213F735267A3C50402430E25EF14D0E78B3C4621129D94A70EAACB24B871536ABBF0505A382000182D87B80821A000EA7D11A12022E6D8200028200821A000B798D1A0DE066D982010082D87980821A000212341A02DD349DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408298BE152D95026BA448CF2D858D004834AAEAFDE8E5FD87607D7365D250CD5CF86811C3329B5E7DBEDB83274814B9DF608DB6A4EE9FA05457E55E4F40BFD909A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58407A69293C5136C9BA0FD523CD9E4639BEDFCC22B9188AAA080167210F29CD4175930DCB954C776DA2557960529D5847E2161663F918565471BA5319EE3E66D405A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840C4DA45C43A2D2AD7D495DF64E5BD1CD0597851DCBD54F6288F0C46CBC4A3B38DDD771D76DA94A86580A7456368204571BB58760A9CB9FA6797556B57A8565D0EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840299FCE762DD81827667E0123CED5744E86296C2AB28A53E3EB587EC94462B2B7F3A5E0BC42AF6DDD9B1B96021976D8416C0D683C244E30B733F65799B4772900A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58400A07BDFEB908595249AC9D6953680CEACDDC74DFAC0B0A4DE1FC557219A99D62CF94989391484DAA441E2BECCBB82BB097ABC7169CC0DED8979F889C20A97502A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A9E01783C2B869885C67C09C5A7063972E2280583166E32D551A2C33B82B6788CA2D55ACFAD3C71528BC628A587A67F153534E330906B3CB9B8AF97B85F8B20EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58409AB0C1C609252F3CA6BB3525E3A28412015473AFC7358F6BD04989B3C76B13FD00EB2BB8AA8FE1ECCD64AEB7627D73E4EAA8C46CB52EFA2AE3BC56E1A32A040FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584078376F9AE508B59EEF52C87B93B4DE484C5175D249B6C359B9F4DFBB31A796A89C79744D3D7D6638477CA88FA6DA4ED4AD40AEBAAB05170848EFEA35E1C88F02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584055D71E3ABDA52C21F63B43C4B2FED7347D6C45CC42600D897F10028105A63A41CB9EBCD35F228C12D7B1A8FA39D93AF787959DF65A2ABF3D9656BB123A179F02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401A587EB493AB15F2790216E14DB7DF0CFC09690BE704F063F9527E99D4230B7D2A11EEFAE0E54325819406456C52744C162730584746A2281194840F31D2010EA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58404FEF3B8B83C115E2C20B37922306B61E55AEB4E3DE706BCDF05B9C6DB40C151986FE9A185F0C6C84D58F81DDC26360C8A500853E5E67975EB35346527C535100A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840CBD01F9A960F076673E458DF68D88FC9048A78F27E8808DE901F4C90571A774A156EA78030AD31FBF4BC89AC5F14783B58F205EAC715E1A8C0B1BFE2FBE93F07A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840EA70C6F29285826138767DBB8B718C11BB170D808C6E035466D494DFDF911D9702AE6698B77D936F56198A124132CD8CFD88B5EFE00A1114483670CA444ABF00A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401867971104F649C06FAD5BE944B208A870A6D279D84EA7F587E7B4799905BFFB8B03677EB7F373CD42281278B4B3473289EEFF726D7509638EEDA1DF45D29204A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584094EEB09AD7D30A03A38B94789CE8420E422A39CB9167428417C9504520710A584AA659265476DE352082D649A0CD0E6DAD9FAD0F732CC8F7B508B3B688B8E906A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A276CD4CF7D1624872E712372A85A7ABBE3E49E09096F9CB4F2B98CC9C14ED681D3ABD95E89CDCAC068A2DAC42D1313EDB712C19AC116F3A22F8B64B1FBD4703A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF584059CB840B9959ACA6E850FC85FE82DF8F40CDBD6001EC024AAD90B555782D82494A6DCB5995D5CDC9963B2E228412504152C3696E8330F2326C6AA9D8BFF8750DA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840388DC17804A2201F71549DEA036E0BE96D187476ED0E35F7A7253746D5F7240A6C3A9FAFEDB3268A6C76979C1DF4A9526B83FDF36B812D95E964B51416D02E02A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840CC70CF06159C3935CFBA88C732B1B26DA7F2E8DC5A34998EEB6DBF1C2381F5E65CAA295176CE9B1FD1037C1E8758ACAAEB7D7A0A5F49A18EF221E2C4130AFE0FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58401870A4629BA5D679C9A243C4510665C218CDD150F9971E68BDB8945B22FE13680EECFACA8CCCD8B0F2EA5658C86DC30C0E8EABF574BEA28FBCE6936FD99E8306A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840EE71574DF0FFE908DB73D477339A6608267AAB7AD67C4A96CFEEF272AC839C91CBDB3E6A788A25A5CFFC069A89BD63EB5B7E17A2A23C38BB1F9F29C8A97C2B0FA100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF5840A09F303775E264DCF140F3F7CF50324E3D231E7BEF5B54FA74FD998615D61A6481300BB0E3204869E82DE6CD50EBB73694C491086732CF9031A2CDF22197C603A100818258204A34E360053721D0C363E6A514EAF0280136FBBE09349C91183FF2A0633630AF58408B376C556823EC8D6D0AA1704DC013FE49CC645F848113370DC8672A3A56172D916F1677DE75E4A3C11EFBB2DC0C467BF569237F91E153CDD9E3C76C1DE31F09FFA306A007A008A080", typeof(BlockWithEra) - ]; - - yield return [ - "820785828A1A00A7AB801A08380914582040794384E999F0F4EE0BC2B913FD72EA89EFC737F7916BA7F275C803D06B37AC58200D4C74D65763DEACF2DCE835E71073D4DC922D0C967D944FF4CF9787256B71FB5820F5F5424DD499FECA6F867A27AAD08D3A8235824AEBD27A7343685F4CBEB47D1E82584019D69E13A5E8ADFF07299179E0EAB095C89B402BAA37A3DEFEFCE9F411CB755EAE4A77DA8E1E4AC426A058C601512C5C530699D1073360AB30678E47342A85385850BEA50ECAB5716FC45E58CE4B4963C2FD405105FF9E8933823F60D5EB2A6D16D5325CF1A543E2BE2C0663292E9DEE0BEA1932FF2C0550218CA2B418F478405ADF14A927EF4F7E12FDAB99819AEA87BF0419E4745820E89FE7A26E46F81C83763DEF4D2AEA8848C2266DB6D19FDF41F40B4E126894268458203B581680EA1402919B4C02A3666209064E82AB43B5D3B973F9CD52C414D38BC51A62F135F519041B5840BB3672FA6A59A8042C59856B40983D45A72E8BD3F6D5B8CF2AB846D27568DF738E7B97A921149CDA9E202D6F72EA0F37D9A14CDCDCC96FE8D674061FA1858C018209015901C0DC1ECBAADF5BABBAEEA7790B1EB389BA97B06E9A048DEC62E07D3AC9E89E8B85CB5EA56A1D64E90202ADCE9DC684241B2DFC5B757533A27BF0583C7164E3D000CBC81A113496CC67FA12DAF4096BAA3522C2C74E65EAEECD9B0EC23E445B3ECE49F5BA079CF91E637E17992A5217958C4901E7A26EE71F920DA408DDB1F4FBE7AAF4B2DA28F5917B59F777F90CE75738097114EBB2DC1CC1ECDF556D5D5B8007181421A4796ACDFF6417300CCEABC99E500A22694D2C541A774C7462FD5B7453B367BB00FB4F73DC6B86B1C16C2CE2063878238679AB464D9435E591A78621BD9332F4383C79D06437BAE818EE2B884CE55020BF30D37514ED67CC725D3CDCD6CBBB1EF1B4123B2025E00B7C24C571D70FE8DA7441DD0F28ACC8BBEB66363F087870C97B90E1A429B7F0A526AA0587E5FAE424AD4B39A41E88A2F31F396DB0FEB7C63BD32D3A12560AF5C63AFECE41F38A3297E1B710AFE990BCC911DCF323D7E30A22B78DA5B932A8003AC0EDFC9709A73A6A8EABF3ED06D144B1A785521C54D84B3C52199E681D02415F767DCBBAE4D64239CC81665D1D1D63AEC7881AB56921B48EFB9924842BFFB8C71A8A3FD2B661ABEBBD03B797ABF72B25B5B192EAEE9FAA00D9010282825820D71CA4634F0F71F58FB67BB5C1B3653047958DD744801A8CECC0A46388E5F10000825820D71CA4634F0F71F58FB67BB5C1B3653047958DD744801A8CECC0A46388E5F10001018283583911A8D7FF5CF4C117270288372F9AC8E1CE5B758AE15A7851C41661A48CE265C8FA16484FCB09F72EEAF98AA7A0DD97B0243F28426E8122F76B821A002F4D60A2581C642C1F7BF79CA48C0F97239FCB2F3B42B92F2548184AB394E1E1E503A1582020F02A5C9FF93CD1D2C0A3C8931777A8F23856D97FF527B853C490F3615C9D2D01581CDDA5FDB1002F7389B33E036B6AFEE82A8189BECB6CBA852E8B79B4FBA1480014DF1047454E531B00000007B4DAA8C0582000FDCA533FFA4A160755B61D321EE8E0F72166C81C18A57D9CACBB1E53FABD5182583901D7A2B4740596A8095E94896E96500047BB34C836EB81247ED70C45B1E265C8FA16484FCB09F72EEAF98AA7A0DD97B0243F28426E8122F76B821A76F389AAA1581CDDA5FDB1002F7389B33E036B6AFEE82A8189BECB6CBA852E8B79B4FBA1480014DF1047454E531B0000000633967C46021A0005736007582037C0555635AB7E45EC39BD8FEB873080D036C9A67C4CDD0C85E1C5291B0482F209A1581C642C1F7BF79CA48C0F97239FCB2F3B42B92F2548184AB394E1E1E503A1582020F02A5C9FF93CD1D2C0A3C8931777A8F23856D97FF527B853C490F3615C9D2D010B58208FA09562577DD5CF215310EE8E0DCBF2D0519F7CA3FC3889656F84C4ED5FF9500DD9010281825820E18FB0F1488747D064556CAA8E2EA3BD00F14E1D888B177B94ECDE29C3A03ED6001082583901D7A2B4740596A8095E94896E96500047BB34C836EB81247ED70C45B1E265C8FA16484FCB09F72EEAF98AA7A0DD97B0243F28426E8122F76B1A00536070111A00082D1012D9010282825820C8ADF3262D769F5692847501791C0245068ED5B6746E7699D23152E94858ADA700825820C8ADF3262D769F5692847501791C0245068ED5B6746E7699D23152E94858ADA701A300828258204AE65D13DA13C0E71D23F39F4B239C03D61C37BF7E8F2DFB9FEA07FCAACDEC4A0282582002B12B1B637A967D035A663B4EB9651DE70DA112AE4FCD97EF5D27721FFE152E030183A300583911FA6A58BBE2D0FF05534431C8E2F0EF2CBDC1602A8456E4B13C8F30779DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46A011A1DFF7180028201D81858ECD8799FD8799F581C3E259CC410C7932FF0F579085CB47E882498F1AF51F1D8DB90BC14FCFFD8799F581C9DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46AFF1A00138800D8799FD8799FD8799F581C35D559D90CD4B91F024577261CECCD13478244EFF4D73ADFFD6F11A2FFD8799FD8799FD8799F581C9DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46AFFFFFFFFD87980FFD87A9F9F40401A1DCD6500FF9F581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05A51576F726C644D6F62696C65546F6B656E581A361FA8D8FFFF43D87980FF8258390135D559D90CD4B91F024577261CECCD13478244EFF4D73ADFFD6F11A29DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46A821A00626290B81E581C60FAA64709FEDE8DFFED0DCCB69DA337A5BF61EDA0C773156EA78B4DA143534B591B0000000340660EDE581CC7DCFA416C127F630B263C7E0FE0564430CFA9C56BBA43E1A37C6915A145474F4B45590A581CCFBC6B8519F252B1F1694CDBB9DF9F339B343BDD0F2079D84E4AFDD9A14741504543415348181E581CCFEE97FF8359F07A0A395A72B424BC6E030503390D864B86D4E0ECF8A1464B41495A454E1A00487AB0581CD01794C4604F3C0E544C537BB1F4268C0E81F45880C00C09EBE4B4A7A1444D595354192134581CD030B626219D81673BD32932D2245E0C71AE5193281F971022B23A78A148436172646F67656F191068581CD1333653AA3AC24ADFA9C6D09C1A2CC8E2B7B86AD334C17F2ACB8647A14842696F546F6B656E0A581CD2442FA6D08C72811D4BCCDB36D0CB35CB28F4DB4C5793EF00AFF5F1A149244652414354414C531A7D2B7500581CD3558649B7874A1A596378515F9B80DA63E73F324439EA113D34C9BBA1444245414718C8581CD3A034E403B98CBDB0ADBC8A3144D7779330916E190D387815BB85C6A144505552521A00014A14581CD894897411707EFA755A76DEB66D26DFD50593F2E70863E1661E98A0A14A7370616365636F696E7318BC581CDBF580E65F31FE8A5EDDA2B82449E4F71536524FCE84B739651A6DFBA144414E564C190960581CDDEEC4B6D0C03B6BA4C6135E8E81031748554A5626C23363878F53DDA14444554D50192710581CDE5837D0EC2EECDBAF335436A72D0C838CF0346A371A311E6875E7E2A14D3635623035616266613966393801581CE14FE3AB348F9A6198359481472601F4557B9F86984F40A186A3B1E8A1464348455252591A1443FD00581CE4BBBAA875A797578044EF27713D23DFE07CE74F33163E7C40D7F480A144544D494E01581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581B00000002EC75A16B581CE6F464202E7C89BEFD79FDD3905CA96C896772721485DFF66FD6B2D2A1464144414C4F54190BB8581CE79497F972ACB83461608D3F48281A406EE1E9F64ED168868145141EA14C5374616B65506F6F6C3234371A02FAF080581CE98165A25CD0320B25F22D686268E58E66F855B6D85974947CCD708DA146414441464F5819927C581CE9C28A71273F825B13F38244CCF1FEA97C4025813610D01A7C5D681FA14C436861726C7A20546F6B656E1A00895440581CEA2D23F1FA631B414252824C153F2D6BA833506477A929770A4DD9C2A1464D414442554C1A007A1200581CECECC92AEAAAC1F5B665F567B01BAEC8BC2771804B4C21716A87A4E3A14653504C4153481A822C1FFD581CF01EC1CB021922A491EA300FB4791DBACA720372B2A3142579C52E7DA1444B616E6919012C581CF0FF48BBB7BBE9D59A40F1CE90E9E9D0FF5002EC48F232B49CA0FB9AA14C000DE140616C68617274686901581CF28F457472E539DC75E1598A2BEDDF49CE5A717998C708F05F5DE610A1444445465318FA581CF4D97191F857096B441A410C036F63D6697DDE0C71D2755DD664E302A1434D4B411A0002C178581CF6AC48C64AA7AF16434D9F84E014D11FBA38525B436ACC338FF20B0DA1434D746303581CF7AFFF6FA2E18125FBB42DEC3514EB946776EE54B0E5143201384E36A14C5343414D497473415363616D02581CFF97C85DE383EBF0B047667EF23C697967719DEF58D380CAF7F04B64A144534F554C19091B8258390135D559D90CD4B91F024577261CECCD13478244EFF4D73ADFFD6F11A29DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46A1A04A45FE5021A00061A80A8008282582033FA2E51C9829933038FBCE80C5502343F84CF1B19E4AD22AABDB9ACF056480301825820E70246303090C76CAF02947507396D08D3649BEF6D8868371B7D5907790123EB03018483583911A65CA58A4E9C755FA830173D2A5CAED458AC0C73F97DB7FAAE2E7E3B52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821A003D0900A1581CC881C20E49DBACA3FF6CEF365969354150983230C39520B917F5CF7CA1444E696B651A000186A05820C411389BA7514B00B8019A398312A55E625616094CE789C895BBA7F75E4B95DA82583901DDAB53D5E0D31F8D2B201FF073520CB1D563A76396FEB09487C6A72CC51BBB2EE12E1E1584E5EFA9C924531D70F51A12969A9A651F3B92F71A0017FCBB82583901AD1211BD682655F9E416CFB450D5D4DC457D786FB8EAA303986641339AB2B60AD69B3935691BF57FBC1161EE7C178B4080793871179CF3CD1A001E848082583901AD1211BD682655F9E416CFB450D5D4DC457D786FB8EAA303986641339AB2B60AD69B3935691BF57FBC1161EE7C178B4080793871179CF3CD821A116BF9A9A1581CC881C20E49DBACA3FF6CEF365969354150983230C39520B917F5CF7CA1444E696B651A000502E4021A00044875031A083816CE075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A083808BE0B58209692F578DDBE5307404669259B8F9EFB5D947A3439C6AE01D215E13CB88706F20E82581CAD1211BD682655F9E416CFB450D5D4DC457D786FB8EAA30398664133581C9AB2B60AD69B3935691BF57FBC1161EE7C178B4080793871179CF3CDA70082825820ADF7CA386FDEE4D561E2D56F00300039D17FC133E1E05C69AB7658EA6232F46703825820F2BA765681F7C3CCDAD7B6A576FE0D27D00CE802AA35F31CA88BADDA8888ABE1010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF028499745143D7730652446EF9FB2C6DE6F117259AB3D9861422848119011A0328B740028201D81858FFD8799F4100581C6F26DE2BF83EC7B929CA740DB0FDF28A70B7598ADB1E42C05E1BAED8D8799F4040FF1A02FAF0801A000DBBA01A00109146D8799F581C9BE713B08B93F3AF26BFA97104963E1FBF4E46DCA12459C829155F1A46444157474759FFD8799F1A001091461A02FAF080FF00D8799FD8799F581C66CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AAFFD8799FD8799FD8799F581C8499745143D7730652446EF9FB2C6DE6F117259AB3D9861422848119FFFFFFFF581C66CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AA9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F42408258390166CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AA8499745143D7730652446EF9FB2C6DE6F117259AB3D98614228481191A001E84808258390166CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AA8499745143D7730652446EF9FB2C6DE6F117259AB3D98614228481191A4E53EB9B021A000430BD031A083816BC0758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A083808AC0E82581C66CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AA581C8499745143D7730652446EF9FB2C6DE6F117259AB3D9861422848119A8008282582075476BA33F165F1B77ECF47815DF2EE911038D3B85BEBFECFF788D347643AE4600825820808DFC5DFA6AB014280BE0CC25CD9EA048920C7B1A027D1C9C86DF8637AC5CB1000182A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B00000002947D4FD8A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A158205593D7474441491316E7E8711CF2393AEFF2C697F467FD962EBB480861C8EDC71B7FFFFFFF9BFA693A581C9BE713B08B93F3AF26BFA97104963E1FBF4E46DCA12459C829155F1AA1464441574747591A0F26AA79581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A158200A9B52D7551F26613FB17C31A034CDF542E332E1B7BD51E1E110E722DEFF76DA01028201D81859010FD8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD0658200A9B52D7551F26613FB17C31A034CDF542E332E1B7BD51E1E110E722DEFF76DAFFD8799F4040FFD8799F581C9BE713B08B93F3AF26BFA97104963E1FBF4E46DCA12459C829155F1A46444157474759FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC20058205593D7474441491316E7E8711CF2393AEFF2C697F467FD962EBB480861C8EDC7FF1A0001831C18641A000493E0009FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA20058390166CE9EC24B84F64E465CE5BB40231A9A6A3947091831AEBFD4F907AA8499745143D7730652446EF9FB2C6DE6F117259AB3D986142284811901821A0025AF72A1581C9BE713B08B93F3AF26BFA97104963E1FBF4E46DCA12459C829155F1AA1464441574747591A001167B2021A0008174E05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01AC008382582016469DF23E4D2FC82F11139D2664DB9CE11A1B8C64CECCF7CC320A65FA808ECC0282582021BECCF98FCD0F498A955388856FF426CDE6F411064E8B75B130E9CA5AD10DD3008258205C1DDA37B9ED3253FBC6F108746FD7555C601AF054E3C519A69E6A760EA180D0000183A300583931E0302560CED2FDCBFCB2602697DF970CD0D6A38F94B32703F51C312B4399813DAD91BB78A5EB17C26FF50852BC75D3FA7B6E9AE87232CCC101821B000000D27B283711A2581CE0302560CED2FDCBFCB2602697DF970CD0D6A38F94B32703F51C312BA15820000DE1403E259CC410C7932FF0F579085CB47E882498F1AF51F1D8DB90BC14FC01581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581B0000018060680734028201D8185870D8799F581C3E259CC410C7932FF0F579085CB47E882498F1AF51F1D8DB90BC14FC9F9F4040FF9F581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05A51576F726C644D6F62696C65546F6B656E58FFFF1B00000119CE4D5C39181E181ED87A80001A6769A200FF8258390135D559D90CD4B91F024577261CECCD13478244EFF4D73ADFFD6F11A29DCA0249341EAE6F189D5A079F0D26D3E807DDE8FBFDEC9A3F29F46A821A001E8480A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581A3665493582581D6137EB116B3FF8A70E4BE778B5E8D30D3B40421FFE6622F6A983F67F3F1A096B68EC021A00094B2B031A08380CAB05A1581DF199E5AACF401FED0EB0E2993D72D423947F42342E8F848353D03EFE6100081A083804DB0B58207BD36A8AF568D37F01C328B16A93C6C1A9D792E1F9AD8F48900ACCCE08FFAF410D8182582016469DF23E4D2FC82F11139D2664DB9CE11A1B8C64CECCF7CC320A65FA808ECC020E81581C37EB116B3FF8A70E4BE778B5E8D30D3B40421FFE6622F6A983F67F3F1082581D6137EB116B3FF8A70E4BE778B5E8D30D3B40421FFE6622F6A983F67F3F1A092868D7111A004C4B401283825820FA46A1D162C59CECE3308C5A9D4DB9FF2EA17F9C0146FF821C9B445588B017C900825820F5F1BDFAD3EB4D67D2FC36F36F47FC2938CF6F001689184AB320735A28642CF20082582008650CE0B5040288C8EDE0F645150035ED95D05A3317A4450797AE8A7AAA9C1000AC00838258207B15232C468F3C4F89C23E77588BB2FC3FA5125CB7D061DAB8755F05B7406ED501825820C4A23631E85681C62BEF609DEBBDD69254CC6D92A7C6C093E68EF5C0CBAE231703825820E0ABE0485E158FA3E3BB8EDDDD1F13583039D60C66751744B1C087513D69497700018383583911E1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC133098EBB5F8F7381652644E15C3E734787E6E0EC469BA08A2EDC592164C8821B00000064160998B9A4581C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB1A15820620719C204A0338059AAD43B35332B9353216C719901C8CA9F726AE4EC313DA501581C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62FA1474D494E5357415001581CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D86A15820620719C204A0338059AAD43B35332B9353216C719901C8CA9F726AE4EC313DA51A109FE41D581CF43A62FDC3965DF486DE8A0D32FE800963589C41B38946602A0DC535A144414749581B00001677D00607E65820D1280D883304C4BA6A4FAA6CC0CADDE62BF5E0A946C984AFC0160A7EC6886A0B82583901CA5D9E971BA87CE0CE333A464A8F7C1C6650B8A6A28C4DCCE53B566D28B8C1ADBEFB8692970A8A473D45C30DA47FAA716C7026B0ED362A76821A0CB4FB5EA1581CF43A62FDC3965DF486DE8A0D32FE800963589C41B38946602A0DC535A144414749581B00000002CC8CE2A382583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821A21A7961DA1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137333532303336303030303001021A000D6058031A08380CA60758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A083808BE09A1581CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D86A15820620719C204A0338059AAD43B35332B9353216C719901C8CA9F726AE4EC313DA53A49084EDE0B5820493DABC125EC7791EFC3EBF8F2503BB97D66A1D0D54825926C5C39382DAC4EE40D81825820C4A23631E85681C62BEF609DEBBDD69254CC6D92A7C6C093E68EF5C0CBAE2317030E81581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D1082583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821A214A6640A1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137333532303336303030303001111A004C4B40A40082825820F6CC694601F5E461823D710B823061B630C5E5861263A5D389398AAE4B093B6C01825820FEF04950A7B84AD077E9AA4A29AB394422EDF37DB56B3398515CF4C708DF8D9900018282584C82D818584283581CB482D43264712073397074B55178AF02564116380BA50F90FECD446EA101581E581C3083349ABF53EAE44190E45084E76C56A191A43DB3A384BE5D41763E001AB99DDF331AEE6B28008258390179C35D03FC61F4725628C0938A2F6919E12237B937E856B853984332C6A8F9D4536851B5BBF85CD03C644A99D0A1812568EF5655D17DDD001A002BE90E021A00029AF1031A083824E4A80081825820F78035C070DD92AB6B390199B3A9917009F0E8A10533B9E89DE8E9E4915D53FC00018182583901E6D3410BE0B3D51A52B874983BC6F0E48BCF4274352552E683E1C211B91D1FE82203DE4C0DE2C150746383A893CD21EB1082565252AF63A51A1E05FB8C021A000472740758205FE334C433C9411577A9E1112EB90506D6A99989450FF7EFD9E4F47B6831571D0B582015CB7EB48CC5A530D97DD9435630CCC9CE3814752A3A19DAA8DE49F75765405E0D81825820D9B160EB51500AA358DB25CDD5972098A638A6B5D0CB9BC3EBDD58B0EB611BBC000E82581CE6D3410BE0B3D51A52B874983BC6F0E48BCF4274352552E683E1C211581CB91D1FE82203DE4C0DE2C150746383A893CD21EB1082565252AF63A51281825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A62177600A5008182582026FDE0E23C15FDCB0FCA7DD6200228763EEB9E99D6CFC34AEDC55BC1B1EA2E400101828258390164DBE802459557B06A71D6310AD8D43FF3B76ACDF16CCC6DA6806EB8AB1349EF5588B03F3B749284268C5723BC1EB0265E67E436B4AA63201A3B9ACA0082583901DE744AB8DB2EC34FF560575D26406C0E821A46DA1C94536277FF3A369B806E67473EDDD2D378C568BD99E378BCD4BB5EB7A88C86F0B0A6BE1B00000001D497956D021A00029285031A083832AD0800A6008182582091296B50A7872916C132B564801F44C6F4AE63BDFF575F3DC9B9F35655C0A3E0000181A2005839018C1DEC90926A025330269B9486D4AE2899C66EED9C2A4841BE36D9BFF4EFDE4D6ABF779BF9B3BE7E7297AE37EB4988870B6687DC957B8AA8011AF241D3EC021A0002A935031A083824D6048183028200581CF4EFDE4D6ABF779BF9B3BE7E7297AE37EB4988870B6687DC957B8AA8581C556E4281187CEE08332AD1ED2A0E910B05E0850A2D01A1A9AF848D0705A1581DE1F4EFDE4D6ABF779BF9B3BE7E7297AE37EB4988870B6687DC957B8AA81A00BFFFAFAB00838258206FE8347BE9D7A78982403226242727DFE9D9513FD3101BAC2FA48E839C3640D20282582074EC4E2B1333F2A0C32B0A53AA9333D882CB99C9BBD7FA4C787D16799E01DB5E008258209226EC92F97BC52CB222233BC928DC5BE128A163FA3510D83157B8FF3058EAE000018383583911E1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC1330952563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821B000000367F065441A4581C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB1A15820F903A9E6E085799E438B9499355664A3E04DC6C42D528EA1573A9304CB15545601581C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62FA1474D494E5357415001581C2ADF188218A66847024664F4F63939577627A56C090F679FE366C5EEA146535441424C451B0000000E6DD7E632581CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D86A15820F903A9E6E085799E438B9499355664A3E04DC6C42D528EA1573A9304CB1554561A0052D7EF5820DE005FFA810AE382C2E93CD68347C9D8B4C482793CD3E13F55009E5084FBDDE4825839019C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD1A0E1AA8C782583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821A28AD6810A1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137333532303336303030303001021A000BC135031A08380CA60758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A083808BE0B58203699529E1084325807F432BF4017E3227AE44FBF32FD2835FEAF097D2934AE4B0D818258206FE8347BE9D7A78982403226242727DFE9D9513FD3101BAC2FA48E839C3640D2020E81581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D1082583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821A284E5985A1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137333532303336303030303001111A004C4B40A50081825820E88F77CF1CD032B7409FDC297E6F74995B57104B15A40CEC5E4507E76FE10C55010182A300583901F20E68E2D04BBCCB24F67AF30E572B25BD3F5A74B92498F88735020AD253C7E8637FA40124E64C9078FDC67AF69AA47A1A2B1D5C3F7189FE011A0243D580028201D818588FD8798458183637313265323964366361383234316461373661326133315F5840616464723171387A7179676333647364336763706A68636D6E753374787575686A716772686E7A637A6566736863303666366E773337637A737371386C38643958277632366765646176357175766377336A776534643561656E703578323939713371327468733370FF0143414441A200583901C40223116C1B146032BE373E4566E72F20207798B02CA617C3F49D4DD1F6050800FF3B4AC569196F594071987464ECD5B4EE661A19452822011A0CD247B3021A0002ECED031A08380B2A07582019F4F2AA9CCE01C6470D4D840A05591185453122A5DD5972B967CDEFD3C92BF5A50082825820A40B3F24C3B91D7DBEE3AFFE0A37C6BA96A463146C8A01F4E53371A5049FB08E00825820F9BEB6C20D1047E3A0F7EEF4BA4BD41B74E6A70C477D3688DF14B3A86FCEA62E00018382583901C00EBAC15201D17E2414AFC03C53DCF3F0968CEF649FB17645537D4DDC9AFD35D696F96C81666249A2E0F989B64700EE4645A08738397B05821A0011F436A1581CDAF494081CBB6872C6303D04697E5D10D4DB8A69E4229BEDA69DD0AFA1494352415A594D4152591A771B3C0082583901AF65D81DF78E479805C089EACDC5A04AFE25F156189D746246779C22F7A64CA6DF4A47629BE6F23CA8E6C62E21662F77888E9E85FEED732D1A4309B18E82583901AF65D81DF78E479805C089EACDC5A04AFE25F156189D746246779C22F7A64CA6DF4A47629BE6F23CA8E6C62E21662F77888E9E85FEED732D1A004C4B40021A0002AB71031A083833000800A50081825820EBB2703912FF55531D44B5D7FA229999A16334784372C25FC0BD233D9FEFA8EB01018182583901F78667B0BA4FCBED74D7F9EB4FA4044ECABF75DE6D5961C4BB4D58FB938D3511336735AED4B46E7C3E9EA8D634EBA0A647C3638D2EBA0E741A08983F7B021A0002AC35031A083816CE05A1581DE1938D3511336735AED4B46E7C3E9EA8D634EBA0A647C3638D2EBA0E741A08026108A500818258205C754294A812B74C0DCA480D3264A9968477A5335B47AC11C855F4690E41B98001018282581D611423D22EA96D09B88162B1B7A9A88DF1BFC2AEC37CD805428D6A0D331A00192CD3825839016587373D9061CCB04799038A7607E72BD4B2E496068E20235D492B80341653AF4C4A6E11986778C1710C922F9D70674DD463024B449E9B771A00D5D176021A00028D05031A083832AD0800AA0082825820071893FCDB9298B8E5450C1B4EC44419688845304BF620CBF0E5BC64BE9EA94B018258202113831A0278406D904DCE11F94ED30902D113396507889B53CD3EDD40D4226000018382583901ADB1BF6A51B20FF1B8450726EF3891BB0E153D5BF47783375E2134AFBD6A096CBBA5E259946798E948403E2D2B3D9EA88A12EE8E7AE94497821A001D1870A1581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A24568764144411A0052D0FC4568764D494E1A0FC2C3728258390121224F56AEDFC01347DAA2276EAB9772F0B323ACC3AB25027665A999B74BBB0DBEC032E4890D9263B53048BFF961FFFC683B8664269D880B821A003E7F86A1581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA15820377949FB80C44AB5647E7609BEF787C344A1EF079E47E66A23D0A1CCF8F11FFB1A30AC002C8258390121224F56AEDFC01347DAA2276EAB9772F0B323ACC3AB25027665A999B74BBB0DBEC032E4890D9263B53048BFF961FFFC683B8664269D880B1A00E478C3021A000496AA031A083833040758208CE9116D1D99C06C82481E4DB025D74EECB42C0CAD5B25AC0FB2140FBD5EBD3509A1581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A24568764144411A0052D0FC4568764D494E1A0FC2C3720B58201868A456653BD60ED70D52216E2946375FD1527442C174F2379083F94C532DF40D8382582076FC5AE282968A9690C728C036614FBC506FD5932E9C9A29B1053A6C243045180382582076FC5AE282968A9690C728C036614FBC506FD5932E9C9A29B1053A6C2430451804825820F51B0CBC3405A6A83210F95412E9B275593F88FF40F9DF25F02E11D8F2287879010E83581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67E581C7FE3920105A0AEBAAECC1B935CD5EBBD3CC8C28336449D27378825E1581C21224F56AEDFC01347DAA2276EAB9772F0B323ACC3AB25027665A9991281825820A598AC624F82ABF6E49A6F3562489E373B18F8F6063620F2C905A56AADF91C5A00A4008182582021776AA18CB033CD30D11122D21E57D553A52340C3197FB1E9B141D300C536C201018282581D61C742834E766816A25FF348F9F2D70A82C5445B6963EF349F9A773F801A06D06D0C82581D6195FF8B6099C617C17596534B7050394C6ADC23EE3FBC969C954A16D91A1756C4D3021A00029D2D031A08381476A4008282582095BC25393EA8CCAC22A596536C3C3644CF607D3D1DEA4F195B63E870AE2CB80601825820AA33AA513B9274D5CB0E11AD236EEDE63C05EED11C7616682531334CE6E52B45030182825839011AF96D0B100D445FFF09B90B0953DD6339EE365970D8CD55B5557BC753C5CE4412C2166B040BB2F5B33F0F5F80642C3A55B4F7CD016AC117821A0011D28AA1581CEEFC4EFC23FD4A059AC22391DB13460CAF37C37D82C810F64A4C2157A14B43533233434C453032373501825839011AF96D0B100D445FFF09B90B0953DD6339EE365970D8CD55B5557BC753C5CE4412C2166B040BB2F5B33F0F5F80642C3A55B4F7CD016AC1171A01514EF4021A0002CDFD13A18202581C9EE3B0CE6C5999FD817EF8670B6DF8FDD7BF4D08A877E05BECAAA540A18258207FD6429ADD8F2611AD8D48C0CC49101463093AEC285FAEA402E8CFDE78EA58D7008200F6AC0086825820805E9634D520524230AB7E0C057318DC00A8FF389B0224736476B55E0D4CD95401825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE00825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE02825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE03825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE04825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE050182A300581D71EB256D514BA7ABA381CB3C39983F38DF63EEEE2ADBB0F22B6B6B8CAC01821A00E4E1C0A3581C25C5DE5F5B286073C593EDFD77B48ABC7A48E5A4F3D4CD9D428FF935A1434254431A019F1D9D581C9683F95C869CDEC9F6E640F72057C5B167B414A5486AD01C23322010A14001581CD196C3F492412878C21AAF916EB980C9F3CBEE7CE04AAD6FF9A6FA2DA14004028201D818479F0000000000FF82583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1AF6B0B75F021A0006163E031A08380C42075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A083808BE0B5820675B29B1B442E613C0BEFFBD1E38498F47CFC07297FCE6F831442C23D62321DF0D81825820805E9634D520524230AB7E0C057318DC00A8FF389B0224736476B55E0D4CD954010F011082583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1AF66A825D111A004C4B4012848258203EADF90811FCB72211E6C2CC8DF629765A9145B509F939E197367D5261DFE4250082582057CA4F6635E9BE3DC41BBFACCB453BA367D6EF4F3CDA19745A1F13AC8C56AEC9008258208F5FC7AC3FE77CCC711D832889E01159D800790066EC8BEA478B1F312195ADA900825820E690DD4A0EDCB4F23A65E9A1FBAE4C16732A2332048B8BA877388CC444D8D4FE01A4008182582046FBAC70EDF508CE79A6AC592582C88A7748688895186E14FCA925A4A55FFD77010182825839016256C671B1B207A8FFD3D470DA947B59EF76EC5CE89120C3E85F3A5551C55227800D183C7A628DD329F2F763AE5C6B4191E2ED4CFBA0EA701A000F424082581D6179E67550B2FF311DA1883AD0CCC6FB2BB7C75E5489ACFF735FCC68781A006177C6021A0002CD30031A083816CEA7008282582065ECAC4A9F58AEB0410DB94EEA474186BC3879AE1B3C41D382064BA43EE511C1028258209226EC92F97BC52CB222233BC928DC5BE128A163FA3510D83157B8FF3058EAE003018383583911A65CA58A4E9C755FA830173D2A5CAED458AC0C73F97DB7FAAE2E7E3B534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD821A003B11F6A1581C1AD4F068A49BBF0D4F05335CADECA0519CEF34CC1B2BC35B2E5739AEA144434F434B1A01459DD2582097AE4B773FA895950527B41AB327AC09B4A7AEFFDF921DA886651F57881F948A825839019C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD1A1476FE00825839019C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD821A0011B0DEA1581C8BCCC55DA00A21D93A332624E77964C0F49D6C64EA3ED44CFA718E79A14553504943591A3972A4A3021A000309CD031A0838330B0758201FEB00F18FBE772CC375AA495DA0B08D837A719671E68DA62F8ED658915D8FD10B582042853B17E21DE07E61F9DCD9D54B44C76A49D605F360E99663D1B4C64DDC5DB91285825820209DB488696B6E6066F92FC65ECD73E03E72F7DFD0EDBEEDD0D99148348BCD1200825820FF70EA91F20104535C385F28233321B90E34EA8D7BE28424F598ECEF43F7FBA50082582022D58E2097869D6CE929999C1BFD3DF0B4B717C33FFDE9BC0E3C0CF6DA18528E008258200EFBA74DFE554D4318BEA4A0C30FEC112EF934693F7D3C37EC6BD49F07034DBF00825820B90489510FFBB1B40666A8A8566D8734FF4D3FF19191AFD3B1C87EC5D1BD21B100A6008182582088A846D719ECB0DE9EF9F4C6412EC0E249B0FBEF1B98F3477A183F9EA7C05413000181825839017080D6B58158A0D22B017145F479C71873DC2A4DFCC3DA9129284267834A6CD48C168AC1199E3FBC39AEA07DBE1D204A753A06F652EAF4A21A1C8EDB19021A00029E8D031A083830E305A1581DE1F0FD663058D4815B3E4D4BF918CA3DC6E634908FE07F1B8D9991BF191A01546A180800AB00828258209CD463B9EE5634B57D1BF5A99A3FE90790F2D3772F870661EA802C7D525C305E00825820DFE25C69CBDEF6157ED5BDC74F87D274AD3BF0301AE9FCC9F344D5F86A225D2C000182825839317815664DDCF92F023C9F6E7E0792D6B2F733282486993613E549D8B6E2667F1ABA5F840845F1DFB453764A774C2B67DD7C0D968C5C172480821A00128BBCA1581C1D7F33BD23D85E1A25D87D86FAC4F199C3197A2F7AFEB662A0F34E1EA150776F726C646D6F62696C65746F6B656E1AFB30F268825839017B231299AFE68416E5BB97156153BEBF1621FD34001B2CFD49F75DB2D7D361E66CE9B79337EF08B5F563806178AC81B2AA08156A460C245C821A0094E005A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581AFB30F268021A000394CF031A08382FCE081A083804D609A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581AFB30F2680B58204878858A2940F3F2017A11D9BE8F7582F9DE78D186EA728FD2A7B0616B4BC9290D81825820DFE25C69CBDEF6157ED5BDC74F87D274AD3BF0301AE9FCC9F344D5F86A225D2C000E81581C7B231299AFE68416E5BB97156153BEBF1621FD34001B2CFD49F75DB210825839017B231299AFE68416E5BB97156153BEBF1621FD34001B2CFD49F75DB2D7D361E66CE9B79337EF08B5F563806178AC81B2AA08156A460C245C1A00618A3E111A00370C42A70081825820C6D0E1823605A005A83D5E3BCFED9CE36620C5F24419ABC4B662F080A209B22E01018182583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D4821A00372991A1581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC924A14579756D6D691A0009A77C021A0005DF6F0B5820B357335BA1DF1FD3466A660DF0DDF3E7D04C7DE4832F213321381B1E27DDBAFD0D818258205184F3F2F4BF2B0F40678C6FDC76453DA346E716EF089848DCCDF9F368E1613F000E81581CAABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A41281825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A62177600A5008282582002C389B8577967ECCAF7D76133D0486157C6C2C6D7FAC1D2932AF231D325C1AC0182582004739A3E5215FBC4C6D824EEC8CD7588C2C013E9BA123AB45A2B8ABECDC9146E0001828358391100FB107BFBD51B3A5638867D3688E986BA38FF34FB738F5BD42B20D5111E9A698B7F8D63031E4EC827564E2912AD23D91C2E048B99F21C08821A00286F90A1581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC924A14579756D6D691A0009A77C5820FA09F2324411E03783965EADCA711801DCC6B277247248C005E0F0A4D13D983882583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D41B000000012DD2F070021A0003CF0C0758206033391D0D8FA0D485E774F366FA80E36788CD14AC8A62FF54026FACADADBB9E0B58201AAA642586D1E34E7FE0A4E81D7F809FFAEB6FDAF0F88FC8EDBF6EE66B655341A60081825820C6D0E1823605A005A83D5E3BCFED9CE36620C5F24419ABC4B662F080A209B22E00018182583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D4821A0034148EA1581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC924A14579756D6D691A001494FD021A001095920B58203E35CF300F6E10CE1C26A6A908A225429A014EFE676FF257CDD86B0DDCEB055F0D818258205184F3F2F4BF2B0F40678C6FDC76453DA346E716EF089848DCCDF9F368E1613F000E81581CAABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4A5008282582004093A2A9DE4F7E7BA3D22360D29B58A37468FB321515E519D26ABAD35EFCB1C00825820C6D0E1823605A005A83D5E3BCFED9CE36620C5F24419ABC4B662F080A209B22E0201828358391100FB107BFBD51B3A5638867D3688E986BA38FF34FB738F5BD42B20D5111E9A698B7F8D63031E4EC827564E2912AD23D91C2E048B99F21C08821A00286F90A1581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC924A14579756D6D691A001494FD5820585F8B3295B6D657C87EDBA2376FE1ED9093C72F214E7FD0A7EF7E3029FD4E9682583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D41B0000000116730044021A0003CF0C0758203FACB21C67A70FDADABC73173059A1A84628941C7FA609B8B077989EAC7EB44D0B5820D5C7E039A81D0D6279E2E63F0B64DC44317CCF717A82F929BD65AF63F7749C56A4008182582026DC8D922F4DE7FAE0562A2F143DBEAF46B7E1C552E8179F31FE79F49AE68DE20101828258390192BF5564919EEB33BABB342853745C345803C6ECF58097EE24AF45C492BF5564919EEB33BABB342853745C345803C6ECF58097EE24AF45C41B00000003F5476A0082581D61F73D3776F2D25E2B561BCBD7D3FB660B2AD8AD2D5FD39D7D8DDB81011B0000008FA76D4B4F021A00030305031A0838260AA40081825820B556B92BAE58B46DE127B3C7E262E3546BD030A72F22FD1D5324401C9248DE9601018282582B82D818582183581C21C3150033DCDC1893A2E9EC0DDBB94DC57743179DD32F56D224606CA0001A2B8E5A401B00000001BF08EB30825839011C8BD74D073DF06B61A634B17DA1D8A5AE38D18D08D18407B7863E541A25EC904E81C153117B59AE07AAE69B494FDEE6EBD09C939BEA9E0A1B000000059E5BC320021A000D5EF5031A083824ABA50081825820356F568DBBF0975D66C0CEA729A92A97413C37BD2B61F76DE98DD82EF11DE472010182A300583901F20E68E2D04BBCCB24F67AF30E572B25BD3F5A74B92498F88735020AD253C7E8637FA40124E64C9078FDC67AF69AA47A1A2B1D5C3F7189FE011A017D7840028201D818588FD8798458183637313432613630366361383234316461373661653932335F58406164647231717961686A303433736761647763637A383567377333386D3368736D6D396C6675647579377433653075716D7A786B356739793077303470756A7758276A6D757964766E347A74336A6B657A6E7A667378707237746578786C71656D637368767A733761FF0143414441A2005839013B793EB1823AD763023D11E844FB8DE1BD97E9E3784F2E397F01B11AD44148F73EA1E49D2DF08D64EA25C656C8A624C0C11F97931BE0CEF1011A022BCC79021A0002ECED031A08380B4B07582019F4F2AA9CCE01C6470D4D840A05591185453122A5DD5972B967CDEFD3C92BF5A7008282582014D0C4B16D626D5A907AA74A48EF686323F32AE8ED10A2FEEDF052FBCA068707018258204984E392303A694A13615A90A5AF71BC9FB4F6E643F7920B76F6805972E7104301018283583911A65CA58A4E9C755FA830173D2A5CAED458AC0C73F97DB7FAAE2E7E3B534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD821A003B11F6A1581C25F0FC240E91BD95DCDAEBD2BA7713FC5168AC77234A3D79449FC20CA147534F43494554591B000000019254D3805820BBB1FF2AF477EBE2561958B732508A97D1170A7D13A0CDD9056C0C84EC9F02E6825839019C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279AD1A14802EF3021A0002F845031A083833280758201FEB00F18FBE772CC375AA495DA0B08D837A719671E68DA62F8ED658915D8FD10B5820130E5BDBDEE9912845C2F4898D4479F33BBDE370691A6CFA6E08D2AEA98B28D71285825820209DB488696B6E6066F92FC65ECD73E03E72F7DFD0EDBEEDD0D99148348BCD1200825820FF70EA91F20104535C385F28233321B90E34EA8D7BE28424F598ECEF43F7FBA50082582022D58E2097869D6CE929999C1BFD3DF0B4B717C33FFDE9BC0E3C0CF6DA18528E008258200EFBA74DFE554D4318BEA4A0C30FEC112EF934693F7D3C37EC6BD49F07034DBF00825820B90489510FFBB1B40666A8A8566D8734FF4D3FF19191AFD3B1C87EC5D1BD21B100A50082825820F62F87B6B14F959FC7E789FB9F23C663795BEE94A8EBB6CB76CEAC2FC16F75D001825820AAEE34358F9770A3A976C763B87747AD1C1A9A033A7360A3D1B1E84981E531B3010182A200581D61D0511788B6FAD3B37126BC8A86798FE27DBF7D9A4708EC2DD2293B64011A77359400A200583901D869227BC868082AA2DE9288DC398A4FEDC0E0B2697587F3AD02821C8C67D45C7985D949C6D809F3D7B2CE5A3F5DCE87941D8FDE78B6BCC5011A301AFBD3021A0002BC1D031A0838251705A1581DE18C67D45C7985D949C6D809F3D7B2CE5A3F5DCE87941D8FDE78B6BCC51A040742BEAA00838258201FCC9E54B7D94EB281A37A7F7960B1BD2BE629B46F35AA25023CD6D3945814D701825820F227CDB47C97C79D74822822CABCC73542F58874106D28239F55B8410922274F0382582048F014995AC66809720F237DAD89D104F520B5DA76E140488005C035D95E92C0030184A3005839310324D25A919BD2DCF76B61354E6E3215CB6D4799274053FA3BC7F0C819971DFB46A7FA611DDF545EE84DABD741454C4837669DE8322D7181011A002625A0028201D818582258202F58B2228A5D13AD466FBD01F40DA1AFF14355F8717D694A3A7923C0D6186716A300583911D064690601080228F9CBD54CA70A1590E9498C913B9FC7CBD845E888556F1BE107AF5E2ABD057F32E413633CFCB7AFC5C8AB4786FE4D2EEE011A0F420C66028201D8185854D8799FD8799FD8799F581C68A2ED23060E3A20B2E708E4DFA20AB97C2A88148EE08E68CC87ACA7FFD8799FD8799FD8799F581C556F1BE107AF5E2ABD057F32E413633CFCB7AFC5C8AB4786FE4D2EEEFFFFFFFFFF8258390108FCE0D35E765086C597BA6A45A18BF9703F77E4B7ECA40B522D1C3B87F8F5FFD504C19F4B5CDC85597782557D8B484DEBC6B09FEA86D97D821A0011C1B4A1581CECD0970CB2D599A8BDB61F6EB597E25EAF34D76BDF8ADE17B6A8FA59A14A000DE140534832303530018258390108FCE0D35E765086C597BA6A45A18BF9703F77E4B7ECA40B522D1C3B87F8F5FFD504C19F4B5CDC85597782557D8B484DEBC6B09FEA86D97D1A041DCB09021A0006B29D031A08380C870B58201044A50D847249CBDD574BAB1AFDB694D3B39705F049FF7C2CA3805B14209EA00D81825820F227CDB47C97C79D74822822CABCC73542F58874106D28239F55B8410922274F030E81581C08FCE0D35E765086C597BA6A45A18BF9703F77E4B7ECA40B522D1C3B108258390108FCE0D35E765086C597BA6A45A18BF9703F77E4B7ECA40B522D1C3B87F8F5FFD504C19F4B5CDC85597782557D8B484DEBC6B09FEA86D97D1A0D43D6E6111A000A0BEC128182582028FAFA82F633524BC216F55D2CF86C0BAD60D50971399EAFA0E9BE443782C86C00A50081825820EA884D33CA0E856F64E451BC1A3A3F1AE7C003D9AE50B947E9D68C6FD126FE3A00018182583901760B30D52215063446582CBDBC85BF27554C4889C21CC62FE315E1E6787182F46DF171AA84BD4A1ABBC441E86BA69B792CDCB0B643F0B5B61B00000074675822F9021A0002A98D031A0838250A048282008200581C787182F46DF171AA84BD4A1ABBC441E86BA69B792CDCB0B643F0B5B683028200581C787182F46DF171AA84BD4A1ABBC441E86BA69B792CDCB0B643F0B5B6581C6B51A5AAE5B4B5F07F38ACF12816B4F8A558EE2840D0DBA69040AEB2A500898258201E404FF612561A9B8AE8E2352C6BDE8B2DA01E9830AABDBA76EDDFB2D717912D00825820659BC073ECB8990DF7556B1CEB2D75451FAE6D40C4BABB0B6C197FC11063628601825820659BC073ECB8990DF7556B1CEB2D75451FAE6D40C4BABB0B6C197FC11063628602825820659BC073ECB8990DF7556B1CEB2D75451FAE6D40C4BABB0B6C197FC110636286038258207BB5A869FAAAF6D901B45D5FEE5EEFEB0152E221A78F6AD7AA62B1F980DF59E0008258207C0D65486FF4733904343DD87D976EAC2821502EB4BEB8B64ED392C3F025A40D0182582086D78E5931C4FB214BE124EAAB75944224DE12828BF4FCF355A6E0CA10AAE1900082582094F37C3F9E59129B6CD5E62B1BAD03038905FE472194214958AF1F04D2CEA472028258209D7DC5C25204466293FF89825AF6F82B4021E2E68548F4EC98BE5857F599C87F000185A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4C8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C7301821A8AF8430BA1581C51A5E236C4DE3AF2B8020442E2A26F454FDA3B04CB621C1294A0EF34A144424F4F4B1B00000014F46B0400028201D81859013AD8799FD8799F581C2A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DAFFD8799FD8799F581C2A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DAFFD8799FD8799FD8799F581C8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C73FFFFFFFFD87980D8799FD8799F581C2A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DAFFD8799FD8799FD8799F581C8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C73FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C5820B68D128216CD07EE83667F1F5D2B65999B034161D88FADA290EB5A9A6960C456FFD87D9FD8799F1A8ABB447D1B00000014F46B0400FF1B00000003555DEA4ED87980FF1A001E7A0ED87A80FF825839012A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DA8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C73821A001B1E86A1581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1A0FF076A3825839012A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DA8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C731A0035A943825839012A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DA8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C73821A0045403EB3581C11EBBFBFD62985CBAE7330B95488B9DCF17ECB5E728442031362AD81A14E48756E677279436F77233431353701581C12D5F4FEFE222D52A4FDCEE56F4B272911D7C2202B068A08EBF53270A14449414D58191770581C27028ACD474F8B7CDFAF83E775833EEBB63628E752521954C67054C0A14C4D6F6F6E506F6F6C3038383801581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B1902EC581C3B07E0F2A262FA1436DF3C91E420D57AD9FD46AA04377EC80A05EE3FA1581B4D454C44204469616D6F6E642048616E64204E465420233336343501581C51A5E236C4DE3AF2B8020442E2A26F454FDA3B04CB621C1294A0EF34A144424F4F4B1A306A00FF581C533BB94A8850EE3CCBE483106489399112B74C905342CB1792A797A0A144494E44591A0EEFEA91581C5D6C6940C0407B172436B71E2C0655AF7DBED9559A96803A8562E58AA14861646172616E636801581C86EC26A91051E4D42DF00B023202E177A0027DCA4294A20A0326A116A24D617175616661726D6572353938014E617175616661726D65723233333301581C8D579C9F878972D97DE1513A72091E125EEFAE18DF1F97CF1E892471A147304A344A724F4102581CA0028F350AAABE0545FDCB56B039BFB08E4BB4D8C4D7C3C7D481C235A145484F534B591A0213BEE0581CA2944573E99D2ED3055B808EAA264F0BF119E01FC6B18863067C63E4A1444D454C441A0016E360581CA4430A085F45BCA6399BEC6BD7514EB8C2FCE1ED75C7554739CFC32BA140181A581CB122B2FC62557DF9C3FD0B5C62A4B2C970A0D711560E0A8DD7B264F3A140184D581CB316F8F668ACA7359ECC6073475C0C8106239BF87E05A3A1BD569764A14578565946491A02365F05581CB76DE2BA611586D06EFDBDFB58A31954F2B61DBCFA87E4335FEB5E28A150536561204361742D7461696E2023323701581CC8C711A3DF70956C397CB92E1705B675B18652723CFB7F72CCD59F2DA147434841524C4553192710581CD6EA64DD658ADC56FCB553AF88DB495A423D4573DDB3BD4803DF6AB5A14B313439393830303535323701581CE3FF4AB89245EDE61B3E2BEAB0443DBCC7EA8CA2C017478E4E8990E2A14974617070793131363001825839012A186360F52023FB2E72D8F9DB51D37C9CB73F2A0C9BAA970D96B9DA8798EE251EC10BA47773DE11CA01C3B47964BFB51C8175771C186C73821A0012BE3EA1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581B0000000F61A8197F021A0003CFA1031A0838331F075820270CD2FFE467D9088942FAB7E62AF5C6F2D0812F6925DFF02A8ACD5D87141B0DA6008182582027B9880346DC03E17AD8E03A197F717AFD6E984A5DB3F1C951CE54C4C19FFDAB010181A200583901D829E2C95C2DC8EA617AEE2DE93FBDE74FEDA585B7CF0D47149594C3DF7E4AC96E421B7F6AF92F311C9446BF87D9FF77EC44AC9D1B34ECE2011A082E8F1B021A000334500B58209DE481B2E5D88B8A476FC10D776BEE896DA9F64DBF2042D9A2F7484960E413BF0D81825820CF76557757F22564ADD5C5F88936803A5FB865C21A8B6A36289B909C0DF401D8000E81581CD829E2C95C2DC8EA617AEE2DE93FBDE74FEDA585B7CF0D47149594C3AC00828258203058D9987906E0E81D6F0BFBAF8AAD817C6B82B4F98C42E08B0FAB31280E6A8201825820D47ADF5904DF9473C30FDE007ECF6D5B810318887FCEB2A4442402658A8C262F000182A300583931E0302560CED2FDCBFCB2602697DF970CD0D6A38F94B32703F51C312B4399813DAD91BB78A5EB17C26FF50852BC75D3FA7B6E9AE87232CCC101821B00000677BB27F578A2581CC48CBB3D5E57ED56E276BC45F99AB39ABE94E6CD7AC39FB402DA47ADA1480014DF105553444D1B0000024EAC8D3F7E581CE0302560CED2FDCBFCB2602697DF970CD0D6A38F94B32703F51C312BA15820000DE14064F35D26B237AD58E099041BC14C687EA7FDC58969D7D5B66E2540EF01028201D8185883D8799F581C64F35D26B237AD58E099041BC14C687EA7FDC58969D7D5B66E2540EF8282404082581CC48CBB3D5E57ED56E276BC45F99AB39ABE94E6CD7AC39FB402DA47AD480014DF105553444D1B000003CF6B52A71F1414D87981D87981581C0BC4DF2C05DA7920FE0825B68F83FD96D84F215DA6EF360F7057AD83001A2200F4C0FF82583901A55F28E5EA668602C69F0975A5B51D68BE87763360F63277FFE6DD7D0BC4DF2C05DA7920FE0825B68F83FD96D84F215DA6EF360F7057AD831A00813AF3021A000BB07C031A08382FCE05A1581DF1E0FCCBBFB75923BFF6DAC5F23805DCF6CECFAAE8AA3A6D3E474EE67000081A083804D60B5820E7B6AD91269083049B35C34A65CEBDC97F24232E2B6161443D426CF948AABA2C0D8182582060CA054F6617A4DB7617CD7C2ECB7F0DA90CC9DD8B299C8E0CF811221EEB35F4060E81581C0BC4DF2C05DA7920FE0825B68F83FD96D84F215DA6EF360F7057AD831082583901A55F28E5EA668602C69F0975A5B51D68BE87763360F63277FFE6DD7D0BC4DF2C05DA7920FE0825B68F83FD96D84F215DA6EF360F7057AD831A00153F01111A00370C3F128382582008650CE0B5040288C8EDE0F645150035ED95D05A3317A4450797AE8A7AAA9C1000825820F5F1BDFAD3EB4D67D2FC36F36F47FC2938CF6F001689184AB320735A28642CF200825820FA46A1D162C59CECE3308C5A9D4DB9FF2EA17F9C0146FF821C9B445588B017C900A50083825820B5598065F36F265396E6549411534DCBBEE7529226577EB4CF6E34680F22410100825820B5598065F36F265396E6549411534DCBBEE7529226577EB4CF6E34680F22410101825820D3123E855F23B0B77706B207BC94774C52F380FF551C67CE5348FF4C36066DEC01018282583901156093BC3FE253199EFEBEE4A3AD66FFBAA366520C0A825A1D8A692220A29EB6CAD19EBF25FB0EC409495EE7FEEC827851CC551813CBBD021A2A23F6C082583901156093BC3FE253199EFEBEE4A3AD66FFBAA366520C0A825A1D8A692220A29EB6CAD19EBF25FB0EC409495EE7FEEC827851CC551813CBBD021A01271CC8021A00029E35031A0838324D0800AC00828258200E7CFCB0F7410E569BBC9C3621476B0A03ED49ED6C11A7C2E7B8473E4E73AD78018258204D7BABAF390950F69FFCB1E5C6C2A491C33F446C95348AC6F701A5D4F40725C7000182825839018351FAFFB0E5E2C441352B9A00D283E271D010F502095E3A4F7BEB1137FA8B38832A0147557F8EFB3739CCB2E87F4BB9CC3F586AFC358D93821A02354637A1581CC981FC98E761E3BB44AE35E7D97AE6227F684BCB6F50A636753DA48EA14454554E411B0000000BA43B7400A300581D71E2782B6C218EE43C2F9940EFC5F62195BE0E6E3026E368FDDC53F6FF01821A001BC0C4A1581CC981FC98E761E3BB44AE35E7D97AE6227F684BCB6F50A636753DA48EA249434F554E544552940101582054554E41E2782B6C218EE43C2F9940EFC5F62195BE0E6E3026E368FDDC53F6FF01028201D818585DD8799F199401582000000000001C4D274FCD07B9D0CCD9761EF1BAF2A88AE05C297461C022171F3E0A1922331A02025FB01B00000192ABA19B60582049EBAEA97FB0FDFF305C1E2FEB2A64EC5849D1677DC31C84D3503A28D516E7DCFF021A000A88F4031A08380963081A083808AF09A1581CC981FC98E761E3BB44AE35E7D97AE6227F684BCB6F50A636753DA48EA34454554E411B000000012A05F20049434F554E54455294002049434F554E5445529401010B58206CFA8662753E17575930AD3C6262776BB4BF5797B868C0C1BEDE9813D1C80FAE0D818258204D7BABAF390950F69FFCB1E5C6C2A491C33F446C95348AC6F701A5D4F40725C7000E81581C8351FAFFB0E5E2C441352B9A00D283E271D010F502095E3A4F7BEB1110825839018351FAFFB0E5E2C441352B9A00D283E271D010F502095E3A4F7BEB1137FA8B38832A0147557F8EFB3739CCB2E87F4BB9CC3F586AFC358D93821A01F383EBA1581CC981FC98E761E3BB44AE35E7D97AE6227F684BCB6F50A636753DA48EA14454554E411B0000000A7A358200111A004C4B40128282582080874829AFB2CB34E23D282D763B419E26E9FB976FE8A7044EEBBDF6531214B70182582080874829AFB2CB34E23D282D763B419E26E9FB976FE8A7044EEBBDF6531214B700A90082825820E7B2B591F5772A44668DEC22464632BFF5B2877F6A75EFFD436EF2643E21B11200825820900AE70C0510A11B92A456E0AC9DB080CB5CCAEFCC728F718BB0D92AA5BF02790301848258393184CC25EA4C29951D40B443B95BBC5676BC425470F96376D1984AF9AB2C967F4BD28944B06462E13C5E3F5D5FA6E03F8567569438CD833E6D1A000F424082583901BAAAA8B9A088F04386CB7119CCF686616FC15F81663F58F459D0BF678F240BE418098DE79EF449800A1A3B729FD04D892E861108CB715D7D1A001B774082583901E6D3410BE0B3D51A52B874983BC6F0E48BCF4274352552E683E1C211B91D1FE82203DE4C0DE2C150746383A893CD21EB1082565252AF63A5821A0012050CA1581C86EC26A91051E4D42DF00B023202E177A0027DCA4294A20A0326A116A14E617175616661726D657238333434018258390141B0824395E985E3D4B003A978C716B899C77D8BA8937DE4890BA1DC5FDBC8752EF93912F2E6BD58AD7BB7DC7ABF6FDA308350AC03E497D91A01F33E12021A0007596E031A08380C790B5820088CC5308FA6500E58E7032C92B468697B387B6B77FC29CA7D3A41A41FB880110D81825820B7FD9A148E80405558FB09FF8C4CD148186CD3DF292D2FCA21B4998EA3DDDB0C05108258390141B0824395E985E3D4B003A978C716B899C77D8BA8937DE4890BA1DC5FDBC8752EF93912F2E6BD58AD7BB7DC7ABF6FDA308350AC03E497D91A0041451B111A000B062512818258209A32459BD4EF6BBAFDEB8CF3B909D0E3E2EC806E4CC6268529280B0FC1D06F5B00AB008282582072D02CB285ECB1D1015C6AC0F02D3E44A60C06FEE899FA4EF2AB76731D98A17E04825820BD21E1F429C10213DB567E99E53D6805DE7165F9D90FC589246B4A53D5C04C9901018382583901E2C9C4184F6FB95B30CACD7551C5873DE8CCAA8C297FADE3A6EBE2A6175A8933CD9F03AFFAC9A6CAA7E9DFAC772093712A19D7C145AB26E7821A0011D28AA1581C420000029AD9527271B1B1E3C27EE065C18DF70A4A4CFC3093A41A44A14341584F1B000000038816E101A300581D71C77B380C7C5C8AEEF1CE3EFFB0BA9ADE38DCE9B254DB2EEFB408F65801821A0019F0A0A2581C420000029AD9527271B1B1E3C27EE065C18DF70A4A4CFC3093A41A44A14341584F1B0000000F4ABB6766581C4200001F426B2B7CAEE667DE83D5507D6B94CC6D81183588149983A7A15820633533366661346665376630333366656538616532306430396330626239383901028201D81843D8798082583901E2C9C4184F6FB95B30CACD7551C5873DE8CCAA8C297FADE3A6EBE2A6175A8933CD9F03AFFAC9A6CAA7E9DFAC772093712A19D7C145AB26E71A0032701A021A0008089C031A08380FC6081A083808BE0B5820B02A126AEA37DB99E9F87AF2910A6CB2FD06E2440F503266EA9C91868D4A69420D8182582072D02CB285ECB1D1015C6AC0F02D3E44A60C06FEE899FA4EF2AB76731D98A17E040E81581CE2C9C4184F6FB95B30CACD7551C5873DE8CCAA8C297FADE3A6EBE2A61082583901E2C9C4184F6FB95B30CACD7551C5873DE8CCAA8C297FADE3A6EBE2A6175A8933CD9F03AFFAC9A6CAA7E9DFAC772093712A19D7C145AB26E71A00403E56111A000C0CEA12828258205EBE33F5D60F19CE6CC67386004C5780E853B068BB767FB884A52719259713D70182582080E04A0D892A887DF5F62729EE1F8AAC67AA4E0A5FDEB6E44C62CA78F4EAE87401FF9FA300D9010281825820C96478FDEBCEEC3A13FD9A11EDC67617E1CA6B2A533A872488DAD5990BC3D8975840002A7954B8E425867010425536375ED56F68B1EEC9E04300608158761AFCFAE349FBD386A79EF126CDF0585E246E0C5F6E047012E0DEFE7007E212CEF2C7060904D9010281D8799F581CD7A2B4740596A8095E94896E96500047BB34C836EB81247ED70C45B1D8799FD8799F581CD7A2B4740596A8095E94896E96500047BB34C836EB81247ED70C45B1FFD8799FD8799FD8799F581CE265C8FA16484FCB09F72EEAF98AA7A0DD97B0243F28426E8122F76BFFFFFFFFD8799F581CDDA5FDB1002F7389B33E036B6AFEE82A8189BECB6CBA852E8B79B4FB480014DF1047454E53FF1B00000007AEF40A001B00000007AEF40A00D8799F4040FFD8799F1B086101CCACDE3ACF1BC800000000000000FF582020F02A5C9FF93CD1D2C0A3C8931777A8F23856D97FF527B853C490F3615C9D2DD87A80D87A80001A000F42401A000F4240D8799F1A000F42401A05E69EC000FF00FF05A182010082D8799FD8799FD8799F5820D71CA4634F0F71F58FB67BB5C1B3653047958DD744801A8CECC0A46388E5F100FF00FFFF821A000CE0001A101C0618A1008182582033A7E05CCB925FF8E7E2F9CDE854D329D91CC651777DBBD2F38A7E3F4E4BBA3558400D2901A49D7C463FD27993BA9989489857E4115DAFCAC4DA1FC2F6D283F9B78719C9DE914283D01D4A3DA98EDED8FE28358517C87296CEA5B1B073EC491ACF0BA2008282582051CED92DC030D6EDCE661830CEA57AA386EE42594389F0F0481C88F1EB1DAF945840A0E648C3D4C2598EF93BC2FC47B194FB696388472D5C8B18CF95E4B5D260B1CDF963191AF2C81EDDD350B43E42C09ABFA321783F506E62817CD4AE2975025308825820B99849736196F99B8520825E23850B12EFC636B065FE6DF8F70EFCBFA61D48235840AE07257D9E2CE97A3F9C7224B78CB407A16B8FA1E838A736B8E9FEF36E06192FD0C5DB532F06A91BE5B60E2D243C60989277A94C60EDEB9614601AF17EF63201049FD8799FD8799FD8799F581CAD1211BD682655F9E416CFB450D5D4DC457D786FB8EAA30398664133FFD8799FD8799FD8799F581C9AB2B60AD69B3935691BF57FBC1161EE7C178B4080793871179CF3CDFFFFFFFFD8799FD8799F581CAD1211BD682655F9E416CFB450D5D4DC457D786FB8EAA30398664133FFD8799FD8799FD8799F581C9AB2B60AD69B3935691BF57FBC1161EE7C178B4080793871179CF3CDFFFFFFFFD87A80D8799FD8799F4040FF1A1C7EC68AFF1A001E84801A001E8480FFFFA10082825820B42646FC7ED0FAC599B09C3BD31765782B96E1571243C7CBB9DADF3E82D8221958405974676B263E7FA2C3069C8C15DE3A36D42C32BEB405174C90DF552488C4EEC73797EB04BCA4C5D4845DFCFB0424022FBD0C7A128554C91BB87477D36F4E03048258204A7138550B1160E4A457D93AF4ACFC786DB00AA1E564CC1F0937B36C821D13A05840D19B527EF1CCFE2DBBB7C7AB5BC36287AD808CED434A1F86274836FB21281AA22784D27A47D11387F58D9F0E7CEC2DC9F623528D3DA6AFA57F705F4B25109901A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840BCA58E0A5DBD9BB6131BC3918BA4633CD3D98D086380533D4335721915C743B648CF6600DBEA7E14870FD71EF70593DB9C0290273C2637F0477D63A31B383B050583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A3008182582096385B33F0F425D8D2888B0C305F8B8543D97B3C70286F70EE880FC51BEDE0C958400C04AEC50D9F256961A4E8A9EBFC5805BD563D4213570CB41F3ED6F08D33DC413A90D130B67110008B7DD3ED56B0FB9B0C3AD138417A8AA9DDB4E44B0EBE1D0706815901455901420100003323232323232322322253330053253330063370E900218039BAA300130083754004264A66600E66E1D2000300837540022646600200264A66601266E1D2002300A3754002297ADEF6C6013756601C60166EA8004C8CC004004DD5980218059BAA300E300B375400644A66601A0022980103D87A80001323232533300D3371E0166EB8C03800C4CDD2A4000660226E980052F5C026600A00A0046EACC038008C044008C03C004894CCC030004528099299980519B873371C6EB8C02CC03C00920024806852889980180180098078008B1929998050008A6103D87A800013374A9000198059806000A5EB80DD618059806180618041BAA300B3008375400429408C02CC03000452613656375C002AE6955CEAAB9E5573EAE815D0ABA24C011E581CE0302560CED2FDCBFCB2602697DF970CD0D6A38F94B32703F51C312B00010583840001D8798082196EC71A007E3127840002D87A9FD8799F00181D9F9F01D87A8000FFFFFFFF821A00113FFA1A15659DB9840300D8798082198C211A00A56452A400818258200303157375F23161027902ABFF500A6268C00A69F45F7BFE5ADBC2F70F15DF945840395CD4300AFF79F1DFA82D93582A19150CCBD318EC5EC5E39109161673958D5D56D2A52E37C6398D18D1388C4EB6D2DADE581712AF7DCC4A63EA4ABE0008B30C038359014F59014C01000032323232323232322223232325333009300E30070021323233533300B3370E9000180480109118011BAE30100031225001232533300D3300E22533301300114A02A66601E66EBCC04800400C5288980118070009BAC3010300C300C300C300C300C300C300C007149858DD48008B18060009BAA300C300B3754601860166EA80184CCCCC0288894CCC04000440084C8C94CCC038CD4CCC038C04CC030008488C008DD718098018912800919B8F0014891CE1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC133090014A0266008444A00226600A446004602600A601A00626600A008601A006601E0026EA8C03CC038DD5180798071BAA300F300B300E3754601E00244A0026EB0C03000C92616300A001375400660106EA8C024C020DD5000AAB9D5744AE688C8C0088CC0080080048C0088CC00800800555CF2BA15573E6E1D200201591E1B591E1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460CC0042646424446600200A0086EB4D5D09ABA25002375A6AE85400454CCD5CD1832801099091118010021BAD357426AAE7800C54CCD5CD1832001099190911198018028021BAD357426AE894008C0CCD5D0A80082E1119191A827911111A80391191111AA99A9824806108008B1119191A9A9A80103102D91191919191919191AA99A982A89119982D91299A99820A8071A80103409980200100088008008020B03C9111919191919191919191919191982A299A8050A99AA8100999AB9A3094013303A307908101330820106700B06706E0060063305433355307908101305C05A305953353502B2233500206E2071210011635014222222207A33054353501422208E0122350012322533355333500A2153335004215333500C2130054984C011261533350052130054984C0112603C04F15333500B2130044984C00D261533350042130044984C00D2603B153335003205003A04F153335003215333500B2130044984C00D261533350042130044984C00D2603B04E15333500A2130034984C009261533350032130034984C0092603A153350010700820108201070253335002215333500A21533350042133303A03B00200116161604E15333500921533350032133303903A00200116161604D04E33054330500153306F00B02733054330533306301602548008CC150CC14CCC18C02C0952002330543305333063001010002330543333084012222533500315335002135001222223305D3305C0053306C01402B3305D3305C0043306C01402A3305D3305C00300C3305D3305C0023306C0140193305C001304800D0910122153350041622153350071622153350081622133300C003001323232323232323533307D0050070272222225335330743305100248000CC1440052000161333335003235500B2222223501D222223501B22235051222223232323232323232323253353308B013308B013306E00848000CC1B802920003308B013306D00201E3308B0153353306E00A00315335330870100E07013308B013308A013309A010110703370066E0402800C060CC22804CC2680404411C0084CC22C04CC22804CC268040441C0060CC22C04CC22804CC2680404411C008CC22804CDC08050019984D008088070A99A998370041A802055008A99A99843808078380998458099845009984D0080883819B80337020106A008154020306611402661340202208E00426611602661140266134020220E003066116026611402661340202208E004661140266E04020D40102A804CC2680404403C4CC22C04CC22804CC2680404411C008CC22804CC268040441C0060CC22C04CC20C04048070CC2080404006C4C8C8C8CCCCC2C80400C008CDC019B800180050013370002E002A66A0082605466E0800C00840594CD400C4CCCC0A005406406005C520003370002E00866E0005CD40102A80458C27C04028D40082A404D40042A404D54CD54CCD5CD19B8900148000278044C94CCD5CD19B890014800027C044C94CCD5CD19B8900148000280044C28404CCC2EC0400C0080054CCD5CD19B8900400610041006350020AD0121001160B901350010B0015333573466E2400400C54CCD5CD19B880010031330A8010023370666E080080400444CC2A0040080104CC2A004CDC199B820040110100043370666E080040380414CD4CC1FC01C1A04CDC0998490081100399B80011010133092010220073370666E080040300354CD4CC1F40101984CDC0998480081000219B8000F00E133090010200042235500C2222223501E222223501C222350522222232323232323232323253353308B013306E00748000CC22C04CC1B4008074CC22C04CC22C04CC22804CC2680404011C008CC22804CC268040401C005CCC22C04CC20C0404406CCC2080403C0684C8C8C8C8CCCCC2CC0400C008CDC019B800180060013370002E002A66A00A2605666E0800C00840594CD40104CCCC0A405406406005C52000350020B301350010B60153353330690870100E01E1330AE013370002C00E02A26615C0202C66E0005401C58C27C04024CDC199B820010123370200400266604400600266E0CCDC0981219B803370400400466E08CDC119B82337049004241941E90680780200198600080199B824801120CA0F350050A70130BE01001350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4009200033086013306800101833086015335330820101906B13308501330950100B0193370000202426610C026610A026612A020160320026610A026612A020160D60246610C02660FC01802C660FA01402A2A66A6660C8104020120322666661540266E00044008CDC08080008078070068999998550099B810110013370002000401E01C01A2C66603E6A00614C026A00614A02002A66A66100020020D2266E04CC24C0408C004CDC0008808099849808118009A800851009AA99A99983003F00280A899985A00802806806099985A008020060069111A8019119985C80802802001911AA8061111111A80F111111A80E1111A82911111191919191919299A998440099835802240006611002660D80020086611002A66A66108020360DA266110026610E026612E0201A03666E00068050CC21C04CC25C04034014CDC08020008A99A99842008028368998440099843809984B8080680D80D19843809984B8080680299B8033702008002028266110026610E026612E0201A03603466110026610E026612E0201A00A66E04010004CC21C04CC25C040341B4050CC22004CC20004038060CC1FC03005C54CD4CCC1982100402C06C4CCCCC2B004CDC000980099B8101201A01101000F1333330AC013370202603466E0004800404404003C594CD54CCD5CD19B880190011309F013370066E0CCDC119B82002019483403CCDC119B81001019483283D200209E012100116350040A601350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4011200033086013308601330680030193306800201833086015335330820100906B133086013308501330950100B009337000060246610A026612A020160100042A66A66104020100D626610C026610A026612A0201601066E00008048CC21404CC2540402C02400C4CC21804CC21404CC2540402C02400CCC21804CC21404CC2540402C020008CC21404CC2540402C1AC048CC21804CC1F8030058CC1F40280544C8C8C8CCCCC2B40400800CCDC019B8101200700133700022002A66A0082604A66E0800800C40414CD400C4CCCC08C03C04C048044520003370202400866E0404000858C26804010CDC199B8200200E00D3370666E08004038030CC244040840F8888C8CDC199B820010033370066E0801120D00F0013370400290650791112999AB9A3371200890000A4000264A666AE68CDC48008028A4000264A666AE68CDC4800A400029000080099B833370400466E04004014CDC019B8200148028014C014CDC10018011192999AB9A33710004900004D808A999AB9A30A10100214800054CCD5CD1851008010A40042A666AE68C28C04008520021330010023370066E0C009200448008C254048894CCD5CD19B880010021330030013370666E00CDC1802000800A4008200426660F2002006046464A666AE68C27C04D55CE80089919191919191919191919191919091999998008050048040028018011BAD357426AE88008DD69ABA100135744010A666AE68C2B4040084C8C8488888CC01001C018DD69ABA135744A0046660F8EB9D71ABA15001153335734615802004264642444446600200E00C6EB4D5D09ABA25002375A6AE85400454CCD5CD18558080109909111118028031BAD357426AAE7801854CCD5CD18550080109919091111198010038031BAD357426AE894008CCC1F1D73AE35742A0022A666AE68C2A4040084C8C8488888CC00C01C018DD69ABA135744A0046660F8EB9D71ABA150010A101135573C00A6AAE74010CC1E1D71ABA100530743574200A60E66AE84014DD51ABA1001357440026AE88004D5D10009AAB9E0010970137540026A002104026A00810C0260C82446660D444A66A660B066606C0D46A004104026A03C1040266606C0A06A6A0040FC0EE05E266008004002200200202A60C82446660D444A66A660B066606C0A06A0040EE6A0200EE66606C0A06A0040EE05E2660080040022002002026666660F0660C602C044660C602C04203E660C602C02003C660A8660A0044607A008660A8660A0042607C008660A8024660A8A66A60C82446660D444A66A660A66AA03A104026A6A0040EE1040226600800400220020020260D6442A66A0020FE440DEA66A6660640A600490000998299981D183C840809984100833800A40042660A66607460F21020266104020CE0029000183800999B8100101D303D001333066059008010305333307F22322325333573466E1C010DC680488010A999AB9A308F0100415333573466E1D205A500313370290001980299B800044800800800400454CCD5CD19B885002481805854CCD5CD19B8950023370090302402426600866E0000D20023370066E08005201433702A00490300B099B8E0060014800120001533500400115335501A13335734611A026606860E60F6660F80C200A0C20D00022A66A0062A66AA0320022666AE68C23804CC0CCC1C81E8CC1EC18001018019C0044CCD5CD18460099819183883C9983D02F80182F833299A9983D91299A8008321109A80111299A9982B00101089834800898030019A9A99A983B03C00501083883610A99A8008B1109A80111299A8018A99A99827800A400420042C112022C666AE68CDC49982C800803240000C80BA6A0020D4A66A60B02446660BC44A66A66088A0226A0040D6266008004002200200200E2C0F8660CE02C6A00A0D460C2006A66A60A42446660B044A66A660826AA0160E06A6A6A0040D80CA0E026600800400220020020060B2442A66A0020DA440BA60BA0026A0280D4660B40020246A6A0080C80BE26A6A0020C20B4A66A609601C420022C2A66A660600040320BA266060002032603200E6068010464646A09C4444464646464646464660706606A00C0066607066068660A600C018660A6006018660706606E6608E6A6A66A60C60CA00401E0BC0B2660B601201090011981C1981F998188070009981C1981B9811800A40006607066068604201C60420026607066068604401C60440026606E604801C6048002660706606A60AA00A09666070A66A609024466609C44A66A60A26A6A0040C40B8266008004002200200200809E442A66A0020C6440A6A66A609024466609C44A66A60A26A0040B8266008004002200200260B000E09E442A66A0020C6440A666609A08000600860A40066A0020ACA66A608824466609444A66A660666A6A6A00E0BC0AE0C46A6A0040AE0C4266008004002200200260A80062C0D06A0100BA6A6A0020B00A6A66A608400C420022C603000C606600E4464646A09E44444A66A6A00E440A8426464646464646464646464646607E660700286660AA09000800C6607E66076014660B40060246607E6607E6607C6609C6A0040C00120106607E6606E6A0040BC6A01A0D26606C6A0040BE6A01A0CA6607E6607866AA60CE0D846A00244660CA00466AA60D40DE46A00244660D0004666A0026E012000700466E0000520000013304000B3500922330723306400233072330640010090540540033303F3303E3304E3535335306A06C0010160650603306200F00E48008CC0FCCC0F0C1700181494CD4C13C488CCC154894CD4C160D4D40081A418C4CC010008004400400400C1588854CD40041A888168C168014CD4C1A01A800C04CD40041754CD4C12C488CCC144894CD4CC0DCD4D4030194178D40081784CC010008004400400400C581BCC160004D403418CCCD4080178D4D4080188178004CC11800C004CC164020D4004170CC140004020D4D40041681554CD4C11001C8400458124C06401CC0D0020448004584D55CF0011AAB9D0013754004444A66A6600600400207809C46A0020B0246666666600204044A666AE68CDC38010008020A999AB9A3371200400203203044666AE68CDC400100081B01E802802001912999AB9A337120040022002200444A666AE68CDC4801000880108008881F11199AB9A3371000400207406644666AE68CDC480100081C81911199AB9A337120040020620706607C91100488100223333550023303F2233350050480010023500304222337000029001000A4000660784446006600400240026607666076E01200070246A0024444400A46A0020A246A0024407246A0024406C464A666AE68C140D55CE8008991919191981E2999AB9A305435573A00626464646464646464646464646464646464646464646424666666666600201A01801601401201000E00A00600460446AE84D5D10011980F1981DBAE2001357420026AE88008CC071D71ABA100135744016A666AE68C190D55CE804899191919827A999AB9A306735573A004264660A066038EB4D5D0800980D9ABA1357440026AAE7800817D4CCD5CD18339AAB9D001132330503301C75A6AE84004C06CD5D09ABA200135573C0020BE6EA8D5D09ABA200237546AE84004D55CF00482E1980C9981B019BAD35742014660300326AE84028CCC059D70029ABA100A33301575C0086AE84028CC054008D5D08051980A1192999AB9A306035573A0022646609260326AE84004C010D5D09ABA200135573C0020B06EA8004D5D08051192999AB9A305F35573A002264646660B060606AE84008CCC059D70029ABA10013303375C6AE84D5D10009ABA200135573C0020AE6EA8004CC045D73AD37546AE84004D5D10009ABA2001357440026AE88004D5D10009ABA200135573C006098A666AE68C15C0044C848888C010014C02CD5D09AAB9E00215333573460AC00226424444600400A60486AE84D55CF0010A999AB9A3055001132122223001005300C357426AAE7800854CCD5CD182A0008990911118018029BAE357426AAE78008130D55CE8009BAA357426AE88008DD51ABA100135573C0020906EA80048C94CCD5CD182800081E8A999AB9A304F00102B04735573A6EA800488C8C94CCD5CD18290008058A999AB9A3051001130193004357426AAE7800854CCD5CD18280008050241AAB9D00137540024464460046EAC004C10888CCCD55CF8009014119198239981C98031AAB9D001300535573C00260086AE8800CD5D0801020919118011BAC00130402233335573E002404C46608860086AE84008C00CD5D100101F91919192999AB9A305300211222203515333573460A4004220922A666AE68C1440084C8C848888888CC004024020DD69ABA135744A0046EB8D5D0A8008A999AB9A3050002132321222222233002009008375C6AE84D5D128011BAE35742A0022A666AE68C13C0084C8C848888888CC018024020DD71ABA135744A004603A6AE85400454CCD5CD1827001099091111111803804180E9ABA135573C0062A666AE68C1340084C848888888C014020C074D5D09AAB9E003045135573C0046AAE74004DD50009192999AB9A304A35573A0022646606660086AE84004DD69ABA1357440026AAE78004108DD50009192999AB9A304935573A00226EB8D5D09AAB9E0010413754002220582205444A66A00442A66A00442660240040020462A66A0024046068446A004446A006446666010008006004002446A004444446A00C44444A66A6601E01400A2A66A6601E0120082A666AE68CDC38040018A999AB9A3370E00E0042A66A00C42A66A004426A004446A004446A00A446A00444A66A666602E00C00A0040022A66A00E42A66A008426604800400206A2A66A006406A08C0680562A66A002405607805405405405444446466A00A466A0084A666AE68CDC78010008018121013919A802101392999AB9A3371E0040020060482A66A00642A66A0044266A004466A00446601200400244405444466A0084054444A666AE68CDC38030018A999AB9A3370E00A0042660220080020520520442A66A00240440664466A004466A00446601C0040024046466A004404646601C004002446A004446A00644A666AE68CDC780200109980780180081091199AA9815019180680191A80091199AA981681A980800311A80091199A800919805A40000020144660160029000000998030010009981280100A91199AB9A3370E00400202C03A44A66A00420020324466AA605205C46A002446604E004666A002466AA605A06446A0024466056004601800200244666010016004002466AA605A06446A0024466056004601600200266600600C004002444666AA605005C06466AA605205C46A002446604E0046010002666AA605005C446A00444A66A666AA6054064601A01646A002446601400400A00C200626606C00800602800266AA605205C46A002446604E0046606844A66A002260120064426A00444A66A6601800401022444660040140082600C00600800442444600200842444600600844666AE68CDC780100080800B9980E80080A11299A801012080091980E11199A8018128010009A80080F9192999AB9A303435573A00226464646466666042666016EB9D71ABA100433300B75CEB8D5D08019BAD357420046EB4D5D0800998051192999AB9A303A35573A0022646604660146AE84004CC035D71ABA1357440026AAE780040C8DD50009ABA1357440026AE88004D5D10009ABA200135573C0020586EA80048C94CCD5CD18199AAB9D0011323301C3005357420026600C0086AE84D5D10009AAB9E00102B375400246464A666AE68C0D00044C8C8C8C8C8488CCC00401801000CDD69ABA1357440046EB4D5D08009ABA2002375A6AE84004D55CF0010A999AB9A3033001130103004357426AAE780080ACD55CE8009BAA0012323253335734606600226424460020066EB8D5D09AAB9E00215333573460640022601E6EB8D5D09AAB9E00202A35573A0026EA800488C8C94CCD5CD18190008980798021ABA135573C0042A666AE68C0CC0040380A8D55CE8009BAA001222325333573460626AAE740044C8CC068C014D5D080098021ABA1357440026AAE780040A4DD5000911A8009119198131119A800A4000446A00444A666AE68CDC7801004898038008980300180298129119A800A4000446A00444A666AE68CDC7801003880089803001919A80081100211A800911A80111111111111999A805900B900B900B9199AA981101500B11A80091299A998090010020980C00180B805912999AB9A3371E6A0040346A0020342666AE68CDC39A80100B1A80080B001805003880B91180F11299A80088019109980300118020009299A800900B0019111A801111299A800909A8029111111111299AA99A999AA981001400A11A800912999AB9A3371E00401C2602C00602A0044260286A0020440244260240022C2C2006424460040066601444A66A0044200620020022018446602E44A66A00203C4426A00444A666AE68CDC78010038A99A8008111109A80111299A8018A999AB9A302D00113301400B0020262202813006003002235001222222222200A2350012201C23500122222222220092220032220012220023333300248811C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB10048811CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D8600330014891C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62F004881074D494E535741500048811C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816004881054F574E455200221233001003002222221233333001006005004003002300B22112225335001135003006221333500500C300400233355300700F0050040012200130092211222533500110022213300500233355300700D005004001300822112253350010052213300F30040023355300600B00400111001220023005221225333573466E20005200013005490103505436001533500213005491035054370022153335734602C0062004266A600C01000266E0400D2002253357380022C240026004444A66A00220044426A004446600E66601000400C00200660024444A66A00220044426A00444A666AE68C0500044CCC02001C01800C4CCC02001CCC028CCC02C01C00800401800C8C8C00400488CC00CC00800800488488CC00401000C88848CCC00401000C00854CD5CE2490350543100162215335001100200715335738921001622222222007220053704904D0F910B111110021B8748000DC3A40046E1D2004370E90031B8748020DC3A40146E1D200C0159030B590308010000323232323232323232323232323232322232323232323253353300A53353301322533500100B2213232325335533553335734603C002260286EB8D5D09AAB9E002153335734603E002026038402202626603600A00620066AAE74004DD51A801911000980200098081BAC35500222222222220091622153350011533533300D00C48811C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB10033301075C0066A00444400442A66A0022C4426A00444A66A0062A666AE68C07C004400858074580614CD4CCC02C028CCCD54CCD5CD19B874801800C4C848888C010014D5D09AAB9E00415333573466E1D2004003132122223002005357426AAE7801054CCD5CD180C0018990911118008029ABA135573C0082A666AE68C05C00C4C848888C00C014D5D09AAB9E0040152675C4C4C66601CEB8004D54008888888888801C854CD400458884D4008894CD400C400806C5844800458CC035D73AD13253335734602C6AAE740044C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C848CCCCCCCCCC00404C04403C03402C02401C01400C008D5D09ABA2002357420026AE88008D5D08009ABA2002357420026AE88008D5D08009ABA2002357420026AE88008D5D08009ABA2002357420026AE88008D5D08009ABA2002357420026AAE78004050DD51A801910011AAB9D00137546A00244002A666AE68C048D55CE800899198059ABA1001357426AE88004D55CF0008081BAA001100922333573466E3C00800402848800488C028894CD4004014884D4008894CD4CC02000801C4C0280044C01800C44880048488C00800C88C88C008DD58009803911999AAB9F00120092323300C33007300635573A002600A6AAE78004C010D5D10019ABA100200722123300100300230032233335573E002400A46466010A666AE68C02CD55CE80089919191919091998008028018011ABA1357440046AE84004D5D10011ABA100135573C00201260086AE8800CDD51ABA1002003120011220022323001001223300330020020012212233001004003153357389210350543100162216370E90001B87480081049FD8799FD8799FD8799F581CA973C89A73CAB8F6CC92282FCC7AA1C6E6879527569A327B044310CAFFD8799FD8799FD8799F581C191DBC015C48E52627F819F51E443A789049C09F0FFDED9BA0C379C4FFFFFFFFD8799FD8799F581CCA5D9E971BA87CE0CE333A464A8F7C1C6650B8A6A28C4DCCE53B566DFFD8799FD8799FD8799F581C28B8C1ADBEFB8692970A8A473D45C30DA47FAA716C7026B0ED362A76FFFFFFFFD87A80D87C9F1A0C6811001B00000002C8FC4394FF1A001E44F51A003D0900FFD8799FD8799F4040FFD8799F581CF43A62FDC3965DF486DE8A0D32FE800963589C41B38946602A0DC5354441474958FF1B00000252057C080F1B000002F7131E1C91D8799FD8799FD8799FD8799F581CAAFB1196434CB837FD6F21323CA37B302DFF6387E8A84B3FA28FAF56FFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFFD87A80FFFFFFD8799FD8799F4040FFD8799F581CF43A62FDC3965DF486DE8A0D32FE800963589C41B38946602A0DC5354441474958FF1B00000251BC73B9301B000002F6BBC134EED8799FD8799FD8799FD8799F581CAAFB1196434CB837FD6F21323CA37B302DFF6387E8A84B3FA28FAF56FFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFFD87A80FFFFFFFF0583840000D879808219A44D1A00C298B4840002D8799FD8799FD8799F581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9DFFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFF01FF821A002F1F1D1A29CF1628840100D87980821A0004555E1A03E8DE3BA100818258206153BBEC9B4213302D82CF4312E0B1B90A06F490D931E921C6A786703168DCB558409D65CC0B53A79095DE6A27F9BA06F38C96D4398735BA80EF8B311ED3816DF41EBD8A1D77AE17DE144B13804F7B542CB5F8BBC865916F0AEF8A653746653B580FA200838258203E5E0A1FB6EB9F9F525AC5AA8869E2B34566CA0B2C0F74821C8A9EFE8E44368B5840631133D0FB6DE8667B0CA88526C99D45D5DDED8B7CD3264873A462DC2ADC3C531DF047109EE5E951F694FF7102C42B261A7645E2EB48E8079045CEDA31F0550282582005E884CA7C466DF47785AF770BE8495EC0998E60EBE63E4CD187CD17EEAC5E925840FD495A062CBF09F72FF66524918E0B4093457082D549358A3538DF1F3880169DF57A6BD6BBAFD7D90F5C0457FDA65FD7E978EFABA4C8459639BE74EA775E7B0A8258208DDE4455D6B672AC5E1AD4669CE90D362EE46FC1EF2095B69FD958AA11C2A3F058407C62CF0C34077094474B5DBF55F26317F405E434C78F19414A8AE2C9363AD00BC5E4FEF22530502C49F3B7399D3ABD7133B62FB9A44F79EB1AC976278B4B180D0581840000D87A80821A0002E3421A033C1220A10081825820641E56A7CA1DD1B56E3FCFE3518A95F37407D70A38F918D2F6879976007FCC4858403C6E5D60D022989E094F7A3778816E7DDB883B57FF6CDEB8372CB9C7F017A06B9EA24863C482F70C7CB0EB1AAB4A6447298EB600413B0EFF1DDEADEB3C386705A100828258208D2A8AF120D3C1308D3C60EB3DD32B94AD224C9BE23D04483A45954D370629CF5840B4CE5F8A135D8ED494612F35250200E66438026C9C6D1806FAD760753DF1EDA8C7ED805C7FF16E88276177C150DE653E2B79DBF0A544F60CFA26B8E4852F32078258204D11CC82310BBF8C8C628A3AE0998F31024AC3C11F9436C3A0A384E7AA29A7095840D379D75B6ADDEFEA84A3035104F5090D59036F1A4178DF98B0C72B186665EA4FD9DDC3AAB400454E3CADF1D92B3F94065616DEB93FA31CA10F49FD32431C5F0FA400818258200303157375F23161027902ABFF500A6268C00A69F45F7BFE5ADBC2F70F15DF9458407D72EE1316F13E69FA2920B58828CAD54409E7F177504D59779D53051E89B238C71DB9FBBCA447CC31DAF6B0B44E701D6C451FAA969A46717D8A20C9B2161F02038259014F59014C01000032323232323232322223232325333009300E30070021323233533300B3370E9000180480109118011BAE30100031225001232533300D3300E22533301300114A02A66601E66EBCC04800400C5288980118070009BAC3010300C300C300C300C300C300C300C007149858DD48008B18060009BAA300C300B3754601860166EA80184CCCCC0288894CCC04000440084C8C94CCC038CD4CCC038C04CC030008488C008DD718098018912800919B8F0014891CE1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC133090014A0266008444A00226600A446004602600A601A00626600A008601A006601E0026EA8C03CC038DD5180798071BAA300F300B300E3754601E00244A0026EB0C03000C92616300A001375400660106EA8C024C020DD5000AAB9D5744AE688C8C0088CC0080080048C0088CC00800800555CF2BA15573E6E1D200201591E1B591E1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460CC0042646424446600200A0086EB4D5D09ABA25002375A6AE85400454CCD5CD1832801099091118010021BAD357426AAE7800C54CCD5CD1832001099190911198018028021BAD357426AE894008C0CCD5D0A80082E1119191A827911111A80391191111AA99A9824806108008B1119191A9A9A80103102D91191919191919191AA99A982A89119982D91299A99820A8071A80103409980200100088008008020B03C9111919191919191919191919191982A299A8050A99AA8100999AB9A3094013303A307908101330820106700B06706E0060063305433355307908101305C05A305953353502B2233500206E2071210011635014222222207A33054353501422208E0122350012322533355333500A2153335004215333500C2130054984C011261533350052130054984C0112603C04F15333500B2130044984C00D261533350042130044984C00D2603B153335003205003A04F153335003215333500B2130044984C00D261533350042130044984C00D2603B04E15333500A2130034984C009261533350032130034984C0092603A153350010700820108201070253335002215333500A21533350042133303A03B00200116161604E15333500921533350032133303903A00200116161604D04E33054330500153306F00B02733054330533306301602548008CC150CC14CCC18C02C0952002330543305333063001010002330543333084012222533500315335002135001222223305D3305C0053306C01402B3305D3305C0043306C01402A3305D3305C00300C3305D3305C0023306C0140193305C001304800D0910122153350041622153350071622153350081622133300C003001323232323232323533307D0050070272222225335330743305100248000CC1440052000161333335003235500B2222223501D222223501B22235051222223232323232323232323253353308B013308B013306E00848000CC1B802920003308B013306D00201E3308B0153353306E00A00315335330870100E07013308B013308A013309A010110703370066E0402800C060CC22804CC2680404411C0084CC22C04CC22804CC268040441C0060CC22C04CC22804CC2680404411C008CC22804CDC08050019984D008088070A99A998370041A802055008A99A99843808078380998458099845009984D0080883819B80337020106A008154020306611402661340202208E00426611602661140266134020220E003066116026611402661340202208E004661140266E04020D40102A804CC2680404403C4CC22C04CC22804CC2680404411C008CC22804CC268040441C0060CC22C04CC20C04048070CC2080404006C4C8C8C8CCCCC2C80400C008CDC019B800180050013370002E002A66A0082605466E0800C00840594CD400C4CCCC0A005406406005C520003370002E00866E0005CD40102A80458C27C04028D40082A404D40042A404D54CD54CCD5CD19B8900148000278044C94CCD5CD19B890014800027C044C94CCD5CD19B8900148000280044C28404CCC2EC0400C0080054CCD5CD19B8900400610041006350020AD0121001160B901350010B0015333573466E2400400C54CCD5CD19B880010031330A8010023370666E080080400444CC2A0040080104CC2A004CDC199B820040110100043370666E080040380414CD4CC1FC01C1A04CDC0998490081100399B80011010133092010220073370666E080040300354CD4CC1F40101984CDC0998480081000219B8000F00E133090010200042235500C2222223501E222223501C222350522222232323232323232323253353308B013306E00748000CC22C04CC1B4008074CC22C04CC22C04CC22804CC2680404011C008CC22804CC268040401C005CCC22C04CC20C0404406CCC2080403C0684C8C8C8C8CCCCC2CC0400C008CDC019B800180060013370002E002A66A00A2605666E0800C00840594CD40104CCCC0A405406406005C52000350020B301350010B60153353330690870100E01E1330AE013370002C00E02A26615C0202C66E0005401C58C27C04024CDC199B820010123370200400266604400600266E0CCDC0981219B803370400400466E08CDC119B82337049004241941E90680780200198600080199B824801120CA0F350050A70130BE01001350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4009200033086013306800101833086015335330820101906B13308501330950100B0193370000202426610C026610A026612A020160320026610A026612A020160D60246610C02660FC01802C660FA01402A2A66A6660C8104020120322666661540266E00044008CDC08080008078070068999998550099B810110013370002000401E01C01A2C66603E6A00614C026A00614A02002A66A66100020020D2266E04CC24C0408C004CDC0008808099849808118009A800851009AA99A99983003F00280A899985A00802806806099985A008020060069111A8019119985C80802802001911AA8061111111A80F111111A80E1111A82911111191919191919299A998440099835802240006611002660D80020086611002A66A66108020360DA266110026610E026612E0201A03666E00068050CC21C04CC25C04034014CDC08020008A99A99842008028368998440099843809984B8080680D80D19843809984B8080680299B8033702008002028266110026610E026612E0201A03603466110026610E026612E0201A00A66E04010004CC21C04CC25C040341B4050CC22004CC20004038060CC1FC03005C54CD4CCC1982100402C06C4CCCCC2B004CDC000980099B8101201A01101000F1333330AC013370202603466E0004800404404003C594CD54CCD5CD19B880190011309F013370066E0CCDC119B82002019483403CCDC119B81001019483283D200209E012100116350040A601350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4011200033086013308601330680030193306800201833086015335330820100906B133086013308501330950100B009337000060246610A026612A020160100042A66A66104020100D626610C026610A026612A0201601066E00008048CC21404CC2540402C02400C4CC21804CC21404CC2540402C02400CCC21804CC21404CC2540402C020008CC21404CC2540402C1AC048CC21804CC1F8030058CC1F40280544C8C8C8CCCCC2B40400800CCDC019B8101200700133700022002A66A0082604A66E0800800C40414CD400C4CCCC08C03C04C048044520003370202400866E0404000858C26804010CDC199B8200200E00D3370666E08004038030CC244040840F8888C8CDC199B820010033370066E0801120D00F0013370400290650791112999AB9A3371200890000A4000264A666AE68CDC48008028A4000264A666AE68CDC4800A400029000080099B833370400466E04004014CDC019B8200148028014C014CDC10018011192999AB9A33710004900004D808A999AB9A30A10100214800054CCD5CD1851008010A40042A666AE68C28C04008520021330010023370066E0C009200448008C254048894CCD5CD19B880010021330030013370666E00CDC1802000800A4008200426660F2002006046464A666AE68C27C04D55CE80089919191919191919191919191919091999998008050048040028018011BAD357426AE88008DD69ABA100135744010A666AE68C2B4040084C8C8488888CC01001C018DD69ABA135744A0046660F8EB9D71ABA15001153335734615802004264642444446600200E00C6EB4D5D09ABA25002375A6AE85400454CCD5CD18558080109909111118028031BAD357426AAE7801854CCD5CD18550080109919091111198010038031BAD357426AE894008CCC1F1D73AE35742A0022A666AE68C2A4040084C8C8488888CC00C01C018DD69ABA135744A0046660F8EB9D71ABA150010A101135573C00A6AAE74010CC1E1D71ABA100530743574200A60E66AE84014DD51ABA1001357440026AE88004D5D10009AAB9E0010970137540026A002104026A00810C0260C82446660D444A66A660B066606C0D46A004104026A03C1040266606C0A06A6A0040FC0EE05E266008004002200200202A60C82446660D444A66A660B066606C0A06A0040EE6A0200EE66606C0A06A0040EE05E2660080040022002002026666660F0660C602C044660C602C04203E660C602C02003C660A8660A0044607A008660A8660A0042607C008660A8024660A8A66A60C82446660D444A66A660A66AA03A104026A6A0040EE1040226600800400220020020260D6442A66A0020FE440DEA66A6660640A600490000998299981D183C840809984100833800A40042660A66607460F21020266104020CE0029000183800999B8100101D303D001333066059008010305333307F22322325333573466E1C010DC680488010A999AB9A308F0100415333573466E1D205A500313370290001980299B800044800800800400454CCD5CD19B885002481805854CCD5CD19B8950023370090302402426600866E0000D20023370066E08005201433702A00490300B099B8E0060014800120001533500400115335501A13335734611A026606860E60F6660F80C200A0C20D00022A66A0062A66AA0320022666AE68C23804CC0CCC1C81E8CC1EC18001018019C0044CCD5CD18460099819183883C9983D02F80182F833299A9983D91299A8008321109A80111299A9982B00101089834800898030019A9A99A983B03C00501083883610A99A8008B1109A80111299A8018A99A99827800A400420042C112022C666AE68CDC49982C800803240000C80BA6A0020D4A66A60B02446660BC44A66A66088A0226A0040D6266008004002200200200E2C0F8660CE02C6A00A0D460C2006A66A60A42446660B044A66A660826AA0160E06A6A6A0040D80CA0E026600800400220020020060B2442A66A0020DA440BA60BA0026A0280D4660B40020246A6A0080C80BE26A6A0020C20B4A66A609601C420022C2A66A660600040320BA266060002032603200E6068010464646A09C4444464646464646464660706606A00C0066607066068660A600C018660A6006018660706606E6608E6A6A66A60C60CA00401E0BC0B2660B601201090011981C1981F998188070009981C1981B9811800A40006607066068604201C60420026607066068604401C60440026606E604801C6048002660706606A60AA00A09666070A66A609024466609C44A66A60A26A6A0040C40B8266008004002200200200809E442A66A0020C6440A6A66A609024466609C44A66A60A26A0040B8266008004002200200260B000E09E442A66A0020C6440A666609A08000600860A40066A0020ACA66A608824466609444A66A660666A6A6A00E0BC0AE0C46A6A0040AE0C4266008004002200200260A80062C0D06A0100BA6A6A0020B00A6A66A608400C420022C603000C606600E4464646A09E44444A66A6A00E440A8426464646464646464646464646607E660700286660AA09000800C6607E66076014660B40060246607E6607E6607C6609C6A0040C00120106607E6606E6A0040BC6A01A0D26606C6A0040BE6A01A0CA6607E6607866AA60CE0D846A00244660CA00466AA60D40DE46A00244660D0004666A0026E012000700466E0000520000013304000B3500922330723306400233072330640010090540540033303F3303E3304E3535335306A06C0010160650603306200F00E48008CC0FCCC0F0C1700181494CD4C13C488CCC154894CD4C160D4D40081A418C4CC010008004400400400C1588854CD40041A888168C168014CD4C1A01A800C04CD40041754CD4C12C488CCC144894CD4CC0DCD4D4030194178D40081784CC010008004400400400C581BCC160004D403418CCCD4080178D4D4080188178004CC11800C004CC164020D4004170CC140004020D4D40041681554CD4C11001C8400458124C06401CC0D0020448004584D55CF0011AAB9D0013754004444A66A6600600400207809C46A0020B0246666666600204044A666AE68CDC38010008020A999AB9A3371200400203203044666AE68CDC400100081B01E802802001912999AB9A337120040022002200444A666AE68CDC4801000880108008881F11199AB9A3371000400207406644666AE68CDC480100081C81911199AB9A337120040020620706607C91100488100223333550023303F2233350050480010023500304222337000029001000A4000660784446006600400240026607666076E01200070246A0024444400A46A0020A246A0024407246A0024406C464A666AE68C140D55CE8008991919191981E2999AB9A305435573A00626464646464646464646464646464646464646464646424666666666600201A01801601401201000E00A00600460446AE84D5D10011980F1981DBAE2001357420026AE88008CC071D71ABA100135744016A666AE68C190D55CE804899191919827A999AB9A306735573A004264660A066038EB4D5D0800980D9ABA1357440026AAE7800817D4CCD5CD18339AAB9D001132330503301C75A6AE84004C06CD5D09ABA200135573C0020BE6EA8D5D09ABA200237546AE84004D55CF00482E1980C9981B019BAD35742014660300326AE84028CCC059D70029ABA100A33301575C0086AE84028CC054008D5D08051980A1192999AB9A306035573A0022646609260326AE84004C010D5D09ABA200135573C0020B06EA8004D5D08051192999AB9A305F35573A002264646660B060606AE84008CCC059D70029ABA10013303375C6AE84D5D10009ABA200135573C0020AE6EA8004CC045D73AD37546AE84004D5D10009ABA2001357440026AE88004D5D10009ABA200135573C006098A666AE68C15C0044C848888C010014C02CD5D09AAB9E00215333573460AC00226424444600400A60486AE84D55CF0010A999AB9A3055001132122223001005300C357426AAE7800854CCD5CD182A0008990911118018029BAE357426AAE78008130D55CE8009BAA357426AE88008DD51ABA100135573C0020906EA80048C94CCD5CD182800081E8A999AB9A304F00102B04735573A6EA800488C8C94CCD5CD18290008058A999AB9A3051001130193004357426AAE7800854CCD5CD18280008050241AAB9D00137540024464460046EAC004C10888CCCD55CF8009014119198239981C98031AAB9D001300535573C00260086AE8800CD5D0801020919118011BAC00130402233335573E002404C46608860086AE84008C00CD5D100101F91919192999AB9A305300211222203515333573460A4004220922A666AE68C1440084C8C848888888CC004024020DD69ABA135744A0046EB8D5D0A8008A999AB9A3050002132321222222233002009008375C6AE84D5D128011BAE35742A0022A666AE68C13C0084C8C848888888CC018024020DD71ABA135744A004603A6AE85400454CCD5CD1827001099091111111803804180E9ABA135573C0062A666AE68C1340084C848888888C014020C074D5D09AAB9E003045135573C0046AAE74004DD50009192999AB9A304A35573A0022646606660086AE84004DD69ABA1357440026AAE78004108DD50009192999AB9A304935573A00226EB8D5D09AAB9E0010413754002220582205444A66A00442A66A00442660240040020462A66A0024046068446A004446A006446666010008006004002446A004444446A00C44444A66A6601E01400A2A66A6601E0120082A666AE68CDC38040018A999AB9A3370E00E0042A66A00C42A66A004426A004446A004446A00A446A00444A66A666602E00C00A0040022A66A00E42A66A008426604800400206A2A66A006406A08C0680562A66A002405607805405405405444446466A00A466A0084A666AE68CDC78010008018121013919A802101392999AB9A3371E0040020060482A66A00642A66A0044266A004466A00446601200400244405444466A0084054444A666AE68CDC38030018A999AB9A3370E00A0042660220080020520520442A66A00240440664466A004466A00446601C0040024046466A004404646601C004002446A004446A00644A666AE68CDC780200109980780180081091199AA9815019180680191A80091199AA981681A980800311A80091199A800919805A40000020144660160029000000998030010009981280100A91199AB9A3370E00400202C03A44A66A00420020324466AA605205C46A002446604E004666A002466AA605A06446A0024466056004601800200244666010016004002466AA605A06446A0024466056004601600200266600600C004002444666AA605005C06466AA605205C46A002446604E0046010002666AA605005C446A00444A66A666AA6054064601A01646A002446601400400A00C200626606C00800602800266AA605205C46A002446604E0046606844A66A002260120064426A00444A66A6601800401022444660040140082600C00600800442444600200842444600600844666AE68CDC780100080800B9980E80080A11299A801012080091980E11199A8018128010009A80080F9192999AB9A303435573A00226464646466666042666016EB9D71ABA100433300B75CEB8D5D08019BAD357420046EB4D5D0800998051192999AB9A303A35573A0022646604660146AE84004CC035D71ABA1357440026AAE780040C8DD50009ABA1357440026AE88004D5D10009ABA200135573C0020586EA80048C94CCD5CD18199AAB9D0011323301C3005357420026600C0086AE84D5D10009AAB9E00102B375400246464A666AE68C0D00044C8C8C8C8C8488CCC00401801000CDD69ABA1357440046EB4D5D08009ABA2002375A6AE84004D55CF0010A999AB9A3033001130103004357426AAE780080ACD55CE8009BAA0012323253335734606600226424460020066EB8D5D09AAB9E00215333573460640022601E6EB8D5D09AAB9E00202A35573A0026EA800488C8C94CCD5CD18190008980798021ABA135573C0042A666AE68C0CC0040380A8D55CE8009BAA001222325333573460626AAE740044C8CC068C014D5D080098021ABA1357440026AAE780040A4DD5000911A8009119198131119A800A4000446A00444A666AE68CDC7801004898038008980300180298129119A800A4000446A00444A666AE68CDC7801003880089803001919A80081100211A800911A80111111111111999A805900B900B900B9199AA981101500B11A80091299A998090010020980C00180B805912999AB9A3371E6A0040346A0020342666AE68CDC39A80100B1A80080B001805003880B91180F11299A80088019109980300118020009299A800900B0019111A801111299A800909A8029111111111299AA99A999AA981001400A11A800912999AB9A3371E00401C2602C00602A0044260286A0020440244260240022C2C2006424460040066601444A66A0044200620020022018446602E44A66A00203C4426A00444A666AE68CDC78010038A99A8008111109A80111299A8018A999AB9A302D00113301400B0020262202813006003002235001222222222200A2350012201C23500122222222220092220032220012220023333300248811C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB10048811CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D8600330014891C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62F004881074D494E535741500048811C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816004881054F574E455200221233001003002222221233333001006005004003002300B22112225335001135003006221333500500C300400233355300700F0050040012200130092211222533500110022213300500233355300700D005004001300822112253350010052213300F30040023355300600B00400111001220023005221225333573466E20005200013005490103505436001533500213005491035054370022153335734602C0062004266A600C01000266E0400D2002253357380022C240026004444A66A00220044426A004446600E66601000400C00200660024444A66A00220044426A00444A666AE68C0500044CCC02001C01800C4CCC02001CCC028CCC02C01C00800401800C8C8C00400488CC00CC00800800488488CC00401000C88848CCC00401000C00854CD5CE2490350543100162215335001100200715335738921001622222222007220053704904D0F910B111110021B8748000DC3A40046E1D2004370E90031B8748020DC3A40146E1D200C01049FD8799FD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD87A80D8799FD8799F4040FF1A0DB489F4FF1A001E84801A001E8480FFD8799FD8799F4040FFD8799F581C2ADF188218A66847024664F4F63939577627A56C090F679FE366C5EE46535441424C45FF1B000000197F2DFB6C1B0000001C057179D7D8799FD8799FD8799FD8799F581CAAFB1196434CB837FD6F21323CA37B302DFF6387E8A84B3FA28FAF56FFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFFD87A80FFFFFFFF0582840002D879808219A44D1A00C298B4840001D8799FD8799FD8799F581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9DFFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFF00FF821A0027DD651A21324657A10081825820AD0AAEA4118ABCB6B05462B75627A02D8062C89519284371C0EEF89A6C14DD7F58400D71B3C39BDD278ECFC2F6488D08CCD89524F12D1C897D39102885F4B7DEEF9A4335219BBA759641DD4A6EC2878259C3F24868309EB902CABAB93B5FE81B860AA10081825820A493791AE24138C75A2184833624D05B92217CD2B66FC0822FFA6FEBBBC74F1B5840B730B514727078B3F3A34AFF51866B256A32549B80C9007D3B92644F107E245DDC8B4BDAEE529E277F1DCCA2FE4DDFC650A30873B9C06E592A83A8C8E7D8F70CA10082825820C5E6427373B64D1DB3C8234EA7A091AD737C13454FE21810C3B1E0A55A996F5B58404A584695D8B0E0AA0C08FD8F8080F328DBF8D68F80586D086299BC5447F3445B12A4B136FF78BD4CB2168AF4A1E018EDF5BB58EC842142DDC9C182253113C00A825820DBE399C3CE2752ED51DEB87AA41FEF5E8FB7B85770C1559FCDF1B86356C93C1F584081F6B1D83A0C7B0275B3612545D03EC8C34F906C2DDA3323DEC1DF51388206EE81B6034DFEBA60D6FB5527D0E5F4BFE48D6BBC8C57F2FB2E8FE4172B9F221902A100818258203BE82B0F10CB2B8BFCE43A46477C82BD27F5CF5447E5638067CEADFB6562682A58402D36BECFA98428D066107B393791538DB728D1D15AFE90F650658A18B68213B28469631F56950C5B0673777B8087089431F63778ADEE48AE4B78D23390608406A300838258205424FA10BA83C95C33714C420479C19183A7274E7C1D4161D173842C245B340C5840C2B18289C97E300169F530B1740A19D819DB3E6B144E0D9F3D9951F16E872A4137B48F1C5502129F70CE83A391798B501C104702EB843B0EEF4093E2B48DAB0C8258202DECD7E52458014264CB7C336E08824E1BDC31333AEAEB94A9A8FA7F1CAF6A275840AE0C0A7995755C9F8905B107E43BFE33D994446D4968C31AB5637FDB878D5B0F3B502A2E9F2E7F061C82C8D9BA1DCF8FAA9F59A8F4B3C8774D93C820020DF50C825820B8E42073D9E396D36FEF3EFAAD33FA6C9D57F0E814FEB2F8B13F1785779B1B3D5840D188E82FF16027F3487831E7D0964123A5AF2D056EE9A3299F6E74A29B5A60381476F72B0BB8709323035D011A15C35117A68F90B2AE3769209DEFF4561F520701818200581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67E0581840001D87A80821A000A09041A09DE870BA10081825820AB5638897CBCF6FF1C1CC0767BABD7FDACB6337D222637BD9117A602B124EB865840F111258B61E0654F10330EC510C1CB706B5F81C96541745F710C510559DD2E3004953D1E53A61279F85BD81E22784471B0DC104C673E87FB4ED1CB35631F9F0AA10083825820E2FA3E626895D6D4CFE2EF3DBEC513CCAEB8413D823C46AE3208FCE9C874F0935840341896024A67E76F1DE9FD00D07E680E7B20C21677EFEE35DF6203D6E4C9DD5E4A3DC9740AAB0DA8815C28AE7A2CF269E2638DB20681F85E9BE92D14B86858018258206CE613BA27D4AE20F2EFFBD0F140391E886F45A0514B05FBC162797792E8ADD758402CF9A6E737898FDF562AC9C598BF5F51BB8B04025736E1C0DE67ECBF84DA8C1C6F8D3D3CC26CD5CCCCF4DAACE615E7054FACED581AC2AA4EDD4E42038C52D307825820D1C66156CB49062EFB4C0E84F1D5EF341D2C1DE6145EF3EA7C3EB2EAD517D69D5840C8C1D108763006A985E1A8195A1D1498821E10A60F2EA9A32D6373CA848C7879849E0849FDF344E85754948168F6FFAD3E8C27A63022EA87C4E459FD90983509A20082825820F44CE6186D190F8776FD871D753DF7AE503972E4793A2360A423D2F96021E6015840AE1B386055C67618A90E9E4E3E4EF32EFAEEBD0EF250C2D6B8E5A143101DA5FF759A9B72560781922DF05622ACFB270F14C5EEFA7F92624A05943309B111200D82582063179F731829D60AADE12A1398C07B7A905CC38E7D9901850C9B186946F5CA3E5840E8A5C3A82A3A8B875A0071C5C67E814258D9FF5A076363A5B0378C257CC25E4EE13F9EF7BC88941C83C99E4D8733C15EDBC9510D216FE59B2284B6F0E6C2DE010585840001D87980821A000CD26E1A1353F9A1840003D87980821A00011EFA1A01877AA6840002D87980821A00011EFA1A01877AA6840004D87980821A00011EFA1A01877AA6840005D87980821A00011EFA1A01877AA6A100818258206C0180DB688A9E477B10A7792E3C4EFD749CDDBE0E05068B6CB586DEE54056975840F1E23A11023A6E899C629F734DF02E465C07920009DA4D14CAD8A1E08C0A1D9DD9FBBD2466C82AA37C4527F8297DA9366A921B23A280B2990B4B51D40853630CA20081825820195D50C57556DB660A05490A189B44E35792178D30B51559FE11E84B8307FE9958401529F76C1E9B74EDBA4662815A58BF2340D4AA0F16080901FA4D0923D14FBD1BBBC4DFD675268054DE31C6915776FD72C4B05A6F55389411B7A7AC768DCA7C08049FD8799FD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD87A80D8799FD8799F4040FF1A11A57764FF1A001C8D761A001E8480FFFFA10082825820C85A60EEDB74667C9E96D540D39E171F36F8823FEB7763695504380DAE7571505840AA5E8D33D16944617A79040251257631D6E5F01FF96E10B026EE524E5504204FAACA4768ECF148C9EF161562BA42C9290C6EA87D5C7314E55E39CCBB1238C803825820EAB4F01540F4894D70494A9D7E6027123A15A6BDFFA37C9D2FD9336BC4E704D35840451A87230714B035E3A00006C591B682F4180E202D163E10A0EC22D9822FD4903A75A9507C64517DBE35C8401E4A774BE474D84D208540038ED22BC525E1C901A30081825820C9ED443C114A83D7BC435A0F5BC6336BC5233CECDD1EEDE2B718E63521A272C75840CE6D1F9309A8A31142D3D819193B67C96CA5B94D95AF8B5DC0E669EDEAEADC388D8ED5F67B47B791A3E279B9325C2BFBFE8963B94BA7E9A1EC61A7A46441B00906815903A259039F0100003323232323232322232322533300632323253330093006300A3754002264646464646464A666026602C00426464A66602466602466E3CDD718098019BAE300130143754022941288B0A999809180798099BAA01013233001001375860306032603260326032602A6EA8048894CCC05C004528899299980A99191980080080591299980D8008A5013253330193371E6EB8C078008010528899801801800980F0009BAE301A00213300300300114A060340022A666024601E60266EA8C8CC004004024894CCC05C004530103D87A80001323253330163232533301B00114A02A666036603C00226464A66603466E3CDD7180D8011BAE3004301C37540322A66603466E1C0280044CDD79804980E1BAA006301F302030203020301C375403229405281BAD301B001301D00114A0660146EACC004C064DD50019BAE301C301D301D3019375402C46038603A002266E9520003301A0024BD70099802002000980D801180C8008A511623017001375A60240022C60280026600264660020026EACC050010894CCC04C00452F5BDED8C0264646464A66602866E3D221000021003133018337606EA4008DD3000998030030019BAB3015003375C6026004602E004602A0026EB8C04CC040DD50031119299980819B8748008C044DD50008A5EB7BDB1804DD5980A98091BAA001323300100100322533301400114C0103D87A8000132323253330143371E00C6EB8C05400C4CDD2A4000660306E980052F5C026600A00A0046EACC054008C060008C058004DD618089809180918091809000980898088011BAC300F001300F300F300B37540042C601A601C004601800260106EA800452613656325333005300200115333008300737540062930B0A99980299B874800800454CCC020C01CDD50018A4C2C2C600A6EA8008DC3A4000AE6955CEAAB9E5573EAE815D0ABA24C01F1D8799F51576F726C644D6F62696C65546F6B656E5850776F726C646D6F62696C65746F6B656E581C1D7F33BD23D85E1A25D87D86FAC4F199C3197A2F7AFEB662A0F34E1ED8799FD87A9F581C7815664DDCF92F023C9F6E7E0792D6B2F733282486993613E549D8B6FFD8799FD8799FD87A9F581CE2667F1ABA5F840845F1DFB453764A774C2B67DD7C0D968C5C172480FFFFFFFF9F581C4C0B87C21190AD6F6144D0609761A8AF515EFD3FABCC8D929D63E9E3581C1423D22EA96D09B88162B1B7A9A88DF1BFC2AEC37CD805428D6A0D33581CFD82C56701320BE6ACB42F8BA7590A5E207325ADC3ED61112901463FFFFF00010581840100D87A80821A00016AEC1A01DA2547A200818258202B3A86403E846DF1C4417562A1C94010F01CA5566864BA5A5017D48682B5468A58406B0C3620443405459B7E83395E801B95ADCA4D0772A990358035654263519737DDEFB3EB6CC569C0E1B4CE6D88CED3EF135732C35A636E1698DBA5D50C7FA8070581840000D87A80821A000F42401A11E1A300A200818258202B3A86403E846DF1C4417562A1C94010F01CA5566864BA5A5017D48682B5468A5840AD1BD3838CC8AB4B43150497E908341405468249694566137013B610487BD1E8BAB5ECB777E03E959ABC665D087E369CC4C2FEC5A987E055C2CB142712D9A107049FD8799FD8799FD8799FD8799F581CAABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4FFD8799FD8799FD8799F581CDE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D4FFFFFFFF4040581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC9244579756D6D691A01515B46D87A801A00286F90FFFFFFA400818258202B3A86403E846DF1C4417562A1C94010F01CA5566864BA5A5017D48682B5468A58409D5257D9F2F0FB1ED7A978754F350484C9E15A0C54F52A5C6C7B793227D1B847B392ADEFED84D04A497C7FD25C641EFE9600B3169518D0754C88890212FD4102038159084959084601000033233322232332232333222323332223322323332223233223233223332223333222233322233223322332233223332223322332233322232323232322222325335300B001103C13503D35303B3357389201035054350003C498CCC888C8C8C94CD4C05C0144D4C0680188888CD4C04C480048D4C0ED40188888888888CD4C078480048CCD5CD19B8F375C0020180440420066A6040006446A6048004446A605000444666AA60302400244A66A6A07C0044266A08C0020042002A0886466A002A088A08A2446600466A609000846A0820024A0806600400E00226A606CA002444444444466A6032240024646464666AE68CDC399991119191800802990009AA82C1119A9A826000A4000446A6AA08A00444A66A6050666AE68CDC78010048150148980380089803001990009AA82B9119A9A825800A4000446A6AA08800444A66A604E666AE68CDC7801003814814080089803001999AA81E3AE335503C75CEB4D4C084CCCD5CD19B8735573AA006900011998119ABA1500335742A00466A080EB8D5D09ABA2500223505135304F33573892010350543100050499262220020183371491010270200035302801422220044800808007C4D5D1280089AAB9E500113754002012264A66A6A070601A6AAE78DD50008A81A910A99A9A81D0008A81B910A99A9A81E0008A81C910A99A9A81F0008A81D910A99A9A8200008A81E910A99A9A8210008A81F910A99A9A8220008A820910A99A9A8230008A821910A99A9A8240008A822910A99A9A8250008A823910A99A9A82600089999999999825981000A18100090080071810006181000500418100031810002001110A8259A980A1999AB9A3370E6AAE754009200023301635742A0046AE84D5D1280111A8211A982019AB9C490103505431000414992622002135573CA00226EA8004CD40148C8C8C8C8CCCD5CD19B8735573AA00890001199980D9BAE35742A0086464646666AE68CDC39AAB9D5002480008CC88CC08C008004C8C8C8CCCD5CD19B8735573AA004900011991198148010009919191999AB9A3370E6AAE754009200023302D304735742A00466A07A4646464646666AE68CDC3A800A4004466606A6EB4D5D0A8021BAD35742A0066EB4D5D09ABA2500323333573466E1D4009200023037304E357426AAE7940188D4154D4C14CCD5CE2490350543100054499264984D55CEA80189ABA25001135573CA00226EA8004D5D09ABA2500223504E35304C335738921035054310004D49926135573CA00226EA8004D5D0A80119A81CBAE357426AE8940088D4128D4C120CD5CE249035054310004949926135573CA00226EA8004D5D0A80119A81ABAE357426AE8940088D4118D4C110CD5CE249035054310004549926135573CA00226EA8004D5D0A8019BAD35742A00464646464646666AE68CDC3A800A40084605C646464646666AE68CDC3A800A40044606C6464646666AE68CDC39AAB9D5002480008CC88CD40F8008004DD69ABA15002375A6AE84D5D1280111A8289A982799AB9C491035054310005049926135573CA00226EA8004D5D09AAB9E500423333573466E1D40092000233036304B35742A0086EB4D5D09ABA2500423504E35304C335738921035054310004D499264984D55CEA80109AAB9E5001137540026AE84D55CF280291999AB9A3370EA0049001118169BAD357426AAE7940188CCCD5CD19B875003480008CCC0BCC11CD5D0A8031BAD35742A00A66A072EB4D5D09ABA2500523504A353048335738920103505431000494992649926135573AA00626AE8940044D55CF280089BAA001357426AE8940088D4108D4C100CD5CE249035054310004149926135744A00226AE8940044D55CF280089BAA0010033350052323333573466E1D40052002201623333573466E1D40092000201623504035303E335738921035054310003F499264984D55CE9BAA001002335005200100112001230023758002640026AA072446666AAE7C004940C08CD40BCD5D080118019ABA2002498C8004D540E088448894CD4D40BC0044008884CC014008CCD54C01C48004014010004C8004D540DC884894CD4D40B400440188854CD4C01CC01000840244CD4C01848004010004488008488004800488848CCC00401000C00880048848CC00400C00880044880084880048004888848CCCC00401401000C00880048848CC00400C00880048848CC00400C00880048848CC00400C00880048488C00800C888488CCC00401401000C800484888C00C0108884888CCC00801801401084888C00401080048488C00800C88488CC00401000C800448848CC00400C008480044488C88C008DD5800990009AA80D11191999AAB9F0022501223350113355008300635573AA004600A6AAE794008C010D5D100180C09ABA10011122123300100300211200112232323333573466E1D400520002350083005357426AAE79400C8CCCD5CD19B87500248008940208D405CD4C054CD5CE24810350543100016499264984D55CEA80089BAA00112122300200311220011200113500D35300B3357389211F556E6578706563746564205478496E666F20636F6E737472756374696F6E2E0000C498888888888848CCCCCCCCCC00402C02802402001C01801401000C00880044488008488488CC00401000C480048C8C8CCCD5CD19B875001480088C018DD71ABA135573CA00646666AE68CDC3A80124000460106EB8D5D09AAB9E500423500C35300A3357389201035054310000B499264984D55CEA80089BAA001212230020032122300100320012323333573466E1D40052002200823333573466E1D40092000200A2350073530053357389210350543100006499264984D55CE9BAA0011200120011261220021220012001112323001001223300330020020014891C0029CB7C88C7567B63D1A512C0ED626AA169688EC980730C0473B9130001049FD8799F420203D8799FD8799FD8799FD8799F581CAABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4FFD8799FD8799FD8799F581CDE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D4FFFFFFFFD87A80FFD87A80FF1A002625A0D8799FD87A801A001494FDD8799F1A0393295BFFFFFFFF0581840000D87A80821A000F42401A11E1A300A200818258202B3A86403E846DF1C4417562A1C94010F01CA5566864BA5A5017D48682B5468A5840FAD41C345C091208A38F71286577836B2D85BF555FFF549D32596E9B87FBBE729F4288D7CA90F38A552A5CA2D6769AFDA3246ABF6131790961CBBCCB4A94DD0E049FD8799FD8799FD8799FD8799F581CAABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4FFD8799FD8799FD8799F581CDE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D4FFFFFFFF4040581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC9244579756D6D691A02F6D99DD87A801A00286F90FFFFFFA100818258205F8BDA213103EA2E2C2DAEB31C9C41FB867C4B081C1F6CFECD02C2F33B884D295840C7D138F04F86680F57258F9CE4F0B5FF0BF15220B19BF458484A279D39007096BA9FEFBD9FDA57678ABC7350F264E23762F2DA6039FA13B4341E2237882EA107A10081825820BF87EF5205BA1E2E861988D3DBFDEBDE43D211553B9FBDD261D342DEDAED82005840340A183A54962D42E885B03550161C56812C498E54350BC6C831DCEFB36B1067388E7BD59E0426CF5FED77D7B6F9D47C33CF9885FB855F821F8909CF3F08DB09A1008182582025308E694E1438CAF4DA40DA2B0E0FC8E65C5202B923BC23AB9C56841D0600235840E0258454F44D3E40D066DB9D5ADE0DC4DDAD56C1F1516B13A659AEC35C440222C1EF95F4B5976FB04B4490ACC8F77544330A363EF53D87370FB9E770B4E56E0EA20081825820195D50C57556DB660A05490A189B44E35792178D30B51559FE11E84B8307FE995840FF18EBF4E15DA8D591F0C344063E8E65661AC7EC730F66DCE85412D4220C4EF075667CFF1213088A450BB93BCD0710EC9D5B3E39D1CDB2EC59DD3197B841670D049FD8799FD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD8799FD8799F581C9C9DF83D584CDA0EC6DD7403D96695B46AAF29E1CD19CB3BCBF3AA74FFD8799FD8799FD8799F581C534DAF04A5F231A5F82EC4EF9ECDD5C60E82FE849CD0D60A8DF279ADFFFFFFFFD87A80D8799FD8799F4040FF1A035C8B98FF1A001C8D761A001E8480FFFFA10083825820EBF5856DBD55B5A3E821B64DE72F97E1E12338317059F58A145B696A1228CD8E5840A49733CEE2CD1D0AE8E59929E0938A239469BC51D9AEB36B4C99AFB57E811244A90D63ABC67CFE5E77D94C86991EF4B06F062CA97AE16A06BB06D3DAD4513D0B8258201EAF8839BCB1C12D9EDA4A45BB147BB3EE27FA7BA33B180FB9900B2A9B4BD063584081B6FBF7542972268A23200B7943E5BD97D7C071566FB1B31E1CC8D152F4A3A2013E69A4A20DCB35532EC703EA1225C0E0D30235EE10397E0876C92105402500825820AE996E0FF56529FC11045AA901B4CD6F3D1A9150C773FB693CD809E2954E46975840E4B7767D0F29535214555DCB918C7C4B2EDD95607A303E72C4B1778D5300953367B6FEF39985A3F674D1D3A3925BB96904DA841A708ACC0B58684A3A7CEE050FA20081825820E97B61F9217E124797F591549FFF8827742086E25326EB83B2716678A92479775840CF1A868F5A3CF17062C9A427A110C174C014E444F4A35C5BAC24F7EC07B7E00E4649BA7532C703625B0E74A209BFB734A3DBC2B30C7331FCBB51B85A82CE8C010581840000D87E9F00FF821A000717761A088CEB18A10082825820D62C79ECDD6E11A7FF5CFC1FB4EDC395921D3DE147E2A324D19385E7A443877D5840EB202D2DFDEFA34D36D1399B5F9958B345E88FE1CA513A4D0975A9E8D12D70DC6441D8DF0B6517B2B9D2DFC84FB017DF353558DF05302459FD461DFBDE50630E825820E2BF60C6A66662AA6A97A2EB24B7BB732201BC566C0E208D34807E110569427B584004BE267029275B49CD706817AFD210A13DBBF83202E5AD99466E55454203FFF661B9F2EB8E2E82FC0FC4F9314E7A4985E6F861BA236A9902C2F21F6EC4C4EF0FA1008182582040FD97949F8B3B1E5E2EA10980B149C1965662A90CFE5C4BEED0AEE34BB6E18E584013507B982FE2356F7C996B0BB69C23709965B7E45C90AB8B9D194794E986B426D5AD16848EF0777A349A1D2547394BD6CF2B33341DF906E86BEC6C40B642C305A4008182582075061BDCA58BE80622C5793E283EDCEC25E866D61E3E2FAA4D62EE3171DDEE96584001776D16286E00A1BEB84241E3E815A9F96976E263D48A153A28BB7C1293050DC86F030D19733EE8E703D21F26F1ACEE48291FC7F9A5919B1D4B1CCB24A5D501038159014F59014C01000032323232323232322223232325333009300E30070021323233533300B3370E9000180480109118011BAE30100031225001232533300D3300E22533301300114A02A66601E66EBCC04800400C5288980118070009BAC3010300C300C300C300C300C300C300C007149858DD48008B18060009BAA300C300B3754601860166EA80184CCCCC0288894CCC04000440084C8C94CCC038CD4CCC038C04CC030008488C008DD718098018912800919B8F0014891CE1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC133090014A0266008444A00226600A446004602600A601A00626600A008601A006601E0026EA8C03CC038DD5180798071BAA300F300B300E3754601E00244A0026EB0C03000C92616300A001375400660106EA8C024C020DD5000AAB9D5744AE688C8C0088CC0080080048C0088CC00800800555CF2BA15573E6E1D2002010481D8799FD8799FD8799F581CD829E2C95C2DC8EA617AEE2DE93FBDE74FEDA585B7CF0D47149594C3FFD8799FD8799FD8799F581CDF7E4AC96E421B7F6AF92F311C9446BF87D9FF77EC44AC9D1B34ECE2FFFFFFFFD8799FD8799F581CD829E2C95C2DC8EA617AEE2DE93FBDE74FEDA585B7CF0D47149594C3FFD8799FD8799FD8799F581CDF7E4AC96E421B7F6AF92F311C9446BF87D9FF77EC44AC9D1B34ECE2FFFFFFFFD87A80D8799FD8799F581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC9244579756D6D69FF1A00344845FF1A001E84801A001E8480FF0581840000D87A80821952081A007A1200A30082825820CDAE2D7278A179C04A26771BC490741E9AB5EC3CA427D4572C75F43BC2CFE9275840E80E2FDB8ACAE5DC114D5D19008A6A28AD69B4022FB65D988439F282F47F956A207D5E95D58B65CEA7ADFEFF541FA52600C1C15A910C69C053F16E32A72FFE01825820EA1D859056251E73132D8F7AA92F2EFE28154765EC7FE44FD42C62A928E1722D5840D6AFE9A755E8B3BA87CD24271F2563EEFB9EFD85D2423659173EF83870BEB7C2AB9FD28F6C850336791A15F56D8964474205CC58FDAA84C08159A16D72DF240105A282000182D87A9FD87A80FF821A0006AE961A084ECB4082030082D87A9F01FF821A0007034A1A08DF153D06815910FC5910F90100003323232323232322322323232253330083232323232323232323232323232323232323232323232323232325333023301F3024375404026464646464A666050604860526EA80044C8C94CCC0A8C048C0ACDD500089919192999816981418171BAA00113232323253330313371201A0022A6660626666022603860666EA80580740780804C8C94CCC0CCC0BCC0D0DD5000899299981A19BAF302C303637540026072607460746074606C6EA806454CCC0D0CDD7980F981B1BAA0014C107D87B9FD87980FF0015332330353371200864A66606C6062606E6EA8004520001375A607660706EA8004C94CCC0D8C0C4C0DCDD50008A6103D87A8000132330010013756607860726EA8008894CCC0EC004530103D87A80001323232533303B3007375C60780062603C6607E6EA00052F5C026600A00A0046EB4C0F0008C0FC008C0F4004C8CC004004DD59810181C1BAA00322533303A00114C103D87A80001323232533303A3006375C60760062603A6607C6E980052F5C026600A00A0046EACC0EC008C0F8008C0F000454CCC0D4C0C401854CCC0D4CDC38088028A99981A9919BAF374C6600204E910100374C6466002002660046EACC084C0E4DD5007A450022533303B00114BD6F7B6300991981E99BB037526EB8C0E8004DD319198008009BAB303C00222533303E00114BD6F7B6300991982019BB037526EB8C0F4004DD419B8148000DD6981F000998018019821001182000099801801981F801181E80091191980080080191299981E0008A5EB7BDB1804C8C8C8C94CCC0F4CDC7803801080189982099BB037520046E98004CC01801800CDD5981F0019BAE303C0023040002303E00114A22C2C26464646464A66607466EBCC0C8C0F0DD500119BA548008CC0F8DD4806A5EB8054CCC0E8CDD780219191919191918119982218228031982218228029982218228021982218228019982218228011982218228009982218229823000998221BA83370202003897AE030450013044001304300130420013041001303C37540202A66607466EBCDD30009BA63232323330010013756604E607E6EA8054C94CCC0F8C0E800452F5BDED8C0264646600200297ADEF6C6022533304400113304533760981014000374C00697ADEF6C601323232325333045300A3300B488100002133049337609801014000374C00E00A2A66608A602200426609266EC13001014000374C00E00626609266EC0DD48011BA6001330060060033756608C0066EB8C110008C120008C118004C8CC0040052F5BDED8C044A66608600226608866EC13001014000375000697ADEF6C60132323232533304430093300A488100002133048337609801014000375000E00A2A666088602000426609066EC13001014000375000E00626609066EC0DD48011BA800133006006003375A608A0066EB8C10C008C11C008C114004CDC0A4000032444A6660840042002264666008008608C0066644646600200200A44A66608E00226609066EC0DD48021BA60034BD6F7B630099191919299982418069980700400109982619BB037520106E9801C01454CCC120CDC78040010992999824982298251BAA00113304D337606EA4024C138C12CDD50008020802192999824A9998260008A5114A0298103D87A80001302C3304D374C00297AE032333001001008002222533304E0021001132333004004305200333223233001001005225333053001133054337606EA4010DD4001A5EB7BDB1804C8C8C8C94CCC150C064CC0680200084CC160CDD81BA9008375000E00A2A6660A866E3C0200084C94CCC154C144C158DD500089982C99BB0375201260B460AE6EA80040104010C94CCC154C144004530103D87A80001303833059375000297AE03370000E0022660B066EC0DD48011BA800133006006003375A60AA0066EB8C14C008C15C008C154004DD718268009BAD304E001305000213304C337606EA4008DD3000998030030019BAB3049003375C608E004609600460920026EB8C104004DD5982100098220011BAF4C103D879800022533303C33720004002298103D87980001533303C3371E0040022980103D87A800014C103D87B80001533303A3301B3758607E60806080608060806080608060786EA807C8CDD79812981E9BAA003301E3303F301E3303F0014BD7025EB805288B0B0B0B1BAB303E303F002303D0013039375460700046070002602E0506E3D2201001616163038303537540022C6602004A01866E04034C8CDC199B8200E375A606664A66606C60726072002266EC0C0E0004C0E0C0E400458DD61800981A1BAA017375A606864A66606C60726072002266EC0C0E0004C0E0C0E400458DD61800981A1BAA0172303730383038303830380011616375A606A606C606C606C606C606C0046EB4C0D0004C0D0C0D0C0C0DD50021BAE3032302F37540022C6048605C6EA8C090C0B8DD50021807800981798161BAA001163014302B3754002602460546EA8C0B4C0A8DD50008B1980280E9BAD302C302D002375A605600260560046EB4C0A4004C094DD50100992999812181018129BAA001132325333026300E30273754002264646464646464646464646464A666066600200A2A66606660020062A66606666EBC028C8C8C8C064CC0E8C0EC00CCC0E8C0EC008CC0E8C0EC004CC0E8DD40041981D1BA80063303A005303C303C303C303C001303B001303A0013035375401A264A6660686060606A6EA800454CCC0D0CCCC050C0E4C0D8DD50008100108118A99981A19BAF009302C30363754020266EBCDD3004180F181B1BAA01014A02C2C607060726072607260726072606A6EA803458585894CCC0CCCDC4A4000002266E2400520A09C0114A0606C606E0046EB4C0D4004C0D4008DD6981980098199819981998179BAA004375660626064004606000260586EA8C0AC008C0AC004C02806CC02C004C0ACC0A0DD50008B180818139BAA001300E302637546052604C6EA800458CC004064DD6981418129BAA0203001001222533302700214C103D87A80001323253330263022003130093302A0024BD70099980280280099B8000348004C0AC00CC0A40088888C8CC00400401488C94CCC09CC08C0044C8C8CC004004020894CCC0B4004528099299981599B8F375C606000400829444CC00C00C004C0C0004DD7181618149BAA002153330273022001132330010013758605A60546EA800C894CCC0B000452889929998151980300318178010998018018008A50302F00115333027300F0011330083758605860526EA80088CC01001000454CCC09CCDC3A400C00226466E24DD69816800991998008009BAC302E302F002480008894CCC0B800840044CCC00C00CC0C40094CCC0ACCC01C01CC0C00084CDC0000A4004200260526EA800854CCC09CCDC3A401000226464A666052604860546EA80044C94CCC0A8C94CCC0B8C0B400454CCC0ACC098C0B00045288A999815981398160008A5016163754602860586EA8C050C0B0DD5004099B890010031337100020066EB4C0B8C0ACDD50008A503020302A3754602460546EA8018DD6981618149BAA002153330273370E9005000899192999814981218151BAA001132533302A32533302E302D0011533302B3026302C00114A22A666056604E605800229405858DD5180A18161BAA3022302C3754010266E2400C0044CDC40018009BAD302E302B37540022940C080C0A8DD5181018151BAA006375A605860526EA80084C8C8CC004004018894CCC0B4004528099299981599BAF004302C303000214A2266006006002606000260146605666E9520023302B302C3029375400497AE04BD7018139BAA00122323300100100322533302600114A0264A6660486008605200429444CC00C00C004C0A40048C94CCC080C070C084DD5000899192999811180518119BAA0011323233760008004600E002604E60486EA800458C030C08CDD5000981298111BAA00116533302200114C103D87A8000130023302330240014BD701BA54800094CCC074C064C078DD5000899191919191919191919191919191919299981818198010991924C64A66605E605600226464A666068606E00426493180B8008B181A80098189BAA0071533302F302A001153330323031375400E2930B0B18179BAA00632323232375C60660066EB8C0C4008C8DD718190019BAE3030002323376060680026068606A0026EB0C0C0038C8CDD818198009819981A0009BAC302E00D16375A606200260620046EB4C0BC004C0BC008C0B4004C0B4008DD6981580098158011BAD30290013029002375A604E002604E00464A666048604E604E002266EC0C098004C098C09C00458DD6181280098128011BAE3023001301F37540022C6464646464A666046604C004264A66604266E3CDD7181100100F8A99981099BAF374C0029810BA14873657474696E677301001325333022300A3023375400226464004A666046603E60486EA80044C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C94CCC0F8C1040084C8C8C8C8C8C8C9263302A01123027001325333041303D0011323253330463049002132498CC0B00048DD70008B1BAC3047001304337540262A66608260780022A66608860866EA804C526161630413754024646EB4C108050DD69820009981100A181180A981000B181080B8B181F800981F8011BAD303D001303D002375A607600260760046EB4C0E4004C0E4008DD6981B800981B8011BAC3035001303500230330013033002325333030303330330011337606064002606460660022C6EB0C0C4004C0C4008C0BC004C0BC008C0B4004C0B4008C0AC004C0AC008C0A4004C094DD50008B181398121BAA00116300C302337540082C2C6EACC08800458C090004C090DD5980418101BAA0013007301F375460446EB0C08804894CCC074C064C078DD5000899191919299981218138010991924C64A666046603E00226464A6660506056004264931929998131811000899192999815981700109924C601A0022C605800260506EA800854CCC098C0840044C8C8C8C8C8C94CCC0BCC0C800852616375A606000260600046EB4C0B8004C0B8008DD6981600098141BAA00216302637540022C6052002604A6EA800C54CCC08CC07800454CCC098C094DD50018A4C2C2C60466EA8008C01800C58C094004C094008C08C004C07CDD50008B119299980E980C80089919299981118128010A4C2C6EB8C08C004C07CDD50010A99980E980C00089919299981118128010A4C2C6EB8C08C004C07CDD50010B180E9BAA00130010012232533301C30180011323253330213024002149858DD71811000980F1BAA0021533301C30170011323253330213024002132498CC01C0048CC01801800458DD61811000980F1BAA0021533301C30040011323253330213024002132498CC01C0048CC01801800458DD61811000980F1BAA0021533301C3370E90030008991919192999811981300109924C660120024660100100022C6EB0C090004C090008DD69811000980F1BAA0021533301C3370E900400089919299981098120010A4C2C6EB4C088004C078DD50010A99980E19B87480280044C8C94CCC084C09000852616375A6044002603C6EA800854CCC070CDC3A401800226464A66604260480042930B1BAE3022001301E37540042C60386EA8004DC3A400844646600200200644A66603C002293099198018019811001180198100009180E180E8009180D980E180E0009BAC3019301A002301800130180023756602C002602C602C0046EACC050004C050C050008DD61809000980900098088011BAC300F001300B3754600260166EA80088C038004526136563253330073003001132323232323253330103013002149858DD6980880098088011BAD300F001300F002375A601A00260126EA801054CCC01CC0080044C8C94CCC030C03C00852616375A601A00260126EA801058C01CDD50019B8748008DC3A40006EB80055CD2AB9D5573CAAE7D5D02BA157449811E581C6D9D7ACAC59A4469EC52BB207106167C5CBFA689008FFA6EE92ACC500001A1008182582036571993DAFAFEAEE56FFE8FF1A5A793EC12272E37246BEE4BCBCFF67EAAF1B75840C74AEE0EBB599867522F376F057B4B9A64B914DE01BCC13F65D97CFD8585DA9F4DCE9DC4D8041CED0B0166EAAB3B2F1D16E02E0F9722FB2BE70BEEC6EECB5600A20081825820A70AB20F4E80CC00A87BD03D5DD7675259FF1B1C2C9F33672287BEE60BF06A6F5840EF470C7F50075A8B15A451AAE6527A1595014CB797FB3416675F80857FDD0EB6CC273957F127B48B2F489C76DF403A16FD6685B20F08B4F0FF157215BD59680F0582840000D8799F50314070F76DCBD030E7C6A2B92719D61AD8799F581C8351FAFFB0E5E2C441352B9A00D283E271D010F502095E3A4F7BEB114D6269676579652076302E322E34FF9FD8799F005F58405C37F9A8ECA5D8676EBDCA7B15D5D1DDB9580ED42C4D268F9490F541BA7D9777D81BC1607935C139F2E5A3B541B22D6ACA729F8AF0D48EFE1E04260F552C584F58402CA7925CEDE6D768A130EF5D38C3FC118F9C13E762D62D7EFAE21BA8C7D76A72F98657C4D78B68C205E1F4BD54E73DEE0F984EDA65DBB4CCE83EB90D886C7569FFFFD8799F005F5840E71E7C825DD70132B9C08ACC973B419FC669A0CEF95EF48CA6DC462A400BBCC70D2ADAF0B940BB66C73E9290DEE102B81226B64028028C5A41A8AB5837B31B69584020EE815F16784C880E0B8AD8DFB69E2DAFA39811428D59531304BF667E01A57538AEA5ADC35D1132A84D2F42CC2167A2F889EBBD6114D6A49F1FE9BEC6385ACAFFFFD8799F005F5840863B133169F0366DA77F977067291C13621343EFA4EC7C647A304605EACD91E64EAF74184DD052AE497B8853E3B17882692359CA9481434BB897940F28CEC9EC5840AE7ABD562BCD40E176FE0A0CF4B502B177D263F07D0B9F3739CA912D613ADC009D55A18BB719331047FCCEB755BF71C55CEC136E286A2476ADE977F7EE122219FFFFD8799F005F5840B44A3FA3FB67A70F6372245DF022E383C677406B27A1D504066A21C3F5B505B5FFE90639AB24A4041FB0B7336AF87EDC331032F5BF7BF6C6093020C87CCA76EF58404EE6141EC8D0B33C36D6F9CDD6828CF1A3E91D675F4C606BB4E0A6DD99098ADEF1B475CF7D8CC94EFAD62842C80952EE76E908EA45C1AC4C11673F3A33801348FFFFD8799F005F5840DA588DD411B701347F017677012A3191E981BEF94096ECFFFA6779C3474D75AF80F4EEEA9647627CB9E499486251A4F9D95014110387369FE55316ACA4CD934A58400EB923B0CBD24DF54401D998531FEEAD35A47A99F4DEED205DE4AF81120F97610A44442AB530E565ADC7239902BE6C7F3861AEBA114F2D4785E66F31642DF3DEFFFFFFFF821A000DBBA01A17D78400840100D87A9FD8799FD8799F58200E7CFCB0F7410E569BBC9C3621476B0A03ED49ED6C11A7C2E7B8473E4E73AD78FF01FF199400FF821A0002BF201A055D4A80A30081825820C74F1CE5BCD0BEEA81FBDB38F883B5F6A701BC7819298CA3EC2A08C3F3E9CB6158404E45638E56E5B3D28A707363199B93B565651048DAB68A032072BF8EC59679DA571B795C6586420188ECD060B800250EAAB1E4334EFD8F87383B94373903030E0481D8799F581CE6D3410BE0B3D51A52B874983BC6F0E48BCF4274352552E683E1C2119FD8799FD8799FD87A9F581C84CC25EA4C29951D40B443B95BBC5676BC425470F96376D1984AF9ABFFD8799FD8799FD87A9F581C2C967F4BD28944B06462E13C5E3F5D5FA6E03F8567569438CD833E6DFFFFFFFFA140D8799F00A1401A000F4240FFFFD8799FD8799FD8799F581CBAAAA8B9A088F04386CB7119CCF686616FC15F81663F58F459D0BF67FFD8799FD8799FD8799F581C8F240BE418098DE79EF449800A1A3B729FD04D892E861108CB715D7DFFFFFFFFA140D8799F00A1401A001B7740FFFFD8799FD8799FD8799F581CE6D3410BE0B3D51A52B874983BC6F0E48BCF4274352552E683E1C211FFD8799FD8799FD8799F581CB91D1FE82203DE4C0DE2C150746383A893CD21EB1082565252AF63A5FFFFFFFFA1581C86EC26A91051E4D42DF00B023202E177A0027DCA4294A20A0326A116D8799F01A0FFFFFFFF0581840001D87A80821A002337AE1A1BD7BF04A2008182582058779C3EA0137DD17991FC0B262A1FDB579C4A8C4D5C3271FB38A2743FCB82F1584023FB544B58E4EDE6594E0243AB56881E4468AE74E510A18072DDBB7BDBA3D184A4FF2FF232D60E09994EB3E51195EE2B26938FC52EB409FC53373FD31D8C90040581840001D87980821A003386251A270C3A16FFAF00D90103A100A11902A2A1636D736781781947656E6975735969656C643A204F7264657220706C6163656402A11902A2A1636D7367816F44657868756E74657220547261646503A11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E06A11902A2A1636D736781774D696E737761703A204F7264657220457865637574656408A11902A2A1636D7367826F44657868756E7465722054726164656663616E63656C0BA11902A2A1636D736781774D696E737761703A204F726465722045786563757465640CA11902A2A1636D7367826F4D7574616E747320526166666C65736B427579207469636B65747310A11902A2A1636D736781781E4D696E737761703A205632205769746864726177206C697175696469747913A015A11902A2A1636D736781754D696E737761703A204D61726B6574204F726465721819A91902A2A1636D736781764D7565736C695377617020506C616365204F726465721903E8583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D41903EA601903EB601903EC1A01515B461903ED1A00286F901903EF011903F0783830373865616663653563643765646166646636333930306564656632633165613735396537376633306361383164366262646565633932341903F16A37393735366436643639181BA91902A2A1636D736781764D7565736C695377617020506C616365204F726465721903E8583901AABB78D6719FA76D47849659DD2A8AD211824B895C0109BEF8D1D9A4DE84E72D9D32321535C7F79824766728C1000A2F050B57C63AB3F0D41903EA601903EB601903EC1A02F6D99D1903ED1A00286F901903EF011903F0783830373865616663653563643765646166646636333930306564656632633165613735396537376633306361383164366262646565633932341903F16A37393735366436643639181EA11902A2A1636D7367826F4D7574616E747320526166666C65736B427579207469636B657473181FA11902A2A1636D736781754D696E737761703A204D61726B6574204F726465721823A11902A2A1636D736781764D696E737761703A204465706F736974204F7264657280", - typeof(BlockWithEra) - ]; - } -} \ No newline at end of file diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs new file mode 100644 index 00000000..6e0391d4 --- /dev/null +++ b/src/Chrysalis.Test/CborTests.cs @@ -0,0 +1,91 @@ +using System.Reflection; +using System.Text.Json; +using Chrysalis.Cardano.Core.Types.Block; +using Chrysalis.Cardano.Crashr.Types.Datums; +using Chrysalis.Cbor.Converters; +using Chrysalis.Cbor.Types; +using Chrysalis.Test.Types; +using Chrysalis.Test.Types.Cardano.Crashr; +using Chrysalis.Test.Types.Primitives; +using Xunit; + +namespace Chrysalis.Test; + +public class CborTests +{ + [Theory] + [MemberData(nameof(BoolTestData.GetTestData), MemberType = typeof(BoolTestData))] + [MemberData(nameof(BytesTestData.GetTestData), MemberType = typeof(BytesTestData))] + [MemberData(nameof(IntTestData.GetTestData), MemberType = typeof(IntTestData))] + [MemberData(nameof(LongTestData.GetTestData), MemberType = typeof(LongTestData))] + [MemberData(nameof(UlongTestData.GetTestData), MemberType = typeof(UlongTestData))] + [MemberData(nameof(TextTestData.GetTestData), MemberType = typeof(TextTestData))] + public void Deserialize(TestData testData) + { + Assert.NotNull(testData); + Assert.NotNull(testData.Serialized); + Assert.NotNull(testData.Deserialized); + + byte[] data = Convert.FromHexString(testData.Serialized); + Type actualType = testData.Deserialized.GetType(); + + // Act + MethodInfo deserializeMethod = typeof(CborSerializer) + .GetMethod(nameof(CborSerializer.Deserialize))! + .MakeGenericMethod(actualType); + + object? actual = deserializeMethod.Invoke(null, [data]); + + // Assert + Assert.NotNull(actual); + Assert.IsType(actualType, actual); + // Assert.Equivalent(testData.Deserialized, actual); + } + + [Theory] + [MemberData(nameof(CrashrTestData.GetTestData), MemberType = typeof(CrashrTestData))] + public void DeserializeCrashr(string testName, string serialized, CborBase deserialized) + { + Assert.NotNull(serialized); + Assert.NotNull(deserialized); + + byte[] data = Convert.FromHexString(serialized); + Type actualType = deserialized.GetType(); + + // Act + MethodInfo deserializeMethod = typeof(CborSerializer) + .GetMethod(nameof(CborSerializer.Deserialize))! + .MakeGenericMethod(actualType); + + object? actual = deserializeMethod.Invoke(null, [data]); + + // Assert + Assert.NotNull(actual); + Assert.IsType(actualType, actual); + CrashrTestData.AssertListingDatumsEqual((ListingDatum)deserialized, (ListingDatum)actual); + } + + [Theory] + // conway + [InlineData("84828f1a00527c331a015fb132582019e8dec30df21e161115b6ae1bbae809254b590e9e6e8c35a4f2128bacf96fe25820b65a4200ffc36c505064abb975d7fe3fc55ffc4d815f4542df2a0ef83fb3801c58204748aba9cfd2cf3d68dafaa6974528bd8da01e57d6e83f62083c3ea99808615c82584044d71405fb96955167c0993fc11f66994f5dbca45b6e2f8bb68c52799603135cc66720b2910b41d118ebfd587e6f8135cd10c73403ab4131906459f1c0122d9d5850fb6755181d62666b99c6b0d37900838cc08d472545ee89d93fc8fbefcb83ffc30fa61a6c0207366bf88e63a3eb8a4b11e47b586054b1a5c259cd9dc90ca82dac7336857a9a875de52d1768b4c74810048258400001ecfcf4748e1a32960e323a5d636244d61979647357560d2d919ccc85908355e9ed9f4c575a5332305b82bc6e46ae8c304ad46fe1fc67dbde530d2581066e58500c8c4fdeaf8767bca8b323b1c1b324365b32ac7b1a7b58f3658426f9ea1daf92144e27f83946d424b60c495eee6001f33f801933cf5aed8e61769c116648ab95f3df5f8e4161288769819ed0c13bfe07190bbf5820bcd2bababa216b2476d660eebb92e000ed4ece5f5a9de15b857e69e291c7e48358200e9d108df1cac53c21e9d2409c636e18e456d77ef8774c9e98d9424ff9f6a4bf01188c584087a003220b84794898c692392321d906e7b780fadaba396d496c271725be43c0e1551e778df00ac6d1a32ad9abace2f801f9aeb915972c2fc187d443687b6e0204005901c052872ebf29ce234e7cf6f66876f1d309cd6dc2efc8879422586daa8fca4009c4484bdd3ed7e9cb5e9bf90c5c78a4d0d92ccc601a7febed8dca4da0eb0cc5890d9fbcb7bf5ab8a4aadb5475b232c46200efa0d236ea0dc9fbcfec17c14cf6b6637e7e2922e8483be6e88289cf8a5df7dbcd42f2b6954e55c7011333ffa2b2732bf401a8944302f3b9250f1b24390a6a735ee7a65a0425b5ab1e4da0eb783561c54eac7019ec04d2ebfec992b700b005129d31a49d48da03e72409190c1d7b223ad76df9b4acf52f264d86b2d37b71c8cf6cb67b6e047d4f255dff2fee521e26e805afba3398cc07aec495b25b741b05bd5aec318cd03d77cafc72ae789cdbc76804af08ea62ae10efc3f7c760a93926b03476ecb57e2bc317d15cc4f65ac0f1fac37f08ceab90e504b090d4ab0df00c83998d028818572b02801c95a238eeaf993c7e6ef852d9623c3dbedbaf20e492a03fe849433772347834a3b662bcdd33b3466dbaf462fcbe1e80bf956f7060a59e70235e037fcdadfc27f2308030b0d53f73e53ce439a070d5f84b0f8de24f05923e958ad516b10f597e030d15589a2b2ce456b2769a4f638599450997490a469531918ab2c00512c69731308f70bc436484a40081825820cc8ffe5f1eddbcee49f7e3b45355213686d1a16f538083768c4f5014ea07ee2100018282584c82d818584283581c1216b1674c9b4d902883d167ce2b1854cee8198b2b23c16790c20aa9a101581e581c2cb78b2d298752586da8a184ab66e80b165d4fcec7d1fa273433c402001aaa8f1fc21a626354cf82583901d2b582c2cc9844a21748b8c561d6b50096340701e260fe45646f7ce87d67d6985affc837f5eb36deddfbd77331bf7dfc9be66dc33ff094161a02edf7cc021a0002a465031a015fcd47a50081825820d7ad2b64b5b88c84e9a2b31f4f316a6cb05347fa3c2cdbc564d25b37c1beefc30c018182583901b275e33329f7ae59b8617411073615f44187421dd33d983ae14b0bd2a08be3dc4b41c314e44b883624d9988795e97504ef542d4c98228c391af6da2be2021a0002a8b1031a015fcd2d048282008200581ca08be3dc4b41c314e44b883624d9988795e97504ef542d4c98228c3983028200581ca08be3dc4b41c314e44b883624d9988795e97504ef542d4c98228c39581cf1b265f1e545da9c6e003c5d703fb5a23283c646cd40b2d619671e7fa40082825820129914af1860678d177d0a4e608b2d65d743a373c2d486e68f63dfca86c485a70182582028bc08a610764695bff6cf68cb0a9bfb49205af2efa194a7ca2ef0d1b3eb1d6407018282583901f916d78bf849c37de87417b5d3a338317b79376d69f32724ddf2a2d1f916d78bf849c37de87417b5d3a338317b79376d69f32724ddf2a2d11a0be8b4c082584c82d818584283581c9ed07c4d376778fe73bdf02b3030b4138cd45a9db41f67f49ab58a37a101581e581c3083349abf53ea9ad19e9450464207e560586da9f5bc414ca9c876de001aff425bc61b000005613639af4f021a0002cb3d031a015fcd4aa40087825820076a89a91f48dbca770a3c185b51918ebbaf8cfdcaffb0db7fd65f8a7107b41e0c8258202401d4d98372ce349e7a6fc6af33acf3df6a5d90db19e5e1e4a430812bd13a9a0082582045e0835cbe270c3b068ca356419b6a13084378652f392cb546e597ca7e32d244008258206b3b8b922e83684ac4bc4ae258b9ebda837f668654f2e53a2f14230c14c460f9008258206e33c9d636f916e9f0c491555514cc31dc5e16b17ad2376436431160572e1c360182582090e535f35fdb239714d07064ad36b792cbceb7b0d99fb5dfe0ed7bed74e0678900825820ca9a3353f8f5733933a79c3c6c1c050a690aae8465c6ead927a3a9d2e803833000018282584c82d818584283581c68be23727445c24415c6b078dfce1a6ea973c63eb2317bfb60a8d923a101581e581c2cb78b2d2987521e011f0184dda7d520e1815a27f443c499bf886e2a001a33144c3b1ac7e8f5fb825839010f1167abf60b473e36b556077811d4a41714eda237e95d722fd63570eca8d0ccc8368cf5d927ef81fab1554dee7906d50c58d817320587951ada91fac0021a00038745031a015fcd4d84a102818458208825205f2483877ff7350ab296449ba383f82bb7c2604bb02b6ab2aa6096aa635840b2b18e987974e37477f80df064d33bd17356e5ff2a258515176f7517266b7f4319e653bfe24a9a88bd521accb8b39dbfe1bd7a266ef5b278c54cdf22de9b2707582073765eaf2fac6a18c3154dc35ebe9680428a61135898a3ea120f6308acf8ec6b5822a101581e581c2cb78b2d29875256935d1a843269ed0590f717314d4cdf866b315775a10082825820635993a26c14dd9019efa50cd4ce95a147a5ae332ca14c07489292d6cd4af7785840d645d6e4dac44f7a8845afd1c7ae419a896941690580af1b13ae1fa0a6997d8b56ec8c43f8fe7ddd7aa10c57162b008a1d93071bff3366448d590f53269dfb08825820049fcafea3c1472107c6589e78ee163ff83e60b05fd6209dec35ec4f03f7e7cf5840139f26e56b23f5e95788650d12531a7aa9998b367326e3c83c51e17020324d657659993fc51b08b9709d27c2131a13d341194c9f2ffe6a8fcc5f6540b8923f08a10282845820c1ffc34160174c939f17f07d5e9248231e19d966e47098258a55c900dfc9d3bd5840f6a90b68b6d870e3728fb8f9be8e35b492b181270944b3fa9dcb8ef7a5c8ca5cd7949b2ac8b421a403539c0758d71eea1fee3b377fccef4598923c57bbe4060a5820bb95000206f79a3e893f30c40c6ff87efdebe0188025d00888b17df23e28446a5822a101581e581c3083349abf53eadad9483a501fdd4c655dc63b878a99301d97ae6102845820997f3fdd280bc2af629240afc83f07f0a570af0a42c52a50d18239d5303bb284584053e0e4a22e5bd10e3053dc0aa883db77bb0ea27e6718673ff83b385a0d1cdd240761a5dc69103f0c9988ade89a6ca8bfa2c43a101c5a78fe24431ec940ec13015820fe61c42716add8563f76484d314c290d55ac4b7d2250aa3d9a80e62226c241395822a101581e581c3083349abf53eab498612350bb23df0159d2a6be2fcc52a7731e1b10a10287845820cd9c9534e1e9c83f7606477db856309f4c403e270eb0a175c14ac1675281912258403aeeec8686e269c897aba8a40398299d588a274c99e952c4cbbc0771ca84251f0e83d74ca2ba04b2b0eb22324cf379c938118a83bf43317bc527e16715c49a065820e228f4e25cf1f3c77ed1d372ce0a141700b5474ceacf745cfcb65bc841c9d0bb5822a101581e581c2cb78b2d2987525693a3c4842fa08566697827084d959224b2b973da845820820504e1218a034b2dba056a120fbcbd3b6dec2f50408440f27d22fd0f881e935840d2ba11018d8f75b5eb575c69c20111f160f006957aafaeb8efeb8a0a2bcd90bad9ae932b05465a57d38fd2841071dafdfd8b95635480a1717518b07bcce6e3045820291023ee372563c26551d482b3bf068e0343a7e3059b697f1390e2269f1182d55822a101581e581c2cb78b2d2987527500f5b6846533439461772bc086e64ee1d96d8d758458205a11b4ef17c6f4749982afedc9613f9aba2700559b670d0cbd49259daf459235584092a643cffbbd5739380322de72b23b764a4b24a1bf0472880bcc014fdfb3ef8da3b7cf28d9978d75358b44751c71e09e96bc0eb87d8f92b798e3d2b91bbc5f07582011eec758d9ca8feaa2d9c1d5b4a6b9713154b5e2c641e32d65a9564697df9aee5822a101581e581c2cb78b2d298752569036f884fded19b659fa9728101693be5a5e0239845820b348baa3ca6b57119fc972f7835ab6bdf9db1ddc910714f78cdcb060f06b0b8a5840b35527ee246890531a062e8cbd45b6b731dcd03b476793a027a05070a065cbb30a8ac406b817eb4847db0d43a62e0dd41a2a90e20a9a28cb6014aaaecabe920358206fbe90398580bb07d7af8a5d7d00ddacb0d0e2d55ef80202c85c84d6429420265822a101581e581c2cb78b2d2987525693aafe842c609882c5c35cbbaef412a76cecfa0784582015369f3af03861da2e51fb6bab1eb0129e8217b393a76aa08f30ffd9b3aec9ff584083f3d2972cc86f2185738466f769b662e4c3c360535a57717f2ebbd51e30c8af586e16fe7cec72aee45d22a2b652abca9c76e60086f53f479366247a5945280c58201aae99fdd87432fdc4f8a702c8985fdbfa6885d4aff3f005cf7356d36d3629195822a101581e581c2cb78b2d2987525690737d84bce1193d9eb78934d8ddc9bee17ecaba84582005d41288dbafc63b247cb2cec773372e59a42772c107a8d9fd06692e2bc548945840792764d4180948c7f8d637ff4bebca639109162c4cdc8c17e1c9ea97402ae68a9800701ee8d71d2ea85bd0426e0e829879997e18f2e86d1ce842ced1affc680958203a52e7e7ebe204c9291d960e2d4b81a532f34e7ff78791c01a899d1f0664b2955822a101581e581c2cb78b2d2987525693efd3846c06c238e49a5bf6f237d6fd85028a9f8458200beb3362fc3817d92d0d9fea1d4fd1149c6d00f964125cf8bbb9b9ef1b8cc5155840d76aa83f009729ccf22f0dfde37e74151176cf92791356fc5d8792f12820cbf0be41a4420be26e23d36e617e781f26a30f890cfdfce65dd8252fdc6e4e34cf0e5820eab60523d3fc1773a939e1c5ffc3564db0660af663ae62c2d62bf1c98de0a7345822a101581e581c2cb78b2d29875256939b5a843b2b70252956da6e5e3e077aced55d13a0")] + public void DeserializeBlock(string cbor) + { + Assert.NotNull(cbor); + + byte[] cborRaw = Convert.FromHexString(cbor); + Block block = null; + try + { + for (int i = 0; i < 1000; i++) + { + block = CborSerializer.Deserialize(cborRaw); + } + } + catch (Exception ex) + { + Console.WriteLine(ex); + } + + Assert.NotNull(block); + } +} diff --git a/src/Chrysalis.Test/Chrysalis.Test.csproj b/src/Chrysalis.Test/Chrysalis.Test.csproj index 4f8e5f10..cad1925e 100644 --- a/src/Chrysalis.Test/Chrysalis.Test.csproj +++ b/src/Chrysalis.Test/Chrysalis.Test.csproj @@ -23,7 +23,7 @@ - +
\ No newline at end of file diff --git a/src/Chrysalis.Test/Types/Cardano/Crashr/CrashrTestData.cs b/src/Chrysalis.Test/Types/Cardano/Crashr/CrashrTestData.cs new file mode 100644 index 00000000..cc5270a8 --- /dev/null +++ b/src/Chrysalis.Test/Types/Cardano/Crashr/CrashrTestData.cs @@ -0,0 +1,176 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; +using Chrysalis.Cardano.Crashr.Types.Common; +using Chrysalis.Cardano.Crashr.Types.Datums; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Functional; +using Chrysalis.Cbor.Types.Primitives; +using Chrysalis.Plutus.Types.Address; +using Xunit; + +namespace Chrysalis.Test.Types.Cardano.Crashr; + +public record InheritedCrashrListingDatum( + CborList Payouts, + CborBytes Owner +) : ListingDatum(Payouts, Owner); + +public record NestedInheritedCrashrListingDatum( + CborList Payouts, + CborBytes Owner +) : InheritedCrashrListingDatum(Payouts, Owner); + + + +public class CrashrTestData +{ + public readonly static string _testTag = "CborBool"; + + public static IEnumerable TestData + { + get + { + ListingDatum listingDatum = new( + new CborList( + [ + new Payout( + new( + new VerificationKey(new(Convert.FromHexString("7060251a30c40e428085cdb477aa0ca8462ae5d8b6a55e5e9616aeb6"))), + new Some>(new Inline(new VerificationKey(new(Convert.FromHexString("850282937506f53d58e9e6fd7ccbbbc57196d58b2a11e36a76a60857")))) + ) + ), + new( + new() + { + { + new(Convert.FromHexString("")), + new( + new Dictionary + { + { + new(Convert.FromHexString("")), + new(48000000) + } + } + ) + } + } + ) + ) + ] + ), + new CborBytes(Convert.FromHexString("7060251a30c40e428085cdb477aa0ca8462ae5d8b6a55e5e9616aeb6")) + ); + + string listingDatumCbor = "d8799f9fd8799fd8799fd8799f581c7060251a30c40e428085cdb477aa0ca8462ae5d8b6a55e5e9616aeb6ffd8799fd8799fd8799f581c850282937506f53d58e9e6fd7ccbbbc57196d58b2a11e36a76a60857ffffffffa140a1401a02dc6c00ffff581c7060251a30c40e428085cdb477aa0ca8462ae5d8b6a55e5e9616aeb6ff"; + + listingDatum.Raw = Convert.FromHexString(listingDatumCbor); + + InheritedCrashrListingDatum inheritedListingDatum = new( + listingDatum.Payouts, + listingDatum.Owner + ); + + inheritedListingDatum.Raw = Convert.FromHexString(listingDatumCbor); + + NestedInheritedCrashrListingDatum nestedInheritedListingDatum = new( + listingDatum.Payouts, + listingDatum.Owner + ); + + nestedInheritedListingDatum.Raw = Convert.FromHexString(listingDatumCbor); + + yield return new object[] { $"[{_testTag}] Basic", listingDatumCbor, listingDatum }; + yield return new object[] { $"[{_testTag}] Inherited", listingDatumCbor, inheritedListingDatum }; + yield return new object[] { $"[{_testTag}] Nested Inherited", listingDatumCbor, nestedInheritedListingDatum }; + } + } + + public static IEnumerable GetTestData() => TestData; + + public static void AssertListingDatumsEqual(ListingDatum expected, ListingDatum actual) + { + // Compare Owner bytes + Assert.True(expected.Owner.Value.SequenceEqual(actual.Owner.Value)); + + // Compare Payouts list length + Assert.Equal(expected.Payouts.Value.Count, actual.Payouts.Value.Count); + + // Raw Cbor Check + Assert.True(expected.Raw!.SequenceEqual(actual.Raw!)); + + // Compare each payout + for (int i = 0; i < expected.Payouts.Value.Count; i++) + { + Payout expectedPayout = expected.Payouts.Value[i]; + Payout actualPayout = actual.Payouts.Value[i]; + + byte[] expectedPkh = expectedPayout.Address.PaymentCredential switch + { + VerificationKey vk => vk.VerificationKeyHash.Value, + _ => throw new Exception("Unexpected PaymentCredential type") + }; + + byte[] actualPkh = actualPayout.Address.PaymentCredential switch + { + VerificationKey vk => vk.VerificationKeyHash.Value, + _ => throw new Exception("Unexpected PaymentCredential type") + }; + + byte[] skh = expectedPayout.Address.StakeCredential switch + { + Option> option => option switch + { + Some> some => some.Value switch + { + Inline inline => inline.Value switch + { + VerificationKey vk => vk.VerificationKeyHash.Value, + _ => throw new Exception("Unexpected Credential type") + }, + _ => throw new Exception("Unexpected Inline type") + }, + _ => throw new Exception("Unexpected Option type") + }, + _ => throw new Exception("Unexpected StakeCredential type") + }; + + byte[] actualSkh = actualPayout.Address.StakeCredential switch + { + Option> option => option switch + { + Some> some => some.Value switch + { + Inline inline => inline.Value switch + { + VerificationKey vk => vk.VerificationKeyHash.Value, + _ => throw new Exception("Unexpected Credential type") + }, + _ => throw new Exception("Unexpected Inline type") + }, + _ => throw new Exception("Unexpected Option type") + }, + _ => throw new Exception("Unexpected StakeCredential type") + }; + + // Compare address verification key + Assert.True( + expectedPkh.SequenceEqual(actualPkh), + $"Expected: {BitConverter.ToString(expectedPkh)}\nActual: {BitConverter.ToString(actualPkh)}" + ); + + // Compare address stake key + Assert.True( + skh.SequenceEqual(actualSkh), + $"Expected: {BitConverter.ToString(skh)}\nActual: {BitConverter.ToString(actualSkh)}" + ); + + // Compare amount dictionary + Assert.Equal(expectedPayout.Amount.Value.Count, actualPayout.Amount.Value.Count); + foreach (KeyValuePair kvp in expectedPayout.Amount.Value) + { + Assert.Contains(Convert.ToHexString(kvp.Key.Value), actualPayout.Amount.Value.Keys.Select(e => Convert.ToHexString(e.Value))); + Assert.True(kvp.Key.Value.SequenceEqual(actualPayout.Amount.Value.Keys.First().Value)); + } + } + } +} \ No newline at end of file diff --git a/src/Chrysalis.Test/Types/Primitives/BoolTestData.cs b/src/Chrysalis.Test/Types/Primitives/BoolTestData.cs new file mode 100644 index 00000000..40054d1d --- /dev/null +++ b/src/Chrysalis.Test/Types/Primitives/BoolTestData.cs @@ -0,0 +1,33 @@ +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Test.Types.Primitives; + +public record InheritedBool(bool Value) : CborBool(Value); +public record NestedInheritedBool(bool Value) : InheritedBool(Value); + +public class BoolTestData +{ + public readonly static string _testTag = "CborBool"; + + public static IEnumerable TestData + { + get + { + yield return new("Basic False", "f4", new CborBool(false)); + yield return new("Basic True", "f5", new CborBool(true)); + yield return new("Inherited False", "f4", new InheritedBool(false)); + yield return new("Inherited True", "f5", new InheritedBool(true)); + yield return new("Nested Inherited False", "f4", new NestedInheritedBool(false)); + yield return new("Nested Inherited True", "f5", new NestedInheritedBool(true)); + } + } + + public static IEnumerable GetTestData() + { + return TestData.Select(testData => + { + testData.Description = $"[{_testTag}] {testData.Description}"; + return new object[] { testData }; + }); + } +} \ No newline at end of file diff --git a/src/Chrysalis.Test/Types/Primitives/BytesTestData.cs b/src/Chrysalis.Test/Types/Primitives/BytesTestData.cs new file mode 100644 index 00000000..8e00995b --- /dev/null +++ b/src/Chrysalis.Test/Types/Primitives/BytesTestData.cs @@ -0,0 +1,49 @@ +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Test.Types.Primitives; + +public record InheritedBytes(byte[] Value) : CborBytes(Value); +public record NestedInheritedBytes(byte[] Value) : InheritedBytes(Value); + +public class BytesTestData +{ + public readonly static string _testTag = "CborBytes"; + + public static IEnumerable TestData + { + get + { + // Empty bytes + yield return new("Empty bytes", "40", new CborBytes(Convert.FromHexString(""))); + + // Single byte + yield return new("Single byte", "41FF", new CborBytes(Convert.FromHexString("FF"))); + + // Multiple bytes with different patterns + yield return new("Three bytes", "43AABBCC", new CborBytes(Convert.FromHexString("AABBCC"))); + yield return new("Alternating pattern", "43FF00FF", new CborBytes(Convert.FromHexString("FF00FF"))); + + // Testing different length encodings + yield return new("23 bytes (max single byte length)", + "57" + "FF".PadRight(46, '0'), + new CborBytes(Convert.FromHexString("FF".PadRight(46, '0')))); + + yield return new("24 bytes (needs two bytes for length)", + "5818" + "FF".PadRight(48, '0'), + new CborBytes(Convert.FromHexString("FF".PadRight(48, '0')))); + + // Test inheritance + yield return new("Inherited type", "43AABBCC", new InheritedBytes(Convert.FromHexString("AABBCC"))); + yield return new("Nested inherited type", "43AABBCC", new NestedInheritedBytes(Convert.FromHexString("AABBCC"))); + } + } + + public static IEnumerable GetTestData() + { + return TestData.Select(testData => + { + testData.Description = $"[{_testTag}] {testData.Description}"; + return new object[] { testData }; + }); + } +} \ No newline at end of file diff --git a/src/Chrysalis.Test/Types/Primitives/IntTestData.cs b/src/Chrysalis.Test/Types/Primitives/IntTestData.cs new file mode 100644 index 00000000..a4e8a137 --- /dev/null +++ b/src/Chrysalis.Test/Types/Primitives/IntTestData.cs @@ -0,0 +1,53 @@ +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Test.Types.Primitives; + +public record InheritedInt(int Value) : CborInt(Value); +public record NestedInheritedInt(int Value) : InheritedInt(Value); + +public class IntTestData +{ + public readonly static string _testTag = "CborInt"; + + public static IEnumerable TestData + { + get + { + yield return new("Basic Zero", "00", new CborInt(0)); + yield return new("Basic One", "01", new CborInt(1)); + yield return new("Basic Negative One", "20", new CborInt(-1)); + yield return new("Basic Eight", "08", new CborInt(8)); + yield return new("Basic Ten", "0a", new CborInt(10)); + yield return new("Basic Negative Ten", "29", new CborInt(-10)); + yield return new("Basic 23", "17", new CborInt(23)); + + // Inherited + yield return new("Inherited Zero", "00", new InheritedInt(0)); + yield return new("Inherited One", "01", new InheritedInt(1)); + yield return new("Inherited Negative One", "20", new InheritedInt(-1)); + yield return new("Inherited Eight", "08", new InheritedInt(8)); + yield return new("Inherited Ten", "0a", new InheritedInt(10)); + yield return new("Inherited Negative Ten", "29", new InheritedInt(-10)); + yield return new("Inherited 23", "17", new InheritedInt(23)); + + // Nested Inherited + yield return new("Nested Inherited Zero", "00", new NestedInheritedInt(0)); + yield return new("Nested Inherited One", "01", new NestedInheritedInt(1)); + yield return new("Nested Inherited Negative One", "20", new NestedInheritedInt(-1)); + yield return new("Nested Inherited Eight", "08", new NestedInheritedInt(8)); + yield return new("Nested Inherited Ten", "0a", new NestedInheritedInt(10)); + yield return new("Nested Inherited Negative Ten", "29", new NestedInheritedInt(-10)); + yield return new("Nested Inherited 23", "17", new NestedInheritedInt(23)); + } + } + + public static IEnumerable GetTestData() + { + return TestData.Select(testData => + { + testData.Description = $"[{_testTag}] {testData.Description}"; + return new object[] { testData }; + }); + } + +} diff --git a/src/Chrysalis.Test/Types/Primitives/LongTestData.cs b/src/Chrysalis.Test/Types/Primitives/LongTestData.cs new file mode 100644 index 00000000..fb1586cc --- /dev/null +++ b/src/Chrysalis.Test/Types/Primitives/LongTestData.cs @@ -0,0 +1,85 @@ +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Test.Types.Primitives; + +public record InheritedLong(long Value) : CborLong(Value); +public record NestedInheritedLong(long Value) : InheritedLong(Value); + +public class LongTestData +{ + public readonly static string _testTag = "CborLong"; + + public static IEnumerable TestData + { + get + { + // Zero + yield return new("Zero", "00", new CborLong(0)); + yield return new("Inherited Zero", "00", new InheritedLong(0)); + yield return new("Nested Inherited Zero", "00", new NestedInheritedLong(0)); + + // Small positive integers + yield return new("Small Positive 10", "0a", new CborLong(10)); + yield return new("Inherited Small Positive 10", "0a", new InheritedLong(10)); + yield return new("Nested Inherited Small Positive 10", "0a", new NestedInheritedLong(10)); + + // One byte positive + yield return new("One Byte 100", "1864", new CborLong(100)); + yield return new("Inherited One Byte 100", "1864", new InheritedLong(100)); + yield return new("Nested Inherited One Byte 100", "1864", new NestedInheritedLong(100)); + + // Two bytes positive + yield return new("Two Bytes 1000", "1903e8", new CborLong(1000)); + yield return new("Inherited Two Bytes 1000", "1903e8", new InheritedLong(1000)); + yield return new("Nested Inherited Two Bytes 1000", "1903e8", new NestedInheritedLong(1000)); + + // Four bytes positive + yield return new("Four Bytes 1000000", "1a000f4240", new CborLong(1000000)); + yield return new("Inherited Four Bytes 1000000", "1a000f4240", new InheritedLong(1000000)); + yield return new("Nested Inherited Four Bytes 1000000", "1a000f4240", new NestedInheritedLong(1000000)); + + // Eight bytes positive + yield return new("Eight Bytes Large", "1b002386f26fc10000", new CborLong(10000000000000000)); + yield return new("Inherited Eight Bytes Large", "1b002386f26fc10000", new InheritedLong(10000000000000000)); + yield return new("Nested Inherited Eight Bytes Large", "1b002386f26fc10000", new NestedInheritedLong(10000000000000000)); + + // Small negative + yield return new("Negative Ten", "29", new CborLong(-10)); + yield return new("Inherited Negative Ten", "29", new InheritedLong(-10)); + yield return new("Nested Inherited Negative Ten", "29", new NestedInheritedLong(-10)); + + // One byte negative + yield return new("One Byte -100", "3863", new CborLong(-100)); + yield return new("Inherited One Byte -100", "3863", new InheritedLong(-100)); + yield return new("Nested Inherited One Byte -100", "3863", new NestedInheritedLong(-100)); + + // Two bytes negative + yield return new("Two Bytes -1000", "3903e7", new CborLong(-1000)); + yield return new("Inherited Two Bytes -1000", "3903e7", new InheritedLong(-1000)); + yield return new("Nested Inherited Two Bytes -1000", "3903e7", new NestedInheritedLong(-1000)); + + // Four bytes negative + yield return new("Four Bytes -1000000", "3a000f423f", new CborLong(-1000000)); + yield return new("Inherited Four Bytes -1000000", "3a000f423f", new InheritedLong(-1000000)); + yield return new("Nested Inherited Four Bytes -1000000", "3a000f423f", new NestedInheritedLong(-1000000)); + + // Edge cases + yield return new("Max Long", "1b7fffffffffffffff", new CborLong(long.MaxValue)); + yield return new("Inherited Max Long", "1b7fffffffffffffff", new InheritedLong(long.MaxValue)); + yield return new("Nested Inherited Max Long", "1b7fffffffffffffff", new NestedInheritedLong(long.MaxValue)); + + yield return new("Min Long", "3b7fffffffffffffff", new CborLong(long.MinValue)); + yield return new("Inherited Min Long", "3b7fffffffffffffff", new InheritedLong(long.MinValue)); + yield return new("Nested Inherited Min Long", "3b7fffffffffffffff", new NestedInheritedLong(long.MinValue)); + } + } + + public static IEnumerable GetTestData() + { + return TestData.Select(testData => + { + testData.Description = $"[{_testTag}] {testData.Description}"; + return new object[] { testData }; + }); + } +} \ No newline at end of file diff --git a/src/Chrysalis.Test/Types/Primitives/NullableTestData.cs b/src/Chrysalis.Test/Types/Primitives/NullableTestData.cs new file mode 100644 index 00000000..51666e5f --- /dev/null +++ b/src/Chrysalis.Test/Types/Primitives/NullableTestData.cs @@ -0,0 +1,35 @@ +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Test.Types.Primitives; + +public record InheritedNullable(T? Value) : CborNullable(Value) where T : CborBase; +public record NestedInheritedNullable(T? Value) : InheritedNullable(Value) where T : CborBase; + +public class NullableTestData +{ + public readonly static string _testTag = "CborNullable"; + + public static IEnumerable TestData + { + get + { + // Test with int + yield return new("Basic Null Int", "f6", new CborNullable(null)); + yield return new("Basic Value Int", "01", new CborNullable(new CborInt(1))); + yield return new("Inherited Null Int", "f6", new InheritedNullable(null)); + yield return new("Inherited Value Int", "01", new InheritedNullable(new CborInt(1))); + yield return new("Nested Inherited Null Int", "f6", new NestedInheritedNullable(null)); + yield return new("Nested Inherited Value Int", "01", new NestedInheritedNullable(new CborInt(1))); + } + } + + public static IEnumerable GetTestData() + { + return TestData.Select(testData => + { + testData.Description = $"[{_testTag}] {testData.Description}"; + return new object[] { testData }; + }); + } +} \ No newline at end of file diff --git a/src/Chrysalis.Test/Types/Primitives/TextTestData.cs b/src/Chrysalis.Test/Types/Primitives/TextTestData.cs new file mode 100644 index 00000000..f73a10ec --- /dev/null +++ b/src/Chrysalis.Test/Types/Primitives/TextTestData.cs @@ -0,0 +1,38 @@ +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Test.Types.Primitives; + +public record InheritedText(string Value) : CborText(Value); +public record NestedInheritedText(string Value) : InheritedText(Value); + +public class TextTestData +{ + private const string _testTag = "CborText"; + + public static IEnumerable TestData + { + get + { + yield return new("Empty", "60", new CborText("")); + yield return new("Inherited Empty", "60", new InheritedText("")); + yield return new("Nested Inherited Empty", "60", new NestedInheritedText("")); + + yield return new("Single Char", "6161", new CborText("a")); + yield return new("Inherited Single Char", "6161", new InheritedText("a")); + yield return new("Nested Inherited Single Char", "6161", new NestedInheritedText("a")); + + yield return new("Short ASCII", "6568656C6C6F", new CborText("hello")); + yield return new("Inherited Short ASCII", "6568656C6C6F", new InheritedText("hello")); + yield return new("Nested Inherited Short ASCII", "6568656C6C6F", new NestedInheritedText("hello")); + } + } + + public static IEnumerable GetTestData() + { + return TestData.Select(testData => + { + testData.Description = $"[{_testTag}] {testData.Description}"; + return new object[] { testData }; + }); + } +} \ No newline at end of file diff --git a/src/Chrysalis.Test/Types/Primitives/UlongTestData.cs b/src/Chrysalis.Test/Types/Primitives/UlongTestData.cs new file mode 100644 index 00000000..45e86231 --- /dev/null +++ b/src/Chrysalis.Test/Types/Primitives/UlongTestData.cs @@ -0,0 +1,82 @@ +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Test.Types.Primitives; + +public record InheritedUlong(ulong Value) : CborUlong(Value); +public record NestedInheritedUlong(ulong Value) : CborUlong(Value); + +public class UlongTestData +{ + private const string _testTag = "CborUlong"; + + public static IEnumerable TestData + { + get + { + // Zero + yield return new("Zero", "00", new CborUlong(0)); + yield return new("Inherited Zero", "00", new InheritedUlong(0)); + yield return new("Nested Inherited Zero", "00", new NestedInheritedUlong(0)); + + // Small positive (0-23) + yield return new("Small 10", "0a", new CborUlong(10)); + yield return new("Inherited Small 10", "0a", new InheritedUlong(10)); + yield return new("Nested Inherited Small 10", "0a", new NestedInheritedUlong(10)); + + yield return new("Small 23", "17", new CborUlong(23)); + yield return new("Inherited Small 23", "17", new InheritedUlong(23)); + yield return new("Nested Inherited Small 23", "17", new NestedInheritedUlong(23)); + + // One byte (24-255) + yield return new("One Byte 24", "1818", new CborUlong(24)); + yield return new("Inherited One Byte 24", "1818", new InheritedUlong(24)); + yield return new("Nested Inherited One Byte 24", "1818", new NestedInheritedUlong(24)); + + yield return new("One Byte 255", "18ff", new CborUlong(255)); + yield return new("Inherited One Byte 255", "18ff", new InheritedUlong(255)); + yield return new("Nested Inherited One Byte 255", "18ff", new NestedInheritedUlong(255)); + + // Two bytes (256-65535) + yield return new("Two Bytes 256", "190100", new CborUlong(256)); + yield return new("Inherited Two Bytes 256", "190100", new InheritedUlong(256)); + yield return new("Nested Inherited Two Bytes 256", "190100", new NestedInheritedUlong(256)); + + yield return new("Two Bytes 65535", "19ffff", new CborUlong(65535)); + yield return new("Inherited Two Bytes 65535", "19ffff", new InheritedUlong(65535)); + yield return new("Nested Inherited Two Bytes 65535", "19ffff", new NestedInheritedUlong(65535)); + + // Four bytes (65536-4294967295) + yield return new("Four Bytes 65536", "1a00010000", new CborUlong(65536)); + yield return new("Inherited Four Bytes 65536", "1a00010000", new InheritedUlong(65536)); + yield return new("Nested Inherited Four Bytes 65536", "1a00010000", new NestedInheritedUlong(65536)); + + yield return new("Four Bytes Max", "1affffffff", new CborUlong(4294967295)); + yield return new("Inherited Four Bytes Max", "1affffffff", new InheritedUlong(4294967295)); + yield return new("Nested Inherited Four Bytes Max", "1affffffff", new NestedInheritedUlong(4294967295)); + + // Eight bytes (4294967296-18446744073709551615) + yield return new("Eight Bytes Min", "1b0000000100000000", new CborUlong(4294967296)); + yield return new("Inherited Eight Bytes Min", "1b0000000100000000", new InheritedUlong(4294967296)); + yield return new("Nested Inherited Eight Bytes Min", "1b0000000100000000", new NestedInheritedUlong(4294967296)); + + // Large number + yield return new("Eight Bytes Large", "1b002386f26fc10000", new CborUlong(10000000000000000)); + yield return new("Inherited Eight Bytes Large", "1b002386f26fc10000", new InheritedUlong(10000000000000000)); + yield return new("Nested Inherited Eight Bytes Large", "1b002386f26fc10000", new NestedInheritedUlong(10000000000000000)); + + // Edge case - max ulong + yield return new("Max ULong", "1bffffffffffffffff", new CborUlong(ulong.MaxValue)); + yield return new("Inherited Max ULong", "1bffffffffffffffff", new InheritedUlong(ulong.MaxValue)); + yield return new("Nested Inherited Max ULong", "1bffffffffffffffff", new NestedInheritedUlong(ulong.MaxValue)); + } + } + + public static IEnumerable GetTestData() + { + return TestData.Select(testData => + { + testData.Description = $"[{_testTag}] {testData.Description}"; + return new object[] { testData }; + }); + } +} \ No newline at end of file diff --git a/src/Chrysalis.Test/Types/TestData.cs b/src/Chrysalis.Test/Types/TestData.cs new file mode 100644 index 00000000..23cb383a --- /dev/null +++ b/src/Chrysalis.Test/Types/TestData.cs @@ -0,0 +1,38 @@ +using Chrysalis.Cbor.Types; +using Newtonsoft.Json; +using Xunit.Abstractions; + +namespace Chrysalis.Test.Types; + +public class TestData : IXunitSerializable +{ + public string Description { get; set; } = string.Empty; + public string Serialized { get; set; } = string.Empty; + public CborBase Deserialized { get; set; } = default!; + + public TestData() { } + public TestData(string description, string serialized, CborBase deserialized) + { + Description = description; + Serialized = serialized; + Deserialized = deserialized; + } + + public void Deserialize(IXunitSerializationInfo info) + { + Description = info.GetValue(nameof(Description)); + Serialized = info.GetValue(nameof(Serialized)); + var typeName = info.GetValue("DeserializedType"); + var json = info.GetValue(nameof(Deserialized)); + var type = Type.GetType(typeName); + Deserialized = (CborBase)JsonConvert.DeserializeObject(json, type); + } + + public void Serialize(IXunitSerializationInfo info) + { + info.AddValue(nameof(Description), Description); + info.AddValue(nameof(Serialized), Serialized); + info.AddValue("DeserializedType", Deserialized.GetType().AssemblyQualifiedName); + info.AddValue(nameof(Deserialized), JsonConvert.SerializeObject(Deserialized)); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Coinecta/Types/Common/ClaimEntry.cs b/src/Chrysalis/Cardano/Coinecta/Types/Common/ClaimEntry.cs new file mode 100644 index 00000000..a5fcb58e --- /dev/null +++ b/src/Chrysalis/Cardano/Coinecta/Types/Common/ClaimEntry.cs @@ -0,0 +1,27 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; +using Chrysalis.Cardano.Sundae.Types.Common; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Coinecta.Types.Common; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record ClaimEntry( + [CborProperty(0)] + MultisigScript Claimant, + + [CborProperty(1)] + MultiAssetOutput VestingValue, + + [CborProperty(2)] + MultiAssetOutput DirectValue, + + [CborProperty(3)] + CborBytes VestingParameters, + + [CborProperty(4)] + CborBytes VestingProgram +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Coinecta/Types/Datums/Treasury.cs b/src/Chrysalis/Cardano/Coinecta/Types/Datums/Treasury.cs new file mode 100644 index 00000000..044e603a --- /dev/null +++ b/src/Chrysalis/Cardano/Coinecta/Types/Datums/Treasury.cs @@ -0,0 +1,21 @@ +using Chrysalis.Cardano.Core.Types.Primitives; +using Chrysalis.Cardano.Sundae.Types.Common; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Coinecta.Types.Datums; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Treasury( + [CborProperty(0)] + MultisigScript Owner, + + [CborProperty(1)] + CborBytes TreasuryRootHash, + + [CborProperty(2)] + PosixTime UnlockTime +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Coinecta/Types/Redeemers/TreasuryRedeemer.cs b/src/Chrysalis/Cardano/Coinecta/Types/Redeemers/TreasuryRedeemer.cs new file mode 100644 index 00000000..30889ed5 --- /dev/null +++ b/src/Chrysalis/Cardano/Coinecta/Types/Redeemers/TreasuryRedeemer.cs @@ -0,0 +1,24 @@ +using Chrysalis.Cardano.Coinecta.Types.Common; +using Chrysalis.Cardano.MPF.Types.Common; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Coinecta.Types.Redeemers; + +[CborConverter(typeof(UnionConverter))] +public record TreasuryRedeemer : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record TreasuryClaimRedeemer( + [CborProperty(0)] + Proof Proof, + + [CborProperty(1)] + ClaimEntry ClaimEntry +) : TreasuryRedeemer; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record TreasuryWithdrawRedeemer() : TreasuryRedeemer; diff --git a/src/Chrysalis/Cardano/Core/Extensions/AddressExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/AddressExtension.cs new file mode 100644 index 00000000..07a087d0 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Extensions/AddressExtension.cs @@ -0,0 +1,8 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; + +namespace Chrysalis.Cardano.Core.Extensions; + +public static class AddressExtension +{ + public static string? ToBech32(this Address self) => throw new NotImplementedException(); +} \ No newline at end of file diff --git a/src/Chrysalis/Extensions/AssetExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/AssetExtenion.cs similarity index 98% rename from src/Chrysalis/Extensions/AssetExtension.cs rename to src/Chrysalis/Cardano/Core/Extensions/AssetExtenion.cs index 29902598..d868fa42 100644 --- a/src/Chrysalis/Extensions/AssetExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/AssetExtenion.cs @@ -1,7 +1,6 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; -namespace Chrysalis.Extensions; +namespace Chrysalis.Cardano.Core.Extensions; public static class AssetExtension { diff --git a/src/Chrysalis/Extensions/AuxiliaryDataExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs similarity index 53% rename from src/Chrysalis/Extensions/AuxiliaryDataExtension.cs rename to src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs index e3416903..3ee03050 100644 --- a/src/Chrysalis/Extensions/AuxiliaryDataExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs @@ -1,45 +1,46 @@ -using Chrysalis.Cardano.Core; -using Chrysalis.Cardano.Cbor; +using Chrysalis.Cardano.Core.Types.Block.Transaction; +using Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Script; -namespace Chrysalis.Extensions; +namespace Chrysalis.Cardano.Core.Extensions; public static class AuxiliaryDataExtension { - public static Dictionary? Metadata(this AuxiliaryData auxiliaryData) + public static Dictionary? Metadata(this AuxiliaryData auxiliaryData) => auxiliaryData switch { Metadata metadata => metadata.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), - PostAlonzoAuxiliaryData post => post.Value.Metadata?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + PostAlonzoAuxiliaryDataMap post => post.Metadata?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), ShellyMaAuxiliaryData shelley => shelley.TransactionMetadata.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), _ => null }; - public static IEnumerable? NativeScripts(this AuxiliaryData auxiliaryData) + public static IEnumerable? NativeScripts(this AuxiliaryData auxiliaryData) => auxiliaryData switch { - PostAlonzoAuxiliaryData post => post.Value.NativeScriptSet?.Value, + PostAlonzoAuxiliaryDataMap post => post.NativeScriptSet?.Value, ShellyMaAuxiliaryData shelley => shelley.AuxiliaryScripts.Value, _ => null }; - - public static IEnumerable? PlutusV1Scripts(this AuxiliaryData auxiliaryData) + + public static IEnumerable? PlutusV1Scripts(this AuxiliaryData auxiliaryData) => auxiliaryData switch { - PostAlonzoAuxiliaryData post => post.Value.PlutusV1ScriptSet?.Value.Select(script => script.Value), + PostAlonzoAuxiliaryDataMap post => post.PlutusV1ScriptSet?.Value.Select(script => script.Value), _ => null }; - - public static IEnumerable? PlutusV2Scripts(this AuxiliaryData auxiliaryData) + + public static IEnumerable? PlutusV2Scripts(this AuxiliaryData auxiliaryData) => auxiliaryData switch - { - PostAlonzoAuxiliaryData post => post.Value.PlutusV2ScriptSet?.Value.Select(script => script.Value), + { + PostAlonzoAuxiliaryDataMap post => post.PlutusV2ScriptSet?.Value.Select(script => script.Value), _ => null }; - - public static IEnumerable? PlutusV3Scripts(this AuxiliaryData auxiliaryData) + + public static IEnumerable? PlutusV3Scripts(this AuxiliaryData auxiliaryData) => auxiliaryData switch { - PostAlonzoAuxiliaryData post => post.Value.PlutusV3ScriptSet?.Value.Select(script => script.Value), + PostAlonzoAuxiliaryDataMap post => post.PlutusV3ScriptSet?.Value.Select(script => script.Value), _ => null }; } \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Extensions/Blake2bExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/Blake2bExtension.cs new file mode 100644 index 00000000..7210c0dc --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Extensions/Blake2bExtension.cs @@ -0,0 +1,11 @@ +using NSec.Cryptography; + +namespace Chrysalis.Cardano.Core.Extensions; +public static class Blake2bExtension +{ + public static byte[] ToBlake2b256(this byte[] input) + { + Blake2b algorithm = HashAlgorithm.Blake2b_256; + return algorithm.Hash(input); + } +} diff --git a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs new file mode 100644 index 00000000..28c93500 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs @@ -0,0 +1,124 @@ +using Chrysalis.Cardano.Core.Types.Block; +using Chrysalis.Cardano.Core.Types.Block.Header; +using Chrysalis.Cardano.Core.Types.Block.Header.Body; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Body; +using Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; +using Chrysalis.Cbor.Types.Collections; + +namespace Chrysalis.Cardano.Core.Extensions; + +public static class BlockExtension +{ + public static Block GetBlock(this Block block) + => block switch + { + PostAlonzoBlock postAlonzoBlock => postAlonzoBlock, + ShelleyBlock shelleyBlock => shelleyBlock, + PreAlonzoBlock preAlonzoBlock => preAlonzoBlock, + _ => throw new NotImplementedException() + }; + + public static string Hash(this Block block) + => Convert.ToHexString(block.Header().Raw?.ToBlake2b256() ?? []).ToLowerInvariant(); + + public static ulong Slot(this Block block) + => block.HeaderBody() switch + { + AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.Slot.Value, + BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.Slot.Value, + _ => throw new NotImplementedException() + }; + + public static BlockHeader Header(this Block block) + => block switch + { + PostAlonzoBlock postAlonzoBlock => postAlonzoBlock.Header, + ShelleyBlock shelleyBlock => shelleyBlock.Header, + PreAlonzoBlock preAlonzoBlock => preAlonzoBlock.Header, + _ => throw new NotImplementedException() + }; + + public static BlockHeaderBody HeaderBody(this Block block) + => block.Header().HeaderBody switch + { + AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody, + BabbageHeaderBody babbageHeaderBody => babbageHeaderBody, + _ => throw new NotImplementedException() + }; + + public static ulong Number(this Block block) + => block.HeaderBody() switch + { + AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.BlockNumber.Value, + BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.BlockNumber.Value, + _ => throw new NotImplementedException() + }; + + public static IEnumerable TransactionBodies(this Block block) + => block switch + { + PostAlonzoBlock postAlonzoBlock => postAlonzoBlock.TransactionBodies switch + { + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, + _ => throw new NotImplementedException() + }, + ShelleyBlock shelleyBlock => shelleyBlock.TransactionBodies switch + { + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, + _ => throw new NotImplementedException() + }, + PreAlonzoBlock preAlonzoBlock => preAlonzoBlock.TransactionBodies switch + { + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static IEnumerable TransactionWitnessSets(this Block block) + => block switch + { + PostAlonzoBlock postAlonzoBlock => postAlonzoBlock.TransactionWitnessSets switch + { + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, + _ => throw new NotImplementedException() + }, + ShelleyBlock shelleyBlock => shelleyBlock.TransactionWitnessSets switch + { + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, + _ => throw new NotImplementedException() + }, + PreAlonzoBlock preAlonzoBlock => preAlonzoBlock.TransactionWitnessSets switch + { + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static Dictionary AuxiliaryDataSet(this Block block) + => block switch + { + PostAlonzoBlock postAlonzoBlock => postAlonzoBlock.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + PreAlonzoBlock preAlonzoBlock => preAlonzoBlock.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + _ => throw new NotImplementedException() + }; +} diff --git a/src/Chrysalis/Extensions/DatumExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/DatumExtension.cs similarity index 86% rename from src/Chrysalis/Extensions/DatumExtension.cs rename to src/Chrysalis/Cardano/Core/Extensions/DatumExtension.cs index 3e126d66..29814e20 100644 --- a/src/Chrysalis/Extensions/DatumExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/DatumExtension.cs @@ -1,8 +1,6 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; -using Chrysalis.Cbor; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; -namespace Chrysalis.Extensions; +namespace Chrysalis.Cardano.Core.Extensions; public static class DatumExtension { diff --git a/src/Chrysalis/Extensions/TransactionBodyExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs similarity index 52% rename from src/Chrysalis/Extensions/TransactionBodyExtension.cs rename to src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs index 35a7d476..1f7bf505 100644 --- a/src/Chrysalis/Extensions/TransactionBodyExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs @@ -1,14 +1,15 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; -using Chrysalis.Cbor; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Body; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Input; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; +using Chrysalis.Cbor.Types.Collections; -namespace Chrysalis.Extensions; +namespace Chrysalis.Cardano.Core.Extensions; public static class TransactionBodyExtension { public static string Id(this TransactionBody txBody) => - Convert.ToHexString(CborSerializer.Serialize(txBody).ToBlake2b()).ToLowerInvariant(); + Convert.ToHexString(txBody.Raw?.ToBlake2b256() ?? []).ToLowerInvariant(); public static IEnumerable Inputs(this TransactionBody transactionBody) => transactionBody switch @@ -16,26 +17,26 @@ public static IEnumerable Inputs(this TransactionBody transact ConwayTransactionBody x => x.Inputs switch { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag list => list.Value.Value, - CborIndefiniteListWithTag list => list.Value.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, _ => throw new NotImplementedException() }, BabbageTransactionBody x => x.Inputs switch { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag tagList => tagList.Value.Value, - CborIndefiniteListWithTag tagList => tagList.Value.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag tagList => tagList.Value, + CborIndefListWithTag tagList => tagList.Value, _ => throw new NotImplementedException() }, AlonzoTransactionBody x => x.Inputs switch { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag tagList => tagList.Value.Value, - CborIndefiniteListWithTag tagList => tagList.Value.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag tagList => tagList.Value, + CborIndefListWithTag tagList => tagList.Value, _ => throw new NotImplementedException() }, _ => throw new NotImplementedException() @@ -46,26 +47,26 @@ public static IEnumerable Outputs(this TransactionBody transa { ConwayTransactionBody x => x.Outputs switch { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag list => list.Value.Value, - CborIndefiniteListWithTag list => list.Value.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, _ => throw new NotImplementedException() }, BabbageTransactionBody x => x.Outputs switch { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag list => list.Value.Value, - CborIndefiniteListWithTag list => list.Value.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, _ => throw new NotImplementedException() }, AlonzoTransactionBody x => x.Outputs switch { - CborDefiniteList list => list.Value, - CborIndefiniteList list => list.Value, - CborDefiniteListWithTag list => list.Value.Value, - CborIndefiniteListWithTag list => list.Value.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, _ => throw new NotImplementedException() }, _ => throw new NotImplementedException() @@ -79,7 +80,7 @@ public static IEnumerable Outputs(this TransactionBody transa AlonzoTransactionBody x => x.AuxiliaryDataHash?.Value, _ => throw new NotImplementedException() }; - + public static Dictionary? Mint(this TransactionBody transactionBody) => transactionBody switch { diff --git a/src/Chrysalis/Extensions/TransactionInputExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs similarity index 75% rename from src/Chrysalis/Extensions/TransactionInputExtension.cs rename to src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs index 8b3fef3f..36f90e10 100644 --- a/src/Chrysalis/Extensions/TransactionInputExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs @@ -1,6 +1,6 @@ -using Chrysalis.Cardano.Core; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Input; -namespace Chrysalis.Extensions; +namespace Chrysalis.Cardano.Core.Extensions; public static class TransactionInputExtension { diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs new file mode 100644 index 00000000..0c35a086 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs @@ -0,0 +1,59 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; + +namespace Chrysalis.Cardano.Core.Extensions; + +public static class TransactionOutputExtension +{ + public static Address? Address(this TransactionOutput transactionOutput) + => transactionOutput switch + { + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Address, + AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Address, + MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Address, + ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Address, + _ => null + }; + + public static Value? Amount(this TransactionOutput transactionOutput) + => transactionOutput switch + { + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Amount, + AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Amount, + MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Amount, + ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Amount, + _ => null + }; + + public static byte[]? ScriptRef(this TransactionOutput transactionOutput) + => transactionOutput switch + { + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput?.ScriptRef?.Value, + _ => null + }; + + public static byte[]? Datum(this TransactionOutput transactionOutput) + { + DatumOption? datumOption = transactionOutput.DatumOption(); + + if (datumOption == null) + { + return transactionOutput.DatumHash(); + } + + return datumOption.DatumHash() ?? datumOption.InlineDatum(); + } + + public static DatumOption? DatumOption(this TransactionOutput transactionOutput) + => transactionOutput switch + { + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Datum, + _ => null + }; + + public static byte[]? DatumHash(this TransactionOutput transactionOutput) + => transactionOutput switch + { + AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.DatumHash.Value, + _ => null + }; +} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/AuxiliaryDataSet.cs b/src/Chrysalis/Cardano/Core/Types/Block/AuxiliaryDataSet.cs new file mode 100644 index 00000000..776ef61f --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/AuxiliaryDataSet.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block; + +[CborConverter(typeof(MapConverter))] +public record AuxiliaryDataSet(Dictionary Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Block.cs b/src/Chrysalis/Cardano/Core/Types/Block/Block.cs new file mode 100644 index 00000000..ddff534f --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Block.cs @@ -0,0 +1,41 @@ +using Chrysalis.Cardano.Core.Types.Block.Header; +using Chrysalis.Cardano.Core.Types.Block.Transaction; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Body; +using Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block; + +[CborConverter(typeof(UnionConverter))] +public abstract record Block : CborBase; + +[CborConverter(typeof(CustomListConverter))] +public record PostAlonzoBlock( + [CborProperty(0)] BlockHeader Header, + [CborProperty(1)] CborMaybeIndefList TransactionBodies, + [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, + [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet, + [CborProperty(4)] CborMaybeIndefList? InvalidTransactions +) : Block; + +[CborConverter(typeof(CustomListConverter))] +public record ShelleyBlock( + [CborProperty(0)] BlockHeader Header, + [CborProperty(1)] CborMaybeIndefList TransactionBodies, + [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, + [CborProperty(3)] CborMap TransactionMetadata +) : Block; + +[CborConverter(typeof(CustomListConverter))] +public record PreAlonzoBlock( + [CborProperty(0)] BlockHeader Header, + [CborProperty(1)] CborMaybeIndefList TransactionBodies, + [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, + [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet +) : Block; + + diff --git a/src/Chrysalis/Cardano/Core/Types/Block/BlockWithEra.cs b/src/Chrysalis/Cardano/Core/Types/Block/BlockWithEra.cs new file mode 100644 index 00000000..a53795eb --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/BlockWithEra.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block; + +[CborConverter(typeof(CustomListConverter))] +public record BlockWithEra( + [CborProperty(0)] CborInt EraNumber, + [CborProperty(1)] Block Block +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs new file mode 100644 index 00000000..c32d7497 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs @@ -0,0 +1,43 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Header.Body; + +[CborConverter(typeof(UnionConverter))] +public abstract record BlockHeaderBody : CborBase; + + +[CborConverter(typeof(CustomListConverter))] +public record BabbageHeaderBody( + [CborProperty(0)] CborUlong BlockNumber, + [CborProperty(1)] CborUlong Slot, + [CborProperty(2)] CborNullable PrevHash, + [CborProperty(3)] CborBytes IssuerVKey, + [CborProperty(4)] CborBytes VrfVKey, + [CborProperty(5)] VrfCert VrfResult, + [CborProperty(6)] CborUlong BlockBodySize, + [CborProperty(7)] CborBytes BlockBodyHash, + [CborProperty(8)] OperationalCert OperationalCert, + [CborProperty(9)] ProtocolVersion ProtocolVersion +) : BlockHeaderBody; + +[CborConverter(typeof(CustomListConverter))] +public record AlonzoHeaderBody( + [CborProperty(0)] CborUlong BlockNumber, + [CborProperty(1)] CborUlong Slot, + [CborProperty(2)] CborNullable PrevHash, + [CborProperty(3)] CborBytes IssuerVKey, + [CborProperty(4)] CborBytes VrfVKey, + [CborProperty(5)] VrfCert NonceVrf, + [CborProperty(6)] VrfCert LeaderVrf, + [CborProperty(7)] CborUlong BlockBodySize, + [CborProperty(8)] CborBytes BlockBodyHash, + [CborProperty(9)] CborBytes HotVKey, + [CborProperty(10)] CborUlong SequenceNumber, + [CborProperty(11)] CborUlong KesPeriod, + [CborProperty(12)] CborBytes Sigma, + [CborProperty(13)] CborUlong ProtocolMajor, + [CborProperty(14)] CborUlong ProtocolMinor +) : BlockHeaderBody; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/OperationalCert.cs b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/OperationalCert.cs new file mode 100644 index 00000000..179225ec --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/OperationalCert.cs @@ -0,0 +1,14 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Header.Body; + +[CborConverter(typeof(CustomListConverter))] +public record OperationalCert( + [CborProperty(0)] CborBytes HotVKey, + [CborProperty(1)] CborUlong SequenceNumber, + [CborProperty(2)] CborUlong KesPeriod, + [CborProperty(3)] CborBytes Sigma +) : CborBase; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/ProtocolVersion.cs b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/ProtocolVersion.cs new file mode 100644 index 00000000..913459e0 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/ProtocolVersion.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Header.Body; + +[CborConverter(typeof(CustomListConverter))] +public record ProtocolVersion( + [CborProperty(0)] CborInt MajorProtocolVersion, + [CborProperty(1)] CborUlong SequenceNumber +) : CborBase; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/VrfCert.cs b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/VrfCert.cs new file mode 100644 index 00000000..e2456f22 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/VrfCert.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Header.Body; + +[CborConverter(typeof(CustomListConverter))] +public record VrfCert( + [CborProperty(0)] CborBytes Proof, + [CborProperty(1)] CborBytes Output +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Header/Header.cs b/src/Chrysalis/Cardano/Core/Types/Block/Header/Header.cs new file mode 100644 index 00000000..57ba37f2 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Header/Header.cs @@ -0,0 +1,13 @@ +using Chrysalis.Cardano.Core.Types.Block.Header.Body; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Header; + +[CborConverter(typeof(CustomListConverter))] +public record BlockHeader( + [CborProperty(0)] BlockHeaderBody HeaderBody, + [CborProperty(1)] CborBytes BodySignature +) : CborBase; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Anchor.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Anchor.cs new file mode 100644 index 00000000..6f76fed6 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Anchor.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction; + +[CborConverter(typeof(CustomListConverter))] +public record Anchor( + [CborProperty(0)] CborText AnchorUrl, + [CborProperty(1)] CborBytes AnchorDataHash +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/Certificate.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/Certificate.cs new file mode 100644 index 00000000..98386d80 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/Certificate.cs @@ -0,0 +1,175 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Body.ProposalProcedures; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body.Certificates; + +[CborConverter(typeof(UnionConverter))] +public abstract record Certificate : CborBase; + + +[CborConverter(typeof(CustomListConverter))] +public record StakeRegistration( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record StakeDeregistration( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record StakeDelegation( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborBytes PoolKeyHash +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record PoolRegistration( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes Operator, + [CborProperty(2)] CborBytes VrfKeyHash, + [CborProperty(3)] CborUlong Pledge, + [CborProperty(4)] CborUlong Cost, + [CborProperty(5)] CborRationalNumber Margin, + [CborProperty(6)] RewardAccount RewardAccount, + [CborProperty(7)] CborMaybeIndefList PoolOwners, + [CborProperty(8)] CborMaybeIndefList Relay, + [CborProperty(9)] CborNullable PoolMetadata +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record PoolRetirement( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes PoolKeyHash, + [CborProperty(2)] CborUlong EpochNo +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record RegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborUlong Coin +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record UnRegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborUlong Coin +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record VoteDelegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] DRep DRep +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record StakeVoteDelegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborBytes PoolKeyHash, + [CborProperty(3)] DRep DRep +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record StakeRegDelegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborBytes PoolKeyHash, + [CborProperty(3)] CborUlong Coin +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record VoteRegDelegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] DRep DRep, + [CborProperty(3)] CborUlong Coin +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record StakeVoteRegDelegCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential StakeCredential, + [CborProperty(2)] CborBytes PoolKeyHash, + [CborProperty(3)] DRep Drep, + [CborProperty(4)] CborUlong Coin +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record AuthCommitteeHotCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential CommitteeColdCredential, + [CborProperty(2)] Credential CommitteeHotCredential +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record ResignCommitteeColdCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes CommitteeColdCredential, + [CborProperty(2)] Anchor? Anchor +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record RegDrepCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential DRepCredential, + [CborProperty(2)] CborUlong Coin, + [CborProperty(3)] CborNullable Anchor +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record UnRegDrepCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential DrepCredential, + [CborProperty(2)] CborUlong Coin +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record UpdateDrepCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] Credential DrepCredential, + [CborProperty(2)] CborNullable Anchor +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record GenesisKeyDelegation( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes GenesisHash, + [CborProperty(2)] CborBytes GenesisDelegateHash, + [CborProperty(3)] CborBytes VrfKeyHash +) : Certificate; + + +[CborConverter(typeof(CustomListConverter))] +public record MoveInstantaneousRewardsCert( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] MoveInstantaneousReward MoveInstantaneousReward +) : Certificate; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs new file mode 100644 index 00000000..63e07a84 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs @@ -0,0 +1,24 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body.Certificates; + +[CborConverter(typeof(CustomListConverter))] +public record MoveInstantaneousReward( + [CborProperty(0)] CborInt InstantaneousRewardSource, + [CborProperty(1)] Target InstantaneousRewardTarget +) : CborBase; + + +[CborConverter(typeof(UnionConverter))] +public abstract record Target : CborBase; + + +[CborConverter(typeof(MapConverter))] +public record StakeCredentials(Dictionary Value) : CborBase; + + +[CborConverter(typeof(UlongConverter))] +public record OtherAccountingPot(ulong Value) : Target; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/PoolMetadata.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/PoolMetadata.cs new file mode 100644 index 00000000..44a315e5 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/PoolMetadata.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body.Certificates; + +[CborConverter(typeof(CustomListConverter))] +public record PoolMetadata( + [CborProperty(0)] CborText Url, + [CborProperty(1)] CborBytes PoolMetadataHash +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/Relay.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/Relay.cs new file mode 100644 index 00000000..19eabee6 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/Relay.cs @@ -0,0 +1,34 @@ + +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body.Certificates; + +[CborConverter(typeof(UnionConverter))] +public abstract record Relay : CborBase; + + +[CborConverter(typeof(CustomListConverter))] +public record SingleHostAddr( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborNullable Port, + [CborProperty(2)] CborNullable IPv4, + [CborProperty(3)] CborNullable IPv6 +) : Relay; + + +[CborConverter(typeof(CustomListConverter))] +public record SingleHostName( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborNullable Port, + [CborProperty(2)] CborText DNSName +) : Relay; + + +[CborConverter(typeof(CustomListConverter))] +public record MultiHostName( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborText DNSName +) : Relay; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs new file mode 100644 index 00000000..a66c5e0f --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs @@ -0,0 +1,8 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body.ProposalProcedures; + +[CborConverter(typeof(BytesConverter))] +public record RewardAccount(byte[] Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs new file mode 100644 index 00000000..70ad4ff9 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs @@ -0,0 +1,78 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Body.Certificates; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Input; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body; + +[CborConverter(typeof(UnionConverter))] +public abstract record TransactionBody : CborBase; + + +[CborConverter(typeof(CustomMapConverter))] +public record ConwayTransactionBody( + [CborProperty(0)] CborMaybeIndefList Inputs, + [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(2)] CborUlong Fee, + [CborProperty(3)] CborUlong? TimeToLive, + [CborProperty(4)] CborMaybeIndefList? Certificates, + [CborProperty(5)] Withdrawals? Withdrawals, + [CborProperty(7)] CborBytes? AuxiliaryDataHash, + [CborProperty(8)] CborUlong? ValidityIntervalStart, + [CborProperty(9)] MultiAssetMint? Mint, + [CborProperty(11)] CborBytes? ScriptDataHash, + [CborProperty(13)] CborMaybeIndefList? Collateral, + [CborProperty(14)] CborMaybeIndefList? RequiredSigners, + [CborProperty(15)] CborInt? NetworkId, + [CborProperty(16)] TransactionOutput? CollateralReturn, + [CborProperty(17)] CborUlong? TotalCollateral, + [CborProperty(18)] CborMaybeIndefList? ReferenceInputs, + [CborProperty(19)] VotingProcedures VotingProcedures, + [CborProperty(20)] CborMaybeIndefList? ProposalProcedures, + [CborProperty(21)] CborUlong? TreasuryValue, + [CborProperty(22)] CborUlong? Donation +) : TransactionBody; + +[CborConverter(typeof(CustomMapConverter))] +public record BabbageTransactionBody( + [CborProperty(0)] CborMaybeIndefList Inputs, + [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(2)] CborUlong Fee, + [CborProperty(3)] CborUlong? TimeToLive, + [CborProperty(4)] CborMaybeIndefList? Certificates, + [CborProperty(5)] Withdrawals? Withdrawals, + [CborProperty(6)] Update? Update, + [CborProperty(7)] CborBytes? AuxiliaryDataHash, + [CborProperty(8)] CborUlong? ValidityIntervalStart, + [CborProperty(9)] MultiAssetMint? Mint, + [CborProperty(11)] CborBytes? ScriptDataHash, + [CborProperty(13)] CborMaybeIndefList? Collateral, + [CborProperty(14)] CborMaybeIndefList? RequiredSigners, + [CborProperty(15)] CborInt? NetworkId, + [CborProperty(16)] TransactionOutput? CollateralReturn, + [CborProperty(17)] CborUlong? TotalCollateral, + [CborProperty(18)] CborMaybeIndefList? ReferenceInputs +) : TransactionBody; + +[CborConverter(typeof(CustomMapConverter))] +public record AlonzoTransactionBody( + [CborProperty(0)] CborMaybeIndefList Inputs, + [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(2)] CborUlong Fee, + [CborProperty(3)] CborUlong? TimeToLive, + [CborProperty(4)] CborMaybeIndefList? Certificates, + [CborProperty(5)] Withdrawals? Withdrawals, + [CborProperty(6)] Update? Update, + [CborProperty(7)] CborBytes? AuxiliaryDataHash, + [CborProperty(8)] CborUlong? ValidityIntervalStart, + [CborProperty(9)] MultiAssetMint? Mint, + [CborProperty(11)] CborBytes? ScriptDataHash, + [CborProperty(13)] CborMaybeIndefList? Collateral, + [CborProperty(14)] CborMaybeIndefList? RequiredSigners, + [CborProperty(15)] CborInt? NetworkId +) : TransactionBody; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Update.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Update.cs new file mode 100644 index 00000000..8892b1bb --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Update.cs @@ -0,0 +1,13 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body; + +[CborConverter(typeof(CustomListConverter))] +public record Update( + [CborProperty(0)] ProposedProtocolParameterUpdates ProposedProtocolParameterUpdates, + [CborProperty(1)] CborUlong Epoch +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Withdrawals.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Withdrawals.cs new file mode 100644 index 00000000..53d981ef --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Withdrawals.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Body.ProposalProcedures; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body; + +[CborConverter(typeof(MapConverter))] +public record Withdrawals(Dictionary Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Credential.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Credential.cs new file mode 100644 index 00000000..0cbc24ed --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Credential.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction; + +[CborConverter(typeof(CustomListConverter))] +public record Credential( + [CborProperty(0)] CborInt CredentialType, + [CborProperty(1)] CborBytes Hash +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/Constituion.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/Constituion.cs new file mode 100644 index 00000000..5b7ee263 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/Constituion.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; + +[CborConverter(typeof(CustomListConverter))] +public record Constitution( + [CborProperty(0)] Anchor Anchor, + [CborProperty(1)] CborNullable ScriptHash +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/DRep.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/DRep.cs new file mode 100644 index 00000000..57d7e70d --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/DRep.cs @@ -0,0 +1,31 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; + +[CborConverter(typeof(UnionConverter))] +public abstract record DRep : CborBase; + +[CborConverter(typeof(CustomListConverter))] +public record DRepAddrKeyHash( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes AddrKeyHash +) : DRep; + +[CborConverter(typeof(CustomListConverter))] +public record DRepScriptHash( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes ScriptHash +) : DRep; + +[CborConverter(typeof(CustomListConverter))] +public record Abstain( + [CborProperty(0)] CborInt Tag +) : DRep; + +[CborConverter(typeof(CustomListConverter))] +public record DRepNoConfidence( + [CborProperty(0)] CborInt Tag +) : DRep; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/DRepVotingThresholds.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/DRepVotingThresholds.cs new file mode 100644 index 00000000..77fdcedb --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/DRepVotingThresholds.cs @@ -0,0 +1,20 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; + +[CborConverter(typeof(CustomListConverter))] +public record DRepVotingThresholds( + [CborProperty(0)] CborRationalNumber MotionNoConfidence, + [CborProperty(1)] CborRationalNumber CommitteeNormal, + [CborProperty(2)] CborRationalNumber CommitteeNoConfidence, + [CborProperty(4)] CborRationalNumber UpdateConstitution, + [CborProperty(5)] CborRationalNumber HardForkInitiation, + [CborProperty(6)] CborRationalNumber PpNetworkGroup, + [CborProperty(7)] CborRationalNumber PpEconomicGroup, + [CborProperty(8)] CborRationalNumber PpTechnicalGroup, + [CborProperty(9)] CborRationalNumber PpGovernanceGroup, + [CborProperty(10)] CborRationalNumber TreasuryWithdrawal +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovAction.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovAction.cs new file mode 100644 index 00000000..45018694 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovAction.cs @@ -0,0 +1,66 @@ +using Chrysalis.Cardano.Core.Types.Block.Header.Body; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Body; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; + +[CborConverter(typeof(UnionConverter))] +public abstract record GovAction : CborBase; + + +[CborConverter(typeof(CustomListConverter))] +public record ParameterChangeAction( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] CborNullable GovActionId, + [CborProperty(2)] ProtocolParamUpdate ProtocolParamUpdate, + [CborProperty(3)] CborNullable PolicyHash +) : GovAction; + + +[CborConverter(typeof(CustomListConverter))] +public record HardForkInitiationAction( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] CborNullable GovActionId, + [CborProperty(2)] ProtocolVersion ProtocolVersion +) : GovAction; + + +[CborConverter(typeof(CustomListConverter))] +public record TreasuryWithdrawalsAction( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] Withdrawals Withdrawals, + [CborProperty(2)] CborNullable PolicyHash +) : GovAction; + + +[CborConverter(typeof(CustomListConverter))] +public record NoConfidence( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] CborNullable GovActionId +) : GovAction; + +[CborConverter(typeof(CustomListConverter))] +public record UpdateCommittee( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] CborNullable GovActionId, + [CborProperty(2)] CborDefList NewMembers, + [CborProperty(3)] MemberTermLimits MemberTermLimits, + [CborProperty(4)] CborRationalNumber QuorumThreshold +) : GovAction; + +[CborConverter(typeof(CustomListConverter))] +public record NewConstitution( + [CborProperty(0)] CborInt ActionType, + [CborProperty(1)] CborNullable GovActionId, + [CborProperty(2)] Constitution Constitution +) : GovAction; + +[CborConverter(typeof(CustomListConverter))] +public record InfoAction( + [CborProperty(0)] CborInt Value +) : GovAction; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovActionId.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovActionId.cs new file mode 100644 index 00000000..e3c8ac5e --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovActionId.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; + +[CborConverter(typeof(CustomListConverter))] +public record GovActionId( + [CborProperty(0)] CborBytes TransactionId, + [CborProperty(1)] CborInt GovActionIndex +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/MemberTermLimits.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/MemberTermLimits.cs new file mode 100644 index 00000000..8532ee8b --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/MemberTermLimits.cs @@ -0,0 +1,9 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; + +[CborConverter(typeof(MapConverter))] +public record MemberTermLimits(Dictionary Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/ProposalProcedure.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/ProposalProcedure.cs new file mode 100644 index 00000000..034e1aad --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/ProposalProcedure.cs @@ -0,0 +1,15 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Body.ProposalProcedures; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; + +[CborConverter(typeof(CustomListConverter))] +public record ProposalProcedure( + [CborProperty(0)] CborUlong Deposit, + [CborProperty(1)] RewardAccount RewardAccount, + [CborProperty(2)] GovAction GovAction, + [CborProperty(3)] Anchor Anchor +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/Voter.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/Voter.cs new file mode 100644 index 00000000..baab1a7e --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/Voter.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; + +[CborConverter(typeof(CustomListConverter))] +public record Voter( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes Hash +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedure.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedure.cs new file mode 100644 index 00000000..66e7a4fa --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedure.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; + +[CborConverter(typeof(CustomListConverter))] +public record VotingProcedure( + [CborProperty(0)] CborInt Vote, + [CborProperty(1)] CborNullable Anchor +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedures.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedures.cs new file mode 100644 index 00000000..c1636e5f --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedures.cs @@ -0,0 +1,16 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; + +[CborConverter(typeof(MapConverter))] +public record VotingProcedures( + Dictionary Value +) : CborBase; + + +[CborConverter(typeof(MapConverter))] +public record VoterChoices( + Dictionary Value +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Input/TransactionInput.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Input/TransactionInput.cs new file mode 100644 index 00000000..2d80e0c9 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Input/TransactionInput.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Input; + +[CborConverter(typeof(CustomListConverter))] +public record TransactionInput( + [CborProperty(0)] CborBytes TransactionId, + [CborProperty(1)] CborUlong Index +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/Address.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/Address.cs new file mode 100644 index 00000000..d3c61f6c --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/Address.cs @@ -0,0 +1,8 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Output; + +[CborConverter(typeof(BytesConverter))] +public record Address(byte[] Value) : CborBase; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/DatumOption.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/DatumOption.cs new file mode 100644 index 00000000..36c853ad --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/DatumOption.cs @@ -0,0 +1,23 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Output; + +[CborConverter(typeof(UnionConverter))] +public abstract record DatumOption : CborBase; + + +[CborConverter(typeof(CustomListConverter))] +public record DatumHashOption( + [CborProperty(0)] CborInt Option, + [CborProperty(1)] CborBytes DatumHash +) : DatumOption; + + +[CborConverter(typeof(CustomListConverter))] +public record InlineDatumOption( + [CborProperty(0)] CborInt Option, + [CborProperty(1)] CborEncodedValue Data +) : DatumOption; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/MultiAsset.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/MultiAsset.cs new file mode 100644 index 00000000..09c75896 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/MultiAsset.cs @@ -0,0 +1,23 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Output; + +[CborConverter(typeof(UnionConverter))] +public abstract record MultiAsset : CborBase; + + +[CborConverter(typeof(MapConverter))] +[CborDefinite] +public record MultiAssetOutput( + Dictionary Value +) : MultiAsset; + + +[CborConverter(typeof(MapConverter))] +[CborDefinite] +public record MultiAssetMint( + Dictionary Value +) : MultiAsset; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TokenBundle.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TokenBundle.cs new file mode 100644 index 00000000..f4674fcd --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TokenBundle.cs @@ -0,0 +1,17 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Output; + +[CborConverter(typeof(UnionConverter))] +public abstract record TokenBundle : CborBase; + + +[CborConverter(typeof(MapConverter))] +public record TokenBundleOutput(Dictionary Value) : TokenBundle; + + +[CborConverter(typeof(MapConverter))] +public record TokenBundleMint(Dictionary Value) : TokenBundle; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TransactionOutput.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TransactionOutput.cs new file mode 100644 index 00000000..d77fa192 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TransactionOutput.cs @@ -0,0 +1,40 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Output; + +[CborConverter(typeof(UnionConverter))] +public abstract record TransactionOutput : CborBase; + + +[CborConverter(typeof(CustomListConverter))] +public record ShellyTransactionOutput( + [CborProperty(0)] Address Address, + [CborProperty(1)] Lovelace Amount +) : TransactionOutput; + + +[CborConverter(typeof(CustomListConverter))] +public record MaryTransactionOutput( + [CborProperty(0)] Address Address, + [CborProperty(1)] Value Amount +) : TransactionOutput; + + +[CborConverter(typeof(CustomListConverter))] +public record AlonzoTransactionOutput( + [CborProperty(0)] Address Address, + [CborProperty(1)] Value Amount, + [CborProperty(2)] CborBytes DatumHash +) : TransactionOutput; + + +[CborConverter(typeof(CustomMapConverter))] +public record BabbageTransactionOutput( + [CborProperty(0)] Address Address, + [CborProperty(1)] Value Amount, + [CborProperty(2)] DatumOption? Datum, + [CborProperty(3)] CborEncodedValue? ScriptRef +) : TransactionOutput; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/Value.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/Value.cs new file mode 100644 index 00000000..7802c493 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/Value.cs @@ -0,0 +1,20 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Output; + + +[CborConverter(typeof(UnionConverter))] +public abstract record Value : CborBase; + + +[CborConverter(typeof(UlongConverter))] +public record Lovelace(ulong Value) : Value; + + +[CborConverter(typeof(CustomListConverter))] +public record LovelaceWithMultiAsset( + [CborProperty(0)] Lovelace Lovelace, + [CborProperty(1)] MultiAssetOutput MultiAsset +) : Value; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/CostMdls.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/CostMdls.cs new file mode 100644 index 00000000..0505a5f0 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/CostMdls.cs @@ -0,0 +1,10 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; + +[CborConverter(typeof(MapConverter))] +public record CostMdls(Dictionary> Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ExUnitPrices.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ExUnitPrices.cs new file mode 100644 index 00000000..47157827 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ExUnitPrices.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; + +[CborConverter(typeof(CustomListConverter))] +public record ExUnitPrices( + [CborProperty(0)] CborRationalNumber MemPrice, + [CborProperty(1)] CborRationalNumber StepPrice +) : CborBase; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ExUnits.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ExUnits.cs new file mode 100644 index 00000000..0c676898 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ExUnits.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; + +[CborConverter(typeof(CustomListConverter))] +public record ExUnits( + [CborProperty(0)] CborUlong Mem, + [CborProperty(1)] CborUlong Steps +) : CborBase; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/Nonce.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/Nonce.cs new file mode 100644 index 00000000..30893f09 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/Nonce.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; + +[CborConverter(typeof(CustomListConverter))] +public record Nonce( + [CborProperty(0)] CborUlong Variant, + [CborProperty(1)] CborBytes? Hash +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/PoolVotingThresholds.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/PoolVotingThresholds.cs new file mode 100644 index 00000000..51f8542e --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/PoolVotingThresholds.cs @@ -0,0 +1,15 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; + +[CborConverter(typeof(CustomListConverter))] +public record PoolVotingThresholds( + [CborProperty(0)] CborRationalNumber MotionNoConfidence, + [CborProperty(1)] CborRationalNumber CommitteeNormal, + [CborProperty(2)] CborRationalNumber CommitteeNoConfidence, + [CborProperty(3)] CborRationalNumber HardForkInitiation, + [CborProperty(4)] CborRationalNumber SecurityVotingThreshold +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ProtocolParamUpdate.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ProtocolParamUpdate.cs new file mode 100644 index 00000000..81f4a571 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ProtocolParamUpdate.cs @@ -0,0 +1,107 @@ +using Chrysalis.Cardano.Core.Types.Block.Header.Body; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; + +[CborConverter(typeof(MapConverter))] +public abstract record ProtocolParamUpdate : CborBase; + + +[CborConverter(typeof(CustomMapConverter))] +public record ConwayProtocolParamUpdate( + [CborProperty(0)] CborUlong? MinFeeA, + [CborProperty(1)] CborUlong? MinFeeB, + [CborProperty(2)] CborUlong? MaxBlockBodySize, + [CborProperty(3)] CborUlong? MaxTransactionSize, + [CborProperty(4)] CborUlong? MaxBlockHeaderSize, + [CborProperty(5)] CborUlong? KeyDeposit, + [CborProperty(6)] CborUlong? PoolDeposit, + [CborProperty(7)] CborUlong? MaximumEpoch, + [CborProperty(8)] CborUlong? DesiredNumberOfStakePools, + [CborProperty(9)] CborRationalNumber? PoolPledgeInfluence, + [CborProperty(10)] CborRationalNumber? ExpansionRate, + [CborProperty(11)] CborRationalNumber? TreasuryGrowthRate, + [CborProperty(16)] CborUlong? MinPoolCost, + [CborProperty(17)] CborUlong? AdaPerUTxOByte, + [CborProperty(18)] CostMdls? CostModelsForScriptLanguage, + [CborProperty(19)] ExUnitPrices? ExecutionCosts, + [CborProperty(20)] ExUnits? MaxTxExUnits, + [CborProperty(21)] ExUnits? MaxBlockExUnits, + [CborProperty(22)] CborUlong? MaxValueSize, + [CborProperty(23)] CborUlong? CollateralPercentage, + [CborProperty(24)] CborUlong? MaxCollateralInputs, + [CborProperty(25)] PoolVotingThresholds? PoolVotingThresholds, + [CborProperty(26)] DRepVotingThresholds? DRepVotingThresholds, + [CborProperty(27)] CborUlong? MinCommitteeSize, + [CborProperty(28)] CborUlong? CommitteeTermLimit, + [CborProperty(29)] CborUlong? GovernanceActionValidityPeriod, + [CborProperty(30)] CborUlong? GovernanceActionDeposit, + [CborProperty(31)] CborUlong? DRepDeposit, + [CborProperty(32)] CborUlong? DRepInactivityPeriod, + [CborProperty(33)] CborRationalNumber? MinFeeRefScriptCostPerByte +) : ProtocolParamUpdate; + +[CborConverter(typeof(CustomMapConverter))] +public record BabbageProtocolParamUpdate( + [CborProperty(0)] CborUlong? MinFeeA, + [CborProperty(1)] CborUlong? MinFeeB, + [CborProperty(2)] CborUlong? MaxBlockBodySize, + [CborProperty(3)] CborUlong? MaxTransactionSize, + [CborProperty(4)] CborUlong? MaxBlockHeaderSize, + [CborProperty(5)] CborUlong? KeyDeposit, + [CborProperty(6)] CborUlong? PoolDeposit, + [CborProperty(7)] CborUlong? MaximumEpoch, + [CborProperty(8)] CborUlong? DesiredNumberOfStakePools, + [CborProperty(9)] CborRationalNumber? PoolPledgeInfluence, + [CborProperty(10)] CborRationalNumber? ExpansionRate, + [CborProperty(11)] CborRationalNumber? TreasuryGrowthRate, + [CborProperty(14)] ProtocolVersion? ProtocolVersion, + [CborProperty(16)] CborUlong? MinPoolCost, + [CborProperty(17)] CborUlong? AdaPerUTxOByte, + [CborProperty(18)] CostMdls? CostModelsForScriptLanguage, + [CborProperty(19)] ExUnitPrices? ExecutionCosts, + [CborProperty(20)] ExUnits? MaxTxExUnits, + [CborProperty(21)] ExUnits? MaxBlockExUnits, + [CborProperty(22)] CborUlong? MaxValueSize, + [CborProperty(23)] CborUlong? CollateralPercentage, + [CborProperty(24)] CborUlong? MaxCollateralInputs +) : ProtocolParamUpdate; + +[CborConverter(typeof(CustomMapConverter))] +public record AlonzoProtocolParamUpdate( + [CborProperty(0)] CborUlong? MinFeeA, + [CborProperty(1)] CborUlong? MinFeeB, + [CborProperty(2)] CborUlong? MaxBlockBodySize, + [CborProperty(3)] CborUlong? MaxTransactionSize, + [CborProperty(4)] CborUlong? MaxBlockHeaderSize, + [CborProperty(5)] CborUlong? KeyDeposit, + [CborProperty(6)] CborUlong? PoolDeposit, + [CborProperty(7)] CborUlong? MaximumEpoch, + [CborProperty(8)] CborUlong? DesiredNumberOfStakePools, + [CborProperty(9)] CborRationalNumber? PoolPledgeInfluence, + [CborProperty(10)] CborRationalNumber? ExpansionRate, + [CborProperty(11)] CborRationalNumber? TreasuryGrowthRate, + [CborProperty(12)] CborRationalNumber? DecentralizationConstant, + [CborProperty(13)] Nonce? ExtraEntropy, + [CborProperty(14)] ProtocolVersion? ProtocolVersion, + [CborProperty(16)] CborUlong? MinPoolCost, + [CborProperty(17)] CborUlong? AdaPerUTxOByte, + [CborProperty(18)] CostMdls? CostModelsForScriptLanguage, + [CborProperty(19)] ExUnitPrices? ExecutionCosts, + [CborProperty(20)] ExUnits? MaxTxExUnits, + [CborProperty(21)] ExUnits? MaxBlockExUnits, + [CborProperty(22)] CborUlong? MaxValueSize, + [CborProperty(23)] CborUlong? CollateralPercentage, + [CborProperty(24)] CborUlong? MaxCollateralInputs +) : ProtocolParamUpdate; + + + +[CborConverter(typeof(MapConverter))] +public record ProposedProtocolParameterUpdates( + Dictionary Value +) : CborBase; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/NativeScript.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/NativeScript.cs new file mode 100644 index 00000000..5fc1e987 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/NativeScript.cs @@ -0,0 +1,47 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Script; + +[CborConverter(typeof(UnionConverter))] +public abstract record NativeScript : CborBase; + +[CborConverter(typeof(CustomListConverter))] +public record ScriptPubKey( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborBytes AddrKeyHash +) : NativeScript; + +[CborConverter(typeof(CustomListConverter))] +public record ScriptAll( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborDefList Scripts +) : NativeScript; + +[CborConverter(typeof(CustomListConverter))] +public record ScriptAny( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborDefList Scripts +) : NativeScript; + +[CborConverter(typeof(CustomListConverter))] +public record ScriptNOfK( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborInt N, + [CborProperty(2)] CborDefList Scripts +) : NativeScript; + +[CborConverter(typeof(CustomListConverter))] +public record InvalidBefore( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborUlong Slot +) : NativeScript; + +[CborConverter(typeof(CustomListConverter))] +public record InvalidHereafter( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborUlong Slot +) : NativeScript; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs new file mode 100644 index 00000000..4d92e244 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs @@ -0,0 +1,60 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Script; + +[CborConverter(typeof(UnionConverter))] +public abstract record PlutusData : CborBase; + + +[CborConverter(typeof(CustomConstrConverter))] +public record PlutusConstr(List PlutusData) : PlutusData; + + +[CborConverter(typeof(MapConverter))] +[CborDefinite] +public record PlutusMap(Dictionary Value) : PlutusData; + + +[CborConverter(typeof(UnionConverter))] +public abstract record PlutusBigInt : PlutusData; + + +[CborConverter(typeof(UlongConverter))] +public record PlutusBigUInt(ulong Value) : PlutusBigInt; + + +[CborConverter(typeof(LongConverter))] +public record PlutusBigNInt(long Value) : PlutusBigInt; + + +[CborConverter(typeof(UnionConverter))] +public abstract record PlutusBytes : PlutusData; + + +[CborConverter(typeof(BytesConverter))] +[CborSize(64)] +public record PlutusBoundedBytes(byte[] Value) : PlutusBytes; + + +[CborConverter(typeof(BytesConverter))] +public record PlutusDefiniteBytes(byte[] Value) : PlutusBytes; + + +[CborConverter(typeof(BytesConverter))] +[CborTag(2)] +public record PlutusBytesWithTag(PlutusBytes Value) : PlutusData; + + +[CborConverter(typeof(UnionConverter))] +public abstract record PlutusList : PlutusData; + + +[CborConverter(typeof(ListConverter))] +public record PlutusIndefiniteList(List Value) : PlutusList; + + +[CborConverter(typeof(ListConverter))] +[CborDefinite] +public record PlutusDefiniteList(List Value) : PlutusList; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusOption.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusOption.cs new file mode 100644 index 00000000..dae78288 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusOption.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Script; + +[CborConverter(typeof(UnionConverter))] +public abstract record PlutusOption : CborBase; + +public record PlutusSome([CborProperty(0)] T Value) : PlutusOption; + +public record PlutusNone : PlutusOption; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Transaction.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Transaction.cs new file mode 100644 index 00000000..45c54467 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Transaction.cs @@ -0,0 +1,17 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Body; +using Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction; + +[CborConverter(typeof(CustomListConverter))] +public record Transaction( + [CborProperty(0)] TransactionBody TransactionBody, + [CborProperty(1)] TransactionWitnessSet TransactionWitnessSet, + [CborProperty(2)] CborBool IsValid, + [CborProperty(3)] CborNullable AuxiliaryData +) : CborBase; + diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/TransactionMetadatum.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/TransactionMetadatum.cs new file mode 100644 index 00000000..50fa1dd1 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/TransactionMetadatum.cs @@ -0,0 +1,41 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction; + +[CborConverter(typeof(UnionConverter))] +public abstract record TransactionMetadatum : CborBase; + + +[CborConverter(typeof(MapConverter))] +public record MetadatumMap( + Dictionary Value +) : TransactionMetadatum; + + +[CborConverter(typeof(ListConverter))] +[CborDefinite] +public record MetadatumList( + List Value +) : TransactionMetadatum; + + +[CborConverter(typeof(BytesConverter))] +public record MetadatumBytes(byte[] Value) : TransactionMetadatum; + + +[CborConverter(typeof(TextConverter))] +public record MetadataText(string Value) : TransactionMetadatum; + + +[CborConverter(typeof(UnionConverter))] +public abstract record MetadatumInt : TransactionMetadatum; + + +[CborConverter(typeof(LongConverter))] +public record MetadatumIntLong(long Value) : MetadatumInt; + + +[CborConverter(typeof(UlongConverter))] +public record MetadatumIntULong(ulong Value) : MetadatumInt; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryData.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryData.cs new file mode 100644 index 00000000..b0514ca0 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryData.cs @@ -0,0 +1,33 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Script; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; + +[CborConverter(typeof(UnionConverter))] +public abstract record AuxiliaryData : CborBase; + + +[CborConverter(typeof(CustomMapConverter))] +[CborTag(259)] +public record PostAlonzoAuxiliaryDataMap( + [CborProperty(0)] Metadata? Metadata, + [CborProperty(1)] CborDefList? NativeScriptSet, + [CborProperty(2)] CborDefList? PlutusV1ScriptSet, + [CborProperty(3)] CborDefList? PlutusV2ScriptSet, + [CborProperty(4)] CborDefList? PlutusV3ScriptSet +) : AuxiliaryData; + + +[CborConverter(typeof(MapConverter))] +public record Metadata(Dictionary Value) : AuxiliaryData; + + +[CborConverter(typeof(CustomListConverter))] +public record ShellyMaAuxiliaryData( + [CborProperty(0)] Metadata TransactionMetadata, + [CborProperty(1)] CborDefList AuxiliaryScripts +) : AuxiliaryData; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/BootstrapWitness.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/BootstrapWitness.cs new file mode 100644 index 00000000..17bf531a --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/BootstrapWitness.cs @@ -0,0 +1,16 @@ + +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; + +[CborConverter(typeof(CustomListConverter))] +[CborDefinite] +public record BootstrapWitness( + [CborProperty(0)] CborBytes PublicKey, + [CborProperty(1)] CborBytes Signature, + [CborProperty(2)] CborBytes ChainCode, + [CborProperty(3)] CborBytes Attributes +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/Redeemers.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/Redeemers.cs new file mode 100644 index 00000000..dd912608 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/Redeemers.cs @@ -0,0 +1,40 @@ + +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Script; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; + +[CborConverter(typeof(UnionConverter))] +public abstract record Redeemers : CborBase; + +[CborConverter(typeof(ListConverter))] +[CborDefinite] +public record RedeemerList(List Value) : Redeemers; + +[CborConverter(typeof(MapConverter))] +[CborDefinite] +public record RedeemerMap(Dictionary Value) : Redeemers; + +[CborConverter(typeof(CustomListConverter))] +public record RedeemerEntry( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborUlong Index, + [CborProperty(2)] PlutusData Data, + [CborProperty(3)] ExUnits ExUnits +) : CborBase; + +[CborConverter(typeof(CustomListConverter))] +public record RedeemerKey( + [CborProperty(0)] CborInt Tag, + [CborProperty(1)] CborUlong Index +) : CborBase; + +[CborConverter(typeof(CustomListConverter))] +public record RedeemerValue( + [CborProperty(0)] PlutusData Data, + [CborProperty(1)] ExUnits ExUnits +) : CborBase; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs new file mode 100644 index 00000000..540e9589 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs @@ -0,0 +1,20 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Script; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; + +[CborConverter(typeof(CustomMapConverter))] +public record TransactionWitnessSet( + [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, + [CborProperty(1)] CborMaybeIndefList? NativeScriptSet, + [CborProperty(2)] CborMaybeIndefList? BootstrapWitnessSet, + [CborProperty(3)] CborMaybeIndefList? PlutusV1ScriptSet, + [CborProperty(4)] CborMaybeIndefList? PlutusDataSet, + [CborProperty(5)] Redeemers? Redeemers, + [CborProperty(6)] CborMaybeIndefList? PlutusV2ScriptSet, + [CborProperty(7)] CborMaybeIndefList? PlutusV3ScriptSet +) : CborBase; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/VKeyWitness.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/VKeyWitness.cs new file mode 100644 index 00000000..e566d059 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/VKeyWitness.cs @@ -0,0 +1,12 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core; + +[CborConverter(typeof(CustomListConverter))] +public record VKeyWitness( + [CborProperty(0)] CborBytes VKey, + [CborProperty(1)] CborBytes Signature +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Primitives/CborBoundedBytes.cs b/src/Chrysalis/Cardano/Core/Types/Primitives/CborBoundedBytes.cs new file mode 100644 index 00000000..8eebc3f4 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Primitives/CborBoundedBytes.cs @@ -0,0 +1,9 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Core.Types.Primitives; + +[CborConverter(typeof(BytesConverter))] +[CborSize(64)] +public record CborBoundedBytes(byte[] Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Primitives/PosixTime.cs b/src/Chrysalis/Cardano/Core/Types/Primitives/PosixTime.cs new file mode 100644 index 00000000..2678a62e --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Types/Primitives/PosixTime.cs @@ -0,0 +1,5 @@ +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Types.Primitives; + +public record PosixTime(ulong Value) : CborUlong(Value); diff --git a/src/Chrysalis/Cardano/Crashr/Types/Common/Payout.cs b/src/Chrysalis/Cardano/Crashr/Types/Common/Payout.cs new file mode 100644 index 00000000..0fd96b71 --- /dev/null +++ b/src/Chrysalis/Cardano/Crashr/Types/Common/Payout.cs @@ -0,0 +1,14 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Address = Chrysalis.Plutus.Types.Address.Address; + +namespace Chrysalis.Cardano.Crashr.Types.Common; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Payout( + [CborProperty(0)] Address Address, + [CborProperty(1)] MultiAssetOutput Amount +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Crashr/Types/Datums/ListingDatum.cs b/src/Chrysalis/Cardano/Crashr/Types/Datums/ListingDatum.cs new file mode 100644 index 00000000..f7d3acfd --- /dev/null +++ b/src/Chrysalis/Cardano/Crashr/Types/Datums/ListingDatum.cs @@ -0,0 +1,15 @@ +using Chrysalis.Cardano.Crashr.Types.Common; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Crashr.Types.Datums; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record ListingDatum( + [CborProperty(0)] CborList Payouts, + [CborProperty(1)] CborBytes Owner +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Jpg/Types/Common/ListingPayout.cs b/src/Chrysalis/Cardano/Jpg/Types/Common/ListingPayout.cs new file mode 100644 index 00000000..5f672c0b --- /dev/null +++ b/src/Chrysalis/Cardano/Jpg/Types/Common/ListingPayout.cs @@ -0,0 +1,17 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; +using Chrysalis.Plutus.Types.Address; + +namespace Chrysalis.Cardano.Jpg.Types.Common; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record ListingPayout( + [CborProperty(0)] + Address Address, + + [CborProperty(1)] + CborUlong Amount +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Jpg/Types/Common/OfferPayout.cs b/src/Chrysalis/Cardano/Jpg/Types/Common/OfferPayout.cs new file mode 100644 index 00000000..44a87635 --- /dev/null +++ b/src/Chrysalis/Cardano/Jpg/Types/Common/OfferPayout.cs @@ -0,0 +1,20 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; +using Chrysalis.Plutus.Types.Address; + +namespace Chrysalis.Cardano.Jpg.Types.Common; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record OfferPayout( + [CborProperty(0)] + Address Address, + + [CborProperty(1)] + PayoutValue PayoutValue +) : CborBase; + +[CborConverter(typeof(MapConverter))] +public record PayoutValue(Dictionary Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Jpg/Types/Common/Token.cs b/src/Chrysalis/Cardano/Jpg/Types/Common/Token.cs new file mode 100644 index 00000000..c1f45795 --- /dev/null +++ b/src/Chrysalis/Cardano/Jpg/Types/Common/Token.cs @@ -0,0 +1,17 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Jpg.Types.Common; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Token( + [CborProperty(0)] + CborInt TokenType, + + [CborProperty(1)] + CborMap Amount +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Jpg/Types/Datums/Listing.cs b/src/Chrysalis/Cardano/Jpg/Types/Datums/Listing.cs new file mode 100644 index 00000000..6e9191ec --- /dev/null +++ b/src/Chrysalis/Cardano/Jpg/Types/Datums/Listing.cs @@ -0,0 +1,21 @@ + +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; +using Chrysalis.Cardano.Jpg.Types.Common; + +namespace Chrysalis.Cardano.Jpg.Types.Datums; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Listing( + [CborProperty(0)] + CborIndefList Payouts, + + [CborProperty(1)] + CborBytes OwnerPkh +) : CborBase; + + diff --git a/src/Chrysalis/Cardano/Jpg/Types/Datums/Offer.cs b/src/Chrysalis/Cardano/Jpg/Types/Datums/Offer.cs new file mode 100644 index 00000000..7a51b731 --- /dev/null +++ b/src/Chrysalis/Cardano/Jpg/Types/Datums/Offer.cs @@ -0,0 +1,19 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; +using Chrysalis.Cardano.Jpg.Types.Common; + +namespace Chrysalis.Cardano.Jpg.Types.Datums; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Offer( + [CborProperty(0)] + CborBytes OwnerPkh, + + [CborProperty(1)] + CborIndefList Payouts +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Jpg/Types/Redeemers/BuyRedeemer.cs b/src/Chrysalis/Cardano/Jpg/Types/Redeemers/BuyRedeemer.cs new file mode 100644 index 00000000..9feefc14 --- /dev/null +++ b/src/Chrysalis/Cardano/Jpg/Types/Redeemers/BuyRedeemer.cs @@ -0,0 +1,13 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Jpg.Types.Redeemers; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record BuyRedeemer( + [CborProperty(0)] + CborInt Offset +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/NftDatum.cs b/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/NftDatum.cs new file mode 100644 index 00000000..6dafb864 --- /dev/null +++ b/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/NftDatum.cs @@ -0,0 +1,88 @@ +using Chrysalis.Cardano.Core.Types.Primitives; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; +using Chrysalis.Plutus.Types; +using Chrysalis.Plutus.Types.Address; + +namespace Chrysalis.Cardano.Levvy.TokenV2.Types.Datums; + +[CborConverter(typeof(UnionConverter))] +public record NftDatum() : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record LendNftDatum(LendNftDetails LendNftDetails) : NftDatum; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record BorrowNftDatum(BorrowNftDetails BorrowNftDetails) : NftDatum; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(2)] +public record RepayNftDatum(RepayNftDetails RepayNftDetails) : NftDatum; + + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record LendNftDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + CborBytes PolicyId, + + [CborProperty(2)] + CborUlong LoanAmount, + + [CborProperty(3)] + CborUlong InterestAmount, + + [CborProperty(4)] + CborUlong LoanDuration +) : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record BorrowNftDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + Address AssetOwner, + + [CborProperty(2)] + CborBytes PolicyId, + + [CborProperty(3)] + CborBytes AssetName, + + [CborProperty(4)] + CborUlong LoanAmount, + + [CborProperty(5)] + CborUlong InterestAmount, + + [CborProperty(6)] + PosixTime LoanEndTime, + + [CborProperty(7)] + OutputReference OutputReference +) : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record RepayNftDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + CborUlong LoanAmount, + + [CborProperty(2)] + CborUlong InterestAmount, + + [CborProperty(3)] + OutputReference OutputReference +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/PaymentDatum.cs b/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/PaymentDatum.cs new file mode 100644 index 00000000..37286683 --- /dev/null +++ b/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/PaymentDatum.cs @@ -0,0 +1,11 @@ +using Chrysalis.Cbor; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Plutus.Types; + +namespace Chrysalis.Cardano.Levvy.TokenV2.Types.Datums; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record PaymentDatum(OutputReference OutputReference) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/TokenDatum.cs b/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/TokenDatum.cs new file mode 100644 index 00000000..a5928f83 --- /dev/null +++ b/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/TokenDatum.cs @@ -0,0 +1,102 @@ +using Chrysalis.Cardano.Core.Types.Primitives; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; +using Chrysalis.Plutus.Types; +using Chrysalis.Plutus.Types.Address; + +namespace Chrysalis.Cardano.Levvy.TokenV2.Types.Datums; + +[CborConverter(typeof(UnionConverter))] +public record TokenDatum() : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record LendTokenDatum(LendTokenDetails LendTokenDetails) : TokenDatum; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record BorrowTokenDatum(BorrowTokenDetails BorrowTokenDetails) : TokenDatum; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(2)] +public record RepayTokenDatum(RepayTokenDetails RepayTokenDetails) : TokenDatum; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record LendTokenDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + CborBytes PolicyId, + + [CborProperty(2)] + CborBytes AssetName, + + [CborProperty(3)] + CborUlong TokenAmount, + + [CborProperty(4)] + CborUlong LoanAmount, + + [CborProperty(5)] + CborUlong InterestAmount, + + [CborProperty(6)] + CborUlong LoanDuration, + + [CborProperty(7)] + OutputReference OutputReference +) : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record BorrowTokenDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + Address AssetOwner, + + [CborProperty(2)] + CborBytes PolicyId, + + [CborProperty(3)] + CborBytes AssetName, + + [CborProperty(4)] + CborUlong TokenAmount, + + [CborProperty(5)] + CborUlong LoanAmount, + + [CborProperty(6)] + CborUlong InterestAmount, + + [CborProperty(7)] + PosixTime LoanEndTime, + + [CborProperty(8)] + OutputReference OutputReference +) : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record RepayTokenDetails( + [CborProperty(0)] + Address AdaOwner, + + [CborProperty(1)] + CborUlong TokenAmount, + + [CborProperty(2)] + CborUlong LoanAmount, + + [CborProperty(3)] + CborUlong InterestAmount, + + [CborProperty(4)] + OutputReference OutputReference +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Redeemers/TokenRedeemer.cs b/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Redeemers/TokenRedeemer.cs new file mode 100644 index 00000000..12f90b3b --- /dev/null +++ b/src/Chrysalis/Cardano/Levvy/TokenV2/Types/Redeemers/TokenRedeemer.cs @@ -0,0 +1,30 @@ +using Chrysalis.Cbor; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Plutus.Types; + +namespace Chrysalis.Cardano.Levvy.TokenV2.Types.Redeemers; + +[CborConverter(typeof(UnionConverter))] +public record TokenRedeemer() : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record BorrowTokenAction() : TokenRedeemer; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record RepayTokenAction() : TokenRedeemer; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(2)] +public record ClaimTokenAction() : TokenRedeemer; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(3)] +public record ForecloseTokenAction() : TokenRedeemer; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(4)] +public record CancelTokenAction() : TokenRedeemer; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/MPF/Types/Common/Proof.cs b/src/Chrysalis/Cardano/MPF/Types/Common/Proof.cs new file mode 100644 index 00000000..91f93e24 --- /dev/null +++ b/src/Chrysalis/Cardano/MPF/Types/Common/Proof.cs @@ -0,0 +1,61 @@ + +using Chrysalis.Cardano.Core.Types.Primitives; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.MPF.Types.Common; + +[CborConverter(typeof(UnionConverter))] +public record ProofStep : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Branch( + [CborProperty(0)] + CborUlong Skip, + + [CborProperty(1)] + CborBoundedBytes Neighbors +) : ProofStep; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record Fork( + [CborProperty(0)] + CborUlong Skip, + + [CborProperty(1)] + Neighbor Neighbor +) : ProofStep; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(2)] +public record Leaf( + [CborProperty(0)] + CborUlong Skip, + + [CborProperty(1)] + CborBoundedBytes Key, + + [CborProperty(2)] + CborBoundedBytes Value +) : ProofStep; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Neighbor( + [CborProperty(0)] + CborUlong Nibble, + + [CborProperty(1)] + CborBoundedBytes Prefix, + + [CborProperty(2)] + CborBoundedBytes Root +) : ProofStep; + +[CborConverter(typeof(ListConverter))] +public record Proof(CborIndefList ProofSteps) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Minswap/Types/Common/AssetClass.cs b/src/Chrysalis/Cardano/Minswap/Types/Common/AssetClass.cs new file mode 100644 index 00000000..26aa4a24 --- /dev/null +++ b/src/Chrysalis/Cardano/Minswap/Types/Common/AssetClass.cs @@ -0,0 +1,16 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Minswap.Types.Common; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record AssetClass( + [CborProperty(0)] + CborBytes PolicyId, + + [CborProperty(1)] + CborBytes AssetName +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Minswap/Types/Common/Bool.cs b/src/Chrysalis/Cardano/Minswap/Types/Common/Bool.cs new file mode 100644 index 00000000..719e51d0 --- /dev/null +++ b/src/Chrysalis/Cardano/Minswap/Types/Common/Bool.cs @@ -0,0 +1,16 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Minswap.Types.Common; + +[CborConverter(typeof(UnionConverter))] +public record Bool: CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record False: Bool; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record True : Bool; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Minswap/Types/Datums/MinswapLiquidityPool.cs b/src/Chrysalis/Cardano/Minswap/Types/Datums/MinswapLiquidityPool.cs new file mode 100644 index 00000000..772c16a5 --- /dev/null +++ b/src/Chrysalis/Cardano/Minswap/Types/Datums/MinswapLiquidityPool.cs @@ -0,0 +1,58 @@ + + +using Chrysalis.Cardano.Minswap.Types.Common; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Functional; +using Chrysalis.Cbor.Types.Primitives; +using Chrysalis.Plutus.Types.Address; + +namespace Chrysalis.Cardano.Minswap.Types.Datums; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record MinswapLiquidityPool( + [CborProperty(0)] + Inline StakeCredential, + + [CborProperty(1)] + AssetClass AssetX, + + [CborProperty(2)] + AssetClass AssetY, + + [CborProperty(3)] + CborUlong total_liquidity, + + [CborProperty(4)] + CborUlong reserve_a, + + [CborProperty(5)] + CborUlong reserve_b, + + [CborProperty(6)] + CborUlong base_fee_a_numerator, + + [CborProperty(7)] + CborUlong base_fee_b_numerator, + + [CborProperty(8)] + Option fee_sharing_numerator_opt, + + [CborProperty(9)] + Bool allow_dynamic_fee + +) : CborBase; + + + + + + + + + + + + diff --git a/src/Chrysalis/Cardano/Splash/Types/Common/AssetClass.cs b/src/Chrysalis/Cardano/Splash/Types/Common/AssetClass.cs new file mode 100644 index 00000000..d3a13e66 --- /dev/null +++ b/src/Chrysalis/Cardano/Splash/Types/Common/AssetClass.cs @@ -0,0 +1,16 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Splash.Types.Common; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record AssetClass( + [CborProperty(0)] + CborBytes PolicyId, + + [CborProperty(1)] + CborBytes AssetName +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Splash/Types/Datums/SplashLiquidityPool.cs b/src/Chrysalis/Cardano/Splash/Types/Datums/SplashLiquidityPool.cs new file mode 100644 index 00000000..49839e31 --- /dev/null +++ b/src/Chrysalis/Cardano/Splash/Types/Datums/SplashLiquidityPool.cs @@ -0,0 +1,47 @@ +using Chrysalis.Cardano.Splash.Types.Common; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; +using Chrysalis.Plutus.Types.Address; + +namespace Chrysalis.Cardano.Splash.Types.Datums; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record SplashLiquidityPool( + [CborProperty(0)] + AssetClass PoolNft, + + [CborProperty(1)] + AssetClass AssetX, + + [CborProperty(2)] + AssetClass AssetY, + + [CborProperty(3)] + AssetClass AssetLq, + + [CborProperty(4)] + CborUlong Fee1, + + [CborProperty(5)] + CborUlong Fee2, + + [CborProperty(6)] + CborUlong Fee3, + + [CborProperty(7)] + CborUlong Fee4, + + [CborProperty(8)] + CborMaybeIndefList> Verification, + + [CborProperty(9)] + CborUlong MarketOpen, + + [CborProperty(10)] + CborBytes Last + +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Sundae/Types/Common/AssetClass.cs b/src/Chrysalis/Cardano/Sundae/Types/Common/AssetClass.cs new file mode 100644 index 00000000..e9937b40 --- /dev/null +++ b/src/Chrysalis/Cardano/Sundae/Types/Common/AssetClass.cs @@ -0,0 +1,30 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Sundae.Types.Common; + + +[CborConverter(typeof(UnionConverter))] +public abstract record AssetClass : CborBase; + +[CborConverter(typeof(ListConverter))] +public record AssetClassIndefinite(List Value) : AssetClass; + +[CborConverter(typeof(ListConverter))] +[CborDefinite] +public record AssetClassDefinite(List Value) : AssetClass; + + + +[CborConverter(typeof(UnionConverter))] +public abstract record AssetClassTuple : CborBase; + +[CborConverter(typeof(ListConverter))] +public record AssetClassTupleIndef(List Value) : AssetClassTuple; + +[CborConverter(typeof(ListConverter))] +[CborDefinite] +public record AssetClassTupleDef(List Value) : AssetClassTuple; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Sundae/Types/Common/MultisigScript.cs b/src/Chrysalis/Cardano/Sundae/Types/Common/MultisigScript.cs new file mode 100644 index 00000000..37a4ff14 --- /dev/null +++ b/src/Chrysalis/Cardano/Sundae/Types/Common/MultisigScript.cs @@ -0,0 +1,39 @@ +using Chrysalis.Cardano.Core.Types.Primitives; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Sundae.Types.Common; + +[CborConverter(typeof(UnionConverter))] +public abstract record MultisigScript : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Signature(CborBytes KeyHash) : MultisigScript; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record AllOf(CborIndefList Scripts) : MultisigScript; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(2)] +public record AnyOf(CborIndefList Scripts) : MultisigScript; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(3)] +public record AtLeast(CborUlong Required, CborIndefList Scripts) : MultisigScript; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(4)] +public record Before(PosixTime Time) : MultisigScript; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(5)] +public record After(PosixTime Time) : MultisigScript; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(6)] +public record Script(CborBytes ScriptHash) : MultisigScript; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Sundae/Types/Datums/SundaeSwapLiquidityPool.cs b/src/Chrysalis/Cardano/Sundae/Types/Datums/SundaeSwapLiquidityPool.cs new file mode 100644 index 00000000..5792abec --- /dev/null +++ b/src/Chrysalis/Cardano/Sundae/Types/Datums/SundaeSwapLiquidityPool.cs @@ -0,0 +1,36 @@ +using Chrysalis.Cardano.Sundae.Types.Common; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Functional; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Sundae.Types.Datums; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record SundaeSwapLiquidityPool( + [CborProperty(0)] + CborBytes Identifier, + + [CborProperty(1)] + AssetClassTuple Assets, + + [CborProperty(2)] + CborUlong CirculatingLp, + + [CborProperty(3)] + CborUlong BidFeesPer10Thousand, + + [CborProperty(4)] + CborUlong AskFeesPer10Thousand, + + [CborProperty(5)] + Option FeeManager, + + [CborProperty(6)] + CborUlong MarketOpen, + + [CborProperty(7)] + CborUlong ProtocolFees +) : CborBase; diff --git a/src/Chrysalis/Cbor/Attributes/CborConverterAttribute.cs b/src/Chrysalis/Cbor/Attributes/CborConverterAttribute.cs new file mode 100644 index 00000000..29d9f31e --- /dev/null +++ b/src/Chrysalis/Cbor/Attributes/CborConverterAttribute.cs @@ -0,0 +1,7 @@ +namespace Chrysalis.Cbor.Attributes; + +[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface)] +public class CborConverterAttribute(Type converterType) : Attribute +{ + public Type ConverterType { get; } = converterType; +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Attributes/CborDefiniteAttribute.cs b/src/Chrysalis/Cbor/Attributes/CborDefiniteAttribute.cs new file mode 100644 index 00000000..db52abee --- /dev/null +++ b/src/Chrysalis/Cbor/Attributes/CborDefiniteAttribute.cs @@ -0,0 +1,4 @@ +namespace Chrysalis.Cbor.Attributes; + +[AttributeUsage(AttributeTargets.Class)] +public class CborDefiniteAttribute : Attribute { } \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Attributes/CborIndefiniteAttribute.cs b/src/Chrysalis/Cbor/Attributes/CborIndefiniteAttribute.cs new file mode 100644 index 00000000..b612f7b0 --- /dev/null +++ b/src/Chrysalis/Cbor/Attributes/CborIndefiniteAttribute.cs @@ -0,0 +1,4 @@ +namespace Chrysalis.Cbor.Attributes; + +[AttributeUsage(AttributeTargets.Class)] +public class CborIndefiniteAttribute : Attribute { } \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Attributes/CborIndexAttribute.cs b/src/Chrysalis/Cbor/Attributes/CborIndexAttribute.cs new file mode 100644 index 00000000..048c273c --- /dev/null +++ b/src/Chrysalis/Cbor/Attributes/CborIndexAttribute.cs @@ -0,0 +1,7 @@ +namespace Chrysalis.Cbor.Attributes; + +[AttributeUsage(AttributeTargets.Class)] +public class CborIndexAttribute(int tag) : Attribute +{ + public int Index { get; } = tag; +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Attributes/CborPropertyAttribute.cs b/src/Chrysalis/Cbor/Attributes/CborPropertyAttribute.cs new file mode 100644 index 00000000..26468aa7 --- /dev/null +++ b/src/Chrysalis/Cbor/Attributes/CborPropertyAttribute.cs @@ -0,0 +1,29 @@ +namespace Chrysalis.Cbor.Attributes; + +[AttributeUsage(AttributeTargets.Property | AttributeTargets.Parameter)] +public class CborPropertyAttribute : Attribute +{ + public string PropertyName { get; } + public int? Index { get; } + + // Constructor for name-only + public CborPropertyAttribute(string propertyName) + { + PropertyName = propertyName; + Index = null; + } + + // Constructor for index-only + public CborPropertyAttribute(int index) + { + PropertyName = string.Empty; + Index = index; + } + + // Constructor for both + public CborPropertyAttribute(string propertyName, int index) + { + PropertyName = propertyName; + Index = index; + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Attributes/CborSizeAttribute.cs b/src/Chrysalis/Cbor/Attributes/CborSizeAttribute.cs new file mode 100644 index 00000000..3e80ce21 --- /dev/null +++ b/src/Chrysalis/Cbor/Attributes/CborSizeAttribute.cs @@ -0,0 +1,7 @@ +namespace Chrysalis.Cbor.Attributes; + +[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)] +public class CborSizeAttribute(int size) : Attribute +{ + public int Size { get; } = size; +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Attributes/CborTagAttribute.cs b/src/Chrysalis/Cbor/Attributes/CborTagAttribute.cs new file mode 100644 index 00000000..60754350 --- /dev/null +++ b/src/Chrysalis/Cbor/Attributes/CborTagAttribute.cs @@ -0,0 +1,7 @@ +namespace Chrysalis.Cbor.Attributes; + +[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface)] +public class CborTagAttribute(int Tag) : Attribute +{ + public int Tag { get; } = Tag; +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Cache/RuntimeMetadataCache.cs b/src/Chrysalis/Cbor/Cache/RuntimeMetadataCache.cs new file mode 100644 index 00000000..a29ea793 --- /dev/null +++ b/src/Chrysalis/Cbor/Cache/RuntimeMetadataCache.cs @@ -0,0 +1,30 @@ +using System.Collections.Concurrent; +using System.Reflection; + +public static class RuntimeMetadataCache +{ + private static readonly ConcurrentDictionary _typeCache = new(); + private static readonly ConcurrentDictionary _attributeCache = new(); + + // Get or load types from an assembly + public static Type[] GetTypes(Assembly assembly) + { + return _typeCache.GetOrAdd(assembly, assembly => + { + try + { + return assembly.GetTypes(); + } + catch (ReflectionTypeLoadException ex) + { + return ex.Types.Where(t => t != null).Cast().ToArray(); + } + }); + } + + // Get or load attributes for a type + public static object[] GetAttributes(Type type) + { + return _attributeCache.GetOrAdd(type, t => t.GetCustomAttributes().ToArray()); + } +} diff --git a/src/Chrysalis/Cbor/Converters/CborSerializer.cs b/src/Chrysalis/Cbor/Converters/CborSerializer.cs new file mode 100644 index 00000000..0d912155 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/CborSerializer.cs @@ -0,0 +1,105 @@ +using System.Collections.Concurrent; +using System.Reflection; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cbor.Converters; + +public static class CborSerializer +{ + private static readonly Dictionary _converterCache = []; + private static readonly ConcurrentDictionary> _deserializeDelegates = new(); + + public static byte[] Serialize(T value) where T : CborBase + { + ICborConverter converter = GetConverter(value.GetType()); + return converter.Serialize(value); + } + + public static T Deserialize(byte[] data) where T : CborBase + { + Type targetType = typeof(T); + + // Use the delegate cache to retrieve or create the deserialization logic + Func deserializer = _deserializeDelegates.GetOrAdd(targetType, type => + { + ICborConverter converter = GetConverter(type); + + // Use reflection to create the specific Deserialize method + MethodInfo deserializeMethod = typeof(ICborConverter).GetMethod(nameof(ICborConverter.Deserialize)) + ?.MakeGenericMethod(type) ?? throw new InvalidOperationException("The ICborConverter does not implement Deserialize."); + + return (byte[] inputData) => + { + return deserializeMethod.Invoke(converter, new object[] { inputData })!; + }; + }); + + // Call the cached delegate + return (T)deserializer(data); + } + + private static ICborConverter GetConverter(Type type) where T : ICbor + { + if (_converterCache.TryGetValue(type, out object? cached)) + { + return (ICborConverter)cached; + } + + // Check if the type has a base type with a converter attribute + if (type.BaseType?.GetCustomAttribute() != null) + { + Type baseType = type.BaseType; + CborConverterAttribute? converterAttr = baseType.GetCustomAttribute(); + Type? converterType = converterAttr?.ConverterType; + + if (converterType is not null && converterType.IsGenericTypeDefinition) + { + Type[] genericArgs = type.GenericTypeArguments; + Type constructedConverter = converterType.MakeGenericType(genericArgs); + object? converter = Activator.CreateInstance(constructedConverter); + + if (converter != null) + { + _converterCache[type] = converter; + return (ICborConverter)converter; + } + } + } + + Type? currentType = type; + while (currentType != null && currentType != typeof(object)) + { + CborConverterAttribute? converterAttr = currentType.GetCustomAttribute(); + if (converterAttr != null) + { + Type converterType = converterAttr.ConverterType; + + if (converterType.IsGenericTypeDefinition) + { + Type[] genericArgs = type.GenericTypeArguments; + Type constructedType = converterType.MakeGenericType(genericArgs); + object? converter = Activator.CreateInstance(constructedType); + + if (converter != null) + { + _converterCache[type] = converter; + return (ICborConverter)converter; + } + } + else + { + object? converter = Activator.CreateInstance(converterType); + if (converter != null) + { + _converterCache[type] = converter; + return (ICborConverter)converter; + } + } + } + currentType = currentType.BaseType; + } + + throw new InvalidOperationException($"No valid converter found for {type}"); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/ICborConverter.cs b/src/Chrysalis/Cbor/Converters/ICborConverter.cs new file mode 100644 index 00000000..ea65b954 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/ICborConverter.cs @@ -0,0 +1,9 @@ +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cbor.Converters; + +public interface ICborConverter +{ + byte[] Serialize(CborBase data); + public T Deserialize(byte[] data) where T : CborBase; +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/BoolConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/BoolConverter.cs new file mode 100644 index 00000000..66a83879 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/BoolConverter.cs @@ -0,0 +1,48 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class BoolConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + bool value = reader.ReadBoolean(); + + // Read and verify the tag + CborTagUtils.ReadAndVerifyTag(reader); + + // Use reflection to create an instance of T + ConstructorInfo constructor = typeof(T).GetConstructor([typeof(bool)]) + ?? throw new InvalidOperationException($"Type {typeof(T).Name} does not have a constructor that accepts a bool."); + + T instance = (T)constructor.Invoke([value]); + instance.Raw = data; + + // Dynamically create the instance of T + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type type = data.GetType(); + + // Find the property representing the bool value + PropertyInfo? boolProperty = type.GetProperties().FirstOrDefault(p => p.PropertyType == typeof(bool)) + ?? throw new InvalidOperationException("No boolean property found in the Cbor object."); + + // Use the actual instance (data) to get the property value + object? rawValue = boolProperty.GetValue(data); + + if (rawValue is not bool v) throw new InvalidOperationException("Failed to serialize bool property."); + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + writer.WriteBoolean(v); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs new file mode 100644 index 00000000..73dce5ca --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs @@ -0,0 +1,72 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class BytesConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + byte[] value = []; + + if (reader.PeekState() == CborReaderState.StartIndefiniteLengthByteString) + { + reader.ReadStartIndefiniteLengthByteString(); + + List chunks = []; + while (reader.PeekState() != CborReaderState.EndIndefiniteLengthByteString) chunks.Add(reader.ReadByteString()); + reader.ReadEndIndefiniteLengthByteString(); + + value = chunks.SelectMany(x => x).ToArray(); + } + else + { + value = reader.ReadByteString(); + } + + // Use reflection to find a constructor that accepts byte[] + // Use reflection to create an instance of T + ConstructorInfo constructor = typeof(T).GetConstructor([typeof(byte[])]) + ?? throw new InvalidOperationException($"Type {typeof(T).Name} does not have a constructor that accepts a byte[]."); + + T instance = (T)constructor.Invoke([value]); + instance.Raw = data; + + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type type = data.GetType(); + bool isDefinite = type.GetCustomAttribute() is not null; + CborSizeAttribute? sizeAttr = type.GetCustomAttribute(); + PropertyInfo? byteProperty = type.GetProperties().FirstOrDefault(p => p.PropertyType == typeof(byte[]) && p.Name != nameof(CborBase.Raw)) + ?? throw new InvalidOperationException("No byte[] property found in Cbor object."); + + object? rawValue = byteProperty.GetValue(data); + + if (rawValue is not byte[] v) throw new InvalidOperationException("Failed to serialize byte[] property."); + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + + if (isDefinite && sizeAttr is not null) + { + writer.WriteStartIndefiniteLengthByteString(); + v.Chunk(sizeAttr.Size).ToList().ForEach(writer.WriteByteString); + writer.WriteEndIndefiniteLengthByteString(); + } + else + { + writer.WriteByteString(v); + } + + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs new file mode 100644 index 00000000..4d06ddfa --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs @@ -0,0 +1,96 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class ConstrConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + Type targetType = typeof(T); + + // Use the helper to get constructor parameters or properties + List<(int? Index, string Name, Type Type)> parametersOrProperties = AssemblyUtils.GetCborPropertiesOrParameters(targetType).ToList(); + + // Read the tag and validate it + CborTag tag = reader.ReadTag(); + CborTag expectedTag = GetTag(targetType.GetCustomAttribute()?.Index ?? 0); + + if (tag != expectedTag) + { + throw new InvalidOperationException($"Expected tag {expectedTag}, got {tag}"); + } + + // Read array start + reader.ReadStartArray(); + + // Prepare arguments for constructor + object?[] constructorArgs = new object[parametersOrProperties.Count]; + + for (int i = 0; i < parametersOrProperties.Count; i++) + { + (int? Index, string Name, Type ParameterType) = parametersOrProperties[i]; + + // Deserialize the value + byte[] encodedValue = reader.ReadEncodedValue().ToArray(); + MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; + object? deserializedValue = deserializeMethod.MakeGenericMethod(ParameterType) + .Invoke(null, [encodedValue]); + + constructorArgs[i] = deserializedValue; + } + + reader.ReadEndArray(); + + // Create an instance using the resolved constructor arguments + T instance = (T)Activator.CreateInstance(targetType, constructorArgs)!; + instance.Raw = data; + + return instance; + } + + + public byte[] Serialize(CborBase value) + { + Type type = value.GetType(); + int index = type.GetCustomAttribute()?.Index ?? 0; + + bool isDefinite = type.GetCustomAttribute() != null; + + PropertyInfo[] properties = [.. type.GetProperties(BindingFlags.Public | BindingFlags.Instance) + .Where(p => p.GetCustomAttribute() != null) + .OrderBy(p => p.GetCustomAttribute()?.PropertyName)]; + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + + // Write the tag + writer.WriteTag(GetTag(index)); + + // Write array start + writer.WriteStartArray(isDefinite ? properties.Length : null); + + // Serialize properties + foreach (PropertyInfo property in properties) + { + object? propertyValue = property.GetValue(value); + byte[] serialized = CborSerializer.Serialize((CborBase)propertyValue!); + writer.WriteEncodedValue(serialized); + } + + writer.WriteEndArray(); + return writer.Encode(); + } + + private static CborTag GetTag(int index) + { + int finalIndex = index > 6 ? 1280 - 7 : 121; + return (CborTag)(finalIndex + index); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomConstrConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomConstrConverter.cs new file mode 100644 index 00000000..98640e07 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomConstrConverter.cs @@ -0,0 +1,111 @@ +using System.Collections; +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class CustomConstrConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + Type targetType = typeof(T); + + // Read the tag + int tag = (int)reader.ReadTag(); + + // Read array start + reader.ReadStartArray(); + + // Get constructor parameter info + List<(int? Index, string Name, Type Type)> parameters = AssemblyUtils.GetCborPropertiesOrParameters(targetType).ToList(); + + if (parameters.Count != 1) + throw new InvalidOperationException($"Type {targetType.Name} must have exactly one constructor parameter"); + + // Check if parameter is List where T : CborBase + Type paramType = parameters[0].Type; + if (!paramType.IsGenericType || paramType.GetGenericTypeDefinition() != typeof(List<>)) + throw new InvalidOperationException($"Type {targetType.Name} must have a constructor parameter of type List where T : CborBase"); + + Type elementType = paramType.GetGenericArguments()[0]; + if (!typeof(CborBase).IsAssignableFrom(elementType)) + throw new InvalidOperationException($"List element type must inherit from CborBase"); + + // Create the list + IList list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(elementType))!; + + // Read all elements + while (reader.PeekState() != CborReaderState.EndArray) + { + byte[] encodedValue = reader.ReadEncodedValue().ToArray(); + MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; + object item = deserializeMethod.MakeGenericMethod(elementType).Invoke(null, [encodedValue])!; + list.Add(item); + } + + reader.ReadEndArray(); + + // Create instance + ConstructorInfo constructor = targetType.GetConstructors().First(); + T instance = (T)constructor.Invoke([list]); + instance.Raw = data; + return instance; + } + + public byte[] Serialize(CborBase value) + { + Type type = value.GetType(); + CborWriter writer = new(); + + // First check for tag attribute + CborTagAttribute? tagAttr = type.GetCustomAttribute(); + if (tagAttr != null) + { + writer.WriteTag((CborTag)tagAttr.Tag); + } + else + { + // Fall back to Tag property if it exists + PropertyInfo? tagProperty = type.GetProperty("Tag"); + if (tagProperty != null) + { + int tag = (int?)tagProperty.GetValue(value) + ?? throw new InvalidOperationException("Tag property cannot be null"); + writer.WriteTag((CborTag)tag); + } + else + { + throw new InvalidOperationException("Type must either have a CborTag attribute or a Tag property"); + } + } + + // Get the List property + PropertyInfo listProperty = type.GetProperties() + .FirstOrDefault(p => p.PropertyType.IsGenericType && + p.PropertyType.GetGenericTypeDefinition() == typeof(List<>) && + typeof(CborBase).IsAssignableFrom(p.PropertyType.GetGenericArguments()[0])) + ?? throw new InvalidOperationException("Type must have a property of type List where T : CborBase"); + + if (listProperty.GetValue(value) is not IList list) + throw new InvalidOperationException("List property cannot be null"); + + bool isDefinite = type.GetCustomAttribute() != null; + writer.WriteStartArray(isDefinite ? list.Count : null); + + foreach (object? item in list) + { + if (item is not CborBase cborItem) + throw new InvalidOperationException("List elements must be of type CborBase"); + + byte[] serialized = CborSerializer.Serialize(cborItem); + writer.WriteEncodedValue(serialized); + } + + writer.WriteEndArray(); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs new file mode 100644 index 00000000..e0af0ca8 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs @@ -0,0 +1,82 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class CustomListConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + Type targetType = typeof(T); + + // Use the helper to get constructor parameters or properties + List<(int? Index, string Name, Type Type)> parametersOrProperties = AssemblyUtils.GetCborPropertiesOrParameters(targetType).ToList(); + object?[] constructorArgs = new object[parametersOrProperties.Count]; + + // Read array start + reader.ReadStartArray(); + + for (int i = 0; i < parametersOrProperties.Count; i++) + { + (int? Index, string Name, Type ParameterType) = parametersOrProperties[i]; + + // Deserialize the value + byte[] encodedValue = []; + try + { + encodedValue = reader.ReadEncodedValue().ToArray(); + } + catch (Exception ex) + { + Console.WriteLine(""); + } + MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; + object? deserializedValue = deserializeMethod.MakeGenericMethod(ParameterType) + .Invoke(null, [encodedValue]); + + constructorArgs[i] = deserializedValue; + } + + reader.ReadEndArray(); + + // Create an instance using the resolved constructor arguments + T instance = (T)Activator.CreateInstance(targetType, constructorArgs)!; + instance.Raw = data; + + return instance; + } + + + public byte[] Serialize(CborBase value) + { + Type type = value.GetType(); + bool isDefinite = type.GetCustomAttribute() != null; + + PropertyInfo[] properties = [.. type.GetProperties(BindingFlags.Public | BindingFlags.Instance) + .Where(p => p.GetCustomAttribute() != null) + .OrderBy(p => p.GetCustomAttribute()?.Index)]; + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + + // Write array start + writer.WriteStartArray(isDefinite ? properties.Length : null); + + // Serialize properties + foreach (PropertyInfo property in properties) + { + object? propertyValue = property.GetValue(value); + byte[] serialized = CborSerializer.Serialize((CborBase)propertyValue!); + writer.WriteEncodedValue(serialized); + } + + writer.WriteEndArray(); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs new file mode 100644 index 00000000..61330d47 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs @@ -0,0 +1,134 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class CustomMapConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + Type targetType = typeof(T); + + // Get properties with their CBOR property names + List<(int? Index, string Name, Type Type)> parametersOrProperties = AssemblyUtils.GetCborPropertiesOrParameters(targetType).ToList(); + object?[] constructorArgs = new object[parametersOrProperties.Count]; + + // Create mappings for both string and integer keys + Dictionary stringKeyMap = parametersOrProperties + .Select((prop, index) => (prop.Name, index)) + .Where(x => !string.IsNullOrEmpty(x.Name)) // Only include non-empty property names + .ToDictionary(x => x.Name, x => x.index); + + Dictionary intKeyMap = parametersOrProperties + .Select((prop, index) => (prop.Index, index)) + .Where(x => x.Index.HasValue) + .ToDictionary(x => x.Index!.Value, x => x.index); + + // Read map start + reader.ReadStartMap(); + + // Read all key-value pairs + while (reader.PeekState() != CborReaderState.EndMap) + { + CborReaderState keyState = reader.PeekState(); + + (bool found, int index) = keyState switch + { + CborReaderState.TextString => TryReadStringKey(reader, stringKeyMap), + CborReaderState.UnsignedInteger or CborReaderState.NegativeInteger => TryReadIntKey(reader, intKeyMap), + _ => (false, -1) + }; + + if (!found) + { + reader.SkipValue(); + continue; + } + + // Deserialize the value + (int? Index, string Name, Type Type) parameterInfo = parametersOrProperties[index]; + Type propertyType = parameterInfo.Type; + + byte[] encodedValue = reader.ReadEncodedValue().ToArray(); + MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; + object? deserializedValue = deserializeMethod.MakeGenericMethod(propertyType) + .Invoke(null, [encodedValue]); + + constructorArgs[index] = deserializedValue; + } + + reader.ReadEndMap(); + + // Create an instance using the resolved constructor arguments + T instance = (T)Activator.CreateInstance(targetType, constructorArgs)!; + instance.Raw = data; + + return instance; + } + + public byte[] Serialize(CborBase value) + { + Type type = value.GetType(); + bool isDefinite = type.GetCustomAttribute() != null; + + // Get properties with CborProperty attribute + PropertyInfo[] properties = [.. type.GetProperties(BindingFlags.Public | BindingFlags.Instance) + .Where(p => p.GetCustomAttribute() != null)]; + + // Determine if we're using string or integer keys based on the first property + CborPropertyAttribute? firstAttr = properties.FirstOrDefault()?.GetCustomAttribute(); + bool useStringKeys = !string.IsNullOrEmpty(firstAttr?.PropertyName); + + // Order properties appropriately + if (!useStringKeys) + { + properties = [.. properties.OrderBy(p => p.GetCustomAttribute()!.Index)]; + } + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + + writer.WriteStartMap(isDefinite ? properties.Length : null); + + foreach (PropertyInfo property in properties) + { + CborPropertyAttribute? attr = property.GetCustomAttribute(); + + // Write the key (either string or integer) + if (useStringKeys) + { + writer.WriteTextString(attr?.PropertyName ?? property.Name.ToLowerInvariant()); + } + else + { + writer.WriteInt64(attr?.Index ?? 0); + } + + // Write the value + object? propertyValue = property.GetValue(value); + byte[] serialized = CborSerializer.Serialize((CborBase)propertyValue!); + writer.WriteEncodedValue(serialized); + } + + writer.WriteEndMap(); + return writer.Encode(); + } + + private static (bool found, int index) TryReadStringKey(CborReader reader, Dictionary stringKeyMap) + { + string key = reader.ReadTextString(); + return stringKeyMap.TryGetValue(key, out int index) ? (true, index) : (false, -1); + } + + private static (bool found, int index) TryReadIntKey(CborReader reader, Dictionary intKeyMap) + { + int key = (int)reader.ReadInt64(); + return intKeyMap.TryGetValue(key, out int index) ? (true, index) : (false, -1); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/EncodedValueConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/EncodedValueConverter.cs new file mode 100644 index 00000000..31fb6e32 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/EncodedValueConverter.cs @@ -0,0 +1,49 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class EncodedValueConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + CborTag tag = reader.ReadTag(); + + if (tag != CborTag.EncodedCborDataItem) + throw new InvalidOperationException($"Expected EncodedCborDataItem tag, got {tag}"); + + byte[] value = reader.ReadByteString(); + + // Use reflection to create an instance of T + ConstructorInfo constructor = typeof(T).GetConstructor([typeof(byte[])]) + ?? throw new InvalidOperationException($"Type {typeof(T).Name} does not have a constructor that accepts a byte[]."); + + T instance = (T)constructor.Invoke([value]); + instance.Raw = data; + + // Dynamically create the instance of T + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type type = data.GetType(); + PropertyInfo? byteProperty = data.GetType().GetProperties().FirstOrDefault(p => p.PropertyType == typeof(byte[]) && p.Name != nameof(CborBase.Raw)) + ?? throw new InvalidOperationException("No byte[] property found in Cbor object."); + + object? rawValue = byteProperty.GetValue(data); + + if (rawValue is not byte[] v) throw new InvalidOperationException("Failed to serialize byte[] property."); + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + writer.WriteTag(CborTag.EncodedCborDataItem); + writer.WriteByteString(v); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/IntConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/IntConverter.cs new file mode 100644 index 00000000..9b44fdd7 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/IntConverter.cs @@ -0,0 +1,43 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class IntConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + int value = reader.ReadInt32(); + + // Use reflection to create an instance of T + ConstructorInfo constructor = typeof(T).GetConstructor([typeof(int)]) + ?? throw new InvalidOperationException($"Type {typeof(T).Name} does not have a constructor that accepts a int."); + + T instance = (T)constructor.Invoke([value]); + instance.Raw = data; + + // Dynamically create the instance of T + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type type = data.GetType(); + PropertyInfo? intProperty = data.GetType().GetProperties().FirstOrDefault(p => p.PropertyType == typeof(int) && p.Name != nameof(CborBase.Raw)) + ?? throw new InvalidOperationException("No int property found in Cbor object."); + + object? rawValue = intProperty.GetValue(data); + + if (rawValue is not int v) throw new InvalidOperationException("Failed to serialize int property."); + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + writer.WriteInt32(v); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/ListConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/ListConverter.cs new file mode 100644 index 00000000..564b774f --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/ListConverter.cs @@ -0,0 +1,80 @@ +using System.Collections; +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class ListConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + reader.ReadStartArray(); + + Type targetType = typeof(T); + ConstructorInfo constructor = targetType.GetConstructors().FirstOrDefault() ?? throw new InvalidOperationException($"Type {targetType.Name} must have a constructor."); + + // Determine the type of the collection + Type collectionType = constructor.GetParameters()[0].ParameterType; + Type? elementType = collectionType.GetElementType() ?? collectionType.GetGenericArguments().FirstOrDefault(); + if (elementType == null || !typeof(CborBase).IsAssignableFrom(elementType)) + { + throw new InvalidOperationException("The collection's element type must inherit from Cbor."); + } + + // Create a list for the elements + IList list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(elementType))!; + + while (reader.PeekState() != CborReaderState.EndArray) + { + byte[] encodedValue = reader.ReadEncodedValue().ToArray(); + + MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; + object item = deserializeMethod.MakeGenericMethod(elementType).Invoke(null, [encodedValue])!; + + list.Add(item); + } + + reader.ReadEndArray(); + + // Create the Cbor instance + T instance = (T)constructor.Invoke([list]); + instance.Raw = data; + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type type = data.GetType(); + bool isDefinite = type.GetCustomAttribute() != null; + + // Extract the collection property + PropertyInfo collectionProperty = type.GetProperties().FirstOrDefault(p => typeof(ICollection).IsAssignableFrom(p.PropertyType)) + ?? throw new InvalidOperationException("No ICollection property found for the CborList."); + + // Get the collection + if (collectionProperty.GetValue(data) is not ICollection collection) throw new InvalidOperationException("The collection property is null."); + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + + writer.WriteStartArray(isDefinite ? collection.Count : null); + + foreach (object? item in collection) + { + if (item is not CborBase cborItem) throw new InvalidOperationException("Collection elements must be of type Cbor."); + + // Use CborSerializer.Serialize for each item + byte[] serialized = CborSerializer.Serialize(cborItem); + writer.WriteEncodedValue(serialized); + } + + writer.WriteEndArray(); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/LongConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/LongConverter.cs new file mode 100644 index 00000000..e56c7f84 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/LongConverter.cs @@ -0,0 +1,44 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class LongConverter : ICborConverter +{ + + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + long value = reader.ReadInt64(); + + // Use reflection to create an instance of T + ConstructorInfo constructor = typeof(T).GetConstructor([typeof(long)]) + ?? throw new InvalidOperationException($"Type {typeof(T).Name} does not have a constructor that accepts a long."); + + T instance = (T)constructor.Invoke([value]); + instance.Raw = data; + + // Dynamically create the instance of T + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type type = data.GetType(); + PropertyInfo? longProperty = data.GetType().GetProperties().FirstOrDefault(p => p.PropertyType == typeof(long) && p.Name != nameof(CborBase.Raw)) + ?? throw new InvalidOperationException("No long property found in Cbor object."); + + object? rawValue = longProperty.GetValue(data); + + if (rawValue is not int v) throw new InvalidOperationException("Failed to serialize long property."); + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + writer.WriteInt64(v); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/MapConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/MapConverter.cs new file mode 100644 index 00000000..74729e1d --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/MapConverter.cs @@ -0,0 +1,86 @@ +using System.Collections; +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class MapConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + reader.ReadStartMap(); + + Type targetType = typeof(T); + ConstructorInfo constructor = targetType.GetConstructors().FirstOrDefault() ?? throw new InvalidOperationException($"Type {targetType.Name} must have a constructor."); + + // Determine the key and value types of the dictionary + Type dictionaryType = constructor.GetParameters()[0].ParameterType; + Type[] genericArgs = dictionaryType.GetGenericArguments(); + if (genericArgs.Length != 2 || !typeof(CborBase).IsAssignableFrom(genericArgs[0]) || !typeof(CborBase).IsAssignableFrom(genericArgs[1])) + { + throw new InvalidOperationException("The dictionary's key and value types must inherit from Cbor."); + } + + Type keyType = genericArgs[0]; + Type valueType = genericArgs[1]; + + // Create a dictionary for the entries + IDictionary dictionary = (IDictionary)Activator.CreateInstance(typeof(Dictionary<,>).MakeGenericType(keyType, valueType))!; + + while (reader.PeekState() != CborReaderState.EndMap) + { + byte[] keyData = reader.ReadEncodedValue().ToArray(); + byte[] valueData = reader.ReadEncodedValue().ToArray(); + + MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; + + object? key = deserializeMethod.MakeGenericMethod(keyType).Invoke(null, [keyData]); + object? value = deserializeMethod.MakeGenericMethod(valueType).Invoke(null, [valueData]); + + if (key is not CborBase cborKey || value is not CborBase cborValue) + throw new InvalidOperationException("Dictionary keys and values must be of type Cbor."); + + dictionary.Add(key, value); + } + + reader.ReadEndMap(); + + // Create the Cbor instance + T instance = (T)constructor.Invoke([dictionary]); + instance.Raw = data; + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type type = data.GetType(); + + // Extract the dictionary property + PropertyInfo dictionaryProperty = type.GetProperties().FirstOrDefault(p => typeof(IDictionary).IsAssignableFrom(p.PropertyType)) + ?? throw new InvalidOperationException("No IDictionary property found for the CborMap."); + + // Get the dictionary + if (dictionaryProperty.GetValue(data) is not IDictionary dictionary) throw new InvalidOperationException("The dictionary property is null."); + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + writer.WriteStartMap(dictionary.Count); + + foreach (DictionaryEntry entry in dictionary) + { + if (entry.Key is not CborBase cborKey) throw new InvalidOperationException("Dictionary keys must be of type Cbor."); + if (entry.Value is not CborBase cborValue) throw new InvalidOperationException("Dictionary values must be of type Cbor."); + + writer.WriteEncodedValue(CborSerializer.Serialize(cborKey)); + writer.WriteEncodedValue(CborSerializer.Serialize(cborValue)); + } + + writer.WriteEndMap(); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/MaybeConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/MaybeConverter.cs new file mode 100644 index 00000000..f44056f6 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/MaybeConverter.cs @@ -0,0 +1,16 @@ +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class MaybeConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + throw new NotImplementedException(); + } + + public byte[] Serialize(CborBase data) + { + throw new NotImplementedException(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/NullableConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/NullableConverter.cs new file mode 100644 index 00000000..bac2a1cc --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/NullableConverter.cs @@ -0,0 +1,61 @@ +using System.Formats.Cbor; +using Chrysalis.Cbor.Types; +using System.Reflection; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class NullableConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + Type targetType = typeof(T); + Type valueType = targetType.GetGenericArguments()[0]; + + ConstructorInfo constructor = targetType.GetConstructor([valueType]) + ?? throw new InvalidOperationException($"Type {targetType.Name} does not have a suitable constructor."); + + object? value; + if (reader.PeekState() == CborReaderState.Null) + { + reader.ReadNull(); + value = null; + } + else + { + value = typeof(CborSerializer) + .GetMethod(nameof(CborSerializer.Deserialize))! + .MakeGenericMethod(valueType) + .Invoke(null, [data]); + } + + T instance = (T)constructor.Invoke([value]); + instance.Raw = data; + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type valueType = data.GetType().GetGenericArguments()[0]; + PropertyInfo? valueProperty = data.GetType().GetProperties() + .FirstOrDefault(p => p.PropertyType == valueType && p.Name != nameof(CborBase.Raw)) + ?? throw new InvalidOperationException($"No property of type {valueType.Name} found in Cbor object."); + + object? value = valueProperty.GetValue(data); + + if (value is null) + { + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, valueType); + writer.WriteNull(); + return writer.Encode(); + } + else + { + return CborSerializer.Serialize((CborBase)value); + } + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/RationalNumberConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/RationalNumberConverter.cs new file mode 100644 index 00000000..4aceebc8 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/RationalNumberConverter.cs @@ -0,0 +1,57 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class RationalNumberConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + // Expect array of 2 elements + reader.ReadStartArray(); + ulong numerator = reader.ReadUInt64(); + ulong denominator = reader.ReadUInt64(); + reader.ReadEndArray(); + + // Use reflection to create an instance of T + ConstructorInfo constructor = typeof(T).GetConstructor([typeof(ulong), typeof(ulong)]) + ?? throw new InvalidOperationException($"Type {typeof(T).Name} does not have a constructor that accepts two ulong values."); + + T instance = (T)constructor.Invoke([numerator, denominator]); + instance.Raw = data; + + // Dynamically create the instance of T + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type type = data.GetType(); + // numerator is the first ulong property + PropertyInfo? numeratorProperty = data.GetType().GetProperties().FirstOrDefault(p => p.PropertyType == typeof(ulong) && p.Name != nameof(CborBase.Raw)) + ?? throw new InvalidOperationException("No ulong property found in Cbor object."); + + // denominator is the second ulong property + PropertyInfo? denominatorProperty = data.GetType().GetProperties().FirstOrDefault(p => p.PropertyType == typeof(ulong) && p.Name != nameof(CborBase.Raw) && p.Name != numeratorProperty.Name) + ?? throw new InvalidOperationException("No second ulong property found in Cbor object."); + + object? rawNumerator = numeratorProperty.GetValue(data); + object? rawDenominator = denominatorProperty.GetValue(data); + + if (rawNumerator is not ulong numerator || rawDenominator is not ulong denominator) + throw new InvalidOperationException("Failed to serialize ulong properties."); + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + writer.WriteStartArray(2); + writer.WriteUInt64(numerator); + writer.WriteUInt64(denominator); + writer.WriteEndArray(); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/TextConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/TextConverter.cs new file mode 100644 index 00000000..718fe7ba --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/TextConverter.cs @@ -0,0 +1,41 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class TextConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + string value = reader.ReadTextString(); + + ConstructorInfo constructor = typeof(T).GetConstructor([typeof(string)]) + ?? throw new InvalidOperationException($"Type {typeof(T).Name} does not have a constructor that accepts a string."); + + T instance = (T)constructor.Invoke([value]); + instance.Raw = data; + + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type type = data.GetType(); + PropertyInfo? stringProperty = data.GetType().GetProperties().FirstOrDefault(p => p.PropertyType == typeof(string) && p.Name != nameof(CborBase.Raw)) + ?? throw new InvalidOperationException("No string property found in Cbor object."); + + object? rawValue = stringProperty.GetValue(data); + + if (rawValue is not string v) throw new InvalidOperationException("Failed to serialize string property."); + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + writer.WriteTextString(v); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/UlongConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/UlongConverter.cs new file mode 100644 index 00000000..363f4026 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/UlongConverter.cs @@ -0,0 +1,43 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class UlongConverter : ICborConverter +{ + public T Deserialize(byte[] data) where T : CborBase + { + CborReader reader = new(data); + CborTagUtils.ReadAndVerifyTag(reader); + + ulong value = reader.ReadUInt64(); + + // Use reflection to create an instance of T + ConstructorInfo constructor = typeof(T).GetConstructor([typeof(ulong)]) + ?? throw new InvalidOperationException($"Type {typeof(T).Name} does not have a constructor that accepts a ulong."); + + T instance = (T)constructor.Invoke([value]); + instance.Raw = data; + + // Dynamically create the instance of T + return instance; + } + + public byte[] Serialize(CborBase data) + { + Type type = data.GetType(); + PropertyInfo? ulongProperty = data.GetType().GetProperties().FirstOrDefault(p => p.PropertyType == typeof(ulong) && p.Name != nameof(CborBase.Raw)) + ?? throw new InvalidOperationException("No ulong property found in Cbor object."); + + object? rawValue = ulongProperty.GetValue(data); + + if (rawValue is not ulong v) throw new InvalidOperationException("Failed to serialize ulong property."); + + CborWriter writer = new(); + CborTagUtils.WriteTagIfPresent(writer, type); + writer.WriteUInt64(v); + return writer.Encode(); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs new file mode 100644 index 00000000..425b2a97 --- /dev/null +++ b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs @@ -0,0 +1,151 @@ +using System.Collections.Concurrent; +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Utils; + +namespace Chrysalis.Cbor.Converters.Primitives; + +public class UnionConverter : ICborConverter +{ + // Cache converter instances and their methods to avoid repeated reflection + private static readonly ConcurrentDictionary + _converterCache = new(); + + // Cache concrete types for each base type to avoid repeated assembly scanning + private static readonly ConcurrentDictionary _concreteTypeCache = new(); + + // Cache closed generic types to avoid repeated MakeGenericType calls + private static readonly ConcurrentDictionary<(Type Definition, Type[] Args), Type> _closedGenericCache = new(); + + public byte[] Serialize(CborBase value) + { + CborWriter writer = new(); + Type type = value.GetType(); + + (object converter, MethodInfo serializeMethod, MethodInfo _) = GetOrCreateConverter(type); + if (converter is not null) + { + byte[] serializedData = (byte[])serializeMethod.Invoke(converter, [value])!; + writer.WriteEncodedValue(serializedData); + return writer.Encode(); + } + + throw new InvalidOperationException($"No converter found for type {type.Name}"); + } + + public T Deserialize(byte[] data) where T : CborBase + { + Type baseType = typeof(T); + Type[] concreteTypes = GetConcreteTypes(baseType); + + return ParallelDeserialize(data, concreteTypes, baseType); + } + + private static T SequentialDeserialize(byte[] data, Type[] concreteTypes, Type baseType) where T : CborBase + { + foreach (Type concreteType in concreteTypes) + { + try + { + Type typeToDeserialize = GetClosedGenericType(concreteType, baseType); + T deserializedValue = (T)TryDeserialize(data, typeToDeserialize); + deserializedValue.Raw = data; + return deserializedValue; + } + catch { } + } + + throw new InvalidOperationException($"Unable to deserialize to any concrete type implementing {baseType.Name}."); + } + + private static T ParallelDeserialize(byte[] data, Type[] concreteTypes, Type baseType) where T : CborBase + { + (bool Success, T? Value) = concreteTypes + .AsParallel() + .Select(concreteType => + { + try + { + Type typeToDeserialize = GetClosedGenericType(concreteType, baseType); + T deserializedValue = (T)TryDeserialize(data, typeToDeserialize); + deserializedValue.Raw = data; + return (Success: true, Value: deserializedValue); + } + catch + { + return (Success: false, Value: null!); + } + }) + .WithMergeOptions(ParallelMergeOptions.NotBuffered) + .FirstOrDefault(result => result.Success); + + if (Success) + { + return Value!; + } + + throw new InvalidOperationException($"Unable to deserialize to any concrete type implementing {baseType.Name}."); + } + + private static Type GetClosedGenericType(Type concreteType, Type baseType) + { + if (!baseType.IsGenericType || !concreteType.IsGenericTypeDefinition) + { + return concreteType; + } + + Type[] typeArgs = baseType.GetGenericArguments(); + return _closedGenericCache.GetOrAdd((concreteType, typeArgs), + key => key.Definition.MakeGenericType(key.Args)); + } + + private static Type[] GetConcreteTypes(Type baseType) + { + return _concreteTypeCache.GetOrAdd(baseType, type => + { + Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); + return AssemblyUtils.FindConcreteTypes(type, assemblies); + }); + } + + private static (object Converter, MethodInfo SerializeMethod, MethodInfo DeserializeMethod) GetOrCreateConverter(Type type) + { + return _converterCache.GetOrAdd(type, t => + { + CborConverterAttribute? converterAttr = t.GetCustomAttribute(); + if (converterAttr is null || converterAttr.ConverterType == typeof(UnionConverter)) + { + return (null!, null!, null!); + } + + object converter = Activator.CreateInstance(converterAttr.ConverterType) + ?? throw new InvalidOperationException($"Failed to create converter for {t.Name}"); + + MethodInfo serializeMethod = converterAttr.ConverterType.GetMethod("Serialize") + ?? throw new InvalidOperationException($"No Serialize method found for {t.Name}"); + + MethodInfo deserializeMethod = converterAttr.ConverterType.GetMethod("Deserialize") + ?? throw new InvalidOperationException($"No Deserialize method found for {t.Name}"); + + return (converter, serializeMethod, deserializeMethod); + }); + } + + private static CborBase TryDeserialize(byte[] data, Type type) + { + (object converter, MethodInfo _, MethodInfo deserializeMethod) = GetOrCreateConverter(type); + if (converter is not null) + { + if (type.ContainsGenericParameters) + { + throw new InvalidOperationException($"Cannot deserialize open generic type {type.Name}"); + } + + return (CborBase)deserializeMethod.MakeGenericMethod(type).Invoke(converter, [data])!; + } + + throw new InvalidOperationException($"No converter found for type {type.Name}"); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/CborBase.cs b/src/Chrysalis/Cbor/Types/CborBase.cs new file mode 100644 index 00000000..79600552 --- /dev/null +++ b/src/Chrysalis/Cbor/Types/CborBase.cs @@ -0,0 +1,8 @@ +namespace Chrysalis.Cbor.Types; + +public interface ICbor { } + +public abstract record CborBase : ICbor +{ + public byte[]? Raw { get; set; } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Collections/CborMaybeIndefList.cs b/src/Chrysalis/Cbor/Types/Collections/CborMaybeIndefList.cs new file mode 100644 index 00000000..94f06e74 --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Collections/CborMaybeIndefList.cs @@ -0,0 +1,27 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Collections; + +[CborConverter(typeof(UnionConverter))] +public abstract record CborMaybeIndefList : CborBase where T : CborBase; + + +[CborConverter(typeof(ListConverter))] +[CborDefinite] +public record CborDefList(List Value) : CborMaybeIndefList where T : CborBase; + + +[CborConverter(typeof(ListConverter))] +public record CborIndefList(List Value) : CborMaybeIndefList where T : CborBase; + + +[CborConverter(typeof(ListConverter))] +[CborDefinite] +[CborTag(258)] +public record CborDefListWithTag(List Value) : CborMaybeIndefList where T : CborBase; + + +[CborConverter(typeof(ListConverter))] +[CborTag(258)] +public record CborIndefListWithTag(List Value) : CborMaybeIndefList where T : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborBool.cs b/src/Chrysalis/Cbor/Types/Primitives/CborBool.cs new file mode 100644 index 00000000..4b8c016b --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborBool.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Primitives; + +[CborConverter(typeof(BoolConverter))] +public record CborBool(bool Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborBytes.cs b/src/Chrysalis/Cbor/Types/Primitives/CborBytes.cs new file mode 100644 index 00000000..c6578676 --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborBytes.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Primitives; + +[CborConverter(typeof(BytesConverter))] +public record CborBytes(byte[] Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborConstr.cs b/src/Chrysalis/Cbor/Types/Primitives/CborConstr.cs new file mode 100644 index 00000000..be101e3a --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborConstr.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Primitives; + +[CborConverter(typeof(ConstrConverter))] +public abstract record CborConstr : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborEncodedValue.cs b/src/Chrysalis/Cbor/Types/Primitives/CborEncodedValue.cs new file mode 100644 index 00000000..879a2001 --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborEncodedValue.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Primitives; + +[CborConverter(typeof(EncodedValueConverter))] +public record CborEncodedValue(byte[] Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborInt.cs b/src/Chrysalis/Cbor/Types/Primitives/CborInt.cs new file mode 100644 index 00000000..79210a0d --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborInt.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Primitives; + +[CborConverter(typeof(IntConverter))] +public record CborInt(int Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborList.cs b/src/Chrysalis/Cbor/Types/Primitives/CborList.cs new file mode 100644 index 00000000..b072a284 --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborList.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Collections; + +[CborConverter(typeof(ListConverter))] +public record CborList(List Value) : CborBase where T : CborBase; diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborLong.cs b/src/Chrysalis/Cbor/Types/Primitives/CborLong.cs new file mode 100644 index 00000000..1d6487fe --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborLong.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Primitives; + +[CborConverter(typeof(LongConverter))] +public record CborLong(long Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborMap.cs b/src/Chrysalis/Cbor/Types/Primitives/CborMap.cs new file mode 100644 index 00000000..dd4a4b08 --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborMap.cs @@ -0,0 +1,9 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Collections; + +[CborConverter(typeof(MapConverter))] +public record CborMap(Dictionary Value) : CborBase + where TKey : CborBase + where TValue : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborNullable.cs b/src/Chrysalis/Cbor/Types/Primitives/CborNullable.cs new file mode 100644 index 00000000..7a961b4c --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborNullable.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Primitives; + +[CborConverter(typeof(NullableConverter))] +public record CborNullable(T? Value) : CborBase where T : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborRationalNumber.cs b/src/Chrysalis/Cbor/Types/Primitives/CborRationalNumber.cs new file mode 100644 index 00000000..4549b91a --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborRationalNumber.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Primitives; + +[CborConverter(typeof(RationalNumberConverter))] +public record CborRationalNumber(ulong Numerator, ulong Denominator) : CborBase; diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborText.cs b/src/Chrysalis/Cbor/Types/Primitives/CborText.cs new file mode 100644 index 00000000..fe5176ac --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborText.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Primitives; + +[CborConverter(typeof(TextConverter))] +public record CborText(string Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborUlong.cs b/src/Chrysalis/Cbor/Types/Primitives/CborUlong.cs new file mode 100644 index 00000000..34432f50 --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/CborUlong.cs @@ -0,0 +1,7 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Primitives; + +[CborConverter(typeof(UlongConverter))] +public record CborUlong(ulong Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Types/Primitives/Option.cs b/src/Chrysalis/Cbor/Types/Primitives/Option.cs new file mode 100644 index 00000000..7e517784 --- /dev/null +++ b/src/Chrysalis/Cbor/Types/Primitives/Option.cs @@ -0,0 +1,17 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; + +namespace Chrysalis.Cbor.Types.Functional; + +[CborConverter(typeof(UnionConverter))] +public abstract record Option : CborBase; + + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Some([CborProperty(0)] T Value) : Option; + + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record None : Option; \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs b/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs new file mode 100644 index 00000000..ee884442 --- /dev/null +++ b/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs @@ -0,0 +1,100 @@ +using System.Collections.Concurrent; +using System.Reflection; +using Chrysalis.Cbor.Attributes; + +namespace Chrysalis.Cbor.Utils; + +public static class AssemblyUtils +{ + private static readonly ConcurrentDictionary<(Type GivenType, Type GenericType), bool> _assignableCache = new(); + private static readonly ConcurrentDictionary _typeHierarchyCache = new(); + + public static Type[] FindConcreteTypes(Type baseType, IEnumerable assemblies) + { + Type baseTypeDefinition = baseType.IsGenericType + ? baseType.GetGenericTypeDefinition() + : baseType; + + return assemblies + .SelectMany(RuntimeMetadataCache.GetTypes) + .Where(type => + type != null && + !type.IsInterface && + !type.IsAbstract && + IsAssignableToGenericType(type, baseTypeDefinition)) + .ToArray(); + } + + + public static IEnumerable<(int? Index, string Name, Type Type)> GetCborPropertiesOrParameters(Type type) + { + // Cache attributes for the type + object[] attributes = RuntimeMetadataCache.GetAttributes(type); + + // First try constructor parameters + ConstructorInfo? constructor = type.GetConstructors().FirstOrDefault(); + if (constructor != null) + { + return constructor.GetParameters() + .Select(p => + { + CborPropertyAttribute? attr = attributes.OfType() + .FirstOrDefault(a => a.PropertyName == p.Name); + return ( + attr?.Index, + Name: attr?.PropertyName ?? p.Name ?? "", + Type: p.ParameterType + ); + }) + .Where(p => p.Name != "Raw"); + } + + // Fallback to properties + return type.GetProperties() + .Where(p => + p.CanRead && + p.CanWrite && + p.Name != "Raw" && + attributes.OfType().Any(a => a.PropertyName == p.Name)) + .Select(p => + { + CborPropertyAttribute? attr = attributes.OfType() + .FirstOrDefault(a => a.PropertyName == p.Name); + return ( + attr?.Index, + Name: attr?.PropertyName ?? p.Name, + Type: p.PropertyType + ); + }); + } + + private static bool IsAssignableToGenericType(Type givenType, Type genericType) + { + if (!genericType.IsGenericTypeDefinition) + { + return genericType.IsAssignableFrom(givenType); + } + + // Cache the type hierarchy and interfaces + var typeHierarchy = _typeHierarchyCache.GetOrAdd(givenType, t => + { + var baseTypes = new List(); + var currentType = t; + while (currentType != null && currentType != typeof(object)) + { + baseTypes.Add(currentType); + currentType = currentType.BaseType; + } + + var interfaces = t.GetInterfaces(); + return (baseTypes.ToArray(), interfaces); + }); + + // Check base types + if (typeHierarchy.BaseTypes.Any(t => t.IsGenericType && t.GetGenericTypeDefinition() == genericType)) + return true; + + // Check interfaces + return typeHierarchy.Interfaces.Any(i => i.IsGenericType && i.GetGenericTypeDefinition() == genericType); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Utils/CborTagUtils.cs b/src/Chrysalis/Cbor/Utils/CborTagUtils.cs new file mode 100644 index 00000000..81cf33fb --- /dev/null +++ b/src/Chrysalis/Cbor/Utils/CborTagUtils.cs @@ -0,0 +1,42 @@ +using System.Formats.Cbor; +using System.Reflection; +using Chrysalis.Cbor.Attributes; + +namespace Chrysalis.Cbor.Utils; + +public static class CborTagUtils +{ + // Generic versions + public static void WriteTagIfPresent(CborWriter writer) + { + WriteTagIfPresent(writer, typeof(T)); + } + + public static void ReadAndVerifyTag(CborReader reader) + { + ReadAndVerifyTag(reader, typeof(T)); + } + + // Non-generic versions + public static void WriteTagIfPresent(CborWriter writer, Type type) + { + CborTagAttribute? tagAttr = type.GetCustomAttribute(); + if (tagAttr != null) + { + writer.WriteTag((CborTag)tagAttr.Tag); + } + } + + public static void ReadAndVerifyTag(CborReader reader, Type type) + { + CborTagAttribute? tagAttr = type.GetCustomAttribute(); + if (tagAttr != null) + { + int tag = (int)reader.ReadTag(); + if (tag != tagAttr.Tag) + { + throw new InvalidOperationException($"Expected tag {tagAttr.Tag} but found {tag}"); + } + } + } +} \ No newline at end of file diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 9a4aef5c..30e652d7 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,9 +4,9 @@ net9.0 enable enable - 0.4.2 + 0.5.0 Chrysalis - clark@saib.dev + clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc README.md LICENSE.md @@ -15,12 +15,12 @@ - - + + diff --git a/src/Chrysalis/Extensions/AddressExtension.cs b/src/Chrysalis/Extensions/AddressExtension.cs deleted file mode 100644 index bde90935..00000000 --- a/src/Chrysalis/Extensions/AddressExtension.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Chrysalis.Cardano.Core; -using CardanoSharpAddress = CardanoSharp.Wallet.Models.Addresses.Address; - -namespace Chrysalis.Extensions; - -public static class AddressExtension -{ - public static string ToBech32(this Address address) - => new CardanoSharpAddress(address.Value).ToString(); - - public static string? ToBech32(this byte[] address) - { - try - { - return new CardanoSharpAddress(address).ToString(); - } - catch - { - return null; - } - } -} \ No newline at end of file diff --git a/src/Chrysalis/Extensions/BlockExtension.cs b/src/Chrysalis/Extensions/BlockExtension.cs deleted file mode 100644 index 91be8974..00000000 --- a/src/Chrysalis/Extensions/BlockExtension.cs +++ /dev/null @@ -1,72 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; -using Chrysalis.Cbor; - -namespace Chrysalis.Extensions; - -public static class BlockExtension -{ - public static string Hash(this Block block) - => Convert.ToHexString(CborSerializer.Serialize(block.Header).ToBlake2b()).ToLowerInvariant(); - - public static ulong Slot(this Block block) - => block.Header.HeaderBody switch - { - AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.Slot.Value, - BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.Slot.Value, - _ => throw new NotImplementedException() - }; - - public static bool HasTransactions(this Block block) - => TransactionBodies(block).Any(); - - public static ulong TransactionCount(this Block block) - => (ulong)TransactionBodies(block).Count(); - - public static byte[] PrevHash(this Block block) - => block.Header.HeaderBody switch - { - AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.PrevHash.Value.Value, - BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.PrevHash.Value.Value, - _ => throw new NotImplementedException() - }; - - public static BlockHeaderBody HeaderBody(this Block block) - => block.Header.HeaderBody switch - { - AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody, - BabbageHeaderBody babbageHeaderBody => babbageHeaderBody, - _ => throw new NotImplementedException() - }; - - public static ulong Number(this Block block) - => block.Header.HeaderBody switch - { - AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.BlockNumber.Value, - BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.BlockNumber.Value, - _ => throw new NotImplementedException() - }; - - public static IEnumerable TransactionBodies(this Block block) - => block.TransactionBodies switch - { - CborDefiniteList x => x.Value, - CborIndefiniteList x => x.Value, - CborDefiniteListWithTag x => x.Value.Value, - CborIndefiniteListWithTag x => x.Value.Value, - _ => throw new NotImplementedException() - }; - - public static IEnumerable TransactionWitnessSets(this Block block) - => block.TransactionWitnessSets switch - { - CborDefiniteList x => x.Value, - CborIndefiniteList x => x.Value, - CborDefiniteListWithTag x => x.Value.Value, - CborIndefiniteListWithTag x => x.Value.Value, - _ => throw new NotImplementedException() - }; - - public static Dictionary AuxiliaryDataSet(this Block block) - => block.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value); -} diff --git a/src/Chrysalis/Plutus/Types/Address/Address.cs b/src/Chrysalis/Plutus/Types/Address/Address.cs new file mode 100644 index 00000000..b4d6291e --- /dev/null +++ b/src/Chrysalis/Plutus/Types/Address/Address.cs @@ -0,0 +1,13 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Functional; + +namespace Chrysalis.Plutus.Types.Address; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Address( + [CborProperty(0)] Credential PaymentCredential, + [CborProperty(1)] Option> StakeCredential +) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Plutus/Types/Address/Credential.cs b/src/Chrysalis/Plutus/Types/Address/Credential.cs new file mode 100644 index 00000000..bd28f126 --- /dev/null +++ b/src/Chrysalis/Plutus/Types/Address/Credential.cs @@ -0,0 +1,23 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Plutus.Types.Address; + +[CborConverter(typeof(UnionConverter))] +public abstract record Credential : CborBase; + + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record VerificationKey( + [CborProperty(0)] CborBytes VerificationKeyHash +) : Credential; + + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record Script( + [CborProperty(0)] CborBytes ScriptHash +) : Credential; \ No newline at end of file diff --git a/src/Chrysalis/Plutus/Types/Address/Referenced.cs b/src/Chrysalis/Plutus/Types/Address/Referenced.cs new file mode 100644 index 00000000..bc1e19d9 --- /dev/null +++ b/src/Chrysalis/Plutus/Types/Address/Referenced.cs @@ -0,0 +1,28 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Plutus.Types.Address; + +[CborConverter(typeof(UnionConverter))] +public abstract record Referenced : CborBase; + + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Inline(T Value) : Referenced; + + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record Pointer( + [CborProperty(0)] + CborUlong SlotNumber, + + [CborProperty(1)] + CborUlong TransactionIndex, + + [CborProperty(2)] + CborUlong CertificateIndex +) : Referenced; \ No newline at end of file diff --git a/src/Chrysalis/Plutus/Types/CIP68.cs b/src/Chrysalis/Plutus/Types/CIP68.cs new file mode 100644 index 00000000..d0b84548 --- /dev/null +++ b/src/Chrysalis/Plutus/Types/CIP68.cs @@ -0,0 +1,22 @@ + +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Plutus.Types; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record CIP68() : CborBase +{ + [CborProperty(0)] + public required CborMap Metadata { get; init; } + + [CborProperty(1)] + public required CborInt Version { get; init; } + + [CborProperty(2)] + public required T Extra { get; init; } +} \ No newline at end of file diff --git a/src/Chrysalis/Plutus/Types/OutputReference.cs b/src/Chrysalis/Plutus/Types/OutputReference.cs new file mode 100644 index 00000000..7b461ba7 --- /dev/null +++ b/src/Chrysalis/Plutus/Types/OutputReference.cs @@ -0,0 +1,20 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Plutus.Types; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record OutputReference( + [CborProperty(0)] + TransactionId TransactionId, + + [CborProperty(1)] + CborUlong Index +) : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record TransactionId(CborBytes Hash) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Cbor/CborBool.cs b/src/ChrysalisOld/Cardano/Cbor/CborBool.cs similarity index 95% rename from src/Chrysalis/Cardano/Cbor/CborBool.cs rename to src/ChrysalisOld/Cardano/Cbor/CborBool.cs index fd985a9a..3bc95b7c 100644 --- a/src/Chrysalis/Cardano/Cbor/CborBool.cs +++ b/src/ChrysalisOld/Cardano/Cbor/CborBool.cs @@ -6,7 +6,4 @@ namespace Chrysalis.Cardano.Cbor; public record CborBool(bool Value = false) : RawCbor { public CborBool() : this(false) { } -} - - - \ No newline at end of file +} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Cbor/CborBytes.cs b/src/ChrysalisOld/Cardano/Cbor/CborBytes.cs similarity index 100% rename from src/Chrysalis/Cardano/Cbor/CborBytes.cs rename to src/ChrysalisOld/Cardano/Cbor/CborBytes.cs diff --git a/src/Chrysalis/Cardano/Cbor/CborEncodedValue.cs b/src/ChrysalisOld/Cardano/Cbor/CborEncodedValue.cs similarity index 100% rename from src/Chrysalis/Cardano/Cbor/CborEncodedValue.cs rename to src/ChrysalisOld/Cardano/Cbor/CborEncodedValue.cs diff --git a/src/Chrysalis/Cardano/Cbor/CborInt.cs b/src/ChrysalisOld/Cardano/Cbor/CborInt.cs similarity index 100% rename from src/Chrysalis/Cardano/Cbor/CborInt.cs rename to src/ChrysalisOld/Cardano/Cbor/CborInt.cs diff --git a/src/Chrysalis/Cardano/Cbor/CborList.cs b/src/ChrysalisOld/Cardano/Cbor/CborList.cs similarity index 100% rename from src/Chrysalis/Cardano/Cbor/CborList.cs rename to src/ChrysalisOld/Cardano/Cbor/CborList.cs diff --git a/src/Chrysalis/Cardano/Cbor/CborLong.cs b/src/ChrysalisOld/Cardano/Cbor/CborLong.cs similarity index 100% rename from src/Chrysalis/Cardano/Cbor/CborLong.cs rename to src/ChrysalisOld/Cardano/Cbor/CborLong.cs diff --git a/src/Chrysalis/Cardano/Cbor/CborMap.cs b/src/ChrysalisOld/Cardano/Cbor/CborMap.cs similarity index 100% rename from src/Chrysalis/Cardano/Cbor/CborMap.cs rename to src/ChrysalisOld/Cardano/Cbor/CborMap.cs diff --git a/src/Chrysalis/Cardano/Cbor/CborNullable.cs b/src/ChrysalisOld/Cardano/Cbor/CborNullable.cs similarity index 100% rename from src/Chrysalis/Cardano/Cbor/CborNullable.cs rename to src/ChrysalisOld/Cardano/Cbor/CborNullable.cs diff --git a/src/Chrysalis/Cardano/Cbor/CborRationalNumber.cs b/src/ChrysalisOld/Cardano/Cbor/CborRationalNumber.cs similarity index 100% rename from src/Chrysalis/Cardano/Cbor/CborRationalNumber.cs rename to src/ChrysalisOld/Cardano/Cbor/CborRationalNumber.cs diff --git a/src/Chrysalis/Cardano/Cbor/CborText.cs b/src/ChrysalisOld/Cardano/Cbor/CborText.cs similarity index 100% rename from src/Chrysalis/Cardano/Cbor/CborText.cs rename to src/ChrysalisOld/Cardano/Cbor/CborText.cs diff --git a/src/Chrysalis/Cardano/Cbor/CborUlong.cs b/src/ChrysalisOld/Cardano/Cbor/CborUlong.cs similarity index 100% rename from src/Chrysalis/Cardano/Cbor/CborUlong.cs rename to src/ChrysalisOld/Cardano/Cbor/CborUlong.cs diff --git a/src/Chrysalis/Cardano/Coinecta/Vesting/Treasury.cs b/src/ChrysalisOld/Cardano/Coinecta/Vesting/Treasury.cs similarity index 100% rename from src/Chrysalis/Cardano/Coinecta/Vesting/Treasury.cs rename to src/ChrysalisOld/Cardano/Coinecta/Vesting/Treasury.cs diff --git a/src/Chrysalis/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs b/src/ChrysalisOld/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs rename to src/ChrysalisOld/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Block.cs b/src/ChrysalisOld/Cardano/Core/Block/Block.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Block.cs rename to src/ChrysalisOld/Cardano/Core/Block/Block.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Header/Header.cs b/src/ChrysalisOld/Cardano/Core/Block/Header/Header.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Header/Header.cs rename to src/ChrysalisOld/Cardano/Core/Block/Header/Header.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs b/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs rename to src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs b/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs rename to src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs b/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs rename to src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs b/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs rename to src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Anchor.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Anchor.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Anchor.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Anchor.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/AuxiliaryData.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/AuxiliaryData.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/AuxiliaryData.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/AuxiliaryData.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Body/TransactionBody.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/TransactionBody.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Body/TransactionBody.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/TransactionBody.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Update.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Update.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Body/Update.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Update.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Body/Withdrawals.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Withdrawals.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Body/Withdrawals.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Withdrawals.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Credential.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Credential.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Credential.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Credential.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/Constitution.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Constitution.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Governance/Constitution.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Constitution.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/DRep.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRep.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Governance/DRep.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRep.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/GovAction.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovAction.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Governance/GovAction.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovAction.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/GovActionId.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovActionId.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Governance/GovActionId.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovActionId.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/Voter.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Voter.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Governance/Voter.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Voter.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Input/TransactionInput.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Input/TransactionInput.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Input/TransactionInput.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Input/TransactionInput.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Output/Address.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Address.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Output/Address.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Address.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Output/DatumOption.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/DatumOption.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Output/DatumOption.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/DatumOption.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Output/MultiAsset.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/MultiAsset.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Output/MultiAsset.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/MultiAsset.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Output/TokenBundle.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TokenBundle.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Output/TokenBundle.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TokenBundle.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Output/Value.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Value.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Output/Value.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Value.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/Nonce.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/Nonce.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/Nonce.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/Nonce.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Script/NativeScript.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/NativeScript.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Script/NativeScript.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/NativeScript.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Script/PlutusData.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusData.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Script/PlutusData.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusData.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Script/PlutusOption.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusOption.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Script/PlutusOption.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusOption.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/Transaction.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Transaction.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/Transaction.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/Transaction.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/TransactionMetadatum.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/TransactionMetadatum.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/TransactionMetadatum.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/TransactionMetadatum.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs diff --git a/src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs rename to src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs diff --git a/src/Chrysalis/Cardano/Core/BlockWithEra.cs b/src/ChrysalisOld/Cardano/Core/BlockWithEra.cs similarity index 100% rename from src/Chrysalis/Cardano/Core/BlockWithEra.cs rename to src/ChrysalisOld/Cardano/Core/BlockWithEra.cs diff --git a/src/Chrysalis/Cardano/Jpeg/Buy.cs b/src/ChrysalisOld/Cardano/Jpeg/Buy.cs similarity index 100% rename from src/Chrysalis/Cardano/Jpeg/Buy.cs rename to src/ChrysalisOld/Cardano/Jpeg/Buy.cs diff --git a/src/Chrysalis/Cardano/Jpeg/Listing.cs b/src/ChrysalisOld/Cardano/Jpeg/Listing.cs similarity index 100% rename from src/Chrysalis/Cardano/Jpeg/Listing.cs rename to src/ChrysalisOld/Cardano/Jpeg/Listing.cs diff --git a/src/Chrysalis/Cardano/Jpeg/Offer.cs b/src/ChrysalisOld/Cardano/Jpeg/Offer.cs similarity index 100% rename from src/Chrysalis/Cardano/Jpeg/Offer.cs rename to src/ChrysalisOld/Cardano/Jpeg/Offer.cs diff --git a/src/Chrysalis/Cardano/Jpeg/Token.cs b/src/ChrysalisOld/Cardano/Jpeg/Token.cs similarity index 100% rename from src/Chrysalis/Cardano/Jpeg/Token.cs rename to src/ChrysalisOld/Cardano/Jpeg/Token.cs diff --git a/src/Chrysalis/Cardano/Levvy/TokenV2/NftDatum.cs b/src/ChrysalisOld/Cardano/Levvy/TokenV2/NftDatum.cs similarity index 100% rename from src/Chrysalis/Cardano/Levvy/TokenV2/NftDatum.cs rename to src/ChrysalisOld/Cardano/Levvy/TokenV2/NftDatum.cs diff --git a/src/Chrysalis/Cardano/Levvy/TokenV2/PaymentDatum.cs b/src/ChrysalisOld/Cardano/Levvy/TokenV2/PaymentDatum.cs similarity index 100% rename from src/Chrysalis/Cardano/Levvy/TokenV2/PaymentDatum.cs rename to src/ChrysalisOld/Cardano/Levvy/TokenV2/PaymentDatum.cs diff --git a/src/Chrysalis/Cardano/Levvy/TokenV2/TokenDatum.cs b/src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenDatum.cs similarity index 100% rename from src/Chrysalis/Cardano/Levvy/TokenV2/TokenDatum.cs rename to src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenDatum.cs diff --git a/src/Chrysalis/Cardano/Levvy/TokenV2/TokenRedeemer.cs b/src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenRedeemer.cs similarity index 100% rename from src/Chrysalis/Cardano/Levvy/TokenV2/TokenRedeemer.cs rename to src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenRedeemer.cs diff --git a/src/Chrysalis/Cardano/MPF/Proof.cs b/src/ChrysalisOld/Cardano/MPF/Proof.cs similarity index 100% rename from src/Chrysalis/Cardano/MPF/Proof.cs rename to src/ChrysalisOld/Cardano/MPF/Proof.cs diff --git a/src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs b/src/ChrysalisOld/Cardano/Models/Cbor/CborBytes.cs similarity index 100% rename from src/Chrysalis/Cardano/Models/Cbor/CborBytes.cs rename to src/ChrysalisOld/Cardano/Models/Cbor/CborBytes.cs diff --git a/src/Chrysalis/Cardano/Plutus/Address.cs b/src/ChrysalisOld/Cardano/Plutus/Address.cs similarity index 100% rename from src/Chrysalis/Cardano/Plutus/Address.cs rename to src/ChrysalisOld/Cardano/Plutus/Address.cs diff --git a/src/Chrysalis/Cardano/Plutus/CIP68.cs b/src/ChrysalisOld/Cardano/Plutus/CIP68.cs similarity index 100% rename from src/Chrysalis/Cardano/Plutus/CIP68.cs rename to src/ChrysalisOld/Cardano/Plutus/CIP68.cs diff --git a/src/Chrysalis/Cardano/Plutus/Option.cs b/src/ChrysalisOld/Cardano/Plutus/Option.cs similarity index 100% rename from src/Chrysalis/Cardano/Plutus/Option.cs rename to src/ChrysalisOld/Cardano/Plutus/Option.cs diff --git a/src/Chrysalis/Cardano/Plutus/OutputReference.cs b/src/ChrysalisOld/Cardano/Plutus/OutputReference.cs similarity index 100% rename from src/Chrysalis/Cardano/Plutus/OutputReference.cs rename to src/ChrysalisOld/Cardano/Plutus/OutputReference.cs diff --git a/src/Chrysalis/Cardano/Sundae/MultisigScript.cs b/src/ChrysalisOld/Cardano/Sundae/MultisigScript.cs similarity index 100% rename from src/Chrysalis/Cardano/Sundae/MultisigScript.cs rename to src/ChrysalisOld/Cardano/Sundae/MultisigScript.cs diff --git a/src/Chrysalis/Cbor/CborIndex.cs b/src/ChrysalisOld/Cbor/CborIndex.cs similarity index 100% rename from src/Chrysalis/Cbor/CborIndex.cs rename to src/ChrysalisOld/Cbor/CborIndex.cs diff --git a/src/Chrysalis/Cbor/CborPropertyAttribute.cs b/src/ChrysalisOld/Cbor/CborPropertyAttribute.cs similarity index 100% rename from src/Chrysalis/Cbor/CborPropertyAttribute.cs rename to src/ChrysalisOld/Cbor/CborPropertyAttribute.cs diff --git a/src/Chrysalis/Cbor/CborSerializableAttribute.cs b/src/ChrysalisOld/Cbor/CborSerializableAttribute.cs similarity index 100% rename from src/Chrysalis/Cbor/CborSerializableAttribute.cs rename to src/ChrysalisOld/Cbor/CborSerializableAttribute.cs diff --git a/src/Chrysalis/Cbor/CborSerializer.cs b/src/ChrysalisOld/Cbor/CborSerializer.cs similarity index 100% rename from src/Chrysalis/Cbor/CborSerializer.cs rename to src/ChrysalisOld/Cbor/CborSerializer.cs diff --git a/src/Chrysalis/Cbor/CborType.cs b/src/ChrysalisOld/Cbor/CborType.cs similarity index 100% rename from src/Chrysalis/Cbor/CborType.cs rename to src/ChrysalisOld/Cbor/CborType.cs diff --git a/src/Chrysalis/Cbor/CborUnionTypes.cs b/src/ChrysalisOld/Cbor/CborUnionTypes.cs similarity index 100% rename from src/Chrysalis/Cbor/CborUnionTypes.cs rename to src/ChrysalisOld/Cbor/CborUnionTypes.cs diff --git a/src/Chrysalis/Cbor/ICbor.cs b/src/ChrysalisOld/Cbor/ICbor.cs similarity index 100% rename from src/Chrysalis/Cbor/ICbor.cs rename to src/ChrysalisOld/Cbor/ICbor.cs diff --git a/src/Chrysalis/Cbor/Utils/CborSerializerUtils.cs b/src/ChrysalisOld/Cbor/Utils/CborSerializerUtils.cs similarity index 100% rename from src/Chrysalis/Cbor/Utils/CborSerializerUtils.cs rename to src/ChrysalisOld/Cbor/Utils/CborSerializerUtils.cs diff --git a/src/ChrysalisOld/ChrysalisOld.csproj b/src/ChrysalisOld/ChrysalisOld.csproj new file mode 100644 index 00000000..0049cf57 --- /dev/null +++ b/src/ChrysalisOld/ChrysalisOld.csproj @@ -0,0 +1,25 @@ + + + + net8.0 + enable + enable + 0.3.0 + ChrysalisOld + clark@saib.dev + SAIB Inc + README.md + LICENSE.md + + + + + + + + + + + + + diff --git a/src/Chrysalis/Extensions/Blake2b.cs b/src/ChrysalisOld/Utils/Blake2b.cs similarity index 100% rename from src/Chrysalis/Extensions/Blake2b.cs rename to src/ChrysalisOld/Utils/Blake2b.cs diff --git a/src/Chrysalis/Extensions/TransactionOutputExtension.cs b/src/ChrysalisOld/Utils/TransactionExtension.cs similarity index 100% rename from src/Chrysalis/Extensions/TransactionOutputExtension.cs rename to src/ChrysalisOld/Utils/TransactionExtension.cs From d6ac14ca05d67fa1d0c6b28c6eb2deb6dec8d01e Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 10 Dec 2024 16:56:37 -0500 Subject: [PATCH 056/162] fix: map key resolution and union type parallel deserialization logic (#73) * fix issue with key resolution * improve parallel deserialization of union types handling --- src/Chrysalis.Test/CborTests.cs | 2 +- .../Cbor/Attributes/CborPropertyAttribute.cs | 4 +- .../Primitives/CustomListConverter.cs | 11 +--- .../Converters/Primitives/UnionConverter.cs | 55 +++++++++++-------- src/Chrysalis/Cbor/Utils/AssemblyUtils.cs | 12 ++-- 5 files changed, 42 insertions(+), 42 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 6e0391d4..4cfb353d 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -67,7 +67,7 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("84828f1a00527c331a015fb132582019e8dec30df21e161115b6ae1bbae809254b590e9e6e8c35a4f2128bacf96fe25820b65a4200ffc36c505064abb975d7fe3fc55ffc4d815f4542df2a0ef83fb3801c58204748aba9cfd2cf3d68dafaa6974528bd8da01e57d6e83f62083c3ea99808615c82584044d71405fb96955167c0993fc11f66994f5dbca45b6e2f8bb68c52799603135cc66720b2910b41d118ebfd587e6f8135cd10c73403ab4131906459f1c0122d9d5850fb6755181d62666b99c6b0d37900838cc08d472545ee89d93fc8fbefcb83ffc30fa61a6c0207366bf88e63a3eb8a4b11e47b586054b1a5c259cd9dc90ca82dac7336857a9a875de52d1768b4c74810048258400001ecfcf4748e1a32960e323a5d636244d61979647357560d2d919ccc85908355e9ed9f4c575a5332305b82bc6e46ae8c304ad46fe1fc67dbde530d2581066e58500c8c4fdeaf8767bca8b323b1c1b324365b32ac7b1a7b58f3658426f9ea1daf92144e27f83946d424b60c495eee6001f33f801933cf5aed8e61769c116648ab95f3df5f8e4161288769819ed0c13bfe07190bbf5820bcd2bababa216b2476d660eebb92e000ed4ece5f5a9de15b857e69e291c7e48358200e9d108df1cac53c21e9d2409c636e18e456d77ef8774c9e98d9424ff9f6a4bf01188c584087a003220b84794898c692392321d906e7b780fadaba396d496c271725be43c0e1551e778df00ac6d1a32ad9abace2f801f9aeb915972c2fc187d443687b6e0204005901c052872ebf29ce234e7cf6f66876f1d309cd6dc2efc8879422586daa8fca4009c4484bdd3ed7e9cb5e9bf90c5c78a4d0d92ccc601a7febed8dca4da0eb0cc5890d9fbcb7bf5ab8a4aadb5475b232c46200efa0d236ea0dc9fbcfec17c14cf6b6637e7e2922e8483be6e88289cf8a5df7dbcd42f2b6954e55c7011333ffa2b2732bf401a8944302f3b9250f1b24390a6a735ee7a65a0425b5ab1e4da0eb783561c54eac7019ec04d2ebfec992b700b005129d31a49d48da03e72409190c1d7b223ad76df9b4acf52f264d86b2d37b71c8cf6cb67b6e047d4f255dff2fee521e26e805afba3398cc07aec495b25b741b05bd5aec318cd03d77cafc72ae789cdbc76804af08ea62ae10efc3f7c760a93926b03476ecb57e2bc317d15cc4f65ac0f1fac37f08ceab90e504b090d4ab0df00c83998d028818572b02801c95a238eeaf993c7e6ef852d9623c3dbedbaf20e492a03fe849433772347834a3b662bcdd33b3466dbaf462fcbe1e80bf956f7060a59e70235e037fcdadfc27f2308030b0d53f73e53ce439a070d5f84b0f8de24f05923e958ad516b10f597e030d15589a2b2ce456b2769a4f638599450997490a469531918ab2c00512c69731308f70bc436484a40081825820cc8ffe5f1eddbcee49f7e3b45355213686d1a16f538083768c4f5014ea07ee2100018282584c82d818584283581c1216b1674c9b4d902883d167ce2b1854cee8198b2b23c16790c20aa9a101581e581c2cb78b2d298752586da8a184ab66e80b165d4fcec7d1fa273433c402001aaa8f1fc21a626354cf82583901d2b582c2cc9844a21748b8c561d6b50096340701e260fe45646f7ce87d67d6985affc837f5eb36deddfbd77331bf7dfc9be66dc33ff094161a02edf7cc021a0002a465031a015fcd47a50081825820d7ad2b64b5b88c84e9a2b31f4f316a6cb05347fa3c2cdbc564d25b37c1beefc30c018182583901b275e33329f7ae59b8617411073615f44187421dd33d983ae14b0bd2a08be3dc4b41c314e44b883624d9988795e97504ef542d4c98228c391af6da2be2021a0002a8b1031a015fcd2d048282008200581ca08be3dc4b41c314e44b883624d9988795e97504ef542d4c98228c3983028200581ca08be3dc4b41c314e44b883624d9988795e97504ef542d4c98228c39581cf1b265f1e545da9c6e003c5d703fb5a23283c646cd40b2d619671e7fa40082825820129914af1860678d177d0a4e608b2d65d743a373c2d486e68f63dfca86c485a70182582028bc08a610764695bff6cf68cb0a9bfb49205af2efa194a7ca2ef0d1b3eb1d6407018282583901f916d78bf849c37de87417b5d3a338317b79376d69f32724ddf2a2d1f916d78bf849c37de87417b5d3a338317b79376d69f32724ddf2a2d11a0be8b4c082584c82d818584283581c9ed07c4d376778fe73bdf02b3030b4138cd45a9db41f67f49ab58a37a101581e581c3083349abf53ea9ad19e9450464207e560586da9f5bc414ca9c876de001aff425bc61b000005613639af4f021a0002cb3d031a015fcd4aa40087825820076a89a91f48dbca770a3c185b51918ebbaf8cfdcaffb0db7fd65f8a7107b41e0c8258202401d4d98372ce349e7a6fc6af33acf3df6a5d90db19e5e1e4a430812bd13a9a0082582045e0835cbe270c3b068ca356419b6a13084378652f392cb546e597ca7e32d244008258206b3b8b922e83684ac4bc4ae258b9ebda837f668654f2e53a2f14230c14c460f9008258206e33c9d636f916e9f0c491555514cc31dc5e16b17ad2376436431160572e1c360182582090e535f35fdb239714d07064ad36b792cbceb7b0d99fb5dfe0ed7bed74e0678900825820ca9a3353f8f5733933a79c3c6c1c050a690aae8465c6ead927a3a9d2e803833000018282584c82d818584283581c68be23727445c24415c6b078dfce1a6ea973c63eb2317bfb60a8d923a101581e581c2cb78b2d2987521e011f0184dda7d520e1815a27f443c499bf886e2a001a33144c3b1ac7e8f5fb825839010f1167abf60b473e36b556077811d4a41714eda237e95d722fd63570eca8d0ccc8368cf5d927ef81fab1554dee7906d50c58d817320587951ada91fac0021a00038745031a015fcd4d84a102818458208825205f2483877ff7350ab296449ba383f82bb7c2604bb02b6ab2aa6096aa635840b2b18e987974e37477f80df064d33bd17356e5ff2a258515176f7517266b7f4319e653bfe24a9a88bd521accb8b39dbfe1bd7a266ef5b278c54cdf22de9b2707582073765eaf2fac6a18c3154dc35ebe9680428a61135898a3ea120f6308acf8ec6b5822a101581e581c2cb78b2d29875256935d1a843269ed0590f717314d4cdf866b315775a10082825820635993a26c14dd9019efa50cd4ce95a147a5ae332ca14c07489292d6cd4af7785840d645d6e4dac44f7a8845afd1c7ae419a896941690580af1b13ae1fa0a6997d8b56ec8c43f8fe7ddd7aa10c57162b008a1d93071bff3366448d590f53269dfb08825820049fcafea3c1472107c6589e78ee163ff83e60b05fd6209dec35ec4f03f7e7cf5840139f26e56b23f5e95788650d12531a7aa9998b367326e3c83c51e17020324d657659993fc51b08b9709d27c2131a13d341194c9f2ffe6a8fcc5f6540b8923f08a10282845820c1ffc34160174c939f17f07d5e9248231e19d966e47098258a55c900dfc9d3bd5840f6a90b68b6d870e3728fb8f9be8e35b492b181270944b3fa9dcb8ef7a5c8ca5cd7949b2ac8b421a403539c0758d71eea1fee3b377fccef4598923c57bbe4060a5820bb95000206f79a3e893f30c40c6ff87efdebe0188025d00888b17df23e28446a5822a101581e581c3083349abf53eadad9483a501fdd4c655dc63b878a99301d97ae6102845820997f3fdd280bc2af629240afc83f07f0a570af0a42c52a50d18239d5303bb284584053e0e4a22e5bd10e3053dc0aa883db77bb0ea27e6718673ff83b385a0d1cdd240761a5dc69103f0c9988ade89a6ca8bfa2c43a101c5a78fe24431ec940ec13015820fe61c42716add8563f76484d314c290d55ac4b7d2250aa3d9a80e62226c241395822a101581e581c3083349abf53eab498612350bb23df0159d2a6be2fcc52a7731e1b10a10287845820cd9c9534e1e9c83f7606477db856309f4c403e270eb0a175c14ac1675281912258403aeeec8686e269c897aba8a40398299d588a274c99e952c4cbbc0771ca84251f0e83d74ca2ba04b2b0eb22324cf379c938118a83bf43317bc527e16715c49a065820e228f4e25cf1f3c77ed1d372ce0a141700b5474ceacf745cfcb65bc841c9d0bb5822a101581e581c2cb78b2d2987525693a3c4842fa08566697827084d959224b2b973da845820820504e1218a034b2dba056a120fbcbd3b6dec2f50408440f27d22fd0f881e935840d2ba11018d8f75b5eb575c69c20111f160f006957aafaeb8efeb8a0a2bcd90bad9ae932b05465a57d38fd2841071dafdfd8b95635480a1717518b07bcce6e3045820291023ee372563c26551d482b3bf068e0343a7e3059b697f1390e2269f1182d55822a101581e581c2cb78b2d2987527500f5b6846533439461772bc086e64ee1d96d8d758458205a11b4ef17c6f4749982afedc9613f9aba2700559b670d0cbd49259daf459235584092a643cffbbd5739380322de72b23b764a4b24a1bf0472880bcc014fdfb3ef8da3b7cf28d9978d75358b44751c71e09e96bc0eb87d8f92b798e3d2b91bbc5f07582011eec758d9ca8feaa2d9c1d5b4a6b9713154b5e2c641e32d65a9564697df9aee5822a101581e581c2cb78b2d298752569036f884fded19b659fa9728101693be5a5e0239845820b348baa3ca6b57119fc972f7835ab6bdf9db1ddc910714f78cdcb060f06b0b8a5840b35527ee246890531a062e8cbd45b6b731dcd03b476793a027a05070a065cbb30a8ac406b817eb4847db0d43a62e0dd41a2a90e20a9a28cb6014aaaecabe920358206fbe90398580bb07d7af8a5d7d00ddacb0d0e2d55ef80202c85c84d6429420265822a101581e581c2cb78b2d2987525693aafe842c609882c5c35cbbaef412a76cecfa0784582015369f3af03861da2e51fb6bab1eb0129e8217b393a76aa08f30ffd9b3aec9ff584083f3d2972cc86f2185738466f769b662e4c3c360535a57717f2ebbd51e30c8af586e16fe7cec72aee45d22a2b652abca9c76e60086f53f479366247a5945280c58201aae99fdd87432fdc4f8a702c8985fdbfa6885d4aff3f005cf7356d36d3629195822a101581e581c2cb78b2d2987525690737d84bce1193d9eb78934d8ddc9bee17ecaba84582005d41288dbafc63b247cb2cec773372e59a42772c107a8d9fd06692e2bc548945840792764d4180948c7f8d637ff4bebca639109162c4cdc8c17e1c9ea97402ae68a9800701ee8d71d2ea85bd0426e0e829879997e18f2e86d1ce842ced1affc680958203a52e7e7ebe204c9291d960e2d4b81a532f34e7ff78791c01a899d1f0664b2955822a101581e581c2cb78b2d2987525693efd3846c06c238e49a5bf6f237d6fd85028a9f8458200beb3362fc3817d92d0d9fea1d4fd1149c6d00f964125cf8bbb9b9ef1b8cc5155840d76aa83f009729ccf22f0dfde37e74151176cf92791356fc5d8792f12820cbf0be41a4420be26e23d36e617e781f26a30f890cfdfce65dd8252fdc6e4e34cf0e5820eab60523d3fc1773a939e1c5ffc3564db0660af663ae62c2d62bf1c98de0a7345822a101581e581c2cb78b2d29875256939b5a843b2b70252956da6e5e3e077aced55d13a0")] + [InlineData("85828a1a00a844fa1a084424e95820a6a6cbfd6bc495f86722673b5b4c3f7e05aff1e81f2e2d17498750646cd5f9b858203226127923b0012698673e8a2c4f2cc72d1755ae83fafb822094731648f5521c5820f7ad250f04f532fc842ae10d34d16a450f3b61a1d874e22599c2a44c1532d2ee825840d7fa8ec335c9ffc09f742ec9ba095c813c066ac0bdfeba53dd854a3001f4757e15e3d02d39ecd985fb16f97f409d3db356139fcbfa4eb34eade72c7dd4ab88bb58503de6b1803c005cf2308eac78ff4416059169ca8ee3ad78c58a45fbe697c261e53c7a5eecb5e5406ec6015c62dd88fb7e4009dc373b9652031a79c7df93f0a5a6322c8c599f81cd613e29c9b7b39e0406193d63582051e1692b33382cfdb1739fb2822cd82d9acee673ace5eb58d94014f41de25f278458204fabc9876878501c879c35d4fa7a09bcf188e408bffdc6e99b0f7188e5052b640f1903fc5840ca9f7ad7ec702564c890e25161e8740c39947f4052c20c6e772d55577ad4587a06620da3a2c4d0812526203fb1bede5b0e2d771a0982ec1a796a1b2d6bfb43088209015901c0218c7f72922c1f4b9447281098da6b487319f87efb6c4d10f29278f0adf01c23f2067bd9a7899ab45923a83cb41ce23d9ebac8116eed87792c82bb6fdda01f0b6e83bd36b6ed533b2c95d0b47ce87408cbd769ac7694e4bb843324d3d01004adbdb12f335d582ca9c7b020f3cd41ae6c40149c0b481c14e9729b00dd71ebb32873a08f7f0e0b0530fc9446a043e994d4d952a52c8b845142a844bb4c9fd1264573bd7e12b479a3a5de31c88826b1cd787a315664718dce8f9b5e07d19ec568bd204ced35de09d4d87f571ebacfcc13c74613100b3440c1d8ba2255e351a76ba1af6925c53bd510a9c8538421db3d648bcf773597bd8a3d8d0f0e1c7491cb3963ab15d43cab3983cfd7b7b481d14439c90973365d31d689006c6e583eede37fb1310b31e9d2f8be4a5d074aa35bb23b01071c0c66848b59a9ddb3a29b4d56f9a3478ac49e237cf44881515b9b9234a4c30f76e399a28f9f54cdc2bb741d9d40a223223a561d7caffe8c6e767982af2bb282f4a436cbf80dabd79a8144729e6c20112e772e4b316100ee2127429a4fad74c326227ac02dbe1e0ba0b8082640340f4812cd7eecd04184bea69e1775590a1e84173a94d4bbdeb74ef88b54d25d24a78aab0082825820c76c71c76369e8d4338f5df6b92b79c8d310d404b01ed16e27328e22ee6ad09800825820ccb13d2219dfac1cec37ec590ca17602349906841c0fe0ff4165ac3492ae82da02018283583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a00140ef6a1581cb558ea5ecfa2a6e9701dab150248e94104402f789c090426eb60eb60a14b536e656b6b69653732333001582059a1d9f5bc2ee40e62d3e2852393762063d73644b7fe46ed1735603ff485447082583901e581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac5391a109c0b3d021a00048c43031a0844284807582002c0dfac17757a1658d6ad569b75810f166367743ef4aac68402acb03e2635e40b5820b5a924ee55064ddf045477a0fee47854e7496949c367ae821c87915cc7491e450d81825820e351aa8ae16f9ff006850615f09864e4bdb3a25f859e8a6ab57491ee3d4b0fe3000e81581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a1082583901e581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac5391a004578db111a0006d26512818258201693c508b6132e89b932754d657d28b24068ff5ff1715fec36c010d4d6470b3d00a50084825820f1a46ed40d7dece4814532fa486145c99a075a05691789fe698c74b05452522601825820eca375e9060ea1679debad40afc461a1b1e3a56938f9204b851bc6865fda47f302825820557daf191284bcd0a90c7d685fbd375adaafa4effe85fc061a7d1143c02fe36302825820557daf191284bcd0a90c7d685fbd375adaafa4effe85fc061a7d1143c02fe36316018383583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a0013cb9ea1581c8c7e4db8e170cf0f7957065b51911b33d4d82b9da52fed31092a8e23a1476e616d653135320158201e7ccffd8238d710d5f406d76d30e88d221b5f482141b52de4351a3fde2bfa45825839017aaa666d9433630933242bcebd1b1e06f6d1b9e2f10644cda967d4a43c848ddeb298b8e1a354cda52fbd7390941e1b345f7a0e24989cbf31821a004a0d44af581c14e238ef651da35b7f518c8bf7bee6d90fa355d596c40b332cbcf419a247416c69636531370147416c696365393101581c35277cf8fbcc27f7b39713958dc5e69f1ed142ad865d9f1716e61fefa1581a5265616c20486f7573657769766573206f662043617264616e6f1a0012c4db581c523c9156fb140c0bdd1fb8bc5b66ec215817a65abd990ab480f83172a14d436c61726b20576966204a50471826581c673a9f5e5c488d2aa3b5a0479ef84358cb069ec1d9d6e3d8f1d445e2a1582074657374746573747465737474657374746573747465737474657374746573741a0ee6b280581c6d1ba62af19d1b206c0dcdea660c5412faa9e9ff26d3b56829a9fcf6a14a54455354544f4b454e3301581c82424ec1f9ed53a525bd8d57af8edddbba03d784511933151e6f4243a1515765206861766520612050726f626c656d05581c8c7e4db8e170cf0f7957065b51911b33d4d82b9da52fed31092a8e23a2466e616d65343101466e616d65363401581c9dbb604dd3ff9f99a265d2dd76016ecd96534a70e73b062944274d12a152436861726c696520426c6f636b696e736f6e1a0029ae01581ca62775d24e6a26a7c4beef4011da1b656610ed8c58c2cbc86b07d91ba3544d616172746c6561726e7363617264616e6f333801544d616172746c6561726e7363617264616e6f343801544d616172746c6561726e7363617264616e6f393501581cb8a18b1f068dc111762843d041005b88fa339d9b8cb9530ea79ef2d0a1582031323334353637383930313233343536373839303132333435363738393031320c581cd173dc4be8dd39a40a348722d7bd5df8dd24649c5821b3ee19206e5da1581e556e6974656443756e74736f66446563656e7472616c697a6564534849541a0003d090581cd4473a78ae992ed6d95299e7177b45c8053d5db5495467a29ff0c780a3554d6f636f7373694d6167696350696c6c303434383901554d6f636f7373694d6167696350696c6c303935333301554d6f636f7373694d6167696350696c6c313030393101581cdb42506e5c54dc8d9bd6cf72597beeb76679dc7bb54c5a206177f145a14624434c41524b1b000000e8d4a51000581ce9dec3fec128f03bacd659cd6d4e04ff049f5bc5c1f3816f45bf3f14a14b6772616475617465206d651a14dc9380581cf67b457c4f278c7c278f636af04a378dc6fe99270a84cd174735f98ca14b446f672057686973746c651a000ceffb825839017aaa666d9433630933242bcebd1b1e06f6d1b9e2f10644cda967d4a43c848ddeb298b8e1a354cda52fbd7390941e1b345f7a0e24989cbf31821a002f9ba9a8581c057bc25020d13ba19d2aee954359ed1807a293b3e7314cc7fa79dafba244426f62310147426f623132333501581c33d69b23369914f970c4dc72b3acac1a50055b3b9d10415d70ea958aa1447465737402581c48f69a80dcca7bee58431b8b749faca98700ca456056d153fbea4eb2a1444f4d4e491b00000009833e2cf4581c5c227b00b3233840ae352b6dbc8e87dc5ccb1037a1ea3bd331842cbaa14943726f6320636f696e1a02faf080581c61bdb007b1d85699c569a3d8bc9fc46afe3a3aaaf27cd62fa6d62028a14874686520746573741a1dcd6500581c723ede5e3d5459431160c34f64535a228e8d882e9bd2d04c1865b877a14c4d6161727450656e64696e6705581c7363e2adbaaadbaca2f3a9729e4bba4369985dd78597ab10b7b788c8a14843726f632074776f1a0ee6b280581cd49c4a038e14df89f6716ae7d4674727aad35e03dfdfc80627c34caea14463726f630f021a0003c6dd031a0844284c0758201eeadc6f68e865927d63f7a2e7bf0826a4202bee1c3e7752cdacadcb578fa65aa50081825820b5b2b6b2019eb4cbdf8616735ce7f0600043f951837cb0a223df06ba66431ada00018182583901804ed7c45887d774060c638cf179a9152cc7c3459f2c8a5a9030fc8f4b9c9b045fbdf8f1009d517cc0e4c533c0a430cf5015d75800eaa61d1b000000015bf77dd5021a0002abdd031a084432a9048182018200581c4b9c9b045fbdf8f1009d517cc0e4c533c0a430cf5015d75800eaa61da70084825820b5573923fb39860469ebed90908c04cd9fc836fd507eb746dcb4d2ad7b9dbc5f018258208b8cf67f52a62946de2296aef77a6be5529f45bee6b85208894e21631af886bc008258207bc7b6c9f736ac5c5d9534f384810a7bf082bd79cda48e1a32b3c28386a6666c01825820ebf5504058f4422e8037e21a23f3abddc331aafeaa083023bb900e71d877fb1e020184a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02584c2966b7365678b44008a519b2c6715baa1820feffd61684923b0501821a002dc6c0a1581c6ea9e98f9225e06ba885c26b461f842df0186bd12315dc1a4e53b810a14d52756e20546f6b656e204144411a0216caf7028201d818590106d8799f4100581c1f3cce4cd10b448d312069e3ea63b043e4737e0e4f88d650dd70f008d8799f581c6ea9e98f9225e06ba885c26b461f842df0186bd12315dc1a4e53b8104d52756e20546f6b656e20414441ff1a0216caf71a000dbba01a2168ae4fd8799f4040ffd8799f1a2168ae4f1a0216caf7ff00d8799fd8799f581cfb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b8ffd8799fd8799fd8799f581c584c2966b7365678b44008a519b2c6715baa1820feffd61684923b05ffffffff581cfb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b89f581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b2ffff82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a001bc77882583901fb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b8584c2966b7365678b44008a519b2c6715baa1820feffd61684923b051a001e848082583901fb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b8584c2966b7365678b44008a519b2c6715baa1820feffd61684923b051a003a7eec021a00045e1d031a084432d90758202dc628086810b33c5d41765f60916e10dd75a406a4f57db79f2f4c038cb9a95f081a084424c90e82581cfb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b8581c584c2966b7365678b44008a519b2c6715baa1820feffd61684923b05a800828258204ceec48a94b70b9246b6ed454d288fa142729aa63144f0198d93bc83578654cc00825820a77678ce2ee71875e03f214fe1993a541d9c91cbba338e8cae86de9d6147b0b9010182a200583901fb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b8584c2966b7365678b44008a519b2c6715baa1820feffd61684923b05011a2ca6ddcfa3005839319dee0659686c3ab807895c929e3284c11222affd710b09be690f924db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821b00000001fb61cd42a3581c6ea9e98f9225e06ba885c26b461f842df0186bd12315dc1a4e53b810a14d52756e20546f6b656e204144411a19aa7829581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec200a15820909a44a08575cc2b876738401d76f85df1207bc4998a1e8201b85a0f83fd7b941b7fffffff90ef0bd9581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add06a158207c3b742218da9e1fffe48a9b956565c23783bc9df953a9f17e27ce419e7e498901028201d81859011ad8799fd8799f581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add0658207c3b742218da9e1fffe48a9b956565c23783bc9df953a9f17e27ce419e7e4989ffd8799f4040ffd8799f581c6ea9e98f9225e06ba885c26b461f842df0186bd12315dc1a4e53b8104d52756e20546f6b656e20414441ffd8799f581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec2005820909a44a08575cc2b876738401d76f85df1207bc4998a1e8201b85a0f83fd7b94ff1a0001831c18641a015957551a00103cd49fd8799fd87a9f581ce5619f78d716cc24ea924e4412d83353ae390edd9905ecc6d5c85c2bffffff00581c75c4570eb625ae881b32a34c52b159f6f3f3f2c7aaabf5bac4688133ff021a0008177405a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b58205328ca618708a88ed01ee7c84b2b658a2f19fb71839355ab99d510d2b8902d560d818258209d542c4b846f398e4c846b889f9dbb921749bf06944d915ad5cc12a17bb8fb4c000e81581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b21283825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820482719d050a96b91206f78c6c2b834e844ea576557387e09e7b1c8afa4d433ac00825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a5008282582067e281afd7a8c116346e921a58916879fa3c36835903f5553bd31d3aafb32dcf0082582067e281afd7a8c116346e921a58916879fa3c36835903f5553bd31d3aafb32dcf0101828258390148537d3f0ee48bd38acb09a58c25af098a31c0345b36cf212e06830f48537d3f0ee48bd38acb09a58c25af098a31c0345b36cf212e06830f1a000f42408258390148537d3f0ee48bd38acb09a58c25af098a31c0345b36cf212e06830f48537d3f0ee48bd38acb09a58c25af098a31c0345b36cf212e06830f1b00000001e4777ea2021a0003917e031a3b9aca0005a1581de148537d3f0ee48bd38acb09a58c25af098a31c0345b36cf212e06830f1a005e5934a700818258209136acbfc1b2fbe37a5ce8f48b3bf44c10b757b2b31c20eaea614ba525a3fa2e030184a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4cae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5c011a02349340028201d818590130d8799fd8799f581c48938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057ffd8799fd8799f581c48938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057ffd8799fd8799fd8799f581cae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5cffffffffd87980d8799fd8799f581c48938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057ffd8799fd8799fd8799f581cae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5cffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c582009c1c1a0cc2ebfb1368bc70b6298cb285886191027a350968c53912378a52de1ffd8799fd87a80d8799f1a01f78a40ff1a00659f7fd87980ff1a001e8480d87a80ff82583901ddab53d5e0d31f8d2b201ff073520cb1d563a76396feb09487c6a72cc51bbb2ee12e1e1584e5efa9c924531d70f51a12969a9a651f3b92f71a000fc3288258390148938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057ae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5c1a001e84808258390148938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057ae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5c1a002b8abe021a00042fb5031a084432d9075820bfd6dd1e96e4fd26c6379aa3093aaef25639d58ee76d045bd4528ef9f2fed808081a084424c90e82581c48938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057581cae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5ca400d90102838258206baab2b080382a7990984cf362f0dfd5b59b1947ae226575548ab0bd0ce04ea9018258206baab2b080382a7990984cf362f0dfd5b59b1947ae226575548ab0bd0ce04ea902825820933223c70f18b34b521604010bfbed6586cad48122c83c7df9d1624703e078f000018382584c82d818584283581c9bd63a40ea2dbbc352b11fb7ceea2ecc6eaadcc3f7f6c09824b50588a101581e581c9b17098ec5544a5b03f921a91b80c9dcb461fbbd503dfbb42844e4de001ace04f1a61ab2c968f782584c82d818584283581c33c83f72dac95dcf57bce40b5b9d8a420378fb4cd5f4dc1a24d1bddda101581e581c5981b261ab5ccd2b371bea2287d4620b1dfce9a52b85ab7ccd04d532001a792ea386821a00e4bfddbf581c002954d012220494e078a25587a99e6c717d6854f1179517318492c7a1446241646101581c007394e3117755fbb0558b93c54ce3bc6c85770920044ade143dc742a143505443194c2c581c0171c997b8853fde686763d93b36ab8e04ce947bb6aa09a9ee5c4401a145544f4b454e195143581c023465384f747471f5c96ae059a589c07f22b19b47878b3fcdd8c803a14552424f4f4b02581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a00663be0581c078eafce5cd7edafdf63900edef2c1ea759e77f30ca81d6bbdeec924a14579756d6d6919012c581c0c442180dd6163682d8e03b271caefb4944a24412bdd07adafb04ccba14a50494e41434f4c414441191d4c581c0c78f619e54a5d00e143f66181a2c500d0c394b38a10e86cd1a23c5fa144414441581906cc581c0fd9819a9d7fb414880883f43a42d33458f12bc5f9841cec6457dc15a14556695275531a0039de67581c123da5e4ef337161779c6729d2acd765f7a33a833b2a21a063ef65a5aa4b5369636b43697479333437014b5369636b43697479333439014b5369636b43697479333530024b5369636b43697479333531014b5369636b43697479333532014b5369636b43697479333533014b5369636b43697479333534014b5369636b43697479333536014b5369636b43697479333537014b5369636b4369747933353901581c12a0bad7a63e1fb043159b583215900859f75ab627cdc0428fe6ae72a14b4d4452616365723431343801581c12c1f9c6754952e2c26b37af3c8facee41ed5b398c0223ff9f4848c4aa581a526166666c65666f72556b7261696e654f47426f6f6b3131333401581a526166666c65666f72556b7261696e654f47426f6f6b3131373501581a526166666c65666f72556b7261696e654f47426f6f6b3132313801581a526166666c65666f72556b7261696e654f47426f6f6b3132353901581a526166666c65666f72556b7261696e654f47426f6f6b3134303001581a526166666c65666f72556b7261696e654f47426f6f6b3135363201581a526166666c65666f72556b7261696e654f47426f6f6b3138323601581a526166666c65666f72556b7261696e654f47426f6f6b3138323701581a526166666c65666f72556b7261696e654f47426f6f6b31393037015819526166666c65666f72556b7261696e654f47426f6f6b38393101581c133fac9e153194428eb0919be39837b42b9e977fc7298f3ff1b76ef9a14550554447591a0c845880581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e1a01c9c380581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b0000000de4b236a2581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a029020c0581c20cd68533b47565f3c61efb39c30fdace9963bfa4c0060b613448e3ca14650524f5849451a05c81a40581c25a549dffe519c58fb88f0c794f08a6b64f9e5aa505c4c09e3ffffb8a1535350465265776172645469636b657432303234193e80581c269c0c6fb54095825e7f352eb667996872af8d3a988e78595d5958f6a146544d494e763203581c279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3fa144534e454b0a581c287f9379ebfabd43585aaaf7d7d4ca492972c928df2aa7fa7bb44294a1424b4301581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a008f1a68581c2af89e99de1bf692b10230c0b38fe89cc764364d0e15cc7cc47e0ad0a1534372617a79204b69746368656e20566f6c203102581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e1a042c1d80581c2b0a04a7b60132b1805b296c7fcb3b217ff14413991bf76f72663c30a14667696d62616c190b00581c2b7e1c65b836affa518d0a63067e52962c37e0485cf28edcd970bff6a14576424f4f4b01581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a54efc640581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a00432380581c300ec0d82a79acdc0616fdc0ef615e7deeddb03275e834685e9ee8a6a142585418f0581c313e41b0f3f55637689d3980d3479920cb3bb0a5860d03cd49c17c11a156537061636550756773506f6b6572436c75623431313201581c3568e07d31ab3c217ea594bfff9744a00a91225fa53244514ffeefb5a555526166666c65456e7472795469636b6574303538330155526166666c65456e7472795469636b6574303539310155526166666c65456e7472795469636b6574313231340155526166666c65456e7472795469636b6574313834300155526166666c65456e7472795469636b65743234353701581c357e02258d623e48a8e74f7f311cd1ba0b801fbc28dd099859a43985a1444a554b451ab2d05e00581c35f36e4078e6a5687be81e875e7baccb5b38ee14a5b1d44cd737e6faac5819576f6a616b626c7565526166666c655469636b657433323939015819576f6a616b626c7565526166666c655469636b657433333030015819576f6a616b626c7565526166666c655469636b657433333031015819576f6a616b626c7565526166666c655469636b657433333032015819576f6a616b626c7565526166666c655469636b657433333033015819576f6a616b626c7565526166666c655469636b657433333034015819576f6a616b626c7565526166666c655469636b657433333035015819576f6a616b626c7565526166666c655469636b657433333036015819576f6a616b626c7565526166666c655469636b657433333037015819576f6a616b626c7565526166666c655469636b657433333038015819576f6a616b626c7565526166666c655469636b657433333039015819576f6a616b626c7565526166666c655469636b65743333313001581c37b47fcaeb067582eb0b4230632633adffa7753481139b67cc8fe3cea1465045524e49531904b0581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e1896581c443726318f7a3995686a79f65ed48fdb79aaf576aecaee354d8ba018a1444e49444f19012c581c47959e79846b8bdcacb91f586408d97e2dff44f31a04f03902cba818a14553574545541a0001fbd0581c4ea6fd26e61fafd2a6deae2af266bed7c003c4e41e87ac3a59c4d14fa145484150505909581c4fd0d998dc0700ca6ef89fafff05fbf523a3a25c1fc8314bf7e4d1c2a14647726f777468190419581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a143464743190cb2581c5244c9979efa4d49159c01c91f00bd2e17e327258b5a169f60f60122a14b4255445a4d494e544b455901581c52c16147514c66ad5ce74dccbd4a27e5e58c94fab31ed17d7b871218a14d446567656e44696e6f3130333801581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f571832581c545dc1601b5d469508698f7966a3c1c8cf207073041ad84b28d373c1a14954494745523336313701581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b79196978ff82584c82d818584283581c3376c7ff631fc8106f7c657e73a9146560839742d0163e1cbe5e6555a101581e581c5981b261ab5ccd047be1182205164d2428206f6e3748e64f28cd0e1f001aa120650a821a0103ebe2bf581c56673962a054070732569178ba2b3e1cb591e3413ecd7b57a9e3f18ba1454245414e531a00034fa8581c585cfcbdd0786e961187999e5d5d36b38d1ebc1c4112a0a95a8bd477a143424c431a0082ef38581c5993061274861159508aef767fc0ccd8b8a9b836171a989ad543fa1fa15044446f53546573744d696e743331313101581c5cabbdb4a2e7a2387cbeb3b097e602bf609284895a4e6fcf955fd77ea1525370616365507567735a6f6d62696530303501581c5ec2e9813fa385d9333d18186d8257d1b3ebea97bdec2dad74026d8da1475055474348495019023a581c622a3ce680e464703220b955f1ce1bfd7fb1152450b1b62e9acba09ea24c414441546f6f6e7a32303535014c414441546f6f6e7a3235383201581c63766427b4499dd678cb8b715dec3265dd292279ce7779447e3651e5a1434b4f5a0a581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d42494519b3b0581c64e549542c1252a80bb7f0d2aaccfae269e950ccd84c2975b9f40265a144614d494e01581c66ffb6f177f1ed667fc5483615d86f2e11270e80473ee0a00e4c9931a1554d7973746572696f7573204d6f616920233236333401581c67bd67cb79c4eee511b6ad5f39960fd2b7c3c6cc24391d8f0c655261a1444f72676101581c6cf6b5cf0fefbe9e69d640d8be84912bb2c9e132671954548790bcfba14f6d65736d6572697a6572303931313101581c6ddd6503e0ab63538c77bd51f679b9ed84998af89901b01ce3dace88a14b5369636b4369747933333904581c6f2b8c46d1af6508a88ef0cdb9bf7ec77719124c6c7717c218dbd357a24f50686f656e697847756c6c32393837014f50686f656e697847756c6c3335323801581c6f46e1304b16d884c85c62fb0eef35028facdc41aaa0fd319a152ed6a1444d434f531a000c234b581c7163418c912394baf7f1248b276582c9472f26e601439241778981d0a152476f6c64656e526573657276654b6579383101581c71ccb467ef856b242753ca53ade36cd1f8d9abb33fdfa7d1ff89cda3a1434346431a001ab3f0581c757d6d0b72beba043054f920156b396db16e4f2492c6cec089ebd608a14c4d444c6963656e736531303001581c772791eb3f4b92874a49d487375a90db631988291c1a643b817668caa14d4d616420446f6720546f6b656e1b0000000306dc4200581c7b957fa45d75fed7b534df39f4f0686af890589697662f0b8a9602f6a1494c6f6d696e3038383401581c7e605894cdcbe8d1933f0a8760d93bd121aca583cf21ad1c25e51fd3a7514d6164446f67436172436c75623136313001514d6164446f67436172436c75623136383101514d6164446f67436172436c75623138333601514d6164446f67436172436c75623235393501514d6164446f67436172436c75623238333401514d6164446f67436172436c75623335383301514d6164446f67436172436c75623336383501581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a1a00124f80581c81074c0995544cdc379ffb66df5b3a7cdcf07c5855aa932de4a4067da145544652454e01581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521a038444c0581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1901d6581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a3df5a045581c9460f3352773623741fcf6fd471668998021c3ebb805413c80e9b439a14541424f4f4b1a00013880581c987c1f90efe1c95957509b460e0e4f6d6b3f7025a7aca99cd2909037a1444d5954481908fc581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e189b581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a1f478150581ca134724e20a26031a75ca1bc8effc60d3beb667c449c95d91587b137a157486f736b696e736f6e323032325768697465626f6172640b581ca26022096c6a8052987dabbfa94849ab7886cf0bb7840044e017d5bea1484b756265436f696e199024581ca3914cb7a564d010c7b67774ac8720a8ece3a758279b51d8a1c05cc5a1495745444e45534441591905dc581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451953ca581ca89568bb399d0cdc38367e47831c95186f5c79e58174e08a18232396a14a4554424643546f6b656e1a70595032581caa036f84174000b81a71131007e45ee44c2d78159a55d19c514a77afa1444d4e4d4c1b000000014ce368fb581caa2797739e4f4a1efd5346998febff59909e425b5fddb1b0ec4a24f8a1454c6f6f6b7a186c581cad1c1ed3a0bb6f83630ef052a31b71ba3287bf4bafa8370758f14d31a1445349434b1a000d4670581caea1ceb3625680e2f7a31ea1a64c9c430c34d8588bf4f8e3c7f9b1dda146476f746368691ae27f6600581caebcb6eaba17dea962008a9d693e39a3160b02b5b89b1c83e537c599a14012581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a144515549441878581cb0af30edf2c7f11465853821137e0a6ebc395cab71ee39c24127ffb4a1444e46544319065b581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a92080880581cb6408f665a71750e622a3f6430f35a1a6d6cde0d0b6c41bc027c0356a14f50726f6a656374426f6f6b776f726d182c581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1a000674ae581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1b00001bd7807ead10581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491b000000010038fd8f581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a144444942531a00040b28581cd01794c4604f3c0e544c537bb1f4268c0e81f45880c00c09ebe4b4a7a1444d59535419251c581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f199bdc581cd0df03edacc8a83e5b6db4de163a1c73924dabf8994c628f043e5e7ea15443617264616e6f4669676874436c75623732313001581cd2442fa6d08c72811d4bccdb36d0cb35cb28f4db4c5793ef00aff5f1a149244652414354414c531b0000000f224d4a00581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba14442454147190f55581cd3a034e403b98cbdb0adbc8a3144d7779330916e190d387815bb85c6a144505552521a00073870581cd5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cca14b537061636542756433353801581cdd2bebba256099ddbc70d691935215d6dfd73cef054a087207947e89a1424d4d0d581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a11e1a300581ce155fefc8048b158375af1bb53429fdfdc0e76587402782cd485c49fa1515370665265776172645469636b6574323401581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a15820cea292f40d57247753653a1b089d2eabff3b48521120a412d4f9f0323da9a3271a021c4162581ce4bbbaa875a797578044ef27713d23dfe07ce74f33163e7c40d7f480a144544d494e02581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a030a4454581cefd7bd84c73fa01400d3c892365ce90b203981aab678bcffb6f3406aa148333534303631373801581cf159a7e6fb6897693b3d787c0ce58e7c1fd1bb7b70c22f6ef7b4820ea45343617264616e6f576f726c6443757031303039015343617264616e6f576f726c6443757031323330015243617264616e6f576f726c64437570313834015243617264616e6f576f726c6443757032373201581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a14444454653190591581cf2fe9aafd2e5b3b00e2949a96d44a84d9f4d818d63945010a466a4aea145415544495418c8581cf4d97191f857096b441a410c036f63d6697dde0c71d2755dd664e302a1434d4b411a000c24a2581cfe38ef97888dfde0292b7d2ed103543ecf92a419a29634f513a1d71fa14541534e454b1a00124f80581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c19463eff021a0006f509031a08444100a40081825820a8b1758e9cdaf21d45bebd5f57afdbce8d0cea72cbdc56650cae4aa7aa5b811201018282584c82d818584283581c73bc337ff26ce3cefe6f0d9fa7e5f06291c1c2750afccfc859b8d0e2a101581e581ccc7d10e03472ed2847c54cbbdc0834b0fab7044327a604c1371112dd001a42195b9c1a01feb1ca82581d61d91ef01b73f3010bb173945cf5417257c00c002715a13052015ab54f1a085ad554021a0002d0c8031a084432d9a40081825820188692a95510ce0aae5b49e783d308584fdba81878652b3ffc4b94dc846d61bc010182a300581d71037a26510eaeee85d1b5eea480456dba700608cb0697ed55ce4e6f6f01821a001e8480a1581c2d37295347d9fbd197ecfd0e4ddef32ef757083c23985049326a5411a14e000de1404d5554414e543635393601028201d8185894d879855f58406164647231717936786172736d32657375737934333870637a723638756a78386c7875766a6d76726e37616c63346a7470736579706e653438396b6b646d686b5827363734377267336c736c6a787175796d6a6e7565786738383465636c7265636673326b67677430ff0a43414441c24381b3205818323032342d31302d33315430373a30303a30302e3030305aa200583901346e8e1b5661c812b1387021e8fc918ff37192db073f77f8ac961864819e6a72dacdddedaf57c3447f0fc8c0e13729f32641cf5ce3e3ce1301821a0bbf2d4ea7581c2d37295347d9fbd197ecfd0e4ddef32ef757083c23985049326a5411a94e000de1404d5554414e5430323539014e000de1404d5554414e5430333039014e000de1404d5554414e5430363735014e000de1404d5554414e5431343531014e000de1404d5554414e5431353433014e000de1404d5554414e5432303932014e000de1404d5554414e5433353931014e000de1404d5554414e5434363930014e000de1404d5554414e543537363901581c9b542bc33521163a7ff3a05d1df1bcc0c0ec6a0638337e4b2870f6eaa253496e74726f76657274736d63617264303938320153496e74726f76657274736d636172643134333601581ca8c68ff1e130c79cd0cad73357670b3b4fd11a0708319a99be14e860a454426f7373506c616e6574566f78436174313432320154426f7373506c616e6574566f78436174353238360154426f7373506c616e6574566f78436174363638360154426f7373506c616e6574566f784361743731393001581cad14d754d349ac1a6cbd3e08d404e67bc5b3ab265884736a5bf07eb0a1455448554e5402581cb3e1cf0ef01fbcadba904194b9715cdfaa69578dd19208a5036c6bbea15242726f6e7a6520466972737420526964657201581cb6f448244e0d1dd7e16e1ab5f55c4a1d0f2b808198f69ec59be7fe75a14d48554e5445525041535338383401581cc0ee29a85b13209423b10447d3c2e6a50641a15c57770e27cb9d5073a14a57696e675269646572731a5b5030f6021a0003b1e50758209492409509e48dfa101ce381ab6bd091a57a2f88144907d9c9338ebc586acf598aa300818258209bb454c18fe65c70718b44aff26224ee056cdc26859616f078354b1e0142a53e58403e18fb83cab72ba4e643d8614dc7e4bfb8e098a83834dc7ede1f66ad21e00528c1879c0815198eb06442fc98752f4f37b053b76e740d3870da0168c2fd728b0a0481d8799f9fd8799fd8799fd87a9f581c7aedc614c23e7727d929f0bcc7b63dbbab21960d72d4d3f7b99f86adffd8799fd8799fd87a9f581c7aedc614c23e7727d929f0bcc7b63dbbab21960d72d4d3f7b99f86adffffffff1a01d905c0ffd8799fd8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffff1a10429900ffff581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135aff0581840000d87a80821a0001dffd1a020cc583a100818258207dc89b74134ba57fe580e2fbfc6762fc1da6ed6835d78bc914887acde1452dab5840d7f1dc69ed95a82d5c370ced9395a61ac09db73ddb29194184399fbdcc68b384a42584443188131c5bd8ee441bd03b4d12d5efc32b6318fb1976697dbb38b409a1008282582077769f6b8843e2faed9fb59be2c9f8471c0ec067ccd6ddfbeb85545c0263f94f584027bcdbb26832152ac2e7bf4a1d2e3442d385cd3d372fa75f4d326070b50270124d807be82b4599f52055e28003bdc8966e2dbda51044323ad0b850588b4761058258200e85628014b38822fac87cd2832ad41cbb4625796731a1e3a90210fb34da15b658401d47ca0ff1982d734ffa0689a55ee6f7b268d90484703a7ec93e4a764e3b268a35f092e2ef61b9302baaee0a7f5370a04278606428e50d07c018c56e2ab84909a10082825820fa83da64ba1157c7e15753996543a6e2775a47b6a0ec0f623f6c32a640c73fc658405765a0f2c6d10a9cc26460e1b923029b12cd8f94f31ff1203af43bc588fb5a117a8ecaef07e2599d1b2699011bb224eae7c2cd3f9186d50cc8e701485b5633088258201c5bc9204de92ca42837e4ca442a04726e600e9fe295b0e83fd8f396b33bb80f5840687fab0f79f36a6e67c184700aa44e985818539ed018466dd72a31bbbe2d0dd45a56db8f067995f9b0f5359440a042d30dcdaaf85aa8c77a397293a1674ee500a20081825820d39f6e2677e23ac35da0a65bef78ae5cfdf34eb57c4059d4d7f31aa9ccdb8eff5840b7077008d5750149899299e6d716167299d32b185ea883a866939cdcb59a99e1e198c34f2a690d2c7951870fe0cbf5b74a246f10fb1e87b5170983c82afbb7000583840000d87a80821a000186a01a01c9c380840001d879820201821a000ae8f81a10b0760084030080821a000668a01a09896800a10083825820ccd2d17f2beb5f68cd85a998618f2f95bb34de2ffa90ced21d09532dd72a65365840ba9927a2514d1e7f739057f7c46181a725e6b35b670f0d7830e7d8928906604fd0e2bff8d40c0cd10a5269fa318767d99607e500ce6bec308ddc79fed8aef000825820ccd2d17f2beb5f68cd85a998618f2f95bb34de2ffa90ced21d09532dd72a65365840ba9927a2514d1e7f739057f7c46181a725e6b35b670f0d7830e7d8928906604fd0e2bff8d40c0cd10a5269fa318767d99607e500ce6bec308ddc79fed8aef000825820ccd2d17f2beb5f68cd85a998618f2f95bb34de2ffa90ced21d09532dd72a65365840ba9927a2514d1e7f739057f7c46181a725e6b35b670f0d7830e7d8928906604fd0e2bff8d40c0cd10a5269fa318767d99607e500ce6bec308ddc79fed8aef000a10082825820777c861c016fb5438ee2440f4c308b97a797cfb0412c7dff535c00e05cd71df3584092523702698092da084a3bfa3f026a3749dde76944796d3b268585bbe0944c5b55bfe5ce14034c9401eee92a8c7516e2c1c29b41447b023cd21f64e853cd920c82582074f34d5d448752b8dd7b6064e1d7c2ab3780c3008211078f58a0aa7857a76db058401a92ce4955d960b8a9f0f9a00f03ea2bea11b4f4b2501a4ccef91b761f2391b165a08573115104c612b4d58d65ed5696aa67d1d6a6159db69cfff47ad28f2d02a102d9010283845820a16fcc8e91292ad8b726b8bcfdbd598681045d6ca3d76432b9e203cdb11668545840a9e128ddacee9eccc3bd79b7ce87b43e890c1fd4bc84561370b2d5e2ce09b198a4fe55b23a334fd272235b52834868343b6f6d754c45dcf6fab19d3c1e838d0858207c41f038e6f85db2dda6f3d7156ac4e1194c20e4826c8b28b6ca18d161dba48a5822a101581e581c5981b261ab5ccd38a6875922601bd29a0f5c700201bf2b9d70f0cbdc845820c7541735ff568f9e7ec8d98dd6fc34824eb6fadeb34a0048d6398d2376e2b0f0584072f2f3d208b509ad38191b24ac2b2e6b7519c390b9804ed732e6fe20e39dc2fa519fd1733559190269e67d56a124d88c4936de9863343637485ada034e217e0b5820549825d7adc50d611e27745ceab99dacbb4fdbf9ecfb088b89fa4949e64da0b35822a101581e581c5981b261ab5ccd4d092c7a228f5cf21c7a9017a1713adc02929ea339845820e9e4f58f76026739e71f4e362ef674d81bad5be7bad330485458817409cdc6e758402a963aaa0228255476c217741cafa3185ed2fea59bf3bc886ca32ff9b414ca398b5ad6198166c0f238c70ce06fdf0d5aeae7b788bb7dd39d41a821878445ea0c5820080a8a3540296c4d344a86d8e3857ecb534ce206d4c0b28f797ef13a524a01175822a101581e581c5981b261ab5ccd72c1639022e8a6100a8792c43b1aacf1d869a997f5a100818258204d0b6683e5c54ac14bf1ed626a47d76091452cf6416b5e4d1ce780a0d3be35065840d552290dbe68c50eea998bd38fe87cbf6959c5c94a5c6fc9975b38ca68ab1e19ec7ca92b9299f50f0191d7a0847e40715cb78b63295d7d2726898d38926daf0aa10081825820b23218428cf0ea2f632a880cdca78acd2d8cd5af0877fef482a472e5a060648f5840046765cf13cb83f6a43e7fa69315cd3a80ac84d68c569a02f4df6074b8056b0ee334204227072c0a32497f859fcd65140638d6525f4846fc9a900868d5044e0ba500a8181e61361832784064383739396639666438373939666438373939666438376139663538316337616564633631346332336537373237643932396630626363376236336462626162183378403231393630643732643464336637623939663836616466666438373939666438373939666438376139663538316337616564633631346332336537373237643918347840323966306263633762363364626261623231393630643732643464336637623939663836616466666666666666663161303163396333383066666438373939661835784064383739396664383739396635383163653538316264343164636634343233623761656663343866623734346365393738666632653663613036346638383736183678406364316631333561666664383739396664383739396664383739396635383163366234366162353761313630306536623738313639663464366562633763336418377840633833393335346334333733636235653330626163353339666666666666666631613066626335323030666666663538316365353831626434316463663434321838782d33623761656663343866623734346365393738666632653663613036346638383736636431663133356166662c01a5181e61361832784064383739396639666438373939666438373939666438373939663538316362653161623061303566336534613633633430656539336664326632653066373765183378406161316137303130366361306231353764323963326266666438373939666438373939666438373939663538316338333565666663316238376638333937346418347840623333373633303466346539646436323966323562326337636266396363656366633839306566666666666666663161303033643039303066666666353831631835783b376161613636366439343333363330393333323432626365626431623165303666366431623965326631303634346364613936376434613466662c03a11902a2a1636d7367826f44657868756e74657220547261646570506172746e657220544150544f4f4c5306a11902a2a1636d7367816f44657868756e74657220547261646509a11902a2a1636d7367826f4d7574616e747320526166666c65736d43726561746520726166666c6580")] public void DeserializeBlock(string cbor) { Assert.NotNull(cbor); diff --git a/src/Chrysalis/Cbor/Attributes/CborPropertyAttribute.cs b/src/Chrysalis/Cbor/Attributes/CborPropertyAttribute.cs index 26468aa7..723f84d9 100644 --- a/src/Chrysalis/Cbor/Attributes/CborPropertyAttribute.cs +++ b/src/Chrysalis/Cbor/Attributes/CborPropertyAttribute.cs @@ -3,7 +3,7 @@ namespace Chrysalis.Cbor.Attributes; [AttributeUsage(AttributeTargets.Property | AttributeTargets.Parameter)] public class CborPropertyAttribute : Attribute { - public string PropertyName { get; } + public string? PropertyName { get; } // Make nullable public int? Index { get; } // Constructor for name-only @@ -16,7 +16,7 @@ public CborPropertyAttribute(string propertyName) // Constructor for index-only public CborPropertyAttribute(int index) { - PropertyName = string.Empty; + PropertyName = null; // Changed from string.Empty to null Index = index; } diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs index e0af0ca8..19a9950d 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs @@ -27,15 +27,8 @@ public T Deserialize(byte[] data) where T : CborBase (int? Index, string Name, Type ParameterType) = parametersOrProperties[i]; // Deserialize the value - byte[] encodedValue = []; - try - { - encodedValue = reader.ReadEncodedValue().ToArray(); - } - catch (Exception ex) - { - Console.WriteLine(""); - } + byte[] encodedValue = reader.ReadEncodedValue().ToArray(); + MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; object? deserializedValue = deserializeMethod.MakeGenericMethod(ParameterType) .Invoke(null, [encodedValue]); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs index 425b2a97..7e3e6bf9 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs @@ -40,7 +40,8 @@ public T Deserialize(byte[] data) where T : CborBase Type baseType = typeof(T); Type[] concreteTypes = GetConcreteTypes(baseType); - return ParallelDeserialize(data, concreteTypes, baseType); + // Instead of await, directly block on the returned task: + return ParallelDeserializeAsync(data, concreteTypes, baseType).GetAwaiter().GetResult(); } private static T SequentialDeserialize(byte[] data, Type[] concreteTypes, Type baseType) where T : CborBase @@ -60,32 +61,42 @@ private static T SequentialDeserialize(byte[] data, Type[] concreteTypes, Typ throw new InvalidOperationException($"Unable to deserialize to any concrete type implementing {baseType.Name}."); } - private static T ParallelDeserialize(byte[] data, Type[] concreteTypes, Type baseType) where T : CborBase + private static async Task ParallelDeserializeAsync(byte[] data, Type[] concreteTypes, Type baseType) where T : CborBase { - (bool Success, T? Value) = concreteTypes - .AsParallel() - .Select(concreteType => + TaskCompletionSource successTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + + // Create a list of tasks that attempt to deserialize in parallel + Task[] tasks = concreteTypes.Select(async concreteType => + { + if (successTcs.Task.IsCompleted) + return; // If already succeeded, just return early. + + try { - try - { - Type typeToDeserialize = GetClosedGenericType(concreteType, baseType); - T deserializedValue = (T)TryDeserialize(data, typeToDeserialize); - deserializedValue.Raw = data; - return (Success: true, Value: deserializedValue); - } - catch - { - return (Success: false, Value: null!); - } - }) - .WithMergeOptions(ParallelMergeOptions.NotBuffered) - .FirstOrDefault(result => result.Success); - - if (Success) + Type typeToDeserialize = GetClosedGenericType(concreteType, baseType); + T deserializedValue = (T)TryDeserialize(data, typeToDeserialize); + deserializedValue.Raw = data; + + // Try to set the result - if another task beat us to it, this will be ignored. + successTcs.TrySetResult(deserializedValue); + } + catch + { + // Ignore failures - if all fail, we handle that after all tasks complete. + // But do not throw here, since we only want to fail if NO type works. + } + }).ToArray(); + + // Wait until either one task succeeds (successTcs.Task) or all tasks finish (Task.WhenAll) + Task completed = await Task.WhenAny(successTcs.Task, Task.WhenAll(tasks)).ConfigureAwait(false); + + if (completed == successTcs.Task) { - return Value!; + // We have a successful result + return await successTcs.Task.ConfigureAwait(false); } + // If we reach here, it means Task.WhenAll completed first and no task succeeded throw new InvalidOperationException($"Unable to deserialize to any concrete type implementing {baseType.Name}."); } diff --git a/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs b/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs index ee884442..52c14059 100644 --- a/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs +++ b/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs @@ -28,9 +28,6 @@ public static Type[] FindConcreteTypes(Type baseType, IEnumerable asse public static IEnumerable<(int? Index, string Name, Type Type)> GetCborPropertiesOrParameters(Type type) { - // Cache attributes for the type - object[] attributes = RuntimeMetadataCache.GetAttributes(type); - // First try constructor parameters ConstructorInfo? constructor = type.GetConstructors().FirstOrDefault(); if (constructor != null) @@ -38,8 +35,8 @@ public static Type[] FindConcreteTypes(Type baseType, IEnumerable asse return constructor.GetParameters() .Select(p => { - CborPropertyAttribute? attr = attributes.OfType() - .FirstOrDefault(a => a.PropertyName == p.Name); + // Get the CborProperty attribute directly from the parameter + CborPropertyAttribute? attr = p.GetCustomAttribute(); return ( attr?.Index, Name: attr?.PropertyName ?? p.Name ?? "", @@ -55,11 +52,10 @@ public static Type[] FindConcreteTypes(Type baseType, IEnumerable asse p.CanRead && p.CanWrite && p.Name != "Raw" && - attributes.OfType().Any(a => a.PropertyName == p.Name)) + p.GetCustomAttribute() != null) .Select(p => { - CborPropertyAttribute? attr = attributes.OfType() - .FirstOrDefault(a => a.PropertyName == p.Name); + CborPropertyAttribute? attr = p.GetCustomAttribute(); return ( attr?.Index, Name: attr?.PropertyName ?? p.Name, From 862858f0a418e800ff8e67a047233d580b7163bd Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Wed, 11 Dec 2024 05:57:52 +0800 Subject: [PATCH 057/162] chore: bump Chrysalis version to 0.5.1 (#74) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 30e652d7..1c836d2c 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.0 + 0.5.1 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From b0eec9bfae56b6715b118dde6a9a53ddc0569948 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 10 Dec 2024 17:37:50 -0500 Subject: [PATCH 058/162] fix: concurrency issue (#75) * fix concurrency issue * version bump --- src/Chrysalis.Test/CborTests.cs | 30 ++++++++++--------- .../Cbor/Converters/CborSerializer.cs | 2 +- .../Converters/Primitives/UnionConverter.cs | 17 ----------- src/Chrysalis/Chrysalis.csproj | 2 +- 4 files changed, 18 insertions(+), 33 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 4cfb353d..4a0dfe7f 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -67,25 +67,27 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("85828a1a00a844fa1a084424e95820a6a6cbfd6bc495f86722673b5b4c3f7e05aff1e81f2e2d17498750646cd5f9b858203226127923b0012698673e8a2c4f2cc72d1755ae83fafb822094731648f5521c5820f7ad250f04f532fc842ae10d34d16a450f3b61a1d874e22599c2a44c1532d2ee825840d7fa8ec335c9ffc09f742ec9ba095c813c066ac0bdfeba53dd854a3001f4757e15e3d02d39ecd985fb16f97f409d3db356139fcbfa4eb34eade72c7dd4ab88bb58503de6b1803c005cf2308eac78ff4416059169ca8ee3ad78c58a45fbe697c261e53c7a5eecb5e5406ec6015c62dd88fb7e4009dc373b9652031a79c7df93f0a5a6322c8c599f81cd613e29c9b7b39e0406193d63582051e1692b33382cfdb1739fb2822cd82d9acee673ace5eb58d94014f41de25f278458204fabc9876878501c879c35d4fa7a09bcf188e408bffdc6e99b0f7188e5052b640f1903fc5840ca9f7ad7ec702564c890e25161e8740c39947f4052c20c6e772d55577ad4587a06620da3a2c4d0812526203fb1bede5b0e2d771a0982ec1a796a1b2d6bfb43088209015901c0218c7f72922c1f4b9447281098da6b487319f87efb6c4d10f29278f0adf01c23f2067bd9a7899ab45923a83cb41ce23d9ebac8116eed87792c82bb6fdda01f0b6e83bd36b6ed533b2c95d0b47ce87408cbd769ac7694e4bb843324d3d01004adbdb12f335d582ca9c7b020f3cd41ae6c40149c0b481c14e9729b00dd71ebb32873a08f7f0e0b0530fc9446a043e994d4d952a52c8b845142a844bb4c9fd1264573bd7e12b479a3a5de31c88826b1cd787a315664718dce8f9b5e07d19ec568bd204ced35de09d4d87f571ebacfcc13c74613100b3440c1d8ba2255e351a76ba1af6925c53bd510a9c8538421db3d648bcf773597bd8a3d8d0f0e1c7491cb3963ab15d43cab3983cfd7b7b481d14439c90973365d31d689006c6e583eede37fb1310b31e9d2f8be4a5d074aa35bb23b01071c0c66848b59a9ddb3a29b4d56f9a3478ac49e237cf44881515b9b9234a4c30f76e399a28f9f54cdc2bb741d9d40a223223a561d7caffe8c6e767982af2bb282f4a436cbf80dabd79a8144729e6c20112e772e4b316100ee2127429a4fad74c326227ac02dbe1e0ba0b8082640340f4812cd7eecd04184bea69e1775590a1e84173a94d4bbdeb74ef88b54d25d24a78aab0082825820c76c71c76369e8d4338f5df6b92b79c8d310d404b01ed16e27328e22ee6ad09800825820ccb13d2219dfac1cec37ec590ca17602349906841c0fe0ff4165ac3492ae82da02018283583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a00140ef6a1581cb558ea5ecfa2a6e9701dab150248e94104402f789c090426eb60eb60a14b536e656b6b69653732333001582059a1d9f5bc2ee40e62d3e2852393762063d73644b7fe46ed1735603ff485447082583901e581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac5391a109c0b3d021a00048c43031a0844284807582002c0dfac17757a1658d6ad569b75810f166367743ef4aac68402acb03e2635e40b5820b5a924ee55064ddf045477a0fee47854e7496949c367ae821c87915cc7491e450d81825820e351aa8ae16f9ff006850615f09864e4bdb3a25f859e8a6ab57491ee3d4b0fe3000e81581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a1082583901e581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac5391a004578db111a0006d26512818258201693c508b6132e89b932754d657d28b24068ff5ff1715fec36c010d4d6470b3d00a50084825820f1a46ed40d7dece4814532fa486145c99a075a05691789fe698c74b05452522601825820eca375e9060ea1679debad40afc461a1b1e3a56938f9204b851bc6865fda47f302825820557daf191284bcd0a90c7d685fbd375adaafa4effe85fc061a7d1143c02fe36302825820557daf191284bcd0a90c7d685fbd375adaafa4effe85fc061a7d1143c02fe36316018383583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a0013cb9ea1581c8c7e4db8e170cf0f7957065b51911b33d4d82b9da52fed31092a8e23a1476e616d653135320158201e7ccffd8238d710d5f406d76d30e88d221b5f482141b52de4351a3fde2bfa45825839017aaa666d9433630933242bcebd1b1e06f6d1b9e2f10644cda967d4a43c848ddeb298b8e1a354cda52fbd7390941e1b345f7a0e24989cbf31821a004a0d44af581c14e238ef651da35b7f518c8bf7bee6d90fa355d596c40b332cbcf419a247416c69636531370147416c696365393101581c35277cf8fbcc27f7b39713958dc5e69f1ed142ad865d9f1716e61fefa1581a5265616c20486f7573657769766573206f662043617264616e6f1a0012c4db581c523c9156fb140c0bdd1fb8bc5b66ec215817a65abd990ab480f83172a14d436c61726b20576966204a50471826581c673a9f5e5c488d2aa3b5a0479ef84358cb069ec1d9d6e3d8f1d445e2a1582074657374746573747465737474657374746573747465737474657374746573741a0ee6b280581c6d1ba62af19d1b206c0dcdea660c5412faa9e9ff26d3b56829a9fcf6a14a54455354544f4b454e3301581c82424ec1f9ed53a525bd8d57af8edddbba03d784511933151e6f4243a1515765206861766520612050726f626c656d05581c8c7e4db8e170cf0f7957065b51911b33d4d82b9da52fed31092a8e23a2466e616d65343101466e616d65363401581c9dbb604dd3ff9f99a265d2dd76016ecd96534a70e73b062944274d12a152436861726c696520426c6f636b696e736f6e1a0029ae01581ca62775d24e6a26a7c4beef4011da1b656610ed8c58c2cbc86b07d91ba3544d616172746c6561726e7363617264616e6f333801544d616172746c6561726e7363617264616e6f343801544d616172746c6561726e7363617264616e6f393501581cb8a18b1f068dc111762843d041005b88fa339d9b8cb9530ea79ef2d0a1582031323334353637383930313233343536373839303132333435363738393031320c581cd173dc4be8dd39a40a348722d7bd5df8dd24649c5821b3ee19206e5da1581e556e6974656443756e74736f66446563656e7472616c697a6564534849541a0003d090581cd4473a78ae992ed6d95299e7177b45c8053d5db5495467a29ff0c780a3554d6f636f7373694d6167696350696c6c303434383901554d6f636f7373694d6167696350696c6c303935333301554d6f636f7373694d6167696350696c6c313030393101581cdb42506e5c54dc8d9bd6cf72597beeb76679dc7bb54c5a206177f145a14624434c41524b1b000000e8d4a51000581ce9dec3fec128f03bacd659cd6d4e04ff049f5bc5c1f3816f45bf3f14a14b6772616475617465206d651a14dc9380581cf67b457c4f278c7c278f636af04a378dc6fe99270a84cd174735f98ca14b446f672057686973746c651a000ceffb825839017aaa666d9433630933242bcebd1b1e06f6d1b9e2f10644cda967d4a43c848ddeb298b8e1a354cda52fbd7390941e1b345f7a0e24989cbf31821a002f9ba9a8581c057bc25020d13ba19d2aee954359ed1807a293b3e7314cc7fa79dafba244426f62310147426f623132333501581c33d69b23369914f970c4dc72b3acac1a50055b3b9d10415d70ea958aa1447465737402581c48f69a80dcca7bee58431b8b749faca98700ca456056d153fbea4eb2a1444f4d4e491b00000009833e2cf4581c5c227b00b3233840ae352b6dbc8e87dc5ccb1037a1ea3bd331842cbaa14943726f6320636f696e1a02faf080581c61bdb007b1d85699c569a3d8bc9fc46afe3a3aaaf27cd62fa6d62028a14874686520746573741a1dcd6500581c723ede5e3d5459431160c34f64535a228e8d882e9bd2d04c1865b877a14c4d6161727450656e64696e6705581c7363e2adbaaadbaca2f3a9729e4bba4369985dd78597ab10b7b788c8a14843726f632074776f1a0ee6b280581cd49c4a038e14df89f6716ae7d4674727aad35e03dfdfc80627c34caea14463726f630f021a0003c6dd031a0844284c0758201eeadc6f68e865927d63f7a2e7bf0826a4202bee1c3e7752cdacadcb578fa65aa50081825820b5b2b6b2019eb4cbdf8616735ce7f0600043f951837cb0a223df06ba66431ada00018182583901804ed7c45887d774060c638cf179a9152cc7c3459f2c8a5a9030fc8f4b9c9b045fbdf8f1009d517cc0e4c533c0a430cf5015d75800eaa61d1b000000015bf77dd5021a0002abdd031a084432a9048182018200581c4b9c9b045fbdf8f1009d517cc0e4c533c0a430cf5015d75800eaa61da70084825820b5573923fb39860469ebed90908c04cd9fc836fd507eb746dcb4d2ad7b9dbc5f018258208b8cf67f52a62946de2296aef77a6be5529f45bee6b85208894e21631af886bc008258207bc7b6c9f736ac5c5d9534f384810a7bf082bd79cda48e1a32b3c28386a6666c01825820ebf5504058f4422e8037e21a23f3abddc331aafeaa083023bb900e71d877fb1e020184a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02584c2966b7365678b44008a519b2c6715baa1820feffd61684923b0501821a002dc6c0a1581c6ea9e98f9225e06ba885c26b461f842df0186bd12315dc1a4e53b810a14d52756e20546f6b656e204144411a0216caf7028201d818590106d8799f4100581c1f3cce4cd10b448d312069e3ea63b043e4737e0e4f88d650dd70f008d8799f581c6ea9e98f9225e06ba885c26b461f842df0186bd12315dc1a4e53b8104d52756e20546f6b656e20414441ff1a0216caf71a000dbba01a2168ae4fd8799f4040ffd8799f1a2168ae4f1a0216caf7ff00d8799fd8799f581cfb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b8ffd8799fd8799fd8799f581c584c2966b7365678b44008a519b2c6715baa1820feffd61684923b05ffffffff581cfb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b89f581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b2ffff82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a001bc77882583901fb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b8584c2966b7365678b44008a519b2c6715baa1820feffd61684923b051a001e848082583901fb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b8584c2966b7365678b44008a519b2c6715baa1820feffd61684923b051a003a7eec021a00045e1d031a084432d90758202dc628086810b33c5d41765f60916e10dd75a406a4f57db79f2f4c038cb9a95f081a084424c90e82581cfb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b8581c584c2966b7365678b44008a519b2c6715baa1820feffd61684923b05a800828258204ceec48a94b70b9246b6ed454d288fa142729aa63144f0198d93bc83578654cc00825820a77678ce2ee71875e03f214fe1993a541d9c91cbba338e8cae86de9d6147b0b9010182a200583901fb3ab055e0dbb15ac6bcfdf574e09a6a5fe4026b27a40f1ddc6f48b8584c2966b7365678b44008a519b2c6715baa1820feffd61684923b05011a2ca6ddcfa3005839319dee0659686c3ab807895c929e3284c11222affd710b09be690f924db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821b00000001fb61cd42a3581c6ea9e98f9225e06ba885c26b461f842df0186bd12315dc1a4e53b810a14d52756e20546f6b656e204144411a19aa7829581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec200a15820909a44a08575cc2b876738401d76f85df1207bc4998a1e8201b85a0f83fd7b941b7fffffff90ef0bd9581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add06a158207c3b742218da9e1fffe48a9b956565c23783bc9df953a9f17e27ce419e7e498901028201d81859011ad8799fd8799f581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add0658207c3b742218da9e1fffe48a9b956565c23783bc9df953a9f17e27ce419e7e4989ffd8799f4040ffd8799f581c6ea9e98f9225e06ba885c26b461f842df0186bd12315dc1a4e53b8104d52756e20546f6b656e20414441ffd8799f581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec2005820909a44a08575cc2b876738401d76f85df1207bc4998a1e8201b85a0f83fd7b94ff1a0001831c18641a015957551a00103cd49fd8799fd87a9f581ce5619f78d716cc24ea924e4412d83353ae390edd9905ecc6d5c85c2bffffff00581c75c4570eb625ae881b32a34c52b159f6f3f3f2c7aaabf5bac4688133ff021a0008177405a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b58205328ca618708a88ed01ee7c84b2b658a2f19fb71839355ab99d510d2b8902d560d818258209d542c4b846f398e4c846b889f9dbb921749bf06944d915ad5cc12a17bb8fb4c000e81581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b21283825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820482719d050a96b91206f78c6c2b834e844ea576557387e09e7b1c8afa4d433ac00825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a5008282582067e281afd7a8c116346e921a58916879fa3c36835903f5553bd31d3aafb32dcf0082582067e281afd7a8c116346e921a58916879fa3c36835903f5553bd31d3aafb32dcf0101828258390148537d3f0ee48bd38acb09a58c25af098a31c0345b36cf212e06830f48537d3f0ee48bd38acb09a58c25af098a31c0345b36cf212e06830f1a000f42408258390148537d3f0ee48bd38acb09a58c25af098a31c0345b36cf212e06830f48537d3f0ee48bd38acb09a58c25af098a31c0345b36cf212e06830f1b00000001e4777ea2021a0003917e031a3b9aca0005a1581de148537d3f0ee48bd38acb09a58c25af098a31c0345b36cf212e06830f1a005e5934a700818258209136acbfc1b2fbe37a5ce8f48b3bf44c10b757b2b31c20eaea614ba525a3fa2e030184a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4cae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5c011a02349340028201d818590130d8799fd8799f581c48938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057ffd8799fd8799f581c48938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057ffd8799fd8799fd8799f581cae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5cffffffffd87980d8799fd8799f581c48938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057ffd8799fd8799fd8799f581cae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5cffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c582009c1c1a0cc2ebfb1368bc70b6298cb285886191027a350968c53912378a52de1ffd8799fd87a80d8799f1a01f78a40ff1a00659f7fd87980ff1a001e8480d87a80ff82583901ddab53d5e0d31f8d2b201ff073520cb1d563a76396feb09487c6a72cc51bbb2ee12e1e1584e5efa9c924531d70f51a12969a9a651f3b92f71a000fc3288258390148938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057ae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5c1a001e84808258390148938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057ae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5c1a002b8abe021a00042fb5031a084432d9075820bfd6dd1e96e4fd26c6379aa3093aaef25639d58ee76d045bd4528ef9f2fed808081a084424c90e82581c48938bd01946e06f446de42f2ba082037f4c18d95c182c594a25c057581cae91a00a6716ef0da5207788304565ed80aefb4ea5eb5b180758cb5ca400d90102838258206baab2b080382a7990984cf362f0dfd5b59b1947ae226575548ab0bd0ce04ea9018258206baab2b080382a7990984cf362f0dfd5b59b1947ae226575548ab0bd0ce04ea902825820933223c70f18b34b521604010bfbed6586cad48122c83c7df9d1624703e078f000018382584c82d818584283581c9bd63a40ea2dbbc352b11fb7ceea2ecc6eaadcc3f7f6c09824b50588a101581e581c9b17098ec5544a5b03f921a91b80c9dcb461fbbd503dfbb42844e4de001ace04f1a61ab2c968f782584c82d818584283581c33c83f72dac95dcf57bce40b5b9d8a420378fb4cd5f4dc1a24d1bddda101581e581c5981b261ab5ccd2b371bea2287d4620b1dfce9a52b85ab7ccd04d532001a792ea386821a00e4bfddbf581c002954d012220494e078a25587a99e6c717d6854f1179517318492c7a1446241646101581c007394e3117755fbb0558b93c54ce3bc6c85770920044ade143dc742a143505443194c2c581c0171c997b8853fde686763d93b36ab8e04ce947bb6aa09a9ee5c4401a145544f4b454e195143581c023465384f747471f5c96ae059a589c07f22b19b47878b3fcdd8c803a14552424f4f4b02581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a00663be0581c078eafce5cd7edafdf63900edef2c1ea759e77f30ca81d6bbdeec924a14579756d6d6919012c581c0c442180dd6163682d8e03b271caefb4944a24412bdd07adafb04ccba14a50494e41434f4c414441191d4c581c0c78f619e54a5d00e143f66181a2c500d0c394b38a10e86cd1a23c5fa144414441581906cc581c0fd9819a9d7fb414880883f43a42d33458f12bc5f9841cec6457dc15a14556695275531a0039de67581c123da5e4ef337161779c6729d2acd765f7a33a833b2a21a063ef65a5aa4b5369636b43697479333437014b5369636b43697479333439014b5369636b43697479333530024b5369636b43697479333531014b5369636b43697479333532014b5369636b43697479333533014b5369636b43697479333534014b5369636b43697479333536014b5369636b43697479333537014b5369636b4369747933353901581c12a0bad7a63e1fb043159b583215900859f75ab627cdc0428fe6ae72a14b4d4452616365723431343801581c12c1f9c6754952e2c26b37af3c8facee41ed5b398c0223ff9f4848c4aa581a526166666c65666f72556b7261696e654f47426f6f6b3131333401581a526166666c65666f72556b7261696e654f47426f6f6b3131373501581a526166666c65666f72556b7261696e654f47426f6f6b3132313801581a526166666c65666f72556b7261696e654f47426f6f6b3132353901581a526166666c65666f72556b7261696e654f47426f6f6b3134303001581a526166666c65666f72556b7261696e654f47426f6f6b3135363201581a526166666c65666f72556b7261696e654f47426f6f6b3138323601581a526166666c65666f72556b7261696e654f47426f6f6b3138323701581a526166666c65666f72556b7261696e654f47426f6f6b31393037015819526166666c65666f72556b7261696e654f47426f6f6b38393101581c133fac9e153194428eb0919be39837b42b9e977fc7298f3ff1b76ef9a14550554447591a0c845880581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e1a01c9c380581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b0000000de4b236a2581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a029020c0581c20cd68533b47565f3c61efb39c30fdace9963bfa4c0060b613448e3ca14650524f5849451a05c81a40581c25a549dffe519c58fb88f0c794f08a6b64f9e5aa505c4c09e3ffffb8a1535350465265776172645469636b657432303234193e80581c269c0c6fb54095825e7f352eb667996872af8d3a988e78595d5958f6a146544d494e763203581c279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3fa144534e454b0a581c287f9379ebfabd43585aaaf7d7d4ca492972c928df2aa7fa7bb44294a1424b4301581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a008f1a68581c2af89e99de1bf692b10230c0b38fe89cc764364d0e15cc7cc47e0ad0a1534372617a79204b69746368656e20566f6c203102581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e1a042c1d80581c2b0a04a7b60132b1805b296c7fcb3b217ff14413991bf76f72663c30a14667696d62616c190b00581c2b7e1c65b836affa518d0a63067e52962c37e0485cf28edcd970bff6a14576424f4f4b01581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a54efc640581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a00432380581c300ec0d82a79acdc0616fdc0ef615e7deeddb03275e834685e9ee8a6a142585418f0581c313e41b0f3f55637689d3980d3479920cb3bb0a5860d03cd49c17c11a156537061636550756773506f6b6572436c75623431313201581c3568e07d31ab3c217ea594bfff9744a00a91225fa53244514ffeefb5a555526166666c65456e7472795469636b6574303538330155526166666c65456e7472795469636b6574303539310155526166666c65456e7472795469636b6574313231340155526166666c65456e7472795469636b6574313834300155526166666c65456e7472795469636b65743234353701581c357e02258d623e48a8e74f7f311cd1ba0b801fbc28dd099859a43985a1444a554b451ab2d05e00581c35f36e4078e6a5687be81e875e7baccb5b38ee14a5b1d44cd737e6faac5819576f6a616b626c7565526166666c655469636b657433323939015819576f6a616b626c7565526166666c655469636b657433333030015819576f6a616b626c7565526166666c655469636b657433333031015819576f6a616b626c7565526166666c655469636b657433333032015819576f6a616b626c7565526166666c655469636b657433333033015819576f6a616b626c7565526166666c655469636b657433333034015819576f6a616b626c7565526166666c655469636b657433333035015819576f6a616b626c7565526166666c655469636b657433333036015819576f6a616b626c7565526166666c655469636b657433333037015819576f6a616b626c7565526166666c655469636b657433333038015819576f6a616b626c7565526166666c655469636b657433333039015819576f6a616b626c7565526166666c655469636b65743333313001581c37b47fcaeb067582eb0b4230632633adffa7753481139b67cc8fe3cea1465045524e49531904b0581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e1896581c443726318f7a3995686a79f65ed48fdb79aaf576aecaee354d8ba018a1444e49444f19012c581c47959e79846b8bdcacb91f586408d97e2dff44f31a04f03902cba818a14553574545541a0001fbd0581c4ea6fd26e61fafd2a6deae2af266bed7c003c4e41e87ac3a59c4d14fa145484150505909581c4fd0d998dc0700ca6ef89fafff05fbf523a3a25c1fc8314bf7e4d1c2a14647726f777468190419581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a143464743190cb2581c5244c9979efa4d49159c01c91f00bd2e17e327258b5a169f60f60122a14b4255445a4d494e544b455901581c52c16147514c66ad5ce74dccbd4a27e5e58c94fab31ed17d7b871218a14d446567656e44696e6f3130333801581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f571832581c545dc1601b5d469508698f7966a3c1c8cf207073041ad84b28d373c1a14954494745523336313701581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b79196978ff82584c82d818584283581c3376c7ff631fc8106f7c657e73a9146560839742d0163e1cbe5e6555a101581e581c5981b261ab5ccd047be1182205164d2428206f6e3748e64f28cd0e1f001aa120650a821a0103ebe2bf581c56673962a054070732569178ba2b3e1cb591e3413ecd7b57a9e3f18ba1454245414e531a00034fa8581c585cfcbdd0786e961187999e5d5d36b38d1ebc1c4112a0a95a8bd477a143424c431a0082ef38581c5993061274861159508aef767fc0ccd8b8a9b836171a989ad543fa1fa15044446f53546573744d696e743331313101581c5cabbdb4a2e7a2387cbeb3b097e602bf609284895a4e6fcf955fd77ea1525370616365507567735a6f6d62696530303501581c5ec2e9813fa385d9333d18186d8257d1b3ebea97bdec2dad74026d8da1475055474348495019023a581c622a3ce680e464703220b955f1ce1bfd7fb1152450b1b62e9acba09ea24c414441546f6f6e7a32303535014c414441546f6f6e7a3235383201581c63766427b4499dd678cb8b715dec3265dd292279ce7779447e3651e5a1434b4f5a0a581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d42494519b3b0581c64e549542c1252a80bb7f0d2aaccfae269e950ccd84c2975b9f40265a144614d494e01581c66ffb6f177f1ed667fc5483615d86f2e11270e80473ee0a00e4c9931a1554d7973746572696f7573204d6f616920233236333401581c67bd67cb79c4eee511b6ad5f39960fd2b7c3c6cc24391d8f0c655261a1444f72676101581c6cf6b5cf0fefbe9e69d640d8be84912bb2c9e132671954548790bcfba14f6d65736d6572697a6572303931313101581c6ddd6503e0ab63538c77bd51f679b9ed84998af89901b01ce3dace88a14b5369636b4369747933333904581c6f2b8c46d1af6508a88ef0cdb9bf7ec77719124c6c7717c218dbd357a24f50686f656e697847756c6c32393837014f50686f656e697847756c6c3335323801581c6f46e1304b16d884c85c62fb0eef35028facdc41aaa0fd319a152ed6a1444d434f531a000c234b581c7163418c912394baf7f1248b276582c9472f26e601439241778981d0a152476f6c64656e526573657276654b6579383101581c71ccb467ef856b242753ca53ade36cd1f8d9abb33fdfa7d1ff89cda3a1434346431a001ab3f0581c757d6d0b72beba043054f920156b396db16e4f2492c6cec089ebd608a14c4d444c6963656e736531303001581c772791eb3f4b92874a49d487375a90db631988291c1a643b817668caa14d4d616420446f6720546f6b656e1b0000000306dc4200581c7b957fa45d75fed7b534df39f4f0686af890589697662f0b8a9602f6a1494c6f6d696e3038383401581c7e605894cdcbe8d1933f0a8760d93bd121aca583cf21ad1c25e51fd3a7514d6164446f67436172436c75623136313001514d6164446f67436172436c75623136383101514d6164446f67436172436c75623138333601514d6164446f67436172436c75623235393501514d6164446f67436172436c75623238333401514d6164446f67436172436c75623335383301514d6164446f67436172436c75623336383501581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a1a00124f80581c81074c0995544cdc379ffb66df5b3a7cdcf07c5855aa932de4a4067da145544652454e01581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521a038444c0581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1901d6581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a3df5a045581c9460f3352773623741fcf6fd471668998021c3ebb805413c80e9b439a14541424f4f4b1a00013880581c987c1f90efe1c95957509b460e0e4f6d6b3f7025a7aca99cd2909037a1444d5954481908fc581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e189b581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a1f478150581ca134724e20a26031a75ca1bc8effc60d3beb667c449c95d91587b137a157486f736b696e736f6e323032325768697465626f6172640b581ca26022096c6a8052987dabbfa94849ab7886cf0bb7840044e017d5bea1484b756265436f696e199024581ca3914cb7a564d010c7b67774ac8720a8ece3a758279b51d8a1c05cc5a1495745444e45534441591905dc581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451953ca581ca89568bb399d0cdc38367e47831c95186f5c79e58174e08a18232396a14a4554424643546f6b656e1a70595032581caa036f84174000b81a71131007e45ee44c2d78159a55d19c514a77afa1444d4e4d4c1b000000014ce368fb581caa2797739e4f4a1efd5346998febff59909e425b5fddb1b0ec4a24f8a1454c6f6f6b7a186c581cad1c1ed3a0bb6f83630ef052a31b71ba3287bf4bafa8370758f14d31a1445349434b1a000d4670581caea1ceb3625680e2f7a31ea1a64c9c430c34d8588bf4f8e3c7f9b1dda146476f746368691ae27f6600581caebcb6eaba17dea962008a9d693e39a3160b02b5b89b1c83e537c599a14012581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a144515549441878581cb0af30edf2c7f11465853821137e0a6ebc395cab71ee39c24127ffb4a1444e46544319065b581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a92080880581cb6408f665a71750e622a3f6430f35a1a6d6cde0d0b6c41bc027c0356a14f50726f6a656374426f6f6b776f726d182c581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1a000674ae581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1b00001bd7807ead10581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491b000000010038fd8f581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a144444942531a00040b28581cd01794c4604f3c0e544c537bb1f4268c0e81f45880c00c09ebe4b4a7a1444d59535419251c581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f199bdc581cd0df03edacc8a83e5b6db4de163a1c73924dabf8994c628f043e5e7ea15443617264616e6f4669676874436c75623732313001581cd2442fa6d08c72811d4bccdb36d0cb35cb28f4db4c5793ef00aff5f1a149244652414354414c531b0000000f224d4a00581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba14442454147190f55581cd3a034e403b98cbdb0adbc8a3144d7779330916e190d387815bb85c6a144505552521a00073870581cd5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cca14b537061636542756433353801581cdd2bebba256099ddbc70d691935215d6dfd73cef054a087207947e89a1424d4d0d581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a11e1a300581ce155fefc8048b158375af1bb53429fdfdc0e76587402782cd485c49fa1515370665265776172645469636b6574323401581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a15820cea292f40d57247753653a1b089d2eabff3b48521120a412d4f9f0323da9a3271a021c4162581ce4bbbaa875a797578044ef27713d23dfe07ce74f33163e7c40d7f480a144544d494e02581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a030a4454581cefd7bd84c73fa01400d3c892365ce90b203981aab678bcffb6f3406aa148333534303631373801581cf159a7e6fb6897693b3d787c0ce58e7c1fd1bb7b70c22f6ef7b4820ea45343617264616e6f576f726c6443757031303039015343617264616e6f576f726c6443757031323330015243617264616e6f576f726c64437570313834015243617264616e6f576f726c6443757032373201581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a14444454653190591581cf2fe9aafd2e5b3b00e2949a96d44a84d9f4d818d63945010a466a4aea145415544495418c8581cf4d97191f857096b441a410c036f63d6697dde0c71d2755dd664e302a1434d4b411a000c24a2581cfe38ef97888dfde0292b7d2ed103543ecf92a419a29634f513a1d71fa14541534e454b1a00124f80581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c19463eff021a0006f509031a08444100a40081825820a8b1758e9cdaf21d45bebd5f57afdbce8d0cea72cbdc56650cae4aa7aa5b811201018282584c82d818584283581c73bc337ff26ce3cefe6f0d9fa7e5f06291c1c2750afccfc859b8d0e2a101581e581ccc7d10e03472ed2847c54cbbdc0834b0fab7044327a604c1371112dd001a42195b9c1a01feb1ca82581d61d91ef01b73f3010bb173945cf5417257c00c002715a13052015ab54f1a085ad554021a0002d0c8031a084432d9a40081825820188692a95510ce0aae5b49e783d308584fdba81878652b3ffc4b94dc846d61bc010182a300581d71037a26510eaeee85d1b5eea480456dba700608cb0697ed55ce4e6f6f01821a001e8480a1581c2d37295347d9fbd197ecfd0e4ddef32ef757083c23985049326a5411a14e000de1404d5554414e543635393601028201d8185894d879855f58406164647231717936786172736d32657375737934333870637a723638756a78386c7875766a6d76726e37616c63346a7470736579706e653438396b6b646d686b5827363734377267336c736c6a787175796d6a6e7565786738383465636c7265636673326b67677430ff0a43414441c24381b3205818323032342d31302d33315430373a30303a30302e3030305aa200583901346e8e1b5661c812b1387021e8fc918ff37192db073f77f8ac961864819e6a72dacdddedaf57c3447f0fc8c0e13729f32641cf5ce3e3ce1301821a0bbf2d4ea7581c2d37295347d9fbd197ecfd0e4ddef32ef757083c23985049326a5411a94e000de1404d5554414e5430323539014e000de1404d5554414e5430333039014e000de1404d5554414e5430363735014e000de1404d5554414e5431343531014e000de1404d5554414e5431353433014e000de1404d5554414e5432303932014e000de1404d5554414e5433353931014e000de1404d5554414e5434363930014e000de1404d5554414e543537363901581c9b542bc33521163a7ff3a05d1df1bcc0c0ec6a0638337e4b2870f6eaa253496e74726f76657274736d63617264303938320153496e74726f76657274736d636172643134333601581ca8c68ff1e130c79cd0cad73357670b3b4fd11a0708319a99be14e860a454426f7373506c616e6574566f78436174313432320154426f7373506c616e6574566f78436174353238360154426f7373506c616e6574566f78436174363638360154426f7373506c616e6574566f784361743731393001581cad14d754d349ac1a6cbd3e08d404e67bc5b3ab265884736a5bf07eb0a1455448554e5402581cb3e1cf0ef01fbcadba904194b9715cdfaa69578dd19208a5036c6bbea15242726f6e7a6520466972737420526964657201581cb6f448244e0d1dd7e16e1ab5f55c4a1d0f2b808198f69ec59be7fe75a14d48554e5445525041535338383401581cc0ee29a85b13209423b10447d3c2e6a50641a15c57770e27cb9d5073a14a57696e675269646572731a5b5030f6021a0003b1e50758209492409509e48dfa101ce381ab6bd091a57a2f88144907d9c9338ebc586acf598aa300818258209bb454c18fe65c70718b44aff26224ee056cdc26859616f078354b1e0142a53e58403e18fb83cab72ba4e643d8614dc7e4bfb8e098a83834dc7ede1f66ad21e00528c1879c0815198eb06442fc98752f4f37b053b76e740d3870da0168c2fd728b0a0481d8799f9fd8799fd8799fd87a9f581c7aedc614c23e7727d929f0bcc7b63dbbab21960d72d4d3f7b99f86adffd8799fd8799fd87a9f581c7aedc614c23e7727d929f0bcc7b63dbbab21960d72d4d3f7b99f86adffffffff1a01d905c0ffd8799fd8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffff1a10429900ffff581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135aff0581840000d87a80821a0001dffd1a020cc583a100818258207dc89b74134ba57fe580e2fbfc6762fc1da6ed6835d78bc914887acde1452dab5840d7f1dc69ed95a82d5c370ced9395a61ac09db73ddb29194184399fbdcc68b384a42584443188131c5bd8ee441bd03b4d12d5efc32b6318fb1976697dbb38b409a1008282582077769f6b8843e2faed9fb59be2c9f8471c0ec067ccd6ddfbeb85545c0263f94f584027bcdbb26832152ac2e7bf4a1d2e3442d385cd3d372fa75f4d326070b50270124d807be82b4599f52055e28003bdc8966e2dbda51044323ad0b850588b4761058258200e85628014b38822fac87cd2832ad41cbb4625796731a1e3a90210fb34da15b658401d47ca0ff1982d734ffa0689a55ee6f7b268d90484703a7ec93e4a764e3b268a35f092e2ef61b9302baaee0a7f5370a04278606428e50d07c018c56e2ab84909a10082825820fa83da64ba1157c7e15753996543a6e2775a47b6a0ec0f623f6c32a640c73fc658405765a0f2c6d10a9cc26460e1b923029b12cd8f94f31ff1203af43bc588fb5a117a8ecaef07e2599d1b2699011bb224eae7c2cd3f9186d50cc8e701485b5633088258201c5bc9204de92ca42837e4ca442a04726e600e9fe295b0e83fd8f396b33bb80f5840687fab0f79f36a6e67c184700aa44e985818539ed018466dd72a31bbbe2d0dd45a56db8f067995f9b0f5359440a042d30dcdaaf85aa8c77a397293a1674ee500a20081825820d39f6e2677e23ac35da0a65bef78ae5cfdf34eb57c4059d4d7f31aa9ccdb8eff5840b7077008d5750149899299e6d716167299d32b185ea883a866939cdcb59a99e1e198c34f2a690d2c7951870fe0cbf5b74a246f10fb1e87b5170983c82afbb7000583840000d87a80821a000186a01a01c9c380840001d879820201821a000ae8f81a10b0760084030080821a000668a01a09896800a10083825820ccd2d17f2beb5f68cd85a998618f2f95bb34de2ffa90ced21d09532dd72a65365840ba9927a2514d1e7f739057f7c46181a725e6b35b670f0d7830e7d8928906604fd0e2bff8d40c0cd10a5269fa318767d99607e500ce6bec308ddc79fed8aef000825820ccd2d17f2beb5f68cd85a998618f2f95bb34de2ffa90ced21d09532dd72a65365840ba9927a2514d1e7f739057f7c46181a725e6b35b670f0d7830e7d8928906604fd0e2bff8d40c0cd10a5269fa318767d99607e500ce6bec308ddc79fed8aef000825820ccd2d17f2beb5f68cd85a998618f2f95bb34de2ffa90ced21d09532dd72a65365840ba9927a2514d1e7f739057f7c46181a725e6b35b670f0d7830e7d8928906604fd0e2bff8d40c0cd10a5269fa318767d99607e500ce6bec308ddc79fed8aef000a10082825820777c861c016fb5438ee2440f4c308b97a797cfb0412c7dff535c00e05cd71df3584092523702698092da084a3bfa3f026a3749dde76944796d3b268585bbe0944c5b55bfe5ce14034c9401eee92a8c7516e2c1c29b41447b023cd21f64e853cd920c82582074f34d5d448752b8dd7b6064e1d7c2ab3780c3008211078f58a0aa7857a76db058401a92ce4955d960b8a9f0f9a00f03ea2bea11b4f4b2501a4ccef91b761f2391b165a08573115104c612b4d58d65ed5696aa67d1d6a6159db69cfff47ad28f2d02a102d9010283845820a16fcc8e91292ad8b726b8bcfdbd598681045d6ca3d76432b9e203cdb11668545840a9e128ddacee9eccc3bd79b7ce87b43e890c1fd4bc84561370b2d5e2ce09b198a4fe55b23a334fd272235b52834868343b6f6d754c45dcf6fab19d3c1e838d0858207c41f038e6f85db2dda6f3d7156ac4e1194c20e4826c8b28b6ca18d161dba48a5822a101581e581c5981b261ab5ccd38a6875922601bd29a0f5c700201bf2b9d70f0cbdc845820c7541735ff568f9e7ec8d98dd6fc34824eb6fadeb34a0048d6398d2376e2b0f0584072f2f3d208b509ad38191b24ac2b2e6b7519c390b9804ed732e6fe20e39dc2fa519fd1733559190269e67d56a124d88c4936de9863343637485ada034e217e0b5820549825d7adc50d611e27745ceab99dacbb4fdbf9ecfb088b89fa4949e64da0b35822a101581e581c5981b261ab5ccd4d092c7a228f5cf21c7a9017a1713adc02929ea339845820e9e4f58f76026739e71f4e362ef674d81bad5be7bad330485458817409cdc6e758402a963aaa0228255476c217741cafa3185ed2fea59bf3bc886ca32ff9b414ca398b5ad6198166c0f238c70ce06fdf0d5aeae7b788bb7dd39d41a821878445ea0c5820080a8a3540296c4d344a86d8e3857ecb534ce206d4c0b28f797ef13a524a01175822a101581e581c5981b261ab5ccd72c1639022e8a6100a8792c43b1aacf1d869a997f5a100818258204d0b6683e5c54ac14bf1ed626a47d76091452cf6416b5e4d1ce780a0d3be35065840d552290dbe68c50eea998bd38fe87cbf6959c5c94a5c6fc9975b38ca68ab1e19ec7ca92b9299f50f0191d7a0847e40715cb78b63295d7d2726898d38926daf0aa10081825820b23218428cf0ea2f632a880cdca78acd2d8cd5af0877fef482a472e5a060648f5840046765cf13cb83f6a43e7fa69315cd3a80ac84d68c569a02f4df6074b8056b0ee334204227072c0a32497f859fcd65140638d6525f4846fc9a900868d5044e0ba500a8181e61361832784064383739396639666438373939666438373939666438376139663538316337616564633631346332336537373237643932396630626363376236336462626162183378403231393630643732643464336637623939663836616466666438373939666438373939666438376139663538316337616564633631346332336537373237643918347840323966306263633762363364626261623231393630643732643464336637623939663836616466666666666666663161303163396333383066666438373939661835784064383739396664383739396635383163653538316264343164636634343233623761656663343866623734346365393738666632653663613036346638383736183678406364316631333561666664383739396664383739396664383739396635383163366234366162353761313630306536623738313639663464366562633763336418377840633833393335346334333733636235653330626163353339666666666666666631613066626335323030666666663538316365353831626434316463663434321838782d33623761656663343866623734346365393738666632653663613036346638383736636431663133356166662c01a5181e61361832784064383739396639666438373939666438373939666438373939663538316362653161623061303566336534613633633430656539336664326632653066373765183378406161316137303130366361306231353764323963326266666438373939666438373939666438373939663538316338333565666663316238376638333937346418347840623333373633303466346539646436323966323562326337636266396363656366633839306566666666666666663161303033643039303066666666353831631835783b376161613636366439343333363330393333323432626365626431623165303666366431623965326631303634346364613936376434613466662c03a11902a2a1636d7367826f44657868756e74657220547261646570506172746e657220544150544f4f4c5306a11902a2a1636d7367816f44657868756e74657220547261646509a11902a2a1636d7367826f4d7574616e747320526166666c65736d43726561746520726166666c6580")] - public void DeserializeBlock(string cbor) + [InlineData("85828a1a00a845581a08442cdc5820d476065787e45980ab0b8187ac42298b26ce6994dbc6da4b12a2eb4a2db524f058206bc7e7d0ee6834cea3f0fc2ec71458a4bc0f55e5a1687397bea68a793c66af4d582001d7b3446b0d2d1b540a605725e39e0d35b1936e9c1a4ca138de495972b4d91c8258406b149f01f403a1aee0e126fcc60eb45f1a4fd332c2ca9c0126fc4d281d2aaef7bcc266e74d2fee66e02713932172c165190f951936130b75063f27ab3efaa113585008fdeb8a7a92a32c2b55f4d4cd767418f05fc176025caa2d2d7b92ebaef82acfec370aa50d64682456d39481a55d5b2eb51a6d4a1eaa9c440670fe0ab24fa1c749f8f7f8a81468bb6293191462959b0419798c58204d29a6d11ce81265a6eb0f8a58cb1b7e62d1399f4599c4d4f46c66b7b904fcdf84582064806747778795a133e4133b5f7c3adb873da334871346f765055079a18aecab061903f558408fb6384e953ca8c713a412b751219d1461ce6991034c97e9c587ee7f0ac3b4d10e2f629edb35c880be23df272b8607b562477d840e184743496b0132d467c4088209015901c0f71e275c3823a5c401efa765ab8758374737e73b49e1cd9fd05b518db1ea77d4f9a1be46246bde7938a680407163a0c82549932d39b7d7e6ec48535646309b0d051cba1817dcbe9d4ad605abae83bf6255bab912349d9c2e7ffec8ea44811fa497fb1c8abb5d1b208e6d4976f7d40d68e066270515fb90c4ad33e272058b9c086e6ac2d6b03e3f580675179bace02b581c294f75aaf7aa81ae82e7cef707ee5f27c2249c8f087665a506cbfe545f7123b160043181fd613cc1e2c650c95beca682054184a8492455deeda25242d6721b822a243b96690ee5a47ef76908efcd9077c0a921e0e2e90b08bf11a32b207c3381e0f131081fbdf6f1892babd7e5034734c9b74d58e17bb14f8e3dece4006b0f7e94172baf42e50db7108d5ef9a8730d2d34e3830f218a980de185591062b5bd5fb1dbaacbc09f61c46ba2cbf59a6e78a664197444ff1d1b497c95b6e90edcff43afea3aea81e13097423e063a2838558fe712c74bc22133ddb5242696a7900ff5a440a8927215f36c883ca7b90c81c6db6ca2b2fe3edf4f351a831ac621c340ca00627fe4f47e77a8a2d1239561b7e3d3c0e668db38172a6f54e68d7a461c1a9011b18634d3d5c755e314975fddefb48cad008382582000d7824cd129cfc5ddfcb13b577084b93052da0596ffc5461b8dd8ce43334b69008258201a92a924aa460959fedaee164748880834202dfcd17d540427b39e8cdb45465e02825820607a6e9eb4afe083bbd26ece8d5b531a57cb279bbefeb83e3cd713f297b91ac001018382583901674e2acebab981623268c60ede46b266735f48203130c93d52e95364dcb8bfba8f0cb60956c3eda2e74fc8cb7990bd388f85c1c9ba624462821a001e8480a1581cbf3e19192da77dfadc7c9065944e50ca7e1a439d90833e3ae58b720aa14544414e5a4f1a00153ad2a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821b0000004dd7978abfa2581cbf3e19192da77dfadc7c9065944e50ca7e1a439d90833e3ae58b720aa14544414e5a4f1aa33df4e0581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820309e97dfbd9446b4a1f85b6b8fe7b52ba89d51dcacf9631c3560c61ef2e9239d1b7ffffffb2e8064e4028201d818587fd8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581cbf3e19192da77dfadc7c9065944e50ca7e1a439d90833e3ae58b720a4544414e5a4fff1b00000004d17f9b251b0000004dd5bdb0991aa33b3d2919012c19012cd8799f190682ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a220eaf31021a000a09ed031a08442d5d05a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a08442ca90b58205ef0565858f1f7da3ee06db77146bd42ca60df0629d4aa52865274f6ea24f1800d818258201a92a924aa460959fedaee164748880834202dfcd17d540427b39e8cdb45465e020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a21b3703f111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700a50083825820a31ea45282d68fc91135371602e2689f041f49bd864541119b30e65c3fa13b0c018258200b5a2ad0e62ef9233350db2506be03b06c01d1a44def31a908e50a622360174601825820b0974f4165f014975ad4d3122972546e47a570fddb020843ddd0a48889477d4c01018383583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a0014524ea1581cac2b6f8e4890009275150be8151ed07379435deef885e551c55c33c8a14f466c61744d61727469616e38313730015820796fece5ee435a9947ebbbfbad3e6b6df1de147d539cd9c82408a2307500ae9d82583901e8077802a2e8535c516ba790f15da28bfc11eed9e00041016379f40e7f4138f32a3e221caec962df2b8ecb622ace00dc9e0fb21473cd6caf821a0026ffb6a3581c8da763ce1d6adb725a295a7f145c32808295b542de5062d92efa8370a14e000de1404672696769643736393801581cac2b6f8e4890009275150be8151ed07379435deef885e551c55c33c8a94f466c61744d61727469616e31323238014f466c61744d61727469616e32393236014f466c61744d61727469616e32393637014f466c61744d61727469616e33303837014f466c61744d61727469616e35333337014f466c61744d61727469616e36343631014f466c61744d61727469616e37353131014f466c61744d61727469616e39303636014f466c61744d61727469616e3937333201581cb558ea5ecfa2a6e9701dab150248e94104402f789c090426eb60eb60a84b536e656b6b696530323330014b536e656b6b696530323339014b536e656b6b696530323530014b536e656b6b696530333633014b536e656b6b696530343031014b536e656b6b696530343739014b536e656b6b696530353430014b536e656b6b6965303534340182583901e8077802a2e8535c516ba790f15da28bfc11eed9e00041016379f40e7f4138f32a3e221caec962df2b8ecb622ace00dc9e0fb21473cd6caf821a00abd95fa8581c0c2c9bb9c8f3c5f8efcef2bd1a127a19a5efc7b76e44cc3db272cd15a253434554415244494f77686974656c69737434360153434554415244494f77686974656c697374383601581c1a8e0471d05d42366aa7d5f1bc866c860ad2c4408f2a28c7d72b02daa5581b43617264616e6f2053756d6d69742032303233204e46542037353001581c43617264616e6f2053756d6d69742032303233204e4654203138393801581c43617264616e6f2053756d6d69742032303233204e4654203231313901581c43617264616e6f2053756d6d69742032303233204e4654203238323901581c43617264616e6f2053756d6d69742032303233204e4654203337383901581c1f362a4df39f451401e44fee30f27eb39712d66aae375f539be94ed6a24c546865496c69616430343234014e5468654f6479737365793031383101581c36db275148ab8a1157cedd8d6a124ed3a7298ad3886352168c76c9dca251476f6775656e457261436f696e303337380151476f6775656e457261436f696e3036303301581c4a1f2890f7e5f5cdd8b31c6ef4d6c28eebe377f2a2f2f43dd06399dda24b436574617264696f373038014c436574617264696f3331303401581c4c3f8a1773b7813e537a75f7b1b2897996bdc0e1d6d7d0c11252e252b81b504d6f636f73736949746f32303036363901504d6f636f73736949746f32303230353901504d6f636f73736949746f32303333313501504d6f636f73736949746f32303731393701504d6f636f73736949746f32303733313401504d6f636f73736949746f32303937393501504d6f636f73736949746f32313034393601504d6f636f73736949746f32313131393701504d6f636f73736949746f32313535353501504d6f636f73736949746f32313637353701504d6f636f73736949746f32313735363601504d6f636f73736949746f32313939313701504d6f636f73736949746f32323039313801504d6f636f73736949746f32323231363301504d6f636f73736949746f32323630313801504d6f636f73736949746f32323833343301504d6f636f73736949746f32323833363201504d6f636f73736949746f32323834333501504d6f636f73736949746f32323834343701504d6f636f73736949746f32323835313801504d6f636f73736949746f32323835373201504d6f636f73736949746f32323835383701504d6f636f73736949746f32323835393301504d6f636f73736949746f32323836303301504d6f636f73736949746f32323836323101504d6f636f73736949746f32323836333901504d6f636f73736949746f32323836343501581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa1497370696e647269667401581cf29dda8c7e64d4ef7c0bf826598da54eb4e7ed69f37fe59f7021f6ffb82751416d6574687973744669737430303336360151466f7262696464656e546f7930323736380154426c616465696e746865416279737330303038350157426577696c64657265645079726f7175697330303330360157426577696c64657265645079726f7175697330303539350157426577696c64657265645079726f7175697330303831350157426577696c64657265645079726f7175697330313234380157426577696c64657265645079726f7175697330313434390157426577696c64657265645079726f7175697330323530390157426577696c64657265645079726f7175697330323738310157426577696c64657265645079726f7175697330333031380157426577696c64657265645079726f7175697330333038390157426577696c64657265645079726f7175697330333134330157436861696e6f664f62737472756374696f6e303030383001574465736f6c6174654d61676d61476f6c656d303030333801574465736f6c6174654d61676d61476f6c656d303032323001574465736f6c6174654d61676d61476f6c656d303133343901574465736f6c6174654d61676d61476f6c656d303137313301574465736f6c6174654d61676d61476f6c656d303138393301574465736f6c6174654d61676d61476f6c656d303230313401574465736f6c6174654d61676d61476f6c656d303231303801574465736f6c6174654d61676d61476f6c656d303231363001574465736f6c6174654d61676d61476f6c656d303237363001574465736f6c6174654d61676d61476f6c656d30333038370157496e6665726e6f73747269646551696c696e3030333336015818426c7565457965644669726557617272696f723030383339015818426c7565457965644669726557617272696f723030393439015818466c616d65666f7267654e6f766168656172743030303139015818466c616d65666f7267654e6f766168656172743030313339015818466c616d65666f7267654e6f766168656172743030313430015818466c616d65666f7267654e6f766168656172743030373635015818466c616d65666f7267654e6f766168656172743031303134015818466c616d65666f7267654e6f766168656172743031313436015818466c616d65666f7267654e6f766168656172743031353830015818466c616d65666f7267654e6f766168656172743033303837015818466c616d65666f7267654e6f766168656172743033313235015818466c616d65666f7267654e6f766168656172743033313237015819467265655370697269745a6570687972646565723030303330015819467265655370697269745a657068797264656572303030353401021a0004a991031a084430330758203909900c4084375449c0bc540b1b15b1fc8cdd9d9a4cf48be6507e3c2567ce3ba500d9010281825820e7ebbc911936b73316dda958c59577bf628b2bfcf96e29a99c239330cdcadbe700018182581d61bc86118450fdb2609d5293131ceefa07d5528ae1b67309487b228d131a0c970cf9021a0002a2ad031a084439680758204dd0364851fbb729de1657d08a1c868bf884659b1a6e45d0690a7afc28d7a179a70083825820944e7f7894aed2b3594f406e96d6d9aace23d39bc4c2f1770b17c8824de036ed01825820944e7f7894aed2b3594f406e96d6d9aace23d39bc4c2f1770b17c8824de036ed02825820aba05373650a73520fde6c810c6bdd49ddb14b5bd8f6e6749884b380d077d87200018382583901e912270c161ba364fe6dab8b054e4cefe40070c32472b9f8b9b4466fd45c835fb516fd18d575550c3ba8ccfbe28466a0d7f18b4836d60533821a00116f4ba1581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e19546782583901adb1bf6a51b20ff1b8450726ef3891bb0e153d5bf47783375e2134afbd6a096cbba5e259946798e948403e2d2b3d9ea88a12ee8e7ae944971b0000000c3a47e07782583901adb1bf6a51b20ff1b8450726ef3891bb0e153d5bf47783375e2134afbd6a096cbba5e259946798e948403e2d2b3d9ea88a12ee8e7ae94497821a005123beb4581c09f5f55fcad17503e6b7acc81de7c80f84b76e76d17085f0e32f1ce2a14441574f4f1b0000003df01c04d0581c21abdf54f427b378fe9ba07419eff6e8e8fe0c5932e1fee2d3853b93a14850455045424c55451b0000007a19179220581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1b000010d8c2f67d89581c2b28c81dbba6d67e4b5a997c6be1212cba9d60d33f82444ab8b1f218a14442414e4b1a00b35e2f581c3d77d63dfa6033be98021417e08e3368cc80e67f8d7afa196aaa0b39a14c53746172636820546f6b656e1b00000018ae2d0712581c4f2a93e7e89d2db75ade14859a0002a8debb25b877145099c32b6ed4a144554546411b00000014e89542bf581c52162581184a457fad70470161179c5766f00237d4b67e0f1df1b4e6a1445452544c1a54590426581c5acc52d5696e52345aec108468050d9d743eb21d6e41305bbc23a27ba1454154484f4d1b000a75c0a397f890581c5c1c91a65bedac56f245b8184b5820ced3d2f1540e521dc1060fa683a1454a454c4c591b00000009a6ac67cf581c681b5d0383ac3b457e1bcc453223c90ccef26b234328f45fa10fd276a1434a50471a75a8031f581c6f46e1304b16d884c85c62fb0eef35028facdc41aaa0fd319a152ed6a1444d434f531b000002f9f614b44b581c8d7526784ef72fe0ccdd085976ada0da88e7fb013e38e794b0923341a14542454152441a044c2a4e581c8daefa391220bd0d8d007f3748d870f7f3c106040314c8515ccc35a5a144464c41431a191e63f9581c8fef2d34078659493ce161a6c7fba4b56afefa8535296a5743f69587a144414144411a7a713bdc581c905da53004cfee0b8549285949aebedf82b5c6bb9a412cbd9658c6dea143434343192160581c94a21344f388a259dc8b1f3bcf91d9439379dd748b18a7168ed0b359a144764144411893581c95a427e384527065f2f8946f5e86320d0117839a5e98ea2c0b55fb00a14448554e541a0ce26e72581c9f452e23804df3040b352b478039357b506ad3b50d2ce0d7cbd5f806a1434354561a000f4bf8581cbf3e19192da77dfadc7c9065944e50ca7e1a439d90833e3ae58b720aa14544414e5a4f1a189824b3581cc5f87616092bc2595960b3f87c8760703cc5afb87b3a025d9ae6f704a1447041444118b9021a00037489031a084456f2075820dceb615df4c37cb35edc022e11faba4f98e042261a24cb1e2bca0cc3e4dcc45709a1581cd195ca7db29f0f13a00cac7fca70426ff60bad4e1e87d3757fae8484a24568764144413901c44568764d494e3954660e81581c4f641455f17911fe2f55ad3ad67fc2e0b2946b59af3352574322e67eab0083825820020b7b7220b077dc53ab528dbde1696eaff8ead3921c1bfa672ab114818dc9ac02825820730c68bfa1670b3bc1dcbd685a96d83a4745442d1c3c9bf709707924020c788f00825820a1f12e34d6bc6febb6d5b213afd9a3b557d1dd9fdb055a7c81565097e96f967500018383583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330952563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821b000000052a5b1cd6a3581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a15820d232d9950808307e9bea2e91a41d8253536cd925aa997fca9fbbf935261c25ae01581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581cdefe216460d594211631fcfbd354f361c04645d6a0cfeead3d6f6283a14b6c657676797769666861741a009ae35f5820262a1629b85d8fb0ec0b19cd324ca0c44fc76693dde1c104246f2eb6ab2e98a18258390136a72dc444c61626655ab77bc374ac7fe51807024d6ed9dea61ff692f64b3058b433a49bd5da7fface60831427ac2b353c9f07b6a52f712d1a045ea59882583901bcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821a3d6558b9a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d3137333532303336303030303001021a000b9fb7031a084430a20758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a08442cba0b582077f911cdca5e8e97a3b0d4b4a275786d5adb831c08e604b7cf2e017758eacfaa0d81825820020b7b7220b077dc53ab528dbde1696eaff8ead3921c1bfa672ab114818dc9ac020e81581cbcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d1082583901bcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821a3d0628b0a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d3137333532303336303030303001111a004c4b40a50081825820685779501312e3a96f87a217b07ea8bca5518950952cbd7531530365d6e11bb601018282581d61f09143a8b6c99adffd72a0e7b6a3615276490ba585e1614635b632601a0098968082583901dc48c9d0722de86728a00e0f6d790f427d0e893337b72e5810c567a00813b15e99b181db4cf873a347f8406b9c244a1e888b60901480791f1a24c765b2021a00028d05031a084456a40800ab00828258207c6e8467b22d2047929720d9db5107d852b264d2f645f988796b4a14b04331ec0082582086feba8b51fb86a11d71269e312ce463331baa256f803bd2a46fdb445454a24f02018283583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a0013ed4aa1581ce3ff4ab89245ede61b3e2beab0443dbcc7ea8ca2c017478e4e8990e2a149746170707932333039015820857a3a5c57996a61728738f2de1eb1c7fd2b8e7fd7bd56120455ce89e1b58bd18258390108fce0d35e765086c597ba6a45a18bf9703f77e4b7eca40b522d1c3b87f8f5ffd504c19f4b5cdc85597782557d8b484debc6b09fea86d97d1a12dd70ce021a00048b32031a0844304b0758201c824d1fd163a1ee91b8caeb58a9986123aee77a347aad0c95a67fa13bffd8780b5820e4f215b3753b4590cc2a6ed15f85079b7eb182b28fca0f60d89e32a2c1e551a70d8182582086feba8b51fb86a11d71269e312ce463331baa256f803bd2a46fdb445454a24f020e81581c08fce0d35e765086c597ba6a45a18bf9703f77e4b7eca40b522d1c3b108258390108fce0d35e765086c597ba6a45a18bf9703f77e4b7eca40b522d1c3b87f8f5ffd504c19f4b5cdc85597782557d8b484debc6b09fea86d97d1a12db2b35111a0006d0cb12818258201693c508b6132e89b932754d657d28b24068ff5ff1715fec36c010d4d6470b3d00a60081825820a770fc9b972b5b82ff4c01bb8e9140a26e73d5fa087e060dcf0fa71675baf94e04018383581d7186ae9eebd8b97944a45201e4aec1330a72291af2d071644bba0159591a3bd7d30058203b650d7b0190f0ea4c274028b7efe66ceaa1bc1c34ed51307ae89f5b506e965682583901ddab53d5e0d31f8d2b201ff073520cb1d563a76396feb09487c6a72cc51bbb2ee12e1e1584e5efa9c924531d70f51a12969a9a651f3b92f71a000f424082583901131593e150c63b8ab4e265489c803433467531026cfee6f0487a0002aae40b576b3d7622c97027773b2900d4bb565ee94b92d0a70729ccbd1aa5c648b4021a0003f8b5075820bfd6dd1e96e4fd26c6379aa3093aaef25639d58ee76d045bd4528ef9f2fed8080b58207ad79859dd0ab84b45401f60c9ee74de3d995cf5c9bfea560498511d9392806c0e82581c131593e150c63b8ab4e265489c803433467531026cfee6f0487a0002581caae40b576b3d7622c97027773b2900d4bb565ee94b92d0a70729ccbda50082825820fcd065a0b8d93e735f016b0bb11f8e61aa33a8d42f534ff08d821d1480f47c4f03825820002e9f3ff3c6516fe7ba11a7437af288ad3449a9fcd663f860f577b03b60adca01018383583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a0013ed4aa1581cef66c58b44cb19ce64d80e566023b352bd4640077131e0aac6bd15d5a1495472756d707338313001582087ab8dab436565b0e6e82fe51318bd0c2551d379d11ec610939ae77ba3e5cb2082583901cc64fe179f63d0c7592ab3c15be04749a43620a15f344384d0fca34637eadeb861aaf101d2449b379d80a3474d1c8bcdf6dba624fc47a51e821a00da0322b83e581cb2c943cf9f4cbc9b35dd83693b2f8726f1fa63f2063ae7dcb1050c4aa1484d454d455332363601581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1a036fdc6f581cb765b901f8845f75d6ec976df3106208d2f3c7e6a1d8cd76c5c34dd8a35818000de1404e6562756c612773204f7261636c652023313030015818000de1404e6562756c612773204f7261636c652023343035015818000de1404e6562756c612773204f7261636c65202335363701581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1a011006d6581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491b00000017aee9646f581cb9befaf6d58079a8df618555d6371c02029b03b99db6f5b0c9bb2635a143485043190a62581cbe18c25cdb2dbe713131a313d257456664d0f3bc9fc316fd256fcf2fa2464144414b4f49034743415444414e4f15581cbe9ca6e1eff3a3175368bcf9c5af4b5fd9ecb901450feb481ebac77ca1454141474958190c80581cc0ee29a85b13209423b10447d3c2e6a50641a15c57770e27cb9d5073a14a57696e675269646572731a004c4b40581cc1140f77d53b9b479bc115391a6fcf1052ad76b5718c381cc003eb68a1486e616d653330313901581cc188d9251371ca6aedd1ae7f4272f32871489febfc2cb8d21136836ba144464554411b000000081e9a9c48581cc51f9317a44e4a5b0619cf24dd5dcc3fa7d608322dea7ca974600c77a1524a656b796c6c48796465417564696f31333101581cc5609c4800c05e82c4219ccf14c7fdf5212e11f83dbbb57ac716e98ea145666c75666619019c581cc601f21dbc9df02428b9ab9e13e1fe4de9906394a4f71e841ebbaf53a1434c49541b00000002dcd61391581ccdbbe391853676285131fe2de250e274dbeb5f9d98344e86c7b383d9a147474c44534e454b1a000ede9d581cce2955ae468ce7ae7f1f35ccb05f8c409a3a45765046de4f113c9171a147416e647934323901581ccf4515aa9b095447527d7a0630470491126f0ce58502977c32fc0ff3a1454344464c591837581ccfbc6b8519f252b1f1694cdbb9df9f339b343bdd0f2079d84e4afdd9a147415045434153481a00390173581ccfee97ff8359f07a0a395a72b424bc6e030503390d864b86d4e0ecf8a1464b41495a454e1a02cd29c0581cd01794c4604f3c0e544c537bb1f4268c0e81f45880c00c09ebe4b4a7a1444d59535419157c581cd0dd9e1ffe10e6b9b86f5ab4de28a346c114be396521d50018240034a14c57686f73654567677332353401581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e02581cd3a034e403b98cbdb0adbc8a3144d7779330916e190d387815bb85c6a144505552521a00039c38581cd55bf9d2ad12cc55e4ed29d97c64dba0e4905d3c80f800449f3d51f0a1464368616e67651864581cd64a52a708f88252f4fb3b16014c81e605b4b5d0aa3480c02fcc2e2fa145484f4152441a01036640581cd721a8c2854d332bddc835f05d03f6ca78386643905e4783e886c5d1a14541534e454b1a00124f80581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e731904fb581cdc280dbb5381ef28afbab4ca31751f13c29562d376998e907ff1af32a144474e55471a0002f074581cdc57b40369c360e917ddb62dfd7013544b4748eb45c4de6265fa6ea8a145626f6e6e731a00012511581cdda46a384a12b26e81e6fa3485b8c6fd6edb16ada7469ba637752c7ea1434c41421834581cddeec4b6d0c03b6ba4c6135e8e81031748554a5626c23363878f53dda14444554d50194e20581cddf7210f41ee910af6a8af9e7668c25348beb7e850bdadf42391ca5fa14a4341545041535330333701581cde75a2df97d4e711c971efc011aa5b5a738c4443977ce90ec7531b14a14e43617264616e6f4d65746134313501581cdf1d850c46d6c9d12cbf6181c35db9225a91b77c8a646b7f636f8ae4a14a0014df104e494e4a415a1a03aefe40581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a11e1ab0a581ce19ded02f0c03b981570621993a63fd8da84f2e9abddba6168c3f6eca14e6164617069674e696b653137333001581ce32ed3ca446eeee9d94932a8072f8ab4b995c45da161a3f8e44adf1ea249476f6f6679733236300149476f6f66797336393801581ce4af32d74ff69f72153c97371c2b09af934c3f77f27ad7b91f05460fa1454149444f47191194581ce6f464202e7c89befd79fdd3905ca96c896772721485dff66fd6b2d2a1464144414c4f541a000c4733581ce79497f972acb83461608d3f48281a406ee1e9f64ed168868145141ea14c5374616b65506f6f6c3234371a57295e9a581ce9c28a71273f825b13f38244ccf1fea97c4025813610d01a7c5d681fa14c436861726c7a20546f6b656e18bf581cea02c99c0668891d6b7cdc49e075cbddf9cd5b89404e5a8a8e5d7016a149534c4f5020436f696e190579581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a000f4240581ceb188b5fb5bee5d286be47510e46df50fec59d319414ef4ad0a3d997a24c5553417765736f6d65313130014c5553417765736f6d6531393001581cee74b8e6f88ec92e86ed08e49ab0073ba3b07e48a29375670618e63ea2554e696b6550726f7065727479536f6369657479393501564e696b6550726f7065727479536f636965747933303301581cef66c58b44cb19ce64d80e566023b352bd4640077131e0aac6bd15d5a1495472756d707337323601581cefeb309a02323634a05993abfadc8c9cccd3ac8631ad5ee0befd81d5a1515465786965722041636f757374697175651902bc581cf01ec1cb021922a491ea300fb4791dbaca720372b2a3142579c52e7da1444b616e69197724581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa147000de1406a616201581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531819581cf4364875e75320d405ceadebdf0db63fadaff55c72d4ff6b82f0676aa145434152474f1a000186a0581cf43a62fdc3965df486de8a0d32fe800963589c41b38946602a0dc535a144414749581a00c54bd0581cf6ac48c64aa7af16434d9f84e014d11fba38525b436acc338ff20b0da1434d74631830581cf73a137e0c1e92d1ad5c394918893e8f3cfa9454726c9603b50fb59fa14a6372796361743231393801581cf935b27359302c8a5516876918ac1ed62aca15a22c6ed45b15586c32a156000de1404e6562756c61416c7068615061737331363801581cfb59da920d029dde957b556d981046a9102698ed70797da5908e4634a147454c454d454e541902a0581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61a1444652454e1903e8581cfcf3c8059fc94ce2aff26744fe9a5fedbdfb063352e38b2c5fc4f5c4a14a5761725768616c65373301581cfed1c459a47cbff56bd7d29c2dde0de3e9bd15cee02b98622fce82f7a24b43617264616e6f476f6c641a00c693f04d43617264616e6f53696c7665721a0a037a00581cfef09417c8ce52abd4c9f4d3738e98956194d294c0a20dc2f8225eafb54942534343504650313601494253434350465032310149425343435046503235014942534343504650333001494253434350465033350149425343435046503634014a42534343504650313034014a42534343504650313334014a42534343504650313630014a42534343504650313938014a42534343504650323738014a42534343504650323839014a42534343504650323930014a42534343504650323938014a42534343504650333337014a42534343504650333535014a42534343504650333632014a42534343504650333933014a42534343504650343231014a42534343504650343233014a4253434350465035303001581cff90cde4f4dbcc77336dbf60d4bb09bbdf23a2681421996f45cf5bd4a15166726f677461737469632050655065393101581cffe28865d14732c1126e50b52f427990fecd9890e7b351b234d31221a2465472756d703501475472756d7033380182583901cc64fe179f63d0c7592ab3c15be04749a43620a15f344384d0fca34637eadeb861aaf101d2449b379d80a3474d1c8bcdf6dba624fc47a51e1a01a8898b021a000517e9031a0844304b07582083e0f8d2203356ff89b3ea7a4171d945272d8ea67946bb53af833ed5ec9c06afab00828258200c72643d1638b8cd3230414df3040388c5d677a26f1ad176084bb5d908b84dfc00825820c89da45ff1198db33c988397741c8428ed2d855f641319790e9a826100949096010182a300581d71d27ad3ed7b073018d429e57c2f8d1f52445aa241e280e6da149a91b401821a001e8480a1581c408f13b240f57c3473b5727a68a88c50c1b6bb15c0c10912008dc59ea15269425443323032323131313831393235313001028201d818581ad8799fd8799f1b0000002f04b7cb0aff1b00000192db3acd88ff82581d61e18d73505be6420225ed2a42c8e975e4c6f9148ab38e951ea2572e541a01aacc46021a0006a244031a08442f12081a08442a630b5820f2384b841f290351b52e7ef86bdc5725f49ce7d4cd83e0b050afbdb38915cee20d818258200c72643d1638b8cd3230414df3040388c5d677a26f1ad176084bb5d908b84dfc010e81581ce18d73505be6420225ed2a42c8e975e4c6f9148ab38e951ea2572e540f011082581d61e18d73505be6420225ed2a42c8e975e4c6f9148ab38e951ea2572e541a00777984111a004c4b40a50082825820ad3445197a337f30eef2b47f4bc03306460114b6eb122177268c45be3124e70f01825820f694fd4c3cf915ed4b0f168c16ebd0116665be91a4b3cfa00cda0140cf04365f010182a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c21cf7b8b11ede6df4e3d1b7d6a2b5149b2c7c5c05161ebebb52f6bdd011a10f8f3e5028201d818590130d8799fd8799f581cfacb3d452b3f64270dc3ee0302af2363765dbe3cb00ffc3122919ba9ffd8799fd8799f581cfacb3d452b3f64270dc3ee0302af2363765dbe3cb00ffc3122919ba9ffd8799fd8799fd8799f581c21cf7b8b11ede6df4e3d1b7d6a2b5149b2c7c5c05161ebebb52f6bddffffffffd87980d8799fd8799f581cfacb3d452b3f64270dc3ee0302af2363765dbe3cb00ffc3122919ba9ffd8799fd8799fd8799f581c21cf7b8b11ede6df4e3d1b7d6a2b5149b2c7c5c05161ebebb52f6bddffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c582093a6e6b33626dd6e2cb52e446a80ee3b0c92b38cc158417b30a6d415e97652a1ffd8799fd87a80d8799f1a10bbeae5ff1aef849e77d87980ff1a001e8480d87a80ff82583901facb3d452b3f64270dc3ee0302af2363765dbe3cb00ffc3122919ba921cf7b8b11ede6df4e3d1b7d6a2b5149b2c7c5c05161ebebb52f6bdd1a00902fb3021a0002d8fd031a084456df0758201feb00f18fbe772cc375aa495da0b08d837a719671e68da62f8ed658915d8fd1a4008e8258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c36600825820b0c737b440886a56c648c1c448b9fd47401ae2135d105e9c683b1e094e4915db008258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c366018258207563b7a7197ac146e18f260c5993786cf6862a2ad22e088a8c450937edeef51f048258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c366058258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c3660482582036c15736ecfa6844a9617de1b72b3990ee3c2645c8fdedef3adcc323d97c53bb0b82582073da342d2bdc59f0da902cc2f8bf11a98e81a210430d80fcc200d7bb8c7b5ce60882582073da342d2bdc59f0da902cc2f8bf11a98e81a210430d80fcc200d7bb8c7b5ce60b825820bf01caf5cb9d7a0928a3eeea5dd18d19da4dbe98e5691ce7555546bdad0492fb138258203807e13e4bbe5e95eef3cac5f65feff485b76f9b2ccc4692989301ff26a0056518198258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c3660a8258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c3660b8258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c3660c018e82581d61220099e5e430475c219518179efc7e6c8289db028904834025d5b0861a40d4550682581d61c232edd30746e3bce85ffecdfcccb79f79c043e5a590260b195654531a6f9c15208258390192e234ccc8ff7b981563032b2a1624384af4baead5ebb17b9cde353f40f090dd043ac0d16eb0ccbc1cad2f6fd64701bf86051441dfab3755821a003174a0aa581c5d16cc1a177b5d9ba9cfa9793b07e60f1fb70fea1f8aef064415d114a1434941471a00876c72581c9a9693a9a37912a5097918f97918d15240c92ab729a0b7c4aa144d77a14653554e4441451a003d0900581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521a000f4240581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1a007270e0581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a001e8480581cab0dec21aa7d939ad124ffaf95faf8ed72b1018ff72fffd8f9974907a145474f4b455919c350581c7d869e0e6f936c3299a8b8df2b8f13d5233801e11676ff06e78e8dbea145464947485419c350581c51a5e236c4de3af2b8020442e2a26f454fda3b04cb621c1294a0ef34a144424f4f4b1a0001e848581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a000186a0581ce5a42a1a1d3d1da71b0449663c32798725888d2eb0843c4dabeca05aa151576f726c644d6f62696c65546f6b656e581a000186a082581d7165191c3b4fbd64126ea4e17d314466169285d9d647bc25f6e83ced40821a000ffb22a1581c5d16cc1a177b5d9ba9cfa9793b07e60f1fb70fea1f8aef064415d114a1434941471b00001b53daef56ed82581d71ff6b2c87b1f8f2a1f65b7e8448a3d242d3deb419339f292577eb6fa7821a000fb7caa1581c5d16cc1a177b5d9ba9cfa9793b07e60f1fb70fea1f8aef064415d114a1434941471a032135f382581d712a59f57d5a05483a599b180eadd3a9f92a05ff638fae5d929717739a821a00102da4a1581c9a9693a9a37912a5097918f97918d15240c92ab729a0b7c4aa144d77a14653554e4441451b0000000138c90b1482581d716abc31afa8d960f7d8d3e9e48350498180f3c0a44a86c2cc31e42789821a00103e7aa1581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521b000003ca74ed1d8c82581d71dbb5bacb97bf65b5e263dc137264a15f36c2fb9444731b608ae44635821a0011d28aa1581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1b000001425fb0bc0682581d71e349e8e0cf4cf54781c8dc877c7cb45a724bf5b14e3ac633bba8ee81821a00101ccea1581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591b0000004304e3160082581d715c8de8fb42100f12f0265017fcca147460d3cb48d9b00a9a528649f4821a00101ccea1581cab0dec21aa7d939ad124ffaf95faf8ed72b1018ff72fffd8f9974907a145474f4b45591b0000001d953a5fdb82581d71e9846f32c8e8eafaf9be267e62c40fd241c9211c79685e1f97afed73821a000fd976a1581c7d869e0e6f936c3299a8b8df2b8f13d5233801e11676ff06e78e8dbea14546494748541a6fc9189082581d71d6887dd5f868973a9a2f92016567ec8c06b80fcee2a0ac7692e33116821a000fc8a0a1581c51a5e236c4de3af2b8020442e2a26f454fda3b04cb621c1294a0ef34a144424f4f4b1a0e2efcbe82581d71e9a1af2d31f94ebc637eae0b4aa190d8503ddf56bafbb275b5a4212f821a000fb7caa1581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a1c81559882581d7127501b9856f8621c7b9eff4e254c85c3af18d97464841fbbb722acd5821a0010a37ea1581ce5a42a1a1d3d1da71b0449663c32798725888d2eb0843c4dabeca05aa151576f726c644d6f62696c65546f6b656e581a18a54bab021a00063d79031a086bb9d98ca20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f584037a017e05ab4d533008aadd150238342cc11fa7999f99c9360f56d949e469825e8d9453219403afcf1b700f4148674c5f2eb3f589275368511f5822f7fe206020583840000d87980821962d91a007cc793840002d87980821a00012dfc1a0166fa60840300d8799f009f1a0018fd9fff4100d87a809fd87a80ffff821a0013ea911a1922d04aa10081825820f912b1fb7ea15d4d5064e25d2d5254978e250baa5ebdc3bdb7df7fed988963ec5840d2da3d7cf714dbbc9eb8f7a73cf3c5046a6fefc0e994bb8f12219e303bc8ee4a6977d2842d6414f79451a865d3f0fe31dea66f8ecea1f9d10e108b11d8f12a08a100d90102818258205bdc669f328a67116bb5ee395e37cec1a598ac7bb7ed9a56011323dabe4366b95840fca8c5191216963ae9b757597d4cf1d989de4df711c9a58644ad75f6e83bf58f62147600984e1012154767841436aabd586a79266ae9a8f56fd160524465cd09a200828258200621257bb5bd1477c0960b2e391c70baa8a642ad258420daa10bab85d1c24bef5840b3a139397d359c94633b8294561e9cff17c813a72cb5b345acc5b7aa133e171836ad0923b163738b94d65df773bb8e617637a4c98ff95fa6b95a970138d2800b8258205424fa10ba83c95c33714c420479c19183a7274e7c1d4161d173842c245b340c58404c25fe44f3c98f2c765e581bb5865b811efb49d99070bb6aa58b04dda056405106f8135b59f39b56c648d46386ad8a89962e04aaddd058499db8f57d99421f0901818200581c4f641455f17911fe2f55ad3ad67fc2e0b2946b59af3352574322e67ea400818258200303157375f23161027902abff500a6268c00a69f45f7bfe5adbc2f70f15df9458409e497b78740017333f3cb07eeaae4a14840138509cece36749f72bdd2d7dad30cde157c1ef4c0532c801c535f255ba8bb3b1fadde068d3736c681284acc9b00d038259014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c01049fd8799fd8799fd8799f581c36a72dc444c61626655ab77bc374ac7fe51807024d6ed9dea61ff692ffd8799fd8799fd8799f581cf64b3058b433a49bd5da7fface60831427ac2b353c9f07b6a52f712dffffffffd8799fd8799f581c36a72dc444c61626655ab77bc374ac7fe51807024d6ed9dea61ff692ffd8799fd8799fd8799f581cf64b3058b433a49bd5da7fface60831427ac2b353c9f07b6a52f712dffffffffd87a80d8799fd8799f4040ff1a043546c8ff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581cdefe216460d594211631fcfbd354f361c04645d6a0cfeead3d6f62834b6c65767679776966686174ff1a193dac851a1c3abccbd8799fd8799fd8799fd8799f581caafb1196434cb837fd6f21323ca37b302dff6387e8a84b3fa28faf56ffd8799fd8799fd8799f581c52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2ffffffffd87a80ffffffff0582840001d879808219a44d1a00c298b4840002d8799fd8799fd8799f581cbcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9dffd8799fd8799fd8799f581c52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2ffffffff00ff821a0026ba791a204779aba100818258206b6b6be05165badb8b6aeeeaf34bb0dfa97a495b2fcc3e25aab95f31c26502c55840eb283fbf6c7dbcb1305d7f5b65cb9a3b406dfbecc3e39895aa5afea2ba5ed153655e416982f41696f59df7b0223c65e09068bd13cb72278d16bbf1b2bb7a7e07a30081825820e97b61f9217e124797f591549fff8827742086e25326eb83b2716678a9247977584099dfeaa203ce2b47a9410678531caf2932f255ba2961ca33f8824231e01347ea35026f98e62451a799df5e72fdcff49a477902eb1ac4203bc00cd161a14481060481d8799f9fd8799fd8799fd8799f581c04996cec3ca429ea79b3c710682713e31223f79f4f7a7fd7ee2a17d5ffd8799fd8799fd8799f581cf0a884feabaf419f18ed9d643dc27d3ccf6d204fda17d3b60fbeb8d6ffffffff1a00ee0980ffd8799fd8799fd8799f581c08fce0d35e765086c597ba6a45a18bf9703f77e4b7eca40b522d1c3bffd8799fd8799fd8799f581c87f8f5ffd504c19f4b5cdc85597782557d8b484debc6b09fea86d97dffffffff1a114b7d80ffff581c08fce0d35e765086c597ba6a45a18bf9703f77e4b7eca40b522d1c3bff0581840000d87a80821a0001d6991a0202fe87a20082825820b105259df8fe2cfff5f451b1051d5d073a3a53b32df67b52ceb80244bc3dfbeb58401f85610ebdac3bdd412c93d0a87556a112f8222a4c0f6d452e551e681c580826f5c04cf01c66d77b7c7846a4f40d5043c8cb2f6718c0950be73f4d7ba4ea2203825820474515132f4a2f531f13afbd28380cdb15f3b8f5ce748d3c6f0d70aaf6096e805840867cbdf5b8e67cb719d62f7951a30d3e8c21471899482e689a5ba7f2e4c004ee07e6e069ca7fbda19dcabc4d84134f33f907222a638d2a25420a10868af06c03049fd8799fd8799fd8799fd8799f581c131593e150c63b8ab4e265489c803433467531026cfee6f0487a0002ffd8799fd8799fd8799f581caae40b576b3d7622c97027773b2900d4bb565ee94b92d0a70729ccbdffffffff581c131593e150c63b8ab4e265489c803433467531026cfee6f0487a00021b00000192db7afedcd8799fd8799f4040ffd8799f581c2d587111358801114f04df83dc0015de0a740b462b75cce5170fc93543434749ffffffd8799fd879801ac6aea155ffffffa10081825820109377d25bfbc8e6381e71637b015e93943b5407954f04fc64bb2519697a7a925840490285869262201c3c08a3719c59728d92f8502d4e7c7de2e53f7eb1017dd52516bc03130962f9c7a90e1cd405c402398ce3c8e0ac61e842cbc17e3ade168b00a300818258202b4ce9b9f9dfacbb8b32f9652acd1969b97d93d9df63aaa478e947882e77ff2a58409f91c4b46572a02761a0a928a82b39974448e533fc082fdb1278fc55a1c4ab5f5a87fc447119e7df5487ec90837132f6743d6b3d526c40d3f3007d96b72fff090681590bd7590bd401000033232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323233027222232325335333006533357346074607e0022646605a60586ae84004dd69aba135744002607c00206e64a666ae68c0ecc1000044c8c8c848cc00400c008c0b8d5d09aba2002375a6ae84004c0fc0040e0dd50022999ab9a303a303f002132321233001003002357426ae88c0fc00cd5d0981f00101b8890008a99ab9c490103505435001637540086ea8004cc09c8888c8d4014888d40188c88c94cd54cd4ccd54c0d40e0c0a80a4c0ac01ccc0b08004d40048888888888880100e44cd5ce24812d546865207472616e73616374696f6e206973206e6f74207369676e6564206279206f7261636c65206f776e657200030132533553355335333553036039302b02a253335302135001202103e215333573466ebcc118cd5d0182319aba0375000a6ec4080cd5d01ba835500b03937620400022a66a666036446a0044466603e446a00444a666ae68c12c004400c4cc11848ccc00401c00c00800c00c0040c0cd54c0e80ec8d400488cc0e0008cd54c0f40f88d400488cc0ec008ccd4004dc0a4000e048cdc0800a400000266aa607407646a0024466070004666a002466aa607c07e46a0024466078004604600200244666038066004002466aa607c07e46a0024466078004604000200266602e05c666050400204e6a004404e0060784426a004444a66a0082a666ae68cdd78018238a999ab9a3375e00408e2a666ae68cdc4000a400006e2666ae68cdc4800a410125e80206a07006e06e44072064407e6044014074266ae712401024c310003103a1335738921156f757470757420646f6573206e6f74206d6174636800031153355333573466e2400d20001335738921165072696365206d75737420626520706f7369746976650003103a15335533535353301275a6a00407e06e44a666a00442a666ae68cdc419b8000100935500c03a0331333573466e24004d540300e80c40d00c80c84d4cc049d69a80101f911a801112999a99980980a980f19b8100900b0021533500113330120150030081333012015003008034133301201500300803003a13357389212345787069726174696f6e2074696d65206973206e6f742070726f7065726c792073657400031030030333025200102435302635533530270092100116036202402f302d350080393302f3016337000020060542a666a602e6aa66a60320022602602a442a66a0022004442602e032402e02842a66a6666666ae900048c94ccd5cd181d98200008991999aab9f001202d23233335573e002405e46666aae7cd5d1001119299a9999999aba400123253335734608660900022646666aae7c00480d48cccd55cf9aba20022533530203574200642605e00206a406c07a078608e0020646ea800880c880c880c880c80e4854cd4c070d5d08029098159981a8010008188181aba1005203003703635744004068607e0020546ea800880a880a880a880a80c48400405480548c94ccd5cd181b181d800899191919091998008028018011bad357426ae88008dd69aba10013574460760046ae84c0e80040ccdd50009111a801111a801912999a9998040038020010a99a8018800819814819911192999a80190a999a80190a999a80290980200b0980180a8a999a80210980200b0980180a80c0060a999a80210980180a8980100a0a999a80190980180a8980100a00b8a999a801100700b0068a999a80110a999a80210980180a8980100a0a999a80190980180a8980100a00b8058a999a80190980100a098008098a999a80110980100a0980080980b12999a80110a999a80210a999a802109998040038010008b0b0b0060a999a80190a999a801909998038030010008b0b0b00580691a80091111111003891999999980091199ab9a3370e00400204004644a666ae68cdc38010008098a999ab9a3371200400201401044666ae68cdc400100081001191199ab9a3371200400204004644666ae68cdc480100081181011199ab9a3371000400204604044a666ae68cdc480100088008801112999ab9a33712004002200420024464a666ae68c0c8c0dc0044c8c8cc0994ccd5cd181a181c801099813198038029aba130380023006357426ae88c0e00080c54ccd5cd181a181c800899813198038029aba130380013006357426ae88c0e00040c4dd51aba135744606e0046ea8d5d0981b0008179baa0012325333573460620020522a666ae68c0c000407c0b4c0d0dd50009119192999ab9a303300100815333573460640022601460086ae84c0d400854ccd5cd1818800803017181a8009baa00122233355302302702a335530260272350012233024002300b001333553023027223500222533533355302802b301d01c235001223300a002005006100313302e00400301c001335530260272350012233024002330382253350011300a003221350022253353300c002008112223300200a0041300600300400211009212223001004112220012230302253350011003221330060023004001212223003004233333335748002403040304030460206eb4008806007c94cd5ce2481286578706563746564206f6e6c7920612073696e676c6520636f6e74696e75696e67206f7574707574001615335738920117496e76616c696420646174756d20696e206f757470757400164988880088c8c94ccd5cd1813000899091118010021aba13028002153335734604a002264244460020086ae84c0a000854ccd5cd181200080201098140009baa00111003253353007001213335530150192235300535300935003019222200422353007350042222004225333573466ebc01000854ccd5cd19baf0030011330220060051005100500e3300d00735300f3500201b22222222222200a15335738921024c660016232533357346040604a0022646424660020060046ae84d5d118128011aba1302400101d3754002444006660024002eb4888cc09088cccd55cf80090071191980e9980a180398138009803181300098021aba2003357420040306eac0048c94ccd5cd180e181080089919191919190919998008038028018011aba1357440046ae84004d5d10011aba10013574460420046ae84c080004064dd5000919191999aa999ab9a3370e90030008990911118020029aba13020002153335734603c00226424444600400a6ae84c08000854ccd5cd180e8008990911118008029aba13020002153335734603800226424444600600a6ae84c0800080648034803480348ccd54c048054cc03c894cd40088400c400403494ccd5cd19baf002350010181300600100d3300923253335734603e60480022646424660020060046ae84d5d118120011aba1302300101c37540026a60166a00802e44444444444401860400026ea8d40040408488c00800c48cc004894cd400804c40040208cc02488ccd400c04c008004d400403488ccd5cd19baf002001004007223301c2233335573e002400c466028600a6ae84008c00cd5d10010081bac001100d23253335734602860320022646464646464646464646464646464646464646464642466666666666600202e02a02602201e01a01601200e00a0060046ae84d5d10011aba1001357440046ae84004d5d10011aba1001357440046ae84004d5d10011aba1001357440046ae84004d5d10011aba1001357440046ae84004d5d10011aba1001357440046ae84004d5d1180c8011aba1301800101137540022002200c464a666ae68c044c0580044dd69aba1301500100e37540024424660020060044446006600400260244422444a66a00220044426600a004666aa600e01600a00800260224422444a66a00226a00600c442666a00a0186008004666aa600e01400a00800244002601e442244a66a00200c44266014600800466aa600c00e00800224002220024400444244660020080062a66ae712411f496e76616c696420646174756d20746f20636865636b4f776e4f757470757400161533573892010350543100162222222222220054c1014000370e90001b8748008dc3a40086e9520005573caae748c8c00400488cc00cc00800800530012cd8799f581ce18d73505be6420225ed2a42c8e975e4c6f9148ab38e951ea2572e541a000927c01a002dc6c0ff00010581840000d8799f1b00000192db0d06c8d8799f1b0000002f04b7cb0affff821a001862581a180953d5a1008182582025ca17934015a773c67fb65ab882f4ba258ecb17efcfb2491f0c9ba251fac40e584019f023be31d42b85b81f8af162a1dff33ca53be40c82f5ece6325ded9ca60ba1d4378ad40e75414f33d49af71e1d05d19faae9a2753231e3acca5948950f1009a2008f825820d12f9ff04c1f52ec19d57d3b4cad6b53318fe10054bc89ea4c9fff4ce2c86b645840ad513d3cc68a2880961df356098bf991146095310feeeb5a84aeb8d28f0107f066dc3bc457d614d7b2069ffb9fe92e13c4cd979c62153b76e2a63350b132a7018258205db7c838e487e4595779ec43613d172156bc4595db55649b1918a7a334aaf1c8584072eaa1e4f5ab9e695fcf55f7c1a41ac7635fd1ff5586d3efbc63233705dd5aa87daa17430ecad306b1e0bfaef9c89d68ffe9336049d06b90535eeb5a7598d30b8258200416626cdfd5d89e35e572b11f9af9f7accdbeab75a01381d39cf53a0e878ebc58408c369c354f79267635aad23aa083e51c511298035d7c67e8cd7fb18279ee5442f22a885003a98b74d24aa4c50085b04a54955de15ee556eb769a4ab2c3c8a80f825820771ea976ae425b6fc6279b2255c9646a789a2d2eedcfef8aaacbe8b3859bb42358403de7a86b6568c912bc556fe8eee4f46496a3e294316cc02ecff6c9f8eca1fb94a2cd8e6852edac0b53dca42b6eb90ebd7b5e82e578b0ddd6cdf1c2d06e34ac04825820f227855477e35bfb64c6c106bf0853702aaca66082389e2221b45cd97b416ac9584093aa5a9539540f7bbb838f8fc7f2ebb9a0c9ed13e6547a2e0cfa444e1592c1b6352a7d45379db8c6b964ccad1586caac1ac1dddb10fcfe281916b6733f1ffc0b82582051adb4f56b326f79efb901206b68556ed31bccfa3c208329074ab7719ec7fb3658401717f546ab2d19d72f62db2bb3c83920caeda9c0c5ad2206ed3e506aa701630f11871a8aa26edd6d0a56605563671e186809ad56192aaeb8fca54b9b04e41402825820c59cb14f56dda100b9cd737470aaea4fedf1c481e19c2caf59c593f8d99dc19f584015f675c69f232a1994382b72e74ff88279a149b4e9e82106a2b078c83d8fbf70c923e0533481c3f598b7ffe9c22159a79390e21e9c1de7388889e782e7d70e00825820e3f6f52a67d748ce9f0bbd54ffb1ec9ccf0761c573cee5409b05ccaf8cd0fdf85840e195c763914c1c91148b1f2905e0eb0534c99685b3d5e704ea86a93f7b5288f3b8d1c56d2e9fbf253bafc237678fb9da14e49bca633838f169f1b716df37f30d8258203509c03a5ea7baf1e5c655064cf61cf8c987924275d16d2d66a923b8336ee234584052ffbbe877f3698a3bd0c66e34a0face5001891b7c3e2fc59c2300633ce15b281016c9655c4b3db99d4698ec86262070728147c155d05f78848fed869377a9098258208bfa4ed94d2e8e51827dda664d525bc29fc3bc6e66ab3b0b354273e1b0a5b3bc5840b25ff1fe96ebfc1ae3d59e1bcc96b2ce322aee4685deaa900e94264ddeaedc74b2b2fcbc2bab181aabd3e132e3d0dcd2afd2a9fb9015a39ad6fbf407473d72048258200fbcc4327d56eb6dc02830bee9ee9289cd8d8c98b8539838611899642fecb51f58409f051da76b249a018b9fe76d2aca1b475c9876f5593a84e92f16a11c21f8844f5044f04e935dd8e11fe0a9ab2c03f4c98e1dac561e7a7a3148af7e40e3f4d00a8258201a00ed7a9be2931074125c765c536993c9a98d39b8dd282d1cb0315bc554932558400109333ad88c5d1ca8587430ae44cc18ba7e5c5b3ace804d463b3fc0ff7ee0e5d794f446441ac5626e63c548cfa3725aceabbb2553c42fe788f9e5ee622c300c825820964504bbc14dbf98f87072efd056060b0a12a9c91d0555005ee4b4e6d29ebc355840f3c52c09ddbd0b53a69a60fd16171708db695107fb0eabe6303d7d99d53f95cad01c32fd4e335dbf2b5d7a15c94efcd04b553393d9361e673a271d60d56d7a0b82582034872cbc1f3b96c054fec9f7bad60a70698bdb37ebf18eb2998179c94426b5865840d302285a9268dd98c231b3cf7feb000afc6512a34dd8a8218cec4e46c73243206e518300cd3b353c8314076768ccb4f0fdc160b3e1fc3fdcfab5204f9230fd0182582065910126b7045e7a01c95cf5102cf14b71938b6b72135eae6210fdd2dec690655840615f02bbebd0d5d6c9bcf230f0c3a21c34537e6ae1c8b394888a82e879d2f7d1d331bd20ac4d5b20f71e8cdda44d722161c3993ba3a91ddf5d7886655d8ba206018b8201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c9b5d5bf3ed60a63ab10e0d37c7c49c220eda5ec222e03d10bbe4c1b28201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c31e79f6b15194c074e71fe217e9460fbc97f92900a7c9c2d2bacac728201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c4a35ccf34d2b018b32a4b549ec4de9a49f4e335d62e89a68d70d0b7d8201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c8c1d94db5fefa08a78928580df1874c4b769b89fc02a6e30db25a1188201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581cb27166fdd07a7bcd9cb60ffd0808de21b58fe273f17beadcadfea0268201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c5ce8bdfb98e00d0b01b1c7040e2a3faf2115c34aa2742eb2a640aee58201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c159e6101a28c31d4ae21202688ee8e03486dc5148c8b0d3d536e9b348201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581cd2d9fac346d7f3894ab9da908b8d9eee138604972f2a8f80ccfb30c78201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581cc0a46537a434aa1e4b2e1c3544e6e85e81ccc25498e90e3d4bd0dab08201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581cfcb3fd1529de5eb003373c41f7903d84fb3f9e2e661482129d8ac5db8201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c57e951619846f4be7cfe5bb965cbfc46f1741b6e4fb30b44f7bb8687a900a11902a2a1636d736781774d696e737761703a204f7264657220457865637574656401a8181e613618327840643837393966396664383739396664383739396664383739396635383163353336623764666664386430393832663637633937393639326265326439663134621833784034633834333937383465653532343166626137386266666664383739396664383739396664383739396635383163626264666133323933666462643838353435183478403738616536393164666534383531373962326364383939643830313561353266383164663833666666666666666631616365653237653730666664383739396618357840643837393966643837393966353831636538303737383032613265383533356335313662613739306631356461323862666331316565643965303030343130311836784036333739663430656666643837393966643837393966643837393966353831633766343133386633326133653232316361656339363264663262386563623632183778403261636530306463396530666232313437336364366361666666666666666666316230303030303030663038306536326630666666663538316365383037373818387835303261326538353335633531366261373930663135646132386266633131656564396530303034313031363337396634306566662c02d90103a100a101a26974696d657374616d706a313733303235313932336d6162736f6c7574655f736c6f746931333836383536333203a11902a2a1636d736781734d696e737761703a204d61737465724368656604a11902a2a1636d736781774d696e737761703a204f7264657220457865637574656406a8181e61361832784064383739396639666438373939666438373939666438373939663538316330343939366365633363613432396561373962336337313036383237313365333132183378403233663739663466376137666437656532613137643566666438373939666438373939666438373939663538316366306138383466656162616634313966313818347840656439643634336463323764336363663664323034666461313764336236306662656238643666666666666666663161303065643436333066666438373939661835784064383739396664383739396635383163303866636530643335653736353038366335393762613661343561313862663937303366373765346237656361343062183678403532326431633362666664383739396664383739396664383739396635383163383766386635666664353034633139663462356364633835353937373832353518377840376438623438346465626336623039666561383664393764666666666666666631613131336434636230666666663538316330386663653064333565373635301838782d38366335393762613661343561313862663937303366373765346237656361343062353232643163336266662c07a11902a2a1636d7367816f44657868756e74657220547261646508a8181e61361832784064383739396639666438373939666438373939666438373939663538316336396332633562343932363366646164613439333337303861623630666562363037183378406232633237353335633263383866306233333933653266666438373939666438373939666438373939663538316336643130613631626365353261353838643418347840343862326134366531616538333436646362643262663932313732326464653632306332613066666666666666663161303032663962383066666438373939661835784064383739396664383739396635383163636336346665313739663633643063373539326162336331356265303437343961343336323061313566333434333834183678406430666361333436666664383739396664383739396664383739396635383163333765616465623836316161663130316432343439623337396438306133343718377840346431633862636466366462613632346663343761353165666666666666666631613032313433613030666666663538316363633634666531373966363364301838782d63373539326162336331356265303437343961343336323061313566333434333834643066636133343666662c0aa11902a2a1636d736781754d696e737761703a204d61726b6574204f7264657280")] + public async Task DeserializeBlock(string cbor) { - Assert.NotNull(cbor); - byte[] cborRaw = Convert.FromHexString(cbor); - Block block = null; - try + + const int concurrencyLevel = 10; // Number of parallel tasks + const int iterationsPerTask = 1000; // Number of deserializations per task + + List tasks = Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => { - for (int i = 0; i < 1000; i++) + for (int i = 0; i < iterationsPerTask; i++) { - block = CborSerializer.Deserialize(cborRaw); + // This call should be thread-safe and never fail if the code is correct + Block block = CborSerializer.Deserialize(cborRaw); + + // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue + Assert.NotNull(block); } - } - catch (Exception ex) - { - Console.WriteLine(ex); - } + })).ToList(); - Assert.NotNull(block); + // Await all tasks to complete; if any fail, the test will fail + await Task.WhenAll(tasks); } } diff --git a/src/Chrysalis/Cbor/Converters/CborSerializer.cs b/src/Chrysalis/Cbor/Converters/CborSerializer.cs index 0d912155..d189f027 100644 --- a/src/Chrysalis/Cbor/Converters/CborSerializer.cs +++ b/src/Chrysalis/Cbor/Converters/CborSerializer.cs @@ -7,7 +7,7 @@ namespace Chrysalis.Cbor.Converters; public static class CborSerializer { - private static readonly Dictionary _converterCache = []; + private static readonly ConcurrentDictionary _converterCache = []; private static readonly ConcurrentDictionary> _deserializeDelegates = new(); public static byte[] Serialize(T value) where T : CborBase diff --git a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs index 7e3e6bf9..1c3b6ccf 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs @@ -44,23 +44,6 @@ public T Deserialize(byte[] data) where T : CborBase return ParallelDeserializeAsync(data, concreteTypes, baseType).GetAwaiter().GetResult(); } - private static T SequentialDeserialize(byte[] data, Type[] concreteTypes, Type baseType) where T : CborBase - { - foreach (Type concreteType in concreteTypes) - { - try - { - Type typeToDeserialize = GetClosedGenericType(concreteType, baseType); - T deserializedValue = (T)TryDeserialize(data, typeToDeserialize); - deserializedValue.Raw = data; - return deserializedValue; - } - catch { } - } - - throw new InvalidOperationException($"Unable to deserialize to any concrete type implementing {baseType.Name}."); - } - private static async Task ParallelDeserializeAsync(byte[] data, Type[] concreteTypes, Type baseType) where T : CborBase { TaskCompletionSource successTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 1c836d2c..a3e4809f 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.1 + 0.5.2 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From 81d1910be2fb09fa49b3fd40519ced074045fdf9 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 10 Dec 2024 18:27:16 -0500 Subject: [PATCH 059/162] remove old chrysalis (#76) --- src/ChrysalisOld/Cardano/Cbor/CborBool.cs | 9 - src/ChrysalisOld/Cardano/Cbor/CborBytes.cs | 9 - .../Cardano/Cbor/CborEncodedValue.cs | 6 - src/ChrysalisOld/Cardano/Cbor/CborInt.cs | 6 - src/ChrysalisOld/Cardano/Cbor/CborList.cs | 24 - src/ChrysalisOld/Cardano/Cbor/CborLong.cs | 6 - src/ChrysalisOld/Cardano/Cbor/CborMap.cs | 9 - src/ChrysalisOld/Cardano/Cbor/CborNullable.cs | 6 - .../Cardano/Cbor/CborRationalNumber.cs | 6 - src/ChrysalisOld/Cardano/Cbor/CborText.cs | 6 - src/ChrysalisOld/Cardano/Cbor/CborUlong.cs | 8 - .../Cardano/Coinecta/Vesting/Treasury.cs | 48 - .../AuxiliaryDataSet/AuxiliaryDataSet.cs | 7 - src/ChrysalisOld/Cardano/Core/Block/Block.cs | 13 - .../Cardano/Core/Block/Header/Header.cs | 10 - .../Block/Header/HeaderBody/HeaderBody.cs | 44 - .../Header/HeaderBody/OperationalCert.cs | 12 - .../Header/HeaderBody/ProtocolVersion.cs | 10 - .../Core/Block/Header/HeaderBody/VrfCert.cs | 10 - .../Cardano/Core/Block/Transaction/Anchor.cs | 10 - .../Core/Block/Transaction/AuxiliaryData.cs | 39 - .../Body/Certificates/Certificate.cs | 170 --- .../Certificates/MoveInstantaneousReward.cs | 23 - .../Body/Certificates/PoolMetadata.cs | 10 - .../Transaction/Body/Certificates/Relay.cs | 33 - .../Body/ProposalProcedures/RewardAccount.cs | 5 - .../Block/Transaction/Body/TransactionBody.cs | 75 -- .../Core/Block/Transaction/Body/Update.cs | 10 - .../Block/Transaction/Body/Withdrawals.cs | 7 - .../Core/Block/Transaction/Credential.cs | 10 - .../Transaction/Governance/Constitution.cs | 10 - .../Core/Block/Transaction/Governance/DRep.cs | 35 - .../Governance/DRepVotingThresholds.cs | 18 - .../Block/Transaction/Governance/GovAction.cs | 65 -- .../Transaction/Governance/GovActionId.cs | 10 - .../Governance/MemberTermLimits.cs | 7 - .../Governance/ProposalProcedure.cs | 12 - .../Block/Transaction/Governance/Voter.cs | 10 - .../Transaction/Governance/VotingProcedure.cs | 10 - .../Governance/VotingProcedures.cs | 9 - .../Transaction/Input/TransactionInput.cs | 10 - .../Core/Block/Transaction/Output/Address.cs | 5 - .../Block/Transaction/Output/DatumOption.cs | 20 - .../Block/Transaction/Output/MultiAsset.cs | 17 - .../Block/Transaction/Output/TokenBundle.cs | 15 - .../Transaction/Output/TransactionOutput.cs | 40 - .../Core/Block/Transaction/Output/Value.cs | 17 - .../Block/Transaction/Protocol/CostMdls.cs | 7 - .../Transaction/Protocol/ExUnitPrices.cs | 10 - .../Block/Transaction/Protocol/ExUnits.cs | 10 - .../Core/Block/Transaction/Protocol/Nonce.cs | 10 - .../Protocol/PoolVotingThresholds.cs | 13 - .../Protocol/ProtocolParamUpdate.cs | 105 -- .../Block/Transaction/Script/NativeScript.cs | 52 - .../Block/Transaction/Script/PlutusData.cs | 70 -- .../Block/Transaction/Script/PlutusOption.cs | 11 - .../Core/Block/Transaction/Transaction.cs | 13 - .../Block/Transaction/TransactionMetadatum.cs | 37 - .../WitnessSet/BootstrapWitness.cs | 12 - .../Block/Transaction/WitnessSet/Redeemers.cs | 42 - .../WitnessSet/TransactionWitnessSet.cs | 16 - .../Transaction/WitnessSet/VKeyWitness.cs | 10 - src/ChrysalisOld/Cardano/Core/BlockWithEra.cs | 10 - src/ChrysalisOld/Cardano/Jpeg/Buy.cs | 10 - src/ChrysalisOld/Cardano/Jpeg/Listing.cs | 23 - src/ChrysalisOld/Cardano/Jpeg/Offer.cs | 27 - src/ChrysalisOld/Cardano/Jpeg/Token.cs | 14 - .../Cardano/Levvy/TokenV2/NftDatum.cs | 80 -- .../Cardano/Levvy/TokenV2/PaymentDatum.cs | 7 - .../Cardano/Levvy/TokenV2/TokenDatum.cs | 93 -- .../Cardano/Levvy/TokenV2/TokenRedeemer.cs | 28 - src/ChrysalisOld/Cardano/MPF/Proof.cs | 57 - .../Cardano/Models/Cbor/CborBytes.cs | 9 - src/ChrysalisOld/Cardano/Plutus/Address.cs | 42 - src/ChrysalisOld/Cardano/Plutus/CIP68.cs | 18 - src/ChrysalisOld/Cardano/Plutus/Option.cs | 13 - .../Cardano/Plutus/OutputReference.cs | 16 - .../Cardano/Sundae/MultisigScript.cs | 29 - src/ChrysalisOld/Cbor/CborIndex.cs | 7 - .../Cbor/CborPropertyAttribute.cs | 18 - .../Cbor/CborSerializableAttribute.cs | 27 - src/ChrysalisOld/Cbor/CborSerializer.cs | 1023 ----------------- src/ChrysalisOld/Cbor/CborType.cs | 18 - src/ChrysalisOld/Cbor/CborUnionTypes.cs | 7 - src/ChrysalisOld/Cbor/ICbor.cs | 11 - .../Cbor/Utils/CborSerializerUtils.cs | 68 -- src/ChrysalisOld/ChrysalisOld.csproj | 25 - src/ChrysalisOld/Utils/Blake2b.cs | 11 - .../Utils/TransactionExtension.cs | 59 - 89 files changed, 3119 deletions(-) delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborBool.cs delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborBytes.cs delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborEncodedValue.cs delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborInt.cs delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborList.cs delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborLong.cs delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborMap.cs delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborNullable.cs delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborRationalNumber.cs delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborText.cs delete mode 100644 src/ChrysalisOld/Cardano/Cbor/CborUlong.cs delete mode 100644 src/ChrysalisOld/Cardano/Coinecta/Vesting/Treasury.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Block.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Header/Header.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Anchor.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/AuxiliaryData.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/TransactionBody.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Update.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Withdrawals.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Credential.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Constitution.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRep.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovAction.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovActionId.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Voter.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Input/TransactionInput.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Address.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/DatumOption.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/MultiAsset.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TokenBundle.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Value.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/Nonce.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/NativeScript.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusData.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusOption.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/Transaction.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/TransactionMetadatum.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs delete mode 100644 src/ChrysalisOld/Cardano/Core/BlockWithEra.cs delete mode 100644 src/ChrysalisOld/Cardano/Jpeg/Buy.cs delete mode 100644 src/ChrysalisOld/Cardano/Jpeg/Listing.cs delete mode 100644 src/ChrysalisOld/Cardano/Jpeg/Offer.cs delete mode 100644 src/ChrysalisOld/Cardano/Jpeg/Token.cs delete mode 100644 src/ChrysalisOld/Cardano/Levvy/TokenV2/NftDatum.cs delete mode 100644 src/ChrysalisOld/Cardano/Levvy/TokenV2/PaymentDatum.cs delete mode 100644 src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenDatum.cs delete mode 100644 src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenRedeemer.cs delete mode 100644 src/ChrysalisOld/Cardano/MPF/Proof.cs delete mode 100644 src/ChrysalisOld/Cardano/Models/Cbor/CborBytes.cs delete mode 100644 src/ChrysalisOld/Cardano/Plutus/Address.cs delete mode 100644 src/ChrysalisOld/Cardano/Plutus/CIP68.cs delete mode 100644 src/ChrysalisOld/Cardano/Plutus/Option.cs delete mode 100644 src/ChrysalisOld/Cardano/Plutus/OutputReference.cs delete mode 100644 src/ChrysalisOld/Cardano/Sundae/MultisigScript.cs delete mode 100644 src/ChrysalisOld/Cbor/CborIndex.cs delete mode 100644 src/ChrysalisOld/Cbor/CborPropertyAttribute.cs delete mode 100644 src/ChrysalisOld/Cbor/CborSerializableAttribute.cs delete mode 100644 src/ChrysalisOld/Cbor/CborSerializer.cs delete mode 100644 src/ChrysalisOld/Cbor/CborType.cs delete mode 100644 src/ChrysalisOld/Cbor/CborUnionTypes.cs delete mode 100644 src/ChrysalisOld/Cbor/ICbor.cs delete mode 100644 src/ChrysalisOld/Cbor/Utils/CborSerializerUtils.cs delete mode 100644 src/ChrysalisOld/ChrysalisOld.csproj delete mode 100644 src/ChrysalisOld/Utils/Blake2b.cs delete mode 100644 src/ChrysalisOld/Utils/TransactionExtension.cs diff --git a/src/ChrysalisOld/Cardano/Cbor/CborBool.cs b/src/ChrysalisOld/Cardano/Cbor/CborBool.cs deleted file mode 100644 index 3bc95b7c..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborBool.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Cbor; - -[CborSerializable(CborType.Bool)] -public record CborBool(bool Value = false) : RawCbor -{ - public CborBool() : this(false) { } -} \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Cbor/CborBytes.cs b/src/ChrysalisOld/Cardano/Cbor/CborBytes.cs deleted file mode 100644 index 97901cee..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborBytes.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Cbor; - -[CborSerializable(CborType.Bytes, IsDefinite = true)] -public record CborBytes(byte[] Value) : RawCbor; - -[CborSerializable(CborType.Bytes, IsDefinite = false, Size = 64)] -public record CborBoundedBytes(byte[] Value) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Cbor/CborEncodedValue.cs b/src/ChrysalisOld/Cardano/Cbor/CborEncodedValue.cs deleted file mode 100644 index b53c9558..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborEncodedValue.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Cbor; - -[CborSerializable(CborType.EncodedValue)] -public record CborEncodedValue(byte[] Value) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Cbor/CborInt.cs b/src/ChrysalisOld/Cardano/Cbor/CborInt.cs deleted file mode 100644 index 311fd550..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborInt.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Cbor; - -[CborSerializable(CborType.Int)] -public record CborInt(int Value) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Cbor/CborList.cs b/src/ChrysalisOld/Cardano/Cbor/CborList.cs deleted file mode 100644 index d92e8cbd..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborList.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Cbor; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(CborDefiniteList<>), - typeof(CborIndefiniteList<>), - typeof(CborDefiniteListWithTag<>), - typeof(CborIndefiniteListWithTag<>), -])] -public interface CborMaybeIndefList : ICbor; - -[CborSerializable(CborType.List, IsDefinite = true)] -public record CborDefiniteList(T[] Value) : RawCbor, CborMaybeIndefList where T : ICbor; - -[CborSerializable(CborType.List, IsDefinite = false)] -public record CborIndefiniteList(T[] Value) : RawCbor, CborMaybeIndefList where T : ICbor; - -[CborSerializable(CborType.Tag, Index = 258)] -public record CborDefiniteListWithTag(CborDefiniteList Value) : RawCbor, CborMaybeIndefList where T : ICbor; - -[CborSerializable(CborType.Tag, Index = 258)] -public record CborIndefiniteListWithTag(CborIndefiniteList Value) : RawCbor, CborMaybeIndefList where T : ICbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Cbor/CborLong.cs b/src/ChrysalisOld/Cardano/Cbor/CborLong.cs deleted file mode 100644 index 66d5b11f..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborLong.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Cbor; - -[CborSerializable(CborType.Long)] -public record CborLong(long Value) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Cbor/CborMap.cs b/src/ChrysalisOld/Cardano/Cbor/CborMap.cs deleted file mode 100644 index 88373350..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborMap.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Map)] -public record CborMap(Dictionary Value) : RawCbor; - -[CborSerializable(CborType.Map)] -public record CborMap(Dictionary Value) : RawCbor where T : ICbor where V : ICbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Cbor/CborNullable.cs b/src/ChrysalisOld/Cardano/Cbor/CborNullable.cs deleted file mode 100644 index 04486160..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborNullable.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Nullable)] -public record CborNullable(T Value) : RawCbor where T : ICbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Cbor/CborRationalNumber.cs b/src/ChrysalisOld/Cardano/Cbor/CborRationalNumber.cs deleted file mode 100644 index 27710062..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborRationalNumber.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Cbor; - -[CborSerializable(CborType.RationalNumber)] -public record CborRationalNumber(ulong Numerator, ulong Denominator) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Cbor/CborText.cs b/src/ChrysalisOld/Cardano/Cbor/CborText.cs deleted file mode 100644 index 43763ce9..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborText.cs +++ /dev/null @@ -1,6 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Cbor; - -[CborSerializable(CborType.Text)] -public record CborText(string Value) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Cbor/CborUlong.cs b/src/ChrysalisOld/Cardano/Cbor/CborUlong.cs deleted file mode 100644 index 32288d0f..00000000 --- a/src/ChrysalisOld/Cardano/Cbor/CborUlong.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Cbor; - -[CborSerializable(CborType.Ulong)] -public record CborUlong(ulong Value) : RawCbor; - -public record PosixTime(ulong Value) : CborUlong(Value); \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Coinecta/Vesting/Treasury.cs b/src/ChrysalisOld/Cardano/Coinecta/Vesting/Treasury.cs deleted file mode 100644 index 85220fc8..00000000 --- a/src/ChrysalisOld/Cardano/Coinecta/Vesting/Treasury.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Sundae; -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; -using Chrysalis.Cardano.Mpf; - -namespace Chrysalis.Cardano.Coinecta; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Treasury( - MultisigScript Owner, - CborBytes TreasuryRootHash, - PosixTime UnlockTime -) : RawCbor; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(TreasuryClaimRedeemer), typeof(TreasuryWithdrawRedeemer)])] -public record TreasuryRedeemer : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record TreasuryClaimRedeemer( - [CborProperty(0)] - Proof Proof, - - [CborProperty(1)] - ClaimEntry ClaimEntry -) : TreasuryRedeemer; - -[CborSerializable(CborType.Constr, Index = 1)] -public record TreasuryWithdrawRedeemer() : TreasuryRedeemer; - -[CborSerializable(CborType.Constr, Index = 0)] -public record ClaimEntry( - [CborProperty(0)] - MultisigScript Claimant, - - [CborProperty(1)] - MultiAssetOutput VestingValue, - - [CborProperty(2)] - MultiAssetOutput DirectValue, - - [CborProperty(3)] - CborBytes VestingParameters, - - [CborProperty(4)] - CborBytes VestingProgram -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs b/src/ChrysalisOld/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs deleted file mode 100644 index 366a2435..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/AuxiliaryDataSet/AuxiliaryDataSet.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -public record AuxiliaryDataSet(Dictionary Value) - : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Block.cs b/src/ChrysalisOld/Cardano/Core/Block/Block.cs deleted file mode 100644 index bcf3abcb..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Block.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record Block( - [CborProperty(0)] BlockHeader Header, - [CborProperty(1)] CborMaybeIndefList TransactionBodies, - [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, - [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet, - [CborProperty(4)] CborMaybeIndefList InvalidTransactions -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Header/Header.cs b/src/ChrysalisOld/Cardano/Core/Block/Header/Header.cs deleted file mode 100644 index 4ea41c5a..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Header/Header.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record BlockHeader( - [CborProperty(0)] BlockHeaderBody HeaderBody, - [CborProperty(1)] CborBytes BodySignature -) : RawCbor; diff --git a/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs b/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs deleted file mode 100644 index bf182709..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/HeaderBody.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(BabbageHeaderBody), - typeof(AlonzoHeaderBody), -])] -public record BlockHeaderBody : RawCbor; - -[CborSerializable(CborType.List)] -public record BabbageHeaderBody( - [CborProperty(0)] CborUlong BlockNumber, - [CborProperty(1)] CborUlong Slot, - [CborProperty(2)] CborNullable PrevHash, - [CborProperty(3)] CborBytes IssuerVKey, - [CborProperty(4)] CborBytes VrfVKey, - [CborProperty(5)] VrfCert VrfResult, - [CborProperty(6)] CborUlong BlockBodySize, - [CborProperty(7)] CborBytes BlockBodyHash, - [CborProperty(8)] OperationalCert OperationalCert, - [CborProperty(9)] ProtocolVersion ProtocolVersion -) : BlockHeaderBody; - -[CborSerializable(CborType.List)] -public record AlonzoHeaderBody( - [CborProperty(0)] CborUlong BlockNumber, - [CborProperty(1)] CborUlong Slot, - [CborProperty(2)] CborNullable PrevHash, - [CborProperty(3)] CborBytes IssuerVKey, - [CborProperty(4)] CborBytes VrfVKey, - [CborProperty(5)] VrfCert NonceVrf, - [CborProperty(6)] VrfCert LeaderVrf, - [CborProperty(7)] CborUlong BlockBodySize, - [CborProperty(8)] CborBytes BlockBodyHash, - [CborProperty(9)] CborBytes HotVKey, - [CborProperty(10)] CborUlong SequenceNumber, - [CborProperty(11)] CborUlong KesPeriod, - [CborProperty(12)] CborBytes Sigma, - [CborProperty(13)] CborUlong ProtocolMajor, - [CborProperty(14)] CborUlong ProtocolMinor -) : BlockHeaderBody; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs b/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs deleted file mode 100644 index 8cad5223..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/OperationalCert.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record OperationalCert( - [CborProperty(0)] CborBytes HotVKey, - [CborProperty(1)] CborUlong SequenceNumber, - [CborProperty(2)] CborUlong KesPeriod, - [CborProperty(3)] CborBytes Sigma -) : RawCbor; diff --git a/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs b/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs deleted file mode 100644 index 50b145b2..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/ProtocolVersion.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record ProtocolVersion( - [CborProperty(0)] CborInt MajorProtocolVersion, - [CborProperty(1)] CborUlong SequenceNumber -) : RawCbor; diff --git a/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs b/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs deleted file mode 100644 index 0cc323c2..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Header/HeaderBody/VrfCert.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record VrfCert( - [CborProperty(0)] CborBytes Proof, - [CborProperty(1)] CborBytes Output -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Anchor.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Anchor.cs deleted file mode 100644 index 672eed2d..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Anchor.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record Anchor( - [CborProperty(0)] CborText AnchorUrl, - [CborProperty(1)] CborBytes AnchorDataHash -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/AuxiliaryData.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/AuxiliaryData.cs deleted file mode 100644 index b1e5c9a1..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/AuxiliaryData.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(PostAlonzoAuxiliaryData), - typeof(Metadata), - typeof(ShellyMaAuxiliaryData), -])] -public interface AuxiliaryData : ICbor; - -[CborSerializable(CborType.Tag, Index = 259)] -public record PostAlonzoAuxiliaryData(PostAlonzoAuxiliaryDataMap Value) : AuxiliaryData -{ - public byte[]? Raw { get; set; } -} - -[CborSerializable(CborType.Map)] -public record PostAlonzoAuxiliaryDataMap( - [CborProperty(0)] Metadata? Metadata, - [CborProperty(1)] CborDefiniteList? NativeScriptSet, - [CborProperty(2)] CborDefiniteList? PlutusV1ScriptSet, - [CborProperty(3)] CborDefiniteList? PlutusV2ScriptSet, - [CborProperty(4)] CborDefiniteList? PlutusV3ScriptSet -) : RawCbor; - -public record Metadata(Dictionary Value) - : CborMap(Value), AuxiliaryData; - -[CborSerializable(CborType.List)] -public record ShellyMaAuxiliaryData( - [CborProperty(0)] Metadata TransactionMetadata, - [CborProperty(1)] CborDefiniteList AuxiliaryScripts -) : AuxiliaryData -{ - public byte[]? Raw { get; set; } -} diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs deleted file mode 100644 index 168632b9..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Certificate.cs +++ /dev/null @@ -1,170 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(StakeRegistration), - typeof(StakeDeregistration), - typeof(StakeDelegation), - typeof(PoolRegistration), - typeof(PoolRetirement), - typeof(RegCert), - typeof(UnRegCert), - typeof(VoteDelegCert), - typeof(StakeVoteDelegCert), - typeof(StakeRegDelegCert), - typeof(VoteRegDelegCert), - typeof(StakeVoteRegDelegCert), - typeof(AuthCommitteeHotCert), - typeof(ResignCommitteeColdCert), - typeof(RegDrepCert), - typeof(UnRegDrepCert), - typeof(UpdateDrepCert) -])] -public record Certificate : RawCbor; - -[CborSerializable(CborType.List)] -public record StakeRegistration( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential StakeCredential -) : Certificate; - -[CborSerializable(CborType.List)] -public record StakeDeregistration( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential StakeCredential -) : Certificate; - -[CborSerializable(CborType.List)] -public record StakeDelegation( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential StakeCredential, - [CborProperty(2)] CborBytes PoolKeyHash -) : Certificate; - -[CborSerializable(CborType.List)] -public record PoolRegistration( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborBytes Operator, - [CborProperty(2)] CborBytes VrfKeyHash, - [CborProperty(3)] CborUlong Pledge, - [CborProperty(4)] CborUlong Cost, - [CborProperty(5)] CborRationalNumber Margin, - [CborProperty(6)] RewardAccount RewardAccount, - [CborProperty(7)] CborMaybeIndefList PoolOwners, - [CborProperty(8)] CborMaybeIndefList Relay, - [CborProperty(9)] CborNullable PoolMetadata -) : Certificate; - -[CborSerializable(CborType.List)] -public record PoolRetirement( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborBytes PoolKeyHash, - [CborProperty(2)] CborUlong EpochNo -) : Certificate; - -[CborSerializable(CborType.List)] -public record RegCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential StakeCredential, - [CborProperty(2)] CborUlong Coin -) : Certificate; - -[CborSerializable(CborType.List)] -public record UnRegCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential StakeCredential, - [CborProperty(2)] CborUlong Coin -) : Certificate; - -[CborSerializable(CborType.List)] -public record VoteDelegCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential StakeCredential, - [CborProperty(2)] DRep DRep -) : Certificate; - -[CborSerializable(CborType.List)] -public record StakeVoteDelegCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential StakeCredential, - [CborProperty(2)] CborBytes PoolKeyHash, - [CborProperty(3)] DRep DRep -) : Certificate; - -[CborSerializable(CborType.List)] -public record StakeRegDelegCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential StakeCredential, - [CborProperty(2)] CborBytes PoolKeyHash, - [CborProperty(3)] CborUlong Coin -) : Certificate; - -[CborSerializable(CborType.List)] -public record VoteRegDelegCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential StakeCredential, - [CborProperty(2)] DRep DRep, - [CborProperty(3)] CborUlong Coin -) : Certificate; - -[CborSerializable(CborType.List)] -public record StakeVoteRegDelegCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential StakeCredential, - [CborProperty(2)] CborBytes PoolKeyHash, - [CborProperty(3)] DRep Drep, - [CborProperty(4)] CborUlong Coin -) : Certificate; - -[CborSerializable(CborType.List)] -public record AuthCommitteeHotCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential CommitteeColdCredential, - [CborProperty(2)] Credential CommitteeHotCredential -) : Certificate; - -[CborSerializable(CborType.List)] -public record ResignCommitteeColdCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborBytes CommitteeColdCredential, - [CborProperty(2)] Anchor? Anchor -) : Certificate; - -[CborSerializable(CborType.List)] -public record RegDrepCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential DRepCredential, - [CborProperty(2)] CborUlong Coin, - [CborProperty(3)] CborNullable Anchor -) : Certificate; - -[CborSerializable(CborType.List)] -public record UnRegDrepCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential DrepCredential, - [CborProperty(2)] CborUlong Coin -) : Certificate; - -[CborSerializable(CborType.List)] -public record UpdateDrepCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] Credential DrepCredential, - [CborProperty(2)] CborNullable Anchor -) : Certificate; - -[CborSerializable(CborType.List)] -public record GenesisKeyDelegation( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborBytes GenesisHash, - [CborProperty(2)] CborBytes GenesisDelegateHash, - [CborProperty(3)] CborBytes VrfKeyHash -) : Certificate; - -[CborSerializable(CborType.List)] -public record MoveInstantaneousRewardsCert( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] MoveInstantaneousReward MoveInstantaneousReward -) : Certificate; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs deleted file mode 100644 index 6f58b26d..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record MoveInstantaneousReward( - [CborProperty(0)] CborInt InstantaneousRewardSource, - [CborProperty(1)] Target InstantaneousRewardTarget -) : RawCbor; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(StakeCredentials), - typeof(OtherAccountingPot), -])] -public interface Target : ICbor; - -public record StakeCredentials(Dictionary Value) - : CborMap(Value), Target; - -public record OtherAccountingPot(ulong Value) - : CborUlong(Value), Target; diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs deleted file mode 100644 index 620ea084..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/PoolMetadata.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record PoolMetadata( - [CborProperty(0)] CborText Url, - [CborProperty(1)] CborBytes PoolMetadataHash -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs deleted file mode 100644 index a04943b5..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Certificates/Relay.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(SingleHostAddr), - typeof(SingleHostName), - typeof(MultiHostName), -])] -public record Relay : RawCbor; - -[CborSerializable(CborType.List)] -public record SingleHostAddr( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborNullable Port, - [CborProperty(2)] CborNullable IPv4, - [CborProperty(3)] CborNullable IPv6 -) : Relay; - -[CborSerializable(CborType.List)] -public record SingleHostName( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborNullable Port, - [CborProperty(2)] CborText DNSName -) : Relay; - -[CborSerializable(CborType.List)] -public record MultiHostName( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborText DNSName -) : Relay; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs deleted file mode 100644 index c1a7cffd..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs +++ /dev/null @@ -1,5 +0,0 @@ -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -public record RewardAccount(byte[] Value) : CborBytes(Value); \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/TransactionBody.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/TransactionBody.cs deleted file mode 100644 index 37326fe5..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/TransactionBody.cs +++ /dev/null @@ -1,75 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(ConwayTransactionBody), - typeof(BabbageTransactionBody), - typeof(AlonzoTransactionBody) -])] -public record TransactionBody : RawCbor; - -[CborSerializable(CborType.Map)] -public record ConwayTransactionBody( - [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, - [CborProperty(2)] CborUlong Fee, - [CborProperty(3)] CborUlong? TimeToLive, - [CborProperty(4)] CborMaybeIndefList? Certificates, - [CborProperty(5)] Withdrawals? Withdrawals, - [CborProperty(7)] CborBytes? AuxiliaryDataHash, - [CborProperty(8)] CborUlong? ValidityIntervalStart, - [CborProperty(9)] MultiAssetMint? Mint, - [CborProperty(11)] CborBytes? ScriptDataHash, - [CborProperty(13)] CborMaybeIndefList? Collateral, - [CborProperty(14)] CborMaybeIndefList? RequiredSigners, - [CborProperty(15)] CborInt? NetworkId, - [CborProperty(16)] TransactionOutput? CollateralReturn, - [CborProperty(17)] CborUlong? TotalCollateral, - [CborProperty(18)] CborMaybeIndefList? ReferenceInputs, - [CborProperty(19)] VotingProcedures>? VotingProcedures, - [CborProperty(20)] CborMaybeIndefList? ProposalProcedures, - [CborProperty(21)] CborUlong? TreasuryValue, - [CborProperty(22)] CborUlong? Donation -) : TransactionBody; - -[CborSerializable(CborType.Map)] -public record BabbageTransactionBody( - [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, - [CborProperty(2)] CborUlong Fee, - [CborProperty(3)] CborUlong? TimeToLive, - [CborProperty(4)] CborMaybeIndefList? Certificates, - [CborProperty(5)] Withdrawals? Withdrawals, - [CborProperty(6)] Update? Update, - [CborProperty(7)] CborBytes? AuxiliaryDataHash, - [CborProperty(8)] CborUlong? ValidityIntervalStart, - [CborProperty(9)] MultiAssetMint? Mint, - [CborProperty(11)] CborBytes? ScriptDataHash, - [CborProperty(13)] CborMaybeIndefList? Collateral, - [CborProperty(14)] CborMaybeIndefList? RequiredSigners, - [CborProperty(15)] CborInt? NetworkId, - [CborProperty(16)] TransactionOutput? CollateralReturn, - [CborProperty(17)] CborUlong? TotalCollateral, - [CborProperty(18)] CborMaybeIndefList? ReferenceInputs -) : TransactionBody; - -[CborSerializable(CborType.Map)] -public record AlonzoTransactionBody( - [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, - [CborProperty(2)] CborUlong Fee, - [CborProperty(3)] CborUlong? TimeToLive, - [CborProperty(4)] CborMaybeIndefList? Certificates, - [CborProperty(5)] Withdrawals? Withdrawals, - [CborProperty(6)] Update? Update, - [CborProperty(7)] CborBytes? AuxiliaryDataHash, - [CborProperty(8)] CborUlong? ValidityIntervalStart, - [CborProperty(9)] MultiAssetMint? Mint, - [CborProperty(11)] CborBytes? ScriptDataHash, - [CborProperty(13)] CborMaybeIndefList? Collateral, - [CborProperty(14)] CborMaybeIndefList? RequiredSigners, - [CborProperty(15)] CborInt? NetworkId -) : TransactionBody; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Update.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Update.cs deleted file mode 100644 index 676cc2ff..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Update.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record Update( - [CborProperty(0)] ProposedProtocolParameterUpdates ProposedProtocolParameterUpdates, - [CborProperty(1)] CborUlong Epoch -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Withdrawals.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Withdrawals.cs deleted file mode 100644 index 61c624ee..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Body/Withdrawals.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -public record Withdrawals(Dictionary Value) - : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Credential.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Credential.cs deleted file mode 100644 index da644fc7..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Credential.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record Credential( - [CborProperty(0)] CborInt CredentialType, - [CborProperty(1)] CborBytes Hash -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Constitution.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Constitution.cs deleted file mode 100644 index 8bebbae9..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Constitution.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record Constitution( - [CborProperty(0)] Anchor Anchor, - [CborProperty(1)] CborNullable ScriptHash -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRep.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRep.cs deleted file mode 100644 index 8058bd49..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRep.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(DRepAddrKeyHash), - typeof(DRepScriptHash), - typeof(Abstain), - typeof(DRepNoConfidence), -])] -public record DRep : RawCbor; - -[CborSerializable(CborType.List)] -public record DRepAddrKeyHash( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborBytes AddrKeyHash -) : DRep; - -[CborSerializable(CborType.List)] -public record DRepScriptHash( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborBytes ScriptHash -) : DRep; - -[CborSerializable(CborType.List)] -public record Abstain( - [CborProperty(0)] CborInt Tag -) : DRep; - -[CborSerializable(CborType.List)] -public record DRepNoConfidence( - [CborProperty(0)] CborInt Tag -) : DRep; diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs deleted file mode 100644 index 2e99047b..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/DRepVotingThresholds.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record DRepVotingThresholds( - [CborProperty(0)] CborRationalNumber MotionNoConfidence, - [CborProperty(1)] CborRationalNumber CommitteeNormal, - [CborProperty(2)] CborRationalNumber CommitteeNoConfidence, - [CborProperty(4)] CborRationalNumber UpdateConstitution, - [CborProperty(5)] CborRationalNumber HardForkInitiation, - [CborProperty(6)] CborRationalNumber PpNetworkGroup, - [CborProperty(7)] CborRationalNumber PpEconomicGroup, - [CborProperty(8)] CborRationalNumber PpTechnicalGroup, - [CborProperty(9)] CborRationalNumber PpGovernanceGroup, - [CborProperty(10)] CborRationalNumber TreasuryWithdrawal -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovAction.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovAction.cs deleted file mode 100644 index a96e3944..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovAction.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(ParameterChangeAction), - typeof(HardForkInitiationAction), - typeof(TreasuryWithdrawalsAction), - typeof(NoConfidence), - typeof(UpdateCommittee), - typeof(NewConstitution), - typeof(InfoAction), -])] -public record GovAction : RawCbor; - -[CborSerializable(CborType.List)] -public record ParameterChangeAction( - [CborProperty(0)] CborInt ActionType, - [CborProperty(1)] CborNullable GovActionId, - [CborProperty(2)] ProtocolParamUpdate ProtocolParamUpdate, - [CborProperty(3)] CborNullable PolicyHash -) : GovAction; - -[CborSerializable(CborType.List)] -public record HardForkInitiationAction( - [CborProperty(0)] CborInt ActionType, - [CborProperty(1)] CborNullable GovActionId, - [CborProperty(2)] ProtocolVersion ProtocolVersion -) : GovAction; - -[CborSerializable(CborType.List)] -public record TreasuryWithdrawalsAction( - [CborProperty(0)] CborInt ActionType, - [CborProperty(1)] Withdrawals Withdrawals, - [CborProperty(2)] CborNullable PolicyHash -) : GovAction; - -[CborSerializable(CborType.List)] -public record NoConfidence( - [CborProperty(0)] CborInt ActionType, - [CborProperty(1)] CborNullable GovActionId -) : GovAction; - -[CborSerializable(CborType.List)] -public record UpdateCommittee( - [CborProperty(0)] CborInt ActionType, - [CborProperty(1)] CborNullable GovActionId, - [CborProperty(2)] CborDefiniteList NewMembers, - [CborProperty(3)] MemberTermLimits MemberTermLimits, - [CborProperty(4)] CborRationalNumber QuorumThreshold -) : GovAction; - -[CborSerializable(CborType.List)] -public record NewConstitution( - [CborProperty(0)] CborInt ActionType, - [CborProperty(1)] CborNullable GovActionId, - [CborProperty(2)] Constitution Constitution -) : GovAction; - -[CborSerializable(CborType.List)] -public record InfoAction( - [CborProperty(0)] CborInt Value -) : GovAction; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovActionId.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovActionId.cs deleted file mode 100644 index 9204a137..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/GovActionId.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record GovActionId( - [CborProperty(0)] CborBytes TransactionId, - [CborProperty(1)] CborInt GovActionIndex -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs deleted file mode 100644 index 6b89b6ed..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/MemberTermLimits.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -public record MemberTermLimits(Dictionary Value) - : CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs deleted file mode 100644 index 3315e5ef..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/ProposalProcedure.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record ProposalProcedure( - [CborProperty(0)] CborUlong Deposit, - [CborProperty(1)] RewardAccount RewardAccount, - [CborProperty(2)] GovAction GovAction, - [CborProperty(3)] Anchor Anchor -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Voter.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Voter.cs deleted file mode 100644 index 83619c21..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/Voter.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record Voter( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborBytes Hash -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs deleted file mode 100644 index 29d7ba62..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedure.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record VotingProcedure( - [CborProperty(0)] CborInt Vote, - [CborProperty(1)] CborNullable Anchor -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs deleted file mode 100644 index c0566ebb..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Governance/VotingProcedures.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -public record VotingProcedures(Dictionary Value) - : CborMap(Value), ICbor where K : Voter where V : VoterChoices; - -public record VoterChoices(Dictionary Value) - : CborMap(Value), ICbor where K : GovActionId where V : VotingProcedure; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Input/TransactionInput.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Input/TransactionInput.cs deleted file mode 100644 index b064f3d7..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Input/TransactionInput.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record TransactionInput( - [CborProperty(0)] CborBytes TransactionId, - [CborProperty(1)] CborUlong Index -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Address.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Address.cs deleted file mode 100644 index 05b8467d..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Address.cs +++ /dev/null @@ -1,5 +0,0 @@ -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -public record Address(byte[] Value) : CborBytes(Value); diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/DatumOption.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/DatumOption.cs deleted file mode 100644 index af3824db..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/DatumOption.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(DatumHashOption), typeof(InlineDatumOption)])] -public record DatumOption : RawCbor; - -[CborSerializable(CborType.List)] -public record DatumHashOption( - [CborProperty(0)] CborInt Option, - [CborProperty(1)] CborBytes DatumHash -) : DatumOption; - -[CborSerializable(CborType.List)] -public record InlineDatumOption( - [CborProperty(0)] CborInt Option, - [CborProperty(1)] CborEncodedValue Data -) : DatumOption; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/MultiAsset.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/MultiAsset.cs deleted file mode 100644 index 8b6fde70..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/MultiAsset.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(MultiAssetOutput), - typeof(MultiAssetMint), -])] -public interface MultiAsset : ICbor; - -public record MultiAssetOutput(Dictionary Value) : - CborMap(Value), MultiAsset; - -public record MultiAssetMint(Dictionary Value) : - CborMap(Value), MultiAsset; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TokenBundle.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TokenBundle.cs deleted file mode 100644 index 475a9098..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TokenBundle.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(TokenBundleOutput), - typeof(TokenBundleMint), -])] -public interface TokenBundle : ICbor; - -public record TokenBundleOutput(Dictionary Value) : CborMap(Value), TokenBundle; - -public record TokenBundleMint(Dictionary Value) : CborMap(Value), TokenBundle; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs deleted file mode 100644 index cde4fe0b..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/TransactionOutput.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(BabbageTransactionOutput), - typeof(AlonzoTransactionOutput), - typeof(MaryTransactionOutput), - typeof(ShellyTransactionOutput) -])] -public record TransactionOutput : RawCbor; - -[CborSerializable(CborType.List)] -public record ShellyTransactionOutput( - [CborProperty(0)] Address Address, - [CborProperty(1)] Lovelace Amount -) : TransactionOutput; - -[CborSerializable(CborType.List)] -public record MaryTransactionOutput( - [CborProperty(0)] Address Address, - [CborProperty(1)] Value Amount -) : TransactionOutput; - -[CborSerializable(CborType.List)] -public record AlonzoTransactionOutput( - [CborProperty(0)] Address Address, - [CborProperty(1)] Value Amount, - [CborProperty(2)] CborBytes DatumHash -) : TransactionOutput; - -[CborSerializable(CborType.Map)] -public record BabbageTransactionOutput( - [CborProperty(0)] Address Address, - [CborProperty(1)] Value Amount, - [CborProperty(2)] DatumOption? Datum, - [CborProperty(3)] CborEncodedValue? ScriptRef -) : TransactionOutput; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Value.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Value.cs deleted file mode 100644 index 4cfab584..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Output/Value.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(Lovelace), typeof(LovelaceWithMultiAsset)])] -public record Value : RawCbor; - -[CborSerializable(CborType.Ulong)] -public record Lovelace(ulong Value): Value; -// @TODO: think about how to support not recreating multiple base types - -[CborSerializable(CborType.List)] -public record LovelaceWithMultiAsset( - [CborProperty(0)] Lovelace Lovelace, - [CborProperty(1)] MultiAssetOutput MultiAsset -): Value; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs deleted file mode 100644 index 1cf7fb3f..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/CostMdls.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -public record CostMdls(Dictionary> Value) - : CborMap>(Value), ICbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs deleted file mode 100644 index 725ebf90..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnitPrices.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record ExUnitPrices( - [CborProperty(0)] CborRationalNumber MemPrice, - [CborProperty(1)] CborRationalNumber StepPrice -) : RawCbor; diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs deleted file mode 100644 index ef999d35..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ExUnits.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record ExUnits( - [CborProperty(0)] CborUlong Mem, - [CborProperty(1)] CborUlong Steps -) : RawCbor; diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/Nonce.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/Nonce.cs deleted file mode 100644 index 2472af10..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/Nonce.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record Nonce( - [CborProperty(0)] CborUlong Variant, - [CborProperty(1)] CborBytes? Hash -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs deleted file mode 100644 index ab01a2bd..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/PoolVotingThresholds.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record PoolVotingThresholds( - [CborProperty(0)] CborRationalNumber MotionNoConfidence, - [CborProperty(1)] CborRationalNumber CommitteeNormal, - [CborProperty(2)] CborRationalNumber CommitteeNoConfidence, - [CborProperty(3)] CborRationalNumber HardForkInitiation, - [CborProperty(4)] CborRationalNumber SecurityVotingThreshold -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs deleted file mode 100644 index ef8df4c7..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Protocol/ProtocolParamUpdate.cs +++ /dev/null @@ -1,105 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(ConwayProtocolParamUpdate), - typeof(BabbageProtocolParamUpdate), - typeof(AlonzoProtocolParamUpdate) -])] -public record ProtocolParamUpdate : RawCbor; - -[CborSerializable(CborType.Map)] -public record ConwayProtocolParamUpdate( - [CborProperty(0)] CborUlong? MinFeeA, - [CborProperty(1)] CborUlong? MinFeeB, - [CborProperty(2)] CborUlong? MaxBlockBodySize, - [CborProperty(3)] CborUlong? MaxTransactionSize, - [CborProperty(4)] CborUlong? MaxBlockHeaderSize, - [CborProperty(5)] CborUlong? KeyDeposit, - [CborProperty(6)] CborUlong? PoolDeposit, - [CborProperty(7)] CborUlong? MaximumEpoch, - [CborProperty(8)] CborUlong? DesiredNumberOfStakePools, - [CborProperty(9)] CborRationalNumber? PoolPledgeInfluence, - [CborProperty(10)] CborRationalNumber? ExpansionRate, - [CborProperty(11)] CborRationalNumber? TreasuryGrowthRate, - [CborProperty(16)] CborUlong? MinPoolCost, - [CborProperty(17)] CborUlong? AdaPerUTxOByte, - [CborProperty(18)] CostMdls? CostModelsForScriptLanguage, - [CborProperty(19)] ExUnitPrices? ExecutionCosts, - [CborProperty(20)] ExUnits? MaxTxExUnits, - [CborProperty(21)] ExUnits? MaxBlockExUnits, - [CborProperty(22)] CborUlong? MaxValueSize, - [CborProperty(23)] CborUlong? CollateralPercentage, - [CborProperty(24)] CborUlong? MaxCollateralInputs, - [CborProperty(25)] PoolVotingThresholds? PoolVotingThresholds, - [CborProperty(26)] DRepVotingThresholds? DRepVotingThresholds, - [CborProperty(27)] CborUlong? MinCommitteeSize, - [CborProperty(28)] CborUlong? CommitteeTermLimit, - [CborProperty(29)] CborUlong? GovernanceActionValidityPeriod, - [CborProperty(30)] CborUlong? GovernanceActionDeposit, - [CborProperty(31)] CborUlong? DRepDeposit, - [CborProperty(32)] CborUlong? DRepInactivityPeriod, - [CborProperty(33)] CborRationalNumber? MinFeeRefScriptCostPerByte -) : ProtocolParamUpdate; - -[CborSerializable(CborType.Map)] -public record BabbageProtocolParamUpdate( - [CborProperty(0)] CborUlong? MinFeeA, - [CborProperty(1)] CborUlong? MinFeeB, - [CborProperty(2)] CborUlong? MaxBlockBodySize, - [CborProperty(3)] CborUlong? MaxTransactionSize, - [CborProperty(4)] CborUlong? MaxBlockHeaderSize, - [CborProperty(5)] CborUlong? KeyDeposit, - [CborProperty(6)] CborUlong? PoolDeposit, - [CborProperty(7)] CborUlong? MaximumEpoch, - [CborProperty(8)] CborUlong? DesiredNumberOfStakePools, - [CborProperty(9)] CborRationalNumber? PoolPledgeInfluence, - [CborProperty(10)] CborRationalNumber? ExpansionRate, - [CborProperty(11)] CborRationalNumber? TreasuryGrowthRate, - [CborProperty(14)] ProtocolVersion? ProtocolVersion, - [CborProperty(16)] CborUlong? MinPoolCost, - [CborProperty(17)] CborUlong? AdaPerUTxOByte, - [CborProperty(18)] CostMdls? CostModelsForScriptLanguage, - [CborProperty(19)] ExUnitPrices? ExecutionCosts, - [CborProperty(20)] ExUnits? MaxTxExUnits, - [CborProperty(21)] ExUnits? MaxBlockExUnits, - [CborProperty(22)] CborUlong? MaxValueSize, - [CborProperty(23)] CborUlong? CollateralPercentage, - [CborProperty(24)] CborUlong? MaxCollateralInputs -) : ProtocolParamUpdate; - -[CborSerializable(CborType.Map)] -public record AlonzoProtocolParamUpdate( - [CborProperty(0)] CborUlong? MinFeeA, - [CborProperty(1)] CborUlong? MinFeeB, - [CborProperty(2)] CborUlong? MaxBlockBodySize, - [CborProperty(3)] CborUlong? MaxTransactionSize, - [CborProperty(4)] CborUlong? MaxBlockHeaderSize, - [CborProperty(5)] CborUlong? KeyDeposit, - [CborProperty(6)] CborUlong? PoolDeposit, - [CborProperty(7)] CborUlong? MaximumEpoch, - [CborProperty(8)] CborUlong? DesiredNumberOfStakePools, - [CborProperty(9)] CborRationalNumber? PoolPledgeInfluence, - [CborProperty(10)] CborRationalNumber? ExpansionRate, - [CborProperty(11)] CborRationalNumber? TreasuryGrowthRate, - [CborProperty(12)] CborRationalNumber? DecentralizationConstant, - [CborProperty(13)] Nonce? ExtraEntropy, - [CborProperty(14)] ProtocolVersion? ProtocolVersion, - [CborProperty(16)] CborUlong? MinPoolCost, - [CborProperty(17)] CborUlong? AdaPerUTxOByte, - [CborProperty(18)] CostMdls? CostModelsForScriptLanguage, - [CborProperty(19)] ExUnitPrices? ExecutionCosts, - [CborProperty(20)] ExUnits? MaxTxExUnits, - [CborProperty(21)] ExUnits? MaxBlockExUnits, - [CborProperty(22)] CborUlong? MaxValueSize, - [CborProperty(23)] CborUlong? CollateralPercentage, - [CborProperty(24)] CborUlong? MaxCollateralInputs -) : ProtocolParamUpdate; - - - -public record ProposedProtocolParameterUpdates(Dictionary Value) - : CborMap(Value), ICbor; diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/NativeScript.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/NativeScript.cs deleted file mode 100644 index 4761d9bc..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/NativeScript.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(ScriptPubKey), - typeof(ScriptAll), - typeof(ScriptAny), - typeof(ScriptNOfK), - typeof(InvalidBefore), - typeof(InvalidHereafter) -])] -public record NativeScript : RawCbor; - -[CborSerializable(CborType.List)] -public record ScriptPubKey( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborBytes AddrKeyHash -) : NativeScript; - -[CborSerializable(CborType.List)] -public record ScriptAll( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborDefiniteList Scripts -) : NativeScript; - -[CborSerializable(CborType.List)] -public record ScriptAny( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborDefiniteList Scripts -) : NativeScript; - -[CborSerializable(CborType.List)] -public record ScriptNOfK( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborInt N, - [CborProperty(2)] CborDefiniteList Scripts -) : NativeScript; - -[CborSerializable(CborType.List)] -public record InvalidBefore( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborUlong Slot -) : NativeScript; - -[CborSerializable(CborType.List)] -public record InvalidHereafter( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborUlong Slot -) : NativeScript; diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusData.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusData.cs deleted file mode 100644 index 78ccbd0e..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusData.cs +++ /dev/null @@ -1,70 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(PlutusConstr), - typeof(PlutusMap), - typeof(PlutusList), - typeof(PlutusBigInt), - typeof(PlutusBytes), - typeof(PlutusBytesWithTag) -])] -public interface PlutusData : ICbor; - -[CborSerializable(CborType.Constr)] -public record PlutusConstr(int Index, bool IsInfinite, PlutusData[] Value) : PlutusData -{ - public byte[]? Raw { get; set; } -} - - -public record PlutusMap(Dictionary Value) - : CborMap(Value), PlutusData; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(PlutusBigUInt), - typeof(PlutusBigNInt), -])] -public interface PlutusBigInt : PlutusData; - -public record PlutusBigUInt(ulong Value) - : CborUlong(Value), PlutusBigInt; - -public record PlutusBigNInt(long Value) - : CborLong(Value), PlutusBigInt; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(PlutusBoundedBytes), - typeof(PlutusDefiniteBytes), -])] -public interface PlutusBytes : PlutusData; - -public record PlutusBoundedBytes(byte[] Value) - : CborBoundedBytes(Value), PlutusBytes; - -public record PlutusDefiniteBytes(byte[] Value) - : CborBytes(Value), PlutusBytes; - -[CborSerializable(CborType.Tag, Index = 2)] -public record PlutusBytesWithTag(PlutusBytes Value) : PlutusData -{ - public byte[]? Raw { get; set; } -} - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(PlutusIndefiniteList), - typeof(PlutusDefiniteList), -])] -public interface PlutusList : PlutusData; - -public record PlutusIndefiniteList(PlutusData[] Value) - : CborIndefiniteList(Value), PlutusList; - -public record PlutusDefiniteList(PlutusData[] Value) - : CborDefiniteList(Value), PlutusList; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusOption.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusOption.cs deleted file mode 100644 index d831044e..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Script/PlutusOption.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(PlutusSome<>), typeof(PlutusNone<>)])] -public record PlutusOption : RawCbor; - -public record PlutusSome([CborProperty(0)] T Value) : PlutusOption; - -public record PlutusNone : PlutusOption; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Transaction.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/Transaction.cs deleted file mode 100644 index 69009f02..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/Transaction.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record Transaction( - [CborProperty(0)] TransactionBody TransactionBody, - [CborProperty(1)] TransactionWitnessSet TransactionWitnessSet, - [CborProperty(2)] CborBool Bool, - [CborProperty(3)] CborNullable AuxiliaryData -) : RawCbor; - diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/TransactionMetadatum.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/TransactionMetadatum.cs deleted file mode 100644 index 8d275fec..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/TransactionMetadatum.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(MetadatumMap), - typeof(MetadatumList), - typeof(MetadatumInt), - typeof(MetadatumBytes), - typeof(MetadataText) -])] -public interface TransactionMetadatum : ICbor; - -public record MetadatumMap(Dictionary Value) - : CborMap(Value), TransactionMetadatum; - -public record MetadatumList(TransactionMetadatum[] Value) - : CborDefiniteList(Value), TransactionMetadatum; - -public record MetadatumBytes(byte[] Value) - : CborBytes(Value), TransactionMetadatum; - -public record MetadataText(string Value) - : CborText(Value), TransactionMetadatum; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ -typeof(MetadatumIntLong), - typeof(MetadatumIntULong) -])] -public interface MetadatumInt : TransactionMetadatum; - -public record MetadatumIntLong(long Value) : CborLong(Value), MetadatumInt; - -public record MetadatumIntULong(ulong Value) : CborUlong(Value), MetadatumInt; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs deleted file mode 100644 index 79e3640b..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/BootstrapWitness.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record BootstrapWitness( - [CborProperty(0)] CborBytes PublicKey, - [CborProperty(1)] CborBytes Signature, - [CborProperty(2)] CborBytes ChainCode, - [CborProperty(3)] CborBytes Attributes -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs deleted file mode 100644 index f1017b37..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/Redeemers.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(RedeemerList), - typeof(RedeemerMap) -])] -public interface Redeemers : ICbor; - -// [CborSerializable(CborType.List)] -// public record RedeemerList( -// RedeemerEntry Entries -// ) : Redeemers; - -public record RedeemerList(RedeemerEntry[] Value) - : CborDefiniteList(Value), Redeemers; - -public record RedeemerMap(Dictionary Value) - : CborMap(Value), Redeemers; - -[CborSerializable(CborType.List)] -public record RedeemerEntry( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborUlong Index, - [CborProperty(2)] PlutusData Data, - [CborProperty(3)] ExUnits ExUnits -) : RawCbor; - -[CborSerializable(CborType.List)] -public record RedeemerKey( - [CborProperty(0)] CborInt Tag, - [CborProperty(1)] CborUlong Index -) : RawCbor; - -[CborSerializable(CborType.List)] -public record RedeemerValue( - [CborProperty(0)] PlutusData Data, - [CborProperty(1)] ExUnits ExUnits -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs deleted file mode 100644 index db68cbbd..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/TransactionWitnessSet.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Chrysalis.Cbor; -using Chrysalis.Cardano.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.Map)] -public record TransactionWitnessSet( - [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, - [CborProperty(1)] CborMaybeIndefList? NativeScriptSet, - [CborProperty(2)] CborMaybeIndefList? BootstrapWitnessSet, - [CborProperty(3)] CborMaybeIndefList? PlutusV1ScriptSet, - [CborProperty(4)] CborMaybeIndefList? PlutusDataSet, - [CborProperty(5)] Redeemers? Redeemers, - [CborProperty(6)] CborMaybeIndefList? PlutusV2ScriptSet, - [CborProperty(7)] CborMaybeIndefList? PlutusV3ScriptSet -) : RawCbor; diff --git a/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs b/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs deleted file mode 100644 index 15665ac8..00000000 --- a/src/ChrysalisOld/Cardano/Core/Block/Transaction/WitnessSet/VKeyWitness.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record VKeyWitness( - [CborProperty(0)] CborBytes VKey, - [CborProperty(1)] CborBytes Signature -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Core/BlockWithEra.cs b/src/ChrysalisOld/Cardano/Core/BlockWithEra.cs deleted file mode 100644 index 9d622a67..00000000 --- a/src/ChrysalisOld/Cardano/Core/BlockWithEra.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Core; - -[CborSerializable(CborType.List)] -public record BlockWithEra( - [CborProperty(0)] CborInt EraNumber, - [CborProperty(1)] Block Block -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Jpeg/Buy.cs b/src/ChrysalisOld/Cardano/Jpeg/Buy.cs deleted file mode 100644 index be0ee418..00000000 --- a/src/ChrysalisOld/Cardano/Jpeg/Buy.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Jpeg; - -[CborSerializable(CborType.Constr, Index = 0)] -public record BuyRedeemer( - [CborProperty(0)] - CborInt Offset -) : RawCbor; diff --git a/src/ChrysalisOld/Cardano/Jpeg/Listing.cs b/src/ChrysalisOld/Cardano/Jpeg/Listing.cs deleted file mode 100644 index d235c05c..00000000 --- a/src/ChrysalisOld/Cardano/Jpeg/Listing.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Plutus; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Jpeg; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Listing( - [CborProperty(0)] - CborIndefiniteList Payouts, - - [CborProperty(1)] - CborBytes OwnerPkh -) : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record ListingPayout( - [CborProperty(0)] - Address Address, - - [CborProperty(1)] - CborUlong Amount -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Jpeg/Offer.cs b/src/ChrysalisOld/Cardano/Jpeg/Offer.cs deleted file mode 100644 index 913ad32e..00000000 --- a/src/ChrysalisOld/Cardano/Jpeg/Offer.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; -using Chrysalis.Cbor; -using Address = Chrysalis.Cardano.Plutus.Address; - -namespace Chrysalis.Cardano.Jpeg; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Offer( - [CborProperty(0)] - CborBytes OwnerPkh, - - [CborProperty(1)] - CborIndefiniteList Payouts -) : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record OfferPayout( - [CborProperty(0)] - Address Address, - - [CborProperty(1)] - PayoutValue PayoutValue -) : RawCbor; - -public record PayoutValue(Dictionary Value) : - CborMap(Value), ICbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Jpeg/Token.cs b/src/ChrysalisOld/Cardano/Jpeg/Token.cs deleted file mode 100644 index 4d125eae..00000000 --- a/src/ChrysalisOld/Cardano/Jpeg/Token.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Jpeg; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Token( - [CborProperty(0)] - CborInt TokenType, - - [CborProperty(1)] - CborMap Amount -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Levvy/TokenV2/NftDatum.cs b/src/ChrysalisOld/Cardano/Levvy/TokenV2/NftDatum.cs deleted file mode 100644 index 62d27325..00000000 --- a/src/ChrysalisOld/Cardano/Levvy/TokenV2/NftDatum.cs +++ /dev/null @@ -1,80 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Plutus; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Levvy; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(LendNftDatum), typeof(BorrowNftDatum), typeof(RepayNftDatum)])] -public record NftDatum() : RawCbor; - - -[CborSerializable(CborType.Constr, Index = 0)] -public record LendNftDatum(LendNftDetails LendNftDetails) : NftDatum; - -[CborSerializable(CborType.Constr, Index = 1)] -public record BorrowNftDatum(BorrowNftDetails BorrowNftDetails) : NftDatum; - -[CborSerializable(CborType.Constr, Index = 2)] -public record RepayNftDatum(RepayNftDetails RepayNftDetails) : NftDatum; - - -[CborSerializable(CborType.Constr, Index = 0)] -public record LendNftDetails( - [CborProperty(0)] - Address AdaOwner, - - [CborProperty(1)] - CborBytes PolicyId, - - [CborProperty(2)] - CborUlong LoanAmount, - - [CborProperty(3)] - CborUlong InterestAmount, - - [CborProperty(4)] - CborUlong LoanDuration -) : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record BorrowNftDetails( - [CborProperty(0)] - Address AdaOwner, - - [CborProperty(1)] - Address AssetOwner, - - [CborProperty(2)] - CborBytes PolicyId, - - [CborProperty(3)] - CborBytes AssetName, - - [CborProperty(4)] - CborUlong LoanAmount, - - [CborProperty(5)] - CborUlong InterestAmount, - - [CborProperty(6)] - PosixTime LoanEndTime, - - [CborProperty(7)] - OutputReference OutputReference -) : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record RepayNftDetails( - [CborProperty(0)] - Address AdaOwner, - - [CborProperty(1)] - CborUlong LoanAmount, - - [CborProperty(2)] - CborUlong InterestAmount, - - [CborProperty(3)] - OutputReference OutputReference -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Levvy/TokenV2/PaymentDatum.cs b/src/ChrysalisOld/Cardano/Levvy/TokenV2/PaymentDatum.cs deleted file mode 100644 index 79a27f9b..00000000 --- a/src/ChrysalisOld/Cardano/Levvy/TokenV2/PaymentDatum.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Chrysalis.Cardano.Plutus; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Levvy; - -[CborSerializable(CborType.Constr, Index = 0)] -public record PaymentDatum(OutputReference OutputReference) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenDatum.cs b/src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenDatum.cs deleted file mode 100644 index 1155bc4d..00000000 --- a/src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenDatum.cs +++ /dev/null @@ -1,93 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Plutus; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Levvy; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(LendTokenDatum), typeof(BorrowTokenDatum), typeof(RepayTokenDatum)])] -public record TokenDatum() : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record LendTokenDatum(LendTokenDetails LendTokenDetails) : TokenDatum; - -[CborSerializable(CborType.Constr, Index = 1)] -public record BorrowTokenDatum(BorrowTokenDetails BorrowTokenDetails) : TokenDatum; - -[CborSerializable(CborType.Constr, Index = 2)] -public record RepayTokenDatum(RepayTokenDetails RepayTokenDetails) : TokenDatum; - -[CborSerializable(CborType.Constr, Index = 0)] -public record LendTokenDetails( - [CborProperty(0)] - Address AdaOwner, - - [CborProperty(1)] - CborBytes PolicyId, - - [CborProperty(2)] - CborBytes AssetName, - - [CborProperty(3)] - CborUlong TokenAmount, - - [CborProperty(4)] - CborUlong LoanAmount, - - [CborProperty(5)] - CborUlong InterestAmount, - - [CborProperty(6)] - CborUlong LoanDuration, - - [CborProperty(7)] - OutputReference OutputReference -) : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record BorrowTokenDetails( - [CborProperty(0)] - Address AdaOwner, - - [CborProperty(1)] - Address AssetOwner, - - [CborProperty(2)] - CborBytes PolicyId, - - [CborProperty(3)] - CborBytes AssetName, - - [CborProperty(4)] - CborUlong TokenAmount, - - [CborProperty(5)] - CborUlong LoanAmount, - - [CborProperty(6)] - CborUlong InterestAmount, - - [CborProperty(7)] - PosixTime LoanEndTime, - - [CborProperty(8)] - OutputReference OutputReference -) : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record RepayTokenDetails( - [CborProperty(0)] - Address AdaOwner, - - [CborProperty(1)] - CborUlong TokenAmount, - - [CborProperty(2)] - CborUlong LoanAmount, - - [CborProperty(3)] - CborUlong InterestAmount, - - [CborProperty(4)] - OutputReference OutputReference -) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenRedeemer.cs b/src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenRedeemer.cs deleted file mode 100644 index 39e97c7a..00000000 --- a/src/ChrysalisOld/Cardano/Levvy/TokenV2/TokenRedeemer.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Levvy; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(BorrowTokenAction), - typeof(RepayTokenAction), - typeof(ClaimTokenAction), - typeof(ForecloseTokenAction), - typeof(CancelTokenAction), -])] -public record TokenRedeemer() : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record BorrowTokenAction() : TokenRedeemer; - -[CborSerializable(CborType.Constr, Index = 1)] -public record RepayTokenAction() : TokenRedeemer; - -[CborSerializable(CborType.Constr, Index = 2)] -public record ClaimTokenAction() : TokenRedeemer; - -[CborSerializable(CborType.Constr, Index = 3)] -public record ForecloseTokenAction() : TokenRedeemer; - -[CborSerializable(CborType.Constr, Index = 4)] -public record CancelTokenAction() : TokenRedeemer; diff --git a/src/ChrysalisOld/Cardano/MPF/Proof.cs b/src/ChrysalisOld/Cardano/MPF/Proof.cs deleted file mode 100644 index 2ce5d7ad..00000000 --- a/src/ChrysalisOld/Cardano/MPF/Proof.cs +++ /dev/null @@ -1,57 +0,0 @@ - -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Mpf; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([ - typeof(Branch), - typeof(Fork), - typeof(Leaf) -])] -public record ProofStep : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Branch( - [CborProperty(0)] - CborUlong Skip, - - [CborProperty(1)] - CborBoundedBytes Neighbors -) : ProofStep; - -[CborSerializable(CborType.Constr, Index = 1)] -public record Fork( - [CborProperty(0)] - CborUlong Skip, - - [CborProperty(1)] - Neighbor Neighbor -) : ProofStep; - -[CborSerializable(CborType.Constr, Index = 2)] -public record Leaf( - [CborProperty(0)] - CborUlong Skip, - - [CborProperty(1)] - CborBoundedBytes Key, - - [CborProperty(2)] - CborBoundedBytes Value -) : ProofStep; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Neighbor( - [CborProperty(0)] - CborUlong Nibble, - - [CborProperty(1)] - CborBoundedBytes Prefix, - - [CborProperty(2)] - CborBoundedBytes Root -) : ProofStep; - -public record Proof(ProofStep[] ProofSteps) : CborIndefiniteList(ProofSteps); \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Models/Cbor/CborBytes.cs b/src/ChrysalisOld/Cardano/Models/Cbor/CborBytes.cs deleted file mode 100644 index dd0cdf39..00000000 --- a/src/ChrysalisOld/Cardano/Models/Cbor/CborBytes.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Models.Cbor; - -[CborSerializable(CborType.Bytes, IsDefinite = true)] -public record CborBytes(byte[] Value) : RawCbor; - -[CborSerializable(CborType.Bytes, IsDefinite = false, Size = 64)] -public record CborBoundedBytes(byte[] Value) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Plutus/Address.cs b/src/ChrysalisOld/Cardano/Plutus/Address.cs deleted file mode 100644 index 857aa3da..00000000 --- a/src/ChrysalisOld/Cardano/Plutus/Address.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Plutus; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Address( - [CborProperty(0)] - Credential PaymentCredential, - - [CborProperty(1)] - Option> StakeCredential -) : RawCbor; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(VerificationKey), typeof(Script)])] -public record Credential() : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record VerificationKey([CborProperty(0)] CborBytes VerificationKeyHash) : Credential; - -[CborSerializable(CborType.Constr, Index = 1)] -public record Script([CborProperty(0)] CborBytes ScriptHash) : Credential; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(Inline<>), typeof(Pointer)])] -public record Referenced() : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Inline(T Value) : Referenced; - -[CborSerializable(CborType.Constr, Index = 1)] -public record Pointer( - [CborProperty(0)] - CborUlong SlotNumber, - - [CborProperty(1)] - CborUlong TransactionIndex, - - [CborProperty(2)] - CborUlong CertificateIndex -) : Referenced; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Plutus/CIP68.cs b/src/ChrysalisOld/Cardano/Plutus/CIP68.cs deleted file mode 100644 index cc7a9f8c..00000000 --- a/src/ChrysalisOld/Cardano/Plutus/CIP68.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cardano.Core; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Plutus; - -[CborSerializable(CborType.Constr, Index = 0)] -public record CIP68() : RawCbor where T : ICbor -{ - [CborProperty(0)] - public required CborMap Metadata { get; init; } - - [CborProperty(1)] - public required CborInt Version { get; init; } - - [CborProperty(2)] - public required T Extra { get; init; } -} \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Plutus/Option.cs b/src/ChrysalisOld/Cardano/Plutus/Option.cs deleted file mode 100644 index b5dd9e20..00000000 --- a/src/ChrysalisOld/Cardano/Plutus/Option.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Plutus; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(Some<>), typeof(None<>)])] -public record Option : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Some([CborProperty(0)] T Value) : Option; - -[CborSerializable(CborType.Constr, Index = 1)] -public record None : Option; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Plutus/OutputReference.cs b/src/ChrysalisOld/Cardano/Plutus/OutputReference.cs deleted file mode 100644 index 6559be13..00000000 --- a/src/ChrysalisOld/Cardano/Plutus/OutputReference.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Plutus; - -[CborSerializable(CborType.Constr, Index = 0)] -public record OutputReference( - [CborProperty(0)] - TransactionId TransactionId, - - [CborProperty(1)] - CborUlong Index -) : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record TransactionId(CborBytes Hash) : RawCbor; \ No newline at end of file diff --git a/src/ChrysalisOld/Cardano/Sundae/MultisigScript.cs b/src/ChrysalisOld/Cardano/Sundae/MultisigScript.cs deleted file mode 100644 index 4588c53b..00000000 --- a/src/ChrysalisOld/Cardano/Sundae/MultisigScript.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Chrysalis.Cardano.Cbor; -using Chrysalis.Cbor; - -namespace Chrysalis.Cardano.Sundae; - -[CborSerializable(CborType.Union)] -[CborUnionTypes([typeof(Signature), typeof(AllOf), typeof(AnyOf), typeof(AtLeast), typeof(Before), typeof(After), typeof(Script)])] -public record MultisigScript : RawCbor; - -[CborSerializable(CborType.Constr, Index = 0)] -public record Signature(CborBytes KeyHash) : MultisigScript; - -[CborSerializable(CborType.Constr, Index = 1)] -public record AllOf(CborIndefiniteList Scripts) : MultisigScript; - -[CborSerializable(CborType.Constr, Index = 2)] -public record AnyOf(CborIndefiniteList Scripts) : MultisigScript; - -[CborSerializable(CborType.Constr, Index = 3)] -public record AtLeast(CborUlong Required, CborIndefiniteList Scripts) : MultisigScript; - -[CborSerializable(CborType.Constr, Index = 4)] -public record Before(PosixTime Time) : MultisigScript; - -[CborSerializable(CborType.Constr, Index = 5)] -public record After(PosixTime Time) : MultisigScript; - -[CborSerializable(CborType.Constr, Index = 6)] -public record Script(CborBytes ScriptHash) : MultisigScript; \ No newline at end of file diff --git a/src/ChrysalisOld/Cbor/CborIndex.cs b/src/ChrysalisOld/Cbor/CborIndex.cs deleted file mode 100644 index 85b5b5d2..00000000 --- a/src/ChrysalisOld/Cbor/CborIndex.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Chrysalis.Cbor; - -public class CborIndex(CborType type, object value) -{ - public CborType Type { get; } = type; - public object Value { get; } = value; -} \ No newline at end of file diff --git a/src/ChrysalisOld/Cbor/CborPropertyAttribute.cs b/src/ChrysalisOld/Cbor/CborPropertyAttribute.cs deleted file mode 100644 index bba5eb61..00000000 --- a/src/ChrysalisOld/Cbor/CborPropertyAttribute.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace Chrysalis.Cbor; - -[AttributeUsage(AttributeTargets.Property | AttributeTargets.Parameter, Inherited = true, AllowMultiple = false)] -public class CborPropertyAttribute : Attribute -{ - public string? Key { get; } = default!; - public int? Index { get; } = default!; - - public CborPropertyAttribute(string key) - { - Key = key; - } - - public CborPropertyAttribute(int index) - { - Index = index; - } -} \ No newline at end of file diff --git a/src/ChrysalisOld/Cbor/CborSerializableAttribute.cs b/src/ChrysalisOld/Cbor/CborSerializableAttribute.cs deleted file mode 100644 index 93758802..00000000 --- a/src/ChrysalisOld/Cbor/CborSerializableAttribute.cs +++ /dev/null @@ -1,27 +0,0 @@ -namespace Chrysalis.Cbor; - -[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface)] -public class CborSerializableAttribute(CborType type) : Attribute -{ - public CborType Type { get; } = type; - public int Index { get; set; } = -1; - public bool IsDefinite { get; set; } = true; - public bool IsCustom { get; set; } = false; - public int Size { get; set; } = -1; - - public CborSerializableAttribute(CborType type, int index) : this(type) - { - Index = index; - } - - public CborSerializableAttribute(CborType type, bool isDefinite) : this(type) - { - IsDefinite = isDefinite; - } - - public CborSerializableAttribute(CborType type, int index, bool isDefinite) : this(type) - { - Index = index; - IsDefinite = isDefinite; - } -} diff --git a/src/ChrysalisOld/Cbor/CborSerializer.cs b/src/ChrysalisOld/Cbor/CborSerializer.cs deleted file mode 100644 index a6073383..00000000 --- a/src/ChrysalisOld/Cbor/CborSerializer.cs +++ /dev/null @@ -1,1023 +0,0 @@ -using System.Formats.Cbor; -using System.Reflection; -using System.Collections; -using Chrysalis.Cardano.Core; -using Chrysalis.Cbor.Utils; - -namespace Chrysalis.Cbor; -public static class CborSerializer -{ - public static byte[] Serialize(ICbor cbor) - { - CborWriter writer = new(CborConformanceMode.Strict); - if (cbor.Raw is not null) - { - return cbor.Raw; - } - else - { - SerializeCbor(writer, cbor, cbor.GetType()); - return writer.Encode(); - } - } - - public static T? Deserialize(byte[] cborData) - { - CborReader reader = new(cborData, CborConformanceMode.Strict); - return (T?)DeserializeCbor(reader, typeof(T)); - } - - private static void SerializeCbor(CborWriter writer, ICbor cbor, Type objType) - { - CborType? cborType = objType.GetCborType(); - - if (cborType is not null) - { - switch (cborType) - { - case CborType.Bytes: - SerializeCborBytes(writer, cbor, objType); - break; - case CborType.Int: - SerializeCborInt(writer, cbor, objType); - break; - case CborType.Bool: - SerializeCborBool(writer, cbor, objType); - break; - case CborType.Ulong: - SerializeCborUlong(writer, cbor, objType); - break; - case CborType.Long: - SerializeCborLong(writer, cbor, objType); - break; - case CborType.List: - SerializeList(writer, cbor, objType); - break; - case CborType.Map: - SerializeMap(writer, cbor, objType); - break; - case CborType.Constr: - SerializeConstructor(writer, cbor, objType); - break; - case CborType.EncodedValue: - SerializeEncodedValue(writer, cbor, objType); - break; - case CborType.RationalNumber: - SerializeRationalNumber(writer, cbor, objType); - break; - case CborType.Text: - SerializeText(writer, cbor, objType); - break; - case CborType.Nullable: - SerializeNullable(writer, cbor, objType); - break; - case CborType.Tag: - SerializeTag(writer, cbor, objType); - break; - default: - throw new NotSupportedException($"CBOR type {cborType} is not supported in this context."); - } - } - else - { - throw new NotImplementedException($"Type not supported {objType}"); - } - } - - private static void SerializeList(CborWriter writer, ICbor cbor, Type objType) - { - if (objType.IsGenericType) - { - CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); - MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(objType.GetGenericArguments()); - genericMethod.Invoke(null, [writer, cbor, cborSerializableAttr!.IsDefinite]); - return; - } - else if (objType.GetCustomAttribute()?.Type == CborType.List) - { - SerializeListStructure(writer, cbor, objType); - } - else - { - throw new InvalidOperationException($"Unsupported list type for deserialization: {cbor.GetType().Name}"); - } - } - - private static void SerializeGenericList(CborWriter writer, ICbor cborList, bool definite = false) where T : ICbor - { - T[] elements = (T[])cborList.GetValue(cborList.GetType())!; - writer.WriteStartArray(definite ? elements.Length : null); - - foreach (T element in elements) - { - SerializeCbor(writer, element, element.GetType()); - } - - writer.WriteEndArray(); - } - - private static void SerializeListStructure(CborWriter writer, ICbor cbor, Type objType) - { - Type? baseType = objType.BaseType; - CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); - bool isDefinite = cborSerializableAttr?.IsDefinite ?? true; - - if (cbor is null) - return; - - if (baseType != null && baseType.IsGenericType) - { - MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(baseType.GetGenericArguments()); - genericMethod.Invoke(null, [writer, cbor, isDefinite]); - } - else - { - PropertyInfo[] properties = cbor.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); - writer.WriteStartArray(isDefinite ? properties.Length : null); - - foreach (PropertyInfo property in properties) - { - object? value = property.GetValue(cbor); - - if (value is null || value is ICbor) - { - Type concreteType = value is not null && CborSerializerUtils.GetCborType(property.PropertyType) == CborType.Union ? value.GetType() : property.PropertyType; - SerializeCbor(writer, (ICbor)value!, concreteType); - } - else - { - throw new InvalidOperationException($"Property {property.Name} in {cbor.GetType().Name} is neither ICbor nor CborNullable."); - } - } - - writer.WriteEndArray(); - } - } - - private static void SerializeCborUlong(CborWriter writer, ICbor cbor, Type objType) - { - writer.WriteUInt64((ulong)cbor.GetValue(objType)!); - } - - private static void SerializeCborLong(CborWriter writer, ICbor cbor, Type objType) - { - writer.WriteInt64((long)cbor.GetValue(objType)!); - } - - private static void SerializeCborInt(CborWriter writer, ICbor cbor, Type objType) - { - writer.WriteInt32((int)cbor.GetValue(objType)!); - } - - private static void SerializeCborBool(CborWriter writer, ICbor cbor, Type objType) - { - writer.WriteBoolean((bool)cbor.GetValue(objType)!); - } - - private static void SerializeCborBytes(CborWriter writer, ICbor cbor, Type objType) - { - CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); - if (!cborSerializableAttr!.IsDefinite) - { - writer.WriteStartIndefiniteLengthByteString(); - byte[] bytesValue = (byte[])cbor.GetValue(objType)!; - int chunkSize = cborSerializableAttr.Size; - for (int i = 0; i < bytesValue.Length; i += chunkSize) - { - int length = Math.Min(chunkSize, bytesValue.Length - i); - writer.WriteByteString((bytesValue).AsSpan(i, length)); - } - writer.WriteEndIndefiniteLengthByteString(); - } - else - { - writer.WriteByteString((byte[])cbor.GetValue(objType)!); - } - } - - private static void SerializeMap(CborWriter writer, ICbor obj, Type objType) - { - CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); - // @TODO: Don't hardcoded types use the attributes in this cose use CborTypes.Map instead of CborMap - if (obj is CborMap cborMap) - { - writer.WriteStartMap(cborSerializableAttr!.IsDefinite ? cborMap.Value.Count : null); - foreach (KeyValuePair kvp in cborMap.Value) - { - SerializeCbor(writer, kvp.Key, kvp.Key.GetType()); - SerializeCbor(writer, kvp.Value, kvp.Value.GetType()); - } - writer.WriteEndMap(); - } - else if (objType.IsGenericType || (objType.BaseType?.IsGenericType ?? false)) - { - IDictionary data = (IDictionary)objType.GetProperty("Value")?.GetValue(obj)!; - SerializeGenericMap(writer, data, cborSerializableAttr!.IsDefinite); - } - else if (objType.GetCustomAttribute()?.Type == CborType.Map) - { - SerializeCustomMap(writer, obj, objType, cborSerializableAttr!.IsDefinite); - } - else - { - throw new InvalidOperationException($"Unsupported map type for serialization: {objType.Name}"); - } - } - - private static void SerializeCustomMap(CborWriter writer, ICbor obj, Type objType, bool definite = false) - { - Type? currentType = objType; - - if (currentType.IsGenericType) - { - Type[] genericArgs = currentType.GetGenericArguments(); - MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(SerializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(genericArgs); - genericMethod.Invoke(null, [writer, obj, definite]); - } - else - { - Type[] types = objType.GetProperties() - .Select(p => p.PropertyType) - .ToArray(); - ConstructorInfo? constructor = objType.GetConstructor(types); - ParameterInfo[]? parameters = (constructor?.GetParameters()) ?? - throw new InvalidOperationException($"No suitable constructor found for type: {objType.Name}"); - - int mapSize = parameters.Count(p => - { - CborPropertyAttribute? cborPropertyAttr = p.GetCustomAttribute(); - if (cborPropertyAttr == null) - return false; - - PropertyInfo? property = objType.GetProperty(p.Name!); - object? value = property?.GetValue(obj); - - return value != null; - }); - - writer.WriteStartMap(definite ? mapSize : null); - - foreach (ParameterInfo parameter in parameters) - { - CborPropertyAttribute? cborPropertyAttr = parameter.GetCustomAttribute(); - if (cborPropertyAttr != null) - { - PropertyInfo? property = objType.GetProperty(parameter.Name!); - object? value = property?.GetValue(obj); - - if (value is null) - { - continue; - } - - if (cborPropertyAttr.Key != null) - { - writer.WriteTextString(cborPropertyAttr.Key); - } - else if (cborPropertyAttr.Index != null) - { - writer.WriteInt32((int)cborPropertyAttr.Index); - } - - - if (value is ICbor cborValue) - { - SerializeCbor(writer, cborValue, value.GetType()); - } - else - { - throw new InvalidOperationException($"Parameter {parameter.Name} in {objType.Name} does not implement ICbor."); - } - } - } - - writer.WriteEndMap(); - } - } - - private static void SerializeGenericMap(CborWriter writer, IDictionary data, bool definite = false) - { - writer.WriteStartMap(definite ? data.Count : null); - - foreach (DictionaryEntry kvp in data) - { - SerializeCbor(writer, (kvp.Key as ICbor)!, kvp.Key.GetType()); - SerializeCbor(writer, (kvp.Value as ICbor)!, kvp.Value!.GetType()); - } - - writer.WriteEndMap(); - } - - private static void SerializeConstructor(CborWriter writer, ICbor cbor, Type objType) - { - CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); - if (cborSerializableAttr == null || cborSerializableAttr.Type != CborType.Constr) - throw new InvalidOperationException($"Type {objType.Name} is not marked as CborSerializable with CborType.Constr"); - - ConstructorInfo? constructor = objType.GetConstructors().FirstOrDefault() ?? - throw new InvalidOperationException($"No constructor found for type {objType.Name}"); - - ParameterInfo[] parameters = constructor.GetParameters(); - bool isDynamic = cborSerializableAttr.Index == -1; - if (isDynamic) // Dynamic Constructor - { - PropertyInfo? indexProperty = objType.GetProperty("Index") ?? - throw new InvalidOperationException($"Property 'Index' not found in {objType.Name}"); - - PropertyInfo? isInfiniteProperty = objType.GetProperty("IsInfinite") ?? - throw new InvalidOperationException($"Property 'IsInfinite' not found in {objType.Name}"); - - PropertyInfo? valueProperty = objType.GetProperty("Value") ?? - throw new InvalidOperationException($"Property 'Value' not found in {objType.Name}"); - - int index = (int)indexProperty.GetValue(cbor)!; - IList? value = (IList?)valueProperty.GetValue(cbor); - bool isInfinite = (bool)isInfiniteProperty.GetValue(cbor)!; - - if (isInfinite) - { - writer.WriteTag((CborTag)102); - writer.WriteStartArray(2); - writer.WriteInt32(index); - writer.WriteStartArray(value!.Count); - foreach (ICbor item in value) - { - SerializeCbor(writer, item, item.GetType()); - } - writer.WriteEndArray(); - writer.WriteEndArray(); - } - else - { - writer.WriteTag(CborSerializerUtils.GetCborTag(index)); - - if (value is null || value!.Count == 0) - { - writer.WriteStartArray(0); - writer.WriteEndArray(); - return; - } - else - { - writer.WriteStartArray(null); - - foreach (ICbor item in value) - { - SerializeCbor(writer, item, item.GetType()); - } - - writer.WriteEndArray(); - } - } - } - else // Static Constructor - { - writer.WriteTag(CborSerializerUtils.GetCborTag(cborSerializableAttr.Index)); - if (parameters.Length == 0) - { - writer.WriteStartArray(0); - writer.WriteEndArray(); - return; - } - writer.WriteStartArray(null); - - foreach (ParameterInfo parameter in parameters) - { - PropertyInfo? property = objType.GetProperty(parameter.Name!, BindingFlags.Public | BindingFlags.Instance) ?? - throw new InvalidOperationException($"Property {parameter.Name} not found in {objType.Name}"); - - object? value = property.GetValue(cbor) ?? - throw new InvalidOperationException($"Value for property {property.Name} in {objType.Name} is null"); - - SerializeCbor(writer, (ICbor)value, value.GetType()); - } - - writer.WriteEndArray(); - } - } - - private static void SerializeEncodedValue(CborWriter writer, ICbor cbor, Type objType) - { - CborTag tag = CborTag.EncodedCborDataItem; - writer.WriteTag(tag); - - byte[] value = (byte[])cbor.GetValue(objType)!; - writer.WriteByteString(value); - } - - private static void SerializeRationalNumber(CborWriter writer, ICbor cbor, Type objType) - { - writer.WriteTag((CborTag)30); - - object? numeratorValue = objType.GetProperty("Numerator")?.GetValue(cbor) ?? - throw new InvalidOperationException($"Type {objType.Name} does not have a 'Numerator' property or value."); - - object? denominatorValue = objType.GetProperty("Denominator")?.GetValue(cbor) ?? - throw new InvalidOperationException($"Type {objType.Name} does not have a 'Denominator' property or value."); - - if ((numeratorValue is not null) && (denominatorValue is not null)) - { - ulong numerator = (ulong)numeratorValue; - ulong denominator = (ulong)denominatorValue; - - writer.WriteStartArray(2); - writer.WriteUInt64(numerator); - writer.WriteUInt64(denominator); - writer.WriteEndArray(); - } - } - - private static void SerializeText(CborWriter writer, ICbor cbor, Type targetType) - { - writer.WriteTextString((string)cbor.GetValue(targetType)!); - } - - private static void SerializeNullable(CborWriter writer, ICbor cbor, Type objType) - { - if (cbor is null) - { - writer.WriteNull(); - } - else - { - object? value = objType.GetProperty("Value")?.GetValue(cbor); - if (value is ICbor cborValue) - { - Type itemType = objType.GetGenericArguments()[0]; - SerializeCbor(writer, cborValue, itemType); - } - else - { - throw new InvalidOperationException($"Value in {objType.Name} is not null but does not implement ICbor."); - } - } - } - - private static void SerializeTag(CborWriter writer, ICbor cbor, Type objType) - { - CborSerializableAttribute? cborSerializableAttr = objType.GetCustomAttribute(); - PropertyInfo? value = objType.GetProperty("Value") ?? - throw new InvalidOperationException($"Type {objType.Name} does not have a 'Value' property."); - - CborTag tagValue = (CborTag)cborSerializableAttr!.Index; - object? tagContent = value.GetValue(cbor); - - writer.WriteTag(tagValue); - - if (tagContent is ICbor cborContent) - { - SerializeCbor(writer, cborContent, tagContent.GetType()); - } - else - { - throw new InvalidOperationException($"Value in {objType.Name} does not implement ICbor."); - } - } - - private static ICbor? DeserializeCbor(CborReader reader, Type targetType) - { - CborType? cborType = targetType.GetCborType(); - ReadOnlyMemory originalBytes = reader.ReadEncodedValue(); - CborReader subReader = new(originalBytes); - ICbor? result; - if (cborType != null) - { - result = cborType switch - { - CborType.Map => DeserializeMap(subReader, targetType), - CborType.Int => DeserializeCborInt(subReader, targetType), - CborType.Bool => DeserializeBool(subReader, targetType), - CborType.Ulong => DeserializeCborUlong(subReader, targetType), - CborType.Long => DeserializeCborLong(subReader, targetType), - CborType.Union => DeserializeUnion(subReader, targetType), - CborType.Bytes => DeserializeCborBytes(subReader, targetType), - CborType.Constr => DeserializeConstructor(subReader, targetType), - CborType.List => DeserializeList(subReader, targetType), - CborType.EncodedValue => DeserializeEncodedValue(subReader, targetType), - CborType.RationalNumber => DeserializeRationalNumber(subReader, targetType), - CborType.Text => DeserializeText(subReader, targetType), - CborType.Nullable => DeserializeNullable(subReader, targetType), - CborType.Tag => DeserializeTag(subReader, targetType), - _ => throw new NotImplementedException($"Unknown CborType: {cborType}"), - }; - - if (result is null && cborType != CborType.Nullable) throw new InvalidOperationException($"Deserialization failed for target type {targetType.Name}"); - else if (result is not null) result.Raw = originalBytes.ToArray(); - - return result; - } - throw new NotImplementedException($"Deserialization not implemented for target type {targetType.Name}"); - } - - private static ICbor DeserializeCborBytes(CborReader reader, Type targetType) - { - CborSerializableAttribute? cborSerializableAttr = targetType.GetCustomAttribute(); - byte[] value; - - if (!cborSerializableAttr!.IsDefinite) - { - List byteList = []; - reader.ReadStartIndefiniteLengthByteString(); - - while (reader.PeekState() != CborReaderState.EndIndefiniteLengthByteString) - { - byteList.AddRange(reader.ReadByteString()); - } - - reader.ReadEndIndefiniteLengthByteString(); - value = [.. byteList]; - return (ICbor)Activator.CreateInstance(targetType, value)!; - } - else - { - value = reader.ReadByteString() ?? throw new InvalidOperationException("Expected byte string in CBOR data"); - return (ICbor)Activator.CreateInstance(targetType, value)!; - } - } - - private static ICbor DeserializeCborInt(CborReader reader, Type targetType) - { - int value = reader.ReadInt32(); - return (ICbor)Activator.CreateInstance(targetType, value)!; - } - - private static ICbor DeserializeCborUlong(CborReader reader, Type targetType) - { - ulong value = reader.ReadUInt64(); - return (ICbor)Activator.CreateInstance(targetType, value)!; - } - - private static ICbor DeserializeCborLong(CborReader reader, Type targetType) - { - long value = reader.ReadInt64(); - return (ICbor)Activator.CreateInstance(targetType, value)!; - } - - private static ICbor? DeserializeList(CborReader reader, Type targetType) - { - if (targetType.IsGenericType) - { - Type itemType = targetType.GetGenericArguments()[0]; - MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(itemType, targetType); - return (ICbor?)genericMethod.Invoke(null, [reader, targetType]); - } - else if (targetType.GetCustomAttribute()?.Type == CborType.List) - { - return DeserializeListStructure(reader, targetType); - } - else - { - throw new InvalidOperationException($"Unsupported list type for deserialization: {targetType.Name}"); - } - } - - private static TList? DeserializeGenericList(CborReader reader, Type targetType) - where T : ICbor - where TList : ICbor - { - if (reader.PeekState() != CborReaderState.StartArray) - throw new InvalidOperationException("Expected start of array in CBOR data"); - - CborSerializableAttribute? cborSerializableAttr = targetType.GetCustomAttribute(); - bool isDefinite = cborSerializableAttr?.IsDefinite ?? false; - - Type? itemType = targetType.GetGenericArguments()[0]; - List list = []; - - int? length = reader.ReadStartArray(); - bool isDefiniteDetected = length is not null; - - if (isDefiniteDetected != isDefinite) - throw new InvalidOperationException("Invalid length definition for list"); - - while (reader.PeekState() != CborReaderState.EndArray) - { - T? item = (T)DeserializeCbor(reader, itemType!)!; - list.Add(item); - } - reader.ReadEndArray(); - - return (TList?)Activator.CreateInstance(typeof(TList), [list.ToArray()]); - } - - private static ICbor? DeserializeListStructure(CborReader reader, Type targetType) - { - Type? baseType = targetType.BaseType; - - if (baseType != null && baseType.IsGenericType) - { - Type genericArg = baseType.GetGenericArguments()[0]; - - MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericList), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(genericArg, baseType); - - ICbor list = (ICbor)genericMethod.Invoke(null, [reader, baseType])!; - - ConstructorInfo? ctor = targetType.GetConstructors()[0]; - if (ctor != null) - { - return (ICbor?)ctor.Invoke([list.GetValue(list.GetType())]); - } - } - else - { - CborSerializableAttribute? cborSerializableAttr = targetType.GetCustomAttribute(); - bool isDefinite = cborSerializableAttr?.IsDefinite ?? false; - - int? length = reader.ReadStartArray(); - - bool isDefiniteDetected = length is not null; - - if (isDefiniteDetected != isDefinite) - throw new InvalidOperationException("Invalid length definition for list"); - - var properties = targetType.GetConstructors() - .First() - .GetParameters() - .Where(p => p.GetCustomAttributes(typeof(CborPropertyAttribute), true).Any()) - .Select(p => targetType.GetProperty(p.Name ?? throw new InvalidOperationException("Property name not found"))) - .Where(p => p != null) - .ToList() ?? throw new InvalidOperationException($"No properties found for type: {targetType.Name}"); - object[] values = new object[properties.Count]; - - for (int i = 0; i < properties.Count; i++) - { - PropertyInfo? propertyInfo = properties[i] ?? throw new InvalidOperationException($"Property not found for index {i}"); - Type propType = propertyInfo.PropertyType; - values[i] = DeserializeCbor(reader, propType)!; - } - - reader.ReadEndArray(); - - return (ICbor?)Activator.CreateInstance(targetType, values); - } - - throw new InvalidOperationException($"No suitable constructor found for type: {targetType.Name}"); - } - - private static ICbor? DeserializeConstructor(CborReader reader, Type targetType) - { - CborTag tag = reader.ReadTag(); - CborSerializableAttribute? targetTypeSerializable = targetType.GetCustomAttribute(); - - bool is121To127 = (int)tag >= 121 && (int)tag <= 127; - bool isAbove127 = (int)tag > 127; - bool is102 = (int)tag == 102; - - int constrIndex = targetTypeSerializable?.Index ?? -1; - bool isDynamic = constrIndex == -1; - - if (!isDynamic) - CborSerializerUtils.ValidateTag(tag, targetType); - - if (is121To127 && targetTypeSerializable != null) - { - int index = (int)tag - 121; - constrIndex = index; - } - - if (isAbove127) - { - int index = (int)tag + 7 - 1280; - constrIndex = index; - } - - if (targetType.IsGenericType) - { - Type genericTypeDef = targetType.GetGenericTypeDefinition(); - Type[] genericArgs = genericTypeDef.GetGenericArguments(); - - CborSerializableAttribute? cborSerializableAttr = genericTypeDef.GetCustomAttribute(); - if (cborSerializableAttr != null) - { - ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); - object?[] args = new object?[constructorParams.Length]; - - reader.ReadStartArray(); - - for (int i = 0; i < constructorParams.Length; i++) - { - Type paramType = constructorParams[i].ParameterType; - args[i] = DeserializeCbor(reader, paramType); - } - - reader.ReadEndArray(); - return (ICbor?)Activator.CreateInstance(targetType, args); - } - else - { - if (genericArgs.Length == 1) - { - reader.ReadStartArray(); - Type genericArg = genericArgs[0]; - ICbor? value = DeserializeCbor(reader, genericArg); - reader.ReadEndArray(); - return (ICbor?)Activator.CreateInstance(targetType, value); - } - else - { - reader.ReadStartArray(); - reader.ReadEndArray(); - return (ICbor?)Activator.CreateInstance(targetType); - } - } - } - else if (targetType.GetCustomAttribute()?.Type == CborType.Constr) - { - ParameterInfo[] constructorParams = targetType.GetConstructors().First().GetParameters(); - if (isDynamic) - { - if (is102) - { - reader.ReadStartArray(); - - constrIndex = reader.ReadInt32(); - - Type valueParamType = constructorParams[2].ParameterType; - Type elementType = valueParamType.GetElementType()!; - - Type listType = typeof(List<>).MakeGenericType(elementType); - IList args = (IList)Activator.CreateInstance(listType)!; - - reader.ReadStartArray(); - - while (reader.PeekState() != CborReaderState.EndArray) - { - args.Add(DeserializeCbor(reader, elementType)!); - } - - reader.ReadEndArray(); - - MethodInfo? toArrayMethod = args.GetType().GetMethod("ToArray"); - object? array = toArrayMethod!.Invoke(args, null); - - reader.ReadEndArray(); - - return (ICbor?)Activator.CreateInstance(targetType, constrIndex, true, array); - } - else - { - Type firstParamType = constructorParams[2].ParameterType; - Type elementType = firstParamType.GetElementType()!; - - Type listType = typeof(List<>).MakeGenericType(elementType); - IList args = (IList)Activator.CreateInstance(listType)!; - - reader.ReadStartArray(); - - while (reader.PeekState() != CborReaderState.EndArray) - { - args.Add(DeserializeCbor(reader, elementType)!); - } - - reader.ReadEndArray(); - - MethodInfo? toArrayMethod = args.GetType().GetMethod("ToArray"); - object? array = toArrayMethod!.Invoke(args, null); - - return (ICbor?)Activator.CreateInstance(targetType, constrIndex, false, array); - } - } - else - { - object?[] args = new object?[constructorParams.Length]; - if (constructorParams.Length != 0) - { - reader.ReadStartArray(); - for (int i = 0; i < constructorParams.Length; i++) - { - Type paramType = constructorParams[i].ParameterType; - args[i] = DeserializeCbor(reader, paramType); - } - reader.ReadEndArray(); - } - return (ICbor?)Activator.CreateInstance(targetType, args); - } - } - - throw new InvalidOperationException($"Unhandled Constr type: {targetType.Name}"); - } - - private static ICbor? DeserializeMap(CborReader reader, Type targetType) - { - if (targetType == typeof(CborMap)) - { - return DeserializeCborMap(reader); - } - else if (targetType.IsGenericType) - { - MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo? genericMethod = method?.MakeGenericMethod(targetType.GetGenericArguments()); - return (ICbor?)genericMethod?.Invoke(null, [reader, targetType]); - } - else if (targetType.GetCustomAttribute()?.Type == CborType.Map) - { - return DeserializeCustomMap(reader, targetType); - } - else - { - throw new InvalidOperationException($"Unsupported map type for deserialization: {targetType.Name}"); - } - } - - private static CborMap? DeserializeCborMap(CborReader reader) - { - reader.ReadStartMap(); - Dictionary dictionary = []; - - while (reader.PeekState() != CborReaderState.EndMap) - { - ICbor key = DeserializeCbor(reader, typeof(ICbor))!; - ICbor value = DeserializeCbor(reader, typeof(ICbor))!; - dictionary.Add(key, value); - } - - reader.ReadEndMap(); - return new CborMap(dictionary); - } - - private static ICbor DeserializeGenericMap(CborReader reader, Type targetType) - where TKey : ICbor - where TValue : ICbor - { - reader.ReadStartMap(); - Dictionary dictionary = []; - - while (reader.PeekState() != CborReaderState.EndMap) - { - TKey key = (TKey)DeserializeCbor(reader, typeof(TKey))!; - TValue value = (TValue)DeserializeCbor(reader, typeof(TValue))!; - dictionary.Add(key, value); - } - - reader.ReadEndMap(); - return (ICbor)Activator.CreateInstance(targetType, dictionary)!; - } - - private static ICbor? DeserializeCustomMap(CborReader reader, Type targetType) - { - Type? baseType = targetType.BaseType; - - if (baseType != null && baseType.IsGenericType) - { - Type[] genericArgs = baseType.GetGenericArguments(); - - MethodInfo? method = typeof(CborSerializer).GetMethod(nameof(DeserializeGenericMap), BindingFlags.NonPublic | BindingFlags.Static); - MethodInfo genericMethod = method!.MakeGenericMethod(genericArgs); - - ICbor map = (ICbor)genericMethod.Invoke(null, [reader, targetType])!; - - ConstructorInfo? ctor = targetType.GetConstructor([typeof(Dictionary<,>).MakeGenericType(genericArgs)]); - if (ctor != null) - { - return (ICbor)ctor.Invoke([map.GetValue(map.GetType())]); - } - } - else - { - reader.ReadStartMap(); - - var parameterMap = targetType.GetConstructors() - .First() - .GetParameters() - .Select(p => new - { - Parameter = p, - Attribute = p.GetCustomAttribute() - }) - .Where(x => x.Attribute != null) - .ToDictionary( - x => x.Attribute!.Key ?? x.Attribute.Index?.ToString()!, - x => (x.Parameter, x.Attribute) - ); - - object?[] values = new object?[parameterMap.Count]; - - while (reader.PeekState() != CborReaderState.EndMap) - { - object key = reader.PeekState() == CborReaderState.TextString - ? reader.ReadTextString() - : reader.ReadInt32().ToString(); - - if (parameterMap.TryGetValue(key.ToString()!, out var paramInfo)) - { - ParameterInfo[] firstParams = targetType.GetConstructors().First().GetParameters(); - ParameterInfo secondParams = paramInfo.Parameter; - - int index = firstParams.ToList().FindIndex(p => - p.Name == secondParams.Name && - p.ParameterType == secondParams.ParameterType - ); - - values[index] = DeserializeCbor(reader, paramInfo.Parameter.ParameterType); - } - else - { - reader.SkipValue(); - } - } - - reader.ReadEndMap(); - return (ICbor?)Activator.CreateInstance(targetType, values); - } - - throw new InvalidOperationException($"No suitable constructor found for type: {targetType.Name}"); - } - - private static ICbor? DeserializeUnion(CborReader reader, Type targetType) - { - CborUnionTypesAttribute unionAttr = targetType.GetCustomAttribute() ?? - throw new InvalidOperationException($"Type {targetType.Name} is not marked with CborUnionTypesAttribute"); - - ReadOnlyMemory unionByte = reader.ReadEncodedValue(); - CborReader cborReader = new(unionByte); - - foreach (Type type in unionAttr.UnionTypes) - { - try - { - Type? unionType = type.IsGenericTypeDefinition ? type.MakeGenericType(targetType.GetGenericArguments()) : type; - return DeserializeCbor(cborReader, unionType); - } - catch - { - cborReader.Reset(unionByte); - continue; - } - } - - throw new InvalidOperationException($"Type {targetType.Name} No matching type found in the union, CBOR: {Convert.ToHexString(unionByte.ToArray())}"); - } - - private static ICbor? DeserializeEncodedValue(CborReader reader, Type targetType) - { - CborTag tag = reader.ReadTag(); - - if (tag == CborTag.EncodedCborDataItem) - { - ReadOnlyMemory encodedReadonlyValue = reader.ReadByteString(); - byte[] value = encodedReadonlyValue.ToArray(); - return (ICbor)Activator.CreateInstance(targetType, value)!; - } - - throw new InvalidOperationException("Invalid Encoded Value"); - } - - private static ICbor? DeserializeRationalNumber(CborReader reader, Type targetType) - { - CborTag tag = reader.ReadTag(); - - if ((int)tag == 30) - { - reader.ReadStartArray(); - ulong numerator = reader.ReadUInt64(); - ulong denominator = reader.ReadUInt64(); - reader.ReadEndArray(); - return (ICbor)Activator.CreateInstance(targetType, numerator, denominator)!; - } - - throw new InvalidOperationException($"Invalid CBOR tag for Rational Number in type {targetType.Name}."); - } - - private static ICbor? DeserializeText(CborReader reader, Type targetType) - { - string value = reader.ReadTextString(); - return (ICbor)Activator.CreateInstance(targetType, value)!; - } - - private static ICbor? DeserializeNullable(CborReader reader, Type targetType) - { - if (reader.PeekState() == CborReaderState.Null) - { - reader.ReadNull(); - return null; - } - else if (targetType.IsGenericType) - { - Type itemType = targetType.GetGenericArguments()[0]; - object? innerValue = DeserializeCbor(reader, itemType); - return (ICbor)Activator.CreateInstance(targetType, innerValue)!; - } - - throw new InvalidOperationException($"Invalid Nullable Type."); - } - - private static ICbor? DeserializeTag(CborReader reader, Type targetType) - { - reader.ReadTag(); - var valueProperty = targetType.GetProperty("Value"); - Type valueType = valueProperty?.PropertyType ?? targetType; - ICbor? content = DeserializeCbor(reader, valueType); - return (ICbor)Activator.CreateInstance(targetType, content!)!; - } - - private static ICbor? DeserializeBool(CborReader reader, Type targetType) - { - bool value = reader.ReadBoolean(); - return (ICbor)Activator.CreateInstance(targetType, value)!; - } -} \ No newline at end of file diff --git a/src/ChrysalisOld/Cbor/CborType.cs b/src/ChrysalisOld/Cbor/CborType.cs deleted file mode 100644 index 8f4fa4b5..00000000 --- a/src/ChrysalisOld/Cbor/CborType.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace Chrysalis.Cbor; -public enum CborType -{ - Constr, - Bytes, - Bool, - Int, - Ulong, - Long, - Map, - List, - Union, - EncodedValue, - RationalNumber, - Text, - Nullable, - Tag -} \ No newline at end of file diff --git a/src/ChrysalisOld/Cbor/CborUnionTypes.cs b/src/ChrysalisOld/Cbor/CborUnionTypes.cs deleted file mode 100644 index 081490bb..00000000 --- a/src/ChrysalisOld/Cbor/CborUnionTypes.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Chrysalis.Cbor; - -[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface, AllowMultiple = false)] -public class CborUnionTypesAttribute(params Type[] unionTypes) : Attribute -{ - public Type[] UnionTypes { get; } = unionTypes; -} diff --git a/src/ChrysalisOld/Cbor/ICbor.cs b/src/ChrysalisOld/Cbor/ICbor.cs deleted file mode 100644 index 061f3373..00000000 --- a/src/ChrysalisOld/Cbor/ICbor.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Chrysalis.Cbor; - -public interface ICbor -{ - byte[]? Raw { get; set; } -} - -public record RawCbor: ICbor -{ - public byte[]? Raw { get; set; } = default; -} \ No newline at end of file diff --git a/src/ChrysalisOld/Cbor/Utils/CborSerializerUtils.cs b/src/ChrysalisOld/Cbor/Utils/CborSerializerUtils.cs deleted file mode 100644 index 176abeb2..00000000 --- a/src/ChrysalisOld/Cbor/Utils/CborSerializerUtils.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System.Formats.Cbor; -using System.Reflection; -using Chrysalis.Cbor; - -namespace Chrysalis.Cbor.Utils; - -public static class CborSerializerUtils -{ - private const int BaseTagValue = 121; - private const int ExtendedTagValue = 1280; - - public static CborTag GetCborTag(int? index = null) - { - int actualIndex = index ?? 0; - int baseTagValue = actualIndex > 6 ? ExtendedTagValue - 7 : BaseTagValue; - return (CborTag)(baseTagValue + actualIndex); - } - - public static void ValidateTag(CborTag tag, Type targetType) - { - CborSerializableAttribute? cborSerializableAttribute = targetType.GetCustomAttribute(); - - if (cborSerializableAttribute == null) - throw new InvalidOperationException($"Target type {targetType.Name} does not have a CborSerializableAttribute."); - - int expectedTagValue = cborSerializableAttribute.Index >= 0 ? (int)GetCborTag(cborSerializableAttribute.Index) : (int)GetCborTag(); - - if ((int)tag != expectedTagValue) - throw new InvalidOperationException($"Invalid tag {tag} for {targetType.Name}. Expected tag: {expectedTagValue}"); - } - - public static object? GetValue(this ICbor cbor, Type objType) - { - if (cbor == null) - throw new ArgumentNullException(nameof(cbor), "The CBOR object cannot be null."); - - if (objType == null) - throw new ArgumentNullException(nameof(objType), "The target type cannot be null."); - - PropertyInfo? valueProperty = objType.GetProperty("Value") ?? - throw new InvalidOperationException($"Type {objType.Name} does not have a 'Value' property."); - - object? value = valueProperty.GetValue(cbor); - - return value; - } - - public static CborType? GetCborType(this Type objType) - { - if (typeof(ICbor).IsAssignableFrom(objType)) - { - CborSerializableAttribute? attr = objType.GetCustomAttribute(); - if (attr != null) - return attr.Type; - } - return null; - } - - public static IEnumerable GetBaseTypes(Type type) - { - var baseType = type.BaseType; - while (baseType != null) - { - yield return baseType; - baseType = baseType.BaseType; - } - } -} \ No newline at end of file diff --git a/src/ChrysalisOld/ChrysalisOld.csproj b/src/ChrysalisOld/ChrysalisOld.csproj deleted file mode 100644 index 0049cf57..00000000 --- a/src/ChrysalisOld/ChrysalisOld.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - net8.0 - enable - enable - 0.3.0 - ChrysalisOld - clark@saib.dev - SAIB Inc - README.md - LICENSE.md - - - - - - - - - - - - - diff --git a/src/ChrysalisOld/Utils/Blake2b.cs b/src/ChrysalisOld/Utils/Blake2b.cs deleted file mode 100644 index 802e7881..00000000 --- a/src/ChrysalisOld/Utils/Blake2b.cs +++ /dev/null @@ -1,11 +0,0 @@ -using NSec.Cryptography; - -namespace Chrysalis.Extensions; -public static class Blake2bExtension -{ - public static byte[] ToBlake2b(this byte[] input) - { - Blake2b algorithm = HashAlgorithm.Blake2b_256; - return algorithm.Hash(input); - } -} diff --git a/src/ChrysalisOld/Utils/TransactionExtension.cs b/src/ChrysalisOld/Utils/TransactionExtension.cs deleted file mode 100644 index 509072d3..00000000 --- a/src/ChrysalisOld/Utils/TransactionExtension.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Chrysalis.Cardano.Core; - -namespace Chrysalis.Extensions; - -public static class TransactionOutputExtension -{ - public static Address? Address(this TransactionOutput transactionOutput) - => transactionOutput switch - { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Address, - AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Address, - MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Address, - ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Address, - _ => null - }; - - public static Value? Amount(this TransactionOutput transactionOutput) - => transactionOutput switch - { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Amount, - AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Amount, - MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Amount, - ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Amount, - _ => null - }; - - public static byte[]? ScriptRef(this TransactionOutput transactionOutput) - => transactionOutput switch - { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput?.ScriptRef?.Value, - _ => null - }; - - public static byte[]? Datum(this TransactionOutput transactionOutput) - { - DatumOption? datumOption = transactionOutput.DatumOption(); - - if (datumOption == null) - { - return transactionOutput.DatumHash(); - } - - return datumOption.DatumHash() ?? datumOption.InlineDatum(); - } - - public static DatumOption? DatumOption(this TransactionOutput transactionOutput) - => transactionOutput switch - { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Datum, - _ => null - }; - - public static byte[]? DatumHash(this TransactionOutput transactionOutput) - => transactionOutput switch - { - AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.DatumHash.Value, - _ => null - }; -} \ No newline at end of file From 9225f2b33d58e2436fd0311e5f306d19a0ac4996 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 10 Dec 2024 18:33:14 -0500 Subject: [PATCH 060/162] chore: version bump 0.5.3 (#77) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index a3e4809f..e89704f6 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.2 + 0.5.3 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From 0ab64ab9bbbb29166d37e29f145b65c8292459de Mon Sep 17 00:00:00 2001 From: rjlacanlaled Date: Tue, 10 Dec 2024 19:48:33 -0500 Subject: [PATCH 061/162] fix block deserialization issues --- Chrysalis.sln | 35 ++++++++----------- src/Chrysalis.Test/CborTests.cs | 6 ++-- .../Block/Transaction/Script/PlutusData.cs | 2 +- .../Converters/Primitives/BytesConverter.cs | 1 - .../Types/Primitives/CborRationalNumber.cs | 1 + 5 files changed, 19 insertions(+), 26 deletions(-) diff --git a/Chrysalis.sln b/Chrysalis.sln index 02d798f0..2ae0578d 100644 --- a/Chrysalis.sln +++ b/Chrysalis.sln @@ -3,13 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.5.002.0 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{6318FF83-5E6F-46F8-9900-471C7CC3BDBB}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{11F07A82-20F5-4C10-8B88-93A683A47F0D}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis", "src\Chrysalis\Chrysalis.csproj", "{5A7E1FED-64DB-4068-BF95-0AF626CF808E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis", "src\Chrysalis\Chrysalis.csproj", "{59CEEE6D-F821-4967-BAEC-6122E75170A5}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis.Test", "src\Chrysalis.Test\Chrysalis.Test.csproj", "{C06B6FFC-2FBA-4F61-ADAB-85220CC06196}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChrysalisOld", "src\ChrysalisOld\ChrysalisOld.csproj", "{7F539E24-0042-441C-BC33-51A550EC420F}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis.Test", "src\Chrysalis.Test\Chrysalis.Test.csproj", "{F6FBE714-F705-4198-B888-C9603B40D0EB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -17,28 +15,23 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {5A7E1FED-64DB-4068-BF95-0AF626CF808E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5A7E1FED-64DB-4068-BF95-0AF626CF808E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5A7E1FED-64DB-4068-BF95-0AF626CF808E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5A7E1FED-64DB-4068-BF95-0AF626CF808E}.Release|Any CPU.Build.0 = Release|Any CPU - {C06B6FFC-2FBA-4F61-ADAB-85220CC06196}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C06B6FFC-2FBA-4F61-ADAB-85220CC06196}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C06B6FFC-2FBA-4F61-ADAB-85220CC06196}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C06B6FFC-2FBA-4F61-ADAB-85220CC06196}.Release|Any CPU.Build.0 = Release|Any CPU - {7F539E24-0042-441C-BC33-51A550EC420F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7F539E24-0042-441C-BC33-51A550EC420F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7F539E24-0042-441C-BC33-51A550EC420F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7F539E24-0042-441C-BC33-51A550EC420F}.Release|Any CPU.Build.0 = Release|Any CPU + {59CEEE6D-F821-4967-BAEC-6122E75170A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {59CEEE6D-F821-4967-BAEC-6122E75170A5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {59CEEE6D-F821-4967-BAEC-6122E75170A5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {59CEEE6D-F821-4967-BAEC-6122E75170A5}.Release|Any CPU.Build.0 = Release|Any CPU + {F6FBE714-F705-4198-B888-C9603B40D0EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F6FBE714-F705-4198-B888-C9603B40D0EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F6FBE714-F705-4198-B888-C9603B40D0EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F6FBE714-F705-4198-B888-C9603B40D0EB}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {5A7E1FED-64DB-4068-BF95-0AF626CF808E} = {6318FF83-5E6F-46F8-9900-471C7CC3BDBB} - {C06B6FFC-2FBA-4F61-ADAB-85220CC06196} = {6318FF83-5E6F-46F8-9900-471C7CC3BDBB} - {7F539E24-0042-441C-BC33-51A550EC420F} = {6318FF83-5E6F-46F8-9900-471C7CC3BDBB} + {59CEEE6D-F821-4967-BAEC-6122E75170A5} = {11F07A82-20F5-4C10-8B88-93A683A47F0D} + {F6FBE714-F705-4198-B888-C9603B40D0EB} = {11F07A82-20F5-4C10-8B88-93A683A47F0D} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {C3CF7A3D-3710-4256-A652-8D459CFF8594} + SolutionGuid = {FE86E409-0486-4282-B363-AB88B621356C} EndGlobalSection EndGlobal diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 4a0dfe7f..87fb0aaa 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -67,13 +67,13 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("85828a1a00a845581a08442cdc5820d476065787e45980ab0b8187ac42298b26ce6994dbc6da4b12a2eb4a2db524f058206bc7e7d0ee6834cea3f0fc2ec71458a4bc0f55e5a1687397bea68a793c66af4d582001d7b3446b0d2d1b540a605725e39e0d35b1936e9c1a4ca138de495972b4d91c8258406b149f01f403a1aee0e126fcc60eb45f1a4fd332c2ca9c0126fc4d281d2aaef7bcc266e74d2fee66e02713932172c165190f951936130b75063f27ab3efaa113585008fdeb8a7a92a32c2b55f4d4cd767418f05fc176025caa2d2d7b92ebaef82acfec370aa50d64682456d39481a55d5b2eb51a6d4a1eaa9c440670fe0ab24fa1c749f8f7f8a81468bb6293191462959b0419798c58204d29a6d11ce81265a6eb0f8a58cb1b7e62d1399f4599c4d4f46c66b7b904fcdf84582064806747778795a133e4133b5f7c3adb873da334871346f765055079a18aecab061903f558408fb6384e953ca8c713a412b751219d1461ce6991034c97e9c587ee7f0ac3b4d10e2f629edb35c880be23df272b8607b562477d840e184743496b0132d467c4088209015901c0f71e275c3823a5c401efa765ab8758374737e73b49e1cd9fd05b518db1ea77d4f9a1be46246bde7938a680407163a0c82549932d39b7d7e6ec48535646309b0d051cba1817dcbe9d4ad605abae83bf6255bab912349d9c2e7ffec8ea44811fa497fb1c8abb5d1b208e6d4976f7d40d68e066270515fb90c4ad33e272058b9c086e6ac2d6b03e3f580675179bace02b581c294f75aaf7aa81ae82e7cef707ee5f27c2249c8f087665a506cbfe545f7123b160043181fd613cc1e2c650c95beca682054184a8492455deeda25242d6721b822a243b96690ee5a47ef76908efcd9077c0a921e0e2e90b08bf11a32b207c3381e0f131081fbdf6f1892babd7e5034734c9b74d58e17bb14f8e3dece4006b0f7e94172baf42e50db7108d5ef9a8730d2d34e3830f218a980de185591062b5bd5fb1dbaacbc09f61c46ba2cbf59a6e78a664197444ff1d1b497c95b6e90edcff43afea3aea81e13097423e063a2838558fe712c74bc22133ddb5242696a7900ff5a440a8927215f36c883ca7b90c81c6db6ca2b2fe3edf4f351a831ac621c340ca00627fe4f47e77a8a2d1239561b7e3d3c0e668db38172a6f54e68d7a461c1a9011b18634d3d5c755e314975fddefb48cad008382582000d7824cd129cfc5ddfcb13b577084b93052da0596ffc5461b8dd8ce43334b69008258201a92a924aa460959fedaee164748880834202dfcd17d540427b39e8cdb45465e02825820607a6e9eb4afe083bbd26ece8d5b531a57cb279bbefeb83e3cd713f297b91ac001018382583901674e2acebab981623268c60ede46b266735f48203130c93d52e95364dcb8bfba8f0cb60956c3eda2e74fc8cb7990bd388f85c1c9ba624462821a001e8480a1581cbf3e19192da77dfadc7c9065944e50ca7e1a439d90833e3ae58b720aa14544414e5a4f1a00153ad2a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821b0000004dd7978abfa2581cbf3e19192da77dfadc7c9065944e50ca7e1a439d90833e3ae58b720aa14544414e5a4f1aa33df4e0581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820309e97dfbd9446b4a1f85b6b8fe7b52ba89d51dcacf9631c3560c61ef2e9239d1b7ffffffb2e8064e4028201d818587fd8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581cbf3e19192da77dfadc7c9065944e50ca7e1a439d90833e3ae58b720a4544414e5a4fff1b00000004d17f9b251b0000004dd5bdb0991aa33b3d2919012c19012cd8799f190682ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a220eaf31021a000a09ed031a08442d5d05a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a08442ca90b58205ef0565858f1f7da3ee06db77146bd42ca60df0629d4aa52865274f6ea24f1800d818258201a92a924aa460959fedaee164748880834202dfcd17d540427b39e8cdb45465e020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a21b3703f111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700a50083825820a31ea45282d68fc91135371602e2689f041f49bd864541119b30e65c3fa13b0c018258200b5a2ad0e62ef9233350db2506be03b06c01d1a44def31a908e50a622360174601825820b0974f4165f014975ad4d3122972546e47a570fddb020843ddd0a48889477d4c01018383583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a0014524ea1581cac2b6f8e4890009275150be8151ed07379435deef885e551c55c33c8a14f466c61744d61727469616e38313730015820796fece5ee435a9947ebbbfbad3e6b6df1de147d539cd9c82408a2307500ae9d82583901e8077802a2e8535c516ba790f15da28bfc11eed9e00041016379f40e7f4138f32a3e221caec962df2b8ecb622ace00dc9e0fb21473cd6caf821a0026ffb6a3581c8da763ce1d6adb725a295a7f145c32808295b542de5062d92efa8370a14e000de1404672696769643736393801581cac2b6f8e4890009275150be8151ed07379435deef885e551c55c33c8a94f466c61744d61727469616e31323238014f466c61744d61727469616e32393236014f466c61744d61727469616e32393637014f466c61744d61727469616e33303837014f466c61744d61727469616e35333337014f466c61744d61727469616e36343631014f466c61744d61727469616e37353131014f466c61744d61727469616e39303636014f466c61744d61727469616e3937333201581cb558ea5ecfa2a6e9701dab150248e94104402f789c090426eb60eb60a84b536e656b6b696530323330014b536e656b6b696530323339014b536e656b6b696530323530014b536e656b6b696530333633014b536e656b6b696530343031014b536e656b6b696530343739014b536e656b6b696530353430014b536e656b6b6965303534340182583901e8077802a2e8535c516ba790f15da28bfc11eed9e00041016379f40e7f4138f32a3e221caec962df2b8ecb622ace00dc9e0fb21473cd6caf821a00abd95fa8581c0c2c9bb9c8f3c5f8efcef2bd1a127a19a5efc7b76e44cc3db272cd15a253434554415244494f77686974656c69737434360153434554415244494f77686974656c697374383601581c1a8e0471d05d42366aa7d5f1bc866c860ad2c4408f2a28c7d72b02daa5581b43617264616e6f2053756d6d69742032303233204e46542037353001581c43617264616e6f2053756d6d69742032303233204e4654203138393801581c43617264616e6f2053756d6d69742032303233204e4654203231313901581c43617264616e6f2053756d6d69742032303233204e4654203238323901581c43617264616e6f2053756d6d69742032303233204e4654203337383901581c1f362a4df39f451401e44fee30f27eb39712d66aae375f539be94ed6a24c546865496c69616430343234014e5468654f6479737365793031383101581c36db275148ab8a1157cedd8d6a124ed3a7298ad3886352168c76c9dca251476f6775656e457261436f696e303337380151476f6775656e457261436f696e3036303301581c4a1f2890f7e5f5cdd8b31c6ef4d6c28eebe377f2a2f2f43dd06399dda24b436574617264696f373038014c436574617264696f3331303401581c4c3f8a1773b7813e537a75f7b1b2897996bdc0e1d6d7d0c11252e252b81b504d6f636f73736949746f32303036363901504d6f636f73736949746f32303230353901504d6f636f73736949746f32303333313501504d6f636f73736949746f32303731393701504d6f636f73736949746f32303733313401504d6f636f73736949746f32303937393501504d6f636f73736949746f32313034393601504d6f636f73736949746f32313131393701504d6f636f73736949746f32313535353501504d6f636f73736949746f32313637353701504d6f636f73736949746f32313735363601504d6f636f73736949746f32313939313701504d6f636f73736949746f32323039313801504d6f636f73736949746f32323231363301504d6f636f73736949746f32323630313801504d6f636f73736949746f32323833343301504d6f636f73736949746f32323833363201504d6f636f73736949746f32323834333501504d6f636f73736949746f32323834343701504d6f636f73736949746f32323835313801504d6f636f73736949746f32323835373201504d6f636f73736949746f32323835383701504d6f636f73736949746f32323835393301504d6f636f73736949746f32323836303301504d6f636f73736949746f32323836323101504d6f636f73736949746f32323836333901504d6f636f73736949746f32323836343501581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa1497370696e647269667401581cf29dda8c7e64d4ef7c0bf826598da54eb4e7ed69f37fe59f7021f6ffb82751416d6574687973744669737430303336360151466f7262696464656e546f7930323736380154426c616465696e746865416279737330303038350157426577696c64657265645079726f7175697330303330360157426577696c64657265645079726f7175697330303539350157426577696c64657265645079726f7175697330303831350157426577696c64657265645079726f7175697330313234380157426577696c64657265645079726f7175697330313434390157426577696c64657265645079726f7175697330323530390157426577696c64657265645079726f7175697330323738310157426577696c64657265645079726f7175697330333031380157426577696c64657265645079726f7175697330333038390157426577696c64657265645079726f7175697330333134330157436861696e6f664f62737472756374696f6e303030383001574465736f6c6174654d61676d61476f6c656d303030333801574465736f6c6174654d61676d61476f6c656d303032323001574465736f6c6174654d61676d61476f6c656d303133343901574465736f6c6174654d61676d61476f6c656d303137313301574465736f6c6174654d61676d61476f6c656d303138393301574465736f6c6174654d61676d61476f6c656d303230313401574465736f6c6174654d61676d61476f6c656d303231303801574465736f6c6174654d61676d61476f6c656d303231363001574465736f6c6174654d61676d61476f6c656d303237363001574465736f6c6174654d61676d61476f6c656d30333038370157496e6665726e6f73747269646551696c696e3030333336015818426c7565457965644669726557617272696f723030383339015818426c7565457965644669726557617272696f723030393439015818466c616d65666f7267654e6f766168656172743030303139015818466c616d65666f7267654e6f766168656172743030313339015818466c616d65666f7267654e6f766168656172743030313430015818466c616d65666f7267654e6f766168656172743030373635015818466c616d65666f7267654e6f766168656172743031303134015818466c616d65666f7267654e6f766168656172743031313436015818466c616d65666f7267654e6f766168656172743031353830015818466c616d65666f7267654e6f766168656172743033303837015818466c616d65666f7267654e6f766168656172743033313235015818466c616d65666f7267654e6f766168656172743033313237015819467265655370697269745a6570687972646565723030303330015819467265655370697269745a657068797264656572303030353401021a0004a991031a084430330758203909900c4084375449c0bc540b1b15b1fc8cdd9d9a4cf48be6507e3c2567ce3ba500d9010281825820e7ebbc911936b73316dda958c59577bf628b2bfcf96e29a99c239330cdcadbe700018182581d61bc86118450fdb2609d5293131ceefa07d5528ae1b67309487b228d131a0c970cf9021a0002a2ad031a084439680758204dd0364851fbb729de1657d08a1c868bf884659b1a6e45d0690a7afc28d7a179a70083825820944e7f7894aed2b3594f406e96d6d9aace23d39bc4c2f1770b17c8824de036ed01825820944e7f7894aed2b3594f406e96d6d9aace23d39bc4c2f1770b17c8824de036ed02825820aba05373650a73520fde6c810c6bdd49ddb14b5bd8f6e6749884b380d077d87200018382583901e912270c161ba364fe6dab8b054e4cefe40070c32472b9f8b9b4466fd45c835fb516fd18d575550c3ba8ccfbe28466a0d7f18b4836d60533821a00116f4ba1581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e19546782583901adb1bf6a51b20ff1b8450726ef3891bb0e153d5bf47783375e2134afbd6a096cbba5e259946798e948403e2d2b3d9ea88a12ee8e7ae944971b0000000c3a47e07782583901adb1bf6a51b20ff1b8450726ef3891bb0e153d5bf47783375e2134afbd6a096cbba5e259946798e948403e2d2b3d9ea88a12ee8e7ae94497821a005123beb4581c09f5f55fcad17503e6b7acc81de7c80f84b76e76d17085f0e32f1ce2a14441574f4f1b0000003df01c04d0581c21abdf54f427b378fe9ba07419eff6e8e8fe0c5932e1fee2d3853b93a14850455045424c55451b0000007a19179220581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1b000010d8c2f67d89581c2b28c81dbba6d67e4b5a997c6be1212cba9d60d33f82444ab8b1f218a14442414e4b1a00b35e2f581c3d77d63dfa6033be98021417e08e3368cc80e67f8d7afa196aaa0b39a14c53746172636820546f6b656e1b00000018ae2d0712581c4f2a93e7e89d2db75ade14859a0002a8debb25b877145099c32b6ed4a144554546411b00000014e89542bf581c52162581184a457fad70470161179c5766f00237d4b67e0f1df1b4e6a1445452544c1a54590426581c5acc52d5696e52345aec108468050d9d743eb21d6e41305bbc23a27ba1454154484f4d1b000a75c0a397f890581c5c1c91a65bedac56f245b8184b5820ced3d2f1540e521dc1060fa683a1454a454c4c591b00000009a6ac67cf581c681b5d0383ac3b457e1bcc453223c90ccef26b234328f45fa10fd276a1434a50471a75a8031f581c6f46e1304b16d884c85c62fb0eef35028facdc41aaa0fd319a152ed6a1444d434f531b000002f9f614b44b581c8d7526784ef72fe0ccdd085976ada0da88e7fb013e38e794b0923341a14542454152441a044c2a4e581c8daefa391220bd0d8d007f3748d870f7f3c106040314c8515ccc35a5a144464c41431a191e63f9581c8fef2d34078659493ce161a6c7fba4b56afefa8535296a5743f69587a144414144411a7a713bdc581c905da53004cfee0b8549285949aebedf82b5c6bb9a412cbd9658c6dea143434343192160581c94a21344f388a259dc8b1f3bcf91d9439379dd748b18a7168ed0b359a144764144411893581c95a427e384527065f2f8946f5e86320d0117839a5e98ea2c0b55fb00a14448554e541a0ce26e72581c9f452e23804df3040b352b478039357b506ad3b50d2ce0d7cbd5f806a1434354561a000f4bf8581cbf3e19192da77dfadc7c9065944e50ca7e1a439d90833e3ae58b720aa14544414e5a4f1a189824b3581cc5f87616092bc2595960b3f87c8760703cc5afb87b3a025d9ae6f704a1447041444118b9021a00037489031a084456f2075820dceb615df4c37cb35edc022e11faba4f98e042261a24cb1e2bca0cc3e4dcc45709a1581cd195ca7db29f0f13a00cac7fca70426ff60bad4e1e87d3757fae8484a24568764144413901c44568764d494e3954660e81581c4f641455f17911fe2f55ad3ad67fc2e0b2946b59af3352574322e67eab0083825820020b7b7220b077dc53ab528dbde1696eaff8ead3921c1bfa672ab114818dc9ac02825820730c68bfa1670b3bc1dcbd685a96d83a4745442d1c3c9bf709707924020c788f00825820a1f12e34d6bc6febb6d5b213afd9a3b557d1dd9fdb055a7c81565097e96f967500018383583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330952563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821b000000052a5b1cd6a3581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a15820d232d9950808307e9bea2e91a41d8253536cd925aa997fca9fbbf935261c25ae01581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581cdefe216460d594211631fcfbd354f361c04645d6a0cfeead3d6f6283a14b6c657676797769666861741a009ae35f5820262a1629b85d8fb0ec0b19cd324ca0c44fc76693dde1c104246f2eb6ab2e98a18258390136a72dc444c61626655ab77bc374ac7fe51807024d6ed9dea61ff692f64b3058b433a49bd5da7fface60831427ac2b353c9f07b6a52f712d1a045ea59882583901bcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821a3d6558b9a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d3137333532303336303030303001021a000b9fb7031a084430a20758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a08442cba0b582077f911cdca5e8e97a3b0d4b4a275786d5adb831c08e604b7cf2e017758eacfaa0d81825820020b7b7220b077dc53ab528dbde1696eaff8ead3921c1bfa672ab114818dc9ac020e81581cbcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d1082583901bcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821a3d0628b0a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d3137333532303336303030303001111a004c4b40a50081825820685779501312e3a96f87a217b07ea8bca5518950952cbd7531530365d6e11bb601018282581d61f09143a8b6c99adffd72a0e7b6a3615276490ba585e1614635b632601a0098968082583901dc48c9d0722de86728a00e0f6d790f427d0e893337b72e5810c567a00813b15e99b181db4cf873a347f8406b9c244a1e888b60901480791f1a24c765b2021a00028d05031a084456a40800ab00828258207c6e8467b22d2047929720d9db5107d852b264d2f645f988796b4a14b04331ec0082582086feba8b51fb86a11d71269e312ce463331baa256f803bd2a46fdb445454a24f02018283583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a0013ed4aa1581ce3ff4ab89245ede61b3e2beab0443dbcc7ea8ca2c017478e4e8990e2a149746170707932333039015820857a3a5c57996a61728738f2de1eb1c7fd2b8e7fd7bd56120455ce89e1b58bd18258390108fce0d35e765086c597ba6a45a18bf9703f77e4b7eca40b522d1c3b87f8f5ffd504c19f4b5cdc85597782557d8b484debc6b09fea86d97d1a12dd70ce021a00048b32031a0844304b0758201c824d1fd163a1ee91b8caeb58a9986123aee77a347aad0c95a67fa13bffd8780b5820e4f215b3753b4590cc2a6ed15f85079b7eb182b28fca0f60d89e32a2c1e551a70d8182582086feba8b51fb86a11d71269e312ce463331baa256f803bd2a46fdb445454a24f020e81581c08fce0d35e765086c597ba6a45a18bf9703f77e4b7eca40b522d1c3b108258390108fce0d35e765086c597ba6a45a18bf9703f77e4b7eca40b522d1c3b87f8f5ffd504c19f4b5cdc85597782557d8b484debc6b09fea86d97d1a12db2b35111a0006d0cb12818258201693c508b6132e89b932754d657d28b24068ff5ff1715fec36c010d4d6470b3d00a60081825820a770fc9b972b5b82ff4c01bb8e9140a26e73d5fa087e060dcf0fa71675baf94e04018383581d7186ae9eebd8b97944a45201e4aec1330a72291af2d071644bba0159591a3bd7d30058203b650d7b0190f0ea4c274028b7efe66ceaa1bc1c34ed51307ae89f5b506e965682583901ddab53d5e0d31f8d2b201ff073520cb1d563a76396feb09487c6a72cc51bbb2ee12e1e1584e5efa9c924531d70f51a12969a9a651f3b92f71a000f424082583901131593e150c63b8ab4e265489c803433467531026cfee6f0487a0002aae40b576b3d7622c97027773b2900d4bb565ee94b92d0a70729ccbd1aa5c648b4021a0003f8b5075820bfd6dd1e96e4fd26c6379aa3093aaef25639d58ee76d045bd4528ef9f2fed8080b58207ad79859dd0ab84b45401f60c9ee74de3d995cf5c9bfea560498511d9392806c0e82581c131593e150c63b8ab4e265489c803433467531026cfee6f0487a0002581caae40b576b3d7622c97027773b2900d4bb565ee94b92d0a70729ccbda50082825820fcd065a0b8d93e735f016b0bb11f8e61aa33a8d42f534ff08d821d1480f47c4f03825820002e9f3ff3c6516fe7ba11a7437af288ad3449a9fcd663f860f577b03b60adca01018383583931c727443d77df6cff95dca383994f4c3024d03ff56b02ecc22b0f3f652c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6d821a0013ed4aa1581cef66c58b44cb19ce64d80e566023b352bd4640077131e0aac6bd15d5a1495472756d707338313001582087ab8dab436565b0e6e82fe51318bd0c2551d379d11ec610939ae77ba3e5cb2082583901cc64fe179f63d0c7592ab3c15be04749a43620a15f344384d0fca34637eadeb861aaf101d2449b379d80a3474d1c8bcdf6dba624fc47a51e821a00da0322b83e581cb2c943cf9f4cbc9b35dd83693b2f8726f1fa63f2063ae7dcb1050c4aa1484d454d455332363601581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1a036fdc6f581cb765b901f8845f75d6ec976df3106208d2f3c7e6a1d8cd76c5c34dd8a35818000de1404e6562756c612773204f7261636c652023313030015818000de1404e6562756c612773204f7261636c652023343035015818000de1404e6562756c612773204f7261636c65202335363701581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1a011006d6581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491b00000017aee9646f581cb9befaf6d58079a8df618555d6371c02029b03b99db6f5b0c9bb2635a143485043190a62581cbe18c25cdb2dbe713131a313d257456664d0f3bc9fc316fd256fcf2fa2464144414b4f49034743415444414e4f15581cbe9ca6e1eff3a3175368bcf9c5af4b5fd9ecb901450feb481ebac77ca1454141474958190c80581cc0ee29a85b13209423b10447d3c2e6a50641a15c57770e27cb9d5073a14a57696e675269646572731a004c4b40581cc1140f77d53b9b479bc115391a6fcf1052ad76b5718c381cc003eb68a1486e616d653330313901581cc188d9251371ca6aedd1ae7f4272f32871489febfc2cb8d21136836ba144464554411b000000081e9a9c48581cc51f9317a44e4a5b0619cf24dd5dcc3fa7d608322dea7ca974600c77a1524a656b796c6c48796465417564696f31333101581cc5609c4800c05e82c4219ccf14c7fdf5212e11f83dbbb57ac716e98ea145666c75666619019c581cc601f21dbc9df02428b9ab9e13e1fe4de9906394a4f71e841ebbaf53a1434c49541b00000002dcd61391581ccdbbe391853676285131fe2de250e274dbeb5f9d98344e86c7b383d9a147474c44534e454b1a000ede9d581cce2955ae468ce7ae7f1f35ccb05f8c409a3a45765046de4f113c9171a147416e647934323901581ccf4515aa9b095447527d7a0630470491126f0ce58502977c32fc0ff3a1454344464c591837581ccfbc6b8519f252b1f1694cdbb9df9f339b343bdd0f2079d84e4afdd9a147415045434153481a00390173581ccfee97ff8359f07a0a395a72b424bc6e030503390d864b86d4e0ecf8a1464b41495a454e1a02cd29c0581cd01794c4604f3c0e544c537bb1f4268c0e81f45880c00c09ebe4b4a7a1444d59535419157c581cd0dd9e1ffe10e6b9b86f5ab4de28a346c114be396521d50018240034a14c57686f73654567677332353401581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e02581cd3a034e403b98cbdb0adbc8a3144d7779330916e190d387815bb85c6a144505552521a00039c38581cd55bf9d2ad12cc55e4ed29d97c64dba0e4905d3c80f800449f3d51f0a1464368616e67651864581cd64a52a708f88252f4fb3b16014c81e605b4b5d0aa3480c02fcc2e2fa145484f4152441a01036640581cd721a8c2854d332bddc835f05d03f6ca78386643905e4783e886c5d1a14541534e454b1a00124f80581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e731904fb581cdc280dbb5381ef28afbab4ca31751f13c29562d376998e907ff1af32a144474e55471a0002f074581cdc57b40369c360e917ddb62dfd7013544b4748eb45c4de6265fa6ea8a145626f6e6e731a00012511581cdda46a384a12b26e81e6fa3485b8c6fd6edb16ada7469ba637752c7ea1434c41421834581cddeec4b6d0c03b6ba4c6135e8e81031748554a5626c23363878f53dda14444554d50194e20581cddf7210f41ee910af6a8af9e7668c25348beb7e850bdadf42391ca5fa14a4341545041535330333701581cde75a2df97d4e711c971efc011aa5b5a738c4443977ce90ec7531b14a14e43617264616e6f4d65746134313501581cdf1d850c46d6c9d12cbf6181c35db9225a91b77c8a646b7f636f8ae4a14a0014df104e494e4a415a1a03aefe40581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a11e1ab0a581ce19ded02f0c03b981570621993a63fd8da84f2e9abddba6168c3f6eca14e6164617069674e696b653137333001581ce32ed3ca446eeee9d94932a8072f8ab4b995c45da161a3f8e44adf1ea249476f6f6679733236300149476f6f66797336393801581ce4af32d74ff69f72153c97371c2b09af934c3f77f27ad7b91f05460fa1454149444f47191194581ce6f464202e7c89befd79fdd3905ca96c896772721485dff66fd6b2d2a1464144414c4f541a000c4733581ce79497f972acb83461608d3f48281a406ee1e9f64ed168868145141ea14c5374616b65506f6f6c3234371a57295e9a581ce9c28a71273f825b13f38244ccf1fea97c4025813610d01a7c5d681fa14c436861726c7a20546f6b656e18bf581cea02c99c0668891d6b7cdc49e075cbddf9cd5b89404e5a8a8e5d7016a149534c4f5020436f696e190579581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a000f4240581ceb188b5fb5bee5d286be47510e46df50fec59d319414ef4ad0a3d997a24c5553417765736f6d65313130014c5553417765736f6d6531393001581cee74b8e6f88ec92e86ed08e49ab0073ba3b07e48a29375670618e63ea2554e696b6550726f7065727479536f6369657479393501564e696b6550726f7065727479536f636965747933303301581cef66c58b44cb19ce64d80e566023b352bd4640077131e0aac6bd15d5a1495472756d707337323601581cefeb309a02323634a05993abfadc8c9cccd3ac8631ad5ee0befd81d5a1515465786965722041636f757374697175651902bc581cf01ec1cb021922a491ea300fb4791dbaca720372b2a3142579c52e7da1444b616e69197724581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa147000de1406a616201581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531819581cf4364875e75320d405ceadebdf0db63fadaff55c72d4ff6b82f0676aa145434152474f1a000186a0581cf43a62fdc3965df486de8a0d32fe800963589c41b38946602a0dc535a144414749581a00c54bd0581cf6ac48c64aa7af16434d9f84e014d11fba38525b436acc338ff20b0da1434d74631830581cf73a137e0c1e92d1ad5c394918893e8f3cfa9454726c9603b50fb59fa14a6372796361743231393801581cf935b27359302c8a5516876918ac1ed62aca15a22c6ed45b15586c32a156000de1404e6562756c61416c7068615061737331363801581cfb59da920d029dde957b556d981046a9102698ed70797da5908e4634a147454c454d454e541902a0581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61a1444652454e1903e8581cfcf3c8059fc94ce2aff26744fe9a5fedbdfb063352e38b2c5fc4f5c4a14a5761725768616c65373301581cfed1c459a47cbff56bd7d29c2dde0de3e9bd15cee02b98622fce82f7a24b43617264616e6f476f6c641a00c693f04d43617264616e6f53696c7665721a0a037a00581cfef09417c8ce52abd4c9f4d3738e98956194d294c0a20dc2f8225eafb54942534343504650313601494253434350465032310149425343435046503235014942534343504650333001494253434350465033350149425343435046503634014a42534343504650313034014a42534343504650313334014a42534343504650313630014a42534343504650313938014a42534343504650323738014a42534343504650323839014a42534343504650323930014a42534343504650323938014a42534343504650333337014a42534343504650333535014a42534343504650333632014a42534343504650333933014a42534343504650343231014a42534343504650343233014a4253434350465035303001581cff90cde4f4dbcc77336dbf60d4bb09bbdf23a2681421996f45cf5bd4a15166726f677461737469632050655065393101581cffe28865d14732c1126e50b52f427990fecd9890e7b351b234d31221a2465472756d703501475472756d7033380182583901cc64fe179f63d0c7592ab3c15be04749a43620a15f344384d0fca34637eadeb861aaf101d2449b379d80a3474d1c8bcdf6dba624fc47a51e1a01a8898b021a000517e9031a0844304b07582083e0f8d2203356ff89b3ea7a4171d945272d8ea67946bb53af833ed5ec9c06afab00828258200c72643d1638b8cd3230414df3040388c5d677a26f1ad176084bb5d908b84dfc00825820c89da45ff1198db33c988397741c8428ed2d855f641319790e9a826100949096010182a300581d71d27ad3ed7b073018d429e57c2f8d1f52445aa241e280e6da149a91b401821a001e8480a1581c408f13b240f57c3473b5727a68a88c50c1b6bb15c0c10912008dc59ea15269425443323032323131313831393235313001028201d818581ad8799fd8799f1b0000002f04b7cb0aff1b00000192db3acd88ff82581d61e18d73505be6420225ed2a42c8e975e4c6f9148ab38e951ea2572e541a01aacc46021a0006a244031a08442f12081a08442a630b5820f2384b841f290351b52e7ef86bdc5725f49ce7d4cd83e0b050afbdb38915cee20d818258200c72643d1638b8cd3230414df3040388c5d677a26f1ad176084bb5d908b84dfc010e81581ce18d73505be6420225ed2a42c8e975e4c6f9148ab38e951ea2572e540f011082581d61e18d73505be6420225ed2a42c8e975e4c6f9148ab38e951ea2572e541a00777984111a004c4b40a50082825820ad3445197a337f30eef2b47f4bc03306460114b6eb122177268c45be3124e70f01825820f694fd4c3cf915ed4b0f168c16ebd0116665be91a4b3cfa00cda0140cf04365f010182a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c21cf7b8b11ede6df4e3d1b7d6a2b5149b2c7c5c05161ebebb52f6bdd011a10f8f3e5028201d818590130d8799fd8799f581cfacb3d452b3f64270dc3ee0302af2363765dbe3cb00ffc3122919ba9ffd8799fd8799f581cfacb3d452b3f64270dc3ee0302af2363765dbe3cb00ffc3122919ba9ffd8799fd8799fd8799f581c21cf7b8b11ede6df4e3d1b7d6a2b5149b2c7c5c05161ebebb52f6bddffffffffd87980d8799fd8799f581cfacb3d452b3f64270dc3ee0302af2363765dbe3cb00ffc3122919ba9ffd8799fd8799fd8799f581c21cf7b8b11ede6df4e3d1b7d6a2b5149b2c7c5c05161ebebb52f6bddffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c582093a6e6b33626dd6e2cb52e446a80ee3b0c92b38cc158417b30a6d415e97652a1ffd8799fd87a80d8799f1a10bbeae5ff1aef849e77d87980ff1a001e8480d87a80ff82583901facb3d452b3f64270dc3ee0302af2363765dbe3cb00ffc3122919ba921cf7b8b11ede6df4e3d1b7d6a2b5149b2c7c5c05161ebebb52f6bdd1a00902fb3021a0002d8fd031a084456df0758201feb00f18fbe772cc375aa495da0b08d837a719671e68da62f8ed658915d8fd1a4008e8258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c36600825820b0c737b440886a56c648c1c448b9fd47401ae2135d105e9c683b1e094e4915db008258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c366018258207563b7a7197ac146e18f260c5993786cf6862a2ad22e088a8c450937edeef51f048258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c366058258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c3660482582036c15736ecfa6844a9617de1b72b3990ee3c2645c8fdedef3adcc323d97c53bb0b82582073da342d2bdc59f0da902cc2f8bf11a98e81a210430d80fcc200d7bb8c7b5ce60882582073da342d2bdc59f0da902cc2f8bf11a98e81a210430d80fcc200d7bb8c7b5ce60b825820bf01caf5cb9d7a0928a3eeea5dd18d19da4dbe98e5691ce7555546bdad0492fb138258203807e13e4bbe5e95eef3cac5f65feff485b76f9b2ccc4692989301ff26a0056518198258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c3660a8258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c3660b8258202a410435e94023a35a829fc1855297ec22de97b7040e5b358a7b34951214c3660c018e82581d61220099e5e430475c219518179efc7e6c8289db028904834025d5b0861a40d4550682581d61c232edd30746e3bce85ffecdfcccb79f79c043e5a590260b195654531a6f9c15208258390192e234ccc8ff7b981563032b2a1624384af4baead5ebb17b9cde353f40f090dd043ac0d16eb0ccbc1cad2f6fd64701bf86051441dfab3755821a003174a0aa581c5d16cc1a177b5d9ba9cfa9793b07e60f1fb70fea1f8aef064415d114a1434941471a00876c72581c9a9693a9a37912a5097918f97918d15240c92ab729a0b7c4aa144d77a14653554e4441451a003d0900581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521a000f4240581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1a007270e0581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a001e8480581cab0dec21aa7d939ad124ffaf95faf8ed72b1018ff72fffd8f9974907a145474f4b455919c350581c7d869e0e6f936c3299a8b8df2b8f13d5233801e11676ff06e78e8dbea145464947485419c350581c51a5e236c4de3af2b8020442e2a26f454fda3b04cb621c1294a0ef34a144424f4f4b1a0001e848581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a000186a0581ce5a42a1a1d3d1da71b0449663c32798725888d2eb0843c4dabeca05aa151576f726c644d6f62696c65546f6b656e581a000186a082581d7165191c3b4fbd64126ea4e17d314466169285d9d647bc25f6e83ced40821a000ffb22a1581c5d16cc1a177b5d9ba9cfa9793b07e60f1fb70fea1f8aef064415d114a1434941471b00001b53daef56ed82581d71ff6b2c87b1f8f2a1f65b7e8448a3d242d3deb419339f292577eb6fa7821a000fb7caa1581c5d16cc1a177b5d9ba9cfa9793b07e60f1fb70fea1f8aef064415d114a1434941471a032135f382581d712a59f57d5a05483a599b180eadd3a9f92a05ff638fae5d929717739a821a00102da4a1581c9a9693a9a37912a5097918f97918d15240c92ab729a0b7c4aa144d77a14653554e4441451b0000000138c90b1482581d716abc31afa8d960f7d8d3e9e48350498180f3c0a44a86c2cc31e42789821a00103e7aa1581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521b000003ca74ed1d8c82581d71dbb5bacb97bf65b5e263dc137264a15f36c2fb9444731b608ae44635821a0011d28aa1581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1b000001425fb0bc0682581d71e349e8e0cf4cf54781c8dc877c7cb45a724bf5b14e3ac633bba8ee81821a00101ccea1581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591b0000004304e3160082581d715c8de8fb42100f12f0265017fcca147460d3cb48d9b00a9a528649f4821a00101ccea1581cab0dec21aa7d939ad124ffaf95faf8ed72b1018ff72fffd8f9974907a145474f4b45591b0000001d953a5fdb82581d71e9846f32c8e8eafaf9be267e62c40fd241c9211c79685e1f97afed73821a000fd976a1581c7d869e0e6f936c3299a8b8df2b8f13d5233801e11676ff06e78e8dbea14546494748541a6fc9189082581d71d6887dd5f868973a9a2f92016567ec8c06b80fcee2a0ac7692e33116821a000fc8a0a1581c51a5e236c4de3af2b8020442e2a26f454fda3b04cb621c1294a0ef34a144424f4f4b1a0e2efcbe82581d71e9a1af2d31f94ebc637eae0b4aa190d8503ddf56bafbb275b5a4212f821a000fb7caa1581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a1c81559882581d7127501b9856f8621c7b9eff4e254c85c3af18d97464841fbbb722acd5821a0010a37ea1581ce5a42a1a1d3d1da71b0449663c32798725888d2eb0843c4dabeca05aa151576f726c644d6f62696c65546f6b656e581a18a54bab021a00063d79031a086bb9d98ca20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f584037a017e05ab4d533008aadd150238342cc11fa7999f99c9360f56d949e469825e8d9453219403afcf1b700f4148674c5f2eb3f589275368511f5822f7fe206020583840000d87980821962d91a007cc793840002d87980821a00012dfc1a0166fa60840300d8799f009f1a0018fd9fff4100d87a809fd87a80ffff821a0013ea911a1922d04aa10081825820f912b1fb7ea15d4d5064e25d2d5254978e250baa5ebdc3bdb7df7fed988963ec5840d2da3d7cf714dbbc9eb8f7a73cf3c5046a6fefc0e994bb8f12219e303bc8ee4a6977d2842d6414f79451a865d3f0fe31dea66f8ecea1f9d10e108b11d8f12a08a100d90102818258205bdc669f328a67116bb5ee395e37cec1a598ac7bb7ed9a56011323dabe4366b95840fca8c5191216963ae9b757597d4cf1d989de4df711c9a58644ad75f6e83bf58f62147600984e1012154767841436aabd586a79266ae9a8f56fd160524465cd09a200828258200621257bb5bd1477c0960b2e391c70baa8a642ad258420daa10bab85d1c24bef5840b3a139397d359c94633b8294561e9cff17c813a72cb5b345acc5b7aa133e171836ad0923b163738b94d65df773bb8e617637a4c98ff95fa6b95a970138d2800b8258205424fa10ba83c95c33714c420479c19183a7274e7c1d4161d173842c245b340c58404c25fe44f3c98f2c765e581bb5865b811efb49d99070bb6aa58b04dda056405106f8135b59f39b56c648d46386ad8a89962e04aaddd058499db8f57d99421f0901818200581c4f641455f17911fe2f55ad3ad67fc2e0b2946b59af3352574322e67ea400818258200303157375f23161027902abff500a6268c00a69f45f7bfe5adbc2f70f15df9458409e497b78740017333f3cb07eeaae4a14840138509cece36749f72bdd2d7dad30cde157c1ef4c0532c801c535f255ba8bb3b1fadde068d3736c681284acc9b00d038259014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c01049fd8799fd8799fd8799f581c36a72dc444c61626655ab77bc374ac7fe51807024d6ed9dea61ff692ffd8799fd8799fd8799f581cf64b3058b433a49bd5da7fface60831427ac2b353c9f07b6a52f712dffffffffd8799fd8799f581c36a72dc444c61626655ab77bc374ac7fe51807024d6ed9dea61ff692ffd8799fd8799fd8799f581cf64b3058b433a49bd5da7fface60831427ac2b353c9f07b6a52f712dffffffffd87a80d8799fd8799f4040ff1a043546c8ff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581cdefe216460d594211631fcfbd354f361c04645d6a0cfeead3d6f62834b6c65767679776966686174ff1a193dac851a1c3abccbd8799fd8799fd8799fd8799f581caafb1196434cb837fd6f21323ca37b302dff6387e8a84b3fa28faf56ffd8799fd8799fd8799f581c52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2ffffffffd87a80ffffffff0582840001d879808219a44d1a00c298b4840002d8799fd8799fd8799f581cbcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9dffd8799fd8799fd8799f581c52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2ffffffff00ff821a0026ba791a204779aba100818258206b6b6be05165badb8b6aeeeaf34bb0dfa97a495b2fcc3e25aab95f31c26502c55840eb283fbf6c7dbcb1305d7f5b65cb9a3b406dfbecc3e39895aa5afea2ba5ed153655e416982f41696f59df7b0223c65e09068bd13cb72278d16bbf1b2bb7a7e07a30081825820e97b61f9217e124797f591549fff8827742086e25326eb83b2716678a9247977584099dfeaa203ce2b47a9410678531caf2932f255ba2961ca33f8824231e01347ea35026f98e62451a799df5e72fdcff49a477902eb1ac4203bc00cd161a14481060481d8799f9fd8799fd8799fd8799f581c04996cec3ca429ea79b3c710682713e31223f79f4f7a7fd7ee2a17d5ffd8799fd8799fd8799f581cf0a884feabaf419f18ed9d643dc27d3ccf6d204fda17d3b60fbeb8d6ffffffff1a00ee0980ffd8799fd8799fd8799f581c08fce0d35e765086c597ba6a45a18bf9703f77e4b7eca40b522d1c3bffd8799fd8799fd8799f581c87f8f5ffd504c19f4b5cdc85597782557d8b484debc6b09fea86d97dffffffff1a114b7d80ffff581c08fce0d35e765086c597ba6a45a18bf9703f77e4b7eca40b522d1c3bff0581840000d87a80821a0001d6991a0202fe87a20082825820b105259df8fe2cfff5f451b1051d5d073a3a53b32df67b52ceb80244bc3dfbeb58401f85610ebdac3bdd412c93d0a87556a112f8222a4c0f6d452e551e681c580826f5c04cf01c66d77b7c7846a4f40d5043c8cb2f6718c0950be73f4d7ba4ea2203825820474515132f4a2f531f13afbd28380cdb15f3b8f5ce748d3c6f0d70aaf6096e805840867cbdf5b8e67cb719d62f7951a30d3e8c21471899482e689a5ba7f2e4c004ee07e6e069ca7fbda19dcabc4d84134f33f907222a638d2a25420a10868af06c03049fd8799fd8799fd8799fd8799f581c131593e150c63b8ab4e265489c803433467531026cfee6f0487a0002ffd8799fd8799fd8799f581caae40b576b3d7622c97027773b2900d4bb565ee94b92d0a70729ccbdffffffff581c131593e150c63b8ab4e265489c803433467531026cfee6f0487a00021b00000192db7afedcd8799fd8799f4040ffd8799f581c2d587111358801114f04df83dc0015de0a740b462b75cce5170fc93543434749ffffffd8799fd879801ac6aea155ffffffa10081825820109377d25bfbc8e6381e71637b015e93943b5407954f04fc64bb2519697a7a925840490285869262201c3c08a3719c59728d92f8502d4e7c7de2e53f7eb1017dd52516bc03130962f9c7a90e1cd405c402398ce3c8e0ac61e842cbc17e3ade168b00a300818258202b4ce9b9f9dfacbb8b32f9652acd1969b97d93d9df63aaa478e947882e77ff2a58409f91c4b46572a02761a0a928a82b39974448e533fc082fdb1278fc55a1c4ab5f5a87fc447119e7df5487ec90837132f6743d6b3d526c40d3f3007d96b72fff090681590bd7590bd401000033232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323233027222232325335333006533357346074607e0022646605a60586ae84004dd69aba135744002607c00206e64a666ae68c0ecc1000044c8c8c848cc00400c008c0b8d5d09aba2002375a6ae84004c0fc0040e0dd50022999ab9a303a303f002132321233001003002357426ae88c0fc00cd5d0981f00101b8890008a99ab9c490103505435001637540086ea8004cc09c8888c8d4014888d40188c88c94cd54cd4ccd54c0d40e0c0a80a4c0ac01ccc0b08004d40048888888888880100e44cd5ce24812d546865207472616e73616374696f6e206973206e6f74207369676e6564206279206f7261636c65206f776e657200030132533553355335333553036039302b02a253335302135001202103e215333573466ebcc118cd5d0182319aba0375000a6ec4080cd5d01ba835500b03937620400022a66a666036446a0044466603e446a00444a666ae68c12c004400c4cc11848ccc00401c00c00800c00c0040c0cd54c0e80ec8d400488cc0e0008cd54c0f40f88d400488cc0ec008ccd4004dc0a4000e048cdc0800a400000266aa607407646a0024466070004666a002466aa607c07e46a0024466078004604600200244666038066004002466aa607c07e46a0024466078004604000200266602e05c666050400204e6a004404e0060784426a004444a66a0082a666ae68cdd78018238a999ab9a3375e00408e2a666ae68cdc4000a400006e2666ae68cdc4800a410125e80206a07006e06e44072064407e6044014074266ae712401024c310003103a1335738921156f757470757420646f6573206e6f74206d6174636800031153355333573466e2400d20001335738921165072696365206d75737420626520706f7369746976650003103a15335533535353301275a6a00407e06e44a666a00442a666ae68cdc419b8000100935500c03a0331333573466e24004d540300e80c40d00c80c84d4cc049d69a80101f911a801112999a99980980a980f19b8100900b0021533500113330120150030081333012015003008034133301201500300803003a13357389212345787069726174696f6e2074696d65206973206e6f742070726f7065726c792073657400031030030333025200102435302635533530270092100116036202402f302d350080393302f3016337000020060542a666a602e6aa66a60320022602602a442a66a0022004442602e032402e02842a66a6666666ae900048c94ccd5cd181d98200008991999aab9f001202d23233335573e002405e46666aae7cd5d1001119299a9999999aba400123253335734608660900022646666aae7c00480d48cccd55cf9aba20022533530203574200642605e00206a406c07a078608e0020646ea800880c880c880c880c80e4854cd4c070d5d08029098159981a8010008188181aba1005203003703635744004068607e0020546ea800880a880a880a880a80c48400405480548c94ccd5cd181b181d800899191919091998008028018011bad357426ae88008dd69aba10013574460760046ae84c0e80040ccdd50009111a801111a801912999a9998040038020010a99a8018800819814819911192999a80190a999a80190a999a80290980200b0980180a8a999a80210980200b0980180a80c0060a999a80210980180a8980100a0a999a80190980180a8980100a00b8a999a801100700b0068a999a80110a999a80210980180a8980100a0a999a80190980180a8980100a00b8058a999a80190980100a098008098a999a80110980100a0980080980b12999a80110a999a80210a999a802109998040038010008b0b0b0060a999a80190a999a801909998038030010008b0b0b00580691a80091111111003891999999980091199ab9a3370e00400204004644a666ae68cdc38010008098a999ab9a3371200400201401044666ae68cdc400100081001191199ab9a3371200400204004644666ae68cdc480100081181011199ab9a3371000400204604044a666ae68cdc480100088008801112999ab9a33712004002200420024464a666ae68c0c8c0dc0044c8c8cc0994ccd5cd181a181c801099813198038029aba130380023006357426ae88c0e00080c54ccd5cd181a181c800899813198038029aba130380013006357426ae88c0e00040c4dd51aba135744606e0046ea8d5d0981b0008179baa0012325333573460620020522a666ae68c0c000407c0b4c0d0dd50009119192999ab9a303300100815333573460640022601460086ae84c0d400854ccd5cd1818800803017181a8009baa00122233355302302702a335530260272350012233024002300b001333553023027223500222533533355302802b301d01c235001223300a002005006100313302e00400301c001335530260272350012233024002330382253350011300a003221350022253353300c002008112223300200a0041300600300400211009212223001004112220012230302253350011003221330060023004001212223003004233333335748002403040304030460206eb4008806007c94cd5ce2481286578706563746564206f6e6c7920612073696e676c6520636f6e74696e75696e67206f7574707574001615335738920117496e76616c696420646174756d20696e206f757470757400164988880088c8c94ccd5cd1813000899091118010021aba13028002153335734604a002264244460020086ae84c0a000854ccd5cd181200080201098140009baa00111003253353007001213335530150192235300535300935003019222200422353007350042222004225333573466ebc01000854ccd5cd19baf0030011330220060051005100500e3300d00735300f3500201b22222222222200a15335738921024c660016232533357346040604a0022646424660020060046ae84d5d118128011aba1302400101d3754002444006660024002eb4888cc09088cccd55cf80090071191980e9980a180398138009803181300098021aba2003357420040306eac0048c94ccd5cd180e181080089919191919190919998008038028018011aba1357440046ae84004d5d10011aba10013574460420046ae84c080004064dd5000919191999aa999ab9a3370e90030008990911118020029aba13020002153335734603c00226424444600400a6ae84c08000854ccd5cd180e8008990911118008029aba13020002153335734603800226424444600600a6ae84c0800080648034803480348ccd54c048054cc03c894cd40088400c400403494ccd5cd19baf002350010181300600100d3300923253335734603e60480022646424660020060046ae84d5d118120011aba1302300101c37540026a60166a00802e44444444444401860400026ea8d40040408488c00800c48cc004894cd400804c40040208cc02488ccd400c04c008004d400403488ccd5cd19baf002001004007223301c2233335573e002400c466028600a6ae84008c00cd5d10010081bac001100d23253335734602860320022646464646464646464646464646464646464646464642466666666666600202e02a02602201e01a01601200e00a0060046ae84d5d10011aba1001357440046ae84004d5d10011aba1001357440046ae84004d5d10011aba1001357440046ae84004d5d10011aba1001357440046ae84004d5d10011aba1001357440046ae84004d5d1180c8011aba1301800101137540022002200c464a666ae68c044c0580044dd69aba1301500100e37540024424660020060044446006600400260244422444a66a00220044426600a004666aa600e01600a00800260224422444a66a00226a00600c442666a00a0186008004666aa600e01400a00800244002601e442244a66a00200c44266014600800466aa600c00e00800224002220024400444244660020080062a66ae712411f496e76616c696420646174756d20746f20636865636b4f776e4f757470757400161533573892010350543100162222222222220054c1014000370e90001b8748008dc3a40086e9520005573caae748c8c00400488cc00cc00800800530012cd8799f581ce18d73505be6420225ed2a42c8e975e4c6f9148ab38e951ea2572e541a000927c01a002dc6c0ff00010581840000d8799f1b00000192db0d06c8d8799f1b0000002f04b7cb0affff821a001862581a180953d5a1008182582025ca17934015a773c67fb65ab882f4ba258ecb17efcfb2491f0c9ba251fac40e584019f023be31d42b85b81f8af162a1dff33ca53be40c82f5ece6325ded9ca60ba1d4378ad40e75414f33d49af71e1d05d19faae9a2753231e3acca5948950f1009a2008f825820d12f9ff04c1f52ec19d57d3b4cad6b53318fe10054bc89ea4c9fff4ce2c86b645840ad513d3cc68a2880961df356098bf991146095310feeeb5a84aeb8d28f0107f066dc3bc457d614d7b2069ffb9fe92e13c4cd979c62153b76e2a63350b132a7018258205db7c838e487e4595779ec43613d172156bc4595db55649b1918a7a334aaf1c8584072eaa1e4f5ab9e695fcf55f7c1a41ac7635fd1ff5586d3efbc63233705dd5aa87daa17430ecad306b1e0bfaef9c89d68ffe9336049d06b90535eeb5a7598d30b8258200416626cdfd5d89e35e572b11f9af9f7accdbeab75a01381d39cf53a0e878ebc58408c369c354f79267635aad23aa083e51c511298035d7c67e8cd7fb18279ee5442f22a885003a98b74d24aa4c50085b04a54955de15ee556eb769a4ab2c3c8a80f825820771ea976ae425b6fc6279b2255c9646a789a2d2eedcfef8aaacbe8b3859bb42358403de7a86b6568c912bc556fe8eee4f46496a3e294316cc02ecff6c9f8eca1fb94a2cd8e6852edac0b53dca42b6eb90ebd7b5e82e578b0ddd6cdf1c2d06e34ac04825820f227855477e35bfb64c6c106bf0853702aaca66082389e2221b45cd97b416ac9584093aa5a9539540f7bbb838f8fc7f2ebb9a0c9ed13e6547a2e0cfa444e1592c1b6352a7d45379db8c6b964ccad1586caac1ac1dddb10fcfe281916b6733f1ffc0b82582051adb4f56b326f79efb901206b68556ed31bccfa3c208329074ab7719ec7fb3658401717f546ab2d19d72f62db2bb3c83920caeda9c0c5ad2206ed3e506aa701630f11871a8aa26edd6d0a56605563671e186809ad56192aaeb8fca54b9b04e41402825820c59cb14f56dda100b9cd737470aaea4fedf1c481e19c2caf59c593f8d99dc19f584015f675c69f232a1994382b72e74ff88279a149b4e9e82106a2b078c83d8fbf70c923e0533481c3f598b7ffe9c22159a79390e21e9c1de7388889e782e7d70e00825820e3f6f52a67d748ce9f0bbd54ffb1ec9ccf0761c573cee5409b05ccaf8cd0fdf85840e195c763914c1c91148b1f2905e0eb0534c99685b3d5e704ea86a93f7b5288f3b8d1c56d2e9fbf253bafc237678fb9da14e49bca633838f169f1b716df37f30d8258203509c03a5ea7baf1e5c655064cf61cf8c987924275d16d2d66a923b8336ee234584052ffbbe877f3698a3bd0c66e34a0face5001891b7c3e2fc59c2300633ce15b281016c9655c4b3db99d4698ec86262070728147c155d05f78848fed869377a9098258208bfa4ed94d2e8e51827dda664d525bc29fc3bc6e66ab3b0b354273e1b0a5b3bc5840b25ff1fe96ebfc1ae3d59e1bcc96b2ce322aee4685deaa900e94264ddeaedc74b2b2fcbc2bab181aabd3e132e3d0dcd2afd2a9fb9015a39ad6fbf407473d72048258200fbcc4327d56eb6dc02830bee9ee9289cd8d8c98b8539838611899642fecb51f58409f051da76b249a018b9fe76d2aca1b475c9876f5593a84e92f16a11c21f8844f5044f04e935dd8e11fe0a9ab2c03f4c98e1dac561e7a7a3148af7e40e3f4d00a8258201a00ed7a9be2931074125c765c536993c9a98d39b8dd282d1cb0315bc554932558400109333ad88c5d1ca8587430ae44cc18ba7e5c5b3ace804d463b3fc0ff7ee0e5d794f446441ac5626e63c548cfa3725aceabbb2553c42fe788f9e5ee622c300c825820964504bbc14dbf98f87072efd056060b0a12a9c91d0555005ee4b4e6d29ebc355840f3c52c09ddbd0b53a69a60fd16171708db695107fb0eabe6303d7d99d53f95cad01c32fd4e335dbf2b5d7a15c94efcd04b553393d9361e673a271d60d56d7a0b82582034872cbc1f3b96c054fec9f7bad60a70698bdb37ebf18eb2998179c94426b5865840d302285a9268dd98c231b3cf7feb000afc6512a34dd8a8218cec4e46c73243206e518300cd3b353c8314076768ccb4f0fdc160b3e1fc3fdcfab5204f9230fd0182582065910126b7045e7a01c95cf5102cf14b71938b6b72135eae6210fdd2dec690655840615f02bbebd0d5d6c9bcf230f0c3a21c34537e6ae1c8b394888a82e879d2f7d1d331bd20ac4d5b20f71e8cdda44d722161c3993ba3a91ddf5d7886655d8ba206018b8201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c9b5d5bf3ed60a63ab10e0d37c7c49c220eda5ec222e03d10bbe4c1b28201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c31e79f6b15194c074e71fe217e9460fbc97f92900a7c9c2d2bacac728201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c4a35ccf34d2b018b32a4b549ec4de9a49f4e335d62e89a68d70d0b7d8201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c8c1d94db5fefa08a78928580df1874c4b769b89fc02a6e30db25a1188201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581cb27166fdd07a7bcd9cb60ffd0808de21b58fe273f17beadcadfea0268201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c5ce8bdfb98e00d0b01b1c7040e2a3faf2115c34aa2742eb2a640aee58201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c159e6101a28c31d4ae21202688ee8e03486dc5148c8b0d3d536e9b348201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581cd2d9fac346d7f3894ab9da908b8d9eee138604972f2a8f80ccfb30c78201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581cc0a46537a434aa1e4b2e1c3544e6e85e81ccc25498e90e3d4bd0dab08201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581cfcb3fd1529de5eb003373c41f7903d84fb3f9e2e661482129d8ac5db8201828200581c220099e5e430475c219518179efc7e6c8289db028904834025d5b0868200581c57e951619846f4be7cfe5bb965cbfc46f1741b6e4fb30b44f7bb8687a900a11902a2a1636d736781774d696e737761703a204f7264657220457865637574656401a8181e613618327840643837393966396664383739396664383739396664383739396635383163353336623764666664386430393832663637633937393639326265326439663134621833784034633834333937383465653532343166626137386266666664383739396664383739396664383739396635383163626264666133323933666462643838353435183478403738616536393164666534383531373962326364383939643830313561353266383164663833666666666666666631616365653237653730666664383739396618357840643837393966643837393966353831636538303737383032613265383533356335313662613739306631356461323862666331316565643965303030343130311836784036333739663430656666643837393966643837393966643837393966353831633766343133386633326133653232316361656339363264663262386563623632183778403261636530306463396530666232313437336364366361666666666666666666316230303030303030663038306536326630666666663538316365383037373818387835303261326538353335633531366261373930663135646132386266633131656564396530303034313031363337396634306566662c02d90103a100a101a26974696d657374616d706a313733303235313932336d6162736f6c7574655f736c6f746931333836383536333203a11902a2a1636d736781734d696e737761703a204d61737465724368656604a11902a2a1636d736781774d696e737761703a204f7264657220457865637574656406a8181e61361832784064383739396639666438373939666438373939666438373939663538316330343939366365633363613432396561373962336337313036383237313365333132183378403233663739663466376137666437656532613137643566666438373939666438373939666438373939663538316366306138383466656162616634313966313818347840656439643634336463323764336363663664323034666461313764336236306662656238643666666666666666663161303065643436333066666438373939661835784064383739396664383739396635383163303866636530643335653736353038366335393762613661343561313862663937303366373765346237656361343062183678403532326431633362666664383739396664383739396664383739396635383163383766386635666664353034633139663462356364633835353937373832353518377840376438623438346465626336623039666561383664393764666666666666666631613131336434636230666666663538316330386663653064333565373635301838782d38366335393762613661343561313862663937303366373765346237656361343062353232643163336266662c07a11902a2a1636d7367816f44657868756e74657220547261646508a8181e61361832784064383739396639666438373939666438373939666438373939663538316336396332633562343932363366646164613439333337303861623630666562363037183378406232633237353335633263383866306233333933653266666438373939666438373939666438373939663538316336643130613631626365353261353838643418347840343862326134366531616538333436646362643262663932313732326464653632306332613066666666666666663161303032663962383066666438373939661835784064383739396664383739396635383163636336346665313739663633643063373539326162336331356265303437343961343336323061313566333434333834183678406430666361333436666664383739396664383739396664383739396635383163333765616465623836316161663130316432343439623337396438306133343718377840346431633862636466366462613632346663343761353165666666666666666631613032313433613030666666663538316363633634666531373966363364301838782d63373539326162336331356265303437343961343336323061313566333434333834643066636133343666662c0aa11902a2a1636d736781754d696e737761703a204d61726b6574204f7264657280")] + [InlineData("85828A1A00A846CA1A08444B855820EF6E8FF353426D61896C85A6CD72D8769A90EADAFA115C70AD5F4A500C68D3475820654CE74EAD58C1C071480B49017CAF7F1E5D6E5B38393D9D6830186771ED22F25820E096EE4825A069B659B1873757266D501066AF91C1DF6BF3792E1E536F79D97E825840BE40257BDA55203DFC1E5792E9C04F86F5391ED9984358D2A36405952294FAEF17061A39B981396138927D83EEEDF0249EE043E794B046256D9849ECB97DDB4B58503EF29269DD127560C9CA56487F63A9CEDAC4DC31E13939A8623C7A78014C7BFBCEB8A370CBBD6E236E5269BBC96B6B9844FF57752618D844BD75B6A94BE02750A1807B86A030977A7EC37A2EB4BDBF0519210458204FE727A622228E3DAB02125012E18B3FBA5AC73300BC49CC210DE3D6E29D489D845820F8CE9C00C14A66B26FCB405B2FE29641DA3525598F65201B504C37FD9FEDD149181C19041B5840E0C42C2AF9EE76FE7288E23E6FBD850C5F5849B4AF2280CFDFEB45744CC7BE72A3C6E35B5ADA363FFD27EFB937611E9193817309A1DDB1BEAB741FCBBE2F2D0A8209015901C081738512E10B15E5641321088C3D2EE8C502A33C3C1092B9FF4834B179102DF438D290A3C230CD2D54442752219905D3DAF717D0D06BC912819EB7A5388B020093B4C3F0246D7EAD77AD4736D035F1189C4BECC330EB3E1B357C6B264905B1C6521893E69F8FD322232B9A7F7EEC8A95CF76F61E444BD70224F9D3D49B4834ABC64D028FB335DBFD8BA238CAE6C39F25BA6CD03C33DFA1670DEEE1643DA07846B0E9B0537C9EA698868548D94C19EDE5B166382C025FC7B27595A212DC49ACBBEE0AF0CFCDE3029A31A6C52349EE2E4816F24DDEE3955FA145C9AACE5028FCA168E8438B141906BA46DF3D8E897733F40874C0F2302DD9E5A6A61E06CB156E9D7D0309D864893263FA647E0314254E079F1D7E55E55F6E7DAE9B59CEC685EF85F81957D25DDC655157A4028BF12878A78040D23191A05BBFF09FAC19B4DEC677732306ED26FF6EA0146E6447425299D2B68696FE9E9FB66DD42F43384994B33DCC5FF8D2F50B348136601F690CB8AA9774C7B20E0DA8B53234896AAB4F995F383845C558356A5539595040416A84BEE569E0F9DBFEFD410850FD6A8FE22B2D70E5DD5C10354DAF1C6DAFA017BF56A41555824E84190776055447FBEC3E1442818BA900838258202DB14AB864618B1122A64833821A2D1F27D2093903CD54A739D794664AADC5FE0082582092E608F4CF0AFB3B8E0A8E6DCB9851CFBFC57F644B7220BB7BEFD7664FDA63CC00825820ADEB557995EE9B8D7A1F804EE7D6406F37DD623DED07752AD28FE409BBA0651B020183A300583911AF97793B8702F381976CEC83E303E9CE17781458C73C4BB16FE02B830AC31F2D917E3138C55E66CF93141C814FB9708C18A789A3C21F41F801821A82AF47C3A2581C6FDC63A1D71DC2C65502B79BAAE7FB543185702B12C3C5FB639ED737A2414C015820A721B984DA1AF326CBEB062B7230206E111CF0E24DA83DF5148E97B26919D67C1B7FFFFFFF03740E66581C95A427E384527065F2F8946F5E86320D0117839A5E98EA2C0B55FB00A14448554E541B00000001F0E78FE4028201D8185874D8799F581CC134D839A64A5DFB9B155869EF3F34280751A622F69958BAA8FFD29C4040581C95A427E384527065F2F8946F5E86320D0117839A5E98EA2C0B55FB004448554E54181E0500001927101A001E84801B00000192DB84AF981A002556E41A00A154A600000000D87A80D87A80D87980FF825839017FBB4763847B9EC49A132D5359BD86AAECDE9275A03AEF294FFB79D0FA34F3B651ECB6A75834C80DC1FD162FEB1D1B4CDCEF0D065A5785AA821A003010B0A1581C95A427E384527065F2F8946F5E86320D0117839A5E98EA2C0B55FB00A14448554E541A100CC452825839010B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA47754858DDD2795AAB89617D72D7D240ABCCD036FA4B761FA39787A3821A04F95C1BA1581C1AD3767073087DF4FC97FBA7AC4A71A0A6CD556F1AD96A7B1C9870C4A1415801021A000750F7031A08446072081A08444B5C0B5820BF3B9C8BA417C18C7D83D16509D41AB0A297D2F2AC87EB61349548DEFEDFCBD00D8182582063C5DEA8DA9F5241AC8D6359354F2B322AEA0698EBD59845D62F362D6DDDB6F6000E81581C0B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA12828258205EC56338104FCBFE32288C649D9633F0D9060ABCE8B8608B156294F0A81D29E201825820BABC647257B8D78B86E862BA9769401714ED403E7C46ED1B59C3FC32E0247C8200A40081825820CBD2893F7EB5F02E25C4A4FCA2272C3EB8F04264E6FC6CF7A766676A6E3B579D01018282583901DC36284268BD50351659A4C60381B0BBF18BE5F465A9971AC350C251A71EF71005C80F23B9951C36F0A79407F20A5745F59AE85EAAC6CE131A0385DBDE82581D61D91EF01B73F3010BB173945CF5417257C00C002715A13052015AB54F1A02664935021A0002CD30031A0844596CA300858258203966019E8777746C698930271541A0C2025B1601FD9C8EAC86B4E503B476DCF104825820678EEC2E5E9FB8C1DEACC31276DDD21983B80D67A3635EE6C5FBACDE6514A1D3038258206EE8AAE4F468D747CD1B929499E50DA36D9D580C482343CF0200C1296D9761F60382582073EB0192149F8B9392AECE9C0A3BDBCBB5F854335CF925DB195C2C6CC314FB5702825820D85B78DCDE08345BBE2DB8D3EAAF05A9902C4D7C97466E59BA05D3689944C7D7010185A300581D71C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4C01821A003567E0A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581A38616F14028201D818590130D8799FD8799F581C63FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545ADFFD8799FD8799F581C63FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545ADFFD8799FD8799FD8799F581C4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C950FFFFFFFFD87980D8799FD8799F581C63FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545ADFFD8799FD8799FD8799F581C4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C950FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C5820686DB0C143A3A2CC19099D8909E315C4ED761A6AC5A3C5998C651D5E9D3CB253FFD8799FD87980D8799F1A38616F14FF1A1F988640D87980FF1A0016E360D87A80FF8258390163FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545AD4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C950821A001E8480A1581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1B0000000BA43B74008258390163FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545AD4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C950821A001E8480A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581A5B05BEBF8258390163FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545AD4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C950821A001E8480A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581A5B05BEBF8258390163FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545AD4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C9501B000000023EEF3A12021A00032159A500D9010281825820B6AF09FB77EC8128625F07311B4EE78042C535A4759B906D97C97B62CB03310E00018182583901A521FCC70B1067A74C710DC4B9A936379352BE69ACF557D792EB7C6A19E1196351C34DDA37F60878EDD91BA863484B18BA75E613BB0A3C691B00000093B6239679021A0002E76D031A0844716E04D90102828A03581C09C932D2D572053C44F9162DFC8CF5E271AB1B3BDC1815B3D51C5151582003857824B92C68F67E176982EF11B45E6B0E1541305FFA532ECC81DF916755221B00000092AEED1C001A0A21FE80D81E820001581DE119E1196351C34DDA37F60878EDD91BA863484B18BA75E613BB0A3C69D9010281581C19E1196351C34DDA37F60878EDD91BA863484B18BA75E613BB0A3C69828301193500716275646431612E616972646E732E6F7267830119350B716275646432612E616972646E732E6F726782783768747470733A2F2F7261772E67697468756275736572636F6E74656E742E636F6D2F6F64796E672F62756464612F662F6D392E6A736F6E58203A9914695D787236D65001E89838DCFA90702AFC9FC86450A8B4C506CD3FCC7B83028200581C19E1196351C34DDA37F60878EDD91BA863484B18BA75E613BB0A3C69581C09C932D2D572053C44F9162DFC8CF5E271AB1B3BDC1815B3D51C5151AC00838258202BD18398F6D845C535038297208E8E0D08DC2F5F7401BFFCCB0E9733CFB7764300825820666225C3089B199FD3D1827BF967BB3DD71B9DBAF26E248F2727F62DB8CAB75100825820A8A0BFC5E3AD6DFA48A31157CD1737113271F0F4ABF81765DD848089A8810B9D01018382583901ADB1BF6A51B20FF1B8450726EF3891BB0E153D5BF47783375E2134AFBD6A096CBBA5E259946798E948403E2D2B3D9EA88A12EE8E7AE94497821A001C3D92A1581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A1476876424541524408A300581D71B15A1A010843E8AFB6F963B03D452BE815B533DAD0CD23D819C2D20101821A001FB2ECA1581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA1582052BD1E5A642E2141E8FB7EA6FA996960BC91DB0B040C6D35013CF3EFECAC2DFC1A00B00C73028201D81858CCD8799FD8799FD8799F581C814E1D11330F398CBF52DA38AD71926A3579C18D5F95D78FF6C64DF3FFD8799FD8799FD8799F581C7EF835A10E065DBACA71D9604348BD140E67D10E23C3C7D40E2B10C5FFFFFFFFD8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C582052BD1E5A642E2141E8FB7EA6FA996960BC91DB0B040C6D35013CF3EFECAC2DFCFF009FD8799FD8799F581C8D7526784EF72FE0CCDD085976ADA0DA88E7FB013E38E794B0923341454245415244FF1A00062112FFFFFF82583901814E1D11330F398CBF52DA38AD71926A3579C18D5F95D78FF6C64DF37EF835A10E065DBACA71D9604348BD140E67D10E23C3C7D40E2B10C51A0728E80A021A0004FC14031A0844757F075820A6D5E111373C28E492B40A5230816D74735B628F3AE78E3CC85CB162D7CA290209A1581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A14768764245415244080B58203E731E16CE923781489001473BBD204F4F5B63D0BFF730D847B5294ED0225B3B0D81825820A8A0BFC5E3AD6DFA48A31157CD1737113271F0F4ABF81765DD848089A8810B9D010E83581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67E581C7FE3920105A0AEBAAECC1B935CD5EBBD3CC8C28336449D27378825E1581C814E1D11330F398CBF52DA38AD71926A3579C18D5F95D78FF6C64DF31082583901814E1D11330F398CBF52DA38AD71926A3579C18D5F95D78FF6C64DF37EF835A10E065DBACA71D9604348BD140E67D10E23C3C7D40E2B10C51A06DF51F0111A004C4B401281825820A598AC624F82ABF6E49A6F3562489E373B18F8F6063620F2C905A56AADF91C5A00AC008682582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E80082582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E80282582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E80382582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E80482582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E805825820C4826D2B10BF82F77D5668579AC810653543A904604BD6D81E4C0E2BE20B92E8010182A300581D718C5A532C6332F85E6A927750E129ABA954EEC6EAD209CD72D08F5A3201821A00E4E1C0A3581C25C5DE5F5B286073C593EDFD77B48ABC7A48E5A4F3D4CD9D428FF935A144555344431B0000360449218B2A581CBB9CF64BFCA2C8611AEFB81B5341EC5F7DBA39EC2B6464A4E8A13E51A14001581CF37E16045A5AA79503C1E3A36C0892A04A6F4471E4A097C9C98D3854A14004028201D818479F0000000000FF82583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1AD052404D021A000609DE031A08444EC9075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A08444B450B5820FE9DC3C1D648F8EED13A06467141E04274CAD06809B6919326CA4517C832EA840D81825820C4826D2B10BF82F77D5668579AC810653543A904604BD6D81E4C0E2BE20B92E8010F011082583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1AD00BFEEB111A004C4B40128482582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E8018258204A686D10E241ABD38195CE47A4857AC191B647F13EC4DFDBAB33C0AD2FCAFEC300825820828B280093392E98A69996486321B4E1A8291998E0FE7A9BE6DEEB51F734D98900825820D87DC6BBE6E450D529A4514F4A85C7C450D88CED389F9FA73DFF0C47D4E3CF5D00A40081825820B70DB986DFDCAC122D8DEA2FD46148DF0D52BEAA8B9F5C1957E6AEF534E224B200018182583901EE17B587B28618EE9B12769801E0CEF4625762B8A2A29C95F89D2C21EE17B587B28618EE9B12769801E0CEF4625762B8A2A29C95F89D2C211B000000038F68F207021A00028759031A08483FC5A60084825820374056F437F749A703360DCFC48DA6D40C956DB95BC5851B80557794CD943BDD1859825820448B5581D33DB42EE60C6C6F9F5456D8B16A98CC12F9E1F9C8FDA0E260E17E30185C825820546CD4BD2115D97EF42C2435C978954BEB72FC4DED0D4A6957B06188CA684E501831825820D7BC12619246211B27FECDFA22517F992FFDD3FACBF6F90E37F4FDD98689CAFF1821018382583901A762BB598F45D5AF87F11779CE4B5336BFC2C2C7DAF0ADDD2AAB278A62F32A220120E877CCDD55FA86761EA7D93BA3CE6D6489E3C77AA6AC821A00191F54A4581C339EDCAD633AF825C1BB24D2B4277C63D3CA84357C1E27177B42B2DFA144544D494E01581C86F8493472E9048432DE4197E576AF6F6CAA4144C83EC63A67B79A3FA1465247454E535801581CBE9CA6E1EFF3A3175368BCF9C5AF4B5FD9ECB901450FEB481EBAC77CA1454141474958190C80581CCAA18329293A0FC71EAAD5B27DB33F27B47CDD58C0D3223977F46B70A146724941474F4E018258390106CFC004724E4309265426108AFB3803F92EB6A7556F3B641DCB000015B670EAAFC198195B0AC00EEAC5D20B65B965764D8140D8B17488671A05737C298258390106CFC004724E4309265426108AFB3803F92EB6A7556F3B641DCB000015B670EAAFC198195B0AC00EEAC5D20B65B965764D8140D8B17488671A004C4B40021A0002F47D031A0844757D05A1581DE115B670EAAFC198195B0AC00EEAC5D20B65B965764D8140D8B17488671A0595F2A00800A500818258204D78CF612314D74701925B6F21733DC4F3C6E7A32B28E8BA890B00A853BAE4AC00018182583901F0D829088263DED1FB14A88BE1BFB3E8E02AB92E291D4C4A3EBC1C688F3342EEC5F17686D68E13A68AE5CC6602DD185591775A85C92332F11B00000002560F5CFA021A00029E35031A08449FBC05A1581DE18F3342EEC5F17686D68E13A68AE5CC6602DD185591775A85C92332F11A0320793DA5008282582083EEAB7B859B66A9387A9F2C78382BDC2217877AA7ADA690A4C7D9C59AFA77A10082582083EEAB7B859B66A9387A9F2C78382BDC2217877AA7ADA690A4C7D9C59AFA77A101018282583901683E50145E2A146FBA95E87A30E98DAC4FC95C7028BB2B59ABCA2F74683E50145E2A146FBA95E87A30E98DAC4FC95C7028BB2B59ABCA2F741A000F424082583901683E50145E2A146FBA95E87A30E98DAC4FC95C7028BB2B59ABCA2F74683E50145E2A146FBA95E87A30E98DAC4FC95C7028BB2B59ABCA2F741A14743185021A0003917E031A3B9ACA0005A1581DE1683E50145E2A146FBA95E87A30E98DAC4FC95C7028BB2B59ABCA2F741A0086CC7DA5008282582052D8C79A39D9A3AF726372D3B36989CC953E3846EAA2D70F74C7E8DA7898E3F80082582052D8C79A39D9A3AF726372D3B36989CC953E3846EAA2D70F74C7E8DA7898E3F8010182825839013F917EB0DF493CEAA562A3CB0B18C48A01EDF28C5DF1188D992F66383F917EB0DF493CEAA562A3CB0B18C48A01EDF28C5DF1188D992F66381A000F4240825839013F917EB0DF493CEAA562A3CB0B18C48A01EDF28C5DF1188D992F66383F917EB0DF493CEAA562A3CB0B18C48A01EDF28C5DF1188D992F6638821B000000018F97126EA3581C269C0C6FB54095825E7F352EB667996872AF8D3A988E78595D5958F6A146544D494E763201581CB84D709A29B5F2F0F79D48941DF55D3E5823A1ECC290A6091D1F6841A34C437574794D616C3239333035014C437574794D616C3239333036014C437574794D616C323933303701581CE4BBBAA875A797578044EF27713D23DFE07CE74F33163E7C40D7F480A144544D494E01021A0003C556031A3B9ACA0005A1581DE13F917EB0DF493CEAA562A3CB0B18C48A01EDF28C5DF1188D992F66381A0029780E8BA20081825820FBC53E7AA4E5497D8662E8F0D5337441F629D1F237217BC24AC41BB6DE89F8415840EA148B1599B748217ED5A3C7852E5F89BFBA93C68DE36E9D0F0CF990043EE01CA6A87ADC80064B096E10AF1832215C285A2D8F160AC750AC2A8A9A77FDB122010582840000D8799F00029FD8799F0100FFFFFF821A000EFDD11A12C3436F840001D8799F00FF8219618A1A0066AFD8A10081825820393B3D3CAB6BE0897CBC87143CC3A24825DC1D8249DF4D37969502931CF856FF58408FB07FC71808B539D37FF3303ECB24BE497AB371FF571A541A1134CA51FAA8BD2365DD74D968F83452FBC198477495CC1073ABF27216D7CCA19453A824593703A10081825820AED1A7B47F61BEE6573CFD27181C9271BE6AC0FD2F0B013620E88B8B0E521BC75840831332C11952683DE001D60A765F1DDDE63776D171F9AFED55EBBE8EAD8168CFE9034FBA1B0BED6683CA7E3301B28676B53B8B45E0675C1718510097CDE83B0FA100D9010283825820D0B44D6A22841ADAFB1FA0294A8D7B994966C3F6E98E0C5251DA1DFED5A76E2158405E4E61DF69E4F7D25D3D9BD9432A8C8CD9BE9A34AD2A846CDA67FFA8C84E53B57DD0F92C6FD93A04D12333EE30E490DD7DD67B3F27D96C24A1CB4399B140700B825820F02163A5230F55881783214AF01653B8FDB45392B376E28CEA3B23E56480A88F5840907D0966AB17A29328631A15CA3109BF0A04928F219A33F12F51A44AFCDDE23CD7C71DC9E748F21C271A4B8BA6E37197BBEFA35E6B3A0A950A8F9FEC4110830782582061D2005E85D79E702CDC83FC0E890D59568D938BF9A5AD0E19BC133EA37EB76058404455009E1F678F930917E469D4D2120EBF349316982D6177FD36E1ABD4CEBFD841D322F27EFCBA04E65D19B4B6A3E6A84CB00075F85EA0124D49F9465163EA01A300848258205424FA10BA83C95C33714C420479C19183A7274E7C1D4161D173842C245B340C58402A550527CDCA1759A94035D2F56D6704125ACF953958023FF4E2FC007EA5597A8A665882DB8A7E70BC42234A4F82628019A08E573B1F14F512D383851E3D880E8258202DECD7E52458014264CB7C336E08824E1BDC31333AEAEB94A9A8FA7F1CAF6A275840DB5439BB91911BB34E60AD14E64DB1DBCE56BAAC07AB2DF9C4934D5EF2E3AB2662EC254CB2AB60F6D227FF5C8F729F077FB558279CF7F2F430CF9D826B7DA108825820D56B80334D8AE370256FBBB185AE46815A5E67676F7A97A76C5FED6BE808784758401CCD6327DF2F5F0E0A8DB90A765DB14AAD93518A2881D26B04AB3C1691F0F94817426DEC04A6ED0E067AA4DDE0E8526D6AB8B247F558832B903487F2F4537304825820FC1DC1D047E394103A1DCADC537994CAE3B7F08FB08D0200CC5E85E3AF16AA5858409A4C3C01C877BF2EEC0B1D658E8AA9856BFBC3E3CD6187286A62F0DA2D8605C5155A694240EE5932F0121FF78A682E835D5DCB61A166A39D5B8EAF43AE725D0001818200581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67E0581840001D87980821A000CA1A61A0C8EC42DA20082825820F44CE6186D190F8776FD871D753DF7AE503972E4793A2360A423D2F96021E6015840190C46CB5A2F5BF6F262433D8BCE5835DAB959BB9C34F7064B70B050D78C71E8BB513D514E83CB9D3CFDB7456337523118015CDF2BE9F8EA56540F4D52CA540782582063179F731829D60AADE12A1398C07B7A905CC38E7D9901850C9B186946F5CA3E5840AFB5507C155030190ED67AF4FB4AD4D0A1B3BF5E9C484C188AED37779964AF79DC6BC153F28EA750A6E9842582D13052829892A20539A02D85FDBF50D594E00A0585840000D87980821A000CC80F1A13579C16840002D879808219FF441A014F9929840001D879808219FF441A014F9929840003D879808219FF441A014F9929840004D879808219FF441A014F9929A10081825820082137573F0C1A2C1DA89A4362C68B543AD06D40FDFFF2CB3ABAF55415A008A958402AB7BE62C1E47DB8BED432918CA3DA65F317166EBF83CD160ADEAFAACAA9AEC422A3EE3AA46F00C3D77EC7C4DB9FA154501A4A57E12A6CA7CBC65D7308234C06A10083825820E96948C0D58D889F8FD6A96998FD2D81BDB938BA02D70E4BB247C5C42F8EDCB05840A13B6BA03D4B787A096AC99E062E13C5BCEE78B445CBF38071C59AF78626EFDA278464D80CBF800E626492638076AA92444E0BF44953A1CD0AC3634B466CA506825820C4582835931C3157128A97E92368D91AEC6B99B6E346A644F8161CF5B785D1BD58409126CBA9CF8C2DE47257F06BFBDFA9A80A49FE5B85A1B3F09F2EE430AE5D4D83867DA7A58250FC819655D9AD02D43C9B43C33E68BDFF4F4D7E96142F0584160E8258206309F446E5A6A610A2772B6B79F9F732A242394DFA11AF85E93C614D9B1F061758401CFD4305ABB7944D71693AA37ABA95DAB88DACE9459B9595A43C17C01FAD3BA7104CBC98FBA52EF47C4B798ABEF6436549A8063D92C7A06D8C2A85FEE1DABF0EA100828258200A0BE7275F9E21BF296834661D8A7561DA758E3964697908165FBEA1E044AD8358409C30A946A3D4FDBFAD7F429DD20ECE8E53842273BBD403CCB1F6A67BFF14F680B026B41C8E1F6A80C9F7BB905C1C5F4B07007CBF5B9CAD319FEFCEF8F830D101825820013EADB6FF091D95D7AF8C6C5985265E13D37FF0A691C9C17EC6B2C1754AC04C58403B84248F24131BE536AFF944CDA14CE511B591493729A91ECA3C40DC6F1AB5D095C89F46AC2705C3F4538EA52882EE6261045650ACFA9D0AF3B5BEEBAACE9D00A100838258202739D5760F6856FE47ABF08711E4A07FBD3CE16E8EDF2468E212025B15A2919F5840E69001A30506D10AD31E9BFE3481EC84288D0CC4F7736D4BEBACD13CDA5936F1790E23781CA7A4073A8F580051F176B9FE18237E312661AC4D96B75F33405F0E8258202739D5760F6856FE47ABF08711E4A07FBD3CE16E8EDF2468E212025B15A2919F5840E69001A30506D10AD31E9BFE3481EC84288D0CC4F7736D4BEBACD13CDA5936F1790E23781CA7A4073A8F580051F176B9FE18237E312661AC4D96B75F33405F0E8258202739D5760F6856FE47ABF08711E4A07FBD3CE16E8EDF2468E212025B15A2919F5840E69001A30506D10AD31E9BFE3481EC84288D0CC4F7736D4BEBACD13CDA5936F1790E23781CA7A4073A8F580051F176B9FE18237E312661AC4D96B75F33405F0EA100838258202AC7E4E3A3CE0209BD8F38AD6D112FFB2634D6689EF44FF2A28845F7F1E4C3D9584018CCB8B8264B8C56571FAD729E3F420F228B6071804E372EF759C4B791588892995224A6E2A0A6D41613F25F1936C103066D8E9C6D9509EB513D9DD80AAC55078258202AC7E4E3A3CE0209BD8F38AD6D112FFB2634D6689EF44FF2A28845F7F1E4C3D9584018CCB8B8264B8C56571FAD729E3F420F228B6071804E372EF759C4B791588892995224A6E2A0A6D41613F25F1936C103066D8E9C6D9509EB513D9DD80AAC55078258202AC7E4E3A3CE0209BD8F38AD6D112FFB2634D6689EF44FF2A28845F7F1E4C3D9584018CCB8B8264B8C56571FAD729E3F420F228B6071804E372EF759C4B791588892995224A6E2A0A6D41613F25F1936C103066D8E9C6D9509EB513D9DD80AAC5507A204A11902A2A1636D736781781B4D696E737761703A205632205374616B65206C697175696469747905A080")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); - const int concurrencyLevel = 10; // Number of parallel tasks - const int iterationsPerTask = 1000; // Number of deserializations per task + const int concurrencyLevel = 1; // Number of parallel tasks + const int iterationsPerTask = 1; // Number of deserializations per task List tasks = Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => { diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs index 4d92e244..1163a5fc 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs @@ -44,7 +44,7 @@ public record PlutusDefiniteBytes(byte[] Value) : PlutusBytes; [CborConverter(typeof(BytesConverter))] [CborTag(2)] -public record PlutusBytesWithTag(PlutusBytes Value) : PlutusData; +public record PlutusBytesWithTag(byte[] Value) : PlutusBytes; [CborConverter(typeof(UnionConverter))] diff --git a/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs index 73dce5ca..1a0f8fa5 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs @@ -31,7 +31,6 @@ public T Deserialize(byte[] data) where T : CborBase } // Use reflection to find a constructor that accepts byte[] - // Use reflection to create an instance of T ConstructorInfo constructor = typeof(T).GetConstructor([typeof(byte[])]) ?? throw new InvalidOperationException($"Type {typeof(T).Name} does not have a constructor that accepts a byte[]."); diff --git a/src/Chrysalis/Cbor/Types/Primitives/CborRationalNumber.cs b/src/Chrysalis/Cbor/Types/Primitives/CborRationalNumber.cs index 4549b91a..d3d2a9bb 100644 --- a/src/Chrysalis/Cbor/Types/Primitives/CborRationalNumber.cs +++ b/src/Chrysalis/Cbor/Types/Primitives/CborRationalNumber.cs @@ -4,4 +4,5 @@ namespace Chrysalis.Cbor.Types.Primitives; [CborConverter(typeof(RationalNumberConverter))] +[CborTag(30)] public record CborRationalNumber(ulong Numerator, ulong Denominator) : CborBase; From ebf3b2f8bff7322f6314a1aa69f88a1df6af685d Mon Sep 17 00:00:00 2001 From: rjlacanlaled Date: Tue, 10 Dec 2024 19:49:03 -0500 Subject: [PATCH 062/162] version bump to 0.5.4 --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index e89704f6..06e4106a 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.3 + 0.5.4 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From f9b42dfd88a409003d7e2a0aa63dd271f0fad3af Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Thu, 12 Dec 2024 08:12:58 +0800 Subject: [PATCH 063/162] feat: add Jpg AcceptOfferRedeemer type (#72) * feat: add JpegAcceptOfferRedeemer type with CBOR serialization support * fix: renamed to AcceptOfferRedeemer --- .../Cardano/Jpg/Types/Redeemers/AcceptOfferRedeemer.cs | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/Chrysalis/Cardano/Jpg/Types/Redeemers/AcceptOfferRedeemer.cs diff --git a/src/Chrysalis/Cardano/Jpg/Types/Redeemers/AcceptOfferRedeemer.cs b/src/Chrysalis/Cardano/Jpg/Types/Redeemers/AcceptOfferRedeemer.cs new file mode 100644 index 00000000..853bbf23 --- /dev/null +++ b/src/Chrysalis/Cardano/Jpg/Types/Redeemers/AcceptOfferRedeemer.cs @@ -0,0 +1,9 @@ +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Converters.Primitives; +using Chrysalis.Cbor.Types; + +namespace Chrysalis.Cardano.Jpg.Types.Redeemers; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(1)] +public record AcceptOfferRedeemer() : CborBase; \ No newline at end of file From ae86ac57099fbe72abf7bd8f768d5a2a7c2ce6c8 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Wed, 11 Dec 2024 19:14:04 -0500 Subject: [PATCH 064/162] fix: support cip 68 with or without extra #79 --- src/Chrysalis.Test/CborTests.cs | 9 ++++++--- src/Chrysalis/Plutus/Types/CIP68.cs | 28 ++++++++++++++++++++++------ 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 87fb0aaa..8c6adf17 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -1,9 +1,12 @@ using System.Reflection; using System.Text.Json; using Chrysalis.Cardano.Core.Types.Block; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Script; using Chrysalis.Cardano.Crashr.Types.Datums; using Chrysalis.Cbor.Converters; using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Plutus.Types; using Chrysalis.Test.Types; using Chrysalis.Test.Types.Cardano.Crashr; using Chrysalis.Test.Types.Primitives; @@ -67,7 +70,7 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("85828A1A00A846CA1A08444B855820EF6E8FF353426D61896C85A6CD72D8769A90EADAFA115C70AD5F4A500C68D3475820654CE74EAD58C1C071480B49017CAF7F1E5D6E5B38393D9D6830186771ED22F25820E096EE4825A069B659B1873757266D501066AF91C1DF6BF3792E1E536F79D97E825840BE40257BDA55203DFC1E5792E9C04F86F5391ED9984358D2A36405952294FAEF17061A39B981396138927D83EEEDF0249EE043E794B046256D9849ECB97DDB4B58503EF29269DD127560C9CA56487F63A9CEDAC4DC31E13939A8623C7A78014C7BFBCEB8A370CBBD6E236E5269BBC96B6B9844FF57752618D844BD75B6A94BE02750A1807B86A030977A7EC37A2EB4BDBF0519210458204FE727A622228E3DAB02125012E18B3FBA5AC73300BC49CC210DE3D6E29D489D845820F8CE9C00C14A66B26FCB405B2FE29641DA3525598F65201B504C37FD9FEDD149181C19041B5840E0C42C2AF9EE76FE7288E23E6FBD850C5F5849B4AF2280CFDFEB45744CC7BE72A3C6E35B5ADA363FFD27EFB937611E9193817309A1DDB1BEAB741FCBBE2F2D0A8209015901C081738512E10B15E5641321088C3D2EE8C502A33C3C1092B9FF4834B179102DF438D290A3C230CD2D54442752219905D3DAF717D0D06BC912819EB7A5388B020093B4C3F0246D7EAD77AD4736D035F1189C4BECC330EB3E1B357C6B264905B1C6521893E69F8FD322232B9A7F7EEC8A95CF76F61E444BD70224F9D3D49B4834ABC64D028FB335DBFD8BA238CAE6C39F25BA6CD03C33DFA1670DEEE1643DA07846B0E9B0537C9EA698868548D94C19EDE5B166382C025FC7B27595A212DC49ACBBEE0AF0CFCDE3029A31A6C52349EE2E4816F24DDEE3955FA145C9AACE5028FCA168E8438B141906BA46DF3D8E897733F40874C0F2302DD9E5A6A61E06CB156E9D7D0309D864893263FA647E0314254E079F1D7E55E55F6E7DAE9B59CEC685EF85F81957D25DDC655157A4028BF12878A78040D23191A05BBFF09FAC19B4DEC677732306ED26FF6EA0146E6447425299D2B68696FE9E9FB66DD42F43384994B33DCC5FF8D2F50B348136601F690CB8AA9774C7B20E0DA8B53234896AAB4F995F383845C558356A5539595040416A84BEE569E0F9DBFEFD410850FD6A8FE22B2D70E5DD5C10354DAF1C6DAFA017BF56A41555824E84190776055447FBEC3E1442818BA900838258202DB14AB864618B1122A64833821A2D1F27D2093903CD54A739D794664AADC5FE0082582092E608F4CF0AFB3B8E0A8E6DCB9851CFBFC57F644B7220BB7BEFD7664FDA63CC00825820ADEB557995EE9B8D7A1F804EE7D6406F37DD623DED07752AD28FE409BBA0651B020183A300583911AF97793B8702F381976CEC83E303E9CE17781458C73C4BB16FE02B830AC31F2D917E3138C55E66CF93141C814FB9708C18A789A3C21F41F801821A82AF47C3A2581C6FDC63A1D71DC2C65502B79BAAE7FB543185702B12C3C5FB639ED737A2414C015820A721B984DA1AF326CBEB062B7230206E111CF0E24DA83DF5148E97B26919D67C1B7FFFFFFF03740E66581C95A427E384527065F2F8946F5E86320D0117839A5E98EA2C0B55FB00A14448554E541B00000001F0E78FE4028201D8185874D8799F581CC134D839A64A5DFB9B155869EF3F34280751A622F69958BAA8FFD29C4040581C95A427E384527065F2F8946F5E86320D0117839A5E98EA2C0B55FB004448554E54181E0500001927101A001E84801B00000192DB84AF981A002556E41A00A154A600000000D87A80D87A80D87980FF825839017FBB4763847B9EC49A132D5359BD86AAECDE9275A03AEF294FFB79D0FA34F3B651ECB6A75834C80DC1FD162FEB1D1B4CDCEF0D065A5785AA821A003010B0A1581C95A427E384527065F2F8946F5E86320D0117839A5E98EA2C0B55FB00A14448554E541A100CC452825839010B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA47754858DDD2795AAB89617D72D7D240ABCCD036FA4B761FA39787A3821A04F95C1BA1581C1AD3767073087DF4FC97FBA7AC4A71A0A6CD556F1AD96A7B1C9870C4A1415801021A000750F7031A08446072081A08444B5C0B5820BF3B9C8BA417C18C7D83D16509D41AB0A297D2F2AC87EB61349548DEFEDFCBD00D8182582063C5DEA8DA9F5241AC8D6359354F2B322AEA0698EBD59845D62F362D6DDDB6F6000E81581C0B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA12828258205EC56338104FCBFE32288C649D9633F0D9060ABCE8B8608B156294F0A81D29E201825820BABC647257B8D78B86E862BA9769401714ED403E7C46ED1B59C3FC32E0247C8200A40081825820CBD2893F7EB5F02E25C4A4FCA2272C3EB8F04264E6FC6CF7A766676A6E3B579D01018282583901DC36284268BD50351659A4C60381B0BBF18BE5F465A9971AC350C251A71EF71005C80F23B9951C36F0A79407F20A5745F59AE85EAAC6CE131A0385DBDE82581D61D91EF01B73F3010BB173945CF5417257C00C002715A13052015AB54F1A02664935021A0002CD30031A0844596CA300858258203966019E8777746C698930271541A0C2025B1601FD9C8EAC86B4E503B476DCF104825820678EEC2E5E9FB8C1DEACC31276DDD21983B80D67A3635EE6C5FBACDE6514A1D3038258206EE8AAE4F468D747CD1B929499E50DA36D9D580C482343CF0200C1296D9761F60382582073EB0192149F8B9392AECE9C0A3BDBCBB5F854335CF925DB195C2C6CC314FB5702825820D85B78DCDE08345BBE2DB8D3EAAF05A9902C4D7C97466E59BA05D3689944C7D7010185A300581D71C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4C01821A003567E0A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581A38616F14028201D818590130D8799FD8799F581C63FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545ADFFD8799FD8799F581C63FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545ADFFD8799FD8799FD8799F581C4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C950FFFFFFFFD87980D8799FD8799F581C63FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545ADFFD8799FD8799FD8799F581C4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C950FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C5820686DB0C143A3A2CC19099D8909E315C4ED761A6AC5A3C5998C651D5E9D3CB253FFD8799FD87980D8799F1A38616F14FF1A1F988640D87980FF1A0016E360D87A80FF8258390163FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545AD4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C950821A001E8480A1581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1B0000000BA43B74008258390163FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545AD4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C950821A001E8480A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581A5B05BEBF8258390163FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545AD4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C950821A001E8480A1581CE5A42A1A1D3D1DA71B0449663C32798725888D2EB0843C4DABECA05AA151576F726C644D6F62696C65546F6B656E581A5B05BEBF8258390163FF16ED0B3B904E7B6DA17D8EBB0C9869F700340BAF5B375D7545AD4D9BC45E5D191E408941D18DBBAC1D7CA737EB82134D12DA3D28C9501B000000023EEF3A12021A00032159A500D9010281825820B6AF09FB77EC8128625F07311B4EE78042C535A4759B906D97C97B62CB03310E00018182583901A521FCC70B1067A74C710DC4B9A936379352BE69ACF557D792EB7C6A19E1196351C34DDA37F60878EDD91BA863484B18BA75E613BB0A3C691B00000093B6239679021A0002E76D031A0844716E04D90102828A03581C09C932D2D572053C44F9162DFC8CF5E271AB1B3BDC1815B3D51C5151582003857824B92C68F67E176982EF11B45E6B0E1541305FFA532ECC81DF916755221B00000092AEED1C001A0A21FE80D81E820001581DE119E1196351C34DDA37F60878EDD91BA863484B18BA75E613BB0A3C69D9010281581C19E1196351C34DDA37F60878EDD91BA863484B18BA75E613BB0A3C69828301193500716275646431612E616972646E732E6F7267830119350B716275646432612E616972646E732E6F726782783768747470733A2F2F7261772E67697468756275736572636F6E74656E742E636F6D2F6F64796E672F62756464612F662F6D392E6A736F6E58203A9914695D787236D65001E89838DCFA90702AFC9FC86450A8B4C506CD3FCC7B83028200581C19E1196351C34DDA37F60878EDD91BA863484B18BA75E613BB0A3C69581C09C932D2D572053C44F9162DFC8CF5E271AB1B3BDC1815B3D51C5151AC00838258202BD18398F6D845C535038297208E8E0D08DC2F5F7401BFFCCB0E9733CFB7764300825820666225C3089B199FD3D1827BF967BB3DD71B9DBAF26E248F2727F62DB8CAB75100825820A8A0BFC5E3AD6DFA48A31157CD1737113271F0F4ABF81765DD848089A8810B9D01018382583901ADB1BF6A51B20FF1B8450726EF3891BB0E153D5BF47783375E2134AFBD6A096CBBA5E259946798E948403E2D2B3D9EA88A12EE8E7AE94497821A001C3D92A1581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A1476876424541524408A300581D71B15A1A010843E8AFB6F963B03D452BE815B533DAD0CD23D819C2D20101821A001FB2ECA1581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA1582052BD1E5A642E2141E8FB7EA6FA996960BC91DB0B040C6D35013CF3EFECAC2DFC1A00B00C73028201D81858CCD8799FD8799FD8799F581C814E1D11330F398CBF52DA38AD71926A3579C18D5F95D78FF6C64DF3FFD8799FD8799FD8799F581C7EF835A10E065DBACA71D9604348BD140E67D10E23C3C7D40E2B10C5FFFFFFFFD8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C582052BD1E5A642E2141E8FB7EA6FA996960BC91DB0B040C6D35013CF3EFECAC2DFCFF009FD8799FD8799F581C8D7526784EF72FE0CCDD085976ADA0DA88E7FB013E38E794B0923341454245415244FF1A00062112FFFFFF82583901814E1D11330F398CBF52DA38AD71926A3579C18D5F95D78FF6C64DF37EF835A10E065DBACA71D9604348BD140E67D10E23C3C7D40E2B10C51A0728E80A021A0004FC14031A0844757F075820A6D5E111373C28E492B40A5230816D74735B628F3AE78E3CC85CB162D7CA290209A1581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A14768764245415244080B58203E731E16CE923781489001473BBD204F4F5B63D0BFF730D847B5294ED0225B3B0D81825820A8A0BFC5E3AD6DFA48A31157CD1737113271F0F4ABF81765DD848089A8810B9D010E83581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67E581C7FE3920105A0AEBAAECC1B935CD5EBBD3CC8C28336449D27378825E1581C814E1D11330F398CBF52DA38AD71926A3579C18D5F95D78FF6C64DF31082583901814E1D11330F398CBF52DA38AD71926A3579C18D5F95D78FF6C64DF37EF835A10E065DBACA71D9604348BD140E67D10E23C3C7D40E2B10C51A06DF51F0111A004C4B401281825820A598AC624F82ABF6E49A6F3562489E373B18F8F6063620F2C905A56AADF91C5A00AC008682582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E80082582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E80282582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E80382582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E80482582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E805825820C4826D2B10BF82F77D5668579AC810653543A904604BD6D81E4C0E2BE20B92E8010182A300581D718C5A532C6332F85E6A927750E129ABA954EEC6EAD209CD72D08F5A3201821A00E4E1C0A3581C25C5DE5F5B286073C593EDFD77B48ABC7A48E5A4F3D4CD9D428FF935A144555344431B0000360449218B2A581CBB9CF64BFCA2C8611AEFB81B5341EC5F7DBA39EC2B6464A4E8A13E51A14001581CF37E16045A5AA79503C1E3A36C0892A04A6F4471E4A097C9C98D3854A14004028201D818479F0000000000FF82583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1AD052404D021A000609DE031A08444EC9075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A08444B450B5820FE9DC3C1D648F8EED13A06467141E04274CAD06809B6919326CA4517C832EA840D81825820C4826D2B10BF82F77D5668579AC810653543A904604BD6D81E4C0E2BE20B92E8010F011082583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1AD00BFEEB111A004C4B40128482582013A265B5FDF3BD287C30DA07427B90FBC0D7F5147EE27E1831498080C147C4E8018258204A686D10E241ABD38195CE47A4857AC191B647F13EC4DFDBAB33C0AD2FCAFEC300825820828B280093392E98A69996486321B4E1A8291998E0FE7A9BE6DEEB51F734D98900825820D87DC6BBE6E450D529A4514F4A85C7C450D88CED389F9FA73DFF0C47D4E3CF5D00A40081825820B70DB986DFDCAC122D8DEA2FD46148DF0D52BEAA8B9F5C1957E6AEF534E224B200018182583901EE17B587B28618EE9B12769801E0CEF4625762B8A2A29C95F89D2C21EE17B587B28618EE9B12769801E0CEF4625762B8A2A29C95F89D2C211B000000038F68F207021A00028759031A08483FC5A60084825820374056F437F749A703360DCFC48DA6D40C956DB95BC5851B80557794CD943BDD1859825820448B5581D33DB42EE60C6C6F9F5456D8B16A98CC12F9E1F9C8FDA0E260E17E30185C825820546CD4BD2115D97EF42C2435C978954BEB72FC4DED0D4A6957B06188CA684E501831825820D7BC12619246211B27FECDFA22517F992FFDD3FACBF6F90E37F4FDD98689CAFF1821018382583901A762BB598F45D5AF87F11779CE4B5336BFC2C2C7DAF0ADDD2AAB278A62F32A220120E877CCDD55FA86761EA7D93BA3CE6D6489E3C77AA6AC821A00191F54A4581C339EDCAD633AF825C1BB24D2B4277C63D3CA84357C1E27177B42B2DFA144544D494E01581C86F8493472E9048432DE4197E576AF6F6CAA4144C83EC63A67B79A3FA1465247454E535801581CBE9CA6E1EFF3A3175368BCF9C5AF4B5FD9ECB901450FEB481EBAC77CA1454141474958190C80581CCAA18329293A0FC71EAAD5B27DB33F27B47CDD58C0D3223977F46B70A146724941474F4E018258390106CFC004724E4309265426108AFB3803F92EB6A7556F3B641DCB000015B670EAAFC198195B0AC00EEAC5D20B65B965764D8140D8B17488671A05737C298258390106CFC004724E4309265426108AFB3803F92EB6A7556F3B641DCB000015B670EAAFC198195B0AC00EEAC5D20B65B965764D8140D8B17488671A004C4B40021A0002F47D031A0844757D05A1581DE115B670EAAFC198195B0AC00EEAC5D20B65B965764D8140D8B17488671A0595F2A00800A500818258204D78CF612314D74701925B6F21733DC4F3C6E7A32B28E8BA890B00A853BAE4AC00018182583901F0D829088263DED1FB14A88BE1BFB3E8E02AB92E291D4C4A3EBC1C688F3342EEC5F17686D68E13A68AE5CC6602DD185591775A85C92332F11B00000002560F5CFA021A00029E35031A08449FBC05A1581DE18F3342EEC5F17686D68E13A68AE5CC6602DD185591775A85C92332F11A0320793DA5008282582083EEAB7B859B66A9387A9F2C78382BDC2217877AA7ADA690A4C7D9C59AFA77A10082582083EEAB7B859B66A9387A9F2C78382BDC2217877AA7ADA690A4C7D9C59AFA77A101018282583901683E50145E2A146FBA95E87A30E98DAC4FC95C7028BB2B59ABCA2F74683E50145E2A146FBA95E87A30E98DAC4FC95C7028BB2B59ABCA2F741A000F424082583901683E50145E2A146FBA95E87A30E98DAC4FC95C7028BB2B59ABCA2F74683E50145E2A146FBA95E87A30E98DAC4FC95C7028BB2B59ABCA2F741A14743185021A0003917E031A3B9ACA0005A1581DE1683E50145E2A146FBA95E87A30E98DAC4FC95C7028BB2B59ABCA2F741A0086CC7DA5008282582052D8C79A39D9A3AF726372D3B36989CC953E3846EAA2D70F74C7E8DA7898E3F80082582052D8C79A39D9A3AF726372D3B36989CC953E3846EAA2D70F74C7E8DA7898E3F8010182825839013F917EB0DF493CEAA562A3CB0B18C48A01EDF28C5DF1188D992F66383F917EB0DF493CEAA562A3CB0B18C48A01EDF28C5DF1188D992F66381A000F4240825839013F917EB0DF493CEAA562A3CB0B18C48A01EDF28C5DF1188D992F66383F917EB0DF493CEAA562A3CB0B18C48A01EDF28C5DF1188D992F6638821B000000018F97126EA3581C269C0C6FB54095825E7F352EB667996872AF8D3A988E78595D5958F6A146544D494E763201581CB84D709A29B5F2F0F79D48941DF55D3E5823A1ECC290A6091D1F6841A34C437574794D616C3239333035014C437574794D616C3239333036014C437574794D616C323933303701581CE4BBBAA875A797578044EF27713D23DFE07CE74F33163E7C40D7F480A144544D494E01021A0003C556031A3B9ACA0005A1581DE13F917EB0DF493CEAA562A3CB0B18C48A01EDF28C5DF1188D992F66381A0029780E8BA20081825820FBC53E7AA4E5497D8662E8F0D5337441F629D1F237217BC24AC41BB6DE89F8415840EA148B1599B748217ED5A3C7852E5F89BFBA93C68DE36E9D0F0CF990043EE01CA6A87ADC80064B096E10AF1832215C285A2D8F160AC750AC2A8A9A77FDB122010582840000D8799F00029FD8799F0100FFFFFF821A000EFDD11A12C3436F840001D8799F00FF8219618A1A0066AFD8A10081825820393B3D3CAB6BE0897CBC87143CC3A24825DC1D8249DF4D37969502931CF856FF58408FB07FC71808B539D37FF3303ECB24BE497AB371FF571A541A1134CA51FAA8BD2365DD74D968F83452FBC198477495CC1073ABF27216D7CCA19453A824593703A10081825820AED1A7B47F61BEE6573CFD27181C9271BE6AC0FD2F0B013620E88B8B0E521BC75840831332C11952683DE001D60A765F1DDDE63776D171F9AFED55EBBE8EAD8168CFE9034FBA1B0BED6683CA7E3301B28676B53B8B45E0675C1718510097CDE83B0FA100D9010283825820D0B44D6A22841ADAFB1FA0294A8D7B994966C3F6E98E0C5251DA1DFED5A76E2158405E4E61DF69E4F7D25D3D9BD9432A8C8CD9BE9A34AD2A846CDA67FFA8C84E53B57DD0F92C6FD93A04D12333EE30E490DD7DD67B3F27D96C24A1CB4399B140700B825820F02163A5230F55881783214AF01653B8FDB45392B376E28CEA3B23E56480A88F5840907D0966AB17A29328631A15CA3109BF0A04928F219A33F12F51A44AFCDDE23CD7C71DC9E748F21C271A4B8BA6E37197BBEFA35E6B3A0A950A8F9FEC4110830782582061D2005E85D79E702CDC83FC0E890D59568D938BF9A5AD0E19BC133EA37EB76058404455009E1F678F930917E469D4D2120EBF349316982D6177FD36E1ABD4CEBFD841D322F27EFCBA04E65D19B4B6A3E6A84CB00075F85EA0124D49F9465163EA01A300848258205424FA10BA83C95C33714C420479C19183A7274E7C1D4161D173842C245B340C58402A550527CDCA1759A94035D2F56D6704125ACF953958023FF4E2FC007EA5597A8A665882DB8A7E70BC42234A4F82628019A08E573B1F14F512D383851E3D880E8258202DECD7E52458014264CB7C336E08824E1BDC31333AEAEB94A9A8FA7F1CAF6A275840DB5439BB91911BB34E60AD14E64DB1DBCE56BAAC07AB2DF9C4934D5EF2E3AB2662EC254CB2AB60F6D227FF5C8F729F077FB558279CF7F2F430CF9D826B7DA108825820D56B80334D8AE370256FBBB185AE46815A5E67676F7A97A76C5FED6BE808784758401CCD6327DF2F5F0E0A8DB90A765DB14AAD93518A2881D26B04AB3C1691F0F94817426DEC04A6ED0E067AA4DDE0E8526D6AB8B247F558832B903487F2F4537304825820FC1DC1D047E394103A1DCADC537994CAE3B7F08FB08D0200CC5E85E3AF16AA5858409A4C3C01C877BF2EEC0B1D658E8AA9856BFBC3E3CD6187286A62F0DA2D8605C5155A694240EE5932F0121FF78A682E835D5DCB61A166A39D5B8EAF43AE725D0001818200581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67E0581840001D87980821A000CA1A61A0C8EC42DA20082825820F44CE6186D190F8776FD871D753DF7AE503972E4793A2360A423D2F96021E6015840190C46CB5A2F5BF6F262433D8BCE5835DAB959BB9C34F7064B70B050D78C71E8BB513D514E83CB9D3CFDB7456337523118015CDF2BE9F8EA56540F4D52CA540782582063179F731829D60AADE12A1398C07B7A905CC38E7D9901850C9B186946F5CA3E5840AFB5507C155030190ED67AF4FB4AD4D0A1B3BF5E9C484C188AED37779964AF79DC6BC153F28EA750A6E9842582D13052829892A20539A02D85FDBF50D594E00A0585840000D87980821A000CC80F1A13579C16840002D879808219FF441A014F9929840001D879808219FF441A014F9929840003D879808219FF441A014F9929840004D879808219FF441A014F9929A10081825820082137573F0C1A2C1DA89A4362C68B543AD06D40FDFFF2CB3ABAF55415A008A958402AB7BE62C1E47DB8BED432918CA3DA65F317166EBF83CD160ADEAFAACAA9AEC422A3EE3AA46F00C3D77EC7C4DB9FA154501A4A57E12A6CA7CBC65D7308234C06A10083825820E96948C0D58D889F8FD6A96998FD2D81BDB938BA02D70E4BB247C5C42F8EDCB05840A13B6BA03D4B787A096AC99E062E13C5BCEE78B445CBF38071C59AF78626EFDA278464D80CBF800E626492638076AA92444E0BF44953A1CD0AC3634B466CA506825820C4582835931C3157128A97E92368D91AEC6B99B6E346A644F8161CF5B785D1BD58409126CBA9CF8C2DE47257F06BFBDFA9A80A49FE5B85A1B3F09F2EE430AE5D4D83867DA7A58250FC819655D9AD02D43C9B43C33E68BDFF4F4D7E96142F0584160E8258206309F446E5A6A610A2772B6B79F9F732A242394DFA11AF85E93C614D9B1F061758401CFD4305ABB7944D71693AA37ABA95DAB88DACE9459B9595A43C17C01FAD3BA7104CBC98FBA52EF47C4B798ABEF6436549A8063D92C7A06D8C2A85FEE1DABF0EA100828258200A0BE7275F9E21BF296834661D8A7561DA758E3964697908165FBEA1E044AD8358409C30A946A3D4FDBFAD7F429DD20ECE8E53842273BBD403CCB1F6A67BFF14F680B026B41C8E1F6A80C9F7BB905C1C5F4B07007CBF5B9CAD319FEFCEF8F830D101825820013EADB6FF091D95D7AF8C6C5985265E13D37FF0A691C9C17EC6B2C1754AC04C58403B84248F24131BE536AFF944CDA14CE511B591493729A91ECA3C40DC6F1AB5D095C89F46AC2705C3F4538EA52882EE6261045650ACFA9D0AF3B5BEEBAACE9D00A100838258202739D5760F6856FE47ABF08711E4A07FBD3CE16E8EDF2468E212025B15A2919F5840E69001A30506D10AD31E9BFE3481EC84288D0CC4F7736D4BEBACD13CDA5936F1790E23781CA7A4073A8F580051F176B9FE18237E312661AC4D96B75F33405F0E8258202739D5760F6856FE47ABF08711E4A07FBD3CE16E8EDF2468E212025B15A2919F5840E69001A30506D10AD31E9BFE3481EC84288D0CC4F7736D4BEBACD13CDA5936F1790E23781CA7A4073A8F580051F176B9FE18237E312661AC4D96B75F33405F0E8258202739D5760F6856FE47ABF08711E4A07FBD3CE16E8EDF2468E212025B15A2919F5840E69001A30506D10AD31E9BFE3481EC84288D0CC4F7736D4BEBACD13CDA5936F1790E23781CA7A4073A8F580051F176B9FE18237E312661AC4D96B75F33405F0EA100838258202AC7E4E3A3CE0209BD8F38AD6D112FFB2634D6689EF44FF2A28845F7F1E4C3D9584018CCB8B8264B8C56571FAD729E3F420F228B6071804E372EF759C4B791588892995224A6E2A0A6D41613F25F1936C103066D8E9C6D9509EB513D9DD80AAC55078258202AC7E4E3A3CE0209BD8F38AD6D112FFB2634D6689EF44FF2A28845F7F1E4C3D9584018CCB8B8264B8C56571FAD729E3F420F228B6071804E372EF759C4B791588892995224A6E2A0A6D41613F25F1936C103066D8E9C6D9509EB513D9DD80AAC55078258202AC7E4E3A3CE0209BD8F38AD6D112FFB2634D6689EF44FF2A28845F7F1E4C3D9584018CCB8B8264B8C56571FAD729E3F420F228B6071804E372EF759C4B791588892995224A6E2A0A6D41613F25F1936C103066D8E9C6D9509EB513D9DD80AAC5507A204A11902A2A1636D736781781B4D696E737761703A205632205374616B65206C697175696469747905A080")] + [InlineData("D87983AA436167654C4170722031332C20323032334370667082584068747470733A2F2F6173736574316B783038653333343761773861353075356A747239676D66786A35786133676C61366139746D2E6170652E6E667463646E2E5840696F2F696D6167653F73697A653D32353626746B3D5F42427751364B4B4D4A38684562596E585F5F5066304F7770617369775177586E4747417A327775465F77446E616D654D436974697A656E2023373539384566696C657383A3437372635835697066733A2F2F516D573377427264645673374459714541533956366E77626A4B6D646241363269656E3276773938647172467934446E616D654D436974697A656E202337353938496D656469615479706549696D6167652F706E67A3437372635835697066733A2F2F516D5842755158696A4450776A626853486D5A57454659534231576F46563171706E634D4D634170544553703148446E616D654850617373706F7274496D656469615479706549696D6167652F676966A3437372635835697066733A2F2F516D564C4D6F414A487A6D4D75615047685A50514C524C573563796B5665435357415331396755566B5262537261446E616D654850617373706F7274496D656469615479706549766964656F2F6D703445696D6167655835697066733A2F2F516D573377427264645673374459714541533956366E77626A4B6D646241363269656E327677393864717246793446476F6C64656E4566616C7365466F726967696E4F5468652041706520536F6369657479467374616D7073427B7D496D656469615479706549696D6167652F706E674A736F6C416464726573734001D879860181581CE36F43A40751C35295B19A218301CC7BE019D016E8927C0321FD28C7D87A80581CFCA746F58ADF9F3DA13B7227E5E2C6052F376447473F4D49F8004195D87A80D87A80")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); @@ -80,10 +83,10 @@ public async Task DeserializeBlock(string cbor) for (int i = 0; i < iterationsPerTask; i++) { // This call should be thread-safe and never fail if the code is correct - Block block = CborSerializer.Deserialize(cborRaw); + Cip68 cip68 = CborSerializer.Deserialize>(cborRaw); // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue - Assert.NotNull(block); + Assert.NotNull(cip68); } })).ToList(); diff --git a/src/Chrysalis/Plutus/Types/CIP68.cs b/src/Chrysalis/Plutus/Types/CIP68.cs index d0b84548..472caab7 100644 --- a/src/Chrysalis/Plutus/Types/CIP68.cs +++ b/src/Chrysalis/Plutus/Types/CIP68.cs @@ -1,4 +1,5 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction; using Chrysalis.Cbor.Attributes; using Chrysalis.Cbor.Converters.Primitives; using Chrysalis.Cbor.Types; @@ -7,16 +8,31 @@ namespace Chrysalis.Plutus.Types; + + +[CborConverter(typeof(UnionConverter))] +public abstract record Cip68 : CborBase; + +[CborConverter(typeof(ConstrConverter))] +[CborIndex(0)] +public record Cip68WithoutExtra( + [CborProperty(0)] + CborMap Metadata, + + [CborProperty(1)] + CborInt Version +) : Cip68; + [CborConverter(typeof(ConstrConverter))] [CborIndex(0)] -public record CIP68() : CborBase -{ +public record Cip68WithExtra( [CborProperty(0)] - public required CborMap Metadata { get; init; } + CborMap Metadata, [CborProperty(1)] - public required CborInt Version { get; init; } + CborInt Version, [CborProperty(2)] - public required T Extra { get; init; } -} \ No newline at end of file + T PlutusData +) : Cip68 where T : CborBase; + From 692dcbbc135c204f0b33b6d14bd5cbb978d41848 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Wed, 11 Dec 2024 19:15:10 -0500 Subject: [PATCH 065/162] chore: bump version to v0.5.5 --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 06e4106a..35f57f87 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.4 + 0.5.5 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From f791e13d7ada612b032038489717ae69f8f82977 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Fri, 13 Dec 2024 16:03:11 -0500 Subject: [PATCH 066/162] refactor: reflect cip68 types from cip and cddl (#81) --- src/Chrysalis.Test/CborTests.cs | 2 +- src/Chrysalis/Plutus/Types/CIP68.cs | 38 +++++++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 8c6adf17..805b8465 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -70,7 +70,7 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("D87983AA436167654C4170722031332C20323032334370667082584068747470733A2F2F6173736574316B783038653333343761773861353075356A747239676D66786A35786133676C61366139746D2E6170652E6E667463646E2E5840696F2F696D6167653F73697A653D32353626746B3D5F42427751364B4B4D4A38684562596E585F5F5066304F7770617369775177586E4747417A327775465F77446E616D654D436974697A656E2023373539384566696C657383A3437372635835697066733A2F2F516D573377427264645673374459714541533956366E77626A4B6D646241363269656E3276773938647172467934446E616D654D436974697A656E202337353938496D656469615479706549696D6167652F706E67A3437372635835697066733A2F2F516D5842755158696A4450776A626853486D5A57454659534231576F46563171706E634D4D634170544553703148446E616D654850617373706F7274496D656469615479706549696D6167652F676966A3437372635835697066733A2F2F516D564C4D6F414A487A6D4D75615047685A50514C524C573563796B5665435357415331396755566B5262537261446E616D654850617373706F7274496D656469615479706549766964656F2F6D703445696D6167655835697066733A2F2F516D573377427264645673374459714541533956366E77626A4B6D646241363269656E327677393864717246793446476F6C64656E4566616C7365466F726967696E4F5468652041706520536F6369657479467374616D7073427B7D496D656469615479706549696D6167652F706E674A736F6C416464726573734001D879860181581CE36F43A40751C35295B19A218301CC7BE019D016E8927C0321FD28C7D87A80581CFCA746F58ADF9F3DA13B7227E5E2C6052F376447473F4D49F8004195D87A80D87A80")] + [InlineData("D8799FA44A61747472696275746573B81F4C41746D6F73706865726963734A4669726520536D6F6B654742616C6472696355426C61636B20476F6C642043726F7373626F6E657344426173654946656D616C6520303745436F617473544C656174686572205472656E636820426C61636B4A436F696E20506F756368444E6F6E6547436F6D706173734642726F6B656E45436F776C734A436C6F746820476F6C6448456172204C65667446566F6F646F6F494561722052696768744B54726962616C20426F6E65444579657344426C75654F4579657320416573746865746963735052756E6564204379626572204C6566744A46616365204D61726B73464D6964646C654646616D696C794C57696C6C69616D204B69646447466F7274756E6542343744486169724F4379626572204375742057686974654B486F6C7374657220546F70534B72616B656E20476F6C64204469616D6F6E64444974656D444E6F6E654F4C6566742041726D20546174746F6F4B4465616420506972617465464D6F72616C6541304A4E616C62696E64696E67445475736B4A4E617669676174696F6E4235354B4E65636B20546174746F6F534F72646572206F6620746865204B72616B656E4452616E6B4943617270656E7465724A526573696C69656E63654235345052696768742041726D20546174746F6F4947656F6D65747269634352756D4852756D2046756C6C465368697274734B46656C667420436F7665724653776F7264734D506C61696E204375746C61737348576178205365616C4C476F6C6420576178204F544B4A576561706F6E20546F7052526F626572742773205265636B6F6E696E674B6261636B67726F756E64734B536B79206F6E20466972654B6465736372697074696F6E9F58394F544B20697320616E20656E64206F662074686520776F726C642C206675747572697374696320706972617465207468656D6564204E4654205825636F6C6C656374696F6E206F6E207468652043617264616E6F20626C6F636B636861696E2EFF45696D6167655835697066733A2F2F516D66356E42336E4B5870666A453636566B724873654D37515854584337707270465934555A54534A366A387233446E616D654C50697261746520233134313501FF")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); diff --git a/src/Chrysalis/Plutus/Types/CIP68.cs b/src/Chrysalis/Plutus/Types/CIP68.cs index 472caab7..aa434e42 100644 --- a/src/Chrysalis/Plutus/Types/CIP68.cs +++ b/src/Chrysalis/Plutus/Types/CIP68.cs @@ -17,7 +17,7 @@ public abstract record Cip68 : CborBase; [CborIndex(0)] public record Cip68WithoutExtra( [CborProperty(0)] - CborMap Metadata, + Cip68Metadata Metadata, [CborProperty(1)] CborInt Version @@ -27,7 +27,7 @@ CborInt Version [CborIndex(0)] public record Cip68WithExtra( [CborProperty(0)] - CborMap Metadata, + Cip68Metadata Metadata, [CborProperty(1)] CborInt Version, @@ -36,3 +36,37 @@ public record Cip68WithExtra( T PlutusData ) : Cip68 where T : CborBase; +[CborConverter(typeof(UnionConverter))] +public abstract record Cip68Metadata : CborBase; + + +[CborConverter(typeof(UnionConverter))] +public abstract record Cip68BigInt : Cip68Metadata; + + +[CborConverter(typeof(BytesConverter))] +[CborSize(64)] +[CborTag(2)] +public record Cip68BigUint(byte[] Value) : Cip68BigInt; + + +[CborConverter(typeof(BytesConverter))] +[CborSize(64)] +[CborTag(3)] +public record Cip68BigNint(byte[] Value) : Cip68BigInt; + + +[CborConverter(typeof(BytesConverter))] +[CborSize(64)] +public record Cip68BoundedBytes(byte[] Value) : Cip68Metadata; + + +[CborConverter(typeof(MapConverter))] +public record Cip68Map(Dictionary Value) : Cip68Metadata; + + +[CborConverter(typeof(ListConverter))] +public record Cip68List(List Value) : Cip68Metadata; + + + From efb39edce083625b772b23ce6908b29c54dbd50e Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Fri, 13 Dec 2024 16:04:31 -0500 Subject: [PATCH 067/162] chore: bump version to `v0.5.6` (#82) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 35f57f87..e4a04668 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.5 + 0.5.6 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From d0451f8a8a0978332d409c145f4b3ba0faa8fad7 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Sat, 14 Dec 2024 11:13:00 +0800 Subject: [PATCH 068/162] fix: add int type in Cip68BigInt (#83) --- src/Chrysalis/Plutus/Types/CIP68.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Chrysalis/Plutus/Types/CIP68.cs b/src/Chrysalis/Plutus/Types/CIP68.cs index aa434e42..23942cdc 100644 --- a/src/Chrysalis/Plutus/Types/CIP68.cs +++ b/src/Chrysalis/Plutus/Types/CIP68.cs @@ -43,6 +43,8 @@ public abstract record Cip68Metadata : CborBase; [CborConverter(typeof(UnionConverter))] public abstract record Cip68BigInt : Cip68Metadata; +[CborConverter(typeof(IntConverter))] +public record Cip68Int(int Value) : Cip68BigInt; [CborConverter(typeof(BytesConverter))] [CborSize(64)] From 0c3b16bce4182c65cc497836c1b1f5aebf00e2b8 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Sat, 14 Dec 2024 11:13:58 +0800 Subject: [PATCH 069/162] chore: bump Chrysalis to version `0.5.7` (#84) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index e4a04668..47df72f4 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.6 + 0.5.7 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From 07d76d11fe22376f5620f1177062c73f0ba7c4c6 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Tue, 17 Dec 2024 11:43:16 +0800 Subject: [PATCH 070/162] refactor: added shelley and mary type definitions while modifying Chrysalis extension simultaneously (#85) * refactor: added shelley and mary type definitions while modifying Chrysalis extension simultaneously * update extension functions to use either shelley or alonzo block type --------- Co-authored-by: rjlacanlaled --- .../{AssetExtenion.cs => AssetExtension.cs} | 10 ++- .../Core/Extensions/AuxiliaryDataExtension.cs | 48 ++++++++++++++ .../Cardano/Core/Extensions/BlockExtension.cs | 34 +++------- .../Core/Extensions/MetadataExtension.cs | 0 .../Extensions/TransactionBodyExtension.cs | 14 ++++ .../Extensions/TransactionInputExtension.cs | 5 +- .../Extensions/TransactionOutputExtension.cs | 49 ++++++++++++-- .../Cardano/Core/Types/Block/Block.cs | 17 ++--- .../Types/Block/Header/Body/HeaderBody.cs | 15 +++++ .../Certificates/MoveInstantaneousReward.cs | 2 +- .../Block/Transaction/Body/TransactionBody.cs | 64 +++++++++++++++---- .../Types/Block/Transaction/Transaction.cs | 22 ++++++- .../Block/Transaction/TransactionMetadatum.cs | 2 +- .../Transaction/WitnessSet/AuxiliaryData.cs | 2 +- .../WitnessSet/AuxiliaryScripts.cs | 0 .../WitnessSet/TransactionWitnessSet.cs | 35 +++++++++- 16 files changed, 257 insertions(+), 62 deletions(-) rename src/Chrysalis/Cardano/Core/Extensions/{AssetExtenion.cs => AssetExtension.cs} (92%) create mode 100644 src/Chrysalis/Cardano/Core/Extensions/MetadataExtension.cs create mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryScripts.cs diff --git a/src/Chrysalis/Cardano/Core/Extensions/AssetExtenion.cs b/src/Chrysalis/Cardano/Core/Extensions/AssetExtension.cs similarity index 92% rename from src/Chrysalis/Cardano/Core/Extensions/AssetExtenion.cs rename to src/Chrysalis/Cardano/Core/Extensions/AssetExtension.cs index d868fa42..76437be9 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/AssetExtenion.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/AssetExtension.cs @@ -4,7 +4,7 @@ namespace Chrysalis.Cardano.Core.Extensions; public static class AssetExtension { - public static ulong? Coin(this Value value) + public static ulong? Lovelace(this Value value) => value switch { Lovelace lovelace => lovelace.Value, @@ -12,6 +12,14 @@ public static class AssetExtension _ => null }; + public static ulong? QuantityOf(this Value value, string policyId, string assetName) => + value.MultiAsset() is { } multiAsset + && multiAsset.TryGetValue(policyId.ToLowerInvariant(), out var multiAssetOutput) + && multiAssetOutput.TokenBundle().TryGetValue(assetName.ToLowerInvariant(), out var quantity) + ? quantity + : null; + + public static Dictionary? MultiAsset(this Value value) => value switch { diff --git a/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs index 3ee03050..7ad9d66b 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs @@ -15,6 +15,31 @@ public static class AuxiliaryDataExtension _ => null }; + public static Dictionary GetMetadata(this AuxiliaryData data) + => data switch + { + PostAlonzoAuxiliaryDataMap x => x.Metadata?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value) ?? throw new InvalidOperationException("Metadata cannot be null in PostAlonzoAuxiliaryData."), + Metadata x => x.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + ShellyMaAuxiliaryData x => x.TransactionMetadata.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + _ => throw new NotImplementedException() + }; + + public static object GetMetadataValue(this TransactionMetadatum data) + => data switch + { + MetadatumMap x => x.Value, + MetadatumList x => x.Value, + MetadatumInt x => x switch + { + MetadatumIntLong longValue => longValue.Value, + MetadatumIntUlong ulongValue => ulongValue.Value, + _ => throw new NotImplementedException("Unhandled MetadatumInt type.") + }, + MetadatumBytes x => x.Value, + MetadataText x => x.Value, + _ => throw new NotImplementedException("Unsupported TransactionMetadatum type.") + }; + public static IEnumerable? NativeScripts(this AuxiliaryData auxiliaryData) => auxiliaryData switch { @@ -43,4 +68,27 @@ public static class AuxiliaryDataExtension PostAlonzoAuxiliaryDataMap post => post.PlutusV3ScriptSet?.Value.Select(script => script.Value), _ => null }; + + public static TransactionMetadatum? GetMetadatum(this AuxiliaryData auxiliaryData, ulong label) + => auxiliaryData.Metadata()?.TryGetValue(label, out var datum) == true ? datum : null; + + public static bool HasMetadata(this AuxiliaryData auxiliaryData) + => auxiliaryData.Metadata()?.Count > 0; + + public static bool HasNativeScripts(this AuxiliaryData auxiliaryData) + => auxiliaryData.NativeScripts()?.Any() == true; + + public static bool HasPlutusScripts(this AuxiliaryData auxiliaryData) + => auxiliaryData.PlutusV1Scripts()?.Any() == true + || auxiliaryData.PlutusV2Scripts()?.Any() == true + || auxiliaryData.PlutusV3Scripts()?.Any() == true; + + public static bool IsShelleyEra(this AuxiliaryData auxiliaryData) + => auxiliaryData is Metadata; + + public static bool IsShelleyMaEra(this AuxiliaryData auxiliaryData) + => auxiliaryData is ShellyMaAuxiliaryData; + + public static bool IsPostAlonzoEra(this AuxiliaryData auxiliaryData) + => auxiliaryData is PostAlonzoAuxiliaryDataMap; } \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs index 28c93500..4e724a65 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs @@ -12,9 +12,8 @@ public static class BlockExtension public static Block GetBlock(this Block block) => block switch { - PostAlonzoBlock postAlonzoBlock => postAlonzoBlock, ShelleyBlock shelleyBlock => shelleyBlock, - PreAlonzoBlock preAlonzoBlock => preAlonzoBlock, + AlonzoBlock alonzoBlock => alonzoBlock, _ => throw new NotImplementedException() }; @@ -32,9 +31,8 @@ public static ulong Slot(this Block block) public static BlockHeader Header(this Block block) => block switch { - PostAlonzoBlock postAlonzoBlock => postAlonzoBlock.Header, ShelleyBlock shelleyBlock => shelleyBlock.Header, - PreAlonzoBlock preAlonzoBlock => preAlonzoBlock.Header, + AlonzoBlock alonzoBlock => alonzoBlock.Header, _ => throw new NotImplementedException() }; @@ -57,14 +55,6 @@ public static ulong Number(this Block block) public static IEnumerable TransactionBodies(this Block block) => block switch { - PostAlonzoBlock postAlonzoBlock => postAlonzoBlock.TransactionBodies switch - { - CborDefList x => x.Value, - CborIndefList x => x.Value, - CborDefListWithTag x => x.Value, - CborIndefListWithTag x => x.Value, - _ => throw new NotImplementedException() - }, ShelleyBlock shelleyBlock => shelleyBlock.TransactionBodies switch { CborDefList x => x.Value, @@ -73,7 +63,7 @@ public static IEnumerable TransactionBodies(this Block block) CborIndefListWithTag x => x.Value, _ => throw new NotImplementedException() }, - PreAlonzoBlock preAlonzoBlock => preAlonzoBlock.TransactionBodies switch + AlonzoBlock alonzoBlock => alonzoBlock.TransactionBodies switch { CborDefList x => x.Value, CborIndefList x => x.Value, @@ -87,14 +77,6 @@ public static IEnumerable TransactionBodies(this Block block) public static IEnumerable TransactionWitnessSets(this Block block) => block switch { - PostAlonzoBlock postAlonzoBlock => postAlonzoBlock.TransactionWitnessSets switch - { - CborDefList x => x.Value, - CborIndefList x => x.Value, - CborDefListWithTag x => x.Value, - CborIndefListWithTag x => x.Value, - _ => throw new NotImplementedException() - }, ShelleyBlock shelleyBlock => shelleyBlock.TransactionWitnessSets switch { CborDefList x => x.Value, @@ -103,7 +85,7 @@ public static IEnumerable TransactionWitnessSets(this Blo CborIndefListWithTag x => x.Value, _ => throw new NotImplementedException() }, - PreAlonzoBlock preAlonzoBlock => preAlonzoBlock.TransactionWitnessSets switch + AlonzoBlock alonzoBlock => alonzoBlock.TransactionWitnessSets switch { CborDefList x => x.Value, CborIndefList x => x.Value, @@ -115,10 +97,12 @@ public static IEnumerable TransactionWitnessSets(this Blo }; public static Dictionary AuxiliaryDataSet(this Block block) - => block switch + { + return block switch { - PostAlonzoBlock postAlonzoBlock => postAlonzoBlock.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), - PreAlonzoBlock preAlonzoBlock => preAlonzoBlock.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + ShelleyBlock shelleyBlock => shelleyBlock.TransactionMetadataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + AlonzoBlock alonzoBlock => alonzoBlock.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), _ => throw new NotImplementedException() }; + } } diff --git a/src/Chrysalis/Cardano/Core/Extensions/MetadataExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/MetadataExtension.cs new file mode 100644 index 00000000..e69de29b diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs index 1f7bf505..5390036d 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs @@ -1,6 +1,7 @@ using Chrysalis.Cardano.Core.Types.Block.Transaction.Body; using Chrysalis.Cardano.Core.Types.Block.Transaction.Input; using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; +using Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; using Chrysalis.Cbor.Types.Collections; namespace Chrysalis.Cardano.Core.Extensions; @@ -72,9 +73,22 @@ public static IEnumerable Outputs(this TransactionBody transa _ => throw new NotImplementedException() }; + public static IEnumerable OutputsSentToAddress(this TransactionBody transactionBody, string address) + => transactionBody.Outputs().Where(output => output.Address()?.ToString().ToLowerInvariant() == address.ToLowerInvariant()); + + public static IEnumerable OutputsWithDatum(this TransactionBody transactionBody, byte[] datum) + => transactionBody.Outputs().Where(output => output.Datum()?.SequenceEqual(datum) ?? false); + + public static IEnumerable OutRefs(this TransactionBody transactionBody) + => transactionBody.Inputs().Select(input => input.OutRef()); + + public static byte[]? AuxiliaryDataHash(this TransactionBody transactionBody) => transactionBody switch { + ShelleyTransactionBody x => x.MetadataHash?.Value, + AllegraTransactionBody x => x.MetadataHash?.Value, + MaryTransactionBody x => x.MetadataHash?.Value, ConwayTransactionBody x => x.AuxiliaryDataHash?.Value, BabbageTransactionBody x => x.AuxiliaryDataHash?.Value, AlonzoTransactionBody x => x.AuxiliaryDataHash?.Value, diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs index 36f90e10..bf671c2e 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs @@ -9,4 +9,7 @@ public static string TransactionId(this TransactionInput transactionInput) public static ulong Index(this TransactionInput transactionInput) => transactionInput.Index.Value; -} \ No newline at end of file + + public static string OutRef(this TransactionInput transactionInput) + => $"{transactionInput.TransactionId()}#{transactionInput.Index()}"; +} diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs index 0c35a086..a9af9511 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs @@ -2,6 +2,14 @@ namespace Chrysalis.Cardano.Core.Extensions; + +public enum DatumType +{ + Inline, + Hash, + None +} + public static class TransactionOutputExtension { public static Address? Address(this TransactionOutput transactionOutput) @@ -24,6 +32,22 @@ public static class TransactionOutputExtension _ => null }; + public static ulong? Lovelace(this TransactionOutput output) + => output.Amount()?.Lovelace(); + + public static ulong? QuantityOf(this TransactionOutput output, string policyId, string assetName) + => output.Amount()?.QuantityOf(policyId, assetName); + + public static byte[] AddressValue(this TransactionOutput transactionOutput) + => transactionOutput switch + { + BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Address.Value, + AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Address.Value, + MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Address.Value, + ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Address.Value, + _ => throw new NotImplementedException() + }; + public static byte[]? ScriptRef(this TransactionOutput transactionOutput) => transactionOutput switch { @@ -34,13 +58,30 @@ public static class TransactionOutputExtension public static byte[]? Datum(this TransactionOutput transactionOutput) { DatumOption? datumOption = transactionOutput.DatumOption(); + byte[]? datumHash = transactionOutput.DatumHash(); - if (datumOption == null) + byte[]? rawData = datumOption switch { - return transactionOutput.DatumHash(); - } + DatumHashOption hashOption => hashOption.DatumHash.Value, + InlineDatumOption inlineOption => inlineOption.Data.Value, + _ => null + }; + + rawData ??= datumHash; - return datumOption.DatumHash() ?? datumOption.InlineDatum(); + return rawData; + } + + public static (DatumType DatumType, byte[]? RawData) DatumInfo(this TransactionOutput transactionOutput) + { + DatumOption? datumOption = transactionOutput.DatumOption(); + + return datumOption switch + { + DatumHashOption hashOption => (DatumType.Hash, hashOption.DatumHash.Value), + InlineDatumOption inlineOption => (DatumType.Inline, inlineOption.Data.Value), + _ => (DatumType.None, null) + }; } public static DatumOption? DatumOption(this TransactionOutput transactionOutput) diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Block.cs b/src/Chrysalis/Cardano/Core/Types/Block/Block.cs index ddff534f..40746502 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Block.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Block.cs @@ -13,29 +13,22 @@ namespace Chrysalis.Cardano.Core.Types.Block; [CborConverter(typeof(UnionConverter))] public abstract record Block : CborBase; -[CborConverter(typeof(CustomListConverter))] -public record PostAlonzoBlock( - [CborProperty(0)] BlockHeader Header, - [CborProperty(1)] CborMaybeIndefList TransactionBodies, - [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, - [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet, - [CborProperty(4)] CborMaybeIndefList? InvalidTransactions -) : Block; - [CborConverter(typeof(CustomListConverter))] public record ShelleyBlock( [CborProperty(0)] BlockHeader Header, [CborProperty(1)] CborMaybeIndefList TransactionBodies, [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, - [CborProperty(3)] CborMap TransactionMetadata + [CborProperty(3)] AuxiliaryDataSet TransactionMetadataSet ) : Block; + [CborConverter(typeof(CustomListConverter))] -public record PreAlonzoBlock( +public record AlonzoBlock( [CborProperty(0)] BlockHeader Header, [CborProperty(1)] CborMaybeIndefList TransactionBodies, [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, - [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet + [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet, + [CborProperty(4)] CborMaybeIndefList? InvalidTransactions ) : Block; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs index c32d7497..091b74dd 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs @@ -40,4 +40,19 @@ public record AlonzoHeaderBody( [CborProperty(12)] CborBytes Sigma, [CborProperty(13)] CborUlong ProtocolMajor, [CborProperty(14)] CborUlong ProtocolMinor +) : BlockHeaderBody; + +[CborConverter(typeof(CustomListConverter))] +public record ShelleyHeaderBody( + [CborProperty(0)] CborUlong BlockNumber, + [CborProperty(1)] CborUlong Slot, + [CborProperty(2)] CborNullable PrevHash, + [CborProperty(3)] CborBytes IssuerVKey, + [CborProperty(4)] CborBytes VrfVKey, + [CborProperty(5)] VrfCert NonceVrf, + [CborProperty(6)] VrfCert LeaderVrf, + [CborProperty(7)] CborUlong BlockBodySize, + [CborProperty(8)] CborBytes BlockBodyHash, + [CborProperty(9)] OperationalCert OperationalCert, + [CborProperty(10)] ProtocolVersion ProtocolVersion ) : BlockHeaderBody; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs index 63e07a84..bbdfc4a9 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs @@ -17,7 +17,7 @@ public abstract record Target : CborBase; [CborConverter(typeof(MapConverter))] -public record StakeCredentials(Dictionary Value) : CborBase; +public record StakeCredentials(Dictionary Value) : Target; [CborConverter(typeof(UlongConverter))] diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs index 70ad4ff9..0cec2673 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs @@ -13,29 +13,62 @@ namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body; [CborConverter(typeof(UnionConverter))] public abstract record TransactionBody : CborBase; +[CborConverter(typeof(CustomMapConverter))] +public record ShelleyTransactionBody( + [CborProperty(0)] CborMaybeIndefList Inputs, + [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(2)] CborUlong Fee, + [CborProperty(3)] CborUlong? TimeToLive, + [CborProperty(4)] CborMaybeIndefList? Certificates, + [CborProperty(5)] Withdrawals? Withdrawals, + [CborProperty(6)] Update? Update, + [CborProperty(7)] CborBytes? MetadataHash +) : TransactionBody; + [CborConverter(typeof(CustomMapConverter))] -public record ConwayTransactionBody( +public record AllegraTransactionBody( + [CborProperty(0)] CborMaybeIndefList Inputs, + [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(2)] CborUlong Fee, + [CborProperty(3)] CborUlong? TimeToLive, + [CborProperty(4)] CborMaybeIndefList? Certificates, + [CborProperty(5)] Withdrawals? Withdrawals, + [CborProperty(6)] Update? Update, + [CborProperty(7)] CborBytes? MetadataHash, + [CborProperty(8)] CborUlong? ValidityIntervalStart +) : TransactionBody; + +[CborConverter(typeof(CustomMapConverter))] +public record MaryTransactionBody( + [CborProperty(0)] CborMaybeIndefList Inputs, + [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(2)] CborUlong Fee, + [CborProperty(3)] CborUlong? TimeToLive, + [CborProperty(4)] CborMaybeIndefList? Certificates, + [CborProperty(5)] Withdrawals? Withdrawals, + [CborProperty(6)] Update? Update, + [CborProperty(7)] CborBytes? MetadataHash, + [CborProperty(8)] CborUlong? ValidityIntervalStart, + [CborProperty(9)] MultiAssetMint? Mint +) : TransactionBody; + +[CborConverter(typeof(CustomMapConverter))] +public record AlonzoTransactionBody( [CborProperty(0)] CborMaybeIndefList Inputs, [CborProperty(1)] CborMaybeIndefList Outputs, [CborProperty(2)] CborUlong Fee, [CborProperty(3)] CborUlong? TimeToLive, [CborProperty(4)] CborMaybeIndefList? Certificates, [CborProperty(5)] Withdrawals? Withdrawals, + [CborProperty(6)] Update? Update, [CborProperty(7)] CborBytes? AuxiliaryDataHash, [CborProperty(8)] CborUlong? ValidityIntervalStart, [CborProperty(9)] MultiAssetMint? Mint, [CborProperty(11)] CborBytes? ScriptDataHash, [CborProperty(13)] CborMaybeIndefList? Collateral, [CborProperty(14)] CborMaybeIndefList? RequiredSigners, - [CborProperty(15)] CborInt? NetworkId, - [CborProperty(16)] TransactionOutput? CollateralReturn, - [CborProperty(17)] CborUlong? TotalCollateral, - [CborProperty(18)] CborMaybeIndefList? ReferenceInputs, - [CborProperty(19)] VotingProcedures VotingProcedures, - [CborProperty(20)] CborMaybeIndefList? ProposalProcedures, - [CborProperty(21)] CborUlong? TreasuryValue, - [CborProperty(22)] CborUlong? Donation + [CborProperty(15)] CborInt? NetworkId ) : TransactionBody; [CborConverter(typeof(CustomMapConverter))] @@ -59,20 +92,27 @@ public record BabbageTransactionBody( [CborProperty(18)] CborMaybeIndefList? ReferenceInputs ) : TransactionBody; + [CborConverter(typeof(CustomMapConverter))] -public record AlonzoTransactionBody( +public record ConwayTransactionBody( [CborProperty(0)] CborMaybeIndefList Inputs, [CborProperty(1)] CborMaybeIndefList Outputs, [CborProperty(2)] CborUlong Fee, [CborProperty(3)] CborUlong? TimeToLive, [CborProperty(4)] CborMaybeIndefList? Certificates, [CborProperty(5)] Withdrawals? Withdrawals, - [CborProperty(6)] Update? Update, [CborProperty(7)] CborBytes? AuxiliaryDataHash, [CborProperty(8)] CborUlong? ValidityIntervalStart, [CborProperty(9)] MultiAssetMint? Mint, [CborProperty(11)] CborBytes? ScriptDataHash, [CborProperty(13)] CborMaybeIndefList? Collateral, [CborProperty(14)] CborMaybeIndefList? RequiredSigners, - [CborProperty(15)] CborInt? NetworkId + [CborProperty(15)] CborInt? NetworkId, + [CborProperty(16)] TransactionOutput? CollateralReturn, + [CborProperty(17)] CborUlong? TotalCollateral, + [CborProperty(18)] CborMaybeIndefList? ReferenceInputs, + [CborProperty(19)] VotingProcedures VotingProcedures, + [CborProperty(20)] CborMaybeIndefList? ProposalProcedures, + [CborProperty(21)] CborUlong? TreasuryValue, + [CborProperty(22)] CborUlong? Donation ) : TransactionBody; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Transaction.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Transaction.cs index 45c54467..aade3ac9 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Transaction.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Transaction.cs @@ -7,11 +7,29 @@ namespace Chrysalis.Cardano.Core.Types.Block.Transaction; +[CborConverter(typeof(UnionConverter))] +public abstract record Transaction : CborBase; + + +[CborConverter(typeof(CustomListConverter))] +public record ShelleyTransaction( + [CborProperty(0)] TransactionBody TransactionBody, + [CborProperty(1)] TransactionWitnessSet TransactionWitnessSet, + [CborProperty(2)] CborNullable TransactionMetadata +) : Transaction; + +[CborConverter(typeof(CustomListConverter))] +public record AllegraTransaction( + [CborProperty(0)] TransactionBody TransactionBody, + [CborProperty(1)] TransactionWitnessSet TransactionWitnessSet, + [CborProperty(2)] CborNullable AuxiliaryData +) : Transaction; + [CborConverter(typeof(CustomListConverter))] -public record Transaction( +public record PostMaryTransaction( [CborProperty(0)] TransactionBody TransactionBody, [CborProperty(1)] TransactionWitnessSet TransactionWitnessSet, [CborProperty(2)] CborBool IsValid, [CborProperty(3)] CborNullable AuxiliaryData -) : CborBase; +) : Transaction; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/TransactionMetadatum.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/TransactionMetadatum.cs index 50fa1dd1..c14146de 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/TransactionMetadatum.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/TransactionMetadatum.cs @@ -38,4 +38,4 @@ public record MetadatumIntLong(long Value) : MetadatumInt; [CborConverter(typeof(UlongConverter))] -public record MetadatumIntULong(ulong Value) : MetadatumInt; \ No newline at end of file +public record MetadatumIntUlong(ulong Value) : MetadatumInt; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryData.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryData.cs index b0514ca0..b315bc3c 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryData.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryData.cs @@ -30,4 +30,4 @@ public record Metadata(Dictionary Value) : Auxi public record ShellyMaAuxiliaryData( [CborProperty(0)] Metadata TransactionMetadata, [CborProperty(1)] CborDefList AuxiliaryScripts -) : AuxiliaryData; +) : AuxiliaryData; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryScripts.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryScripts.cs new file mode 100644 index 00000000..e69de29b diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs index 540e9589..41c04c0e 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs @@ -7,8 +7,39 @@ namespace Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; +[CborConverter(typeof(UnionConverter))] +public abstract record TransactionWitnessSet : CborBase; + +[CborConverter(typeof(CustomMapConverter))] +public record ShelleyTransactionWitnessSet( + [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, + [CborProperty(1)] CborMaybeIndefList? NativeScriptSet, + [CborProperty(2)] CborMaybeIndefList? BootstrapWitnessSet +) : TransactionWitnessSet; + +[CborConverter(typeof(CustomMapConverter))] +public record AlonzoTransactionWitnessSet( + [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, + [CborProperty(1)] CborMaybeIndefList? NativeScriptSet, + [CborProperty(2)] CborMaybeIndefList? BootstrapWitnessSet, + [CborProperty(3)] CborMaybeIndefList? PlutusV1ScriptSet, + [CborProperty(4)] CborMaybeIndefList? PlutusDataSet, + [CborProperty(5)] Redeemers? Redeemers +) : TransactionWitnessSet; + +[CborConverter(typeof(CustomMapConverter))] +public record BabbageTransactionWitnessSet( + [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, + [CborProperty(1)] CborMaybeIndefList? NativeScriptSet, + [CborProperty(2)] CborMaybeIndefList? BootstrapWitnessSet, + [CborProperty(3)] CborMaybeIndefList? PlutusV1ScriptSet, + [CborProperty(4)] CborMaybeIndefList? PlutusDataSet, + [CborProperty(5)] Redeemers? Redeemers, + [CborProperty(6)] CborMaybeIndefList? PlutusV2ScriptSet +) : TransactionWitnessSet; + [CborConverter(typeof(CustomMapConverter))] -public record TransactionWitnessSet( +public record ConwayTransactionWitnessSet( [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, [CborProperty(1)] CborMaybeIndefList? NativeScriptSet, [CborProperty(2)] CborMaybeIndefList? BootstrapWitnessSet, @@ -17,4 +48,4 @@ public record TransactionWitnessSet( [CborProperty(5)] Redeemers? Redeemers, [CborProperty(6)] CborMaybeIndefList? PlutusV2ScriptSet, [CborProperty(7)] CborMaybeIndefList? PlutusV3ScriptSet -) : CborBase; +) : TransactionWitnessSet; \ No newline at end of file From e2e5c12e93a02d204f58c4da82730786db05cfea Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Tue, 17 Dec 2024 11:43:43 +0800 Subject: [PATCH 071/162] chore: bump Chrysalis version to 0.5.8 (#86) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 47df72f4..4d1558df 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.7 + 0.5.8 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From 2151eee14ec196040349d56cb71590d61cc4fd6f Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Wed, 18 Dec 2024 03:17:07 +0800 Subject: [PATCH 072/162] refactor: modify MultiAsset,Value and TransactionWitnessSet extensions (#87) * refactor: modify MultiAsset,Value and TransactionWitnessSet extensions * fix warnings on union converter --------- Co-authored-by: rjlacanlaled --- .../Core/Extensions/AuxiliaryDataExtension.cs | 2 +- .../Cardano/Core/Extensions/BlockExtension.cs | 27 ++ ...setExtension.cs => MultiAssetExtension.cs} | 48 +--- .../Core/Extensions/TokenBundleExtension.cs | 18 ++ .../Extensions/TransactionBodyExtension.cs | 51 +++- .../Extensions/TransactionInputExtension.cs | 2 +- .../TransactionWitnessSetExtension.cs | 230 ++++++++++++++++++ .../Cardano/Core/Extensions/ValueExtension.cs | 40 +++ .../Converters/Primitives/UnionConverter.cs | 19 +- 9 files changed, 376 insertions(+), 61 deletions(-) rename src/Chrysalis/Cardano/Core/Extensions/{AssetExtension.cs => MultiAssetExtension.cs} (66%) create mode 100644 src/Chrysalis/Cardano/Core/Extensions/TokenBundleExtension.cs create mode 100644 src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs create mode 100644 src/Chrysalis/Cardano/Core/Extensions/ValueExtension.cs diff --git a/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs index 7ad9d66b..aae9b9b9 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs @@ -84,7 +84,7 @@ public static bool HasPlutusScripts(this AuxiliaryData auxiliaryData) || auxiliaryData.PlutusV3Scripts()?.Any() == true; public static bool IsShelleyEra(this AuxiliaryData auxiliaryData) - => auxiliaryData is Metadata; + => auxiliaryData is Metadata; public static bool IsShelleyMaEra(this AuxiliaryData auxiliaryData) => auxiliaryData is ShellyMaAuxiliaryData; diff --git a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs index 4e724a65..7200229a 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs @@ -4,6 +4,7 @@ using Chrysalis.Cardano.Core.Types.Block.Transaction.Body; using Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; namespace Chrysalis.Cardano.Core.Extensions; @@ -25,9 +26,18 @@ public static ulong Slot(this Block block) { AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.Slot.Value, BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.Slot.Value, + ShelleyHeaderBody shelleyHeaderBody => shelleyHeaderBody.Slot.Value, _ => throw new NotImplementedException() }; + public static List InputOutRefs(this Block block) + => block.TransactionBodies() + .SelectMany( + tx => tx.Inputs(), + (tx, input) => input.TransactionId() + input.Index().ToString() + ) + .ToList(); + public static BlockHeader Header(this Block block) => block switch { @@ -41,6 +51,7 @@ public static BlockHeaderBody HeaderBody(this Block block) { AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody, BabbageHeaderBody babbageHeaderBody => babbageHeaderBody, + ShelleyHeaderBody shelleyHeaderBody => shelleyHeaderBody, _ => throw new NotImplementedException() }; @@ -49,6 +60,7 @@ public static ulong Number(this Block block) { AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.BlockNumber.Value, BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.BlockNumber.Value, + ShelleyHeaderBody shelleyHeaderBody => shelleyHeaderBody.BlockNumber.Value, _ => throw new NotImplementedException() }; @@ -105,4 +117,19 @@ public static Dictionary AuxiliaryDataSet(this Block block) _ => throw new NotImplementedException() }; } + + public static IEnumerable? InvalidTransactions(this Block block) + => block switch + { + ShelleyBlock shelleyBlock => null, + AlonzoBlock alonzoBlock => alonzoBlock.InvalidTransactions switch + { + CborDefList x => x.Value.Select(x => x.Value), + CborIndefList x => x.Value.Select(x => x.Value), + CborDefListWithTag x => x.Value.Select(x => x.Value), + CborIndefListWithTag x => x.Value.Select(x => x.Value), + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; } diff --git a/src/Chrysalis/Cardano/Core/Extensions/AssetExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/MultiAssetExtension.cs similarity index 66% rename from src/Chrysalis/Cardano/Core/Extensions/AssetExtension.cs rename to src/Chrysalis/Cardano/Core/Extensions/MultiAssetExtension.cs index 76437be9..23ab421d 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/AssetExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/MultiAssetExtension.cs @@ -2,42 +2,8 @@ namespace Chrysalis.Cardano.Core.Extensions; -public static class AssetExtension +public static class MultiAssetExtension { - public static ulong? Lovelace(this Value value) - => value switch - { - Lovelace lovelace => lovelace.Value, - LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.Lovelace.Value, - _ => null - }; - - public static ulong? QuantityOf(this Value value, string policyId, string assetName) => - value.MultiAsset() is { } multiAsset - && multiAsset.TryGetValue(policyId.ToLowerInvariant(), out var multiAssetOutput) - && multiAssetOutput.TokenBundle().TryGetValue(assetName.ToLowerInvariant(), out var quantity) - ? quantity - : null; - - - public static Dictionary? MultiAsset(this Value value) - => value switch - { - LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.MultiAsset.Value - .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value).ToLowerInvariant(), kvp => kvp.Value), - _ => null - }; - - public static MultiAssetOutput? MultiAssetOutput(this Value value) - => value switch - { - LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.MultiAsset, - _ => null - }; - - public static bool WithMultiAsset(this Value value) - => value is LovelaceWithMultiAsset; - public static IEnumerable? PolicyId(this MultiAssetOutput multiAssetOutput) => multiAssetOutput.Value.Keys.Select(key => Convert.ToHexString(key.Value).ToLowerInvariant()); @@ -108,18 +74,6 @@ public static Dictionary TokenBundle(this MultiAssetMint multiAsse .ToDictionary(kvp => kvp.Key, kvp => kvp.Value); } - public static Dictionary TokenBundle(this TokenBundleOutput tokenBundleOutput) - { - return tokenBundleOutput.Value - .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value).ToLowerInvariant(), kvp => kvp.Value.Value); - } - - public static Dictionary TokenBundle(this TokenBundleMint tokenBundleMint) - { - return tokenBundleMint.Value - .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value).ToLowerInvariant(), kvp => kvp.Value.Value); - } - public static Dictionary? TokenBundleByPolicyId(this MultiAssetOutput multiAssetOutput, string policyId) { return multiAssetOutput.Value diff --git a/src/Chrysalis/Cardano/Core/Extensions/TokenBundleExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TokenBundleExtension.cs new file mode 100644 index 00000000..7b746d13 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Extensions/TokenBundleExtension.cs @@ -0,0 +1,18 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; + +namespace Chrysalis.Cardano.Core.Extensions; + +public static class TokenBundleExtension +{ + public static Dictionary TokenBundle(this TokenBundleOutput tokenBundleOutput) + { + return tokenBundleOutput.Value + .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value).ToLowerInvariant(), kvp => kvp.Value.Value); + } + + public static Dictionary TokenBundle(this TokenBundleMint tokenBundleMint) + { + return tokenBundleMint.Value + .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value).ToLowerInvariant(), kvp => kvp.Value.Value); + } +} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs index 5390036d..2edcaed5 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs @@ -17,7 +17,6 @@ public static IEnumerable Inputs(this TransactionBody transact { ConwayTransactionBody x => x.Inputs switch { - CborDefList list => list.Value, CborIndefList list => list.Value, CborDefListWithTag list => list.Value, @@ -40,6 +39,30 @@ public static IEnumerable Inputs(this TransactionBody transact CborIndefListWithTag tagList => tagList.Value, _ => throw new NotImplementedException() }, + MaryTransactionBody x => x.Inputs switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag tagList => tagList.Value, + CborIndefListWithTag tagList => tagList.Value, + _ => throw new NotImplementedException() + }, + AllegraTransactionBody x => x.Inputs switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag tagList => tagList.Value, + CborIndefListWithTag tagList => tagList.Value, + _ => throw new NotImplementedException() + }, + ShelleyTransactionBody x => x.Inputs switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag tagList => tagList.Value, + CborIndefListWithTag tagList => tagList.Value, + _ => throw new NotImplementedException() + }, _ => throw new NotImplementedException() }; @@ -70,6 +93,30 @@ public static IEnumerable Outputs(this TransactionBody transa CborIndefListWithTag list => list.Value, _ => throw new NotImplementedException() }, + MaryTransactionBody x => x.Outputs switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag tagList => tagList.Value, + CborIndefListWithTag tagList => tagList.Value, + _ => throw new NotImplementedException() + }, + AllegraTransactionBody x => x.Outputs switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag tagList => tagList.Value, + CborIndefListWithTag tagList => tagList.Value, + _ => throw new NotImplementedException() + }, + ShelleyTransactionBody x => x.Outputs switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag tagList => tagList.Value, + CborIndefListWithTag tagList => tagList.Value, + _ => throw new NotImplementedException() + }, _ => throw new NotImplementedException() }; @@ -82,7 +129,6 @@ public static IEnumerable OutputsWithDatum(this Transactio public static IEnumerable OutRefs(this TransactionBody transactionBody) => transactionBody.Inputs().Select(input => input.OutRef()); - public static byte[]? AuxiliaryDataHash(this TransactionBody transactionBody) => transactionBody switch { @@ -101,6 +147,7 @@ public static IEnumerable OutRefs(this TransactionBody transactionBody) ConwayTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), BabbageTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), AlonzoTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + MaryTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), _ => throw new NotImplementedException() }; } \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs index bf671c2e..16a8e144 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionInputExtension.cs @@ -11,5 +11,5 @@ public static ulong Index(this TransactionInput transactionInput) => transactionInput.Index.Value; public static string OutRef(this TransactionInput transactionInput) - => $"{transactionInput.TransactionId()}#{transactionInput.Index()}"; + => $"{transactionInput.TransactionId()}{transactionInput.Index()}"; } diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs new file mode 100644 index 00000000..803ef8da --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs @@ -0,0 +1,230 @@ + + +using Chrysalis.Cardano.Core.Types.Block.Transaction.Script; +using Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; +using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Primitives; + +namespace Chrysalis.Cardano.Core.Extensions; + +public static class TransactionWitnessSetExtension +{ + public static IEnumerable? VKeyWitnessSet(this TransactionWitnessSet transactionWitness) + => transactionWitness switch + { + ShelleyTransactionWitnessSet x => x.VKeyWitnessSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + AlonzoTransactionWitnessSet x => x.VKeyWitnessSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + BabbageTransactionWitnessSet x => x.VKeyWitnessSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + ConwayTransactionWitnessSet x => x.VKeyWitnessSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static Redeemers? Redeemers(this TransactionWitnessSet transactionWitness) + => transactionWitness switch + { + AlonzoTransactionWitnessSet x => x.Redeemers, + BabbageTransactionWitnessSet x => x.Redeemers, + ConwayTransactionWitnessSet x => x.Redeemers, + _ => throw new NotImplementedException() + }; + + public static IEnumerable? NativeScriptSet(this TransactionWitnessSet transactionWitness) + => transactionWitness switch + { + ShelleyTransactionWitnessSet x => x.NativeScriptSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + AlonzoTransactionWitnessSet x => x.NativeScriptSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + BabbageTransactionWitnessSet x => x.NativeScriptSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + ConwayTransactionWitnessSet x => x.NativeScriptSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static IEnumerable? BootstrapWitnessSet(this TransactionWitnessSet transactionWitness) + => transactionWitness switch + { + ShelleyTransactionWitnessSet x => x.BootstrapWitnessSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + AlonzoTransactionWitnessSet x => x.BootstrapWitnessSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + BabbageTransactionWitnessSet x => x.BootstrapWitnessSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + ConwayTransactionWitnessSet x => x.BootstrapWitnessSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static IEnumerable? PlutusDataSet(this TransactionWitnessSet transactionWitness) + => transactionWitness switch + { + AlonzoTransactionWitnessSet x => x.PlutusDataSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + BabbageTransactionWitnessSet x => x.PlutusDataSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + ConwayTransactionWitnessSet x => x.PlutusDataSet switch + { + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static IEnumerable? PlutusV1ScriptSet(this TransactionWitnessSet transactionWitness) + => transactionWitness switch + { + AlonzoTransactionWitnessSet x => x.PlutusV1ScriptSet switch + { + CborDefList list => list.Value.Select(x => x.Value).ToList(), + CborIndefList list => list.Value.Select(x => x.Value).ToList(), + CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), + CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), + _ => throw new NotImplementedException() + }, + BabbageTransactionWitnessSet x => x.PlutusV1ScriptSet switch + { + CborDefList list => list.Value.Select(x => x.Value).ToList(), + CborIndefList list => list.Value.Select(x => x.Value).ToList(), + CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), + CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), + _ => throw new NotImplementedException() + }, + ConwayTransactionWitnessSet x => x.PlutusV1ScriptSet switch + { + CborDefList list => list.Value.Select(x => x.Value).ToList(), + CborIndefList list => list.Value.Select(x => x.Value).ToList(), + CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), + CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static IEnumerable? PlutusV2ScriptSet(this TransactionWitnessSet transactionWitness) + => transactionWitness switch + { + BabbageTransactionWitnessSet x => x.PlutusV2ScriptSet switch + { + CborDefList list => list.Value.Select(x => x.Value).ToList(), + CborIndefList list => list.Value.Select(x => x.Value).ToList(), + CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), + CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), + _ => throw new NotImplementedException() + }, + ConwayTransactionWitnessSet x => x.PlutusV2ScriptSet switch + { + CborDefList list => list.Value.Select(x => x.Value).ToList(), + CborIndefList list => list.Value.Select(x => x.Value).ToList(), + CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), + CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; + + public static IEnumerable? PlutusV3ScriptSet(this TransactionWitnessSet transactionWitness) + => transactionWitness switch + { + ConwayTransactionWitnessSet x => x.PlutusV3ScriptSet switch + { + CborDefList list => list.Value.Select(x => x.Value).ToList(), + CborIndefList list => list.Value.Select(x => x.Value).ToList(), + CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), + CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), + _ => throw new NotImplementedException() + }, + _ => throw new NotImplementedException() + }; +} \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Extensions/ValueExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/ValueExtension.cs new file mode 100644 index 00000000..de492e20 --- /dev/null +++ b/src/Chrysalis/Cardano/Core/Extensions/ValueExtension.cs @@ -0,0 +1,40 @@ + +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; + +namespace Chrysalis.Cardano.Core.Extensions; + +public static class ValueExtension +{ + public static ulong? Lovelace(this Value value) + => value switch + { + Lovelace lovelace => lovelace.Value, + LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.Lovelace.Value, + _ => null + }; + + public static ulong? QuantityOf(this Value value, string policyId, string assetName) => + value.MultiAsset() is { } multiAsset + && multiAsset.TryGetValue(policyId.ToLowerInvariant(), out var multiAssetOutput) + && multiAssetOutput.TokenBundle().TryGetValue(assetName.ToLowerInvariant(), out var quantity) + ? quantity + : null; + + public static Dictionary? MultiAsset(this Value value) + => value switch + { + LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.MultiAsset.Value + .ToDictionary(kvp => Convert.ToHexString(kvp.Key.Value).ToLowerInvariant(), kvp => kvp.Value), + _ => null + }; + + public static MultiAssetOutput? MultiAssetOutput(this Value value) + => value switch + { + LovelaceWithMultiAsset lovelaceWithMultiAsset => lovelaceWithMultiAsset.MultiAsset, + _ => null + }; + + public static bool WithMultiAsset(this Value value) + => value is LovelaceWithMultiAsset; +} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs index 1c3b6ccf..0af2f5bc 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs @@ -48,8 +48,8 @@ private static async Task ParallelDeserializeAsync(byte[] data, Type[] con { TaskCompletionSource successTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); - // Create a list of tasks that attempt to deserialize in parallel - Task[] tasks = concreteTypes.Select(async concreteType => + // Create tasks that run the deserialization attempts in parallel + Task[] tasks = concreteTypes.Select(concreteType => Task.Run(() => { if (successTcs.Task.IsCompleted) return; // If already succeeded, just return early. @@ -68,19 +68,18 @@ private static async Task ParallelDeserializeAsync(byte[] data, Type[] con // Ignore failures - if all fail, we handle that after all tasks complete. // But do not throw here, since we only want to fail if NO type works. } - }).ToArray(); + })).ToArray(); - // Wait until either one task succeeds (successTcs.Task) or all tasks finish (Task.WhenAll) - Task completed = await Task.WhenAny(successTcs.Task, Task.WhenAll(tasks)).ConfigureAwait(false); + // Wait for all tasks to complete + await Task.WhenAll(tasks); - if (completed == successTcs.Task) + // If no type succeeded, throw an exception + if (!successTcs.Task.IsCompleted) { - // We have a successful result - return await successTcs.Task.ConfigureAwait(false); + throw new InvalidOperationException("Failed to deserialize with any of the provided types"); } - // If we reach here, it means Task.WhenAll completed first and no task succeeded - throw new InvalidOperationException($"Unable to deserialize to any concrete type implementing {baseType.Name}."); + return await successTcs.Task; } private static Type GetClosedGenericType(Type concreteType, Type baseType) From 6befd31555e62fd694820a07969ce1ce525544b2 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Wed, 18 Dec 2024 03:17:32 +0800 Subject: [PATCH 073/162] chore: bump Chrysalis version to 0.5.9 (#88) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 4d1558df..ca92bd93 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.8 + 0.5.9 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From 6c02f64036c7827f9a00d126c3210f433356aac1 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 17 Dec 2024 14:51:36 -0500 Subject: [PATCH 074/162] fix: revert back to old union converter parallel deserialization logic to fix slow union converter deserialization (#89) --- src/Chrysalis.Test/CborTests.cs | 6 +++--- .../Converters/Primitives/UnionConverter.cs | 19 ++++++++++--------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 805b8465..8ac5b9dd 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -70,7 +70,7 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("D8799FA44A61747472696275746573B81F4C41746D6F73706865726963734A4669726520536D6F6B654742616C6472696355426C61636B20476F6C642043726F7373626F6E657344426173654946656D616C6520303745436F617473544C656174686572205472656E636820426C61636B4A436F696E20506F756368444E6F6E6547436F6D706173734642726F6B656E45436F776C734A436C6F746820476F6C6448456172204C65667446566F6F646F6F494561722052696768744B54726962616C20426F6E65444579657344426C75654F4579657320416573746865746963735052756E6564204379626572204C6566744A46616365204D61726B73464D6964646C654646616D696C794C57696C6C69616D204B69646447466F7274756E6542343744486169724F4379626572204375742057686974654B486F6C7374657220546F70534B72616B656E20476F6C64204469616D6F6E64444974656D444E6F6E654F4C6566742041726D20546174746F6F4B4465616420506972617465464D6F72616C6541304A4E616C62696E64696E67445475736B4A4E617669676174696F6E4235354B4E65636B20546174746F6F534F72646572206F6620746865204B72616B656E4452616E6B4943617270656E7465724A526573696C69656E63654235345052696768742041726D20546174746F6F4947656F6D65747269634352756D4852756D2046756C6C465368697274734B46656C667420436F7665724653776F7264734D506C61696E204375746C61737348576178205365616C4C476F6C6420576178204F544B4A576561706F6E20546F7052526F626572742773205265636B6F6E696E674B6261636B67726F756E64734B536B79206F6E20466972654B6465736372697074696F6E9F58394F544B20697320616E20656E64206F662074686520776F726C642C206675747572697374696320706972617465207468656D6564204E4654205825636F6C6C656374696F6E206F6E207468652043617264616E6F20626C6F636B636861696E2EFF45696D6167655835697066733A2F2F516D66356E42336E4B5870666A453636566B724873654D37515854584337707270465934555A54534A366A387233446E616D654C50697261746520233134313501FF")] + [InlineData("85828f1a006daa351a038f87a5582065941821aed592f317342c55c82f14dc62a6f1f64037df55b14e8ece8faa98ed58206f548211a4216db59480732c8fbe4999caf2fae8f3af876cd4d1ba9b070e94f05820d76beb45ac09b20f2a0a3b871b72f0bc57d058dce8db1ec6f8b7df5df7ff27cc825840803d335754c5fd00c735f06b534f7e082ffa89c9eeb27de07f76125f43f23f0d525b97b965b3398c054431bee9049d9b4757b5fefe82912f5f8509b20f8d331d5850abfac6767000ab4abe0395f13ba74c29726f20df066ef86818cc13c09b1046794b3d7c8257c5bf9b937810b3b0d7d348097e9ae645512ffff9c95d3b32d055ec2bc98944cfbc3374fa932f8e12592d0382584000023891df312ee3f91a4ce8d4e3acf23c189b9860164d248b57fad3601ed7111d3a8b5d4c692a5e8a4a28a7a8e42189d50e12f0da6a1244f4239339080a0c8a5850acd785a146b96a2a8306f2c1fae3b03719f2ae571caed351c73c4a074b990a903a842ade87489540300da5deb5ac363e8fcf4dfe1b2dc5461983d22ff777e733f3d64107067e5afc1d3e4220e60fb1021a000156a458207119161cffd41a7e68ced33bcf0ec2d698b18865c7a6b1d6f90406a9edb025a0582051de6695a017853041715fd93295dbd04fbaf51ea89f679e06e14ed0545482290119019a58400aa580babf904f571e372089247ae64a2159511822e3b6720ea63c8eb5f9b66c7a3cd98acccdda27a7ae959cb6e85082580c962199bf860183355ae8eb2a860006005901c0f424a73e2d7a0f97083a143232b6dc905a7118156af50272761938fe939cf6546dd13779e26cf8184a738eaca4eaffc83963ea971e83525076c3d48d52107902ebd593e2a693e851a0b70c53a3e448b64953326cc09e5e16da6fbb903f082520a9e1b8c0734ecb3517ae1b4e62f6a1826ea5331a2ed04fe19b9fd09aa5333339564e2c591d182ef391bae62ee54defbeddbfaa707bd210271b753fdbef1bb17f693360c94fe100ad021c389aaef1fc2a6123e9d194e552bf367ec21d079fb4100194d778daa5c16963e871c1eefeae8190608e2b45a1207f9bad319d02da705551e1a3da2f55c58351be145dc35b9446ca5abde490b46bb9ddacfa67f1995d37516538bcc04388f456f7813ff261d02c1217de7d6f9e457cbec8875f64da73ecc2cc8d83ea3545978bc7259b1972ee3c221500f4cc1301fac7f911c2e88ea82b1f08b1c7ab3394c077dbc369ebc573a4c8ed1c24fd2389a276750ba2925396054d565b643de2ea7ffb47a88479c49f67f3be3149ef3213f13092c4fc032de59719f8ce5cf6262aa7c995ae550d9119fce5258f627f0199a259dcbcc436378b1febba5ec708291f488d8d582ab2fe184d8f25e56d94d18a298814a210f5c3e7069fa9008482582008a09116f20c748b9c9314a39035a89f8082c3da76a8b76f07ef2db31e018064038258201a186157707f93cd3ac9e3f862eee39186940dcef7b7e5946764b3e78ebc13c40182582082582cfe587c39d8d5ff31ad3422573acd259f6d7d2bb1b6ce920f2580e2a04300825820ee798b2656dd9d37cb79f537041b51673a5d81268734536aae7abc5c5338a6bb000d8182582082582cfe587c39d8d5ff31ad3422573acd259f6d7d2bb1b6ce920f2580e2a04300018482581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d1a3045c62f82581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d821a00161934a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d313635323631383130363338370182583901f17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef688340ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853821a001e8480a2581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d03581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa61a1667d71283583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330952563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821b00000187651a6980a3581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa601581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1b00000ab207d424c05820d2a73711b0f913fa08b8fee5cc6c46b3db82aaf5ee1b6885640e07c52e4d40c5021a000dbbd9031a038f8b0a0e81581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d09a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa61a1667d7120b5820dc5fa6ed5ceb0b2f9582d20ddd055b07f599986be7e0deff99328a2b01c7c18207582007a0a5f883f6b1433dea02ef916312c1d82f1043093c92a048336ccfa2e6a4daa90084825820084365adeb284626d8a13262149a2d45f35833ef8493d7ed6b65c5cef420d1c803825820c20b57990a28be4bb340b54872444f875ee634b1c7aaa523a225a998081dad8c00825820e69f793381266c1f9e0351e7985c4bd8bf5e0b7da5e9a808f025b56a8baeeeec01825820fda54170be26d895bd5e95e510c4cf836270d2eab0e823732befaffc476e800d000d81825820c20b57990a28be4bb340b54872444f875ee634b1c7aaa523a225a998081dad8c00018482581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d1a2a037ed982581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d821a00161934a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d313635323631383130363338370182583901810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701e8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51821a001e8480a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21a39893f4483583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330952563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821b0000165e9e65c4c1a3581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a201581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1b0000b07b242994ef582066ad7ee3215bed62074be1b4a4c0acd519973bfac4793f0a0cf161164d7dc242021a000df85f031a038f8b0a0e81581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d09a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21a39893f440b5820495a5f4a20b4015b3280ff76a49bae59a5103fac61652ddbe42023cc5849a4070758200943791b8e7676f93fc4a382a3e2e9400ae1e0c032a5a28055c7f9e48dc54ebfa4008182582053b4284f9759a2ecad078cfd6ede245074635a326dd1294c544b2da3326af96b010182825839018b73b8e00786dbd2aeb678f562ccea3960860b13876b91a7703fa0822247d90cfda3ddc0fc8bfe31e0364d3a9b10f8d9b163df4f1d84c8b91a01c9c380825839016a499634e20ed82a45d2ffe14c2851c10d5a37a95c807843dd8ad3f38e8ef7a0fe1cb17356e9311268c5d843aced9115b263028ad2369bb71a18790bfb021a0002917d031a038fb172a4008182582056f371f2257d8e6472b12ec422663b20400d65f3d7091360045dce966af19d6001018282581d614d06ccf4e1f9253e7f5317807eba65d6f1fa990e4d1a6e2340638b261a02279c1282583901dcef158ac0c0fb2599d5a00cf9bd1f73e2928ae24e9b3c2df3cf998595985a0fccc4d75c8f87c35f40898bf5e0b4feb2eb983ad5a177e51c1b00000030c761eccd021a00028ff1031a038fa342a500818258202d432375d98e9c851ddd37a9145af99ed252d9f59123fe25c3d758b62169306a01018283581d71a65ca58a4e9c755fa830173d2a5caed458ac0c73f97db7faae2e7e3b1a0c52887d58202f454ce0049bfdd9cb85e700f1557b0c3657c1f59c2c7f7abe52fcd9e3ac5c2682583901d612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecb6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3f1a6c832365021a0002cb95075820bca1e43b910e4009ef56e8dc102ffbfacf0ac473595d3777303f95b094b82dd00b5820b09f43f41223b7e457e2411cdc33c63c45aef80136950441aefcf46c23e9ae83a70082825820a9269956b4e287ed96e995677761f98ca62ebde1d4d653d899bb7a5ca71ad0e4018258202c66665a78a3cb4175dc3b227fbf7c8f8ec93d7e5c236b909d7e65afa4c07ae702018383581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a0019c812a1581ce282271ec9251ba23fb123b0f53618b35cf5a6cde4170c003a0ebf13a148424a53303535393401582067fdf73329aec3e72c95f1a7074b7715d3d1946488b245230538998c1d2ea0e482583901e935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7807a4d7256e864b7581b3e087a9d2810813d16a173e97c0ac4842acd1a004c4b4082583901e935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7807a4d7256e864b7581b3e087a9d2810813d16a173e97c0ac4842acd821a02369dc2b83b581c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b913a1446c7020091a0003b608581c101dcbab5b3c6d18f9121613cb999d12600e5e7e77c147d455b51443a153634e6332314c504144726163616e6f3230353701581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e1a00e4e1c0581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b000000052c8c338c581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a001e8480581c22ae625b40e8e91aa49310301dcd4a82706838e2431ecc03ff847133a1581c41616461476f6c64656e526566657272616c3136333838303830383401581c22d843e9e8b39d105c645944cc848abee2673d64e60f1f022791ec85a156457175696e6550696f6e656572536b696e313038383101581c23a000a839f04bb71b59b4ae74bf8cf5ed21ee0be520690e665ae4b4a15818457175696e6550696f6e6565724a6f636b6579313038383101581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e1a00e4e1c0581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a05f5e100581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a00061a80581c3c2cfd4f1ad33678039cfd0347cca8df363c710067d739624218abc0a251576f726c647357697468696e30333039340151576f726c647357697468696e303530373101581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e04581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567dae525061766961506c7573313133506c7573373601525061766961506c7573313939506c7573353701535061766961506c7573313033506c757331313501545061766961506c75733136304d696e7573313632015550617669614d696e75733136374d696e7573313533015550617669614d696e75733139314d696e7573313833015550617669614d696e75733139314d696e7573313834015550617669614d696e75733139314d696e7573313835015550617669614d696e75733139324d696e7573313833015550617669614d696e75733139324d696e7573313834015550617669614d696e75733139324d696e7573313835015550617669614d696e75733139334d696e7573313833015550617669614d696e75733139334d696e7573313834015550617669614d696e75733139334d696e757331383501581c4bfd50bbc70f3b294d94e8ae7e73ee63e834182f3751a0163805435ba24d526562656c6c696f6e31363435014d526562656c6c696f6e3631363801581c4eec31fba006e35a9e64018ad51967ab5cf2eba07b1cf3832ee2fe6fa1581c4161646153696c766572526566657272616c3136333937333733363401581c4f790fb0d3181ef4026deeb913bc748d7671666a07be8065c1a3a9aaa1505341434669677572696e65303232333501581c4fd6d8b1eac12b029cd68acd25220c20dd13b9c4b0d0b585d49135d3a1445341435414581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431896581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f5703581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581c5a46271a9b32a4517ced20be4ba1f184c2f91b1a5dd480ab639eee57a14d42726967687450616c3336393101581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a017d7840581c6262bf5e4444415eb579212d67c071db9449f0059251019d06be25d0a15243617264616e6f466967687465723136383501581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d424945190bb8581c6cfbfedd8c8ea23d264f5ae3ef039217100c210bb66de8711f21c903a144434e46541907d0581c6e5103651199d2938643fc4fab5d4a61c0950752443cd8794cd3792da14d4d4f42436974794d617031363601581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e20581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521a000f4240581c86f2bf5e9fbfe6d9a3cd2bfc8e4a9890093db5792ea7425a294356c6a1444c415a59191388581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea1455041564941197a03581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a002fb0e0581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e14581c9cc83ea54377108dd022f18095040e8d5808a3061c4fe54f3fd64a7aa24f48616c6c6f7765656e41706532373401524d6f73744162756e64616e7442616e616e6101581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a8aee60de581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451903e8581ca5bb0e5bb275a573d744a021f9b3bff73595468e002755b447e01559a156484f534b59436173684772616230303030393338343201581ca8231c25a8ccc1430359b4bf255b055366401258474834e6906a95aaa14b53616e74614d4f4231393301581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501aee6b2800581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421ab2d05e00581cb1066e840346478fbe01a7c278275c77929e5d5435d5650fcf963c7ba1544164614e617574546f5468654d6f6f6e3233303601581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a05f5e100581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1aa1d27b23581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491896581cbd3602618dc1d4aec509e3532032ef204e0583ff6d5ad4ea81e96145a14a73656164696e6f34333801581cbea41cde225159466664b35dc93e7c5c76458a4a7cc9f7aceb645788a24b4d4f424c4f524530343732014b4d4f424c4f52453333343701581cc001c001f524dccec5d2d48341837305f1f161d95fa1c6d999a205c2a1581843617264616e6f4c6f756e67655469636b6574303432393701581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe7a14f756e77616e7465646f6e653238373701581cc7fe3a3c3443a2a3d453efb7df0c276712bb22f8470f12965f5cae42a150477265656e466f756e6465723139323801581ccea514eda3ce871c316fdb1f0931baa678d2fa5d373a109dbbcc905ea14b4e6562756c61536572756d02581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1904ec581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e02581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba14442454147187d581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e730c581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a00989680581ce282271ec9251ba23fb123b0f53618b35cf5a6cde4170c003a0ebf13a248424a5330353539370148424a53303735313401581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1907d0581cebfd4159e5b3f357a1a6c92e89c2008ec4fa0e3a2d53c6312fbedbcca1574c434e465444656c656761746f7241697264726f70373301581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531819021a00051b5c031a038f9532075820c84588e25b869582d70db5da2b92e5e5d2d09b0b17a54c22c36b736ab297f892081a038f87220e81581ce935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7a40082825820d433d15c59159e5e017f1927a318efd0d3a7c1f05fea93f2cd6e1614bb38215f00825820cff3d92ccca360dca6b8c1280b79272baf70cb3bb4569b9e7a9d18ec7f4b5b1701018282581d61dfd1c0dd2d636dca0b86d6b3fc6dd48cd86c098c7c6e4eb4b9e4d6831a002df12082583901f7768a4087ef55df5150a87a08707da243aa191287e26765c124e0f8cf4deb97a2a10280c1ce14514017443b7dca2bc35e4ef0f5cd913be2821a0047f1b9a4581c18f59066d205b9ffc4208d9b6cfad2dbdee84dc4a0097e0b9de7db26a24e586d617332303231443030383334014e586d61733230323154303038393301581c2c763e2db8337324df122fffa38e0d97ecdf53d139025a0e1b6d6b97a64e43564c616e645331583937593733014f43564c616e64533158343459313333015043564c616e6453315831313959313130015243617264616e6f56696c6c61676531313731015243617264616e6f56696c6c61676533383033015343617264616e6f56696c6c616765313030303601581c33540028ad4ade822c82d61ed2d55388422c3db0bfcd11e5e1c92e2aad4947756d695261726537014a446f6269526172653531014c446f6269436f6d6d6f6e3439014c47756d69436f6d6d6f6e3236014d446f6269533252617265303533014d47756d69533252617265303636014d47756d69533252617265303637014f446f62695332436f6d6d6f6e313138014f446f62695332436f6d6d6f6e313139014f47756d695332436f6d6d6f6e313036014f47756d695332436f6d6d6f6e313037014f47756d695332436f6d6d6f6e31303801504b696d4368617361556e69717565323801581cc9f955eeffa84e42363b4992281d32dd2f9239153d6c66420a9acc15a1434c4f471a41adda52021a0002e505031a038fdb82a40084825820388a40133243a447b722e334e2802d275306baf944e989e5853f0c65e660294d01825820c57ad3c64a0f5cf4a2de653a2637658aef98a93a78c5c1603398950bc35ac63a0182582039e4828e40a7969387e6338b5d5aa8bb29f80227ef025eb9642b31285ef1264e018258201022dfc12bcc35a6a16e12209f864fed9c5802860cede3850a7a500f204dcc0d01018382581d61b19f52773e6fde215217979d98a363023218228bceaf9e28e97f1c23821a003d0900a1581c162ce9d46a21900149027edf2f6ace391d6d1db9450b3c479b857adaa1494964696f74636f696e1a3b9aca0082583901f10edabf9cc0e807ae5a5b95691f2314378a5b63e53fe8b74cd7beb84637f55651101085916e6ddf86e07d129c50396a78578cc3eac8c88f821a02031ab6ab581c162ce9d46a21900149027edf2f6ace391d6d1db9450b3c479b857adaa1494964696f74636f696e1a164496a1581c29f769f580d515a35a6ef190d22c41609cae13c28dfc22062a1eec81ac4a48616e64793030313134014a48616e64793030373730014a48616e64793030373938014a48616e64793031323038014a48616e64793031373930014a48616e64793031383339014a48616e64793031383737014a48616e64793032303637014a48616e64793032333732014a48616e64793035353033014a48616e64793036373735014a48616e6479303739363601581c2a1b8a7471d0b4fd854d8b56e8a3c47d697c2b6db8b278c545b5d70fa24b466972616b6f6e31313432014b466972616b6f6e3132363801581c40ea63e9243017418174dbc6664a555bc3c50cb483162ea5c7ea76d3b8c64c53706174756c6142726f3238014c53706174756c6142726f3636014c53706174756c6142726f3936014d53706174756c6142726f333935014d53706174756c6142726f343135014d53706174756c6142726f343732014d53706174756c6142726f343834014d53706174756c6142726f353234014d53706174756c6142726f353237014d53706174756c6142726f353535014d53706174756c6142726f353735014d53706174756c6142726f363231014d53706174756c6142726f363535014d53706174756c6142726f363539014d53706174756c6142726f363937014d53706174756c6142726f383435014d53706174756c6142726f383837014d53706174756c6142726f393338014d53706174756c6142726f393637014e53706174756c6142726f31303932014e53706174756c6142726f31323134014e53706174756c6142726f31333430014e53706174756c6142726f31343131014e53706174756c6142726f31343231014e53706174756c6142726f31343335014e53706174756c6142726f31343834014e53706174756c6142726f31363139014e53706174756c6142726f31363938014e53706174756c6142726f31373938014e53706174756c6142726f31393833014e53706174756c6142726f32303237014e53706174756c6142726f32303332014e53706174756c6142726f32303735014e53706174756c6142726f32313136014e53706174756c6142726f32313337014e53706174756c6142726f32323531014e53706174756c6142726f32333834014e53706174756c6142726f32343631014e53706174756c6142726f32353132014e53706174756c6142726f32353135014e53706174756c6142726f32353933014e53706174756c6142726f32353935014e53706174756c6142726f32363433014e53706174756c6142726f32363633014e53706174756c6142726f32363837014e53706174756c6142726f32373037014e53706174756c6142726f32383639014e53706174756c6142726f33313239014e53706174756c6142726f33313438014e53706174756c6142726f33313831014e53706174756c6142726f33333539014e53706174756c6142726f33333733014e53706174756c6142726f33343438014e53706174756c6142726f33343739014e53706174756c6142726f33343934014e53706174756c6142726f33353035014e53706174756c6142726f33363131014e53706174756c6142726f33373138014e53706174756c6142726f33373735014e53706174756c6142726f33373935014e53706174756c6142726f33383936014e53706174756c6142726f33393636014e53706174756c6142726f33393932014e53706174756c6142726f34303230014e53706174756c6142726f34303633014e53706174756c6142726f34303638014e53706174756c6142726f34313138014e53706174756c6142726f34313230014e53706174756c6142726f34323033014e53706174756c6142726f34333730014e53706174756c6142726f34343135014e53706174756c6142726f34343437014e53706174756c6142726f34343638014e53706174756c6142726f34343938014e53706174756c6142726f34353937014e53706174756c6142726f34363634014e53706174756c6142726f34363636014e53706174756c6142726f34373635014e53706174756c6142726f34373639014e53706174756c6142726f34383130014e53706174756c6142726f34383532014e53706174756c6142726f34393130014e53706174756c6142726f34393636014e53706174756c6142726f35313539014e53706174756c6142726f35313634014e53706174756c6142726f35313735014e53706174756c6142726f35313938014e53706174756c6142726f35323030014e53706174756c6142726f35333133014e53706174756c6142726f35343731014e53706174756c6142726f35353132014e53706174756c6142726f35353136014e53706174756c6142726f35353137014e53706174756c6142726f35353335014e53706174756c6142726f35363038014e53706174756c6142726f35363338014e53706174756c6142726f35363438014e53706174756c6142726f35373538014e53706174756c6142726f35373631014e53706174756c6142726f35373736014e53706174756c6142726f35383139014e53706174756c6142726f35383430014e53706174756c6142726f35383532014e53706174756c6142726f35383933014e53706174756c6142726f35393434014e53706174756c6142726f36303233014e53706174756c6142726f36303934014e53706174756c6142726f36313339014e53706174756c6142726f36313833014e53706174756c6142726f36323035014e53706174756c6142726f36333332014e53706174756c6142726f36343037014e53706174756c6142726f36343134014e53706174756c6142726f36343232014e53706174756c6142726f36343739014e53706174756c6142726f36343835014e53706174756c6142726f36353034014e53706174756c6142726f36363930014e53706174756c6142726f36373433014e53706174756c6142726f36373737014e53706174756c6142726f36373933014e53706174756c6142726f36383032014e53706174756c6142726f36383439014e53706174756c6142726f36383735014e53706174756c6142726f36383832014e53706174756c6142726f36383837014e53706174756c6142726f36393031014e53706174756c6142726f36393335014e53706174756c6142726f36393533014e53706174756c6142726f36393538014e53706174756c6142726f37303434014e53706174756c6142726f37303830014e53706174756c6142726f37303934014e53706174756c6142726f37313238014e53706174756c6142726f37313339014e53706174756c6142726f37313532014e53706174756c6142726f37313733014e53706174756c6142726f37323037014e53706174756c6142726f37333630014e53706174756c6142726f37333933014e53706174756c6142726f37343137014e53706174756c6142726f37353031014e53706174756c6142726f37353033014e53706174756c6142726f37353237014e53706174756c6142726f37353332014e53706174756c6142726f37353738014e53706174756c6142726f37363232014e53706174756c6142726f37363332014e53706174756c6142726f37363334014e53706174756c6142726f37373930014e53706174756c6142726f37383936014e53706174756c6142726f37393931014e53706174756c6142726f38303038014e53706174756c6142726f38303039014e53706174756c6142726f38313232014e53706174756c6142726f38313737014e53706174756c6142726f38323239014e53706174756c6142726f38323439014e53706174756c6142726f38333231014e53706174756c6142726f38333635014e53706174756c6142726f38333838014e53706174756c6142726f38343036014e53706174756c6142726f38343438014e53706174756c6142726f38343730014e53706174756c6142726f38343732014e53706174756c6142726f38353238014e53706174756c6142726f38353333014e53706174756c6142726f38353337014e53706174756c6142726f38353437014e53706174756c6142726f38353839014e53706174756c6142726f38363130014e53706174756c6142726f38363430014e53706174756c6142726f38363436014e53706174756c6142726f38363935014e53706174756c6142726f38373036014e53706174756c6142726f38373636014e53706174756c6142726f38373733014e53706174756c6142726f38373839014e53706174756c6142726f38393137014e53706174756c6142726f38393238014e53706174756c6142726f38393330014e53706174756c6142726f38393738014e53706174756c6142726f38393838014e53706174756c6142726f39303436014e53706174756c6142726f39313430014e53706174756c6142726f39313538014e53706174756c6142726f39333236014e53706174756c6142726f39333334014e53706174756c6142726f39333838014e53706174756c6142726f39353238014e53706174756c6142726f39353332014e53706174756c6142726f39353338014e53706174756c6142726f39353638014e53706174756c6142726f39353731014e53706174756c6142726f39353937014e53706174756c6142726f39363038014e53706174756c6142726f39393736014e53706174756c6142726f3939383501581c43647af85d68093da3895ce31d1e8c4aeb20f3c2dfee8b0536d55b21a45443617264616e6f436c616e6e734d656e31313832015443617264616e6f436c616e6e734d656e31313833015443617264616e6f436c616e6e734d656e31313836015443617264616e6f436c616e6e734d656e3131393101581c95ab9a125c900c14cf7d39093e3577b0c8e39c9f7548a8301a28ee2db44a4164614964696f743130014b4164614964696f74383633014c4164614964696f7431373732014c4164614964696f7432313835014c4164614964696f7432333630014c4164614964696f7433353334014c4164614964696f7434373237014c4164614964696f7434383739014c4164614964696f7436303634014c4164614964696f7436353637014c4164614964696f7437303635014c4164614964696f7437313831014c4164614964696f7437323633014c4164614964696f7437363131014c4164614964696f7437363737014c4164614964696f7438373330014c4164614964696f7438373730014c4164614964696f7439303639014c4164614964696f7439303832014c4164614964696f743935393501581ca66ae3debc862552f0f183f6bfa7d00b91aeb8c2fadad5ba6e89bf15b81e5046616e6379466f7274756e6531353730015046616e6379466f7274756e6535303938015046616e6379466f7274756e6535333437015146616e6379466f7274756e653130343930015146616e6379466f7274756e653232393439015146616e6379466f7274756e653233383431015146616e6379466f7274756e653235353330015146616e6379466f7274756e653236343030015146616e6379466f7274756e653236353239015146616e6379466f7274756e653239343939015146616e6379466f7274756e653438393331015146616e6379466f7274756e653531313830015146616e6379466f7274756e653531363638015146616e6379466f7274756e653533343133015146616e6379466f7274756e653534393232015146616e6379466f7274756e653535333537015146616e6379466f7274756e653538373433015146616e6379466f7274756e653538393033015146616e6379466f7274756e653630323235015146616e6379466f7274756e653639363738015146616e6379466f7274756e653731333638015146616e6379466f7274756e653735343734015146616e6379466f7274756e653735393539015146616e6379466f7274756e653833343439015146616e6379466f7274756e653833353933015146616e6379466f7274756e653838343532015146616e6379466f7274756e653839323030015146616e6379466f7274756e653930313331015146616e6379466f7274756e653935373732015146616e6379466f7274756e65393930333601581cd4162cfa26718e8a4357226ffbfc3df6a210b2a4d5727ecbfd1e8eaca14a4655444255443438313801581cdbc31b04d90b37332813cb4cee3e8f79994643d899a5366797e745eea1434655441b0000001a8d88305f581cde2340edc45629456bf695200e8ea32f948a653b21ada10bc6f0c554a24844525253343434390148445252533538333701581ce79441eb549e1561893723f82e1e3d3726f75949e60a6bcabb5803a9a85354726970707941646153314e756d6265723139015354726970707941646153314e756d6265723934015454726970707941646153314e756d626572323138015454726970707941646153314e756d626572323733015454726970707941646153314e756d626572333233015454726970707941646153314e756d626572333331015454726970707941646156616c656e74696e653234015454726970707941646156616c656e74696e6536340182583901f10edabf9cc0e807ae5a5b95691f2314378a5b63e53fe8b74cd7beb84637f55651101085916e6ddf86e07d129c50396a78578cc3eac8c88f1a0afda095021a0005f04d031a038fdb82a400828258208ff7998aef11d495ac964abf0a9c36d9cbd04e3e3797ea977aecd0022d1f867c01825820c60aedad00e50860d4631bdd09e6e3d8059d3d03d7da4f26937585bcd60cd72704018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab00825839014dd1bf0594cd6333774fa664b322a060456a23823489a6b6e9731f251f36eac04ef86721d3e3e8e2c3260682fdf712e273785408ab2286291a006e890f021a0002b06d031a038fb17fa8008182582055ceabdcb229cb8f52c921d40c2afa75f7c4fb044e810452c2f0e036e2950f32000182825839015c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3b9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c521a0024db3f825839015c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3b9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c52821a0014851ea1581c869fc72c11977e4be3e8e1cc63cca008a925886332795c9601f965caa144555344431b00000001fa9fb149021a0003a8a3031a038f92e7081a038f84d70b5820b1a74d3067a71f192bfa9df32b8750c69c6d7d10b4d51e5c96f37afd21b17de10d81825820777e043b163e0f4c0da57a894ee14e7f6ca87eaf6b3fa4faee3ba039774f6fff000e81581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3a500818258209507e2675c776b34487a5b005447e1495abc09d24624dc22dcd77049b365ea32000181825839017f411b580b2452276b425ad4e59ca6a4ccb32335885e8c307c8c8b9654c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b1a013625f3021a0002a82d031a038fa371048282008200581c54c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b83028200581c54c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a90082825820972f6b46cc2c14220b36da39c65462e8082020698c73a1914385dc5f9e09f4f20082582060dd5a762d89f645b8409706b9de36b5cc0204a3d0e6a0a2d24921d5e7bc060002018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001ad576a1581c7e605894cdcbe8d1933f0a8760d93bd121aca583cf21ad1c25e51fd3a1514d6164446f67436172436c7562383133310158202139e5da3ef0b42b369766776504d9d6b4d5dcf6f182f4c1922198b78a0883f682583901eb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a04f1f9c1068689d6441eaec95ec01cddfcdcd43bae0481993bbb2e0421a0044bf6c021a00078bd4031a038f9532075820125ba9159077ed7fdab944710348ec14f8b45862ab19e2de15a5bc34f92e17b4081a038f87220b5820b71d59ab5c77f25a053ecedce76731115cd7c8fc4760504daa880dc6141bbcc20d81825820c0662502e61ee2f58d4d20b1dddb82ae8b92b24cbdb7fb8d8755b269a6abd9f6000e81581ceb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a0a400818258201906e535589b4db9c3de9e20e8eee8794cfb4ff34df7ff74d6e0249585a3474b01018282584c82d818584283581ce8eae9e96ea5a4a634ac3ac0a33280527edccad7beb62e80b8558708a101581e581cc5d949b02e2323e44b483a69474eb1f3800cc89ebb5dc2b394a87ff5001a12658d031a8a1a9d4082581d61f73d3776f2d25e2b561bcbd7d3fb660b2ad8ad2d5fd39d7d8ddb81011b00000004c6d97579021a00030305031a038fa46ea900828258203cd3a191d42a9635c909064757bdf1330af5b18863768a1ede2690aa20592c0500825820cf5e7183a89cc56ba31def6367100e305cfe85a22951641964ffee0ac994efad02018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe7a14f756e77616e7465646f6e6532323637015820947e09389fd38c3f39d3d16223c71f839e853ffe018460c11dbd242686f54bd6825839011514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a363d4c4b05adc3079a711dca1eb608489c24d51ba14025b409c7c46b61a0044c024021a00078b1c031a038f9532075820019017216bb6326fe1057704978869bfecbbd9f04d07df412a16969f5fc56768081a038f87220b5820b17616e42c0949ddd2d907cfe0549f9314ee0fe6ce4afe893f57f323a6ecacd90d81825820f0802335a92d05daead033fc01ba000e640ad0df7d38910b71a20f21e32d7905000e81581c1514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a3a40083825820571d0c7dab8933070becc24fad347b825cee2d654f4f2a632d0443558085c192008258201dbae3a1b3569a4bf47ab795cdb9707fd2c1bae94c1cfa70f992f89d0ef17986008258202019500b946e5dff821da617a40eb6fe58c62556240f115ae9ddc63f80474548000181825839015902a4dbba231298437802fe2267ec92302270573e13a411702032fd3533f2cc4a19d0e33c410faed704ff559046383faad98ba25ae512a61b0000000288076737021a0005f500031a038fdb82a400828258202d5676e52e3c9a11478ca9b2bcc667045d8b85c4ceb1aee84231f3bc8ac60bee01825820f36de36dc21e8d91983b1060d96d20275ef8b0130cfdec0126def147465af7ae04018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00825839016fa2d7bf96ef21ad621cf62eea095773656e56f829d7c1b11892dbcc121f3953c88cc44c0f11a84f61d8501a36c27cc8ed13506b9fcb70561a006e890f021a0002b06d031a038fb189a90082825820f8db90ecafdd263320e5a084881d3709e19163d6ab469dc2c361dba9a6507f02008258209ad363c35e7744a576d9c0246c8e16bdef4771e113e91d26b440b897fcaec51602018383581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001b5c28a1581cd4e087164acf8314f1203f0b0996f14908e2a199a296d065f14b8b09a1581c636162696e31373241646469736f6e4176656e75654745333352333701582098a6d4c095600583b89c06b1bb979bf01a286832cf4bece2b64724f990ee1dd8825839015f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee8b44e72048d5cff347256b7a1b75e84c3bbd1135c4eb68b4f3d33a631a004c4b40825839015f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee8b44e72048d5cff347256b7a1b75e84c3bbd1135c4eb68b4f3d33a631a078b2e81021a0007bd2f031a038f9532075820350e1ba520aabbfbe0fe8e320af169cd4e0a55fb92ae21f6ea2d294db3a83d3e081a038f87220b582089971aa4f4056ff9eeea018db9b4bd535c80008ce27e110e8c7d1d0978bd227f0d81825820e00e38595f648795d472dd56b3703c157ef351921d996418d218764378fdea3b000e81581c5f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfceea80087825820e9c84b354d084c3a2ab93d9813ecf13b7ee31a7f24dc094a36e2459663d5d139008258207c6b4fab7b36d2b4ff75090391320963e81cfd68d424b37f4d71e1a072b7cc29018258205493c0c019b8b6c00f6f4270813e3e6c1d3c5c27dd984f254431ca9677145411008258207f866cf144c091eb0ab816cc684c89b57d35fcd25db9e3d32124a560e0339d0803825820b1ccc221c2acc6cdcd730958e85b647eb626b07d465ae658fdf1046c096e35640182582042980f6727fbc74a0428b35680ca9299f0b8257ee78e48510ea63100aeed5422008258207076256ab325a80ac8b8be90dccd994789c163c9e326339034857d2eb66fd1d705018a8258390170e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a721e78aae7c90cc36d624f7b3bb6d86b52696dc84e490f343eba89005f1a0328b74082583901f2ec7a984a0c4a3031ffedf5023d7c4a096cfeb36f9d5cdb62a3a60b5a3e49928622e4df54710f60d7138f58e80da503819b1b8d084ec5fd1a04bd12e082583901083583e222e251c427cc9e18f941ac569ab7382b953f15b226083b38df29973b55c77daa57d86ea1ebcf25827392aac5383e41d57b5846621a960e00608258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc8644821a004bd198ab581c1d7f33bd23d85e1a25d87d86fac4f199c3197a2f7afeb662a0f34e1ea150776f726c646d6f62696c65746f6b656e1a0066baa2581c2437b5d59bcdc45f7e3b58f3028c733e5680812a20c831179a9aaa3ba14341574201581c380db8204c61dde65bbebc0030a791ab3ad41c6424183636dd13b234a148756b7261696e653001581c64fbfd3dff606ab050ce91c4449f6ad7a5400232c283c20b1911c52aa14f5348414d524f434b477265656e393201581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441b0000000f51480fdf581c8cea09a81ddf9707fd2c80f544d984bd0e8f16898bba852c53bc1048a2464c414349453201494c414349453136393201581ca554f654df7fd2d2112271df6ef594cef5040d640d9828ac22db1a09a1581d43727970746f53616d7572616957686974655374616e6365733039303601581cae2a0aa5a24b27d9868c4a73b7c08077ac21baade5eca0fa467a2bbda1445852415918a3581caf4bb09f61b227e0043b50b37a2b4254208caa71c9e6c54653b0614ea148756b7261696e653001581cb34b3ea80060ace9427bda98690a73d33840e27aaa8d6edb7f0c757aa145634e45544119f670581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bda94f4368696c6c65644b6f6e6730333035014f4368696c6c65644b6f6e6731313039014f4368696c6c65644b6f6e6731363331014f4368696c6c65644b6f6e6731393035014f4368696c6c65644b6f6e6732303831014f4368696c6c65644b6f6e6732333630014f4368696c6c65644b6f6e6732393536014f4368696c6c65644b6f6e6733343831014f4368696c6c65644b6f6e6733363832018258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc8644821a003382aba2581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bdae4f4368696c6c65644b6f6e6733383939014f4368696c6c65644b6f6e6734323339014f4368696c6c65644b6f6e6734343535014f4368696c6c65644b6f6e6734373939014f4368696c6c65644b6f6e6735313630014f4368696c6c65644b6f6e6735323135014f4368696c6c65644b6f6e6735353533014f4368696c6c65644b6f6e6735363033014f4368696c6c65644b6f6e6735363439014f4368696c6c65644b6f6e6736373033014f4368696c6c65644b6f6e6736383437014f4368696c6c65644b6f6e6737323633014f4368696c6c65644b6f6e6737333632014f4368696c6c65644b6f6e673834313301581cda8c30857834c6ae7203935b89278c532b3995245295456f993e1d24a1424c511a0016ee588258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a004c4b408258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a1ff46b4a8258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a0ffa35a58258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a07fd1ad28258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a07e47655021a0018a47e031a038f9532081a038f87220b58207d514ffa5b877e7850460e67ce3c05eb1acc4c9f715500214374e899a84503880d81825820ca41b4c2b21cb2cd2928728b032396d8b81459138c2e180a9b79cf72356d30ec000e81581c30d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdca50081825820230d8a098ecb915d7a49a65ed0fe6a4d52ca4de653da24c693048889642e25dc0001818258390151aa9a1df1bd1fd47871770566569f505f0677734e4fd63e1d7b14f02d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e401a013625f3021a0002a82d031a038fa380048282008200581c2d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e4083028200581c2d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e40581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a900828258209f0d1c4ca7e22134e80f02d2b87aa4c2e6a9ea4006087ef0d9611948118976fe0082582057964d6707a6d5443da3cbadbcd5a5e91bb13bae826671f9b650a88ade7a3f2604018483581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581cffa56051fda3d106a96f09c3d209d4bf24a117406fb813fb8b4548e3a14c4d656b616e69736d3334303001582062015913df6e17b940cf56e7a59a6d7abe34a55c2181d5d4b256a8920edbdd3782583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a004c4b4082583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a084dd36d82583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a0845ef22021a0007e44b031a038f9532075820f2ded6aa6c4381df084da2f96d569f0e1e6c105627bf3ee29d9ca7479639bd11081a038f87220b5820b947448e8fd369ed5c8c2fe2ceb083b60d4c9f8a42e7cd864613d4dd87b23e950d818258209285833a0ae7ec1eed9446ec8580ef1029d30d60b4c2a6d5d06a932c88bb77eb000e81581c409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a4326a400828258203d54aaa1a827cde425680818bb7b51de0a78fb0fffd6c8b6fe5d7fa6001cb7f90182582006647bee00bafd3f6cfd88aab95c75a406daae174c833d2fb7e99e825f3ab08602018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab008258390109f67aa2e80864a44b937b93b155612b540d4f78636ef8586f7f7a23dd1f01f7e45adc5786c7efda411428fbba2d2fab79196705065678511a006e890f021a0002b06d031a038fb198a50081825820f766eb98fc31e9791d6eb627c735d26b9920a4f3815b46b81763ebf9a75d8fc100018182583901234edd3bb4232d3d4ec9af6a30c0535b7a0d3aa4fae1a2fe3effcf68750101d937f627b2c8d02617d38233092758c90306315685422d2dc81a013625f3021a0002a82d031a038fa38f048282008200581c750101d937f627b2c8d02617d38233092758c90306315685422d2dc883028200581c750101d937f627b2c8d02617d38233092758c90306315685422d2dc8581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a90082825820ed43684aa53531eddf70b651da04d0d3a1caae32dab96cec1d5c4ae1aae60326008258203378d0eac02e639fc7f95f039d1370ab0b0a9073530f88cc11e3973c5f2e18b804018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001b5c28a1581cdf44bef5a988e0b135145c505d734130f545dc959e764ac14c9ce983a1581a576f726c646f6643617264616e6f50617263656c3030313034330158207b7a3741743b206ce1a97ccf8cd17dfd3fbd6e72ba2d209c936ef5d2f639de1a825839011c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe8764015d0c47792a77d809ef5c2091bd8a508596a9ec0c6ceefcdb449151a0044bbd4021a00078f6c031a038f9532075820a10de9db89968fbfdb737431c19ff64ae10a2eba56fd38bc308e7c807ff0a947081a038f87220b5820f23a1875ce82b0e7c922d4a51d42a162537ee2de1eed4d669c123486863b280e0d81825820b3bfda7acde8142b40bae4bc2e484644ba9ef99b7112f77fb82499b5a0ec4881000e81581c1c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe876a40082825820d7e118287544a6c314a83acc9a07e98ce33b16212ad18a362ee6ec761335877d02825820d7e118287544a6c314a83acc9a07e98ce33b16212ad18a362ee6ec761335877d01018382583901a7395936e9d22ed02907e486203f99a06111ede53838cdb659d696236631d89f02ffdfcfe2e3c59374e0bc0c4f5db820cb551ccbef52b3aa1a02aea540825839012f2c5d0e79dda76b36e9042980400c244c98af9eb14d6d45a7d520c79f537ded22c54c52b3813272bbe32ebca1cd464aad3c085cd05837ed821a0014851ea1581c721f96b81933b34957d05bb050de2f1119e8379cb6223a36073e1a84a1434170651906f2825839012f2c5d0e79dda76b36e9042980400c244c98af9eb14d6d45a7d520c79f537ded22c54c52b3813272bbe32ebca1cd464aad3c085cd05837ed1a00809b6a021a0002a9b9031a038fdb82a4008182582035f72134c9403bd16f13ff07de3a6e26ae4b880f8f3682dbb6115ed01c23c58b0101828258390140c8c0dfd02233b721f5df56f9d6eb50eca4fe9c77eccafd70b6bd44bf7c1eada191ffac1913c949f361716becd5c7e67f6c7b35d78157021a1dbe22c082584c82d818584283581c776eb96b96e2cbce528a47278a736ab725dd13ce98c027ccb548ed70a101581e581c1afbc57540db1561adeaccd7f4894065965cd230f6bdc70722aecd8b001a6a14bf9a1b0000000356f30fff021a0004aba1031a038fa342a50082825820c408205ec74b918413dd68a28edea5a97161527f16af5d5f08a218e826a36b4f0182582091072ffdbb76c8e0b6d84a8e830f3a65278451c24a80c1535bf03ab3d19e8c4d01018282583901bff3aec4276ff91795df17846e6e02f75a6c9d55f63d6f227cf8e357d35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc0821a00161934a1581c026a18d04a0c642759bb3d83b12e3344894e5c1c7b2aeb1a2113a570a15820a08d4691c4c330a15bc2b96f3e4e4ae4f77373a01c4120479c34ca8b077b69571a0048b82682583901bff3aec4276ff91795df17846e6e02f75a6c9d55f63d6f227cf8e357d35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc01a00125a33021a0002c699031a038fdb51048282008200581cd35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc083028200581cd35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc0581c2a748e3885f6f73320ad16a8331247b81fe01b8d39f57eec9caa5091a90084825820349e8177bbb029afaf9e75cbdc14c87afa4df2a58c68534fe079444d29fc4855028258206d20057b67af696d68fc4d96fb21d55e379db4d9cf7b8594945b9f6c9ddacacd018258206d20057b67af696d68fc4d96fb21d55e379db4d9cf7b8594945b9f6c9ddacacd028258207fd937a8d123a00af180f5349a07bfaf2e8ae733b5f7f13f8ac593ceed39ae4601018283581d71ba158766c1bae60e2117ee8987621441fac66a5e0fb9c7aca58cf20a821a0044aa20a1581c9a9693a9a37912a5097918f97918d15240c92ab729a0b7c4aa144d77a14653554e4441451a0d8bc806582032bf880b151bb2fef6146fa91ded0088b5a0a45afb0b7d3ce579a0ac665709f482583901e82071bf8bf1b23bb0342474025dc364bd941cdcacd3aee3ba7edde5ae254322c32914496dcc712b63a2b03181eb432b103a0879ca691c291a04555071021a00034a65031a038fbeed07582068c09da87243e0be2be7d69b3379d2b5a850f1954696e153d822ba5719349671081a038f86ae0b5820187c580d283eff82d4b2bca65b7ae0bdc17bd8f2a7c4f3caef119294fc4223f40d800e80a40082825820de3c537ce0c38ae88af92054a12ee1b295a85847cb50277e663bb69f4adbc25d018258205343abe99fde3e3bf3ab0381d7b8ce73ef3123679784e9dbba9181baba6c835004018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab0082583901c87375648b4564812032271c381d2cabba04a8d637c1b5dc2b0f2f7b27a0599a122ab8c40ed9a266240dc39c7210581b0212dd9df531b57f1a005e8a15021a0002b06d031a038fb1a4a30081825820c25efb810672a57d27b620dc95897feeec41ab7cb62fdc0057349ee042f6d42a00018282581d617534f67a28eccb47b41e47a0de11e0628564cbb833b2e3ed065bc22d1a001e848082583901eeca19727937266ce80edbc6ce8d6518597c6a440d51f722fcd16f83cb37341431e1467867d14ac6fd58cf88f63487db7f667f4b23a08fbc821a0208d27fab581c0357ddfcd058650e6ef5f299b821482f9bfbaa4783bc5dffbd3c246ba24d4e656f6e526163657230323638014d4e656f6e52616365723037313501581c093b80c2d0fca1e50d06e6fff5d22ea06c37a70a36fca1999cb34da8a2477374696b32333901477374696b34373601581c48766b78dbb52c7fc4617acf4503a9f40b2f0fb3448ba0ab0e1fda09a14c5374696b4672696b3432383801581c6cfbfedd8c8ea23d264f5ae3ef039217100c210bb66de8711f21c903a144434e46541907d0581c7a5a5c3757d33c2b2ff0b09405676e61f93d28b5d12805dd3320e31fa34f43727970746f44696e6f3033323235014f43727970746f44696e6f3034353334014f43727970746f44696e6f303937383801581c7baf77830c4daca79423b3dd4c89462b24b959c143f1f1762b1a91cca14c42617246696768743035363301581c7e206036ca4345a7c45d37d2dff0d7280a0854ce26d279e06f7d94f1a14f4e696674795465646479303633313401581c887e4d7b2e7d574484f8c780abef1599ce0bad1c751fb14ccdf9d410a24f44696e6f536176696f723038313434014f44696e6f536176696f72303831373901581cd05264552c50565fd705256b5b2a8d7faeec622b9a13678a9e5dbf4da15043617264616e6f4265616e303532333601581cdb9092a340fa079b9ec6066b646046efc0f846e96abf7eeb5f3959e0a15153757065724f47486f6c6465723133303101581cf4bc41c3e4a92943bf87752be1230960ff3eed2f88645a20ecda0faba24e48696768537465616b7332323537014e48696768537465616b733338303901021a0002f26da600818258203b67241d8340805b2346466ca33d07b98fe9dd0547ef611eff648bef80f69cc300018282583901c1fe07dc6d292de403f127297e26ebcda40bf65952bb96a9742902173651e6ca8542c78818b7fff0d5c075a03ceaa9826c6694399c7ef937821a00200b20a3581c4c3f8a1773b7813e537a75f7b1b2897996bdc0e1d6d7d0c11252e252a1504d6f636f73736949746f32313630333701581c5d5b205252b9f5016422d0eace869d7fd45074a4ea4b6c1dc78d1705a24e4d6f636f73736949746f39333533014e4d6f636f73736949746f3938363001581cd4473a78ae992ed6d95299e7177b45c8053d5db5495467a29ff0c780a1554d6f636f7373694d6167696350696c6c30383036330182581d6104df95ba9c9726b4ca3e5b1a59d3b04c6f5feb90840573d81c8949241a01ebebc7021a0003fd59031a038fa388075820698683d4d4e60368506630e1e8ce0a173de6c099d1f303cd50f81d3f027ee83409a2581c4c3f8a1773b7813e537a75f7b1b2897996bdc0e1d6d7d0c11252e252a1504d6f636f73736949746f32313630333701581cd4473a78ae992ed6d95299e7177b45c8053d5db5495467a29ff0c780a1554d6f636f7373694d6167696350696c6c303830363301a50081825820de034f70bb7be6424036cafdbab0145e31ee25d330534d43a04f90ec98139cb201018182583901b0a829369d268f9e5ff663ee2eed9627b0e946c0e46dbd695f49c5877850e39a8d898d870895fc7856c6241a9afbdccf92048ee6e3d3973d821a00562ec8a2581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567daa525061766961506c757334374d696e7573343401525061766961506c757334374d696e7573343501525061766961506c757334374d696e7573343601525061766961506c757334384d696e7573343401525061766961506c757334384d696e7573343501525061766961506c757334384d696e7573343601525061766961506c757334394d696e7573343401525061766961506c757334394d696e7573343501525061766961506c757334394d696e75733436015350617669614d696e757334344d696e7573393901581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea14550415649411a00014582021a0002d275031a038fa35e048183028200581c7850e39a8d898d870895fc7856c6241a9afbdccf92048ee6e3d3973d581cdf1750df9b2df285fcfb50f4740657a18ee3af42727d410c37b86207a70082825820753171c1c1e1ac4250eec363ec654eedf4cb22bc4b46ea70f7aec04835b322ff00825820cef395be4d3c084e767df232fa7ada12100464e699aeb1c9e15ac1cc972f8fd501018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001ad576a1581cc364930bd612f42e14d156e1c5410511e77f64cab8f2367a9df544d1a155426f7373436174526f636b6574436c756232393130015820fbd4e01191c77b4a86bed064f26f5fb206310cf9e9d616a0633334464de4ba6b825839014171a3c5d9ba4903da966f28b64b34047c05fcbb823ff3b2318eea9502fcdcd286eab6c9208b926d44a949a15cd189248b77463c45f7a9211a0044154c021a0002f300031a038f95780758203f9924bc4c61807f438a53ec99c43d318f4c0c4b15fd382addcc73556c85828d081a038f87680e81581c4171a3c5d9ba4903da966f28b64b34047c05fcbb823ff3b2318eea95a9008282582021e2766e588db76d6a5270f6878e9aa2a1f0f6b38e6c65f9d274a444b6ec22ef008258204cb88157c6ec0c5acb3a6abf5b88526c7dbfe18f7a0201799891070bec9dd3e502018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581ca587ce7893ec56fa6136e483499d2a8210e29c34b7dc673446128875a150436861696e734f66576172303130363301582072ced45253405a64f4b18d98e7899f0bee782afb81d5d2b753f284d15802a47b82583901c5457eb1c10330527b63686115cf590cd8e3d4747612608434877f21d0981f3a0c4e89369765e3954e7d7fdde59b4366afc940844a7e979d1a0044bfc8021a00078b78031a038f9578075820ddb8c2750592496dabab0acaea643978fb229a1edae06c349c5adefe47b7f6c5081a038f87680b582063d1b4767500305cdb5551647d10fe3815abd3420ffc885e95b32821cfbe72440d818258205e4cf8b192825b529e0aa01506ad1f8fbc346db0f45d01c06c48e2e80df74682000e81581cc5457eb1c10330527b63686115cf590cd8e3d4747612608434877f21a700818258207a352df38355c7430a32b20da7c8f29df1651ed1c27f8f8e1e74df37041f6e5301018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581c9cc83ea54377108dd022f18095040e8d5808a3061c4fe54f3fd64a7aa15048616c6c6f7765656e417065333035360158201567758fa3f080420bcedab6772e26082edaea3c970aee2dc6b2fe4a42831f9b8258390175a811ef1ec0b52e5cf428cdaf9bdeea9521c6dab3cf9edaa5860f2cbab07dd07eb77bb06494a07c060c8c7fba6a6b9bb156ccd9c6ad79e3821a0115c692b83e581c0171c997b8853fde686763d93b36ab8e04ce947bb6aa09a9ee5c4401a145544f4b454e190682581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a00030d40581c1079cdd8bf9c146f7703aa19f26c6726134e2bcfce9fe0572d7c5864a554414441446967696573536561736f6e34313033370154414441446967696573536561736f6e34313638300154414441446967696573536561736f6e34323130330154414441446967696573536561736f6e34323731340154414441446967696573536561736f6e343338383301581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e192710581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b000000041d03f0a9581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a002dc6c0581c26737d4f7e75669b71490fbacc4521a7027ca2d70e0a4603097686d8a147245345435245541926d4581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e192710581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a07735940581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a000927c0581c2eb3e6eac64b7119f948b5529909e45a8e29c88563fa6a3deb78519ca143484159190dd3581c300ec0d82a79acdc0616fdc0ef615e7deeddb03275e834685e9ee8a6a14258541828581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e10581c443726318f7a3995686a79f65ed48fdb79aaf576aecaee354d8ba018a1444e49444f1832581c4d742ef81dfba15faed09f1fa68723e283633c65ef1e1a0a0cd766c2a25042616279456c657068616e7430393034015042616279456c657068616e743135373901581c4fd0d998dc0700ca6ef89fafff05fbf523a3a25c1fc8314bf7e4d1c2a14647726f7774680a581c4fd6d8b1eac12b029cd68acd25220c20dd13b9c4b0d0b585d49135d3a144534143540a581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431896581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f5705581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b79190dac581c56673962a054070732569178ba2b3e1cb591e3413ecd7b57a9e3f18ba1454245414e53197530581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a0daaae20581c5fa72fbeecbe80a3e15de1cacab54ba5e310e2c36ae85351132ed4ada14e4c6567616379506173733234363301581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d424945190bb8581c6787a47e9f73efe4002d763337140da27afa8eb9a39413d2c39d4286a149524144546f6b656e731a00035778581c6954264b15bc92d6d592febeac84f14645e1ed46ca5ebb9acdb5c15fa1455354524950191388581c6f91ee54902dbe0615b1e6de69538d1cbbebe4a9d913643291e81035a14e496e76616e64657273506574333101581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a1a00013880581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521b0000001196167c20581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1832581c8a3e9f98aee1972b2841fd43802266d595ea8d0f823bbcdd3c44e7dea150496e736f6d6e69756d4172743134393801581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a035c4fa9581c95ef7829379af37336b98b487c03c389c288cf938f54ddccd10185c2a14d536b756c6c4c5056536b756c6c02581c99cca2c1a06dce51069d7e401af25f9dd06c44fc16eaeadcfc84f959a150414441706f63616c797073653333353901581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e14581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591ad4d0d592581ca3914cb7a564d010c7b67774ac8720a8ece3a758279b51d8a1c05cc5a1495745444e45534441591864581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451914b4581ca89568bb399d0cdc38367e47831c95186f5c79e58174e08a18232396a14a4554424643546f6b656e1a02fafb55581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421aee6b2800581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a144515549440c581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a389fd980581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1b0000000d0ffb9026581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a1445245534919015e581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a144444942531961a8581cc9f955eeffa84e42363b4992281d32dd2f9239153d6c66420a9acc15a1434c4f471a78696596581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1904ec581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e05581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba14442454147190113581cd6fe6efa7788cb70e57a91891605e3694352cabb4837e870610300e9a84b41646141726d7934373734014b41646141726d7934393034014b41646141726d7935303135014b41646141726d7935353139014b41646141726d7935353537014b41646141726d7935353737014b41646141726d7935363335014b41646141726d793633373601581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e73182d581cd9589c1a401765c82dd3536bf8f9f4337e15dfbf708e3a7f7e2f37e4a34d436f736d696350616c343739350157436f736d696350616c7350726f746f7479706531323837015818436f736d696350616c73563250726f746f7479706532303901581cdcb16550b3831a9c675b5bd827ad0ffced2dc0310b0d839c5c1dcd5ea14d4375746544756465733334393201581cdd2bebba256099ddbc70d691935215d6dfd73cef054a087207947e89a1424d4d03581cdd69528872e351a402d3edbc6d484cdc45119d6aa5d1869a09473daaa2474d61783238303001474d61783431313901581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a02625a00581ce5768de32bf1f5ee36035217e79466739eafbbbe6a7348afc3fc593ba14c4672616b74616c44414f383301581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a000f481c581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa1496d3833676962736f6e01581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a1444445465319015e581cf2eb8567e5df9167a40561f4c69e47d809138b2269e01e512aec2d8da1581c746f6e79726f6765727364657369676e4a6f6b6572436c756230303401581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c1914d0021a0004f378031a038f9578075820b99fd21a4a11a73e21f85d77b6b8de0b200920f6848fe2bc1b87c8456386dd4b081a038f87680e81581c75a811ef1ec0b52e5cf428cdaf9bdeea9521c6dab3cf9edaa5860f2ca40081825820747a6a1db4f8736c9c5c95bb2b61df8cc33e953d4e715812aa02f985223842b000018282584c82d818584283581c29c92990e371d5f2add93b1569a42a68f971c2aad6c5f0b94a2205e8a101581e581cbe2051244aa9875a75e59415f371ddae995c0d9d576fc30954621fb2001a5a4b22241a08ee124b82581d616904e8b2c26f3dda6c4a5db4b3ec9e31d581c9960977cfe9c6917a431b00000003a1848268021a00029cd5031a038f9578ff9fa40081825820d2beea31ad3bbc59b0d50a84a9395e9f55dca859ac7a78da7b0c1ea946fdd3635840862fa2a74c6b0873f8d22c5db5557c334df0470d773813a7c349772475bbbd6232b68cd2535a0b9774a6999446fffb197062812d3b60406fa2c753eb60099a02038359014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c0159030b590308010000323232323232323232323232323232322232323232323253353300a53353301322533500100b2213232325335533553335734603c002260286eb8d5d09aab9e002153335734603e002026038402202626603600a00620066aae74004dd51a801911000980200098081bac35500222222222220091622153350011533533300d00c48811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10033301075c0066a00444400442a66a0022c4426a00444a66a0062a666ae68c07c004400858074580614cd4ccc02c028cccd54ccd5cd19b874801800c4c848888c010014d5d09aab9e00415333573466e1d2004003132122223002005357426aae7801054ccd5cd180c0018990911118008029aba135573c0082a666ae68c05c00c4c848888c00c014d5d09aab9e0040152675c4c4c66601ceb8004d54008888888888801c854cd400458884d4008894cd400c400806c5844800458cc035d73ad13253335734602c6aae740044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c848cccccccccc00404c04403c03402c02401c01400c008d5d09aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026aae78004050dd51a801910011aab9d00137546a00244002a666ae68c048d55ce800899198059aba1001357426ae88004d55cf0008081baa001100922333573466e3c00800402848800488c028894cd4004014884d4008894cd4cc02000801c4c0280044c01800c44880048488c00800c88c88c008dd58009803911999aab9f00120092323300c33007300635573a002600a6aae78004c010d5d10019aba100200722123300100300230032233335573e002400a46466010a666ae68c02cd55ce80089919191919091998008028018011aba1357440046ae84004d5d10011aba100135573c00201260086ae8800cdd51aba1002003120011220022323001001223300330020020012212233001004003153357389210350543100162216370e90001b874800810483d8799fd8799fd8799f581cf17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef68834ffd8799fd8799fd8799f581c0ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853ffffffffd8799fd8799f581cf17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef68834ffd8799fd8799fd8799f581c0ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853ffffffffd87a80d87b9f01ff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0581e436f726e75636f70696173205b76696120436861696e506f72742e696f5dff1b000004052630985a00d87a80ffd8799fd8799f4040ffd8799f581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0581e436f726e75636f70696173205b76696120436861696e506f72742e696f5dff1b000004053c986f6c00d87a80ff0583840000d8799fd8799fd8799f581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7dffd87a80ff01ff821a002b53291a3f518324840003d879808219c7841a01a0f8a5840100d87980821a000468ac1a070b470aa40081825820d2beea31ad3bbc59b0d50a84a9395e9f55dca859ac7a78da7b0c1ea946fdd363584096b10ebf20ea7d705db9cd8bab939d2b8ef242e0fda9762e497badffd5484050b1e56cc456e63cb48d13f497600ce05740d1f0da450b97816841c16284779e00038359014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c0159030b590308010000323232323232323232323232323232322232323232323253353300a53353301322533500100b2213232325335533553335734603c002260286eb8d5d09aab9e002153335734603e002026038402202626603600a00620066aae74004dd51a801911000980200098081bac35500222222222220091622153350011533533300d00c48811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10033301075c0066a00444400442a66a0022c4426a00444a66a0062a666ae68c07c004400858074580614cd4ccc02c028cccd54ccd5cd19b874801800c4c848888c010014d5d09aab9e00415333573466e1d2004003132122223002005357426aae7801054ccd5cd180c0018990911118008029aba135573c0082a666ae68c05c00c4c848888c00c014d5d09aab9e0040152675c4c4c66601ceb8004d54008888888888801c854cd400458884d4008894cd400c400806c5844800458cc035d73ad13253335734602c6aae740044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c848cccccccccc00404c04403c03402c02401c01400c008d5d09aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026aae78004050dd51a801910011aab9d00137546a00244002a666ae68c048d55ce800899198059aba1001357426ae88004d55cf0008081baa001100922333573466e3c00800402848800488c028894cd4004014884d4008894cd4cc02000801c4c0280044c01800c44880048488c00800c88c88c008dd58009803911999aab9f00120092323300c33007300635573a002600a6aae78004c010d5d10019aba100200722123300100300230032233335573e002400a46466010a666ae68c02cd55ce80089919191919091998008028018011aba1357440046ae84004d5d10011aba100135573c00201260086ae8800cdd51aba1002003120011220022323001001223300330020020012212233001004003153357389210350543100162216370e90001b874800810483d8799fd8799fd8799f581c810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701ffd8799fd8799fd8799f581ce8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51ffffffffd8799fd8799f581c810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701ffd8799fd8799fd8799f581ce8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51ffffffffd87a80d87d9fd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1a393eea2dff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1b00003eaed6ee89f100d87a80ffd8799fd8799f4040ffd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1b00003eae9d654aad00d87a80ff0583840000d8799fd8799fd8799f581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7dffd87a80ff02ff821a002e31c21a47031f98840003d879808219c7841a01a0f8a5840100d87980821a000468ac1a070b470aa10081825820fb3489db31b38c778630731b325decff64b5e61b84dda1373919e2dd60581fa05840e28e18b7036cff92909f410e38afafeb0d5ec576c15abbd24ec0ebcc3606c15ff56ecffd487bfe3e55d86234e2499a860f623df5e9378d18ca6486c860d0d60fa1008182582035c82179e6ecca4d76c9eda5373f8311343031169f69df83b0b35df96d682e7358400b00dadc6add4efe756f01911a0203ae9c9fa29508e6241052038e44d5652bae7351f93e4553eefcb1c89db0469740785e6838f9ff4beaeec28a4de0412ed906a200818258205b4078fc270bc5ff67a69b06bb79fbe11785f89e7566992d16b4bb8a3af2fd045840158e623d6c44cb42386357514c0d0da4dd68c429a4d699aaa1bae52912a61ca6f136b6023bef92d11a6aa0bfdab394b377a535992ea50517199674cc98011008049fd8799fd8799fd8799f581cd612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecbffd8799fd8799fd8799f581c6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3fffffffffd8799fd8799f581cd612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecbffd8799fd8799fd8799f581c6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3fffffffffd87a80d87a9fd8799f581cc88bbd1848db5ea665b1fffbefba86e8dcd723b5085348e8a8d2260f4444414e41ff1a05f5e100ff1a001e84801a001e8480ffffa10081825820ce447a05ec6a264b285c487d571dbbbb27b9ad2e3f78ae0eedb0b80b303f89035840ffda7ea9c47c921da1617b8c953617b95b6ba32a61b04374e52e906ae04a548fc0da9a7c46665d8a5b897fb29ba783cace2aa4dfca3fb193b6048cf9043afe09a10081825820e4f5392a6ce18c5dda7df23f01e4567506f03d3d06b635a9d50e310aad1872ef5840ac164319ade11d0523614727cdab2b9c71f4dfb4ed4362f2653ec2adfd69a767b85caef2c3f40b79b9cfdc5b985e83d2755e14fb528a73af84d4fb87e6b4d101a10081825820bbcab2f33ba4b54187c62af0a738024274991166cd16eeddc63021aa8194e6355840aeb984db220555ac1d2fa2a6f9d5881630fbf3d97c564f3eb1ddd3bb608b29ad8a84f3305dc1861f74104e1a010f37227056452c57c0bb62a01cef3e7c52d703a10082825820e18372f98a9e5466724d62bbdf28cf004eae1e41461121dd890475e572e290b258408ad98c8cd86936b3bc78e03706468b3f886dbe10d1c0c9322ccebfdf242c9c7e942e581d5a6e3d363649b10306a95c68d4d44fd648adaaacbc28dc4914e3f603825820c0df7514cc214a06f3a0c0ed0b405a000610e559d6aa826bbf0b5dfc2d58baa35840c0cb9f0965d986992f8aa0d6977d302811f04d8ae88aa193d3abe6c0618af8b436c86b6e65b9b4918f9c243f7c4098a200a3a3006f83f0fd99ffb605aa5a860ba40081825820638b21486e07dfc3d181079df45519833da3ce02e9e63f9ce18971eb5154f1575840a40f75f7635529d2adfbfb9ec46059d0e4ebab1670e59b4bb3786acfcceab67d3a69db30c87e231c447e6147b6567a70c3f46eec11c9a4e23ac29774c367440c0381590373590370010000332332233322232323332223332223233223232323232332233222232322323225335301533225335301a00221333573466e3c02cdd7299a9a8101980924004a66a6a040660249000299a9a8101980924000a66a6a04066024900019a980b8900098099bac5335350203301248000d4d54054c0440088800858884008004588854cd4d4088004588854cd4d409000440088858588854cd4d4088004588854cd4d4090004588854cd4d409800440188858588854cd4d4088004588854cd4d409000440108858588854cd4d4088004400888580680644cc88d4c03400888d4c0440088888cc05cdd70019918139bac0015335350273301948000d4d54070c06001c88008588854cd4d40a4004588854cd4d40ac004588854cd4d40b4004588854cd4d40bc004588854cd4d40c4004588854cd4d40cc004588854cd4d40d400458884008cccd5cd19b8735573aa010900011980699191919191999ab9a3370e6aae75401120002333301535742a0086ae85400cd5d0a8011aba135744a004464c6a605266ae700900a80680644d5d1280089aba25001135573ca00226ea8004d5d0a8041aba135744a010464c6a604666ae7007809005004c004cccd5cd19b8750024800880688cccd5cd19b875003480008c8c074004dd69aba135573ca00a464c6a604466ae7007408c04c0480440044084584d55cea80089baa001135573ca00226ea80048848cc00400c0088004888848cccc00401401000c0088004c8004d540548894cd4d404c00440308854cd4c034ccd5cd19b8f00400200f00e100f13300500400125335350103300248000004588854cd4d4048004588854cd4d40500044cd54028010008885888c8d4d54018cd5401cd55cea80098021aab9e5001225335300b333573466e1c0140080340304004584dd5000990009aa809111999aab9f0012501223350113574200460066ae8800800d26112212330010030021120013200135500e2212253353500d0021622153353007333573466e1c00d2000009008100213353006120010013370200690010910010910009000909118010018910009000a490350543100320013550062233335573e0024a00c466a00a6eb8d5d080118019aba2002007112200212212233001004003120011200120011123230010012233003300200200148811ce6c90a5923713af5786963dee0fdffd830ca7e0c86a041d9e5833e9100010481d8799fd8799fd8799fd8799f581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3ffd8799fd8799fd8799f581cb9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c52ffffffff581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a31b000001807994d97bd8799fd8799f4040ffd8799f581c869fc72c11977e4be3e8e1cc63cca008a925886332795c9601f965ca4455534443ffffffd8799fd87a801b00000002731a757effff0581840000d87a80821a000271001a03938700a10082825820acad41ba2c170813aafaba25f0e3053f891cb156e4b62424505313552cae64145840501a43e58da4b8a51145b1f5879405a60203a1d874ad676009384f1380e6202659df10b22965fa03fcd14718e5b740ba058935553bd99e17ec996a5a987a100682582036ca45fd31120d18b3ae2d02997b0ef86973218aad613e5be2a4b6d376c64f1558409ef310ea9677e87ab273347c25e3298c4dec5040bf0e8c8fe3ec330b1fc2a0731571684f61c904d72fa529933a3338dde7fd49330263350c273725f668a2cf01a400818258206bbc0507086cb8c7ce2e6c45c72875e18c4aa05580c61b8448c3c556f4e40dd85840bbc0f5bd612b6330256336666491c30e178cb79288163f2aa211b42c7e32679c522c393e081af160af7650e48351b8dd794f197c78ee67bfa02199df8a1e7a0003815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581ceb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a01a1443fd00581c7e605894cdcbe8d1933f0a8760d93bd121aca583cf21ad1c25e51fd3514d6164446f67436172436c756238313331581ca037e568c8268f9661753b323d73e009247cb0048b513cd1d979b1311832ffff0581840001d87a80821a000c94ca1a1555eae2a100818258205f8bda213103ea2e2c2daeb31c9c41fb867c4b081c1f6cfecd02c2f33b884d295840132326f4834623ead4fccf6cf97f5a8b7b5eb7fc18c70624a4588882a4dc20846145d3a476dbd732270b002203e7d8e732682c6c79f23e89a19a25f530a1e507a40081825820a900e690cf0459e20c01b857647905e321843d20f75e17f97d78b0ed1026c2ff5840c3ca19c13e76b018587ce32d55ede8ca1a47ec7160b6a9f2d29632a058393fc05e830076316acefe0f46e43ed4a85fe893cfba22ba44eed8a9d2f8a57cdef90f03815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c1514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a31a0bdc7fc0581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe74f756e77616e7465646f6e6532323637581cbca70d25accc9aade71b3733520522e1485f2fe4ec792bf47535a9131832ffff0581840000d87a80821a000c94ca1a1555eae2a10082825820c6ba8e7798d11fa1244e9037c9c63ce90c45b810f126fe5ea8391e5fa171e3f0584001db8b7b18c778307eb16cd8ca296314667386a84d4e9611aa7275d624ef16546c214a632864c6a83a602cd11359cb57101853892c47d918af39f9895369f80f825820883b9c6ac4af92b5c1ce772ebb5e3ae48b33c21a6fbef6d623050862f82b85705840ec51204b1d4276c26ef4458233a2c127967ee055694b9d13054c57a18fbac24708163d6c5bbeeec9b66496347981771a207cc1cbd5d4f5898ceb04ec5aa4ed04a100828258200779c1f8bfebda065ae9addf2bad902a607f9e90f3f05d02fe46ec9e597cf7225840851f415a84adee3c45ed3d3b45128c6f3e35edc31362a023ebed36f72de97478c03fb7c6cd89bcef2159c0542ebdf45e13185cb98bd5c5d15504ca6db8920d08825820d88d4d7db21e9af90cfd034cbe6695cf4d8b0fd1d4c7bf7473d95688a28ebbf0584056efd37af9cb507e5ee8c1d4de6393764c3fdb634c7a1589e63c1300e7344d482c75f130f4b5425a381b1650448c866c70d29ab082d1f49c39862247bfd8fa09a40081825820b12fe05fb163d99284fd131c2f0ddb392974e56be18910d7c04bbca528e7ffd0584069d07334b87bf8ef65768426770023769ed06275576a23a305c9f77444356165177a69dd3ff8b03126605fd3a878853c30f73ea5edc5fa9a28410c36e0cc440203815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c5f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee1a173eed80581cd4e087164acf8314f1203f0b0996f14908e2a199a296d065f14b8b09581c636162696e31373241646469736f6e4176656e756547453333523337581c4b031cbfd476d7efd6ec84012aeaa11a5ec9aa4ce53973764f5099bf1846ffff0581840001d87a80821a000e07c81a17ddaec8a400818258201798930d74e173d30c8da0156ebc9c1c628c672cc492b2176ba66cde91c8a71458400cf01e1a3c3a9d59e232ea861f41dbeae873574077266143b2d7fd36ba7d23ce190db3ca5a2a2707258d76bd426c06951284a6de539032b34fc3da72cb1e1e0d03815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c083583e222e251c427cc9e18f941ac569ab7382b953f15b226083b381a9df3ca80581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bd4f4368696c6c65644b6f6e6737323633581cf2ec7a984a0c4a3031ffedf5023d7c4a096cfeb36f9d5cdb62a3a60b181effff0581840006d87980821a00d1a2771b00000001191ddab9a1008282582086821f8fec915fe673d20f2b6e92cdbfd4ce41ebc8e9113f5a5380a7df76144d5840e859d15380028c31a65f8b8df7e1b5a76f894c31fbdf442b61da5b590ff0613209e838f4a646935cbaf8bb02a706c10fa9678a211c6f0ca3b29302b09609e0018258209d2d2e2620fa6fc2abc566d4134612b0d8dbabc995c499e69c1f4f0b130937d2584042c338da9f9bc9a961c61c03fa12552edd0ede976b9987834462f6a9a76867f1c99c6aec8940f2350cdb2844c483d4975ff2242b4b7482afe58cd29326d6df0ca400818258202ef78a1f92a2f5a2874e68b627ab7e4e5c335374514bb54dfdafcb8a5c30e06558400731d17332140bf96187841e8a96c1a7dbadc1ff11201de7fbd466a373c254e1cd3d5e10b0f9e144e7607d530c4975cc5d1771727eac02a6044a94eb5e0f620403815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43261a52d9b780581cffa56051fda3d106a96f09c3d209d4bf24a117406fb813fb8b4548e34c4d656b616e69736d33343030581cf32d80def34c2b88fcf3e35d105d52ccc80f06d39f12c1fd7e511ed91846ffff0581840001d87a80821a000f7ac61a1a6572aea1008282582027958568d4782414f5ab55c3430e4152a96285bf646f1737d5ee19c36288e4d45840dc03065bda688d77b603ee379d3a373d0398b0516b70cb0636dd853f386cd4da8a670e37649a2659bc10bc84059547752239c8e7a476071e5368aa745bcfc702825820dac0f11f6428347f48b4af35d8d75c1aa66d0c9bdbe8a05d0e650cd305169991584032fc72e77e4ad449ac000936d4a62256fcd784f280316a3dee0b79afee484a2ea56041f931f725fad2eb4e267d9fd8f47e6f4517942e75885596d376c1396d05a100828258204a67890e9eade252307d164a82ce301bd46415fbca95691a4883d319760a02ff5840e73c2d47ee3bf91f9be46e26a6bff7007dfc8263fe82cce372c27280cb644ac21a02ee6354851c576b7eb87cb7dc5ead6d7a1365330a6a5a25712cb2555afe0b8258201e3dc1afe28b25c85b810ee1f4a0593b444d851a9df40d558808a48c6e380c1f5840017675fc47efb232d1362c5b4cb2215a3f59031b7f4f2135df8ff2eeb55ccde02776f2a4b1773801da3b80fa67afa4ce8bf06c8e6b9ac7c1d5bf3397e352b50ca40081825820109df4e67da956585ed5d99fd9589a964a40e5682d126dd010e41064aec98cb658408fe5eb09b8ac269e5aedb276a2c3f9b7a03220e036d58fc1ab36862a780884b1fabbf28159952932b9c958432eec2438dee8cefebe7f12fe4ba28f474aff7b0703815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c1c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe8761a10642ac0581cdf44bef5a988e0b135145c505d734130f545dc959e764ac14c9ce983581a576f726c646f6643617264616e6f50617263656c303031303433581c66852b646783d742ee167a163e5e648fcf06df16b5688d1e42cd2c3a1832ffff0581840001d87a80821a000c94ca1a1555eae2a10081825820e7df8ecd4ff7069579fed70da54bc7e3e47c5b9c943b19cfd3e5a30851903ee758402f5c35d410f92cb637892e40b0e28413196cb8e1c990c9d20446a1dc36653e91795f231810e41c8331cbaf46d886c503b6573c62889fde882fdaac5fb3dd2600a102818458208b66d7f3bf0629a3cf791984bf0fa4568b83106c9257818e63edf63142e9bf2a5840663e1738484b39fc8cc7a459be5f8f5611ff12595c03895aa797df1d963813a6d751376c52dfa4f7080d964c311a3d2448367d22e72b220f146eee763494230e582022cc1a6495cb1639e562a07c9aa86a4cf54e3dbb6839aa4ee6f0b6a20dc349ad5822a101581e581c1afbc57540db1561adeaccd7f4894065965cd230f6bdc70722aecd8ba100828258200dc9f84d2881aa478375fed96aad49535e630e29968f8b245c24366a0d7632495840e6f02fbccf7587b84919b3b906437d36710095c40395fcb894f8f032b0a28555586dc314b6d235e02dcc33406b010d337fd67aacd0b4cab3c5d6a48b7f1091068258201d26e9065a29875095ef033d4dcd5b5830fca1316b5d5663988358de764946455840844a6552c3e301a8db049026f1a7ef97e1d840a51191d1b17c38e62eb45b78084ffb319ba31f16237b6a1f022ebe241c991e8892793454483859e45db5f65a0ca200818258204022566b27944548c7ca15d82c41d739720d3d1575e265e4c8efaa8dfd06006958402ef05f6e195ffa395b97832f431a7ff9ef9566e668b33783cbc11851e74e39d75d0fd73fb3eaeed7dd31934ee6639dd2f54d698a02c078bcf5672c8885b7c3060481d8799f4108d8799fd8799fd8799fd8799f581ce82071bf8bf1b23bb0342474025dc364bd941cdcacd3aee3ba7edde5ffd8799fd8799fd8799f581cae254322c32914496dcc712b63a2b03181eb432b103a0879ca691c29ffffffffd87a80ffd87a80ff1a002625a0d8799fd87a801a0d8bc806d8799f1a01e5e4bcffffffa100828258208d753228c6941fb5d49ce589f14d52713dcbe4973f3c6dc09b11cad6da0eec5158404d2263d0605c191fc8454a4bcdc99626e92447305ce19d6ee714e0d49af033156b3de56cc9062e20c285f519277d2aa794649524f83bf099e36903494a97550d825820cadf8f39dd5f31ce983a9fa1035342b1895202393f86b11939e404817e0be2575840850cd638d118fb26da56aea0f0e3cca68f1451ca9e70e98e6db2f942613841a95fe61bfa81ccafde3c0a2fe9e7a466b30cd1a4e923b222aa1b7eb1c3bb9f970ba100818258206ffe60302fbd0d26ee3d9600e1b8821da995bcd24846a0d0107893744c1804905840e998ca7033ba046ebb312d88d952c8e44b7ac52dae5d19522708525be3b5eb6f8bf9e8fc9d44d43d5cfffcd458c84adc581f301519387f57e1fb4a84d7dcdc02a20083825820f14b486ef4a8727e70762f8934a0c4f3d762effd51c918aa18e668877691cc105840bfa1299e90648857a83976ac074652abec87cef3fe0f8428ac38d9e31ffc36f9e79fca6ef338eb7378234ed4edbb0e42484ea648ae1f99d3fe8dd603e3e80909825820ab27338de0ba9e080c17ffa6cc62fc2708220328e86300fccc9142303fd478a6584023d4298c739f3f1f854ca39ba88aa0ab9b2693bdd257a7030afb48b14682556810a0888d83d37806a000e2fbd55eedcc835e44840caed8b53c7923c456e5410982582068f128b4960cb5230e9d2a1095a36420bdc16dcbe4b96a89d378236806bbe0195840bbabfc98c12311ebc4907905ed9e0c4a0d413c501e1738d75bfddf05becd2d94239173bf00f82a50d74bec09c72c732ad6e6d0ad1d4b01616f693a8b4e518c04018282018282051a0930821c8200581c7261329c8aae4fa032fa8e35a7a94e15771271606b947e41777ab9ce82018282051a0930824f8200581c7148953e189335953142a436822bac2653df066fd8852949f0d7be4ba100828258209bbecd8099a124e5d21310623afdedad8e0687663a86e229f6c745ec14b8a6a6584019d437ee0e907a7664962e4be2cb0001c45854467a9e2a539fc8d3ee26baccc96e7294012899d635a91be2995221bda70e6e7187e285d3c4a4d41c258be69c0d825820f9e60a76de7bc5f9f47da80e0bf1495ac939251b399ee610c059366b67af58515840463735b0dd7840955d1c1717d9051104c9fb12b7458a803655cb35602df73188b85eb4f7eab70a675b9ce9c228d0b94e62b0041b53df5a8c2e792ab45275ab0ca10081825820a6cf1fdfa2d880f1a0d653ed0bf5b9b40bbcbb84ca879fb20c88994413a98f4e584022c8a8a4260f6d3712936d0b0a44c597ddf721a56cb7acdfbedd9d77e3afc74581b5778aa6e8857de397af77dc98e68dd71e64d9e4ba4011d247856872910102a400818258203c06fd15150414de67ba79f996ce54a2bf1f2e8bb14021c38fd4466e21d48cf65840027f3e8674953fa10198a848cac11ccbffb5599bf76b3041d0a200916b06b7278d66ef5c91d4b3a329934c4516998b3d62efcd2aa4808e691afe674688e63a0603815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581cc5457eb1c10330527b63686115cf590cd8e3d4747612608434877f211a11d260c0581ca587ce7893ec56fa6136e483499d2a8210e29c34b7dc67344612887550436861696e734f665761723031303633581c09234c6af55ff7f7b7429f73bd8dd6ac9ebe1348ebefa345e9758666181effff0581840000d87a80821a000c94ca1a1555eae2a10081825820b4d9e333f9a823738242fe3550e18b959e93429e491d68e79a7d7924967762f1584009865750b6dddaa04f2de9b0d26798d00274529b2c0f5669abc14431e479ed8c75a320b4a2725f365235690166acf79c7aff9e7984c56160f37a08ac704eb40aa1008182582067cfa131e284e6a4d794dd86f04d4ed904eace4f17ec54ff086a0dafaf8e005758400d0a55c7b48b74c690c1965bbb1f45c8809b670dbaed75048d17df4ae699bf71a3504bfde1095bcbff5d43b5c73787fbfcf4b8b2a87de408837e345a9c13ca0effae00d90103a100a11902a2a1636d7367826f4c616d696e61722052656c6179657278403062656139626632633131626565363661353331623163316434643636396238373164666531386330613336393132363232323562336439613634346431326201d90103a100a11902a2a1636d7367826f4c616d696e61722052656c6179657278406130343330353363633633373139616633343639646266616637333734396537376233363861643436393138633531343863353536343830373363663030306204a11902a2a1636d736781781d4d696e737761703a2053776170204578616374204f7574204f7264657205a601693930393030303030300362353006784061646472317138356e326333376e38757838717a6b747877356a786b763679387777737a616d34306d6d72637537666c70706575713066786879346867766a6d07782734737865377070616636327173737937336467746e61393771343379793974787333386d35676608784061646472317139643337656865656534326e6b356a716730333275747874656132736c34326c777a6d6e3674363861346c61736c37376c77327839793770617909782768716d6b746375736534757676386a7a6578646b6636616132687a6b636e7633717770333572370ba601693234303030303030300362353006784061646472317138346b336e6a6e6d7435757335376866383073706c616c36757a787938677a63716473326766763479787766677a3072377770713672676e346a07782779723668766a686b71726e776c6568783538776871667176653877616a757070716361753071630878406164647231717873723065746765716e676c396e707735616e7930746e7571796a676c3973716a39347a3078336d39756d7a76307732767a6378726e6e6561330978276c7a6733796563786c77736e61713872727270746c78786b756b766c33713678733736326a39630da6016931333930303030303003623530067840616464723171793233666865633836636e72637071306d337168386573717a7471346661616d71677168686c6c6566346d66676d72366e7a74716b6b7578707507782736777977753538346b707079666366783472777335716664357038727567366d7130383032737a08784061646472317178373277726639346e78663474303872766d6e783573397974733573686530756e6b386a326c35773536366a79617a66656c39326a647667657209782772657273636834367035707a74647071356863346e6c78746774763576366e3471366a6637727810a60169333730303030303030036237300678406164647231713930337877306e68307970647872667034616c37336e75347964396863753967667a3634643063686b396c656d3574676e6e6a716a7834656c6507782735776674743067646874367a76387737337a647779616435746675376e3866337364616a386e710878406164647231713939737838396c36336d64306d376b616a7a717a32683235796439616a6432666e6a6e6a756d6b666167666e306c7037766c32326d3975763877097827726c7932657a61677a746d6174336532616a677571667134357763706b71717571676d356b776513a6016a3133353030303030303003623730067840616464723171397166753932356d333264367a3963716337377174326b76633271686768676e6b336c333366637263647978666e74766c757065646532687038077827736c68617161647477306735683235786e6e7335707772366c3875346b656c687370333975356508784061646472317138656a6d7178373764787a687a38753730333436797a613274787673726378367730333973306130656733616b64797864386c7566656330723409782770643833616a7a6e6a7739336575666738796a377439307978636a637a6e68397375637933736516a60169323630303030303030036235300678406164647231717977787478323777376a70307370706834776d36346335756e6d326a3564746c7875373775766e376a343773616a717a6867766761756a356137077827637038683463677933686b39397070766b34386b71636d38776c6e643566793273656b3371646e087840616464723171396e6732326d7976377061777368777a65617076306a37766a387537706b6c7a36366b337267376774786a637773653573376b333668716c757a097827337777336132756c643475733877616a346d7570306a7938717470703432326373306578366877181aa11902a2a1636d736781715353503a20537761702052657175657374181d82a11902d1a278383463336638613137373362373831336535333761373566376231623238393739393662646330653164366437643063313132353265323532a1704d6f636f73736949746f323136303337a76a61747472696275746573a76a4261636b67726f756e646470696e6b64426f64796e736b656c65746f6e20636c6f616b644661636565616e6772796347656e0268486561647765617269636c6f776e2068617467506172656e74738219248919268467537065636965736349746f69636f707972696768746c32303232204d6f636f7373696b6465736372697074696f6e78245468697320697320616e204e46542066726f6d204d6f636f7373692070726f6a6563742e626964193ea565696d6167657835697066733a2f2f516d63686a6e5a7345764c6f563250486e4858526b7577614b76684a316b387978504a686f53514d507470544734696d656469615479706569696d6167652f706e67646e616d65734d6f636f7373692d49746f2d322d313630333778386434343733613738616539393265643664393532393965373137376234356338303533643564623534393534363761323966663063373830a1754d6f636f7373694d6167696350696c6c3038303633a76a61747472696275746573a36a4170706c6965642d746f684272656564696e676746656174757265781b52656475636520312064617920636f6f6c2d646f776e2074696d656450696c6c68466c61736869746f69636f707972696768746c32303232204d6f636f7373696b6465736372697074696f6e781b4d6f636f737369204e465420666f72204d616769632050696c6c73626964191f7f65696d6167657835697066733a2f2f516d5a45527574573353466e4475596a4a38557048735a73624857366f61754b73353134384e62654e3141424361696d656469615479706569696d6167652f706e67646e616d6578184d6f636f7373692d4d616769632d50696c6c2d303830363380181fa6016a3134343930303030303003623330067840616464723171397168726737396d7861796a7137366a65686a33646a7478737a3863703075687770726c75616a787838773439677a6c6e7764397068326b6d790778276a707a756a64347a326a6a6470746e67636a667974776172726333306834797373757930776374087840616464723171386373767a7a39723234647863746b726e6d6476747577616833796572636b6c64706b79636777326d647a3234666b37667279646676776661640978276566666a36767776336e356372647367616e6b30667038647434787264746730716c30376c35641820a6016931323030303030303003623330067840616464723171387a35326c34336379706e71356e6d766435787a397730747978643363373577336d7079637979786a7268376777736e71306e35727a7733796d07782766776530726a343838366c3761756b64357865343065397167676a6e376a37777364786864676b08784061646472317179796a786e72323734306c30616168673230683830766436366b666130736e667234376c673639613936637665356d6d72343336723238686379097827726338346b71787737726a686c6e61647a6d36796d733638336a64756e77307671716e6a6e77321821a601673630303030303003613006784061646472317139363673793030726d717432746a75377335766d74756d6d6d3466326777786d3265756c386b36356b7271377439366b703761716c34683077630778277866393971307372716572726c6866347868786133326d78646e333464303833736d76786b6a38087840616464723171387767686e3664737a74723675686e70346b30676c336d366a397538327179686a71727732336e3634743839347232326d707763786830656e7009782779653970686d7434656e6b73796a7734663963653564756a716a6b6c7234736c716734726b786880")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); @@ -83,10 +83,10 @@ public async Task DeserializeBlock(string cbor) for (int i = 0; i < iterationsPerTask; i++) { // This call should be thread-safe and never fail if the code is correct - Cip68 cip68 = CborSerializer.Deserialize>(cborRaw); + Block block = CborSerializer.Deserialize(cborRaw); // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue - Assert.NotNull(cip68); + Assert.NotNull(block); } })).ToList(); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs index 0af2f5bc..1c3b6ccf 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs @@ -48,8 +48,8 @@ private static async Task ParallelDeserializeAsync(byte[] data, Type[] con { TaskCompletionSource successTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); - // Create tasks that run the deserialization attempts in parallel - Task[] tasks = concreteTypes.Select(concreteType => Task.Run(() => + // Create a list of tasks that attempt to deserialize in parallel + Task[] tasks = concreteTypes.Select(async concreteType => { if (successTcs.Task.IsCompleted) return; // If already succeeded, just return early. @@ -68,18 +68,19 @@ private static async Task ParallelDeserializeAsync(byte[] data, Type[] con // Ignore failures - if all fail, we handle that after all tasks complete. // But do not throw here, since we only want to fail if NO type works. } - })).ToArray(); + }).ToArray(); - // Wait for all tasks to complete - await Task.WhenAll(tasks); + // Wait until either one task succeeds (successTcs.Task) or all tasks finish (Task.WhenAll) + Task completed = await Task.WhenAny(successTcs.Task, Task.WhenAll(tasks)).ConfigureAwait(false); - // If no type succeeded, throw an exception - if (!successTcs.Task.IsCompleted) + if (completed == successTcs.Task) { - throw new InvalidOperationException("Failed to deserialize with any of the provided types"); + // We have a successful result + return await successTcs.Task.ConfigureAwait(false); } - return await successTcs.Task; + // If we reach here, it means Task.WhenAll completed first and no task succeeded + throw new InvalidOperationException($"Unable to deserialize to any concrete type implementing {baseType.Name}."); } private static Type GetClosedGenericType(Type concreteType, Type baseType) From 60d2d7624a0e210282c7207713bb71a6237e9ac9 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 17 Dec 2024 14:51:59 -0500 Subject: [PATCH 075/162] chore: bump version to `0.5.10` (#90) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index ca92bd93..da4df4f4 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.9 + 0.5.10 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From 7d1a0d2bda35302643a61159b0a5aeca7c9cfbcc Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Wed, 18 Dec 2024 04:19:17 +0800 Subject: [PATCH 076/162] refactor: modify extensions from throwing error to handling null or empty cases (#91) --- .../Core/Extensions/AddressExtension.cs | 2 +- .../Core/Extensions/AuxiliaryDataExtension.cs | 10 ++-- .../Cardano/Core/Extensions/BlockExtension.cs | 40 ++++++------- .../Extensions/TransactionBodyExtension.cs | 32 +++++----- .../Extensions/TransactionOutputExtension.cs | 4 +- .../TransactionWitnessSetExtension.cs | 58 +++++++++---------- 6 files changed, 73 insertions(+), 73 deletions(-) diff --git a/src/Chrysalis/Cardano/Core/Extensions/AddressExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/AddressExtension.cs index 07a087d0..c69ac8ea 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/AddressExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/AddressExtension.cs @@ -4,5 +4,5 @@ namespace Chrysalis.Cardano.Core.Extensions; public static class AddressExtension { - public static string? ToBech32(this Address self) => throw new NotImplementedException(); + public static string? ToBech32(this Address self) => null; } \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs index aae9b9b9..325aef30 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/AuxiliaryDataExtension.cs @@ -18,13 +18,13 @@ public static class AuxiliaryDataExtension public static Dictionary GetMetadata(this AuxiliaryData data) => data switch { - PostAlonzoAuxiliaryDataMap x => x.Metadata?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value) ?? throw new InvalidOperationException("Metadata cannot be null in PostAlonzoAuxiliaryData."), + PostAlonzoAuxiliaryDataMap x => x.Metadata?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value) ?? [], Metadata x => x.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), ShellyMaAuxiliaryData x => x.TransactionMetadata.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), - _ => throw new NotImplementedException() + _ => [] }; - public static object GetMetadataValue(this TransactionMetadatum data) + public static object? GetMetadataValue(this TransactionMetadatum data) => data switch { MetadatumMap x => x.Value, @@ -33,11 +33,11 @@ public static object GetMetadataValue(this TransactionMetadatum data) { MetadatumIntLong longValue => longValue.Value, MetadatumIntUlong ulongValue => ulongValue.Value, - _ => throw new NotImplementedException("Unhandled MetadatumInt type.") + _ => null }, MetadatumBytes x => x.Value, MetadataText x => x.Value, - _ => throw new NotImplementedException("Unsupported TransactionMetadatum type.") + _ => null }; public static IEnumerable? NativeScripts(this AuxiliaryData auxiliaryData) diff --git a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs index 7200229a..d3b89b46 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs @@ -10,24 +10,24 @@ namespace Chrysalis.Cardano.Core.Extensions; public static class BlockExtension { - public static Block GetBlock(this Block block) + public static Block? GetBlock(this Block block) => block switch { ShelleyBlock shelleyBlock => shelleyBlock, AlonzoBlock alonzoBlock => alonzoBlock, - _ => throw new NotImplementedException() + _ => null }; public static string Hash(this Block block) => Convert.ToHexString(block.Header().Raw?.ToBlake2b256() ?? []).ToLowerInvariant(); - public static ulong Slot(this Block block) + public static ulong? Slot(this Block block) => block.HeaderBody() switch { AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.Slot.Value, BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.Slot.Value, ShelleyHeaderBody shelleyHeaderBody => shelleyHeaderBody.Slot.Value, - _ => throw new NotImplementedException() + _ => null }; public static List InputOutRefs(this Block block) @@ -38,30 +38,30 @@ public static List InputOutRefs(this Block block) ) .ToList(); - public static BlockHeader Header(this Block block) + public static BlockHeader? Header(this Block block) => block switch { ShelleyBlock shelleyBlock => shelleyBlock.Header, AlonzoBlock alonzoBlock => alonzoBlock.Header, - _ => throw new NotImplementedException() + _ => null }; - public static BlockHeaderBody HeaderBody(this Block block) - => block.Header().HeaderBody switch + public static BlockHeaderBody? HeaderBody(this Block block) + => block.Header()?.HeaderBody switch { AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody, BabbageHeaderBody babbageHeaderBody => babbageHeaderBody, ShelleyHeaderBody shelleyHeaderBody => shelleyHeaderBody, - _ => throw new NotImplementedException() + _ => null }; - public static ulong Number(this Block block) + public static ulong? Number(this Block block) => block.HeaderBody() switch { AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.BlockNumber.Value, BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.BlockNumber.Value, ShelleyHeaderBody shelleyHeaderBody => shelleyHeaderBody.BlockNumber.Value, - _ => throw new NotImplementedException() + _ => null }; public static IEnumerable TransactionBodies(this Block block) @@ -73,7 +73,7 @@ public static IEnumerable TransactionBodies(this Block block) CborIndefList x => x.Value, CborDefListWithTag x => x.Value, CborIndefListWithTag x => x.Value, - _ => throw new NotImplementedException() + _ => [] }, AlonzoBlock alonzoBlock => alonzoBlock.TransactionBodies switch { @@ -81,9 +81,9 @@ public static IEnumerable TransactionBodies(this Block block) CborIndefList x => x.Value, CborDefListWithTag x => x.Value, CborIndefListWithTag x => x.Value, - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; public static IEnumerable TransactionWitnessSets(this Block block) @@ -95,7 +95,7 @@ public static IEnumerable TransactionWitnessSets(this Blo CborIndefList x => x.Value, CborDefListWithTag x => x.Value, CborIndefListWithTag x => x.Value, - _ => throw new NotImplementedException() + _ => [] }, AlonzoBlock alonzoBlock => alonzoBlock.TransactionWitnessSets switch { @@ -103,9 +103,9 @@ public static IEnumerable TransactionWitnessSets(this Blo CborIndefList x => x.Value, CborDefListWithTag x => x.Value, CborIndefListWithTag x => x.Value, - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; public static Dictionary AuxiliaryDataSet(this Block block) @@ -114,7 +114,7 @@ public static Dictionary AuxiliaryDataSet(this Block block) { ShelleyBlock shelleyBlock => shelleyBlock.TransactionMetadataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), AlonzoBlock alonzoBlock => alonzoBlock.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), - _ => throw new NotImplementedException() + _ => [] }; } @@ -128,8 +128,8 @@ public static Dictionary AuxiliaryDataSet(this Block block) CborIndefList x => x.Value.Select(x => x.Value), CborDefListWithTag x => x.Value.Select(x => x.Value), CborIndefListWithTag x => x.Value.Select(x => x.Value), - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; } diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs index 2edcaed5..34ae24aa 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs @@ -21,7 +21,7 @@ public static IEnumerable Inputs(this TransactionBody transact CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, BabbageTransactionBody x => x.Inputs switch { @@ -29,7 +29,7 @@ public static IEnumerable Inputs(this TransactionBody transact CborIndefList list => list.Value, CborDefListWithTag tagList => tagList.Value, CborIndefListWithTag tagList => tagList.Value, - _ => throw new NotImplementedException() + _ => [] }, AlonzoTransactionBody x => x.Inputs switch { @@ -37,7 +37,7 @@ public static IEnumerable Inputs(this TransactionBody transact CborIndefList list => list.Value, CborDefListWithTag tagList => tagList.Value, CborIndefListWithTag tagList => tagList.Value, - _ => throw new NotImplementedException() + _ => [] }, MaryTransactionBody x => x.Inputs switch { @@ -45,7 +45,7 @@ public static IEnumerable Inputs(this TransactionBody transact CborIndefList list => list.Value, CborDefListWithTag tagList => tagList.Value, CborIndefListWithTag tagList => tagList.Value, - _ => throw new NotImplementedException() + _ => [] }, AllegraTransactionBody x => x.Inputs switch { @@ -53,7 +53,7 @@ public static IEnumerable Inputs(this TransactionBody transact CborIndefList list => list.Value, CborDefListWithTag tagList => tagList.Value, CborIndefListWithTag tagList => tagList.Value, - _ => throw new NotImplementedException() + _ => [] }, ShelleyTransactionBody x => x.Inputs switch { @@ -61,9 +61,9 @@ public static IEnumerable Inputs(this TransactionBody transact CborIndefList list => list.Value, CborDefListWithTag tagList => tagList.Value, CborIndefListWithTag tagList => tagList.Value, - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; public static IEnumerable Outputs(this TransactionBody transactionBody) @@ -75,7 +75,7 @@ public static IEnumerable Outputs(this TransactionBody transa CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, BabbageTransactionBody x => x.Outputs switch { @@ -83,7 +83,7 @@ public static IEnumerable Outputs(this TransactionBody transa CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, AlonzoTransactionBody x => x.Outputs switch { @@ -91,7 +91,7 @@ public static IEnumerable Outputs(this TransactionBody transa CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, MaryTransactionBody x => x.Outputs switch { @@ -99,7 +99,7 @@ public static IEnumerable Outputs(this TransactionBody transa CborIndefList list => list.Value, CborDefListWithTag tagList => tagList.Value, CborIndefListWithTag tagList => tagList.Value, - _ => throw new NotImplementedException() + _ => [] }, AllegraTransactionBody x => x.Outputs switch { @@ -107,7 +107,7 @@ public static IEnumerable Outputs(this TransactionBody transa CborIndefList list => list.Value, CborDefListWithTag tagList => tagList.Value, CborIndefListWithTag tagList => tagList.Value, - _ => throw new NotImplementedException() + _ => [] }, ShelleyTransactionBody x => x.Outputs switch { @@ -115,9 +115,9 @@ public static IEnumerable Outputs(this TransactionBody transa CborIndefList list => list.Value, CborDefListWithTag tagList => tagList.Value, CborIndefListWithTag tagList => tagList.Value, - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; public static IEnumerable OutputsSentToAddress(this TransactionBody transactionBody, string address) @@ -138,7 +138,7 @@ public static IEnumerable OutRefs(this TransactionBody transactionBody) ConwayTransactionBody x => x.AuxiliaryDataHash?.Value, BabbageTransactionBody x => x.AuxiliaryDataHash?.Value, AlonzoTransactionBody x => x.AuxiliaryDataHash?.Value, - _ => throw new NotImplementedException() + _ => null }; public static Dictionary? Mint(this TransactionBody transactionBody) @@ -148,6 +148,6 @@ public static IEnumerable OutRefs(this TransactionBody transactionBody) BabbageTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), AlonzoTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), MaryTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), - _ => throw new NotImplementedException() + _ => [] }; } \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs index a9af9511..aa62c833 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs @@ -38,14 +38,14 @@ public static class TransactionOutputExtension public static ulong? QuantityOf(this TransactionOutput output, string policyId, string assetName) => output.Amount()?.QuantityOf(policyId, assetName); - public static byte[] AddressValue(this TransactionOutput transactionOutput) + public static byte[]? AddressValue(this TransactionOutput transactionOutput) => transactionOutput switch { BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Address.Value, AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Address.Value, MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Address.Value, ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Address.Value, - _ => throw new NotImplementedException() + _ => null }; public static byte[]? ScriptRef(this TransactionOutput transactionOutput) diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs index 803ef8da..0b6b1b71 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs @@ -18,7 +18,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, AlonzoTransactionWitnessSet x => x.VKeyWitnessSet switch { @@ -26,7 +26,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, BabbageTransactionWitnessSet x => x.VKeyWitnessSet switch { @@ -34,7 +34,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, ConwayTransactionWitnessSet x => x.VKeyWitnessSet switch { @@ -42,9 +42,9 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; public static Redeemers? Redeemers(this TransactionWitnessSet transactionWitness) @@ -53,7 +53,7 @@ public static class TransactionWitnessSetExtension AlonzoTransactionWitnessSet x => x.Redeemers, BabbageTransactionWitnessSet x => x.Redeemers, ConwayTransactionWitnessSet x => x.Redeemers, - _ => throw new NotImplementedException() + _ => null }; public static IEnumerable? NativeScriptSet(this TransactionWitnessSet transactionWitness) @@ -65,7 +65,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, AlonzoTransactionWitnessSet x => x.NativeScriptSet switch { @@ -73,7 +73,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, BabbageTransactionWitnessSet x => x.NativeScriptSet switch { @@ -81,7 +81,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, ConwayTransactionWitnessSet x => x.NativeScriptSet switch { @@ -89,9 +89,9 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; public static IEnumerable? BootstrapWitnessSet(this TransactionWitnessSet transactionWitness) @@ -103,7 +103,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, AlonzoTransactionWitnessSet x => x.BootstrapWitnessSet switch { @@ -111,7 +111,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, BabbageTransactionWitnessSet x => x.BootstrapWitnessSet switch { @@ -119,7 +119,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, ConwayTransactionWitnessSet x => x.BootstrapWitnessSet switch { @@ -127,9 +127,9 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; public static IEnumerable? PlutusDataSet(this TransactionWitnessSet transactionWitness) @@ -141,7 +141,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, BabbageTransactionWitnessSet x => x.PlutusDataSet switch { @@ -149,7 +149,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, ConwayTransactionWitnessSet x => x.PlutusDataSet switch { @@ -157,9 +157,9 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value, CborDefListWithTag list => list.Value, CborIndefListWithTag list => list.Value, - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; public static IEnumerable? PlutusV1ScriptSet(this TransactionWitnessSet transactionWitness) @@ -171,7 +171,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value.Select(x => x.Value).ToList(), CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), - _ => throw new NotImplementedException() + _ => [] }, BabbageTransactionWitnessSet x => x.PlutusV1ScriptSet switch { @@ -179,7 +179,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value.Select(x => x.Value).ToList(), CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), - _ => throw new NotImplementedException() + _ => [] }, ConwayTransactionWitnessSet x => x.PlutusV1ScriptSet switch { @@ -187,9 +187,9 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value.Select(x => x.Value).ToList(), CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; public static IEnumerable? PlutusV2ScriptSet(this TransactionWitnessSet transactionWitness) @@ -201,7 +201,7 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value.Select(x => x.Value).ToList(), CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), - _ => throw new NotImplementedException() + _ => [] }, ConwayTransactionWitnessSet x => x.PlutusV2ScriptSet switch { @@ -209,9 +209,9 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value.Select(x => x.Value).ToList(), CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; public static IEnumerable? PlutusV3ScriptSet(this TransactionWitnessSet transactionWitness) @@ -223,8 +223,8 @@ public static class TransactionWitnessSetExtension CborIndefList list => list.Value.Select(x => x.Value).ToList(), CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), - _ => throw new NotImplementedException() + _ => [] }, - _ => throw new NotImplementedException() + _ => [] }; } \ No newline at end of file From 7c710ffc75603f1f7783c0d6628d0d9e41be6420 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Wed, 18 Dec 2024 04:20:17 +0800 Subject: [PATCH 077/162] chore: bump Chrysalis version to `0.5.11` (#92) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index da4df4f4..f47d7c43 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.10 + 0.5.11 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From e39cbcf8f57d1f03005d4560ec7ab5cb104f7406 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 17 Dec 2024 17:07:04 -0500 Subject: [PATCH 078/162] fix: issues deserializing tx body (#93) --- src/Chrysalis.Test/CborTests.cs | 2 +- src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 8ac5b9dd..0ebe7466 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -70,7 +70,7 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("85828f1a006daa351a038f87a5582065941821aed592f317342c55c82f14dc62a6f1f64037df55b14e8ece8faa98ed58206f548211a4216db59480732c8fbe4999caf2fae8f3af876cd4d1ba9b070e94f05820d76beb45ac09b20f2a0a3b871b72f0bc57d058dce8db1ec6f8b7df5df7ff27cc825840803d335754c5fd00c735f06b534f7e082ffa89c9eeb27de07f76125f43f23f0d525b97b965b3398c054431bee9049d9b4757b5fefe82912f5f8509b20f8d331d5850abfac6767000ab4abe0395f13ba74c29726f20df066ef86818cc13c09b1046794b3d7c8257c5bf9b937810b3b0d7d348097e9ae645512ffff9c95d3b32d055ec2bc98944cfbc3374fa932f8e12592d0382584000023891df312ee3f91a4ce8d4e3acf23c189b9860164d248b57fad3601ed7111d3a8b5d4c692a5e8a4a28a7a8e42189d50e12f0da6a1244f4239339080a0c8a5850acd785a146b96a2a8306f2c1fae3b03719f2ae571caed351c73c4a074b990a903a842ade87489540300da5deb5ac363e8fcf4dfe1b2dc5461983d22ff777e733f3d64107067e5afc1d3e4220e60fb1021a000156a458207119161cffd41a7e68ced33bcf0ec2d698b18865c7a6b1d6f90406a9edb025a0582051de6695a017853041715fd93295dbd04fbaf51ea89f679e06e14ed0545482290119019a58400aa580babf904f571e372089247ae64a2159511822e3b6720ea63c8eb5f9b66c7a3cd98acccdda27a7ae959cb6e85082580c962199bf860183355ae8eb2a860006005901c0f424a73e2d7a0f97083a143232b6dc905a7118156af50272761938fe939cf6546dd13779e26cf8184a738eaca4eaffc83963ea971e83525076c3d48d52107902ebd593e2a693e851a0b70c53a3e448b64953326cc09e5e16da6fbb903f082520a9e1b8c0734ecb3517ae1b4e62f6a1826ea5331a2ed04fe19b9fd09aa5333339564e2c591d182ef391bae62ee54defbeddbfaa707bd210271b753fdbef1bb17f693360c94fe100ad021c389aaef1fc2a6123e9d194e552bf367ec21d079fb4100194d778daa5c16963e871c1eefeae8190608e2b45a1207f9bad319d02da705551e1a3da2f55c58351be145dc35b9446ca5abde490b46bb9ddacfa67f1995d37516538bcc04388f456f7813ff261d02c1217de7d6f9e457cbec8875f64da73ecc2cc8d83ea3545978bc7259b1972ee3c221500f4cc1301fac7f911c2e88ea82b1f08b1c7ab3394c077dbc369ebc573a4c8ed1c24fd2389a276750ba2925396054d565b643de2ea7ffb47a88479c49f67f3be3149ef3213f13092c4fc032de59719f8ce5cf6262aa7c995ae550d9119fce5258f627f0199a259dcbcc436378b1febba5ec708291f488d8d582ab2fe184d8f25e56d94d18a298814a210f5c3e7069fa9008482582008a09116f20c748b9c9314a39035a89f8082c3da76a8b76f07ef2db31e018064038258201a186157707f93cd3ac9e3f862eee39186940dcef7b7e5946764b3e78ebc13c40182582082582cfe587c39d8d5ff31ad3422573acd259f6d7d2bb1b6ce920f2580e2a04300825820ee798b2656dd9d37cb79f537041b51673a5d81268734536aae7abc5c5338a6bb000d8182582082582cfe587c39d8d5ff31ad3422573acd259f6d7d2bb1b6ce920f2580e2a04300018482581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d1a3045c62f82581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d821a00161934a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d313635323631383130363338370182583901f17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef688340ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853821a001e8480a2581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d03581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa61a1667d71283583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330952563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821b00000187651a6980a3581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa601581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1b00000ab207d424c05820d2a73711b0f913fa08b8fee5cc6c46b3db82aaf5ee1b6885640e07c52e4d40c5021a000dbbd9031a038f8b0a0e81581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d09a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa61a1667d7120b5820dc5fa6ed5ceb0b2f9582d20ddd055b07f599986be7e0deff99328a2b01c7c18207582007a0a5f883f6b1433dea02ef916312c1d82f1043093c92a048336ccfa2e6a4daa90084825820084365adeb284626d8a13262149a2d45f35833ef8493d7ed6b65c5cef420d1c803825820c20b57990a28be4bb340b54872444f875ee634b1c7aaa523a225a998081dad8c00825820e69f793381266c1f9e0351e7985c4bd8bf5e0b7da5e9a808f025b56a8baeeeec01825820fda54170be26d895bd5e95e510c4cf836270d2eab0e823732befaffc476e800d000d81825820c20b57990a28be4bb340b54872444f875ee634b1c7aaa523a225a998081dad8c00018482581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d1a2a037ed982581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d821a00161934a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d313635323631383130363338370182583901810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701e8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51821a001e8480a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21a39893f4483583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330952563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821b0000165e9e65c4c1a3581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a201581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1b0000b07b242994ef582066ad7ee3215bed62074be1b4a4c0acd519973bfac4793f0a0cf161164d7dc242021a000df85f031a038f8b0a0e81581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d09a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21a39893f440b5820495a5f4a20b4015b3280ff76a49bae59a5103fac61652ddbe42023cc5849a4070758200943791b8e7676f93fc4a382a3e2e9400ae1e0c032a5a28055c7f9e48dc54ebfa4008182582053b4284f9759a2ecad078cfd6ede245074635a326dd1294c544b2da3326af96b010182825839018b73b8e00786dbd2aeb678f562ccea3960860b13876b91a7703fa0822247d90cfda3ddc0fc8bfe31e0364d3a9b10f8d9b163df4f1d84c8b91a01c9c380825839016a499634e20ed82a45d2ffe14c2851c10d5a37a95c807843dd8ad3f38e8ef7a0fe1cb17356e9311268c5d843aced9115b263028ad2369bb71a18790bfb021a0002917d031a038fb172a4008182582056f371f2257d8e6472b12ec422663b20400d65f3d7091360045dce966af19d6001018282581d614d06ccf4e1f9253e7f5317807eba65d6f1fa990e4d1a6e2340638b261a02279c1282583901dcef158ac0c0fb2599d5a00cf9bd1f73e2928ae24e9b3c2df3cf998595985a0fccc4d75c8f87c35f40898bf5e0b4feb2eb983ad5a177e51c1b00000030c761eccd021a00028ff1031a038fa342a500818258202d432375d98e9c851ddd37a9145af99ed252d9f59123fe25c3d758b62169306a01018283581d71a65ca58a4e9c755fa830173d2a5caed458ac0c73f97db7faae2e7e3b1a0c52887d58202f454ce0049bfdd9cb85e700f1557b0c3657c1f59c2c7f7abe52fcd9e3ac5c2682583901d612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecb6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3f1a6c832365021a0002cb95075820bca1e43b910e4009ef56e8dc102ffbfacf0ac473595d3777303f95b094b82dd00b5820b09f43f41223b7e457e2411cdc33c63c45aef80136950441aefcf46c23e9ae83a70082825820a9269956b4e287ed96e995677761f98ca62ebde1d4d653d899bb7a5ca71ad0e4018258202c66665a78a3cb4175dc3b227fbf7c8f8ec93d7e5c236b909d7e65afa4c07ae702018383581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a0019c812a1581ce282271ec9251ba23fb123b0f53618b35cf5a6cde4170c003a0ebf13a148424a53303535393401582067fdf73329aec3e72c95f1a7074b7715d3d1946488b245230538998c1d2ea0e482583901e935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7807a4d7256e864b7581b3e087a9d2810813d16a173e97c0ac4842acd1a004c4b4082583901e935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7807a4d7256e864b7581b3e087a9d2810813d16a173e97c0ac4842acd821a02369dc2b83b581c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b913a1446c7020091a0003b608581c101dcbab5b3c6d18f9121613cb999d12600e5e7e77c147d455b51443a153634e6332314c504144726163616e6f3230353701581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e1a00e4e1c0581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b000000052c8c338c581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a001e8480581c22ae625b40e8e91aa49310301dcd4a82706838e2431ecc03ff847133a1581c41616461476f6c64656e526566657272616c3136333838303830383401581c22d843e9e8b39d105c645944cc848abee2673d64e60f1f022791ec85a156457175696e6550696f6e656572536b696e313038383101581c23a000a839f04bb71b59b4ae74bf8cf5ed21ee0be520690e665ae4b4a15818457175696e6550696f6e6565724a6f636b6579313038383101581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e1a00e4e1c0581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a05f5e100581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a00061a80581c3c2cfd4f1ad33678039cfd0347cca8df363c710067d739624218abc0a251576f726c647357697468696e30333039340151576f726c647357697468696e303530373101581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e04581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567dae525061766961506c7573313133506c7573373601525061766961506c7573313939506c7573353701535061766961506c7573313033506c757331313501545061766961506c75733136304d696e7573313632015550617669614d696e75733136374d696e7573313533015550617669614d696e75733139314d696e7573313833015550617669614d696e75733139314d696e7573313834015550617669614d696e75733139314d696e7573313835015550617669614d696e75733139324d696e7573313833015550617669614d696e75733139324d696e7573313834015550617669614d696e75733139324d696e7573313835015550617669614d696e75733139334d696e7573313833015550617669614d696e75733139334d696e7573313834015550617669614d696e75733139334d696e757331383501581c4bfd50bbc70f3b294d94e8ae7e73ee63e834182f3751a0163805435ba24d526562656c6c696f6e31363435014d526562656c6c696f6e3631363801581c4eec31fba006e35a9e64018ad51967ab5cf2eba07b1cf3832ee2fe6fa1581c4161646153696c766572526566657272616c3136333937333733363401581c4f790fb0d3181ef4026deeb913bc748d7671666a07be8065c1a3a9aaa1505341434669677572696e65303232333501581c4fd6d8b1eac12b029cd68acd25220c20dd13b9c4b0d0b585d49135d3a1445341435414581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431896581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f5703581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581c5a46271a9b32a4517ced20be4ba1f184c2f91b1a5dd480ab639eee57a14d42726967687450616c3336393101581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a017d7840581c6262bf5e4444415eb579212d67c071db9449f0059251019d06be25d0a15243617264616e6f466967687465723136383501581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d424945190bb8581c6cfbfedd8c8ea23d264f5ae3ef039217100c210bb66de8711f21c903a144434e46541907d0581c6e5103651199d2938643fc4fab5d4a61c0950752443cd8794cd3792da14d4d4f42436974794d617031363601581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e20581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521a000f4240581c86f2bf5e9fbfe6d9a3cd2bfc8e4a9890093db5792ea7425a294356c6a1444c415a59191388581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea1455041564941197a03581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a002fb0e0581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e14581c9cc83ea54377108dd022f18095040e8d5808a3061c4fe54f3fd64a7aa24f48616c6c6f7765656e41706532373401524d6f73744162756e64616e7442616e616e6101581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a8aee60de581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451903e8581ca5bb0e5bb275a573d744a021f9b3bff73595468e002755b447e01559a156484f534b59436173684772616230303030393338343201581ca8231c25a8ccc1430359b4bf255b055366401258474834e6906a95aaa14b53616e74614d4f4231393301581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501aee6b2800581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421ab2d05e00581cb1066e840346478fbe01a7c278275c77929e5d5435d5650fcf963c7ba1544164614e617574546f5468654d6f6f6e3233303601581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a05f5e100581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1aa1d27b23581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491896581cbd3602618dc1d4aec509e3532032ef204e0583ff6d5ad4ea81e96145a14a73656164696e6f34333801581cbea41cde225159466664b35dc93e7c5c76458a4a7cc9f7aceb645788a24b4d4f424c4f524530343732014b4d4f424c4f52453333343701581cc001c001f524dccec5d2d48341837305f1f161d95fa1c6d999a205c2a1581843617264616e6f4c6f756e67655469636b6574303432393701581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe7a14f756e77616e7465646f6e653238373701581cc7fe3a3c3443a2a3d453efb7df0c276712bb22f8470f12965f5cae42a150477265656e466f756e6465723139323801581ccea514eda3ce871c316fdb1f0931baa678d2fa5d373a109dbbcc905ea14b4e6562756c61536572756d02581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1904ec581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e02581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba14442454147187d581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e730c581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a00989680581ce282271ec9251ba23fb123b0f53618b35cf5a6cde4170c003a0ebf13a248424a5330353539370148424a53303735313401581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1907d0581cebfd4159e5b3f357a1a6c92e89c2008ec4fa0e3a2d53c6312fbedbcca1574c434e465444656c656761746f7241697264726f70373301581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531819021a00051b5c031a038f9532075820c84588e25b869582d70db5da2b92e5e5d2d09b0b17a54c22c36b736ab297f892081a038f87220e81581ce935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7a40082825820d433d15c59159e5e017f1927a318efd0d3a7c1f05fea93f2cd6e1614bb38215f00825820cff3d92ccca360dca6b8c1280b79272baf70cb3bb4569b9e7a9d18ec7f4b5b1701018282581d61dfd1c0dd2d636dca0b86d6b3fc6dd48cd86c098c7c6e4eb4b9e4d6831a002df12082583901f7768a4087ef55df5150a87a08707da243aa191287e26765c124e0f8cf4deb97a2a10280c1ce14514017443b7dca2bc35e4ef0f5cd913be2821a0047f1b9a4581c18f59066d205b9ffc4208d9b6cfad2dbdee84dc4a0097e0b9de7db26a24e586d617332303231443030383334014e586d61733230323154303038393301581c2c763e2db8337324df122fffa38e0d97ecdf53d139025a0e1b6d6b97a64e43564c616e645331583937593733014f43564c616e64533158343459313333015043564c616e6453315831313959313130015243617264616e6f56696c6c61676531313731015243617264616e6f56696c6c61676533383033015343617264616e6f56696c6c616765313030303601581c33540028ad4ade822c82d61ed2d55388422c3db0bfcd11e5e1c92e2aad4947756d695261726537014a446f6269526172653531014c446f6269436f6d6d6f6e3439014c47756d69436f6d6d6f6e3236014d446f6269533252617265303533014d47756d69533252617265303636014d47756d69533252617265303637014f446f62695332436f6d6d6f6e313138014f446f62695332436f6d6d6f6e313139014f47756d695332436f6d6d6f6e313036014f47756d695332436f6d6d6f6e313037014f47756d695332436f6d6d6f6e31303801504b696d4368617361556e69717565323801581cc9f955eeffa84e42363b4992281d32dd2f9239153d6c66420a9acc15a1434c4f471a41adda52021a0002e505031a038fdb82a40084825820388a40133243a447b722e334e2802d275306baf944e989e5853f0c65e660294d01825820c57ad3c64a0f5cf4a2de653a2637658aef98a93a78c5c1603398950bc35ac63a0182582039e4828e40a7969387e6338b5d5aa8bb29f80227ef025eb9642b31285ef1264e018258201022dfc12bcc35a6a16e12209f864fed9c5802860cede3850a7a500f204dcc0d01018382581d61b19f52773e6fde215217979d98a363023218228bceaf9e28e97f1c23821a003d0900a1581c162ce9d46a21900149027edf2f6ace391d6d1db9450b3c479b857adaa1494964696f74636f696e1a3b9aca0082583901f10edabf9cc0e807ae5a5b95691f2314378a5b63e53fe8b74cd7beb84637f55651101085916e6ddf86e07d129c50396a78578cc3eac8c88f821a02031ab6ab581c162ce9d46a21900149027edf2f6ace391d6d1db9450b3c479b857adaa1494964696f74636f696e1a164496a1581c29f769f580d515a35a6ef190d22c41609cae13c28dfc22062a1eec81ac4a48616e64793030313134014a48616e64793030373730014a48616e64793030373938014a48616e64793031323038014a48616e64793031373930014a48616e64793031383339014a48616e64793031383737014a48616e64793032303637014a48616e64793032333732014a48616e64793035353033014a48616e64793036373735014a48616e6479303739363601581c2a1b8a7471d0b4fd854d8b56e8a3c47d697c2b6db8b278c545b5d70fa24b466972616b6f6e31313432014b466972616b6f6e3132363801581c40ea63e9243017418174dbc6664a555bc3c50cb483162ea5c7ea76d3b8c64c53706174756c6142726f3238014c53706174756c6142726f3636014c53706174756c6142726f3936014d53706174756c6142726f333935014d53706174756c6142726f343135014d53706174756c6142726f343732014d53706174756c6142726f343834014d53706174756c6142726f353234014d53706174756c6142726f353237014d53706174756c6142726f353535014d53706174756c6142726f353735014d53706174756c6142726f363231014d53706174756c6142726f363535014d53706174756c6142726f363539014d53706174756c6142726f363937014d53706174756c6142726f383435014d53706174756c6142726f383837014d53706174756c6142726f393338014d53706174756c6142726f393637014e53706174756c6142726f31303932014e53706174756c6142726f31323134014e53706174756c6142726f31333430014e53706174756c6142726f31343131014e53706174756c6142726f31343231014e53706174756c6142726f31343335014e53706174756c6142726f31343834014e53706174756c6142726f31363139014e53706174756c6142726f31363938014e53706174756c6142726f31373938014e53706174756c6142726f31393833014e53706174756c6142726f32303237014e53706174756c6142726f32303332014e53706174756c6142726f32303735014e53706174756c6142726f32313136014e53706174756c6142726f32313337014e53706174756c6142726f32323531014e53706174756c6142726f32333834014e53706174756c6142726f32343631014e53706174756c6142726f32353132014e53706174756c6142726f32353135014e53706174756c6142726f32353933014e53706174756c6142726f32353935014e53706174756c6142726f32363433014e53706174756c6142726f32363633014e53706174756c6142726f32363837014e53706174756c6142726f32373037014e53706174756c6142726f32383639014e53706174756c6142726f33313239014e53706174756c6142726f33313438014e53706174756c6142726f33313831014e53706174756c6142726f33333539014e53706174756c6142726f33333733014e53706174756c6142726f33343438014e53706174756c6142726f33343739014e53706174756c6142726f33343934014e53706174756c6142726f33353035014e53706174756c6142726f33363131014e53706174756c6142726f33373138014e53706174756c6142726f33373735014e53706174756c6142726f33373935014e53706174756c6142726f33383936014e53706174756c6142726f33393636014e53706174756c6142726f33393932014e53706174756c6142726f34303230014e53706174756c6142726f34303633014e53706174756c6142726f34303638014e53706174756c6142726f34313138014e53706174756c6142726f34313230014e53706174756c6142726f34323033014e53706174756c6142726f34333730014e53706174756c6142726f34343135014e53706174756c6142726f34343437014e53706174756c6142726f34343638014e53706174756c6142726f34343938014e53706174756c6142726f34353937014e53706174756c6142726f34363634014e53706174756c6142726f34363636014e53706174756c6142726f34373635014e53706174756c6142726f34373639014e53706174756c6142726f34383130014e53706174756c6142726f34383532014e53706174756c6142726f34393130014e53706174756c6142726f34393636014e53706174756c6142726f35313539014e53706174756c6142726f35313634014e53706174756c6142726f35313735014e53706174756c6142726f35313938014e53706174756c6142726f35323030014e53706174756c6142726f35333133014e53706174756c6142726f35343731014e53706174756c6142726f35353132014e53706174756c6142726f35353136014e53706174756c6142726f35353137014e53706174756c6142726f35353335014e53706174756c6142726f35363038014e53706174756c6142726f35363338014e53706174756c6142726f35363438014e53706174756c6142726f35373538014e53706174756c6142726f35373631014e53706174756c6142726f35373736014e53706174756c6142726f35383139014e53706174756c6142726f35383430014e53706174756c6142726f35383532014e53706174756c6142726f35383933014e53706174756c6142726f35393434014e53706174756c6142726f36303233014e53706174756c6142726f36303934014e53706174756c6142726f36313339014e53706174756c6142726f36313833014e53706174756c6142726f36323035014e53706174756c6142726f36333332014e53706174756c6142726f36343037014e53706174756c6142726f36343134014e53706174756c6142726f36343232014e53706174756c6142726f36343739014e53706174756c6142726f36343835014e53706174756c6142726f36353034014e53706174756c6142726f36363930014e53706174756c6142726f36373433014e53706174756c6142726f36373737014e53706174756c6142726f36373933014e53706174756c6142726f36383032014e53706174756c6142726f36383439014e53706174756c6142726f36383735014e53706174756c6142726f36383832014e53706174756c6142726f36383837014e53706174756c6142726f36393031014e53706174756c6142726f36393335014e53706174756c6142726f36393533014e53706174756c6142726f36393538014e53706174756c6142726f37303434014e53706174756c6142726f37303830014e53706174756c6142726f37303934014e53706174756c6142726f37313238014e53706174756c6142726f37313339014e53706174756c6142726f37313532014e53706174756c6142726f37313733014e53706174756c6142726f37323037014e53706174756c6142726f37333630014e53706174756c6142726f37333933014e53706174756c6142726f37343137014e53706174756c6142726f37353031014e53706174756c6142726f37353033014e53706174756c6142726f37353237014e53706174756c6142726f37353332014e53706174756c6142726f37353738014e53706174756c6142726f37363232014e53706174756c6142726f37363332014e53706174756c6142726f37363334014e53706174756c6142726f37373930014e53706174756c6142726f37383936014e53706174756c6142726f37393931014e53706174756c6142726f38303038014e53706174756c6142726f38303039014e53706174756c6142726f38313232014e53706174756c6142726f38313737014e53706174756c6142726f38323239014e53706174756c6142726f38323439014e53706174756c6142726f38333231014e53706174756c6142726f38333635014e53706174756c6142726f38333838014e53706174756c6142726f38343036014e53706174756c6142726f38343438014e53706174756c6142726f38343730014e53706174756c6142726f38343732014e53706174756c6142726f38353238014e53706174756c6142726f38353333014e53706174756c6142726f38353337014e53706174756c6142726f38353437014e53706174756c6142726f38353839014e53706174756c6142726f38363130014e53706174756c6142726f38363430014e53706174756c6142726f38363436014e53706174756c6142726f38363935014e53706174756c6142726f38373036014e53706174756c6142726f38373636014e53706174756c6142726f38373733014e53706174756c6142726f38373839014e53706174756c6142726f38393137014e53706174756c6142726f38393238014e53706174756c6142726f38393330014e53706174756c6142726f38393738014e53706174756c6142726f38393838014e53706174756c6142726f39303436014e53706174756c6142726f39313430014e53706174756c6142726f39313538014e53706174756c6142726f39333236014e53706174756c6142726f39333334014e53706174756c6142726f39333838014e53706174756c6142726f39353238014e53706174756c6142726f39353332014e53706174756c6142726f39353338014e53706174756c6142726f39353638014e53706174756c6142726f39353731014e53706174756c6142726f39353937014e53706174756c6142726f39363038014e53706174756c6142726f39393736014e53706174756c6142726f3939383501581c43647af85d68093da3895ce31d1e8c4aeb20f3c2dfee8b0536d55b21a45443617264616e6f436c616e6e734d656e31313832015443617264616e6f436c616e6e734d656e31313833015443617264616e6f436c616e6e734d656e31313836015443617264616e6f436c616e6e734d656e3131393101581c95ab9a125c900c14cf7d39093e3577b0c8e39c9f7548a8301a28ee2db44a4164614964696f743130014b4164614964696f74383633014c4164614964696f7431373732014c4164614964696f7432313835014c4164614964696f7432333630014c4164614964696f7433353334014c4164614964696f7434373237014c4164614964696f7434383739014c4164614964696f7436303634014c4164614964696f7436353637014c4164614964696f7437303635014c4164614964696f7437313831014c4164614964696f7437323633014c4164614964696f7437363131014c4164614964696f7437363737014c4164614964696f7438373330014c4164614964696f7438373730014c4164614964696f7439303639014c4164614964696f7439303832014c4164614964696f743935393501581ca66ae3debc862552f0f183f6bfa7d00b91aeb8c2fadad5ba6e89bf15b81e5046616e6379466f7274756e6531353730015046616e6379466f7274756e6535303938015046616e6379466f7274756e6535333437015146616e6379466f7274756e653130343930015146616e6379466f7274756e653232393439015146616e6379466f7274756e653233383431015146616e6379466f7274756e653235353330015146616e6379466f7274756e653236343030015146616e6379466f7274756e653236353239015146616e6379466f7274756e653239343939015146616e6379466f7274756e653438393331015146616e6379466f7274756e653531313830015146616e6379466f7274756e653531363638015146616e6379466f7274756e653533343133015146616e6379466f7274756e653534393232015146616e6379466f7274756e653535333537015146616e6379466f7274756e653538373433015146616e6379466f7274756e653538393033015146616e6379466f7274756e653630323235015146616e6379466f7274756e653639363738015146616e6379466f7274756e653731333638015146616e6379466f7274756e653735343734015146616e6379466f7274756e653735393539015146616e6379466f7274756e653833343439015146616e6379466f7274756e653833353933015146616e6379466f7274756e653838343532015146616e6379466f7274756e653839323030015146616e6379466f7274756e653930313331015146616e6379466f7274756e653935373732015146616e6379466f7274756e65393930333601581cd4162cfa26718e8a4357226ffbfc3df6a210b2a4d5727ecbfd1e8eaca14a4655444255443438313801581cdbc31b04d90b37332813cb4cee3e8f79994643d899a5366797e745eea1434655441b0000001a8d88305f581cde2340edc45629456bf695200e8ea32f948a653b21ada10bc6f0c554a24844525253343434390148445252533538333701581ce79441eb549e1561893723f82e1e3d3726f75949e60a6bcabb5803a9a85354726970707941646153314e756d6265723139015354726970707941646153314e756d6265723934015454726970707941646153314e756d626572323138015454726970707941646153314e756d626572323733015454726970707941646153314e756d626572333233015454726970707941646153314e756d626572333331015454726970707941646156616c656e74696e653234015454726970707941646156616c656e74696e6536340182583901f10edabf9cc0e807ae5a5b95691f2314378a5b63e53fe8b74cd7beb84637f55651101085916e6ddf86e07d129c50396a78578cc3eac8c88f1a0afda095021a0005f04d031a038fdb82a400828258208ff7998aef11d495ac964abf0a9c36d9cbd04e3e3797ea977aecd0022d1f867c01825820c60aedad00e50860d4631bdd09e6e3d8059d3d03d7da4f26937585bcd60cd72704018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab00825839014dd1bf0594cd6333774fa664b322a060456a23823489a6b6e9731f251f36eac04ef86721d3e3e8e2c3260682fdf712e273785408ab2286291a006e890f021a0002b06d031a038fb17fa8008182582055ceabdcb229cb8f52c921d40c2afa75f7c4fb044e810452c2f0e036e2950f32000182825839015c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3b9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c521a0024db3f825839015c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3b9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c52821a0014851ea1581c869fc72c11977e4be3e8e1cc63cca008a925886332795c9601f965caa144555344431b00000001fa9fb149021a0003a8a3031a038f92e7081a038f84d70b5820b1a74d3067a71f192bfa9df32b8750c69c6d7d10b4d51e5c96f37afd21b17de10d81825820777e043b163e0f4c0da57a894ee14e7f6ca87eaf6b3fa4faee3ba039774f6fff000e81581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3a500818258209507e2675c776b34487a5b005447e1495abc09d24624dc22dcd77049b365ea32000181825839017f411b580b2452276b425ad4e59ca6a4ccb32335885e8c307c8c8b9654c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b1a013625f3021a0002a82d031a038fa371048282008200581c54c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b83028200581c54c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a90082825820972f6b46cc2c14220b36da39c65462e8082020698c73a1914385dc5f9e09f4f20082582060dd5a762d89f645b8409706b9de36b5cc0204a3d0e6a0a2d24921d5e7bc060002018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001ad576a1581c7e605894cdcbe8d1933f0a8760d93bd121aca583cf21ad1c25e51fd3a1514d6164446f67436172436c7562383133310158202139e5da3ef0b42b369766776504d9d6b4d5dcf6f182f4c1922198b78a0883f682583901eb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a04f1f9c1068689d6441eaec95ec01cddfcdcd43bae0481993bbb2e0421a0044bf6c021a00078bd4031a038f9532075820125ba9159077ed7fdab944710348ec14f8b45862ab19e2de15a5bc34f92e17b4081a038f87220b5820b71d59ab5c77f25a053ecedce76731115cd7c8fc4760504daa880dc6141bbcc20d81825820c0662502e61ee2f58d4d20b1dddb82ae8b92b24cbdb7fb8d8755b269a6abd9f6000e81581ceb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a0a400818258201906e535589b4db9c3de9e20e8eee8794cfb4ff34df7ff74d6e0249585a3474b01018282584c82d818584283581ce8eae9e96ea5a4a634ac3ac0a33280527edccad7beb62e80b8558708a101581e581cc5d949b02e2323e44b483a69474eb1f3800cc89ebb5dc2b394a87ff5001a12658d031a8a1a9d4082581d61f73d3776f2d25e2b561bcbd7d3fb660b2ad8ad2d5fd39d7d8ddb81011b00000004c6d97579021a00030305031a038fa46ea900828258203cd3a191d42a9635c909064757bdf1330af5b18863768a1ede2690aa20592c0500825820cf5e7183a89cc56ba31def6367100e305cfe85a22951641964ffee0ac994efad02018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe7a14f756e77616e7465646f6e6532323637015820947e09389fd38c3f39d3d16223c71f839e853ffe018460c11dbd242686f54bd6825839011514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a363d4c4b05adc3079a711dca1eb608489c24d51ba14025b409c7c46b61a0044c024021a00078b1c031a038f9532075820019017216bb6326fe1057704978869bfecbbd9f04d07df412a16969f5fc56768081a038f87220b5820b17616e42c0949ddd2d907cfe0549f9314ee0fe6ce4afe893f57f323a6ecacd90d81825820f0802335a92d05daead033fc01ba000e640ad0df7d38910b71a20f21e32d7905000e81581c1514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a3a40083825820571d0c7dab8933070becc24fad347b825cee2d654f4f2a632d0443558085c192008258201dbae3a1b3569a4bf47ab795cdb9707fd2c1bae94c1cfa70f992f89d0ef17986008258202019500b946e5dff821da617a40eb6fe58c62556240f115ae9ddc63f80474548000181825839015902a4dbba231298437802fe2267ec92302270573e13a411702032fd3533f2cc4a19d0e33c410faed704ff559046383faad98ba25ae512a61b0000000288076737021a0005f500031a038fdb82a400828258202d5676e52e3c9a11478ca9b2bcc667045d8b85c4ceb1aee84231f3bc8ac60bee01825820f36de36dc21e8d91983b1060d96d20275ef8b0130cfdec0126def147465af7ae04018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00825839016fa2d7bf96ef21ad621cf62eea095773656e56f829d7c1b11892dbcc121f3953c88cc44c0f11a84f61d8501a36c27cc8ed13506b9fcb70561a006e890f021a0002b06d031a038fb189a90082825820f8db90ecafdd263320e5a084881d3709e19163d6ab469dc2c361dba9a6507f02008258209ad363c35e7744a576d9c0246c8e16bdef4771e113e91d26b440b897fcaec51602018383581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001b5c28a1581cd4e087164acf8314f1203f0b0996f14908e2a199a296d065f14b8b09a1581c636162696e31373241646469736f6e4176656e75654745333352333701582098a6d4c095600583b89c06b1bb979bf01a286832cf4bece2b64724f990ee1dd8825839015f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee8b44e72048d5cff347256b7a1b75e84c3bbd1135c4eb68b4f3d33a631a004c4b40825839015f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee8b44e72048d5cff347256b7a1b75e84c3bbd1135c4eb68b4f3d33a631a078b2e81021a0007bd2f031a038f9532075820350e1ba520aabbfbe0fe8e320af169cd4e0a55fb92ae21f6ea2d294db3a83d3e081a038f87220b582089971aa4f4056ff9eeea018db9b4bd535c80008ce27e110e8c7d1d0978bd227f0d81825820e00e38595f648795d472dd56b3703c157ef351921d996418d218764378fdea3b000e81581c5f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfceea80087825820e9c84b354d084c3a2ab93d9813ecf13b7ee31a7f24dc094a36e2459663d5d139008258207c6b4fab7b36d2b4ff75090391320963e81cfd68d424b37f4d71e1a072b7cc29018258205493c0c019b8b6c00f6f4270813e3e6c1d3c5c27dd984f254431ca9677145411008258207f866cf144c091eb0ab816cc684c89b57d35fcd25db9e3d32124a560e0339d0803825820b1ccc221c2acc6cdcd730958e85b647eb626b07d465ae658fdf1046c096e35640182582042980f6727fbc74a0428b35680ca9299f0b8257ee78e48510ea63100aeed5422008258207076256ab325a80ac8b8be90dccd994789c163c9e326339034857d2eb66fd1d705018a8258390170e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a721e78aae7c90cc36d624f7b3bb6d86b52696dc84e490f343eba89005f1a0328b74082583901f2ec7a984a0c4a3031ffedf5023d7c4a096cfeb36f9d5cdb62a3a60b5a3e49928622e4df54710f60d7138f58e80da503819b1b8d084ec5fd1a04bd12e082583901083583e222e251c427cc9e18f941ac569ab7382b953f15b226083b38df29973b55c77daa57d86ea1ebcf25827392aac5383e41d57b5846621a960e00608258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc8644821a004bd198ab581c1d7f33bd23d85e1a25d87d86fac4f199c3197a2f7afeb662a0f34e1ea150776f726c646d6f62696c65746f6b656e1a0066baa2581c2437b5d59bcdc45f7e3b58f3028c733e5680812a20c831179a9aaa3ba14341574201581c380db8204c61dde65bbebc0030a791ab3ad41c6424183636dd13b234a148756b7261696e653001581c64fbfd3dff606ab050ce91c4449f6ad7a5400232c283c20b1911c52aa14f5348414d524f434b477265656e393201581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441b0000000f51480fdf581c8cea09a81ddf9707fd2c80f544d984bd0e8f16898bba852c53bc1048a2464c414349453201494c414349453136393201581ca554f654df7fd2d2112271df6ef594cef5040d640d9828ac22db1a09a1581d43727970746f53616d7572616957686974655374616e6365733039303601581cae2a0aa5a24b27d9868c4a73b7c08077ac21baade5eca0fa467a2bbda1445852415918a3581caf4bb09f61b227e0043b50b37a2b4254208caa71c9e6c54653b0614ea148756b7261696e653001581cb34b3ea80060ace9427bda98690a73d33840e27aaa8d6edb7f0c757aa145634e45544119f670581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bda94f4368696c6c65644b6f6e6730333035014f4368696c6c65644b6f6e6731313039014f4368696c6c65644b6f6e6731363331014f4368696c6c65644b6f6e6731393035014f4368696c6c65644b6f6e6732303831014f4368696c6c65644b6f6e6732333630014f4368696c6c65644b6f6e6732393536014f4368696c6c65644b6f6e6733343831014f4368696c6c65644b6f6e6733363832018258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc8644821a003382aba2581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bdae4f4368696c6c65644b6f6e6733383939014f4368696c6c65644b6f6e6734323339014f4368696c6c65644b6f6e6734343535014f4368696c6c65644b6f6e6734373939014f4368696c6c65644b6f6e6735313630014f4368696c6c65644b6f6e6735323135014f4368696c6c65644b6f6e6735353533014f4368696c6c65644b6f6e6735363033014f4368696c6c65644b6f6e6735363439014f4368696c6c65644b6f6e6736373033014f4368696c6c65644b6f6e6736383437014f4368696c6c65644b6f6e6737323633014f4368696c6c65644b6f6e6737333632014f4368696c6c65644b6f6e673834313301581cda8c30857834c6ae7203935b89278c532b3995245295456f993e1d24a1424c511a0016ee588258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a004c4b408258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a1ff46b4a8258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a0ffa35a58258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a07fd1ad28258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a07e47655021a0018a47e031a038f9532081a038f87220b58207d514ffa5b877e7850460e67ce3c05eb1acc4c9f715500214374e899a84503880d81825820ca41b4c2b21cb2cd2928728b032396d8b81459138c2e180a9b79cf72356d30ec000e81581c30d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdca50081825820230d8a098ecb915d7a49a65ed0fe6a4d52ca4de653da24c693048889642e25dc0001818258390151aa9a1df1bd1fd47871770566569f505f0677734e4fd63e1d7b14f02d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e401a013625f3021a0002a82d031a038fa380048282008200581c2d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e4083028200581c2d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e40581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a900828258209f0d1c4ca7e22134e80f02d2b87aa4c2e6a9ea4006087ef0d9611948118976fe0082582057964d6707a6d5443da3cbadbcd5a5e91bb13bae826671f9b650a88ade7a3f2604018483581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581cffa56051fda3d106a96f09c3d209d4bf24a117406fb813fb8b4548e3a14c4d656b616e69736d3334303001582062015913df6e17b940cf56e7a59a6d7abe34a55c2181d5d4b256a8920edbdd3782583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a004c4b4082583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a084dd36d82583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a0845ef22021a0007e44b031a038f9532075820f2ded6aa6c4381df084da2f96d569f0e1e6c105627bf3ee29d9ca7479639bd11081a038f87220b5820b947448e8fd369ed5c8c2fe2ceb083b60d4c9f8a42e7cd864613d4dd87b23e950d818258209285833a0ae7ec1eed9446ec8580ef1029d30d60b4c2a6d5d06a932c88bb77eb000e81581c409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a4326a400828258203d54aaa1a827cde425680818bb7b51de0a78fb0fffd6c8b6fe5d7fa6001cb7f90182582006647bee00bafd3f6cfd88aab95c75a406daae174c833d2fb7e99e825f3ab08602018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab008258390109f67aa2e80864a44b937b93b155612b540d4f78636ef8586f7f7a23dd1f01f7e45adc5786c7efda411428fbba2d2fab79196705065678511a006e890f021a0002b06d031a038fb198a50081825820f766eb98fc31e9791d6eb627c735d26b9920a4f3815b46b81763ebf9a75d8fc100018182583901234edd3bb4232d3d4ec9af6a30c0535b7a0d3aa4fae1a2fe3effcf68750101d937f627b2c8d02617d38233092758c90306315685422d2dc81a013625f3021a0002a82d031a038fa38f048282008200581c750101d937f627b2c8d02617d38233092758c90306315685422d2dc883028200581c750101d937f627b2c8d02617d38233092758c90306315685422d2dc8581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a90082825820ed43684aa53531eddf70b651da04d0d3a1caae32dab96cec1d5c4ae1aae60326008258203378d0eac02e639fc7f95f039d1370ab0b0a9073530f88cc11e3973c5f2e18b804018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001b5c28a1581cdf44bef5a988e0b135145c505d734130f545dc959e764ac14c9ce983a1581a576f726c646f6643617264616e6f50617263656c3030313034330158207b7a3741743b206ce1a97ccf8cd17dfd3fbd6e72ba2d209c936ef5d2f639de1a825839011c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe8764015d0c47792a77d809ef5c2091bd8a508596a9ec0c6ceefcdb449151a0044bbd4021a00078f6c031a038f9532075820a10de9db89968fbfdb737431c19ff64ae10a2eba56fd38bc308e7c807ff0a947081a038f87220b5820f23a1875ce82b0e7c922d4a51d42a162537ee2de1eed4d669c123486863b280e0d81825820b3bfda7acde8142b40bae4bc2e484644ba9ef99b7112f77fb82499b5a0ec4881000e81581c1c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe876a40082825820d7e118287544a6c314a83acc9a07e98ce33b16212ad18a362ee6ec761335877d02825820d7e118287544a6c314a83acc9a07e98ce33b16212ad18a362ee6ec761335877d01018382583901a7395936e9d22ed02907e486203f99a06111ede53838cdb659d696236631d89f02ffdfcfe2e3c59374e0bc0c4f5db820cb551ccbef52b3aa1a02aea540825839012f2c5d0e79dda76b36e9042980400c244c98af9eb14d6d45a7d520c79f537ded22c54c52b3813272bbe32ebca1cd464aad3c085cd05837ed821a0014851ea1581c721f96b81933b34957d05bb050de2f1119e8379cb6223a36073e1a84a1434170651906f2825839012f2c5d0e79dda76b36e9042980400c244c98af9eb14d6d45a7d520c79f537ded22c54c52b3813272bbe32ebca1cd464aad3c085cd05837ed1a00809b6a021a0002a9b9031a038fdb82a4008182582035f72134c9403bd16f13ff07de3a6e26ae4b880f8f3682dbb6115ed01c23c58b0101828258390140c8c0dfd02233b721f5df56f9d6eb50eca4fe9c77eccafd70b6bd44bf7c1eada191ffac1913c949f361716becd5c7e67f6c7b35d78157021a1dbe22c082584c82d818584283581c776eb96b96e2cbce528a47278a736ab725dd13ce98c027ccb548ed70a101581e581c1afbc57540db1561adeaccd7f4894065965cd230f6bdc70722aecd8b001a6a14bf9a1b0000000356f30fff021a0004aba1031a038fa342a50082825820c408205ec74b918413dd68a28edea5a97161527f16af5d5f08a218e826a36b4f0182582091072ffdbb76c8e0b6d84a8e830f3a65278451c24a80c1535bf03ab3d19e8c4d01018282583901bff3aec4276ff91795df17846e6e02f75a6c9d55f63d6f227cf8e357d35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc0821a00161934a1581c026a18d04a0c642759bb3d83b12e3344894e5c1c7b2aeb1a2113a570a15820a08d4691c4c330a15bc2b96f3e4e4ae4f77373a01c4120479c34ca8b077b69571a0048b82682583901bff3aec4276ff91795df17846e6e02f75a6c9d55f63d6f227cf8e357d35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc01a00125a33021a0002c699031a038fdb51048282008200581cd35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc083028200581cd35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc0581c2a748e3885f6f73320ad16a8331247b81fe01b8d39f57eec9caa5091a90084825820349e8177bbb029afaf9e75cbdc14c87afa4df2a58c68534fe079444d29fc4855028258206d20057b67af696d68fc4d96fb21d55e379db4d9cf7b8594945b9f6c9ddacacd018258206d20057b67af696d68fc4d96fb21d55e379db4d9cf7b8594945b9f6c9ddacacd028258207fd937a8d123a00af180f5349a07bfaf2e8ae733b5f7f13f8ac593ceed39ae4601018283581d71ba158766c1bae60e2117ee8987621441fac66a5e0fb9c7aca58cf20a821a0044aa20a1581c9a9693a9a37912a5097918f97918d15240c92ab729a0b7c4aa144d77a14653554e4441451a0d8bc806582032bf880b151bb2fef6146fa91ded0088b5a0a45afb0b7d3ce579a0ac665709f482583901e82071bf8bf1b23bb0342474025dc364bd941cdcacd3aee3ba7edde5ae254322c32914496dcc712b63a2b03181eb432b103a0879ca691c291a04555071021a00034a65031a038fbeed07582068c09da87243e0be2be7d69b3379d2b5a850f1954696e153d822ba5719349671081a038f86ae0b5820187c580d283eff82d4b2bca65b7ae0bdc17bd8f2a7c4f3caef119294fc4223f40d800e80a40082825820de3c537ce0c38ae88af92054a12ee1b295a85847cb50277e663bb69f4adbc25d018258205343abe99fde3e3bf3ab0381d7b8ce73ef3123679784e9dbba9181baba6c835004018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab0082583901c87375648b4564812032271c381d2cabba04a8d637c1b5dc2b0f2f7b27a0599a122ab8c40ed9a266240dc39c7210581b0212dd9df531b57f1a005e8a15021a0002b06d031a038fb1a4a30081825820c25efb810672a57d27b620dc95897feeec41ab7cb62fdc0057349ee042f6d42a00018282581d617534f67a28eccb47b41e47a0de11e0628564cbb833b2e3ed065bc22d1a001e848082583901eeca19727937266ce80edbc6ce8d6518597c6a440d51f722fcd16f83cb37341431e1467867d14ac6fd58cf88f63487db7f667f4b23a08fbc821a0208d27fab581c0357ddfcd058650e6ef5f299b821482f9bfbaa4783bc5dffbd3c246ba24d4e656f6e526163657230323638014d4e656f6e52616365723037313501581c093b80c2d0fca1e50d06e6fff5d22ea06c37a70a36fca1999cb34da8a2477374696b32333901477374696b34373601581c48766b78dbb52c7fc4617acf4503a9f40b2f0fb3448ba0ab0e1fda09a14c5374696b4672696b3432383801581c6cfbfedd8c8ea23d264f5ae3ef039217100c210bb66de8711f21c903a144434e46541907d0581c7a5a5c3757d33c2b2ff0b09405676e61f93d28b5d12805dd3320e31fa34f43727970746f44696e6f3033323235014f43727970746f44696e6f3034353334014f43727970746f44696e6f303937383801581c7baf77830c4daca79423b3dd4c89462b24b959c143f1f1762b1a91cca14c42617246696768743035363301581c7e206036ca4345a7c45d37d2dff0d7280a0854ce26d279e06f7d94f1a14f4e696674795465646479303633313401581c887e4d7b2e7d574484f8c780abef1599ce0bad1c751fb14ccdf9d410a24f44696e6f536176696f723038313434014f44696e6f536176696f72303831373901581cd05264552c50565fd705256b5b2a8d7faeec622b9a13678a9e5dbf4da15043617264616e6f4265616e303532333601581cdb9092a340fa079b9ec6066b646046efc0f846e96abf7eeb5f3959e0a15153757065724f47486f6c6465723133303101581cf4bc41c3e4a92943bf87752be1230960ff3eed2f88645a20ecda0faba24e48696768537465616b7332323537014e48696768537465616b733338303901021a0002f26da600818258203b67241d8340805b2346466ca33d07b98fe9dd0547ef611eff648bef80f69cc300018282583901c1fe07dc6d292de403f127297e26ebcda40bf65952bb96a9742902173651e6ca8542c78818b7fff0d5c075a03ceaa9826c6694399c7ef937821a00200b20a3581c4c3f8a1773b7813e537a75f7b1b2897996bdc0e1d6d7d0c11252e252a1504d6f636f73736949746f32313630333701581c5d5b205252b9f5016422d0eace869d7fd45074a4ea4b6c1dc78d1705a24e4d6f636f73736949746f39333533014e4d6f636f73736949746f3938363001581cd4473a78ae992ed6d95299e7177b45c8053d5db5495467a29ff0c780a1554d6f636f7373694d6167696350696c6c30383036330182581d6104df95ba9c9726b4ca3e5b1a59d3b04c6f5feb90840573d81c8949241a01ebebc7021a0003fd59031a038fa388075820698683d4d4e60368506630e1e8ce0a173de6c099d1f303cd50f81d3f027ee83409a2581c4c3f8a1773b7813e537a75f7b1b2897996bdc0e1d6d7d0c11252e252a1504d6f636f73736949746f32313630333701581cd4473a78ae992ed6d95299e7177b45c8053d5db5495467a29ff0c780a1554d6f636f7373694d6167696350696c6c303830363301a50081825820de034f70bb7be6424036cafdbab0145e31ee25d330534d43a04f90ec98139cb201018182583901b0a829369d268f9e5ff663ee2eed9627b0e946c0e46dbd695f49c5877850e39a8d898d870895fc7856c6241a9afbdccf92048ee6e3d3973d821a00562ec8a2581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567daa525061766961506c757334374d696e7573343401525061766961506c757334374d696e7573343501525061766961506c757334374d696e7573343601525061766961506c757334384d696e7573343401525061766961506c757334384d696e7573343501525061766961506c757334384d696e7573343601525061766961506c757334394d696e7573343401525061766961506c757334394d696e7573343501525061766961506c757334394d696e75733436015350617669614d696e757334344d696e7573393901581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea14550415649411a00014582021a0002d275031a038fa35e048183028200581c7850e39a8d898d870895fc7856c6241a9afbdccf92048ee6e3d3973d581cdf1750df9b2df285fcfb50f4740657a18ee3af42727d410c37b86207a70082825820753171c1c1e1ac4250eec363ec654eedf4cb22bc4b46ea70f7aec04835b322ff00825820cef395be4d3c084e767df232fa7ada12100464e699aeb1c9e15ac1cc972f8fd501018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001ad576a1581cc364930bd612f42e14d156e1c5410511e77f64cab8f2367a9df544d1a155426f7373436174526f636b6574436c756232393130015820fbd4e01191c77b4a86bed064f26f5fb206310cf9e9d616a0633334464de4ba6b825839014171a3c5d9ba4903da966f28b64b34047c05fcbb823ff3b2318eea9502fcdcd286eab6c9208b926d44a949a15cd189248b77463c45f7a9211a0044154c021a0002f300031a038f95780758203f9924bc4c61807f438a53ec99c43d318f4c0c4b15fd382addcc73556c85828d081a038f87680e81581c4171a3c5d9ba4903da966f28b64b34047c05fcbb823ff3b2318eea95a9008282582021e2766e588db76d6a5270f6878e9aa2a1f0f6b38e6c65f9d274a444b6ec22ef008258204cb88157c6ec0c5acb3a6abf5b88526c7dbfe18f7a0201799891070bec9dd3e502018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581ca587ce7893ec56fa6136e483499d2a8210e29c34b7dc673446128875a150436861696e734f66576172303130363301582072ced45253405a64f4b18d98e7899f0bee782afb81d5d2b753f284d15802a47b82583901c5457eb1c10330527b63686115cf590cd8e3d4747612608434877f21d0981f3a0c4e89369765e3954e7d7fdde59b4366afc940844a7e979d1a0044bfc8021a00078b78031a038f9578075820ddb8c2750592496dabab0acaea643978fb229a1edae06c349c5adefe47b7f6c5081a038f87680b582063d1b4767500305cdb5551647d10fe3815abd3420ffc885e95b32821cfbe72440d818258205e4cf8b192825b529e0aa01506ad1f8fbc346db0f45d01c06c48e2e80df74682000e81581cc5457eb1c10330527b63686115cf590cd8e3d4747612608434877f21a700818258207a352df38355c7430a32b20da7c8f29df1651ed1c27f8f8e1e74df37041f6e5301018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581c9cc83ea54377108dd022f18095040e8d5808a3061c4fe54f3fd64a7aa15048616c6c6f7765656e417065333035360158201567758fa3f080420bcedab6772e26082edaea3c970aee2dc6b2fe4a42831f9b8258390175a811ef1ec0b52e5cf428cdaf9bdeea9521c6dab3cf9edaa5860f2cbab07dd07eb77bb06494a07c060c8c7fba6a6b9bb156ccd9c6ad79e3821a0115c692b83e581c0171c997b8853fde686763d93b36ab8e04ce947bb6aa09a9ee5c4401a145544f4b454e190682581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a00030d40581c1079cdd8bf9c146f7703aa19f26c6726134e2bcfce9fe0572d7c5864a554414441446967696573536561736f6e34313033370154414441446967696573536561736f6e34313638300154414441446967696573536561736f6e34323130330154414441446967696573536561736f6e34323731340154414441446967696573536561736f6e343338383301581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e192710581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b000000041d03f0a9581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a002dc6c0581c26737d4f7e75669b71490fbacc4521a7027ca2d70e0a4603097686d8a147245345435245541926d4581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e192710581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a07735940581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a000927c0581c2eb3e6eac64b7119f948b5529909e45a8e29c88563fa6a3deb78519ca143484159190dd3581c300ec0d82a79acdc0616fdc0ef615e7deeddb03275e834685e9ee8a6a14258541828581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e10581c443726318f7a3995686a79f65ed48fdb79aaf576aecaee354d8ba018a1444e49444f1832581c4d742ef81dfba15faed09f1fa68723e283633c65ef1e1a0a0cd766c2a25042616279456c657068616e7430393034015042616279456c657068616e743135373901581c4fd0d998dc0700ca6ef89fafff05fbf523a3a25c1fc8314bf7e4d1c2a14647726f7774680a581c4fd6d8b1eac12b029cd68acd25220c20dd13b9c4b0d0b585d49135d3a144534143540a581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431896581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f5705581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b79190dac581c56673962a054070732569178ba2b3e1cb591e3413ecd7b57a9e3f18ba1454245414e53197530581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a0daaae20581c5fa72fbeecbe80a3e15de1cacab54ba5e310e2c36ae85351132ed4ada14e4c6567616379506173733234363301581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d424945190bb8581c6787a47e9f73efe4002d763337140da27afa8eb9a39413d2c39d4286a149524144546f6b656e731a00035778581c6954264b15bc92d6d592febeac84f14645e1ed46ca5ebb9acdb5c15fa1455354524950191388581c6f91ee54902dbe0615b1e6de69538d1cbbebe4a9d913643291e81035a14e496e76616e64657273506574333101581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a1a00013880581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521b0000001196167c20581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1832581c8a3e9f98aee1972b2841fd43802266d595ea8d0f823bbcdd3c44e7dea150496e736f6d6e69756d4172743134393801581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a035c4fa9581c95ef7829379af37336b98b487c03c389c288cf938f54ddccd10185c2a14d536b756c6c4c5056536b756c6c02581c99cca2c1a06dce51069d7e401af25f9dd06c44fc16eaeadcfc84f959a150414441706f63616c797073653333353901581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e14581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591ad4d0d592581ca3914cb7a564d010c7b67774ac8720a8ece3a758279b51d8a1c05cc5a1495745444e45534441591864581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451914b4581ca89568bb399d0cdc38367e47831c95186f5c79e58174e08a18232396a14a4554424643546f6b656e1a02fafb55581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421aee6b2800581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a144515549440c581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a389fd980581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1b0000000d0ffb9026581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a1445245534919015e581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a144444942531961a8581cc9f955eeffa84e42363b4992281d32dd2f9239153d6c66420a9acc15a1434c4f471a78696596581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1904ec581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e05581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba14442454147190113581cd6fe6efa7788cb70e57a91891605e3694352cabb4837e870610300e9a84b41646141726d7934373734014b41646141726d7934393034014b41646141726d7935303135014b41646141726d7935353139014b41646141726d7935353537014b41646141726d7935353737014b41646141726d7935363335014b41646141726d793633373601581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e73182d581cd9589c1a401765c82dd3536bf8f9f4337e15dfbf708e3a7f7e2f37e4a34d436f736d696350616c343739350157436f736d696350616c7350726f746f7479706531323837015818436f736d696350616c73563250726f746f7479706532303901581cdcb16550b3831a9c675b5bd827ad0ffced2dc0310b0d839c5c1dcd5ea14d4375746544756465733334393201581cdd2bebba256099ddbc70d691935215d6dfd73cef054a087207947e89a1424d4d03581cdd69528872e351a402d3edbc6d484cdc45119d6aa5d1869a09473daaa2474d61783238303001474d61783431313901581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a02625a00581ce5768de32bf1f5ee36035217e79466739eafbbbe6a7348afc3fc593ba14c4672616b74616c44414f383301581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a000f481c581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa1496d3833676962736f6e01581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a1444445465319015e581cf2eb8567e5df9167a40561f4c69e47d809138b2269e01e512aec2d8da1581c746f6e79726f6765727364657369676e4a6f6b6572436c756230303401581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c1914d0021a0004f378031a038f9578075820b99fd21a4a11a73e21f85d77b6b8de0b200920f6848fe2bc1b87c8456386dd4b081a038f87680e81581c75a811ef1ec0b52e5cf428cdaf9bdeea9521c6dab3cf9edaa5860f2ca40081825820747a6a1db4f8736c9c5c95bb2b61df8cc33e953d4e715812aa02f985223842b000018282584c82d818584283581c29c92990e371d5f2add93b1569a42a68f971c2aad6c5f0b94a2205e8a101581e581cbe2051244aa9875a75e59415f371ddae995c0d9d576fc30954621fb2001a5a4b22241a08ee124b82581d616904e8b2c26f3dda6c4a5db4b3ec9e31d581c9960977cfe9c6917a431b00000003a1848268021a00029cd5031a038f9578ff9fa40081825820d2beea31ad3bbc59b0d50a84a9395e9f55dca859ac7a78da7b0c1ea946fdd3635840862fa2a74c6b0873f8d22c5db5557c334df0470d773813a7c349772475bbbd6232b68cd2535a0b9774a6999446fffb197062812d3b60406fa2c753eb60099a02038359014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c0159030b590308010000323232323232323232323232323232322232323232323253353300a53353301322533500100b2213232325335533553335734603c002260286eb8d5d09aab9e002153335734603e002026038402202626603600a00620066aae74004dd51a801911000980200098081bac35500222222222220091622153350011533533300d00c48811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10033301075c0066a00444400442a66a0022c4426a00444a66a0062a666ae68c07c004400858074580614cd4ccc02c028cccd54ccd5cd19b874801800c4c848888c010014d5d09aab9e00415333573466e1d2004003132122223002005357426aae7801054ccd5cd180c0018990911118008029aba135573c0082a666ae68c05c00c4c848888c00c014d5d09aab9e0040152675c4c4c66601ceb8004d54008888888888801c854cd400458884d4008894cd400c400806c5844800458cc035d73ad13253335734602c6aae740044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c848cccccccccc00404c04403c03402c02401c01400c008d5d09aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026aae78004050dd51a801910011aab9d00137546a00244002a666ae68c048d55ce800899198059aba1001357426ae88004d55cf0008081baa001100922333573466e3c00800402848800488c028894cd4004014884d4008894cd4cc02000801c4c0280044c01800c44880048488c00800c88c88c008dd58009803911999aab9f00120092323300c33007300635573a002600a6aae78004c010d5d10019aba100200722123300100300230032233335573e002400a46466010a666ae68c02cd55ce80089919191919091998008028018011aba1357440046ae84004d5d10011aba100135573c00201260086ae8800cdd51aba1002003120011220022323001001223300330020020012212233001004003153357389210350543100162216370e90001b874800810483d8799fd8799fd8799f581cf17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef68834ffd8799fd8799fd8799f581c0ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853ffffffffd8799fd8799f581cf17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef68834ffd8799fd8799fd8799f581c0ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853ffffffffd87a80d87b9f01ff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0581e436f726e75636f70696173205b76696120436861696e506f72742e696f5dff1b000004052630985a00d87a80ffd8799fd8799f4040ffd8799f581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0581e436f726e75636f70696173205b76696120436861696e506f72742e696f5dff1b000004053c986f6c00d87a80ff0583840000d8799fd8799fd8799f581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7dffd87a80ff01ff821a002b53291a3f518324840003d879808219c7841a01a0f8a5840100d87980821a000468ac1a070b470aa40081825820d2beea31ad3bbc59b0d50a84a9395e9f55dca859ac7a78da7b0c1ea946fdd363584096b10ebf20ea7d705db9cd8bab939d2b8ef242e0fda9762e497badffd5484050b1e56cc456e63cb48d13f497600ce05740d1f0da450b97816841c16284779e00038359014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c0159030b590308010000323232323232323232323232323232322232323232323253353300a53353301322533500100b2213232325335533553335734603c002260286eb8d5d09aab9e002153335734603e002026038402202626603600a00620066aae74004dd51a801911000980200098081bac35500222222222220091622153350011533533300d00c48811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10033301075c0066a00444400442a66a0022c4426a00444a66a0062a666ae68c07c004400858074580614cd4ccc02c028cccd54ccd5cd19b874801800c4c848888c010014d5d09aab9e00415333573466e1d2004003132122223002005357426aae7801054ccd5cd180c0018990911118008029aba135573c0082a666ae68c05c00c4c848888c00c014d5d09aab9e0040152675c4c4c66601ceb8004d54008888888888801c854cd400458884d4008894cd400c400806c5844800458cc035d73ad13253335734602c6aae740044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c848cccccccccc00404c04403c03402c02401c01400c008d5d09aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026aae78004050dd51a801910011aab9d00137546a00244002a666ae68c048d55ce800899198059aba1001357426ae88004d55cf0008081baa001100922333573466e3c00800402848800488c028894cd4004014884d4008894cd4cc02000801c4c0280044c01800c44880048488c00800c88c88c008dd58009803911999aab9f00120092323300c33007300635573a002600a6aae78004c010d5d10019aba100200722123300100300230032233335573e002400a46466010a666ae68c02cd55ce80089919191919091998008028018011aba1357440046ae84004d5d10011aba100135573c00201260086ae8800cdd51aba1002003120011220022323001001223300330020020012212233001004003153357389210350543100162216370e90001b874800810483d8799fd8799fd8799f581c810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701ffd8799fd8799fd8799f581ce8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51ffffffffd8799fd8799f581c810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701ffd8799fd8799fd8799f581ce8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51ffffffffd87a80d87d9fd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1a393eea2dff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1b00003eaed6ee89f100d87a80ffd8799fd8799f4040ffd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1b00003eae9d654aad00d87a80ff0583840000d8799fd8799fd8799f581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7dffd87a80ff02ff821a002e31c21a47031f98840003d879808219c7841a01a0f8a5840100d87980821a000468ac1a070b470aa10081825820fb3489db31b38c778630731b325decff64b5e61b84dda1373919e2dd60581fa05840e28e18b7036cff92909f410e38afafeb0d5ec576c15abbd24ec0ebcc3606c15ff56ecffd487bfe3e55d86234e2499a860f623df5e9378d18ca6486c860d0d60fa1008182582035c82179e6ecca4d76c9eda5373f8311343031169f69df83b0b35df96d682e7358400b00dadc6add4efe756f01911a0203ae9c9fa29508e6241052038e44d5652bae7351f93e4553eefcb1c89db0469740785e6838f9ff4beaeec28a4de0412ed906a200818258205b4078fc270bc5ff67a69b06bb79fbe11785f89e7566992d16b4bb8a3af2fd045840158e623d6c44cb42386357514c0d0da4dd68c429a4d699aaa1bae52912a61ca6f136b6023bef92d11a6aa0bfdab394b377a535992ea50517199674cc98011008049fd8799fd8799fd8799f581cd612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecbffd8799fd8799fd8799f581c6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3fffffffffd8799fd8799f581cd612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecbffd8799fd8799fd8799f581c6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3fffffffffd87a80d87a9fd8799f581cc88bbd1848db5ea665b1fffbefba86e8dcd723b5085348e8a8d2260f4444414e41ff1a05f5e100ff1a001e84801a001e8480ffffa10081825820ce447a05ec6a264b285c487d571dbbbb27b9ad2e3f78ae0eedb0b80b303f89035840ffda7ea9c47c921da1617b8c953617b95b6ba32a61b04374e52e906ae04a548fc0da9a7c46665d8a5b897fb29ba783cace2aa4dfca3fb193b6048cf9043afe09a10081825820e4f5392a6ce18c5dda7df23f01e4567506f03d3d06b635a9d50e310aad1872ef5840ac164319ade11d0523614727cdab2b9c71f4dfb4ed4362f2653ec2adfd69a767b85caef2c3f40b79b9cfdc5b985e83d2755e14fb528a73af84d4fb87e6b4d101a10081825820bbcab2f33ba4b54187c62af0a738024274991166cd16eeddc63021aa8194e6355840aeb984db220555ac1d2fa2a6f9d5881630fbf3d97c564f3eb1ddd3bb608b29ad8a84f3305dc1861f74104e1a010f37227056452c57c0bb62a01cef3e7c52d703a10082825820e18372f98a9e5466724d62bbdf28cf004eae1e41461121dd890475e572e290b258408ad98c8cd86936b3bc78e03706468b3f886dbe10d1c0c9322ccebfdf242c9c7e942e581d5a6e3d363649b10306a95c68d4d44fd648adaaacbc28dc4914e3f603825820c0df7514cc214a06f3a0c0ed0b405a000610e559d6aa826bbf0b5dfc2d58baa35840c0cb9f0965d986992f8aa0d6977d302811f04d8ae88aa193d3abe6c0618af8b436c86b6e65b9b4918f9c243f7c4098a200a3a3006f83f0fd99ffb605aa5a860ba40081825820638b21486e07dfc3d181079df45519833da3ce02e9e63f9ce18971eb5154f1575840a40f75f7635529d2adfbfb9ec46059d0e4ebab1670e59b4bb3786acfcceab67d3a69db30c87e231c447e6147b6567a70c3f46eec11c9a4e23ac29774c367440c0381590373590370010000332332233322232323332223332223233223232323232332233222232322323225335301533225335301a00221333573466e3c02cdd7299a9a8101980924004a66a6a040660249000299a9a8101980924000a66a6a04066024900019a980b8900098099bac5335350203301248000d4d54054c0440088800858884008004588854cd4d4088004588854cd4d409000440088858588854cd4d4088004588854cd4d4090004588854cd4d409800440188858588854cd4d4088004588854cd4d409000440108858588854cd4d4088004400888580680644cc88d4c03400888d4c0440088888cc05cdd70019918139bac0015335350273301948000d4d54070c06001c88008588854cd4d40a4004588854cd4d40ac004588854cd4d40b4004588854cd4d40bc004588854cd4d40c4004588854cd4d40cc004588854cd4d40d400458884008cccd5cd19b8735573aa010900011980699191919191999ab9a3370e6aae75401120002333301535742a0086ae85400cd5d0a8011aba135744a004464c6a605266ae700900a80680644d5d1280089aba25001135573ca00226ea8004d5d0a8041aba135744a010464c6a604666ae7007809005004c004cccd5cd19b8750024800880688cccd5cd19b875003480008c8c074004dd69aba135573ca00a464c6a604466ae7007408c04c0480440044084584d55cea80089baa001135573ca00226ea80048848cc00400c0088004888848cccc00401401000c0088004c8004d540548894cd4d404c00440308854cd4c034ccd5cd19b8f00400200f00e100f13300500400125335350103300248000004588854cd4d4048004588854cd4d40500044cd54028010008885888c8d4d54018cd5401cd55cea80098021aab9e5001225335300b333573466e1c0140080340304004584dd5000990009aa809111999aab9f0012501223350113574200460066ae8800800d26112212330010030021120013200135500e2212253353500d0021622153353007333573466e1c00d2000009008100213353006120010013370200690010910010910009000909118010018910009000a490350543100320013550062233335573e0024a00c466a00a6eb8d5d080118019aba2002007112200212212233001004003120011200120011123230010012233003300200200148811ce6c90a5923713af5786963dee0fdffd830ca7e0c86a041d9e5833e9100010481d8799fd8799fd8799fd8799f581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3ffd8799fd8799fd8799f581cb9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c52ffffffff581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a31b000001807994d97bd8799fd8799f4040ffd8799f581c869fc72c11977e4be3e8e1cc63cca008a925886332795c9601f965ca4455534443ffffffd8799fd87a801b00000002731a757effff0581840000d87a80821a000271001a03938700a10082825820acad41ba2c170813aafaba25f0e3053f891cb156e4b62424505313552cae64145840501a43e58da4b8a51145b1f5879405a60203a1d874ad676009384f1380e6202659df10b22965fa03fcd14718e5b740ba058935553bd99e17ec996a5a987a100682582036ca45fd31120d18b3ae2d02997b0ef86973218aad613e5be2a4b6d376c64f1558409ef310ea9677e87ab273347c25e3298c4dec5040bf0e8c8fe3ec330b1fc2a0731571684f61c904d72fa529933a3338dde7fd49330263350c273725f668a2cf01a400818258206bbc0507086cb8c7ce2e6c45c72875e18c4aa05580c61b8448c3c556f4e40dd85840bbc0f5bd612b6330256336666491c30e178cb79288163f2aa211b42c7e32679c522c393e081af160af7650e48351b8dd794f197c78ee67bfa02199df8a1e7a0003815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581ceb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a01a1443fd00581c7e605894cdcbe8d1933f0a8760d93bd121aca583cf21ad1c25e51fd3514d6164446f67436172436c756238313331581ca037e568c8268f9661753b323d73e009247cb0048b513cd1d979b1311832ffff0581840001d87a80821a000c94ca1a1555eae2a100818258205f8bda213103ea2e2c2daeb31c9c41fb867c4b081c1f6cfecd02c2f33b884d295840132326f4834623ead4fccf6cf97f5a8b7b5eb7fc18c70624a4588882a4dc20846145d3a476dbd732270b002203e7d8e732682c6c79f23e89a19a25f530a1e507a40081825820a900e690cf0459e20c01b857647905e321843d20f75e17f97d78b0ed1026c2ff5840c3ca19c13e76b018587ce32d55ede8ca1a47ec7160b6a9f2d29632a058393fc05e830076316acefe0f46e43ed4a85fe893cfba22ba44eed8a9d2f8a57cdef90f03815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c1514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a31a0bdc7fc0581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe74f756e77616e7465646f6e6532323637581cbca70d25accc9aade71b3733520522e1485f2fe4ec792bf47535a9131832ffff0581840000d87a80821a000c94ca1a1555eae2a10082825820c6ba8e7798d11fa1244e9037c9c63ce90c45b810f126fe5ea8391e5fa171e3f0584001db8b7b18c778307eb16cd8ca296314667386a84d4e9611aa7275d624ef16546c214a632864c6a83a602cd11359cb57101853892c47d918af39f9895369f80f825820883b9c6ac4af92b5c1ce772ebb5e3ae48b33c21a6fbef6d623050862f82b85705840ec51204b1d4276c26ef4458233a2c127967ee055694b9d13054c57a18fbac24708163d6c5bbeeec9b66496347981771a207cc1cbd5d4f5898ceb04ec5aa4ed04a100828258200779c1f8bfebda065ae9addf2bad902a607f9e90f3f05d02fe46ec9e597cf7225840851f415a84adee3c45ed3d3b45128c6f3e35edc31362a023ebed36f72de97478c03fb7c6cd89bcef2159c0542ebdf45e13185cb98bd5c5d15504ca6db8920d08825820d88d4d7db21e9af90cfd034cbe6695cf4d8b0fd1d4c7bf7473d95688a28ebbf0584056efd37af9cb507e5ee8c1d4de6393764c3fdb634c7a1589e63c1300e7344d482c75f130f4b5425a381b1650448c866c70d29ab082d1f49c39862247bfd8fa09a40081825820b12fe05fb163d99284fd131c2f0ddb392974e56be18910d7c04bbca528e7ffd0584069d07334b87bf8ef65768426770023769ed06275576a23a305c9f77444356165177a69dd3ff8b03126605fd3a878853c30f73ea5edc5fa9a28410c36e0cc440203815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c5f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee1a173eed80581cd4e087164acf8314f1203f0b0996f14908e2a199a296d065f14b8b09581c636162696e31373241646469736f6e4176656e756547453333523337581c4b031cbfd476d7efd6ec84012aeaa11a5ec9aa4ce53973764f5099bf1846ffff0581840001d87a80821a000e07c81a17ddaec8a400818258201798930d74e173d30c8da0156ebc9c1c628c672cc492b2176ba66cde91c8a71458400cf01e1a3c3a9d59e232ea861f41dbeae873574077266143b2d7fd36ba7d23ce190db3ca5a2a2707258d76bd426c06951284a6de539032b34fc3da72cb1e1e0d03815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c083583e222e251c427cc9e18f941ac569ab7382b953f15b226083b381a9df3ca80581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bd4f4368696c6c65644b6f6e6737323633581cf2ec7a984a0c4a3031ffedf5023d7c4a096cfeb36f9d5cdb62a3a60b181effff0581840006d87980821a00d1a2771b00000001191ddab9a1008282582086821f8fec915fe673d20f2b6e92cdbfd4ce41ebc8e9113f5a5380a7df76144d5840e859d15380028c31a65f8b8df7e1b5a76f894c31fbdf442b61da5b590ff0613209e838f4a646935cbaf8bb02a706c10fa9678a211c6f0ca3b29302b09609e0018258209d2d2e2620fa6fc2abc566d4134612b0d8dbabc995c499e69c1f4f0b130937d2584042c338da9f9bc9a961c61c03fa12552edd0ede976b9987834462f6a9a76867f1c99c6aec8940f2350cdb2844c483d4975ff2242b4b7482afe58cd29326d6df0ca400818258202ef78a1f92a2f5a2874e68b627ab7e4e5c335374514bb54dfdafcb8a5c30e06558400731d17332140bf96187841e8a96c1a7dbadc1ff11201de7fbd466a373c254e1cd3d5e10b0f9e144e7607d530c4975cc5d1771727eac02a6044a94eb5e0f620403815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43261a52d9b780581cffa56051fda3d106a96f09c3d209d4bf24a117406fb813fb8b4548e34c4d656b616e69736d33343030581cf32d80def34c2b88fcf3e35d105d52ccc80f06d39f12c1fd7e511ed91846ffff0581840001d87a80821a000f7ac61a1a6572aea1008282582027958568d4782414f5ab55c3430e4152a96285bf646f1737d5ee19c36288e4d45840dc03065bda688d77b603ee379d3a373d0398b0516b70cb0636dd853f386cd4da8a670e37649a2659bc10bc84059547752239c8e7a476071e5368aa745bcfc702825820dac0f11f6428347f48b4af35d8d75c1aa66d0c9bdbe8a05d0e650cd305169991584032fc72e77e4ad449ac000936d4a62256fcd784f280316a3dee0b79afee484a2ea56041f931f725fad2eb4e267d9fd8f47e6f4517942e75885596d376c1396d05a100828258204a67890e9eade252307d164a82ce301bd46415fbca95691a4883d319760a02ff5840e73c2d47ee3bf91f9be46e26a6bff7007dfc8263fe82cce372c27280cb644ac21a02ee6354851c576b7eb87cb7dc5ead6d7a1365330a6a5a25712cb2555afe0b8258201e3dc1afe28b25c85b810ee1f4a0593b444d851a9df40d558808a48c6e380c1f5840017675fc47efb232d1362c5b4cb2215a3f59031b7f4f2135df8ff2eeb55ccde02776f2a4b1773801da3b80fa67afa4ce8bf06c8e6b9ac7c1d5bf3397e352b50ca40081825820109df4e67da956585ed5d99fd9589a964a40e5682d126dd010e41064aec98cb658408fe5eb09b8ac269e5aedb276a2c3f9b7a03220e036d58fc1ab36862a780884b1fabbf28159952932b9c958432eec2438dee8cefebe7f12fe4ba28f474aff7b0703815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c1c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe8761a10642ac0581cdf44bef5a988e0b135145c505d734130f545dc959e764ac14c9ce983581a576f726c646f6643617264616e6f50617263656c303031303433581c66852b646783d742ee167a163e5e648fcf06df16b5688d1e42cd2c3a1832ffff0581840001d87a80821a000c94ca1a1555eae2a10081825820e7df8ecd4ff7069579fed70da54bc7e3e47c5b9c943b19cfd3e5a30851903ee758402f5c35d410f92cb637892e40b0e28413196cb8e1c990c9d20446a1dc36653e91795f231810e41c8331cbaf46d886c503b6573c62889fde882fdaac5fb3dd2600a102818458208b66d7f3bf0629a3cf791984bf0fa4568b83106c9257818e63edf63142e9bf2a5840663e1738484b39fc8cc7a459be5f8f5611ff12595c03895aa797df1d963813a6d751376c52dfa4f7080d964c311a3d2448367d22e72b220f146eee763494230e582022cc1a6495cb1639e562a07c9aa86a4cf54e3dbb6839aa4ee6f0b6a20dc349ad5822a101581e581c1afbc57540db1561adeaccd7f4894065965cd230f6bdc70722aecd8ba100828258200dc9f84d2881aa478375fed96aad49535e630e29968f8b245c24366a0d7632495840e6f02fbccf7587b84919b3b906437d36710095c40395fcb894f8f032b0a28555586dc314b6d235e02dcc33406b010d337fd67aacd0b4cab3c5d6a48b7f1091068258201d26e9065a29875095ef033d4dcd5b5830fca1316b5d5663988358de764946455840844a6552c3e301a8db049026f1a7ef97e1d840a51191d1b17c38e62eb45b78084ffb319ba31f16237b6a1f022ebe241c991e8892793454483859e45db5f65a0ca200818258204022566b27944548c7ca15d82c41d739720d3d1575e265e4c8efaa8dfd06006958402ef05f6e195ffa395b97832f431a7ff9ef9566e668b33783cbc11851e74e39d75d0fd73fb3eaeed7dd31934ee6639dd2f54d698a02c078bcf5672c8885b7c3060481d8799f4108d8799fd8799fd8799fd8799f581ce82071bf8bf1b23bb0342474025dc364bd941cdcacd3aee3ba7edde5ffd8799fd8799fd8799f581cae254322c32914496dcc712b63a2b03181eb432b103a0879ca691c29ffffffffd87a80ffd87a80ff1a002625a0d8799fd87a801a0d8bc806d8799f1a01e5e4bcffffffa100828258208d753228c6941fb5d49ce589f14d52713dcbe4973f3c6dc09b11cad6da0eec5158404d2263d0605c191fc8454a4bcdc99626e92447305ce19d6ee714e0d49af033156b3de56cc9062e20c285f519277d2aa794649524f83bf099e36903494a97550d825820cadf8f39dd5f31ce983a9fa1035342b1895202393f86b11939e404817e0be2575840850cd638d118fb26da56aea0f0e3cca68f1451ca9e70e98e6db2f942613841a95fe61bfa81ccafde3c0a2fe9e7a466b30cd1a4e923b222aa1b7eb1c3bb9f970ba100818258206ffe60302fbd0d26ee3d9600e1b8821da995bcd24846a0d0107893744c1804905840e998ca7033ba046ebb312d88d952c8e44b7ac52dae5d19522708525be3b5eb6f8bf9e8fc9d44d43d5cfffcd458c84adc581f301519387f57e1fb4a84d7dcdc02a20083825820f14b486ef4a8727e70762f8934a0c4f3d762effd51c918aa18e668877691cc105840bfa1299e90648857a83976ac074652abec87cef3fe0f8428ac38d9e31ffc36f9e79fca6ef338eb7378234ed4edbb0e42484ea648ae1f99d3fe8dd603e3e80909825820ab27338de0ba9e080c17ffa6cc62fc2708220328e86300fccc9142303fd478a6584023d4298c739f3f1f854ca39ba88aa0ab9b2693bdd257a7030afb48b14682556810a0888d83d37806a000e2fbd55eedcc835e44840caed8b53c7923c456e5410982582068f128b4960cb5230e9d2a1095a36420bdc16dcbe4b96a89d378236806bbe0195840bbabfc98c12311ebc4907905ed9e0c4a0d413c501e1738d75bfddf05becd2d94239173bf00f82a50d74bec09c72c732ad6e6d0ad1d4b01616f693a8b4e518c04018282018282051a0930821c8200581c7261329c8aae4fa032fa8e35a7a94e15771271606b947e41777ab9ce82018282051a0930824f8200581c7148953e189335953142a436822bac2653df066fd8852949f0d7be4ba100828258209bbecd8099a124e5d21310623afdedad8e0687663a86e229f6c745ec14b8a6a6584019d437ee0e907a7664962e4be2cb0001c45854467a9e2a539fc8d3ee26baccc96e7294012899d635a91be2995221bda70e6e7187e285d3c4a4d41c258be69c0d825820f9e60a76de7bc5f9f47da80e0bf1495ac939251b399ee610c059366b67af58515840463735b0dd7840955d1c1717d9051104c9fb12b7458a803655cb35602df73188b85eb4f7eab70a675b9ce9c228d0b94e62b0041b53df5a8c2e792ab45275ab0ca10081825820a6cf1fdfa2d880f1a0d653ed0bf5b9b40bbcbb84ca879fb20c88994413a98f4e584022c8a8a4260f6d3712936d0b0a44c597ddf721a56cb7acdfbedd9d77e3afc74581b5778aa6e8857de397af77dc98e68dd71e64d9e4ba4011d247856872910102a400818258203c06fd15150414de67ba79f996ce54a2bf1f2e8bb14021c38fd4466e21d48cf65840027f3e8674953fa10198a848cac11ccbffb5599bf76b3041d0a200916b06b7278d66ef5c91d4b3a329934c4516998b3d62efcd2aa4808e691afe674688e63a0603815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581cc5457eb1c10330527b63686115cf590cd8e3d4747612608434877f211a11d260c0581ca587ce7893ec56fa6136e483499d2a8210e29c34b7dc67344612887550436861696e734f665761723031303633581c09234c6af55ff7f7b7429f73bd8dd6ac9ebe1348ebefa345e9758666181effff0581840000d87a80821a000c94ca1a1555eae2a10081825820b4d9e333f9a823738242fe3550e18b959e93429e491d68e79a7d7924967762f1584009865750b6dddaa04f2de9b0d26798d00274529b2c0f5669abc14431e479ed8c75a320b4a2725f365235690166acf79c7aff9e7984c56160f37a08ac704eb40aa1008182582067cfa131e284e6a4d794dd86f04d4ed904eace4f17ec54ff086a0dafaf8e005758400d0a55c7b48b74c690c1965bbb1f45c8809b670dbaed75048d17df4ae699bf71a3504bfde1095bcbff5d43b5c73787fbfcf4b8b2a87de408837e345a9c13ca0effae00d90103a100a11902a2a1636d7367826f4c616d696e61722052656c6179657278403062656139626632633131626565363661353331623163316434643636396238373164666531386330613336393132363232323562336439613634346431326201d90103a100a11902a2a1636d7367826f4c616d696e61722052656c6179657278406130343330353363633633373139616633343639646266616637333734396537376233363861643436393138633531343863353536343830373363663030306204a11902a2a1636d736781781d4d696e737761703a2053776170204578616374204f7574204f7264657205a601693930393030303030300362353006784061646472317138356e326333376e38757838717a6b747877356a786b763679387777737a616d34306d6d72637537666c70706575713066786879346867766a6d07782734737865377070616636327173737937336467746e61393771343379793974787333386d35676608784061646472317139643337656865656534326e6b356a716730333275747874656132736c34326c777a6d6e3674363861346c61736c37376c77327839793770617909782768716d6b746375736534757676386a7a6578646b6636616132687a6b636e7633717770333572370ba601693234303030303030300362353006784061646472317138346b336e6a6e6d7435757335376866383073706c616c36757a787938677a63716473326766763479787766677a3072377770713672676e346a07782779723668766a686b71726e776c6568783538776871667176653877616a757070716361753071630878406164647231717873723065746765716e676c396e707735616e7930746e7571796a676c3973716a39347a3078336d39756d7a76307732767a6378726e6e6561330978276c7a6733796563786c77736e61713872727270746c78786b756b766c33713678733736326a39630da6016931333930303030303003623530067840616464723171793233666865633836636e72637071306d337168386573717a7471346661616d71677168686c6c6566346d66676d72366e7a74716b6b7578707507782736777977753538346b707079666366783472777335716664357038727567366d7130383032737a08784061646472317178373277726639346e78663474303872766d6e783573397974733573686530756e6b386a326c35773536366a79617a66656c39326a647667657209782772657273636834367035707a74647071356863346e6c78746774763576366e3471366a6637727810a60169333730303030303030036237300678406164647231713930337877306e68307970647872667034616c37336e75347964396863753967667a3634643063686b396c656d3574676e6e6a716a7834656c6507782735776674743067646874367a76387737337a647779616435746675376e3866337364616a386e710878406164647231713939737838396c36336d64306d376b616a7a717a32683235796439616a6432666e6a6e6a756d6b666167666e306c7037766c32326d3975763877097827726c7932657a61677a746d6174336532616a677571667134357763706b71717571676d356b776513a6016a3133353030303030303003623730067840616464723171397166753932356d333264367a3963716337377174326b76633271686768676e6b336c333366637263647978666e74766c757065646532687038077827736c68617161647477306735683235786e6e7335707772366c3875346b656c687370333975356508784061646472317138656a6d7178373764787a687a38753730333436797a613274787673726378367730333973306130656733616b64797864386c7566656330723409782770643833616a7a6e6a7739336575666738796a377439307978636a637a6e68397375637933736516a60169323630303030303030036235300678406164647231717977787478323777376a70307370706834776d36346335756e6d326a3564746c7875373775766e376a343773616a717a6867766761756a356137077827637038683463677933686b39397070766b34386b71636d38776c6e643566793273656b3371646e087840616464723171396e6732326d7976377061777368777a65617076306a37766a387537706b6c7a36366b337267376774786a637773653573376b333668716c757a097827337777336132756c643475733877616a346d7570306a7938717470703432326373306578366877181aa11902a2a1636d736781715353503a20537761702052657175657374181d82a11902d1a278383463336638613137373362373831336535333761373566376231623238393739393662646330653164366437643063313132353265323532a1704d6f636f73736949746f323136303337a76a61747472696275746573a76a4261636b67726f756e646470696e6b64426f64796e736b656c65746f6e20636c6f616b644661636565616e6772796347656e0268486561647765617269636c6f776e2068617467506172656e74738219248919268467537065636965736349746f69636f707972696768746c32303232204d6f636f7373696b6465736372697074696f6e78245468697320697320616e204e46542066726f6d204d6f636f7373692070726f6a6563742e626964193ea565696d6167657835697066733a2f2f516d63686a6e5a7345764c6f563250486e4858526b7577614b76684a316b387978504a686f53514d507470544734696d656469615479706569696d6167652f706e67646e616d65734d6f636f7373692d49746f2d322d313630333778386434343733613738616539393265643664393532393965373137376234356338303533643564623534393534363761323966663063373830a1754d6f636f7373694d6167696350696c6c3038303633a76a61747472696275746573a36a4170706c6965642d746f684272656564696e676746656174757265781b52656475636520312064617920636f6f6c2d646f776e2074696d656450696c6c68466c61736869746f69636f707972696768746c32303232204d6f636f7373696b6465736372697074696f6e781b4d6f636f737369204e465420666f72204d616769632050696c6c73626964191f7f65696d6167657835697066733a2f2f516d5a45527574573353466e4475596a4a38557048735a73624857366f61754b73353134384e62654e3141424361696d656469615479706569696d6167652f706e67646e616d6578184d6f636f7373692d4d616769632d50696c6c2d303830363380181fa6016a3134343930303030303003623330067840616464723171397168726737396d7861796a7137366a65686a33646a7478737a3863703075687770726c75616a787838773439677a6c6e7764397068326b6d790778276a707a756a64347a326a6a6470746e67636a667974776172726333306834797373757930776374087840616464723171386373767a7a39723234647863746b726e6d6476747577616833796572636b6c64706b79636777326d647a3234666b37667279646676776661640978276566666a36767776336e356372647367616e6b30667038647434787264746730716c30376c35641820a6016931323030303030303003623330067840616464723171387a35326c34336379706e71356e6d766435787a397730747978643363373577336d7079637979786a7268376777736e71306e35727a7733796d07782766776530726a343838366c3761756b64357865343065397167676a6e376a37777364786864676b08784061646472317179796a786e72323734306c30616168673230683830766436366b666130736e667234376c673639613936637665356d6d72343336723238686379097827726338346b71787737726a686c6e61647a6d36796d733638336a64756e77307671716e6a6e77321821a601673630303030303003613006784061646472317139363673793030726d717432746a75377335766d74756d6d6d3466326777786d3265756c386b36356b7271377439366b703761716c34683077630778277866393971307372716572726c6866347868786133326d78646e333464303833736d76786b6a38087840616464723171387767686e3664737a74723675686e70346b30676c336d366a397538327179686a71727732336e3634743839347232326d707763786830656e7009782779653970686d7434656e6b73796a7734663963653564756a716a6b6c7234736c716734726b786880")] + [InlineData("85828a1a00aab2e21a087621215820f50a9acdd1beefd588e3da8a80b0f662766a58d1518ba6ae7a0fb324bacd890e5820b55ba2f870f345c956b2a592113a9c7fc1e78754cd4a615d06b4e833316ce87d58202de7684e8e2a7034b051f77906d9d609d85c14338173f8c476c0e960b0b7f1cb8258404bd88c11f7ec6653a7ae6ac73185296bf447637e913b87218e7bc3f6d6c8de46bd643ac2a3e7a286d9340848376722e27e101569fb7cb06251abfd8adfc7b97d5850cf026348264c6cb9d7d656a194aebaff15766b50a90f83e8a37e9d7601c3a3b3aca06610106299bb360a38c8ec0b5e3d761ad2c78d0d15ccc0f8cac7a1bb928a137428367a2919cdd24fa2c33867410519704e5820788b1fcbe79e1da0f52c3c9e1beca53b6221d42516e106c5736f172ba48669188458200d056419ad2c3576b860facd02b2332c5490aa4309f123c985b04763908fc6af0f190422584074a510c46c942eaf5668b2e8dfec8270e676a1a2a713467c8390c1849af282f4a38dbaecdd1289576744afe82ea48d8f0d067736e6f1f7702e3af6f296658301820a015901c0b8d900eba4317d611c24c339d023384b089d21f01ea76d7d557b635c770cf9fdf2b0ec98fb9abbb456205f88ab5c6131c2682c44da711d469602451bbb37f707776ef75db4f1334d1462a84c81c6ec956ea663c05d13e4ce861b5914bfdf4dad20de78c62a985b315c62ec761863ff26a94ae19523a1e8554698cb49fe48a280df111f5370c9f2cb7b7b5ca92dc1e81c83a4200ccf5cd0645c562eb9e7fb6cfaee1d73ac3055d7e62cc9463760609cf893b020ffbc0e0e36ad0e75270885ae7ae3d988ecc2049e0719aae209feae469dd5807196c59e0166032a4aea9e22c409f229ddfb83828b3330a48b42c816f90e76c249f0e6d77dd803c6bfbf0313c8841e4f276d56e0320dd9945fe60b8f541c8d774f8fdf9a947df02a83427a36e6cabc094c5012239bbead2d74486d6fb478a66e32499046009b3d29bc53a85ee1aa25a5ba1ad9202469ff39ead17d283132178e9905bb9444c75c346591166d972297ad6a6be76854e850363376a750c6bd1e552f3184ec8a438e550128eed52c97f847445ea952db8f4f9e3a86808478135db702c90b62de348301213b8b54e66478e8f5d4ee072b81fe03dc40d2a348f6868a5372eab45b96c112db25d05bde289fa4008482582004572eff23d96bc0bcd6a640e932a6a6486ae9c4d48972e7a0ecee19e74a87a3018258202328a397d9a255bc59bd5dab59894f0cee412936c3c540fa5b6a431357b21c6a01825820791d2dd2a7b22b63b9de71cb1a1df5b0b99deddc59c521a126175c29e5dee3b6018258207a0b774eaafc03ea9c12cb33950d04ba160447fe929e518d2dd6fb758fc163d8000182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff0240d33bb580ff0b5506d5fb4a1d5777fe3b35a8da84531d1a2965c3a6011a01a52480028201d81858fed8798c4100581c7fb11a61ed2d3fc381ca822c436f26166c1d3a6d08a273a8c6573aa7d8798240401a017d78401a000927c01a003b3eb2d87982581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536a4b5341442054484520434154d879821a0941cbd81a3b9aca001a0007a120d87982d87981581cdb4bf816534800d476f033055a059a9b5888480ec78a889034e48d6fd87981d87981d87981581c40d33bb580ff0b5506d5fb4a1d5777fe3b35a8da84531d1a2965c3a6581cdb4bf816534800d476f033055a059a9b5888480ec78a889034e48d6f81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e477682583901db4bf816534800d476f033055a059a9b5888480ec78a889034e48d6f40d33bb580ff0b5506d5fb4a1d5777fe3b35a8da84531d1a2965c3a61a002b02ab021a0002e2450758206c0a3f0513ffd26daf60532157166f8260c7995a9dcd94f953a06cda871c3b48a40081825820f17087a27af1c9e78672fea5faae81aefb578c33290e7a8854beeb468abeebe7000182a20058390128a73cad037ef458982df2fe23045a45eca90f193d08eebc2bf9d471fa860d06dc1a1bd8ec2497fc43609460611cedee27f6eb51c0db0df3011a05f5e100a200583901ba1a2c2fa1752433d89af4ae3842bbf5e43a130d300931ceb3c9fcee922cd7ca8f9b3cd230c134a2de8e1aa700ab616acebfc6c14c88e265011acac061ed021a0002917d031a08763d46a5008282582028fa2961297e23ecf1590f21fa910d5fab1b016569016e1e8f146cf9d9067ec903825820a089658b3151acf805d392a740f6c3e27821499b39cd89a3c15e734a57d8dce8010183825839016a9749921503bb6eea66f90f077fefd511e7356199e662ec6496812b3c189510c2d6255e1e36d017a437dd2293e36b92302dae49b09abba4821a0011b0dea1581cefd7bd84c73fa01400d3c892365ce90b203981aab678bcffb6f3406aa14934383638333439353001825839012bf19e5ce4f0086dad389475d508a89c11155297aa2eb2333479e0c405a99b558e9fe43f302e55289fff4495804bfad6a9a4ac212090c6d21a007c7cfb825839012bf19e5ce4f0086dad389475d508a89c11155297aa2eb2333479e0c405a99b558e9fe43f302e55289fff4495804bfad6a9a4ac212090c6d2821a00430472a6581ca51962deea60aec8b1fd7161e21d61312fbd296ef9f731991335b3f5a34b57696c6463617431363637014b57696c6463617431373531014b57696c646361743239393501581cb76de2ba611586d06efdbdfb58a31954f2b61dbcfa87e4335feb5e28a14f436f756e747279204361742023333301581cc981fc98e761e3bb44ae35e7d97ae6227f684bcb6f50a636753da48ea14454554e411b00000009ec5d9e59581ce0302560ced2fdcbfcb2602697df970cd0d6a38f94b32703f51c312ba158200014df10b5b0e939dfbde2dd07353306744debe4b8a24055a8754c1b454b42741a00709388581ce5a42a1a1d3d1da71b0449663c32798725888d2eb0843c4dabeca05aa151576f726c644d6f62696c65546f6b656e581a97fde980581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa14879756b6b692e616a01021a0002e379031a08764b230800a70082825820ef89b0d83ae47e0423a22e210b1e72def818ac2bcd2858724653aabbe70bce8400825820e9bdaae18a19be212e9c2e171ea52977074ed62db944f2d41a68cfb86229c16e030184a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020011a121eac00028201d818590102d8799f4100581c6a94f7faaa0e26f5c570012be791ae03c766e862dbaf593a7c98e465d8799f4040ff1a11e1a3001a000f42401a0010d76dd8799f581c97015a16f6804121257f5f8bcec952a6da01837f7ec79602120a8fce4546555a5a59ffd8799f1a0010d76d1a11e1a300ff1a000f4240d8799fd8799f581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666ffd8799fd8799fd8799f581ce16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020ffffffff581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d66669f581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b2ffff82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a0016e36082583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb820201a001e848082583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020821a28fc375ea1581caf41d01d97a51b2ee1c82fc1b55e1ce789f1e046487d32cebb976181a1484241425920424f4f1a011067c6021a00044245031a08762f09075820360dded0dc97b71db4f18c3db30dc925293047f9370d96fbc2c8cf5335af4955081a087620f90e82581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666581ce16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020a800828258205a768ceb38c11dabd6ae59a480d3d10188e5f5dd240089d80dfefc66b056be5900825820840e99e95cef688b05f8ef3d48f1ea1b0187b0b699672106f32670ff91febf7c000183a200583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb8202001821a001e8480a1581c97015a16f6804121257f5f8bcec952a6da01837f7ec79602120a8fcea14546555a5a591a0012b144a3005839319dee0659686c3ab807895c929e3284c11222affd710b09be690f924db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821b0000000640d11941a3581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec200a158207dba2663fd2a8936d4bb0dfa5a5fd3f56a12f5780e6f8074625043d95fac28c61b7fffffff9bfa68f4581c97015a16f6804121257f5f8bcec952a6da01837f7ec79602120a8fcea14546555a5a591a068a5597581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add06a1582018ef52503e54ccd398f149732b0a24e004741881f38e14af9de4f75d456cc83d01028201d818590112d8799fd8799f581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add06582018ef52503e54ccd398f149732b0a24e004741881f38e14af9de4f75d456cc83dffd8799f4040ffd8799f581c97015a16f6804121257f5f8bcec952a6da01837f7ec79602120a8fce4546555a5a59ffd8799f581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec20058207dba2663fd2a8936d4bb0dfa5a5fd3f56a12f5780e6f8074625043d95fac28c6ff1a0001831c18641a0294a6411a000597bb9fd8799fd87a9f581ce5619f78d716cc24ea924e4412d83353ae390edd9905ecc6d5c85c2bffffff00581c75c4570eb625ae881b32a34c52b159f6f3f3f2c7aaabf5bac4688133ff825839015cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b2213c52886a517be9954d80ec7ba19ca783a03eb501694b9281dfcad81a00165d10021a0008277005a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b58205328ca618708a88ed01ee7c84b2b658a2f19fb71839355ab99d510d2b8902d560d81825820b57a5ffd5d7f61e9bb6c2f9c5e0359779575a81b2dd9706253cac8562b43563c000e81581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b21283825820482719d050a96b91206f78c6c2b834e844ea576557387e09e7b1c8afa4d433ac00825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a90083825820730627ad8c8cd597685160b5d4c2df83c78dc0342d17737b2e340685be957959008258208b479e34dbd6370357c66469a3830269eb8e30a6e9cd65d5f050cfd3372c08ee01825820faace326ac02076a73aa7da8778345b0739fb6a79444a0c6aecbbe93b4f9062c010183a30058391173275b9e267fd927bfc14cf653d904d1538ad8869260ab638bf73f5cd7244b4a8777b7dc6909f4640cf02ea4757a557a99fb483b05f87dfe01821a004c4b40a1581ce0302560ced2fdcbfcb2602697df970cd0d6a38f94b32703f51c312ba358200014df100942fcc29a051e6c2ae052264257001f8cf91e55251f4de6118f4e351b00000003cde40eaa58200014df1027f51c29cde11887b667d9632533677a82baa305a6ea43993b68909e1a276bc26d58200014df102f36866691fa75a9aab66dec99f7cc2d297ca09e34d9ce68cde047731b0000000487159183028201d8185853d8799fd8799f581c7b32c645d3f344dc90df975f62492e02e964214c0b0502eb353e7b92ff9fd87a9f4653554e444145581c0942fcc29a051e6c2ae052264257001f8cf91e55251f4de6118f4e351864ffffff82583901e05979c7922a556392d6db0c2749d7fcd34934e8daf0dfdeed3070a97b32c645d3f344dc90df975f62492e02e964214c0b0502eb353e7b92821a0011a008a1581c533bb94a8850ee3ccbe483106489399112b74c905342cb1792a797a0a144494e44591a0007e17382583901e05979c7922a556392d6db0c2749d7fcd34934e8daf0dfdeed3070a97b32c645d3f344dc90df975f62492e02e964214c0b0502eb353e7b921a01c66102021a0007a1200b58208f0ed852d1e7226ad4238a7f7464a5a22d605b99994b10dd3c520e73296640a10d81825820d47365d63923bebddab536bf4521b2857558d7d97b0ad54d0afc305f3f72e592030e82581ce05979c7922a556392d6db0c2749d7fcd34934e8daf0dfdeed3070a9581c7b32c645d3f344dc90df975f62492e02e964214c0b0502eb353e7b921082583901e05979c7922a556392d6db0c2749d7fcd34934e8daf0dfdeed3070a97b32c645d3f344dc90df975f62492e02e964214c0b0502eb353e7b921a00a0397d111a000b71b012818258205af2bc2b1c983f65122d8737755d1de6e88c4d24797fdfac2c01e5156c15256f00a40081825820d3c9954c44cc27bd228279441df658a5f74a9285d5f8907a3f56665f5bbe88970101828258390195551531ac72f8e128bf465c77a146e8577dd95f5bd858aa8c6a77ee95551531ac72f8e128bf465c77a146e8577dd95f5bd858aa8c6a77ee1a025ab8e082582b82d818582183581c05b073f36ee030589a31148838cd47e8d8c8f82fec9fe091c7d53cd8a0001a0c5f26b11b0000001a838ffbaa021a00036ce1031a087628c0a40081825820a176972da5eeb618329056c3907c2c06cb6431853efa52fa729a7669e7f1791a030182825839019f68bf8ef8c14ee25d66688b3c364cd1afaf3e283907fdb25c0751bda2515ac6d5e264054c965e3426232ee8d2a950a5ee7f92024ac2fcfe1a000f4240825839019f68bf8ef8c14ee25d66688b3c364cd1afaf3e283907fdb25c0751bda2515ac6d5e264054c965e3426232ee8d2a950a5ee7f92024ac2fcfe1a168cb845021a0002917d031a08763d22a40082825820180647f4429ae3064b83c0d030ea36eac64e85f498566ea75d5c3a89b065746f02825820d2f7cc081612731a412b733fda852116e84e0fc11a6fc2579b4e7354fd5644bd010182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff027773e8ecdb542929a56262d5ef7bf9e7e617f89f60ea1f30e9e5cc20011a03229cc0028201d818590102d8798c4100581c4b83233942e4ea43edf01fd9a19848907591804499633f29b9237894d8798240401a02faf0801a000927c01a00011347d87982581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536a4b5341442054484520434154d879821a00d70fe21b00000002540be4001a0007a120d87982d87981581ca6e78a9186803077cd9c5007242ebd88e716005158352c8cf7e2165dd87981d87981d87981581c7773e8ecdb542929a56262d5ef7bf9e7e617f89f60ea1f30e9e5cc20581ca6e78a9186803077cd9c5007242ebd88e716005158352c8cf7e2165d81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e477682583901a6e78a9186803077cd9c5007242ebd88e716005158352c8cf7e2165d7773e8ecdb542929a56262d5ef7bf9e7e617f89f60ea1f30e9e5cc201a028bc5be021a0002d6c1075820a93312bff327bf6018b3b792317577c44fb22a77b6c0aa28ac9613b858d0aeefab00818258204ecdf1b151042238284b9a44a002aea24460a897c4999da406b1fc1f6ecd7750010183a300583931fba91f46fc289ad8abe08d07488d8bb5a2c15c41d6903ce70b0ded94419971dfb46a7fa611ddf545ee84dabd741454c4837669de8322d71801821a003567e0a1581c77019d836d9a5f1e1225ad0ea8262f99c14c89ae74a750bce29cee93a1581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a01028201d81859018bd8799f1a08f0d180d8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd8799f1a240c84001a005b8d809f581c73056bffdf28f82da5db1f5ac7c06d030c8a551f43889f7f85746a4a01ffd8799fd8799fd87a9f581cd064690601080228f9cbd54ca70a1590e9498c913b9fc7cbd845e888ffd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd87b9fd8799fd8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffffffffd8799fd8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd87980ffffffa300583931fba91f46fc289ad8abe08d07488d8bb5a2c15c41d6903ce70b0ded94419971dfb46a7fa611ddf545ee84dabd741454c4837669de8322d71801821a003567e0a1581c77019d836d9a5f1e1225ad0ea8262f99c14c89ae74a750bce29cee93a1581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a01028201d81859018bd8799f1a08f0d180d8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd8799f1a240c84001a005b8d809f581c73056bffdf28f82da5db1f5ac7c06d030c8a551f43889f7f85746a4a01ffd8799fd8799fd87a9f581cd064690601080228f9cbd54ca70a1590e9498c913b9fc7cbd845e888ffd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd87b9fd8799fd8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffffffffd8799fd8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd87980ffffff82583901e581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac5391a16536b47021a0004784d031a0876249509a1581c77019d836d9a5f1e1225ad0ea8262f99c14c89ae74a750bce29cee93a1581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a020b5820eb1405df2457e5a149604cf575e2ae5eeb5f8c5a619b9c35c6c56baefd1c478f0d818258200f1ba3be2bc6dfff5cd5c62089ade52b4739dfcfca5e96356bb8c2c5ca705fc5010e81581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a1082583901e581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac5391a004997d5111a0006b4741282825820132908513ff3d5a8f31919c291c38b4bd3dbe75428cf6f958ceddc7dd5dbe86d0082582026e330110f954a2618714658c844198df88e4fb70bf5c0d69b34fa3f71097e2400a400828258201f4028489ddee7ae46c74ceae2170880308a2fde516da77711359cedd514e6fa02825820243446e483a25b8cd3a3fed791923bf373a1fd6d891c01035023ec215f024a86010182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02fd71b9f951bb672ee87b3f8ea8e7a82177c21941cf979a914bd113e501821a0027ac40a1581cedf7b9fa84080c5cbef475af9d75f0e23b4b60dc05c4066b8f3a6087a14841737320636f696e1a009c9255028201d818590103d8798c4100581c7572b807d3a1c7dda8bd06a109ff2486343cacd597bb603f0ac42c32d87982581cedf7b9fa84080c5cbef475af9d75f0e23b4b60dc05c4066b8f3a60874841737320636f696e1a009c92551a000927c01a006ca366d879824040d879821b0018a6973de1e9121b002386f26fc100001a0007a120d87982d87981581cc0c6c8108f6115a3e124f04b63898d621cf4494af1a50149c0a9dc42d87981d87981d87981581cfd71b9f951bb672ee87b3f8ea8e7a82177c21941cf979a914bd113e5581cc0c6c8108f6115a3e124f04b63898d621cf4494af1a50149c0a9dc4281581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e477682583901c0c6c8108f6115a3e124f04b63898d621cf4494af1a50149c0a9dc42fd71b9f951bb672ee87b3f8ea8e7a82177c21941cf979a914bd113e51a0830dbd4021a0002df01075820f5c744c627a6196df249f8b45cda197181cea7dc1ae78fb5d0f580a92b1852e0a70082825820e57f0070ae38d1fcf4c53324d3c28dd890d1ec0cc639b93baa437e6207967278008258209e1da20e09aa4398da6deda004d769d1d9ac5c3d16b235b204e4f25ac66bc8c0040184a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a801821a003d0900a1581c160a880d9fc45380737cb7e57ff859763230aab28b3ef6a84007bfcca1444d4952411a000df282028201d818590130d8799fd8799f581cb4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952ffd8799fd8799f581cb4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952ffd8799fd8799fd8799f581c063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a8ffffffffd87980d8799fd8799f581cb4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952ffd8799fd8799fd8799f581c063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a8ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c58200072df07a7bf60c5ed8a3550d8752ca4518fb04c3dff9ad8d0e05f1276927b43ffd8799fd87980d8799f1a000df282ff1a037eb5c6d87980ff1a001e8480d87a80ff8258390136563867946806cbe005d68261cd69fe942e9c0745a3f8cb67be38b1632a5b07f7a5c0ff2b1a5f23ad10db1923e2881d42f7f5eb8a77ebea1a00102cc482583901b4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a81a001e848082583901b4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a81a130ea016021a00044add031a08762f09075820bfd6dd1e96e4fd26c6379aa3093aaef25639d58ee76d045bd4528ef9f2fed808081a087620f90e82581cb4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952581c063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a8a70081825820e32e9b79410e3a79f1c02b0166cf97688f9b2c148002a00f8516712f04fff292020184a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ff011a21adae2e028201d81859012ed8799fd8799f581ce9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47cffd8799fd8799f581ce9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47cffd8799fd8799fd8799f581cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ffffffffffd87980d8799fd8799f581ce9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47cffd8799fd8799fd8799f581cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ffffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c5820bc496a205e821ce1c924ecde9abecb84d9b4f5be5ba7324b67835a8e82b33f9bffd8799fd87a80d8799f1a2170a52eff19d3cbd87980ff1a001e8480d87a80ff8258390136563867946806cbe005d68261cd69fe942e9c0745a3f8cb67be38b1632a5b07f7a5c0ff2b1a5f23ad10db1923e2881d42f7f5eb8a77ebea1a0017d1c682583901e9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ff1a001e848082583901e9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ff1a40f7a71e021a00042f05031a08762f09075820bfd6dd1e96e4fd26c6379aa3093aaef25639d58ee76d045bd4528ef9f2fed808081a087620f90e82581ce9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47c581cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ffa8008382582044a5b8f86d92569bf42603aa8e4ec728c11ee290a2917c9fb669346dcb1b512e03825820dfabf1180830d32e6f3a667e0aae61f63c06c7fb6d9112dcef25b1d78323bba70182582044a5b8f86d92569bf42603aa8e4ec728c11ee290a2917c9fb669346dcb1b512e02018483583911a65ca58a4e9c755fa830173d2a5caed458ac0c73f97db7faae2e7e3b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821a003d0900a1581c7507734918533b3b896241b4704f3d4ce805256b01da6fcede430436a14842616279534e454b1a0011129e58207254f681dfc18f32aa90865a57feca96f161542975fba0dd8e78d07b56e297bb82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a000f424082583901c2e06cae1ba95eb818bf5e30bc8abde5c2dc83c1d685fd88be93616d93bc191f37097a14c6eb463b5d0aa524bec27108076b30b0d649baed1a001e848082583901c2e06cae1ba95eb818bf5e30bc8abde5c2dc83c1d685fd88be93616d93bc191f37097a14c6eb463b5d0aa524bec27108076b30b0d649baed821a003a8118a6581c279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3fa144534e454b193635581c7507734918533b3b896241b4704f3d4ce805256b01da6fcede430436a14842616279534e454b1a0002c780581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a09ec8ec8581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7ca1444e696b65190e85581ccb3fe77a97de3a81953054dcc7603766c6c5e4e5c1c62b65fe8e92b7a145414e494b451a000249f0581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61a1444652454e1a0011a2d2021a0004a335031a08762f09075820360dded0dc97b71db4f18c3db30dc925293047f9370d96fbc2c8cf5335af4955081a087620f90b5820014db46f59564aa0035146c863a0bd2147a4a0a26fbffa32e6591de4515f58210e82581cc2e06cae1ba95eb818bf5e30bc8abde5c2dc83c1d685fd88be93616d581c93bc191f37097a14c6eb463b5d0aa524bec27108076b30b0d649baeda400818258205d23c792cc316af08b393a7bc78e6ba985820708ce304d15719e1362e1cc7d8b000182a200581d61bbd59584b96f590f963068beefe17e8e60400fbcaba73e66b68ee3a8011a00989680a2005839018f4d208adaff27fe9e1260e3f45e8a52666120f48b754a4ef17470979dc1f1aa43016f2e895cc0b7ee2022a625e03ff01eb484965098e8c6011a17a00fa8021a00028cad031a08763d25a50081825820b28f5deed26bbadc6dda63388946bf1f86a0cf1469e13c4e13269c4d0f92427100018182583901f3af384b102c236a248044832cf454fc171e6852a92ded74b343f5a0082d27c2d151124e9e0ee419d87b109113ecbcf6a0e83c452ad29ad01b0000009e648a4842021a00029ee5031a08763d3105a1581de1082d27c2d151124e9e0ee419d87b109113ecbcf6a0e83c452ad29ad01a5040e06da500818258204a76c0464f4de89b325455654823f11cf8f8278b61e2a6be5c48becfa5eda332010182825839017f601ca4ba0d139a6da79791df7d441bb773de0a325b9fd6b26daac6e310d5e43e36ff0fa572060407cf16ad7c502b58f33e97d8d667a09f1a05f5e1008258390133a749775735eaf2ec1b093854d82360699a77ebef1b64fe42b096bfde0e3fc6d1384d6dfe11bca7ac423ca886d52002db4c8976b2195e31821b00000006bbb4960ea1581c23c9b05ee16199b4955f7c491c887b9bd53d77a4af65105c54fe13eba15453756e6461655265776172645469636b6574323401021a000311b5031a08763d1005a5581de13a39a6b40bf89564c15d2f42fe89d684494d9bd785e23614a425b5901a00ca81b5581de14e5df99617d37e0738caa39c64fb09fbc41b9477f6d6697d9f91afda1a00da3152581de1521fef8adcd13f5ae5d2344c131b33967b2d2cef2b58f7850c5858c31a00c33aa0581de17b35bf40ce88105b9fbc2c6f1748d09596e992bb7c4e6ebaeb92d6b51a3642ed67581de1de0e3fc6d1384d6dfe11bca7ac423ca886d52002db4c8976b2195e311a00b69e35a8008282582013f33b4960878788671593bd9cc4438e7c8245ba76fd4d161f467df4812bcae0008258208ea27d8966360de9820a4c98bdb54caa748ea23086ce60634cf49c790e1d444f000183a200583901a6e78a9186803077cd9c5007242ebd88e716005158352c8cf7e2165d7773e8ecdb542929a56262d5ef7bf9e7e617f89f60ea1f30e9e5cc2001821a0016e360a1581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536aa14b53414420544845204341541a006b87f1a300583931905ab869961b094f1b8197278cfe15b45cbe49fa8f32c6b014f85a2db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821a366c54afa2581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536aa14b53414420544845204341541a2add02fa581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b8a15820e216425600a641a314c19a32fff56f751f5bff81740f2232693d607379f3bee401028201d81858e9d87989d87982581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b85820e216425600a641a314c19a32fff56f751f5bff81740f2232693d607379f3bee4d879824040d87982581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536a4b53414420544845204341541b0000001166b125ce1a001373c2581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761b000000028f200558581c8807fbe6e36b1c35ad6f36f0993e2fc67ab6f2db06041cfa3a53c04a581c554daf3e27e50c8c779713be6ba70f95c35f23f0552a28e5a7a340148258390122aea2da15e494e01767145d48bda16b6d437f1c449823a044193daf299a82ef56311aa10adf04c0072d4870eb9f4d5ff315132434841b741a00129867021a0005d19905a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b58203a98f88216e5025db28f06e90c56b3def9f35e3ac2beef37aef7f09ace7a60c00d8182582006f24741c2cbc3f59096046de95fcd5d90a77e5378d95fd60f2ec261aa5c7981000e81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761283825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820c4a540ac2e06c217dd4fb3f39ca3863da394ba134677dafa9b98830ca71d584d03825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a8008382582013837bb0164d787d1d8dc6e4fde36ecb9966135a9eff89d33f8738a9da8067cd0182582041f1141447378ff4b21fb10ece15e69ddbad765fc66c23f8f20f290f2c85a00c01825820faa310c5b932136aa2f3909e8224678fcd3a42c92db07b6cafd5b94b2fb444e5000183a300583931905ab869961b094f1b8197278cfe15b45cbe49fa8f32c6b014f85a2db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821a02fb2f99a2581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b8a158202f283805937b33534b2eba77d0232fb4edcd8382b392f462c1aa1f4e81e5964201581cedf7b9fa84080c5cbef475af9d75f0e23b4b60dc05c4066b8f3a6087a14841737320636f696e1a3975e9d5028201d81858e6d87989d87982581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b858202f283805937b33534b2eba77d0232fb4edcd8382b392f462c1aa1f4e81e59642d879824040d87982581cedf7b9fa84080c5cbef475af9d75f0e23b4b60dc05c4066b8f3a60874841737320636f696e1b0000001166b125ce1a001373c2581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761b000000028f200558581c8807fbe6e36b1c35ad6f36f0993e2fc67ab6f2db06041cfa3a53c04a581c554daf3e27e50c8c779713be6ba70f95c35f23f0552a28e5a7a3401482583901edbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47765bea5f897c13dc19a9e0cb1a11c7b1f7afea002051c73c1b2db2e9421af792ea48a200583901c0c6c8108f6115a3e124f04b63898d621cf4494af1a50149c0a9dc42fd71b9f951bb672ee87b3f8ea8e7a82177c21941cf979a914bd113e5011a00f02a2d021a0005ce2905a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b582034e73784c72799213d02cad0277814472773c3610fee3bcb7859f14517cff2120d8182582006f24741c2cbc3f59096046de95fcd5d90a77e5378d95fd60f2ec261aa5c7981000e81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761283825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820c4a540ac2e06c217dd4fb3f39ca3863da394ba134677dafa9b98830ca71d584d03825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a6008282582006bf2e134d12e559d500a2b1593c130600b39b0a55dc088c1180b5ce306f611d0082582006bf2e134d12e559d500a2b1593c130600b39b0a55dc088c1180b5ce306f611d0101828258390166eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e66eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e1a000f42408258390166eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e66eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e1b000000010b59b00f021a0002fc8c031a3b9aca00048183098200581c66eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e810205a1581de166eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e1a002b48e2a500828258200db8bccbf36877c088c75be3f6c8b89dacc6e8de4178148013a2b8b6301506850482582060246180fac682299c048cc66f4cab8d3119b136e05accf5494b532026de17c3000182a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c3d90dfa0d228a430e2038a6b052fee30673c904e970fb9ed21f61ff901821a06dab2a4a1581c6d06570ddd778ec7c0cca09d381eca194e90c8cffa7582879735dbdea1435845521b000000021aad4e60028201d818590136d8799fd8799f581c7a7f5c27867008c944b411c46fee69757071290b865c0e48985b5743ffd8799fd8799f581c7a7f5c27867008c944b411c46fee69757071290b865c0e48985b5743ffd8799fd8799fd8799f581c3d90dfa0d228a430e2038a6b052fee30673c904e970fb9ed21f61ff9ffffffffd87980d8799fd8799f581c7a7f5c27867008c944b411c46fee69757071290b865c0e48985b5743ffd8799fd8799fd8799f581c3d90dfa0d228a430e2038a6b052fee30673c904e970fb9ed21f61ff9ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c5820372468543304a13de4f75942b2a22d5a3df59395f2f65955de5eb3d0a4ebd08bffd87d9fd8799f1a069da9a41b000000021aad4e60ff1a38551697d87980ff1a001e8480d87a80ff825839017a7f5c27867008c944b411c46fee69757071290b865c0e48985b57433d90dfa0d228a430e2038a6b052fee30673c904e970fb9ed21f61ff91a2831c874021a0002e219031a08764b3c075820270cd2ffe467d9088942fab7e62af5c6f2d0812f6925dff02a8acd5d87141b0da600838258200fd3b254f2c7b2a595be5eb4defb6c1d70146f0d617e24072969a5786c2bd38c028258209bcfe9893f7b3c7c74c9ab5f8fc545f985a535ddeb82465b8c3588bad27cf75c00825820fa7af34bfae918e6acf91298e6d1e693b8e6d5c99b0016f34433fcf71382de800001838258390176a1e723ff558c0ece153c3bbbfe01d9239227344b365760a68219036287a5fb6753dc577fb18d6ae130d150d2b8f8c7c42df4d5237bea9d821a0014b752a1581c5f14928982c2de7427bcec513c29547311d289e72320f1c0d1eae160a15543617264616e6f436f6e737469747574696f6e5f320182583901b419c3659c7e362dc6556c0f75fb4b80a59b9b52d8bee5930da75d8488b89cae587188696ad25553b4a080906d93aa0635d8d9fa93959f951a000f42408258390176a1e723ff558c0ece153c3bbbfe01d9239227344b365760a68219036287a5fb6753dc577fb18d6ae130d150d2b8f8c7c42df4d5237bea9d821a02751d54a2581c0c05b9e33333dba9c01e509ba2f7f2dc7c90baaa3e912d75558f5066a14343433201581c5f14928982c2de7427bcec513c29547311d289e72320f1c0d1eae160a25543617264616e6f436f6e737469747574696f6e5f31015543617264616e6f436f6e737469747574696f6e5f3301021a00080499031a087623700758209c01f8be86dc0d97866150e00dd31636129777fbb7bd05c2eddd7a2deae8f23309a1581c5f14928982c2de7427bcec513c29547311d289e72320f1c0d1eae160a15543617264616e6f436f6e737469747574696f6e5f3201a700848258203192bb1ae6c4a87e4d53a52c90f2b8d4d95262127b01e8a1c713b137da6194f201825820e9bdaae18a19be212e9c2e171ea52977074ed62db944f2d41a68cfb86229c16e028258205a768ceb38c11dabd6ae59a480d3d10188e5f5dd240089d80dfefc66b056be59028258205a768ceb38c11dabd6ae59a480d3d10188e5f5dd240089d80dfefc66b056be59030184a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020011a121eac00028201d818590106d8799f4100581c8d0f66d75b3efeacb4cd93dd704c576d97cceb55a1be522ac43325e0d8799f4040ff1a11e1a3001a000f42401a004b929ed8799f581c3bbbe8599fbc4a9cd2dc1c94ad0f577ce2328180b9cc7b851633aa8d49506172747920436174ffd8799f1a004b929e1a11e1a300ff1a000f4240d8799fd8799f581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666ffd8799fd8799fd8799f581ce16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020ffffffff581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d66669f581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b2ffff82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a0016e36082583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb820201a001e848082583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020821a188b2c2fa1581caf41d01d97a51b2ee1c82fc1b55e1ce789f1e046487d32cebb976181a1484241425920424f4f1a011067c6021a00045c65031a08762f09075820360dded0dc97b71db4f18c3db30dc925293047f9370d96fbc2c8cf5335af4955081a087620f90e82581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666581ce16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020a8008282582006dadc3b609c1ba4a45a20d7bc5d260a03743e11eb9db448102c6b28c8ad9888008258208628a3e2edd396bccdaf0a1e4984ee42e5cc98ada9565fd87ff41456fc5dad07000183a3005839319dee0659686c3ab807895c929e3284c11222affd710b09be690f924db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821b00000004126bba2ca3581c3bbbe8599fbc4a9cd2dc1c94ad0f577ce2328180b9cc7b851633aa8da1495061727479204361741a1200cb5d581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec200a15820f2409b7fcc04c9d82db46574208be2903ad252c5861e4f011d50093b1a3626791b7fffffff9bea3282581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add06a15820e5bafa812cb99cb15242e269e1b486ad6c7d0e9a43f4ad532925d6f5cf56afd301028201d818590116d8799fd8799f581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add065820e5bafa812cb99cb15242e269e1b486ad6c7d0e9a43f4ad532925d6f5cf56afd3ffd8799f4040ffd8799f581c3bbbe8599fbc4a9cd2dc1c94ad0f577ce2328180b9cc7b851633aa8d49506172747920436174ffd8799f581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec2005820f2409b7fcc04c9d82db46574208be2903ad252c5861e4f011d50093b1a362679ff1a0001831c18641a4098a0be1a003a2abb9fd8799fd87a9f581ce5619f78d716cc24ea924e4412d83353ae390edd9905ecc6d5c85c2bffffff00581c75c4570eb625ae881b32a34c52b159f6f3f3f2c7aaabf5bac4688133ffa200583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb8202001821a001e8480a1581c3bbbe8599fbc4a9cd2dc1c94ad0f577ce2328180b9cc7b851633aa8da1495061727479204361741a0053eaf6825839015cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b2336b0332744e221050b9079ebe0b79b12a9c3a11bf9aa3e2cff211e71a00165fca021a000824b605a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b582091a65e93e7ca4d480e4155d8af9909d1e6fb1fafbab09e40ca91c15f7cbf37210d81825820b57a5ffd5d7f61e9bb6c2f9c5e0359779575a81b2dd9706253cac8562b43563c000e81581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b21283825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820482719d050a96b91206f78c6c2b834e844ea576557387e09e7b1c8afa4d433ac00825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a500818258202018fbe6c9a899393681c237b9bc55c781fe8054e84d2c16749bbcbe5fbe5ddd030182a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4ca92e1723f3a9cd8ce06f4a5b115f7f9ade469f1230ddb7e0535097d4011a0c28cb00028201d818590130d8799fd8799f581ca518ee6b51cc5eb3202cbbcc6de9c91619705fad24137ae15a877a49ffd8799fd8799f581ca518ee6b51cc5eb3202cbbcc6de9c91619705fad24137ae15a877a49ffd8799fd8799fd8799f581ca92e1723f3a9cd8ce06f4a5b115f7f9ade469f1230ddb7e0535097d4ffffffffd87980d8799fd8799f581ca518ee6b51cc5eb3202cbbcc6de9c91619705fad24137ae15a877a49ffd8799fd8799fd8799f581ca92e1723f3a9cd8ce06f4a5b115f7f9ade469f1230ddb7e0535097d4ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c58209b65707373c4cec488b16151a64d7102dbae16857c500652b5c513650b8d604effd8799fd87a80d8799f1a0bebc200ff1a051f4acdd87980ff1a001e8480d87a80ff82583901a518ee6b51cc5eb3202cbbcc6de9c91619705fad24137ae15a877a49a92e1723f3a9cd8ce06f4a5b115f7f9ade469f1230ddb7e0535097d41a0baf0d20021a0002d2cd031a08764b4b0758201feb00f18fbe772cc375aa495da0b08d837a719671e68da62f8ed658915d8fd1ff9fa10081825820456eb13000bab4c253ed9520f16bb3901114ca5d82ad2bf780bdc03896096c2d584002748d68a8755ab785e103479be343c36d3fd9500fe63f12075d700e6c058506c88deb58b84ae30c5ca09ab90a44ef7ff9dde9f7aacb9fa0c313153e45260603a100818258206f40066bfd7a070d979a356a051c80134f53879ec994f973236bb8a2455060b35840a6fb5cbabb9d28b652e6fde505ea21d1f0fddc6c54f994817e6d2e96685be66ea971a8899dad03efbeaceb3a4b31c0d133688600a3a34a93a174c540e1c4a208a10081825820a0068d6b3e8e645c75ef64075b33736d3a154a9f1d3e2f0369f8baf84cfd929c5840b22006852581bbd16c25ffe1c6e1bf69a54ec52fbab607309572e17146a4ec9c675d3f2610587f09b12cb0d9bd270715e9fcd17c708a245357c3b77ef3dbbe0aa10082825820231508b6a39647da2691bf476af48a59398f626d53a07f06339bb30c60559a215840d1302f7a49ecee6b862d6b3459de9286852b9158d8bf25ba15f862901f12b4e71075e8cd2569eac0c14e13280b72fecf3f2277b4ac024ab4d1556d4e8b17750c825820b675242e0dfdd2ae565221854f9aa9d5a7ff6ee93ec09683f17bcaa2049be00b58404892423f976ff74a60b7faf60592cbda0bd957b62132f95230e4f64253763d9d3680185743f384eb9ecd150af15a9578fb91594d654bc4d10d2bcb2df3f55704a20081825820d39f6e2677e23ac35da0a65bef78ae5cfdf34eb57c4059d4d7f31aa9ccdb8eff58407a8248560871b1516bed61f980bf71bd108f7c20576239e652f102187fa36b24290c2bc2fa582eb3f464360fc3ce417eea42f7d0c5220074393a4621710bd2000583840000d87a80821a000186a01a01c9c380840001d879820201821a000ae8f81a10b0760084030080821a000668a01a09896800a20082825820720fba9059844701e76a2c635361dd728e9809068b79c5a649e2957bac01a5d2584096f75665563d9d1b3c5bba2527dd2805d863aac1144b48ad73fefaaa11e4b02f731aa7c0653c6bf55ffcec7573d79dda8d522392820707f524bc3cf622c0fe0482582033a7645931e4ec26e75f12547331a6b1d68ebc3cafb957199e3ca5ffefadd9465840ff6c659497413a957d91101329315d7ae5228bbc629ccf3220d507395b3ad747bb67fe618e955e43b7e7af484672d0a035af99fc3201cc2a4f435883cd2302090581840000d87a80821a000171ab1a0170cb41a10281845820f129f07bbfd87fd1d3ff5fb32e9a5566e02208f89518e9994048add22074f4335840ae74e94ae3d6862466ad9d1ce0a106c9ce3fdfc48b7e0b06547f8edc99d3ebaf7f1997f1253187e5025eb541cc673bda3e6ca085d362ccf1a4b58b89bc1fe2075820424e682a392581268c7544e34e9c54378a8820bdcf7dddce30490bbb2d363b4b41a0a10081825820a357dfecdad94989acfb92868541f457270fb198061421380f07b480f9b516b75840c9b799803604ae93d8a0948187437b1032d2824e2b2611a895e305019a234ef5c1888b1eed02e172391512e11837727054ac5989849571962ca8474e09b4250da100818258204194123936bb259460ac2a321470e6128feaf8b9c402709b2a01b02cbca5ab7f5840144960ea63f4cee5f9e84e1d53a0eaf8a2e0114bf0281adbae452a94e405b8340c6c31cf38c5c66c19eacf3db220ed2bc9d51c283e6324251ecfe6f59c1e160aa200818258209bb454c18fe65c70718b44aff26224ee056cdc26859616f078354b1e0142a53e584019307571dd0bb0ae05eec4515d72bcd3a33a933e13dd16c9267118b4e9da462acc73691f6cc50756d3ef54311a54e515224effed3ab0e508e61cdafd1a8bbf020581840100d87980821a0003678e1a03cf7321a10081825820e0aa0747b138530ce8e08ee060f7a0980b141cef3c57d9f98310d3bc405aab145840d1de96a0f325b2557c2a1a5e2a89e988a5ef9380584eab8815a0d4821304def10575939ce142597555f6574e54e2070f90154ef9035c6fa87645d729be54710fa1008282582092411efd1f253fc067f5a5769ce8280199dec0eef9228c071fbf5fa80ae8c63f5840b93ceff78a008f21513e81ef354902155ae94725ed23a4c4aa0b62605a6159598128c81f051d5351331f2433b0249b320401f8e9ea7d3759e8fdab86a730c909825820716a9d03aef1bdc193138d2398a6a91bb030e7e64b8033c625dac1fbead736bf584013c2dc052c28a61004009b04887ac44047141a34b1b55666d2122534b7f02ffa1d0505ffeb1db28c93caf0d86e0362ebf279ccb7e5edcc87d7e1ff1310294e01a1008282582010eb71e1499837e534274f7125bf1fef0ebf4b4bee387401b40fa2ee1cdb6f0a584041602a6a6e0500fa6a53c00fc09290e7b6fdaee1357acb1414a5d4554eb3be0d23cce17bf8dacc4f7e20c9f4cda34983c08b75298f431e7ba9c891731ffc13088258202a4f1addb7b6e9edac7fff2cd1abfe242c5e204820157c1d339f9b7c9793858458408f7633960427d23b1efb5a1b52801e257bce2a90b5d948bb755c7c86cc2d94d36553c623eb1037e57aed31bdabe4fbfd480caddb0dd53ae101ac4a41b4bacc04a200828258203ea4da8ab403d4197df84e86f1358002568af92b04c1fff5cf3a43d99d082f015840d44c7cdff40c5fc50fc13dcb776ff3b869af01a7381b8e370fb43797cdb1b0f9c9dba53b8791095b9d0e654015990b7194e4a214e8a8c5bf08e28081f72bc40b825820b9187219760974f7f8a226f44a7ae217dd457d59d6a5078cc9c69469db2f136f584099f6cacfb7e96a69d00778298323d0812256115649acb48c65523d704bc995cd20cdbc57e8446ea0a340bd22c7e8746110db83cad8b0d3ad4ad3a16dc23b3909049fd8799fd8799fd8799f581cc2e06cae1ba95eb818bf5e30bc8abde5c2dc83c1d685fd88be93616dffd8799fd8799fd8799f581c93bc191f37097a14c6eb463b5d0aa524bec27108076b30b0d649baedffffffffd8799fd8799f581cc2e06cae1ba95eb818bf5e30bc8abde5c2dc83c1d685fd88be93616dffd8799fd8799fd8799f581c93bc191f37097a14c6eb463b5d0aa524bec27108076b30b0d649baedffffffffd87a80d8799fd8799f4040ff1a07077076ff1a001e84801a001e8480ffffa10081825820ed7fe838c004dc1a927eaf2c4f2baee0b78cbc8f47f7af642ed3f116df20088c58408489f79e18e850c9aaa95f3029b2aa7fdaba509610fa17f2f32940884581452a4147ccc3d6e5ead2387701685a379408d0247e61cbefeac58100813ef2fc2c00a10082825820cacfae107989781678103bfe13acfff1978ab8e319d601b7370ea3fe26672762584086489a24f7718e1cf1ba66b83bb145891754d03e3b196b4ceff3ce156d12259e7a80532a655f37fd247bf208dd8afe13030462723bff39f727908a37e42e0f0d82582054fa9b4f7c130d312bffcfb49112a96b22864deb601361f831b0132ab2a7884558401e75b5b25254547e90897cda8476ff1ce222cecbf5aa26f97108905fcfcfe3d85e4d43f84832bb773a88b97b8a4ce54691add8cda116bce4dc4175269fc5ee0ea10086825820cf81a2c3ffe1daaaaa31cb2e72acbfe8b3d4aa2dc60a80617e250e5e6d3a519058405b61efe20f49d489e4ff44288535f52d4b6bd849393ada0315365f896feb044a3dc4bfb60ebccadc51da85c46ea65165d6bf234fe668596697b1ce4ecf0fa80382582002afcd64bfc053df6b61839785adf73bedee5c7188124fdac15f548c45da46ad5840a474cd7e124483cff3811e8c02893e0f247e81c638309e82241647ee8fe9b3b84c8e27756e597e3c364a9a04b99477b1251f265207af31379869a0f9d41f9a09825820c07226c4f3d15cc7b0fda1397f8d14c115f7215ed9adae4c1385f295c618a2cb5840f5527f458d7dbe4c88a6afb6435e30083106c61c1efb58c8ca6ed65b08609248d7b750fe19e8335357e8a953f1ef84525e82fd3346c6f7b02c3786878b23e3048258201a3fa156d171dd681dde5b4c994d0511d866a27f35ccdd06acdbb49c31e5acda5840bb64b16bf848e77881e3620219a590a1b34aa2b63f68a7a4b7169e8c8087e43bdbb1fc8c55ede9c392c3673c414179b1fce25726da0604d7e590bbf2600db800825820b4a63f13b9ee9b3071605d6ae366a369b310dad19b8d083c30cc4c32e65b6e375840eab8bae828a691877addeb22e7b7ab15f4e10ad253bffdec4d2154898a09056cff922c41745832e29ac1b3c9d8f783167440b1ab1e2508cfff784a51e52cff078258200fc14ba32fcd12aa60bcbcfe284ee81ef005a5d84785eec42f113c5b7b09830a5840063b945af95b9fbfd2c94b22f335e7044fa9cccc8f61832cba9e0a595be281aa9c90ec9eb87092fe2167ba01609bf0e10407631843c7f692c2699faef8d8df06a2008182582014585da9857b30cf57edccac19d3012b602bb5650c7726a5f1504d9614d2052258401336c193d2d9cf8e1a43797e3655c698bdcfadffb94336249fc52afe7897b528460396ea64c0c3cd7f3340ca722bcd1ee7f1d8d5aa17933140e90de189eb84070583840000d87a80821a000186a01a01c9c380840001d879830101d87980821a000864701a0d1cef0084030080821a000668a01a09896800a2008182582014585da9857b30cf57edccac19d3012b602bb5650c7726a5f1504d9614d20522584061712637bc8921b4f304a43ac86411ebafa9aa3088d83a4ea75b618e40ac7f1eb8c7e875e3596324aef149e84b2787953ce07ba72f17fea20d2d7fef70e7f0090583840000d879830000d87980821a000864701a0d1cef00840002d87a80821a000186a01a01c9c38084030080821a000668a01a09896800a10084825820ae90e4e00a3ec878d4ceb407cab4539eb14929ebdda95925aced4474d549b5ed584042f2eec6d501558490ad998fabf6ac1696962cce575caf5988b77d23ac25c729c21373bd66035de795a59fb655a9adc9ca91a7481fc5842c1c3ae9000db0d404825820ae90e4e00a3ec878d4ceb407cab4539eb14929ebdda95925aced4474d549b5ed584042f2eec6d501558490ad998fabf6ac1696962cce575caf5988b77d23ac25c729c21373bd66035de795a59fb655a9adc9ca91a7481fc5842c1c3ae9000db0d404825820ae90e4e00a3ec878d4ceb407cab4539eb14929ebdda95925aced4474d549b5ed584042f2eec6d501558490ad998fabf6ac1696962cce575caf5988b77d23ac25c729c21373bd66035de795a59fb655a9adc9ca91a7481fc5842c1c3ae9000db0d404825820ae90e4e00a3ec878d4ceb407cab4539eb14929ebdda95925aced4474d549b5ed584042f2eec6d501558490ad998fabf6ac1696962cce575caf5988b77d23ac25c729c21373bd66035de795a59fb655a9adc9ca91a7481fc5842c1c3ae9000db0d404a10081825820e6e7976c5c72ee1da47e1841490f0d7bafc0b644440ddd54995491b792ad683a58405ad6099586153a22ba58cdba40b8d27e6175393a398ee1efcd6feb4323dbcbc4c931cb71bfa8768a4aee9bf1821534ec8ad2d7790af74fdc2bd52522fa008a07a200828258200caa575cb582833bb21b8ab26c43c9d5a6f644a29e4ecbab1ce6a795ff92cb78584000209de67c0e748d688d2c9956fcf0f9c5a2049100aadaaf0aec706a7ee8ffb1910af33bedf5affa981da488f88fe2bccf3f3ba7afaaef63e85b904a09b66f0d825820cb6abe03c7af23b343f4c6da87ff40bad64e5eb8cabecd274eb168c29e3a76bc58408e71cb6e5ee2b9bd9fa0b5f9200699b7bc4ed37f1f36509abff90a91d33e8ef149b26b491e535b1fcb0d5b71a23c5386e3e81edb9d8f4bd0b46a755abed5c10f018182018282051a089da0fa8200581c5e63cbaccf5f25d7131841bd525072ba461b948f145e4190c9052021a10082825820231508b6a39647da2691bf476af48a59398f626d53a07f06339bb30c60559a2158405032b1c4aaaed92b67991f7c71faac3d1b531673b2966592bc3e4173dc338023680410db061050aadda8c9eb3e805e05837bad48d561209476e0954773398e0c825820b675242e0dfdd2ae565221854f9aa9d5a7ff6ee93ec09683f17bcaa2049be00b58405ef0e6c52c618e586d7e875b8e99df0ea06a3c911d5e5ac08297ff83b6a392b9888bbe145dd598c2d69485bea487acaa9fe50496c06fa076b4ef99a314428308a20081825820d39f6e2677e23ac35da0a65bef78ae5cfdf34eb57c4059d4d7f31aa9ccdb8eff584014ec41170e2792a2f1d7fedcacbcc81a0dce59f70e1d493f32c1cef82af28ae1978c2093212ff3ab5a2104cb636af87e7cf54488d766256c40343631f013270a0583840000d879820200821a000aae601a10642ac0840001d87a80821a000186a01a01c9c38084030080821a000668a01a09896800a10081825820ae64e470a0bba2ae0400d81efb7848a8b545f392e658e685a39ed16b8c8a4bca584041e0479bfe78c8b997f9f1566792d08087efbd6cb01b3da6946590670ddcb5f76b8616a785408a47f5b342aa4c3739851e9ff751f3c7a89b98a6c1c0d32b270affab00a1078258206d3e29dcf1de88fb3d9326cb859df5bb583448378539e7123a8b82d64c6490cb58202a6cec3ad30fe8081363b0c2ed3cea9774d66663189172660c4b323fda2e6a0403a11902a2a1636d7367826f44657868756e74657220547261646570506172746e6572205645535052694f5308a107825820c4f965f2a37031c5d621ff69d8131d298f94adadd194a8c53ffb8ee178a07d305820256eb369a21181455b4278f1d0d7cd9ffae6adaab82bdaf9ed319537713c6e0d0aa107825820b696b7591e4565a6760d23354a233a8859717e58c1aa4daab1051d45803c41e9582024179d9f4b903fe20d24015cc8c8019ee479c247ab3731b1ae4dd8a0807a840a0ba11902a2a1636d7367816f44657868756e7465722054726164650ca11902a2a1636d7367816f44657868756e7465722054726164650da11902a2a1636d7367826f44657868756e74657220547261646570506172746e6572205645535052694f5314a11902a2a1636d736781764d696e737761703a204465706f736974204f7264657215a11902d1a178383566313439323839383263326465373432376263656335313363323935343733313164323839653732333230663163306431656165313630a17543617264616e6f436f6e737469747574696f6e5f32a76c434f4e535449545554494f4e9895782c20232043415244414e4f20424c4f434b434841494e2045434f53595354454d20434f4e535449545554494f4e732023232041525449434c45204956202d20564978372023232041525449434c452049562e205448452043415244414e4f20424c4f434b434841494e2045434f53595354454d204255444745546e202323232053656374696f6e2031783720416e79207061727469636970616e7420696e207468652043617264616e6f20436f6d6d756e697479206d61792070726f706f73652061783443617264616e6f20426c6f636b636861696e2065636f73797374656d2062756467657420617420616e792074696d652e20546865783543617264616e6f20436f6d6d756e69747920697320657870656374656420746f20706572696f646963616c6c792070726f706f7365782e6f6e65206f72206d6f7265206275646765747320666f7220746865206f6e676f696e67206f7065726174696f6e2c78316d61696e74656e616e636520616e642066757475726520646576656c6f706d656e74206f66207468652043617264616e6f7831426c6f636b636861696e2065636f73797374656d20616e6420666f7220636f766572696e67206f7468657220636f737473783172656c6174656420746f2074686520696d706c656d656e746174696f6e2c2061646d696e697374726174696f6e20616e6478356d61696e74656e616e6365206f662074686520646563656e7472616c697a65642c206f6e2d636861696e20676f7665726e616e6365783870726f6365737365732070726f766964656420666f7220696e207468697320436f6e737469747574696f6e2e205468652043617264616e6f7836436f6d6d756e697479206d61792070726f706f7365206f6e652061676772656761746520627564676574206f72206d756c7469706c6578326275646765747320666f72207468652043617264616e6f20426c6f636b636861696e2065636f73797374656d2e20537563687837627564676574732061726520657870656374656420746f20636f766572206e6f74206c657373207468616e206120706572696f64206f66783737332065706f6368732028617070726f78696d6174656c79206f6e652063616c656e64617220796561722920627574206e6f7468696e6778327368616c6c2070726576656e74207468652043617264616e6f20436f6d6d756e6974792066726f6d2070726f706f73696e6778366275646765747320666f722073686f72746572206f72206c6f6e6765722074696d6520706572696f64732e20416c6c206f776e65727378376f66206164612061726520657870656374656420746f20706572696f646963616c6c7920617070726f7665206f6e65206f72206d6f7265783843617264616e6f20426c6f636b636861696e2065636f73797374656d2062756467657473207468726f75676820616e206f6e2d636861696e783722496e666f2220616374696f6e2e2041732070726f766964656420696e2053656374696f6e2033206f6620746869732041727469636c65783749562c207769746864726177616c73206d6179206265206d6164652066726f6d207468652043617264616e6f20426c6f636b636861696e78367472656173757279206173206e65636573736172792066726f6d2074696d6520746f2074696d6520746f2067697665206566666563747835746f207468652043617264616e6f20426c6f636b636861696e2065636f73797374656d20627564676574206f722062756467657473782f7468656e20696e206566666563742e204578697374696e672062756467657473206d617920626520616d656e6465647836666f6c6c6f77696e67207468652073616d652070726f636573732061732070726f766964656420696e20746869732053656374696f6e62312e6e202323232053656374696f6e2032783820446576656c6f706d656e74206f662043617264616e6f20426c6f636b636861696e2065636f73797374656d206275646765747320616e6478387468652061646d696e697374726174696f6e206f6620737563682062756467657473207368616c6c207574696c697a652c20746f207468657833657874656e7420706f737369626c6520616e642062656e6566696369616c2c20736d61727420636f6e74726163747320616e64782a6f7468657220626c6f636b636861696e20626173656420746f6f6c7320746f20666163696c697461746578306465636973696f6e2d6d616b696e6720616e6420656e73757265207472616e73706172656e63792e2043617264616e6f782e426c6f636b636861696e2062756467657473207368616c6c207370656369667920612070726f6365737320666f7278386f766572736565696e6720757365206f662066756e64732066726f6d2043617264616e6f20426c6f636b636861696e207472656173757279782d7769746864726177616c7320696e636c7564696e672064657369676e6174696e67206f6e65206f72206d6f7265783061646d696e6973747261746f72732077686f207368616c6c20626520726573706f6e7369626c6520666f7220737563686a6f76657273696768742e6e202323232053656374696f6e20337836205769746864726177616c732066726f6d207468652043617264616e6f20426c6f636b636861696e20747265617375727920746861747836776f756c64206361757365207468652043617264616e6f20426c6f636b636861696e2074726561737572792062616c616e636520746f783676696f6c61746520746865207468656e206170706c696361626c65206e6574206368616e6765206c696d6974207368616c6c206e6f7478386265207065726d69747465642e204e6f207769746864726177616c732066726f6d207468652043617264616e6f20426c6f636b636861696e78387472656173757279207368616c6c206265207065726d697474656420756e6c6573732073756368207769746864726177616c73206861766578376265656e20617574686f72697a656420616e6420617265206265696e67206d616465207075727375616e7420746f2061206275646765747834666f72207468652043617264616e6f20426c6f636b636861696e2074686174206973207468656e20696e2065666665637420617378377265717569726564206279207468652043617264616e6f20426c6f636b636861696e2047756172647261696c7320417070656e6469782c7837616e6420776869636820686173206e6f74206265656e2064657465726d696e65642062792074686520436f6e737469747574696f6e616c7821436f6d6d697474656520746f20626520756e636f6e737469747574696f6e616c2e6e202323232053656374696f6e2034783620416e7920676f7665726e616e636520616374696f6e2072657175657374696e67206164612066726f6d207468652043617264616e6f7836426c6f636b636861696e207472656173757279207368616c6c207265717569726520616e20616c6c6f636174696f6e206f66206164617836617320612070617274206f6620737563682066756e64696e67207265717565737420746f20636f7665722074686520636f7374206f667835706572696f64696320696e646570656e64656e742061756469747320616e642074686520696d706c656d656e746174696f6e206f6678386f7665727369676874206d65747269637320617320746f2074686520757365206f662073756368206164612e20436f6e747261637475616c78366f626c69676174696f6e7320676f7665726e696e672074686520757365206f66206164612072656365697665642066726f6d20746865783143617264616e6f20426c6f636b636861696e207472656173757279207075727375616e7420746f20612043617264616e6f7831426c6f636b636861696e2065636f73797374656d20627564676574207368616c6c20696e636c7564652064697370757465767265736f6c7574696f6e2070726f766973696f6e732e6e202323232053656374696f6e2035783420416e79206164612072656365697665642066726f6d20612043617264616e6f20426c6f636b636861696e20747265617375727978367769746864726177616c2c20736f206c6f6e67206173207375636820616461206973206265696e672068656c64206469726563746c7978326f7220696e6469726563746c7920627920616e2061646d696e6973747261746f72207072696f7220746f2066757274686572783264697362757273656d656e742c206d757374206265206b65707420696e206f6e65206f72206d6f726520736570617261746578366163636f756e747320746861742063616e2062652061756469746564206279207468652043617264616e6f20436f6d6d756e6974792c7836616e642073756368206163636f756e7473207368616c6c206e6f742062652064656c65676174656420746f20616e2053504f2062757478376d7573742062652064656c65676174656420746f2074686520707265646566696e6564206175746f206162737461696e20766f74696e67676f7074696f6e2e78282023232041525449434c4520562e2044454c45474154454420524550524553454e544154495645536e202323232053656374696f6e2031783620496e206f7264657220746f20706172746963697061746520696e20676f7665726e616e636520616374696f6e732c206f776e65727378366f6620616461206d617920726567697374657220617320445265707320616e64206469726563746c7920766f7465206f6e20737563687836676f7665726e616e636520616374696f6e73206f72206d61792064656c656761746520746865697220766f74696e67207269676874737831746f206f7468657220726567697374657265642044526570732077686f207368616c6c20766f7465206f6e20746865697267626568616c662e6e202323232053656374696f6e2032783820416e79206f776e6572206f6620616461207368616c6c206861766520746865206f7074696f6e20746f20726567697374657220617320617836445265702e204f776e657273206f6620616461207368616c6c20626520616c6c6f77656420746f2064656c65676174652074686569727837766f74696e67207374616b6520746f206f6e65206f72206d6f726520726567697374657265642044526570732c20696e636c7564696e6778337468656d73656c7665732e204452657073206d617920626520696e646976696475616c73206f7220636f6f7264696e61746564783767726f7570732e204f776e657273206f66206164612077686f207573652074686972642d706172747920637573746f6469616e73206f7278386f746865722064657369676e65657320746f20686f6c64207468656972206164612c206d617920617574686f72697a652c206f72206d6179783177697468686f6c6420617574686f72697a6174696f6e20666f722c20737563682074686972642d7061727469657320746f782e64656c65676174652074686520766f74696e6720726967687473206f662074686520616461206f776e657220746f783172656769737465726564204452657073206f6e20746865206f776e6572277320626568616c662e204452657073206172657837656e7469746c656420746f206361737420766f746573206469726563746c7920666f72206f6e2d636861696e20676f7665726e616e63657837616374696f6e7320616e6420726570726573656e742074686f736520616461206f776e6572732064656c65676174696e672074686569727835766f74696e672072696768747320746f207468656d2e204452657020766f74696e67207468726573686f6c647320617265207365747834666f72746820696e207468652043617264616e6f20426c6f636b636861696e2047756172647261696c7320417070656e6469782e7835205468697320766f74696e672073797374656d207368616c6c20656e736872696e652061206c69717569642064656d6f637261637978356d6f64656c207768657265206f776e657273206f66206164612063616e207365616d6c6573736c792073656c65637420616d6f6e67783744526570732c207265676973746572206173206120445265702c20616e64207769746864726177206f72206368616e67652074686569727764656c65676174696f6e20617420616e792074696d652e6e202323232053656374696f6e203378362044526570732077686f2061726520726570726573656e74696e672064656c656761746f72732061726520657870656374656420746f7838706572696f646963616c6c792061646f70742c20616e64207570646174652061732074686579206465656d20617070726f7072696174652c7838636f646573206f6620636f6e6475637420676f7665726e696e67207468656972206163746976697469657320617320445265707320616e6478386d616b65207375636820636f646573206f6620636f6e64756374207075626c69636c7920617661696c61626c652e204452657073206172657837656e636f75726167656420746f20696e636c756465206574686963616c2067756964656c696e657320696e20746865697220636f6465736b6f6620636f6e647563742e6e202323232053656374696f6e20347831205468652043617264616e6f20436f6d6d756e69747920697320657870656374656420746f20737570706f72742074686578336372656174696f6e2c206d61696e74656e616e636520616e64206f6e676f696e672061646d696e697374726174696f6e206f667835746f6f6c7320746f20656e61626c65206f776e657273206f662061646120746f206578706c6f726520616e64206576616c756174657832445265702063616e646964617465732c2061636365737320616e64206576616c75617465204452657020636f646573206f667836636f6e6475637420616e642073656c656374204452657073206f6e20737563682063726974657269612061732074686579206465656d6972656c6576616e742e6e202323232053656374696f6e2035782d2044526570732077686f2061726520726570726573656e74696e672064656c656761746f7273206d61792062657836636f6d70656e736174656420666f72207468656972206566666f7274732e204452657073207368616c6c20656e7375726520746861747832616e7920636f6d70656e736174696f6e20726563656976656420696e20636f6e6e656374696f6e20776974682074686569727822616374697669746965732061732061204452657020697320646973636c6f7365642e6e202323232053656374696f6e20367837204452657073207368616c6c206e6f742070617920636f6d70656e736174696f6e20746f20616e20616461206f776e6572206f7220746f7835616e206f776e657227732064657369676e656520696e2065786368616e676520666f72206265696e67206170706f696e7465642061783744526570206279207375636820616461206f776e6572206f72206279206974732064657369676e6565206f7220666f7220766f74696e67782c6f6e20626568616c66206f66207375636820616461206f776e6572206f72206974732064657369676e65652e78242023232041525449434c452056492e205354414b4520504f4f4c204f50455241544f52536e202323232053656374696f6e203178362053504f73207368616c6c2068617665206120737065636966696320726f6c6520696e20617070726f76696e6720637269746963616c78336f6e2d636861696e20676f7665726e616e636520616374696f6e7320746861742072657175697265206164646974696f6e616c78316f766572736967687420616e6420696e646570656e64656e63652c20766f74696e672073657061726174656c7920616e647834696e646570656e64656e746c792066726f6d2044526570732061732073657420666f72746820696e207468652043617264616e6f7836426c6f636b636861696e2047756172647261696c7320417070656e6469782e2053504f73207368616c6c2070617274696369706174657835696e206861726420666f726b20696e6974696174696f6e2070726f63657373657320617320746865206f70657261746f7273206f667832746865206e6f646573207468617420706172746963697061746520696e2043617264616e6f20426c6f636b636861696e277374636f6e73656e737573206d656368616e69736d2e6e202323232053656374696f6e2032782e2053504f73207368616c6c20616374206173206120636865636b206f6e2074686520706f776572206f66207468657838436f6e737469747574696f6e616c20436f6d6d697474656520756e64657220657863657074696f6e616c2063697263756d7374616e636573783562792073657061726174656c7920766f74696e67206f6e20224d6f74696f6e206f66206e6f20636f6e666964656e63652220616e6478332255706461746520636f6d6d69747465652f7468726573686f6c6420616e642f6f72207465726d2220676f7665726e616e63657835616374696f6e732c20616e64206f6e2022506172616d65746572205570646174652220676f7665726e616e636520616374696f6e73783874686174206166666563742073656375726974792d637269746963616c20706172616d65746572732073657420666f72746820756e6465727834506172616d657465727320746861742061726520437269746963616c20746f20746865204f7065726174696f6e206f66207468657833426c6f636b636861696e20696e2053656374696f6e20322e31206f66207468652043617264616e6f20426c6f636b636861696e7447756172647261696c7320417070656e6469782e6e202323232053656374696f6e203378362053504f732061726520656e636f75726167656420746f20706572696f646963616c6c792061646f70742c20616e6420757064617465783461732074686579206465656d20617070726f7072696174652c20636f646573206f6620636f6e6475637420676f7665726e696e677837746865697220616374697669746965732061732053504f7320616e64206d616b65207375636820636f646573206f6620636f6e6475637478327075626c69636c7920617661696c61626c652e2053504f732061726520656e636f75726167656420746f20696e636c756465782d6574686963616c2067756964656c696e657320696e20746865697220636f646573206f6620636f6e647563742e6e202323232053656374696f6e20347834204f776e657273206f66206164612077686f2061726520626f74682053504f7320616e6420616374696e6720617320445265707378367368616c6c207075626c69636c7920646973636c6f736520746861742074686579206172652070617274696369706174696e6720696e78336f6e2d636861696e20676f7665726e616e636520616374696f6e7320696e20626f74682073756368206361706163697469657378337072696f7220746f2065786572636973696e6720616e79206f6e2d636861696e20676f7665726e616e6365207269676874732e654775696465a3644261636b82783268747470733a2f2f706f6f6c2e706d2f6173736574316c77393332796c6b7a326879676c7030327030376a7863686e6c796e6a6c79346c7365716a6a6664486f6d6582783268747470733a2f2f706f6f6c2e706d2f6173736574316c77393332796c6b7a326879676c7030327030376a7863686e6c796e6a6c79346c7365716a6a66644e65787482783268747470733a2f2f706f6f6c2e706d2f6173736574316d6774343766377565396b377a7967666b727a6b7a7037677439706d6a6c747a3230387a75306164506167656632206f6620386566696c657381a3696d65646961547970656f6170706c69636174696f6e2f706466646e616d65782d43415244414e4f20424c4f434b434841494e2045434f53595354454d20434f4e535449545554494f4e2e706466637372637835697066733a2f2f516d65365966386a686e544a5561547a35506378314a5831394e6254784d3532787344725878344538585566725865696d6167657835697066733a2f2f516d504e52565277633969326154776351553158337932654c4b425671796351467a53446d71667154415a577852696d65646961547970656a696d6167652f6a706567646e616d656643424543203216a11902a2a1636d7367826f44657868756e74657220547261646570506172746e6572205645535052694f531818a11902a2a1636d736781754d696e737761703a204d61726b6574204f7264657280")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs index 61330d47..175bdd86 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs @@ -47,8 +47,7 @@ public T Deserialize(byte[] data) where T : CborBase if (!found) { - reader.SkipValue(); - continue; + throw new InvalidOperationException("Key not found in property map"); } // Deserialize the value From f2aaf04552ab50fb953d24984eb44a585ac71710 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 17 Dec 2024 17:07:18 -0500 Subject: [PATCH 079/162] chore: bump version to `0.5.12` (#94) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index f47d7c43..d1283644 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.11 + 0.5.12 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From bc289ec0ab76fb11418cf73d69bf617f54be839e Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 17 Dec 2024 17:50:26 -0500 Subject: [PATCH 080/162] fix: incorrect voting shape (#96) --- src/Chrysalis.Test/CborTests.cs | 2 +- .../Types/Block/Transaction/Governance/VotingProcedures.cs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 0ebe7466..90451946 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -70,7 +70,7 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("85828a1a00aab2e21a087621215820f50a9acdd1beefd588e3da8a80b0f662766a58d1518ba6ae7a0fb324bacd890e5820b55ba2f870f345c956b2a592113a9c7fc1e78754cd4a615d06b4e833316ce87d58202de7684e8e2a7034b051f77906d9d609d85c14338173f8c476c0e960b0b7f1cb8258404bd88c11f7ec6653a7ae6ac73185296bf447637e913b87218e7bc3f6d6c8de46bd643ac2a3e7a286d9340848376722e27e101569fb7cb06251abfd8adfc7b97d5850cf026348264c6cb9d7d656a194aebaff15766b50a90f83e8a37e9d7601c3a3b3aca06610106299bb360a38c8ec0b5e3d761ad2c78d0d15ccc0f8cac7a1bb928a137428367a2919cdd24fa2c33867410519704e5820788b1fcbe79e1da0f52c3c9e1beca53b6221d42516e106c5736f172ba48669188458200d056419ad2c3576b860facd02b2332c5490aa4309f123c985b04763908fc6af0f190422584074a510c46c942eaf5668b2e8dfec8270e676a1a2a713467c8390c1849af282f4a38dbaecdd1289576744afe82ea48d8f0d067736e6f1f7702e3af6f296658301820a015901c0b8d900eba4317d611c24c339d023384b089d21f01ea76d7d557b635c770cf9fdf2b0ec98fb9abbb456205f88ab5c6131c2682c44da711d469602451bbb37f707776ef75db4f1334d1462a84c81c6ec956ea663c05d13e4ce861b5914bfdf4dad20de78c62a985b315c62ec761863ff26a94ae19523a1e8554698cb49fe48a280df111f5370c9f2cb7b7b5ca92dc1e81c83a4200ccf5cd0645c562eb9e7fb6cfaee1d73ac3055d7e62cc9463760609cf893b020ffbc0e0e36ad0e75270885ae7ae3d988ecc2049e0719aae209feae469dd5807196c59e0166032a4aea9e22c409f229ddfb83828b3330a48b42c816f90e76c249f0e6d77dd803c6bfbf0313c8841e4f276d56e0320dd9945fe60b8f541c8d774f8fdf9a947df02a83427a36e6cabc094c5012239bbead2d74486d6fb478a66e32499046009b3d29bc53a85ee1aa25a5ba1ad9202469ff39ead17d283132178e9905bb9444c75c346591166d972297ad6a6be76854e850363376a750c6bd1e552f3184ec8a438e550128eed52c97f847445ea952db8f4f9e3a86808478135db702c90b62de348301213b8b54e66478e8f5d4ee072b81fe03dc40d2a348f6868a5372eab45b96c112db25d05bde289fa4008482582004572eff23d96bc0bcd6a640e932a6a6486ae9c4d48972e7a0ecee19e74a87a3018258202328a397d9a255bc59bd5dab59894f0cee412936c3c540fa5b6a431357b21c6a01825820791d2dd2a7b22b63b9de71cb1a1df5b0b99deddc59c521a126175c29e5dee3b6018258207a0b774eaafc03ea9c12cb33950d04ba160447fe929e518d2dd6fb758fc163d8000182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff0240d33bb580ff0b5506d5fb4a1d5777fe3b35a8da84531d1a2965c3a6011a01a52480028201d81858fed8798c4100581c7fb11a61ed2d3fc381ca822c436f26166c1d3a6d08a273a8c6573aa7d8798240401a017d78401a000927c01a003b3eb2d87982581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536a4b5341442054484520434154d879821a0941cbd81a3b9aca001a0007a120d87982d87981581cdb4bf816534800d476f033055a059a9b5888480ec78a889034e48d6fd87981d87981d87981581c40d33bb580ff0b5506d5fb4a1d5777fe3b35a8da84531d1a2965c3a6581cdb4bf816534800d476f033055a059a9b5888480ec78a889034e48d6f81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e477682583901db4bf816534800d476f033055a059a9b5888480ec78a889034e48d6f40d33bb580ff0b5506d5fb4a1d5777fe3b35a8da84531d1a2965c3a61a002b02ab021a0002e2450758206c0a3f0513ffd26daf60532157166f8260c7995a9dcd94f953a06cda871c3b48a40081825820f17087a27af1c9e78672fea5faae81aefb578c33290e7a8854beeb468abeebe7000182a20058390128a73cad037ef458982df2fe23045a45eca90f193d08eebc2bf9d471fa860d06dc1a1bd8ec2497fc43609460611cedee27f6eb51c0db0df3011a05f5e100a200583901ba1a2c2fa1752433d89af4ae3842bbf5e43a130d300931ceb3c9fcee922cd7ca8f9b3cd230c134a2de8e1aa700ab616acebfc6c14c88e265011acac061ed021a0002917d031a08763d46a5008282582028fa2961297e23ecf1590f21fa910d5fab1b016569016e1e8f146cf9d9067ec903825820a089658b3151acf805d392a740f6c3e27821499b39cd89a3c15e734a57d8dce8010183825839016a9749921503bb6eea66f90f077fefd511e7356199e662ec6496812b3c189510c2d6255e1e36d017a437dd2293e36b92302dae49b09abba4821a0011b0dea1581cefd7bd84c73fa01400d3c892365ce90b203981aab678bcffb6f3406aa14934383638333439353001825839012bf19e5ce4f0086dad389475d508a89c11155297aa2eb2333479e0c405a99b558e9fe43f302e55289fff4495804bfad6a9a4ac212090c6d21a007c7cfb825839012bf19e5ce4f0086dad389475d508a89c11155297aa2eb2333479e0c405a99b558e9fe43f302e55289fff4495804bfad6a9a4ac212090c6d2821a00430472a6581ca51962deea60aec8b1fd7161e21d61312fbd296ef9f731991335b3f5a34b57696c6463617431363637014b57696c6463617431373531014b57696c646361743239393501581cb76de2ba611586d06efdbdfb58a31954f2b61dbcfa87e4335feb5e28a14f436f756e747279204361742023333301581cc981fc98e761e3bb44ae35e7d97ae6227f684bcb6f50a636753da48ea14454554e411b00000009ec5d9e59581ce0302560ced2fdcbfcb2602697df970cd0d6a38f94b32703f51c312ba158200014df10b5b0e939dfbde2dd07353306744debe4b8a24055a8754c1b454b42741a00709388581ce5a42a1a1d3d1da71b0449663c32798725888d2eb0843c4dabeca05aa151576f726c644d6f62696c65546f6b656e581a97fde980581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa14879756b6b692e616a01021a0002e379031a08764b230800a70082825820ef89b0d83ae47e0423a22e210b1e72def818ac2bcd2858724653aabbe70bce8400825820e9bdaae18a19be212e9c2e171ea52977074ed62db944f2d41a68cfb86229c16e030184a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020011a121eac00028201d818590102d8799f4100581c6a94f7faaa0e26f5c570012be791ae03c766e862dbaf593a7c98e465d8799f4040ff1a11e1a3001a000f42401a0010d76dd8799f581c97015a16f6804121257f5f8bcec952a6da01837f7ec79602120a8fce4546555a5a59ffd8799f1a0010d76d1a11e1a300ff1a000f4240d8799fd8799f581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666ffd8799fd8799fd8799f581ce16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020ffffffff581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d66669f581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b2ffff82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a0016e36082583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb820201a001e848082583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020821a28fc375ea1581caf41d01d97a51b2ee1c82fc1b55e1ce789f1e046487d32cebb976181a1484241425920424f4f1a011067c6021a00044245031a08762f09075820360dded0dc97b71db4f18c3db30dc925293047f9370d96fbc2c8cf5335af4955081a087620f90e82581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666581ce16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020a800828258205a768ceb38c11dabd6ae59a480d3d10188e5f5dd240089d80dfefc66b056be5900825820840e99e95cef688b05f8ef3d48f1ea1b0187b0b699672106f32670ff91febf7c000183a200583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb8202001821a001e8480a1581c97015a16f6804121257f5f8bcec952a6da01837f7ec79602120a8fcea14546555a5a591a0012b144a3005839319dee0659686c3ab807895c929e3284c11222affd710b09be690f924db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821b0000000640d11941a3581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec200a158207dba2663fd2a8936d4bb0dfa5a5fd3f56a12f5780e6f8074625043d95fac28c61b7fffffff9bfa68f4581c97015a16f6804121257f5f8bcec952a6da01837f7ec79602120a8fcea14546555a5a591a068a5597581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add06a1582018ef52503e54ccd398f149732b0a24e004741881f38e14af9de4f75d456cc83d01028201d818590112d8799fd8799f581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add06582018ef52503e54ccd398f149732b0a24e004741881f38e14af9de4f75d456cc83dffd8799f4040ffd8799f581c97015a16f6804121257f5f8bcec952a6da01837f7ec79602120a8fce4546555a5a59ffd8799f581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec20058207dba2663fd2a8936d4bb0dfa5a5fd3f56a12f5780e6f8074625043d95fac28c6ff1a0001831c18641a0294a6411a000597bb9fd8799fd87a9f581ce5619f78d716cc24ea924e4412d83353ae390edd9905ecc6d5c85c2bffffff00581c75c4570eb625ae881b32a34c52b159f6f3f3f2c7aaabf5bac4688133ff825839015cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b2213c52886a517be9954d80ec7ba19ca783a03eb501694b9281dfcad81a00165d10021a0008277005a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b58205328ca618708a88ed01ee7c84b2b658a2f19fb71839355ab99d510d2b8902d560d81825820b57a5ffd5d7f61e9bb6c2f9c5e0359779575a81b2dd9706253cac8562b43563c000e81581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b21283825820482719d050a96b91206f78c6c2b834e844ea576557387e09e7b1c8afa4d433ac00825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a90083825820730627ad8c8cd597685160b5d4c2df83c78dc0342d17737b2e340685be957959008258208b479e34dbd6370357c66469a3830269eb8e30a6e9cd65d5f050cfd3372c08ee01825820faace326ac02076a73aa7da8778345b0739fb6a79444a0c6aecbbe93b4f9062c010183a30058391173275b9e267fd927bfc14cf653d904d1538ad8869260ab638bf73f5cd7244b4a8777b7dc6909f4640cf02ea4757a557a99fb483b05f87dfe01821a004c4b40a1581ce0302560ced2fdcbfcb2602697df970cd0d6a38f94b32703f51c312ba358200014df100942fcc29a051e6c2ae052264257001f8cf91e55251f4de6118f4e351b00000003cde40eaa58200014df1027f51c29cde11887b667d9632533677a82baa305a6ea43993b68909e1a276bc26d58200014df102f36866691fa75a9aab66dec99f7cc2d297ca09e34d9ce68cde047731b0000000487159183028201d8185853d8799fd8799f581c7b32c645d3f344dc90df975f62492e02e964214c0b0502eb353e7b92ff9fd87a9f4653554e444145581c0942fcc29a051e6c2ae052264257001f8cf91e55251f4de6118f4e351864ffffff82583901e05979c7922a556392d6db0c2749d7fcd34934e8daf0dfdeed3070a97b32c645d3f344dc90df975f62492e02e964214c0b0502eb353e7b92821a0011a008a1581c533bb94a8850ee3ccbe483106489399112b74c905342cb1792a797a0a144494e44591a0007e17382583901e05979c7922a556392d6db0c2749d7fcd34934e8daf0dfdeed3070a97b32c645d3f344dc90df975f62492e02e964214c0b0502eb353e7b921a01c66102021a0007a1200b58208f0ed852d1e7226ad4238a7f7464a5a22d605b99994b10dd3c520e73296640a10d81825820d47365d63923bebddab536bf4521b2857558d7d97b0ad54d0afc305f3f72e592030e82581ce05979c7922a556392d6db0c2749d7fcd34934e8daf0dfdeed3070a9581c7b32c645d3f344dc90df975f62492e02e964214c0b0502eb353e7b921082583901e05979c7922a556392d6db0c2749d7fcd34934e8daf0dfdeed3070a97b32c645d3f344dc90df975f62492e02e964214c0b0502eb353e7b921a00a0397d111a000b71b012818258205af2bc2b1c983f65122d8737755d1de6e88c4d24797fdfac2c01e5156c15256f00a40081825820d3c9954c44cc27bd228279441df658a5f74a9285d5f8907a3f56665f5bbe88970101828258390195551531ac72f8e128bf465c77a146e8577dd95f5bd858aa8c6a77ee95551531ac72f8e128bf465c77a146e8577dd95f5bd858aa8c6a77ee1a025ab8e082582b82d818582183581c05b073f36ee030589a31148838cd47e8d8c8f82fec9fe091c7d53cd8a0001a0c5f26b11b0000001a838ffbaa021a00036ce1031a087628c0a40081825820a176972da5eeb618329056c3907c2c06cb6431853efa52fa729a7669e7f1791a030182825839019f68bf8ef8c14ee25d66688b3c364cd1afaf3e283907fdb25c0751bda2515ac6d5e264054c965e3426232ee8d2a950a5ee7f92024ac2fcfe1a000f4240825839019f68bf8ef8c14ee25d66688b3c364cd1afaf3e283907fdb25c0751bda2515ac6d5e264054c965e3426232ee8d2a950a5ee7f92024ac2fcfe1a168cb845021a0002917d031a08763d22a40082825820180647f4429ae3064b83c0d030ea36eac64e85f498566ea75d5c3a89b065746f02825820d2f7cc081612731a412b733fda852116e84e0fc11a6fc2579b4e7354fd5644bd010182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff027773e8ecdb542929a56262d5ef7bf9e7e617f89f60ea1f30e9e5cc20011a03229cc0028201d818590102d8798c4100581c4b83233942e4ea43edf01fd9a19848907591804499633f29b9237894d8798240401a02faf0801a000927c01a00011347d87982581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536a4b5341442054484520434154d879821a00d70fe21b00000002540be4001a0007a120d87982d87981581ca6e78a9186803077cd9c5007242ebd88e716005158352c8cf7e2165dd87981d87981d87981581c7773e8ecdb542929a56262d5ef7bf9e7e617f89f60ea1f30e9e5cc20581ca6e78a9186803077cd9c5007242ebd88e716005158352c8cf7e2165d81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e477682583901a6e78a9186803077cd9c5007242ebd88e716005158352c8cf7e2165d7773e8ecdb542929a56262d5ef7bf9e7e617f89f60ea1f30e9e5cc201a028bc5be021a0002d6c1075820a93312bff327bf6018b3b792317577c44fb22a77b6c0aa28ac9613b858d0aeefab00818258204ecdf1b151042238284b9a44a002aea24460a897c4999da406b1fc1f6ecd7750010183a300583931fba91f46fc289ad8abe08d07488d8bb5a2c15c41d6903ce70b0ded94419971dfb46a7fa611ddf545ee84dabd741454c4837669de8322d71801821a003567e0a1581c77019d836d9a5f1e1225ad0ea8262f99c14c89ae74a750bce29cee93a1581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a01028201d81859018bd8799f1a08f0d180d8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd8799f1a240c84001a005b8d809f581c73056bffdf28f82da5db1f5ac7c06d030c8a551f43889f7f85746a4a01ffd8799fd8799fd87a9f581cd064690601080228f9cbd54ca70a1590e9498c913b9fc7cbd845e888ffd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd87b9fd8799fd8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffffffffd8799fd8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd87980ffffffa300583931fba91f46fc289ad8abe08d07488d8bb5a2c15c41d6903ce70b0ded94419971dfb46a7fa611ddf545ee84dabd741454c4837669de8322d71801821a003567e0a1581c77019d836d9a5f1e1225ad0ea8262f99c14c89ae74a750bce29cee93a1581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a01028201d81859018bd8799f1a08f0d180d8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd8799f1a240c84001a005b8d809f581c73056bffdf28f82da5db1f5ac7c06d030c8a551f43889f7f85746a4a01ffd8799fd8799fd87a9f581cd064690601080228f9cbd54ca70a1590e9498c913b9fc7cbd845e888ffd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd87b9fd8799fd8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffffffffd8799fd8799fd8799f581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135affd8799fd8799fd8799f581c6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac539ffffffffd87980ffffff82583901e581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac5391a16536b47021a0004784d031a0876249509a1581c77019d836d9a5f1e1225ad0ea8262f99c14c89ae74a750bce29cee93a1581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a020b5820eb1405df2457e5a149604cf575e2ae5eeb5f8c5a619b9c35c6c56baefd1c478f0d818258200f1ba3be2bc6dfff5cd5c62089ade52b4739dfcfca5e96356bb8c2c5ca705fc5010e81581ce581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a1082583901e581bd41dcf4423b7aefc48fb744ce978ff2e6ca064f8876cd1f135a6b46ab57a1600e6b78169f4d6ebc7c3dc839354c4373cb5e30bac5391a004997d5111a0006b4741282825820132908513ff3d5a8f31919c291c38b4bd3dbe75428cf6f958ceddc7dd5dbe86d0082582026e330110f954a2618714658c844198df88e4fb70bf5c0d69b34fa3f71097e2400a400828258201f4028489ddee7ae46c74ceae2170880308a2fde516da77711359cedd514e6fa02825820243446e483a25b8cd3a3fed791923bf373a1fd6d891c01035023ec215f024a86010182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02fd71b9f951bb672ee87b3f8ea8e7a82177c21941cf979a914bd113e501821a0027ac40a1581cedf7b9fa84080c5cbef475af9d75f0e23b4b60dc05c4066b8f3a6087a14841737320636f696e1a009c9255028201d818590103d8798c4100581c7572b807d3a1c7dda8bd06a109ff2486343cacd597bb603f0ac42c32d87982581cedf7b9fa84080c5cbef475af9d75f0e23b4b60dc05c4066b8f3a60874841737320636f696e1a009c92551a000927c01a006ca366d879824040d879821b0018a6973de1e9121b002386f26fc100001a0007a120d87982d87981581cc0c6c8108f6115a3e124f04b63898d621cf4494af1a50149c0a9dc42d87981d87981d87981581cfd71b9f951bb672ee87b3f8ea8e7a82177c21941cf979a914bd113e5581cc0c6c8108f6115a3e124f04b63898d621cf4494af1a50149c0a9dc4281581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e477682583901c0c6c8108f6115a3e124f04b63898d621cf4494af1a50149c0a9dc42fd71b9f951bb672ee87b3f8ea8e7a82177c21941cf979a914bd113e51a0830dbd4021a0002df01075820f5c744c627a6196df249f8b45cda197181cea7dc1ae78fb5d0f580a92b1852e0a70082825820e57f0070ae38d1fcf4c53324d3c28dd890d1ec0cc639b93baa437e6207967278008258209e1da20e09aa4398da6deda004d769d1d9ac5c3d16b235b204e4f25ac66bc8c0040184a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a801821a003d0900a1581c160a880d9fc45380737cb7e57ff859763230aab28b3ef6a84007bfcca1444d4952411a000df282028201d818590130d8799fd8799f581cb4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952ffd8799fd8799f581cb4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952ffd8799fd8799fd8799f581c063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a8ffffffffd87980d8799fd8799f581cb4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952ffd8799fd8799fd8799f581c063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a8ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c58200072df07a7bf60c5ed8a3550d8752ca4518fb04c3dff9ad8d0e05f1276927b43ffd8799fd87980d8799f1a000df282ff1a037eb5c6d87980ff1a001e8480d87a80ff8258390136563867946806cbe005d68261cd69fe942e9c0745a3f8cb67be38b1632a5b07f7a5c0ff2b1a5f23ad10db1923e2881d42f7f5eb8a77ebea1a00102cc482583901b4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a81a001e848082583901b4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a81a130ea016021a00044add031a08762f09075820bfd6dd1e96e4fd26c6379aa3093aaef25639d58ee76d045bd4528ef9f2fed808081a087620f90e82581cb4faaf5ac7680837ec03d4ca3fd077998f315f928959dca0a364c952581c063cc079a0043de9ef373f137ff098b5d3085c0af7a934a42b9c00a8a70081825820e32e9b79410e3a79f1c02b0166cf97688f9b2c148002a00f8516712f04fff292020184a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ff011a21adae2e028201d81859012ed8799fd8799f581ce9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47cffd8799fd8799f581ce9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47cffd8799fd8799fd8799f581cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ffffffffffd87980d8799fd8799f581ce9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47cffd8799fd8799fd8799f581cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ffffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c5820bc496a205e821ce1c924ecde9abecb84d9b4f5be5ba7324b67835a8e82b33f9bffd8799fd87a80d8799f1a2170a52eff19d3cbd87980ff1a001e8480d87a80ff8258390136563867946806cbe005d68261cd69fe942e9c0745a3f8cb67be38b1632a5b07f7a5c0ff2b1a5f23ad10db1923e2881d42f7f5eb8a77ebea1a0017d1c682583901e9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ff1a001e848082583901e9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ff1a40f7a71e021a00042f05031a08762f09075820bfd6dd1e96e4fd26c6379aa3093aaef25639d58ee76d045bd4528ef9f2fed808081a087620f90e82581ce9a40ddf87b256fb83249091f274bf94b94f0abadc1004e5ac90c47c581cdfd0bf83ed6327fceff26eeed8b6fb600510249c2c6dc0d873f5e0ffa8008382582044a5b8f86d92569bf42603aa8e4ec728c11ee290a2917c9fb669346dcb1b512e03825820dfabf1180830d32e6f3a667e0aae61f63c06c7fb6d9112dcef25b1d78323bba70182582044a5b8f86d92569bf42603aa8e4ec728c11ee290a2917c9fb669346dcb1b512e02018483583911a65ca58a4e9c755fa830173d2a5caed458ac0c73f97db7faae2e7e3b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821a003d0900a1581c7507734918533b3b896241b4704f3d4ce805256b01da6fcede430436a14842616279534e454b1a0011129e58207254f681dfc18f32aa90865a57feca96f161542975fba0dd8e78d07b56e297bb82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a000f424082583901c2e06cae1ba95eb818bf5e30bc8abde5c2dc83c1d685fd88be93616d93bc191f37097a14c6eb463b5d0aa524bec27108076b30b0d649baed1a001e848082583901c2e06cae1ba95eb818bf5e30bc8abde5c2dc83c1d685fd88be93616d93bc191f37097a14c6eb463b5d0aa524bec27108076b30b0d649baed821a003a8118a6581c279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3fa144534e454b193635581c7507734918533b3b896241b4704f3d4ce805256b01da6fcede430436a14842616279534e454b1a0002c780581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a09ec8ec8581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7ca1444e696b65190e85581ccb3fe77a97de3a81953054dcc7603766c6c5e4e5c1c62b65fe8e92b7a145414e494b451a000249f0581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61a1444652454e1a0011a2d2021a0004a335031a08762f09075820360dded0dc97b71db4f18c3db30dc925293047f9370d96fbc2c8cf5335af4955081a087620f90b5820014db46f59564aa0035146c863a0bd2147a4a0a26fbffa32e6591de4515f58210e82581cc2e06cae1ba95eb818bf5e30bc8abde5c2dc83c1d685fd88be93616d581c93bc191f37097a14c6eb463b5d0aa524bec27108076b30b0d649baeda400818258205d23c792cc316af08b393a7bc78e6ba985820708ce304d15719e1362e1cc7d8b000182a200581d61bbd59584b96f590f963068beefe17e8e60400fbcaba73e66b68ee3a8011a00989680a2005839018f4d208adaff27fe9e1260e3f45e8a52666120f48b754a4ef17470979dc1f1aa43016f2e895cc0b7ee2022a625e03ff01eb484965098e8c6011a17a00fa8021a00028cad031a08763d25a50081825820b28f5deed26bbadc6dda63388946bf1f86a0cf1469e13c4e13269c4d0f92427100018182583901f3af384b102c236a248044832cf454fc171e6852a92ded74b343f5a0082d27c2d151124e9e0ee419d87b109113ecbcf6a0e83c452ad29ad01b0000009e648a4842021a00029ee5031a08763d3105a1581de1082d27c2d151124e9e0ee419d87b109113ecbcf6a0e83c452ad29ad01a5040e06da500818258204a76c0464f4de89b325455654823f11cf8f8278b61e2a6be5c48becfa5eda332010182825839017f601ca4ba0d139a6da79791df7d441bb773de0a325b9fd6b26daac6e310d5e43e36ff0fa572060407cf16ad7c502b58f33e97d8d667a09f1a05f5e1008258390133a749775735eaf2ec1b093854d82360699a77ebef1b64fe42b096bfde0e3fc6d1384d6dfe11bca7ac423ca886d52002db4c8976b2195e31821b00000006bbb4960ea1581c23c9b05ee16199b4955f7c491c887b9bd53d77a4af65105c54fe13eba15453756e6461655265776172645469636b6574323401021a000311b5031a08763d1005a5581de13a39a6b40bf89564c15d2f42fe89d684494d9bd785e23614a425b5901a00ca81b5581de14e5df99617d37e0738caa39c64fb09fbc41b9477f6d6697d9f91afda1a00da3152581de1521fef8adcd13f5ae5d2344c131b33967b2d2cef2b58f7850c5858c31a00c33aa0581de17b35bf40ce88105b9fbc2c6f1748d09596e992bb7c4e6ebaeb92d6b51a3642ed67581de1de0e3fc6d1384d6dfe11bca7ac423ca886d52002db4c8976b2195e311a00b69e35a8008282582013f33b4960878788671593bd9cc4438e7c8245ba76fd4d161f467df4812bcae0008258208ea27d8966360de9820a4c98bdb54caa748ea23086ce60634cf49c790e1d444f000183a200583901a6e78a9186803077cd9c5007242ebd88e716005158352c8cf7e2165d7773e8ecdb542929a56262d5ef7bf9e7e617f89f60ea1f30e9e5cc2001821a0016e360a1581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536aa14b53414420544845204341541a006b87f1a300583931905ab869961b094f1b8197278cfe15b45cbe49fa8f32c6b014f85a2db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821a366c54afa2581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536aa14b53414420544845204341541a2add02fa581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b8a15820e216425600a641a314c19a32fff56f751f5bff81740f2232693d607379f3bee401028201d81858e9d87989d87982581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b85820e216425600a641a314c19a32fff56f751f5bff81740f2232693d607379f3bee4d879824040d87982581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536a4b53414420544845204341541b0000001166b125ce1a001373c2581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761b000000028f200558581c8807fbe6e36b1c35ad6f36f0993e2fc67ab6f2db06041cfa3a53c04a581c554daf3e27e50c8c779713be6ba70f95c35f23f0552a28e5a7a340148258390122aea2da15e494e01767145d48bda16b6d437f1c449823a044193daf299a82ef56311aa10adf04c0072d4870eb9f4d5ff315132434841b741a00129867021a0005d19905a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b58203a98f88216e5025db28f06e90c56b3def9f35e3ac2beef37aef7f09ace7a60c00d8182582006f24741c2cbc3f59096046de95fcd5d90a77e5378d95fd60f2ec261aa5c7981000e81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761283825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820c4a540ac2e06c217dd4fb3f39ca3863da394ba134677dafa9b98830ca71d584d03825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a8008382582013837bb0164d787d1d8dc6e4fde36ecb9966135a9eff89d33f8738a9da8067cd0182582041f1141447378ff4b21fb10ece15e69ddbad765fc66c23f8f20f290f2c85a00c01825820faa310c5b932136aa2f3909e8224678fcd3a42c92db07b6cafd5b94b2fb444e5000183a300583931905ab869961b094f1b8197278cfe15b45cbe49fa8f32c6b014f85a2db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821a02fb2f99a2581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b8a158202f283805937b33534b2eba77d0232fb4edcd8382b392f462c1aa1f4e81e5964201581cedf7b9fa84080c5cbef475af9d75f0e23b4b60dc05c4066b8f3a6087a14841737320636f696e1a3975e9d5028201d81858e6d87989d87982581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b858202f283805937b33534b2eba77d0232fb4edcd8382b392f462c1aa1f4e81e59642d879824040d87982581cedf7b9fa84080c5cbef475af9d75f0e23b4b60dc05c4066b8f3a60874841737320636f696e1b0000001166b125ce1a001373c2581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761b000000028f200558581c8807fbe6e36b1c35ad6f36f0993e2fc67ab6f2db06041cfa3a53c04a581c554daf3e27e50c8c779713be6ba70f95c35f23f0552a28e5a7a3401482583901edbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47765bea5f897c13dc19a9e0cb1a11c7b1f7afea002051c73c1b2db2e9421af792ea48a200583901c0c6c8108f6115a3e124f04b63898d621cf4494af1a50149c0a9dc42fd71b9f951bb672ee87b3f8ea8e7a82177c21941cf979a914bd113e5011a00f02a2d021a0005ce2905a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b582034e73784c72799213d02cad0277814472773c3610fee3bcb7859f14517cff2120d8182582006f24741c2cbc3f59096046de95fcd5d90a77e5378d95fd60f2ec261aa5c7981000e81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761283825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820c4a540ac2e06c217dd4fb3f39ca3863da394ba134677dafa9b98830ca71d584d03825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a6008282582006bf2e134d12e559d500a2b1593c130600b39b0a55dc088c1180b5ce306f611d0082582006bf2e134d12e559d500a2b1593c130600b39b0a55dc088c1180b5ce306f611d0101828258390166eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e66eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e1a000f42408258390166eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e66eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e1b000000010b59b00f021a0002fc8c031a3b9aca00048183098200581c66eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e810205a1581de166eec8c11e5302bac8b854479f4bb9980961ca3bd5baaf044d98a67e1a002b48e2a500828258200db8bccbf36877c088c75be3f6c8b89dacc6e8de4178148013a2b8b6301506850482582060246180fac682299c048cc66f4cab8d3119b136e05accf5494b532026de17c3000182a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c3d90dfa0d228a430e2038a6b052fee30673c904e970fb9ed21f61ff901821a06dab2a4a1581c6d06570ddd778ec7c0cca09d381eca194e90c8cffa7582879735dbdea1435845521b000000021aad4e60028201d818590136d8799fd8799f581c7a7f5c27867008c944b411c46fee69757071290b865c0e48985b5743ffd8799fd8799f581c7a7f5c27867008c944b411c46fee69757071290b865c0e48985b5743ffd8799fd8799fd8799f581c3d90dfa0d228a430e2038a6b052fee30673c904e970fb9ed21f61ff9ffffffffd87980d8799fd8799f581c7a7f5c27867008c944b411c46fee69757071290b865c0e48985b5743ffd8799fd8799fd8799f581c3d90dfa0d228a430e2038a6b052fee30673c904e970fb9ed21f61ff9ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c5820372468543304a13de4f75942b2a22d5a3df59395f2f65955de5eb3d0a4ebd08bffd87d9fd8799f1a069da9a41b000000021aad4e60ff1a38551697d87980ff1a001e8480d87a80ff825839017a7f5c27867008c944b411c46fee69757071290b865c0e48985b57433d90dfa0d228a430e2038a6b052fee30673c904e970fb9ed21f61ff91a2831c874021a0002e219031a08764b3c075820270cd2ffe467d9088942fab7e62af5c6f2d0812f6925dff02a8acd5d87141b0da600838258200fd3b254f2c7b2a595be5eb4defb6c1d70146f0d617e24072969a5786c2bd38c028258209bcfe9893f7b3c7c74c9ab5f8fc545f985a535ddeb82465b8c3588bad27cf75c00825820fa7af34bfae918e6acf91298e6d1e693b8e6d5c99b0016f34433fcf71382de800001838258390176a1e723ff558c0ece153c3bbbfe01d9239227344b365760a68219036287a5fb6753dc577fb18d6ae130d150d2b8f8c7c42df4d5237bea9d821a0014b752a1581c5f14928982c2de7427bcec513c29547311d289e72320f1c0d1eae160a15543617264616e6f436f6e737469747574696f6e5f320182583901b419c3659c7e362dc6556c0f75fb4b80a59b9b52d8bee5930da75d8488b89cae587188696ad25553b4a080906d93aa0635d8d9fa93959f951a000f42408258390176a1e723ff558c0ece153c3bbbfe01d9239227344b365760a68219036287a5fb6753dc577fb18d6ae130d150d2b8f8c7c42df4d5237bea9d821a02751d54a2581c0c05b9e33333dba9c01e509ba2f7f2dc7c90baaa3e912d75558f5066a14343433201581c5f14928982c2de7427bcec513c29547311d289e72320f1c0d1eae160a25543617264616e6f436f6e737469747574696f6e5f31015543617264616e6f436f6e737469747574696f6e5f3301021a00080499031a087623700758209c01f8be86dc0d97866150e00dd31636129777fbb7bd05c2eddd7a2deae8f23309a1581c5f14928982c2de7427bcec513c29547311d289e72320f1c0d1eae160a15543617264616e6f436f6e737469747574696f6e5f3201a700848258203192bb1ae6c4a87e4d53a52c90f2b8d4d95262127b01e8a1c713b137da6194f201825820e9bdaae18a19be212e9c2e171ea52977074ed62db944f2d41a68cfb86229c16e028258205a768ceb38c11dabd6ae59a480d3d10188e5f5dd240089d80dfefc66b056be59028258205a768ceb38c11dabd6ae59a480d3d10188e5f5dd240089d80dfefc66b056be59030184a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020011a121eac00028201d818590106d8799f4100581c8d0f66d75b3efeacb4cd93dd704c576d97cceb55a1be522ac43325e0d8799f4040ff1a11e1a3001a000f42401a004b929ed8799f581c3bbbe8599fbc4a9cd2dc1c94ad0f577ce2328180b9cc7b851633aa8d49506172747920436174ffd8799f1a004b929e1a11e1a300ff1a000f4240d8799fd8799f581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666ffd8799fd8799fd8799f581ce16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020ffffffff581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d66669f581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b2ffff82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a0016e36082583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb820201a001e848082583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020821a188b2c2fa1581caf41d01d97a51b2ee1c82fc1b55e1ce789f1e046487d32cebb976181a1484241425920424f4f1a011067c6021a00045c65031a08762f09075820360dded0dc97b71db4f18c3db30dc925293047f9370d96fbc2c8cf5335af4955081a087620f90e82581cb43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666581ce16967f134f1542168b36ca213580d6b731f13be7ccc90091cb82020a8008282582006dadc3b609c1ba4a45a20d7bc5d260a03743e11eb9db448102c6b28c8ad9888008258208628a3e2edd396bccdaf0a1e4984ee42e5cc98ada9565fd87ff41456fc5dad07000183a3005839319dee0659686c3ab807895c929e3284c11222affd710b09be690f924db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821b00000004126bba2ca3581c3bbbe8599fbc4a9cd2dc1c94ad0f577ce2328180b9cc7b851633aa8da1495061727479204361741a1200cb5d581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec200a15820f2409b7fcc04c9d82db46574208be2903ad252c5861e4f011d50093b1a3626791b7fffffff9bea3282581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add06a15820e5bafa812cb99cb15242e269e1b486ad6c7d0e9a43f4ad532925d6f5cf56afd301028201d818590116d8799fd8799f581cd8eb52caf3289a2880288b23141ce3d2a7025dcf76f26fd5659add065820e5bafa812cb99cb15242e269e1b486ad6c7d0e9a43f4ad532925d6f5cf56afd3ffd8799f4040ffd8799f581c3bbbe8599fbc4a9cd2dc1c94ad0f577ce2328180b9cc7b851633aa8d49506172747920436174ffd8799f581c6e917b8b965078a39804a6313e5be73535612421acd70aa83f0ec2005820f2409b7fcc04c9d82db46574208be2903ad252c5861e4f011d50093b1a362679ff1a0001831c18641a4098a0be1a003a2abb9fd8799fd87a9f581ce5619f78d716cc24ea924e4412d83353ae390edd9905ecc6d5c85c2bffffff00581c75c4570eb625ae881b32a34c52b159f6f3f3f2c7aaabf5bac4688133ffa200583901b43121f2e65259a1c81adc702810ceadd1b46ec826484681d88d6666e16967f134f1542168b36ca213580d6b731f13be7ccc90091cb8202001821a001e8480a1581c3bbbe8599fbc4a9cd2dc1c94ad0f577ce2328180b9cc7b851633aa8da1495061727479204361741a0053eaf6825839015cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b2336b0332744e221050b9079ebe0b79b12a9c3a11bf9aa3e2cff211e71a00165fca021a000824b605a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b582091a65e93e7ca4d480e4155d8af9909d1e6fb1fafbab09e40ca91c15f7cbf37210d81825820b57a5ffd5d7f61e9bb6c2f9c5e0359779575a81b2dd9706253cac8562b43563c000e81581c5cb2c968e5d1c7197a6ce7615967310a375545d9bc65063a964335b21283825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820482719d050a96b91206f78c6c2b834e844ea576557387e09e7b1c8afa4d433ac00825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a500818258202018fbe6c9a899393681c237b9bc55c781fe8054e84d2c16749bbcbe5fbe5ddd030182a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4ca92e1723f3a9cd8ce06f4a5b115f7f9ade469f1230ddb7e0535097d4011a0c28cb00028201d818590130d8799fd8799f581ca518ee6b51cc5eb3202cbbcc6de9c91619705fad24137ae15a877a49ffd8799fd8799f581ca518ee6b51cc5eb3202cbbcc6de9c91619705fad24137ae15a877a49ffd8799fd8799fd8799f581ca92e1723f3a9cd8ce06f4a5b115f7f9ade469f1230ddb7e0535097d4ffffffffd87980d8799fd8799f581ca518ee6b51cc5eb3202cbbcc6de9c91619705fad24137ae15a877a49ffd8799fd8799fd8799f581ca92e1723f3a9cd8ce06f4a5b115f7f9ade469f1230ddb7e0535097d4ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c58209b65707373c4cec488b16151a64d7102dbae16857c500652b5c513650b8d604effd8799fd87a80d8799f1a0bebc200ff1a051f4acdd87980ff1a001e8480d87a80ff82583901a518ee6b51cc5eb3202cbbcc6de9c91619705fad24137ae15a877a49a92e1723f3a9cd8ce06f4a5b115f7f9ade469f1230ddb7e0535097d41a0baf0d20021a0002d2cd031a08764b4b0758201feb00f18fbe772cc375aa495da0b08d837a719671e68da62f8ed658915d8fd1ff9fa10081825820456eb13000bab4c253ed9520f16bb3901114ca5d82ad2bf780bdc03896096c2d584002748d68a8755ab785e103479be343c36d3fd9500fe63f12075d700e6c058506c88deb58b84ae30c5ca09ab90a44ef7ff9dde9f7aacb9fa0c313153e45260603a100818258206f40066bfd7a070d979a356a051c80134f53879ec994f973236bb8a2455060b35840a6fb5cbabb9d28b652e6fde505ea21d1f0fddc6c54f994817e6d2e96685be66ea971a8899dad03efbeaceb3a4b31c0d133688600a3a34a93a174c540e1c4a208a10081825820a0068d6b3e8e645c75ef64075b33736d3a154a9f1d3e2f0369f8baf84cfd929c5840b22006852581bbd16c25ffe1c6e1bf69a54ec52fbab607309572e17146a4ec9c675d3f2610587f09b12cb0d9bd270715e9fcd17c708a245357c3b77ef3dbbe0aa10082825820231508b6a39647da2691bf476af48a59398f626d53a07f06339bb30c60559a215840d1302f7a49ecee6b862d6b3459de9286852b9158d8bf25ba15f862901f12b4e71075e8cd2569eac0c14e13280b72fecf3f2277b4ac024ab4d1556d4e8b17750c825820b675242e0dfdd2ae565221854f9aa9d5a7ff6ee93ec09683f17bcaa2049be00b58404892423f976ff74a60b7faf60592cbda0bd957b62132f95230e4f64253763d9d3680185743f384eb9ecd150af15a9578fb91594d654bc4d10d2bcb2df3f55704a20081825820d39f6e2677e23ac35da0a65bef78ae5cfdf34eb57c4059d4d7f31aa9ccdb8eff58407a8248560871b1516bed61f980bf71bd108f7c20576239e652f102187fa36b24290c2bc2fa582eb3f464360fc3ce417eea42f7d0c5220074393a4621710bd2000583840000d87a80821a000186a01a01c9c380840001d879820201821a000ae8f81a10b0760084030080821a000668a01a09896800a20082825820720fba9059844701e76a2c635361dd728e9809068b79c5a649e2957bac01a5d2584096f75665563d9d1b3c5bba2527dd2805d863aac1144b48ad73fefaaa11e4b02f731aa7c0653c6bf55ffcec7573d79dda8d522392820707f524bc3cf622c0fe0482582033a7645931e4ec26e75f12547331a6b1d68ebc3cafb957199e3ca5ffefadd9465840ff6c659497413a957d91101329315d7ae5228bbc629ccf3220d507395b3ad747bb67fe618e955e43b7e7af484672d0a035af99fc3201cc2a4f435883cd2302090581840000d87a80821a000171ab1a0170cb41a10281845820f129f07bbfd87fd1d3ff5fb32e9a5566e02208f89518e9994048add22074f4335840ae74e94ae3d6862466ad9d1ce0a106c9ce3fdfc48b7e0b06547f8edc99d3ebaf7f1997f1253187e5025eb541cc673bda3e6ca085d362ccf1a4b58b89bc1fe2075820424e682a392581268c7544e34e9c54378a8820bdcf7dddce30490bbb2d363b4b41a0a10081825820a357dfecdad94989acfb92868541f457270fb198061421380f07b480f9b516b75840c9b799803604ae93d8a0948187437b1032d2824e2b2611a895e305019a234ef5c1888b1eed02e172391512e11837727054ac5989849571962ca8474e09b4250da100818258204194123936bb259460ac2a321470e6128feaf8b9c402709b2a01b02cbca5ab7f5840144960ea63f4cee5f9e84e1d53a0eaf8a2e0114bf0281adbae452a94e405b8340c6c31cf38c5c66c19eacf3db220ed2bc9d51c283e6324251ecfe6f59c1e160aa200818258209bb454c18fe65c70718b44aff26224ee056cdc26859616f078354b1e0142a53e584019307571dd0bb0ae05eec4515d72bcd3a33a933e13dd16c9267118b4e9da462acc73691f6cc50756d3ef54311a54e515224effed3ab0e508e61cdafd1a8bbf020581840100d87980821a0003678e1a03cf7321a10081825820e0aa0747b138530ce8e08ee060f7a0980b141cef3c57d9f98310d3bc405aab145840d1de96a0f325b2557c2a1a5e2a89e988a5ef9380584eab8815a0d4821304def10575939ce142597555f6574e54e2070f90154ef9035c6fa87645d729be54710fa1008282582092411efd1f253fc067f5a5769ce8280199dec0eef9228c071fbf5fa80ae8c63f5840b93ceff78a008f21513e81ef354902155ae94725ed23a4c4aa0b62605a6159598128c81f051d5351331f2433b0249b320401f8e9ea7d3759e8fdab86a730c909825820716a9d03aef1bdc193138d2398a6a91bb030e7e64b8033c625dac1fbead736bf584013c2dc052c28a61004009b04887ac44047141a34b1b55666d2122534b7f02ffa1d0505ffeb1db28c93caf0d86e0362ebf279ccb7e5edcc87d7e1ff1310294e01a1008282582010eb71e1499837e534274f7125bf1fef0ebf4b4bee387401b40fa2ee1cdb6f0a584041602a6a6e0500fa6a53c00fc09290e7b6fdaee1357acb1414a5d4554eb3be0d23cce17bf8dacc4f7e20c9f4cda34983c08b75298f431e7ba9c891731ffc13088258202a4f1addb7b6e9edac7fff2cd1abfe242c5e204820157c1d339f9b7c9793858458408f7633960427d23b1efb5a1b52801e257bce2a90b5d948bb755c7c86cc2d94d36553c623eb1037e57aed31bdabe4fbfd480caddb0dd53ae101ac4a41b4bacc04a200828258203ea4da8ab403d4197df84e86f1358002568af92b04c1fff5cf3a43d99d082f015840d44c7cdff40c5fc50fc13dcb776ff3b869af01a7381b8e370fb43797cdb1b0f9c9dba53b8791095b9d0e654015990b7194e4a214e8a8c5bf08e28081f72bc40b825820b9187219760974f7f8a226f44a7ae217dd457d59d6a5078cc9c69469db2f136f584099f6cacfb7e96a69d00778298323d0812256115649acb48c65523d704bc995cd20cdbc57e8446ea0a340bd22c7e8746110db83cad8b0d3ad4ad3a16dc23b3909049fd8799fd8799fd8799f581cc2e06cae1ba95eb818bf5e30bc8abde5c2dc83c1d685fd88be93616dffd8799fd8799fd8799f581c93bc191f37097a14c6eb463b5d0aa524bec27108076b30b0d649baedffffffffd8799fd8799f581cc2e06cae1ba95eb818bf5e30bc8abde5c2dc83c1d685fd88be93616dffd8799fd8799fd8799f581c93bc191f37097a14c6eb463b5d0aa524bec27108076b30b0d649baedffffffffd87a80d8799fd8799f4040ff1a07077076ff1a001e84801a001e8480ffffa10081825820ed7fe838c004dc1a927eaf2c4f2baee0b78cbc8f47f7af642ed3f116df20088c58408489f79e18e850c9aaa95f3029b2aa7fdaba509610fa17f2f32940884581452a4147ccc3d6e5ead2387701685a379408d0247e61cbefeac58100813ef2fc2c00a10082825820cacfae107989781678103bfe13acfff1978ab8e319d601b7370ea3fe26672762584086489a24f7718e1cf1ba66b83bb145891754d03e3b196b4ceff3ce156d12259e7a80532a655f37fd247bf208dd8afe13030462723bff39f727908a37e42e0f0d82582054fa9b4f7c130d312bffcfb49112a96b22864deb601361f831b0132ab2a7884558401e75b5b25254547e90897cda8476ff1ce222cecbf5aa26f97108905fcfcfe3d85e4d43f84832bb773a88b97b8a4ce54691add8cda116bce4dc4175269fc5ee0ea10086825820cf81a2c3ffe1daaaaa31cb2e72acbfe8b3d4aa2dc60a80617e250e5e6d3a519058405b61efe20f49d489e4ff44288535f52d4b6bd849393ada0315365f896feb044a3dc4bfb60ebccadc51da85c46ea65165d6bf234fe668596697b1ce4ecf0fa80382582002afcd64bfc053df6b61839785adf73bedee5c7188124fdac15f548c45da46ad5840a474cd7e124483cff3811e8c02893e0f247e81c638309e82241647ee8fe9b3b84c8e27756e597e3c364a9a04b99477b1251f265207af31379869a0f9d41f9a09825820c07226c4f3d15cc7b0fda1397f8d14c115f7215ed9adae4c1385f295c618a2cb5840f5527f458d7dbe4c88a6afb6435e30083106c61c1efb58c8ca6ed65b08609248d7b750fe19e8335357e8a953f1ef84525e82fd3346c6f7b02c3786878b23e3048258201a3fa156d171dd681dde5b4c994d0511d866a27f35ccdd06acdbb49c31e5acda5840bb64b16bf848e77881e3620219a590a1b34aa2b63f68a7a4b7169e8c8087e43bdbb1fc8c55ede9c392c3673c414179b1fce25726da0604d7e590bbf2600db800825820b4a63f13b9ee9b3071605d6ae366a369b310dad19b8d083c30cc4c32e65b6e375840eab8bae828a691877addeb22e7b7ab15f4e10ad253bffdec4d2154898a09056cff922c41745832e29ac1b3c9d8f783167440b1ab1e2508cfff784a51e52cff078258200fc14ba32fcd12aa60bcbcfe284ee81ef005a5d84785eec42f113c5b7b09830a5840063b945af95b9fbfd2c94b22f335e7044fa9cccc8f61832cba9e0a595be281aa9c90ec9eb87092fe2167ba01609bf0e10407631843c7f692c2699faef8d8df06a2008182582014585da9857b30cf57edccac19d3012b602bb5650c7726a5f1504d9614d2052258401336c193d2d9cf8e1a43797e3655c698bdcfadffb94336249fc52afe7897b528460396ea64c0c3cd7f3340ca722bcd1ee7f1d8d5aa17933140e90de189eb84070583840000d87a80821a000186a01a01c9c380840001d879830101d87980821a000864701a0d1cef0084030080821a000668a01a09896800a2008182582014585da9857b30cf57edccac19d3012b602bb5650c7726a5f1504d9614d20522584061712637bc8921b4f304a43ac86411ebafa9aa3088d83a4ea75b618e40ac7f1eb8c7e875e3596324aef149e84b2787953ce07ba72f17fea20d2d7fef70e7f0090583840000d879830000d87980821a000864701a0d1cef00840002d87a80821a000186a01a01c9c38084030080821a000668a01a09896800a10084825820ae90e4e00a3ec878d4ceb407cab4539eb14929ebdda95925aced4474d549b5ed584042f2eec6d501558490ad998fabf6ac1696962cce575caf5988b77d23ac25c729c21373bd66035de795a59fb655a9adc9ca91a7481fc5842c1c3ae9000db0d404825820ae90e4e00a3ec878d4ceb407cab4539eb14929ebdda95925aced4474d549b5ed584042f2eec6d501558490ad998fabf6ac1696962cce575caf5988b77d23ac25c729c21373bd66035de795a59fb655a9adc9ca91a7481fc5842c1c3ae9000db0d404825820ae90e4e00a3ec878d4ceb407cab4539eb14929ebdda95925aced4474d549b5ed584042f2eec6d501558490ad998fabf6ac1696962cce575caf5988b77d23ac25c729c21373bd66035de795a59fb655a9adc9ca91a7481fc5842c1c3ae9000db0d404825820ae90e4e00a3ec878d4ceb407cab4539eb14929ebdda95925aced4474d549b5ed584042f2eec6d501558490ad998fabf6ac1696962cce575caf5988b77d23ac25c729c21373bd66035de795a59fb655a9adc9ca91a7481fc5842c1c3ae9000db0d404a10081825820e6e7976c5c72ee1da47e1841490f0d7bafc0b644440ddd54995491b792ad683a58405ad6099586153a22ba58cdba40b8d27e6175393a398ee1efcd6feb4323dbcbc4c931cb71bfa8768a4aee9bf1821534ec8ad2d7790af74fdc2bd52522fa008a07a200828258200caa575cb582833bb21b8ab26c43c9d5a6f644a29e4ecbab1ce6a795ff92cb78584000209de67c0e748d688d2c9956fcf0f9c5a2049100aadaaf0aec706a7ee8ffb1910af33bedf5affa981da488f88fe2bccf3f3ba7afaaef63e85b904a09b66f0d825820cb6abe03c7af23b343f4c6da87ff40bad64e5eb8cabecd274eb168c29e3a76bc58408e71cb6e5ee2b9bd9fa0b5f9200699b7bc4ed37f1f36509abff90a91d33e8ef149b26b491e535b1fcb0d5b71a23c5386e3e81edb9d8f4bd0b46a755abed5c10f018182018282051a089da0fa8200581c5e63cbaccf5f25d7131841bd525072ba461b948f145e4190c9052021a10082825820231508b6a39647da2691bf476af48a59398f626d53a07f06339bb30c60559a2158405032b1c4aaaed92b67991f7c71faac3d1b531673b2966592bc3e4173dc338023680410db061050aadda8c9eb3e805e05837bad48d561209476e0954773398e0c825820b675242e0dfdd2ae565221854f9aa9d5a7ff6ee93ec09683f17bcaa2049be00b58405ef0e6c52c618e586d7e875b8e99df0ea06a3c911d5e5ac08297ff83b6a392b9888bbe145dd598c2d69485bea487acaa9fe50496c06fa076b4ef99a314428308a20081825820d39f6e2677e23ac35da0a65bef78ae5cfdf34eb57c4059d4d7f31aa9ccdb8eff584014ec41170e2792a2f1d7fedcacbcc81a0dce59f70e1d493f32c1cef82af28ae1978c2093212ff3ab5a2104cb636af87e7cf54488d766256c40343631f013270a0583840000d879820200821a000aae601a10642ac0840001d87a80821a000186a01a01c9c38084030080821a000668a01a09896800a10081825820ae64e470a0bba2ae0400d81efb7848a8b545f392e658e685a39ed16b8c8a4bca584041e0479bfe78c8b997f9f1566792d08087efbd6cb01b3da6946590670ddcb5f76b8616a785408a47f5b342aa4c3739851e9ff751f3c7a89b98a6c1c0d32b270affab00a1078258206d3e29dcf1de88fb3d9326cb859df5bb583448378539e7123a8b82d64c6490cb58202a6cec3ad30fe8081363b0c2ed3cea9774d66663189172660c4b323fda2e6a0403a11902a2a1636d7367826f44657868756e74657220547261646570506172746e6572205645535052694f5308a107825820c4f965f2a37031c5d621ff69d8131d298f94adadd194a8c53ffb8ee178a07d305820256eb369a21181455b4278f1d0d7cd9ffae6adaab82bdaf9ed319537713c6e0d0aa107825820b696b7591e4565a6760d23354a233a8859717e58c1aa4daab1051d45803c41e9582024179d9f4b903fe20d24015cc8c8019ee479c247ab3731b1ae4dd8a0807a840a0ba11902a2a1636d7367816f44657868756e7465722054726164650ca11902a2a1636d7367816f44657868756e7465722054726164650da11902a2a1636d7367826f44657868756e74657220547261646570506172746e6572205645535052694f5314a11902a2a1636d736781764d696e737761703a204465706f736974204f7264657215a11902d1a178383566313439323839383263326465373432376263656335313363323935343733313164323839653732333230663163306431656165313630a17543617264616e6f436f6e737469747574696f6e5f32a76c434f4e535449545554494f4e9895782c20232043415244414e4f20424c4f434b434841494e2045434f53595354454d20434f4e535449545554494f4e732023232041525449434c45204956202d20564978372023232041525449434c452049562e205448452043415244414e4f20424c4f434b434841494e2045434f53595354454d204255444745546e202323232053656374696f6e2031783720416e79207061727469636970616e7420696e207468652043617264616e6f20436f6d6d756e697479206d61792070726f706f73652061783443617264616e6f20426c6f636b636861696e2065636f73797374656d2062756467657420617420616e792074696d652e20546865783543617264616e6f20436f6d6d756e69747920697320657870656374656420746f20706572696f646963616c6c792070726f706f7365782e6f6e65206f72206d6f7265206275646765747320666f7220746865206f6e676f696e67206f7065726174696f6e2c78316d61696e74656e616e636520616e642066757475726520646576656c6f706d656e74206f66207468652043617264616e6f7831426c6f636b636861696e2065636f73797374656d20616e6420666f7220636f766572696e67206f7468657220636f737473783172656c6174656420746f2074686520696d706c656d656e746174696f6e2c2061646d696e697374726174696f6e20616e6478356d61696e74656e616e6365206f662074686520646563656e7472616c697a65642c206f6e2d636861696e20676f7665726e616e6365783870726f6365737365732070726f766964656420666f7220696e207468697320436f6e737469747574696f6e2e205468652043617264616e6f7836436f6d6d756e697479206d61792070726f706f7365206f6e652061676772656761746520627564676574206f72206d756c7469706c6578326275646765747320666f72207468652043617264616e6f20426c6f636b636861696e2065636f73797374656d2e20537563687837627564676574732061726520657870656374656420746f20636f766572206e6f74206c657373207468616e206120706572696f64206f66783737332065706f6368732028617070726f78696d6174656c79206f6e652063616c656e64617220796561722920627574206e6f7468696e6778327368616c6c2070726576656e74207468652043617264616e6f20436f6d6d756e6974792066726f6d2070726f706f73696e6778366275646765747320666f722073686f72746572206f72206c6f6e6765722074696d6520706572696f64732e20416c6c206f776e65727378376f66206164612061726520657870656374656420746f20706572696f646963616c6c7920617070726f7665206f6e65206f72206d6f7265783843617264616e6f20426c6f636b636861696e2065636f73797374656d2062756467657473207468726f75676820616e206f6e2d636861696e783722496e666f2220616374696f6e2e2041732070726f766964656420696e2053656374696f6e2033206f6620746869732041727469636c65783749562c207769746864726177616c73206d6179206265206d6164652066726f6d207468652043617264616e6f20426c6f636b636861696e78367472656173757279206173206e65636573736172792066726f6d2074696d6520746f2074696d6520746f2067697665206566666563747835746f207468652043617264616e6f20426c6f636b636861696e2065636f73797374656d20627564676574206f722062756467657473782f7468656e20696e206566666563742e204578697374696e672062756467657473206d617920626520616d656e6465647836666f6c6c6f77696e67207468652073616d652070726f636573732061732070726f766964656420696e20746869732053656374696f6e62312e6e202323232053656374696f6e2032783820446576656c6f706d656e74206f662043617264616e6f20426c6f636b636861696e2065636f73797374656d206275646765747320616e6478387468652061646d696e697374726174696f6e206f6620737563682062756467657473207368616c6c207574696c697a652c20746f207468657833657874656e7420706f737369626c6520616e642062656e6566696369616c2c20736d61727420636f6e74726163747320616e64782a6f7468657220626c6f636b636861696e20626173656420746f6f6c7320746f20666163696c697461746578306465636973696f6e2d6d616b696e6720616e6420656e73757265207472616e73706172656e63792e2043617264616e6f782e426c6f636b636861696e2062756467657473207368616c6c207370656369667920612070726f6365737320666f7278386f766572736565696e6720757365206f662066756e64732066726f6d2043617264616e6f20426c6f636b636861696e207472656173757279782d7769746864726177616c7320696e636c7564696e672064657369676e6174696e67206f6e65206f72206d6f7265783061646d696e6973747261746f72732077686f207368616c6c20626520726573706f6e7369626c6520666f7220737563686a6f76657273696768742e6e202323232053656374696f6e20337836205769746864726177616c732066726f6d207468652043617264616e6f20426c6f636b636861696e20747265617375727920746861747836776f756c64206361757365207468652043617264616e6f20426c6f636b636861696e2074726561737572792062616c616e636520746f783676696f6c61746520746865207468656e206170706c696361626c65206e6574206368616e6765206c696d6974207368616c6c206e6f7478386265207065726d69747465642e204e6f207769746864726177616c732066726f6d207468652043617264616e6f20426c6f636b636861696e78387472656173757279207368616c6c206265207065726d697474656420756e6c6573732073756368207769746864726177616c73206861766578376265656e20617574686f72697a656420616e6420617265206265696e67206d616465207075727375616e7420746f2061206275646765747834666f72207468652043617264616e6f20426c6f636b636861696e2074686174206973207468656e20696e2065666665637420617378377265717569726564206279207468652043617264616e6f20426c6f636b636861696e2047756172647261696c7320417070656e6469782c7837616e6420776869636820686173206e6f74206265656e2064657465726d696e65642062792074686520436f6e737469747574696f6e616c7821436f6d6d697474656520746f20626520756e636f6e737469747574696f6e616c2e6e202323232053656374696f6e2034783620416e7920676f7665726e616e636520616374696f6e2072657175657374696e67206164612066726f6d207468652043617264616e6f7836426c6f636b636861696e207472656173757279207368616c6c207265717569726520616e20616c6c6f636174696f6e206f66206164617836617320612070617274206f6620737563682066756e64696e67207265717565737420746f20636f7665722074686520636f7374206f667835706572696f64696320696e646570656e64656e742061756469747320616e642074686520696d706c656d656e746174696f6e206f6678386f7665727369676874206d65747269637320617320746f2074686520757365206f662073756368206164612e20436f6e747261637475616c78366f626c69676174696f6e7320676f7665726e696e672074686520757365206f66206164612072656365697665642066726f6d20746865783143617264616e6f20426c6f636b636861696e207472656173757279207075727375616e7420746f20612043617264616e6f7831426c6f636b636861696e2065636f73797374656d20627564676574207368616c6c20696e636c7564652064697370757465767265736f6c7574696f6e2070726f766973696f6e732e6e202323232053656374696f6e2035783420416e79206164612072656365697665642066726f6d20612043617264616e6f20426c6f636b636861696e20747265617375727978367769746864726177616c2c20736f206c6f6e67206173207375636820616461206973206265696e672068656c64206469726563746c7978326f7220696e6469726563746c7920627920616e2061646d696e6973747261746f72207072696f7220746f2066757274686572783264697362757273656d656e742c206d757374206265206b65707420696e206f6e65206f72206d6f726520736570617261746578366163636f756e747320746861742063616e2062652061756469746564206279207468652043617264616e6f20436f6d6d756e6974792c7836616e642073756368206163636f756e7473207368616c6c206e6f742062652064656c65676174656420746f20616e2053504f2062757478376d7573742062652064656c65676174656420746f2074686520707265646566696e6564206175746f206162737461696e20766f74696e67676f7074696f6e2e78282023232041525449434c4520562e2044454c45474154454420524550524553454e544154495645536e202323232053656374696f6e2031783620496e206f7264657220746f20706172746963697061746520696e20676f7665726e616e636520616374696f6e732c206f776e65727378366f6620616461206d617920726567697374657220617320445265707320616e64206469726563746c7920766f7465206f6e20737563687836676f7665726e616e636520616374696f6e73206f72206d61792064656c656761746520746865697220766f74696e67207269676874737831746f206f7468657220726567697374657265642044526570732077686f207368616c6c20766f7465206f6e20746865697267626568616c662e6e202323232053656374696f6e2032783820416e79206f776e6572206f6620616461207368616c6c206861766520746865206f7074696f6e20746f20726567697374657220617320617836445265702e204f776e657273206f6620616461207368616c6c20626520616c6c6f77656420746f2064656c65676174652074686569727837766f74696e67207374616b6520746f206f6e65206f72206d6f726520726567697374657265642044526570732c20696e636c7564696e6778337468656d73656c7665732e204452657073206d617920626520696e646976696475616c73206f7220636f6f7264696e61746564783767726f7570732e204f776e657273206f66206164612077686f207573652074686972642d706172747920637573746f6469616e73206f7278386f746865722064657369676e65657320746f20686f6c64207468656972206164612c206d617920617574686f72697a652c206f72206d6179783177697468686f6c6420617574686f72697a6174696f6e20666f722c20737563682074686972642d7061727469657320746f782e64656c65676174652074686520766f74696e6720726967687473206f662074686520616461206f776e657220746f783172656769737465726564204452657073206f6e20746865206f776e6572277320626568616c662e204452657073206172657837656e7469746c656420746f206361737420766f746573206469726563746c7920666f72206f6e2d636861696e20676f7665726e616e63657837616374696f6e7320616e6420726570726573656e742074686f736520616461206f776e6572732064656c65676174696e672074686569727835766f74696e672072696768747320746f207468656d2e204452657020766f74696e67207468726573686f6c647320617265207365747834666f72746820696e207468652043617264616e6f20426c6f636b636861696e2047756172647261696c7320417070656e6469782e7835205468697320766f74696e672073797374656d207368616c6c20656e736872696e652061206c69717569642064656d6f637261637978356d6f64656c207768657265206f776e657273206f66206164612063616e207365616d6c6573736c792073656c65637420616d6f6e67783744526570732c207265676973746572206173206120445265702c20616e64207769746864726177206f72206368616e67652074686569727764656c65676174696f6e20617420616e792074696d652e6e202323232053656374696f6e203378362044526570732077686f2061726520726570726573656e74696e672064656c656761746f72732061726520657870656374656420746f7838706572696f646963616c6c792061646f70742c20616e64207570646174652061732074686579206465656d20617070726f7072696174652c7838636f646573206f6620636f6e6475637420676f7665726e696e67207468656972206163746976697469657320617320445265707320616e6478386d616b65207375636820636f646573206f6620636f6e64756374207075626c69636c7920617661696c61626c652e204452657073206172657837656e636f75726167656420746f20696e636c756465206574686963616c2067756964656c696e657320696e20746865697220636f6465736b6f6620636f6e647563742e6e202323232053656374696f6e20347831205468652043617264616e6f20436f6d6d756e69747920697320657870656374656420746f20737570706f72742074686578336372656174696f6e2c206d61696e74656e616e636520616e64206f6e676f696e672061646d696e697374726174696f6e206f667835746f6f6c7320746f20656e61626c65206f776e657273206f662061646120746f206578706c6f726520616e64206576616c756174657832445265702063616e646964617465732c2061636365737320616e64206576616c75617465204452657020636f646573206f667836636f6e6475637420616e642073656c656374204452657073206f6e20737563682063726974657269612061732074686579206465656d6972656c6576616e742e6e202323232053656374696f6e2035782d2044526570732077686f2061726520726570726573656e74696e672064656c656761746f7273206d61792062657836636f6d70656e736174656420666f72207468656972206566666f7274732e204452657073207368616c6c20656e7375726520746861747832616e7920636f6d70656e736174696f6e20726563656976656420696e20636f6e6e656374696f6e20776974682074686569727822616374697669746965732061732061204452657020697320646973636c6f7365642e6e202323232053656374696f6e20367837204452657073207368616c6c206e6f742070617920636f6d70656e736174696f6e20746f20616e20616461206f776e6572206f7220746f7835616e206f776e657227732064657369676e656520696e2065786368616e676520666f72206265696e67206170706f696e7465642061783744526570206279207375636820616461206f776e6572206f72206279206974732064657369676e6565206f7220666f7220766f74696e67782c6f6e20626568616c66206f66207375636820616461206f776e6572206f72206974732064657369676e65652e78242023232041525449434c452056492e205354414b4520504f4f4c204f50455241544f52536e202323232053656374696f6e203178362053504f73207368616c6c2068617665206120737065636966696320726f6c6520696e20617070726f76696e6720637269746963616c78336f6e2d636861696e20676f7665726e616e636520616374696f6e7320746861742072657175697265206164646974696f6e616c78316f766572736967687420616e6420696e646570656e64656e63652c20766f74696e672073657061726174656c7920616e647834696e646570656e64656e746c792066726f6d2044526570732061732073657420666f72746820696e207468652043617264616e6f7836426c6f636b636861696e2047756172647261696c7320417070656e6469782e2053504f73207368616c6c2070617274696369706174657835696e206861726420666f726b20696e6974696174696f6e2070726f63657373657320617320746865206f70657261746f7273206f667832746865206e6f646573207468617420706172746963697061746520696e2043617264616e6f20426c6f636b636861696e277374636f6e73656e737573206d656368616e69736d2e6e202323232053656374696f6e2032782e2053504f73207368616c6c20616374206173206120636865636b206f6e2074686520706f776572206f66207468657838436f6e737469747574696f6e616c20436f6d6d697474656520756e64657220657863657074696f6e616c2063697263756d7374616e636573783562792073657061726174656c7920766f74696e67206f6e20224d6f74696f6e206f66206e6f20636f6e666964656e63652220616e6478332255706461746520636f6d6d69747465652f7468726573686f6c6420616e642f6f72207465726d2220676f7665726e616e63657835616374696f6e732c20616e64206f6e2022506172616d65746572205570646174652220676f7665726e616e636520616374696f6e73783874686174206166666563742073656375726974792d637269746963616c20706172616d65746572732073657420666f72746820756e6465727834506172616d657465727320746861742061726520437269746963616c20746f20746865204f7065726174696f6e206f66207468657833426c6f636b636861696e20696e2053656374696f6e20322e31206f66207468652043617264616e6f20426c6f636b636861696e7447756172647261696c7320417070656e6469782e6e202323232053656374696f6e203378362053504f732061726520656e636f75726167656420746f20706572696f646963616c6c792061646f70742c20616e6420757064617465783461732074686579206465656d20617070726f7072696174652c20636f646573206f6620636f6e6475637420676f7665726e696e677837746865697220616374697669746965732061732053504f7320616e64206d616b65207375636820636f646573206f6620636f6e6475637478327075626c69636c7920617661696c61626c652e2053504f732061726520656e636f75726167656420746f20696e636c756465782d6574686963616c2067756964656c696e657320696e20746865697220636f646573206f6620636f6e647563742e6e202323232053656374696f6e20347834204f776e657273206f66206164612077686f2061726520626f74682053504f7320616e6420616374696e6720617320445265707378367368616c6c207075626c69636c7920646973636c6f736520746861742074686579206172652070617274696369706174696e6720696e78336f6e2d636861696e20676f7665726e616e636520616374696f6e7320696e20626f74682073756368206361706163697469657378337072696f7220746f2065786572636973696e6720616e79206f6e2d636861696e20676f7665726e616e6365207269676874732e654775696465a3644261636b82783268747470733a2f2f706f6f6c2e706d2f6173736574316c77393332796c6b7a326879676c7030327030376a7863686e6c796e6a6c79346c7365716a6a6664486f6d6582783268747470733a2f2f706f6f6c2e706d2f6173736574316c77393332796c6b7a326879676c7030327030376a7863686e6c796e6a6c79346c7365716a6a66644e65787482783268747470733a2f2f706f6f6c2e706d2f6173736574316d6774343766377565396b377a7967666b727a6b7a7037677439706d6a6c747a3230387a75306164506167656632206f6620386566696c657381a3696d65646961547970656f6170706c69636174696f6e2f706466646e616d65782d43415244414e4f20424c4f434b434841494e2045434f53595354454d20434f4e535449545554494f4e2e706466637372637835697066733a2f2f516d65365966386a686e544a5561547a35506378314a5831394e6254784d3532787344725878344538585566725865696d6167657835697066733a2f2f516d504e52565277633969326154776351553158337932654c4b425671796351467a53446d71667154415a577852696d65646961547970656a696d6167652f6a706567646e616d656643424543203216a11902a2a1636d7367826f44657868756e74657220547261646570506172746e6572205645535052694f531818a11902a2a1636d736781754d696e737761703a204d61726b6574204f7264657280")] + [InlineData("85828a1a00ab2d8a1a088004375820afe1a5f4d39f8233dd25aebec5f7c8ddfc10cc994e62141add98a71dc1bd20b45820cca475e401893077582e74e5f694e741e5ec78df16f5ca4f979a2f297d02c54e58202a20b39a975102c19ea1d145df120579a2595ce6d696753424b13eeceb157fdf8258407bd6f9db26624f1facacebf11f2f4bcff78b3d1bab95b7e6ae88826aeb186a0305a9a213f991f2d248cd9c7a117a74f17704cd737c39de43feedaf70fe06f9615850193abfcd83f918b112eea8d805e1a8e4e8a6d76b08fdcd1288ddbd3de579320ad80908bef14417dce27bd784a276ed8908c039be32ca53f18010d7ca421d508a4b6d74282e51c5d67533c2c3698dca071947b6582047ea1d13b6c11b39ff5d42e4ba618ef2915f71ca5377473020fa9c49a9949f018458203fddf3616c3b37526ad1cc9b725af8ab6a8e1bfe09625cf2c8ee15b0c3f3ef3518181904455840347d7dd1764dd65f5a1569cb5c9433b10c09d272bdae8c2ac0fe4c99c4e1fb98918ac4b8f2dcb8a245715c9812246ac404d1757060ff4cd014b900e24df2e400820a015901c048a1826684bb89420cb500b90fafd8d884cd48d9a6973beca42f6afaa6ce3b9c434fbdb5774d64b92e61c52864fc44fa19edbc561744d87dcc0190109a9b210a53599d82cc038f3a008a5293bf4f995be749e89cb47804d2e767e79c00f696f103c89d8a657224184077a63ff956e5b643f49febc01dc0317827d7951b66d58b2bfb5c210076c3d9c735f5684ac8f4242569a32cae2f2d75580e517cc9dc07c20adadb91ef68bff5635c8a3c660d591720fb0c4cf7138199e6324da2f367276fa254dfec78944bc29d026463f0815fd88a2f4eb3efed1582a98c4057e4e361feb6eb97d49822ce11bb3bdc9742a5022b011e44e237406701e422ea8ef33425f708173f8f7ee2960e75228e83ce6912758756d64b5247dcf575003f655a620ff313c96467dd0995a3df7d14125af78fe28f027df1b07c8c0c87f82b6edcd19ee3c218fc467aa810dc731be2231e7254b86e9ad003386652a38c183ba7ae5f5ebb37e42965267a596c4813731906a0448e0521978f52458453a53083825ac60569e53fd7aefe0dcd903ef42452266fb9e4c6d78babbeed35be642a64ac258f73f4ffe1fb5b86b7e9324fb7ef09c1fc4418f0f6f605017b306d5a15145ff9788bef8da7008182582014a8da74669978b51cd7c1cfc640d2a33b01aa2253a644a217ed6bff079e828b000184a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c7661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bb011a1908b100028201d818590130d8799fd8799f581c0bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb547ffd8799fd8799f581c0bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb547ffd8799fd8799fd8799f581c7661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bbffffffffd87980d8799fd8799f581c0bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb547ffd8799fd8799fd8799f581c7661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bbffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c582016e50e88ec85c5a4c399e6ef6dd72f6314e20f10a80c27b2bb0897ac4fb52bfbffd8799fd87a80d8799f1a18cba800ff1a00020041d87980ff1a001e8480d87a80ff82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a001fbd00825839010bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb5477661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bb1a001e8480825839010bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb5477661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bb1a009ecc99021a0004358d031a08801224075820360dded0dc97b71db4f18c3db30dc925293047f9370d96fbc2c8cf5335af4955081a088004140e82581c0bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb547581c7661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bba40082825820dee9173eebd35cd945e72009efe42e8bfc6e28196f0efecc1e7fbced03df018000825820dee9173eebd35cd945e72009efe42e8bfc6e28196f0efecc1e7fbced03df0180010182825839011bc84ae1a6eebae50426feba647c7fbbe193be27d2de7a1a349b9a97f96b5d7c0f97fc45592807eeaa85afe337001d63b49d38647bb0b0a1821a0016b066a2581cde5837d0ec2eecdbaf335436a72d0c838cf0346a371a311e6875e7e2a14d3637306137353364316636663901581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa24f000de140656c6663656e74697665730152000de140676e6f627564797370656369616c01825839011bc84ae1a6eebae50426feba647c7fbbe193be27d2de7a1a349b9a97f96b5d7c0f97fc45592807eeaa85afe337001d63b49d38647bb0b0a11b0000000272e3fd8d021a0002c95913a18202581c1b44737f61e531f76bc944a132d064f085bf5723615b6a7d0515707ba1825820fff0df644d328a5367212f45bab59060bde3c4091dc96c723062896fd6197314008201f6a700818258201097dfc662182248ec7447462e8733a582ac7a71d4219e6699c1a5b619f9969a030184a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4ca2fa605988917f9a96f2df45549942548f2792db076cd153a2226802011a14250c7e028201d818590130d8799fd8799f581ca79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3ffd8799fd8799f581ca79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3ffd8799fd8799fd8799f581ca2fa605988917f9a96f2df45549942548f2792db076cd153a2226802ffffffffd87980d8799fd8799f581ca79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3ffd8799fd8799fd8799f581ca2fa605988917f9a96f2df45549942548f2792db076cd153a2226802ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c5820dab0257ab4be2b39d640f2caf7582ea3d84fd98445c690dcc68d5312d3095887ffd8799fd87a80d8799f1a13e8037eff1ae98d0480d87980ff1a001e8480d87a80ff82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a00145ad482583901a79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3a2fa605988917f9a96f2df45549942548f2792db076cd153a22268021a001e848082583901a79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3a2fa605988917f9a96f2df45549942548f2792db076cd153a22268021b00000002aa8398fa021a000436ed031a088012170758202dc628086810b33c5d41765f60916e10dd75a406a4f57db79f2f4c038cb9a95f081a088004070e82581ca79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3581ca2fa605988917f9a96f2df45549942548f2792db076cd153a2226802a50082825820a916e572536214c6a446402b403c4bd8511fc0a551c5d84c0070c9331dfbd13b00825820a916e572536214c6a446402b403c4bd8511fc0a551c5d84c0070c9331dfbd13b010182825839015b958114bb3439600fa7e1552d1014f1751463e621da7671c70fda875b958114bb3439600fa7e1552d1014f1751463e621da7671c70fda871a000f4240825839015b958114bb3439600fa7e1552d1014f1751463e621da7671c70fda875b958114bb3439600fa7e1552d1014f1751463e621da7671c70fda871b000000043671bcc9021a0002d7fb031a3b9aca0005a1581de15b958114bb3439600fa7e1552d1014f1751463e621da7671c70fda871a006984a0a50081825820b9e958cece18f29743d08b95f67f6c0fb403dca234cc4654bef2f990d484e5f9010182825839010ea1487038b530012c92c8d5cad37ffa11ae8e33bcc9dbb42515b14ca4e7266de776411f3b7dd616c82a39f3169c12e77f38b03d921daceb1a05f5e100825839014185913e9612fb28c0b89d3690c8c105776aac241eb481607bff6006f2a3bcf5f3be09d75ffc79a8f1ebaa0c3c3f545bc1d8a0afd4871d921af74f81d5021a000295c9031a08802027081a0484c725a5008182582012bbb3146ac19f7b61886529242013d95ad460f899850cbaa4a7c4f9de64ccbe00018282583901a4b13d790cc31a780985d23633dc19cc25a74ff252870d555b63ae540faa96e4972d5198ad919b81932a20d00a49b84f8b65b05890957f9e1a0bc72300825839014ae8d4a9874bfa493c85bc5cb02045acabe82d172cfa0a46dbe54ce3cb76a7492f22139fc58ccf64ede74e25bb35cd39ad003562f77f3ee61a000fb8af021a000296d1031a08805867075820d36a2619a672494604e11bb447cbcf5231e9f2ba25c2169177edc941bd50ad6ca3008182582086a6c5a72bb617464e29b6658868a5ddcf7cabd0536afd51a1fa74040f871bbd02018282583901848747584fc255392291b847fa8ba334025c2ec152e1c3377e7ffd4a530eb0f5442866251b2f0290dfa944f3f57f966e5902bfca9c724a011a00155cc0825839019ea588dd995982843470ae162ff223ca87c024421aa4b22879bddf90bd980ae9b4d120d607d71f26d39a247d6828aa647e5ff5a69a411e2b1a03090a41021a00029075a50081825820debc4983b5ad43275e18cb3f4b41a9399d99d08353a26863bb9905c8917cb45201018282583901bf455580831d63ca9789e606628a37adb7db5db15cb69569913dfc3047fd7e9bea97a0748a9c26c504d8635af675d01af61eba028281defe1a1dc2468b82583901583c6f9580fc41c0369f0e870c481c34ee5df9d06d62ac82563e82ffebf7a44ffaaa5199e55cbbc16db8219d94212af6b80c18ff4eb9a7c21b00000001ee30a922021a000295c9031a08801f95081a04ec3539ab00818258200107cad92ce8fe0c1e7fff31945f2f6187bba5b79a52b47ba4d7dfc48b4eeab40401818258390105654a7f25bfbc065fe81671fa3c06db6d80f26fcf1e3109d6073983125e047be2f67197a817a9dfb2017cd52559419630feb21beac54d2b1a3bd44e09021a000384f7031a08802e58075820039c21bb80e729f444f6f5ab66b7e6d4c1deca6ece1cafe940209783bba2a32d0b582002b4dbcdbb671e62b2c4e5bd39082ca85c181f349c48d1a588670300b4b6dcb80d818258208e0f8596c10b6fa8ddbd81075fc804686a2a1dc78507a9fd9df3645b1e037503000e81581c05654a7f25bfbc065fe81671fa3c06db6d80f26fcf1e3109d6073983108258390105654a7f25bfbc065fe81671fa3c06db6d80f26fcf1e3109d6073983125e047be2f67197a817a9dfb2017cd52559419630feb21beac54d2b1a3b8802c9111a004c4b401281825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a62177600a60082825820ca88b5f66b850aa6838e43424722dc754305b03578b1e5d513ead91b40695bc700825820ef12274debe9e6eb87438fc82c7bacc741cf564053f9dd5838de721b2db4a008020182a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c50a0a221d0a32491f5228cd307967a6c485265e2f387faf12213a88101821a003bf1daa1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca15820bc53f5c2a8cf3ef64081d2ec8c74333d567fc7ef271c1b97d21fdd53a2c5c8891a0fa182f6028201d818590130d8799fd8799f581c3a445b3c5489bfa9781494b0294acd26b7aa90d30c184961fc7c6853ffd8799fd8799f581c3a445b3c5489bfa9781494b0294acd26b7aa90d30c184961fc7c6853ffd8799fd8799fd8799f581c50a0a221d0a32491f5228cd307967a6c485265e2f387faf12213a881ffffffffd87980d8799fd8799f581c3a445b3c5489bfa9781494b0294acd26b7aa90d30c184961fc7c6853ffd8799fd8799fd8799f581c50a0a221d0a32491f5228cd307967a6c485265e2f387faf12213a881ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c5820bc53f5c2a8cf3ef64081d2ec8c74333d567fc7ef271c1b97d21fdd53a2c5c889ffd87f9fd87980d8799f1a0fa182f6ff1a1401baf2d87980ff1a001d6d5ad87a80ff825839013a445b3c5489bfa9781494b0294acd26b7aa90d30c184961fc7c685350a0a221d0a32491f5228cd307967a6c485265e2f387faf12213a8811a0077d96b021a0002ec11031a08802e190758208ab03f8298a5d477d596d1fa7c72f97b76631acacfbfe72a82ef15f8f542a19e12818258206c024ba3a285f6c9f7d152c5a80ab30ceaaf38d476fd4e6998a69b252021516800aa0082825820b638275dcff30ba9609d075370b9465559490b416fb1903f86d9d9716333239f0082582006bc2c135466a75405882eef0890ddc0ea1ec194960cb6cd8461c0fa25130ef50001818258390104ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383d48accbfa8af8f4d333c43c57e6ac426a4d2d510de286f5439e2c0be71a05569713021a0006b36d031a088007af0b582009d9598c50f8ca542d3776fafd0aa284399d00ed9fcef68ad53a4fec516707080d81825820d1df367fe276ff7feb7e3195f2e7317bf95550687c4ffa310fee58d233a5216a020e81581c04ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383d108258390104ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383d48accbfa8af8f4d333c43c57e6ac426a4d2d510de286f5439e2c0be71a00451632111a000a0d2412818258209a32459bd4ef6bbafdeb8cf3b909d0e3e2ec806e4cc6268529280b0fc1d06f5b00ab00d901028582582059f3338b6dddd7a36557a40cd5c561008c543f19ae0d12f2ffdce4bafe71b953008258206089e3a966e30b84223ed30026f53256d908988842f7f9e04e21c3c01c283cd0008258206e982b87878460e3943983e70dc3126b9dddbb4795ce7cfdf34daaca2e395daa04825820839d80ffb384e32cb2bb9d3877f3ae364a2895bc92adba8ab9de922c5799b03c00825820a7d07fe624fc6abf9f5fe573455af750bfd182e0da0e7d6c231f3756dda7bcf9040dd90102828258206e982b87878460e3943983e70dc3126b9dddbb4795ce7cfdf34daaca2e395daa04825820a7d07fe624fc6abf9f5fe573455af750bfd182e0da0e7d6c231f3756dda7bcf90412d90102828258207e4142b7a040eae45d14513000adf91ab42da33a1bd5ccffcfe851b3d93e1e5e01825820c8c93656e8bce07fabe2f42d703060b7c71bfa2e48a2956820d1bd81cc936faa00018582583901f16cf37c331bff55ba75328453092d35cc38dc8c447684963bc98f55b862e5b3e67d75c9295b09d659982b0e157072156cbcb820b37ca8dd821a0022b9e4a6581c5817c34e5702473304f3cf676299176d3824e55b8c0bfa94830429fda146019b76daa80001581c8db269c3ec630e06ae29f74bc39edd1f87c819f1056206e879a1cd61a14c446a65644d6963726f5553441a00a55ee4581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a040eddf4581cb686e45c9181618e20e26cf0e2fc1e9f336bb0df914e645b5adad5bda146019b76daa80001581ced8074e8768199746ee58aed1f8b005eaa812afa44a268230603e969a146019b76daa80001581cf94fd008635cf307663aadd995ed69d5fbbfd65f84679fc38254d664a146019b76daa8000183583901f16cf37c331bff55ba75328453092d35cc38dc8c447684963bc98f55b862e5b3e67d75c9295b09d659982b0e157072156cbcb820b37ca8dd1a004ceaee5820cc00000000000000000000000000000000000000000000000000000000000000a3005839316b9c456aa650cb808a9ab54326e039d5235ed69f069c9664a8fe5b69b2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821b0000000f16ffe58da3581c09f2d4e4a5c3662f4c1e6a7d9600e9605279dbdcedb22d4507cb6e75a1435350461b00000511d36274c5581c74f47c99ac793c29280575b08fe20c7fb75543bff5b1581f7c162e7ca14a5350465f4144415f4c511b7fffff76764304bf581ca80022230c821a52e426d2fdb096e7d967b5ab25d350d469a7603dbfa14b5350465f4144415f4e465401028201d8185890d8799fd8799f581ca80022230c821a52e426d2fdb096e7d967b5ab25d350d469a7603dbf4b5350465f4144415f4e4654ffd8799f4040ffd8799f581c09f2d4e4a5c3662f4c1e6a7d9600e9605279dbdcedb22d4507cb6e7543535046ffd8799f581c74f47c99ac793c29280575b08fe20c7fb75543bff5b1581f7c162e7c4a5350465f4144415f4c51ff1903e58000ff835839011931cb9eee235ed973ae21c9482936a28cdf882cad19c658c3c57c49f770dd26d10f523a83d5967613128a3b486fd3479f6ad4d9b4e39b801a018b084d582020a0255f62f30b76a99fedad498353f5629c3c6aa75f4d07a9020100c697d1a782583901f16cf37c331bff55ba75328453092d35cc38dc8c447684963bc98f55b862e5b3e67d75c9295b09d659982b0e157072156cbcb820b37ca8dd1a0099b55a1082583901f16cf37c331bff55ba75328453092d35cc38dc8c447684963bc98f55b862e5b3e67d75c9295b09d659982b0e157072156cbcb820b37ca8dd1a00d275cd111a000eb8b1021a0009d076031a08802b370ed9010281581cf16cf37c331bff55ba75328453092d35cc38dc8c447684963bc98f550b5820874e92770c1ee9e79d3a8506f1a31dbac961aeaa0f1f81feb681b36899f4a80d075820606a8b7f99fb20e45bdce4e5b2e00ea010893a0c0ff362acfd1d7e5c7e747795ab0083825820013b4c1400d264d70f8629850a947ef633836a8d9962619182c189200b7580280282582054e2edae6fb4149782f9f6cac028e1180fe0ed7b66077e8faea4aa33568ee1d4008258209f54d98018fc55f468b3bcb4e1317da5ebf93c0ab7a27691134909b2712edced00018383583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330916b485a6b812feb6e2abd0440bff46e1b8b6eebb6cebb4096dc732f9821b00000048ea0fcd51a4581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a158202fbc26cfc11e2d1ac6ea99da484e97c4eb13e7587c1175afe4251d26f1adf4bb01581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158202fbc26cfc11e2d1ac6ea99da484e97c4eb13e7587c1175afe4251d26f1adf4bb19099b581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61a1444652454e1b00000006f50ba30d58204ea88ebd8a9e51d4b6cdd51eda3f5aad1499a4bdffe334fab4a3cc8d1d8ee3dd8258390155c4106f5d20edf51335dc225b57d0ffff41099eceb0d1052d56504753f5304dfb9bfe03e1585105173afbec3e25a8d47357eaa468de0029821a001e8480a1581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61a1444652454e1a010856ce82583901bcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821a1615a8bba1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d3137333532303336303030303001021a000bcfbc031a0880080f0758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a088004270b58206e1068e45c5685a6b2e5f7146e70067e3be37e764ec28484724231cf4149f8980d81825820013b4c1400d264d70f8629850a947ef633836a8d9962619182c189200b758028020e81581cbcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d1082583901bcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821a15b6a8b7a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d3137333532303336303030303001111a004c4b408da100828258203b85c71de38f1773333b8a1e4fb50df525e08191778b80bf2ed022366ed9551f5840f598fc84d622964b499e1996fd23cd99c24837d8b27d3a67d7387ae45d9204e883743d869088429a5a54417743e5fb5ab7d7069bf5a29485bc80446ec8fe5a0e82582028f62041a9a176792e9f4d26926b3509c1a83b06a0c2c94d32487694ed7a4e0b5840251e25c59290609e51ac70bf7be43a467845fd7e9db96e6e7f4ad88e4ad2bcb8e647ee1269e069dbc8243780e98cc17591724729eda738178be37b64ee1ff00ea1008282582062ed0bc7044d082ecbb4ddd1e94899a31ae1e79b67d16a4da81a65056a888f46584043d6935ef8f8cded8ab543606a4ab7ccbe6fd901d7cec274f90e05e9c04d4fd2abcc1da1075f69f3a4f03de3ba9524adcdcb2c684a25c4cfcbd98e06c155150b8258206f5f769c9cd6bc2b0dabf4ac4926f99c614a916414336fea030f45643c0d5542584013cbaa468addda2e1d8de62cda23bd1286f0f33216aa6b4d3977a830768dcb464fc4935771f452e490723ff6473e19382fbd2662bfe404a9cf1e0eed6a946e0ba10082825820f8c6ca964021cf3537ea8af8866024a58a9972feac0a54b3c89f076ee6c6cf185840d9a9ffa48f885516bf83f73d63dd15455be03b1960c457b1353d5e0e3cc44d06cea50cf888774f7fe7e5998197f21d1ad69cc6f02a7e2fc8053f4c4c45021c01825820c950d32cc3314d306c2888da9c13250649b4acdda88cb8b027a9e881d586d904584091a222a480c415f73694cd5a2775bec89940a291247c50a4db41b5a4d4ce3ce6d008442db7a3f4afe93f5bd7c610d383802889ef2a0957610e4f966d520d7f0ca100838258201d85e0b99c3edb1b5ed4f522023787ab7441a55f491ef5d2a2f2eec4427bdfa158406ce7fd14820f9679812426f44b8738e7d915617956204b53b7e19d4ac6cd374c716ee8c1b007a4fc59a1e60f0b21441158e46957d893f53416cbd7e8b388ce078258201d85e0b99c3edb1b5ed4f522023787ab7441a55f491ef5d2a2f2eec4427bdfa158406ce7fd14820f9679812426f44b8738e7d915617956204b53b7e19d4ac6cd374c716ee8c1b007a4fc59a1e60f0b21441158e46957d893f53416cbd7e8b388ce078258201d85e0b99c3edb1b5ed4f522023787ab7441a55f491ef5d2a2f2eec4427bdfa158406ce7fd14820f9679812426f44b8738e7d915617956204b53b7e19d4ac6cd374c716ee8c1b007a4fc59a1e60f0b21441158e46957d893f53416cbd7e8b388ce07a1008182582083d1cae2613594aa88c1c7719f129cc567e66b3dc15d95a217577b30766d56ae5840abdfd9912ff9d6ecbbf860c8fde8b749896c233abc3b510aedce129a4aa752daf5a3181e72cd1bc9fbcf47ee96f19894b314e3a7fc41bcb5435c2e92e9367006a10081825820c6e7e64de649678c146efe547eeffe006604844bbbd32597b09c8d455b32f72b5840419a7523845bbe6de54dcc72113edf98c302e9b3f5987ae25a2cd924e839d2df585916be2e7ad09e2b4671194a8707d32c6098400765a79372c945b93892ad0ea1008182582057e9e167f807cf4f5f9396bbbaf57aaff4610f2ae094c78a64368a34ecaacdc958403f194b9ad2d8136f02397a49c4677e2d7284afeee30d73078713efee7b9a178322a9893bdb8cd30c61f274e7e5258b86a4d876c6d9ddfab3d351155580c48803a100818258205fc6d316dafaba9bc17cb1ea25282f65c1cee4bb3a21b6150dc54b6b3c1ce7e2584076c910d02abe3fc1f8d21cc8cf9d31d256703eae2298307d82165a0b420d16ce7c9345dad694808dec2ae59e6ddfc6b542de9badace1596e3ae20ee661d82f05a2008182582027f467bc52e5af73037069367857d6976079096d8a97f17fafdaf4639e555eef584082df6d5a4e47041648a0677cf664ae23227aa325a71adc0b3256c5d2f33fefc88d2482326303681732ec6e0bc0b923106246e6ea81698dd7aaf35804d982940a0581840000d87a80821a000258b31a02a25137a10081825820e5193b240cb6316ccb07b1eb46a3c5f547323dc06912f294ddf10a13082396745840140b074885ddc97de3d9638632e4c03b9637364c752a9c5d4e1b5655526b85b1d781dde1104daac674748d997dabfd7493ffcbc5b484207869cede457a086d0ba3008182582064e6487a723416572288946eb49e5194643a00b63109e7faadd4b6a5579fe56d5840d6d2d23b98aa793547c895342f1d861d61af90689345dbbb5b83abe979407683bc6ced3236a47540263beeaa4276dd797d0bc81a2693e92139cf1d4ff68ae4030482d8799f581c04ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383d9fd8799fd8799fd87a9f581c84cc25ea4c29951d40b443b95bbc5676bc425470f96376d1984af9abffd8799fd8799fd87a9f581c2c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6dffffffffa140d8799f00a1401a000f4240ffffd8799fd8799fd8799f581c18a3cd60d665240aba6d4a5704939ff32f2c9b6a2848e953745106a3ffd8799fd8799fd8799f581cc6a54aa4a07e621020eb66804479d7e0634c012aa9d6310141cb6ccbffffffffa140d8799f00a1401a00124f80ffffd8799fd8799fd8799f581c04ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383dffd8799fd8799fd8799f581c48accbfa8af8f4d333c43c57e6ac426a4d2d510de286f5439e2c0be7ffffffffa1581c1ec85dcee27f2d90ec1f9a1e4ce74a667dc9be8b184463223f9c9601d8799f01a0ffffffffd8799f581c04ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383d9fd8799fd8799fd87a9f581c84cc25ea4c29951d40b443b95bbc5676bc425470f96376d1984af9abffd8799fd8799fd87a9f581c2c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6dffffffffa140d8799f00a1401a000f4240ffffd8799fd8799fd8799f581c18a3cd60d665240aba6d4a5704939ff32f2c9b6a2848e953745106a3ffd8799fd8799fd8799f581cc6a54aa4a07e621020eb66804479d7e0634c012aa9d6310141cb6ccbffffffffa140d8799f00a1401a0016e360ffffd8799fd8799fd8799f581c04ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383dffd8799fd8799fd8799f581c48accbfa8af8f4d333c43c57e6ac426a4d2d510de286f5439e2c0be7ffffffffa1581c1ec85dcee27f2d90ec1f9a1e4ce74a667dc9be8b184463223f9c9601d8799f01a0ffffffff0582840001d87980821a0005a5581a056fd935840000d87980821a0011e8721a11fd09b5a300d90102818258201556bf2514165cd54f9f6d83fc0c520fd9de34e805004be2a50432b9cac6e4b0584025f43d0e08023d1967545c8af0888bc0116d5dfcfdf981aa0c87c5d398eedc7c73477e6575371b5cee21ee4df35471601a383a6551377faf5eaa528366da5c0604d9010282d8799fd8799fd8799fd8799f581c1931cb9eee235ed973ae21c9482936a28cdf882cad19c658c3c57c49ffd8799fd8799fd8799f581cf770dd26d10f523a83d5967613128a3b486fd3479f6ad4d9b4e39b80ffffffff4040581c09f2d4e4a5c3662f4c1e6a7d9600e9605279dbdcedb22d4507cb6e75435350461a015fd0fed87a801a00286f90ffffd8799f4f4d7565736c69537761705f76322e32ff05a282000182d87a9f00ff821a0024eaca1a20994d3682000382d8799f0203ff821a000686cd1a0982d4a5a400818258200303157375f23161027902abff500a6268c00a69f45f7bfe5adbc2f70f15df9458401e81a7e7690ad32494e3177f2d6b687cafbe234178e6c8822642bcd0815bf21dcf0213e873c3bb8062c392ab413672c23b87c72f576185c46f9813593ec28c05038259014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c01049fd8799fd8799fd8799f581c55c4106f5d20edf51335dc225b57d0ffff41099eceb0d1052d565047ffd8799fd8799fd8799f581c53f5304dfb9bfe03e1585105173afbec3e25a8d47357eaa468de0029ffffffffd8799fd8799f581c55c4106f5d20edf51335dc225b57d0ffff41099eceb0d1052d565047ffd8799fd8799fd8799f581c53f5304dfb9bfe03e1585105173afbec3e25a8d47357eaa468de0029ffffffffd87a80d8799fd8799f581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61444652454eff1a00fb1f44ff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61444652454eff1b00000011e9a7b45b1b0000001672a94a2ad8799fd8799fd8799fd8799f581caafb1196434cb837fd6f21323ca37b302dff6387e8a84b3fa28faf56ffd8799fd8799fd8799f581c52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2ffffffffd87a80ffffffff0582840002d879808219a44d1a00c298b4840001d8799fd8799fd8799f581cbcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9dffd8799fd8799fd8799f581c52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2ffffffff00ff821a002800f31a214a3ad2a700a11902a2a1636d7367826f44657868756e74657220547261646570506172746e6572205645535052694f5302a11902a2a1636d7367826f44657868756e74657220547261646570506172746e657220544150544f4f4c5305a008a11902a2a1636d736781754d696e737761703a2043616e63656c204f7264657209a11902a2a1636d736781764d696e737761703a205a6170204f7574204f726465720bd90103a100a11902a2a1636d73678178214d7565736c6953776170207820537065637472756d204d61746368204f726465720ca11902a2a1636d736781774d696e737761703a204f7264657220457865637574656480")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedures.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedures.cs index c1636e5f..6c816a7c 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedures.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedures.cs @@ -1,12 +1,13 @@ using Chrysalis.Cbor.Attributes; using Chrysalis.Cbor.Converters.Primitives; using Chrysalis.Cbor.Types; +using Chrysalis.Cbor.Types.Collections; namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; [CborConverter(typeof(MapConverter))] public record VotingProcedures( - Dictionary Value + Dictionary> Value ) : CborBase; From 54e71752900eb644aa0e5b0a465022b90b2f38e6 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Wed, 18 Dec 2024 06:53:44 +0800 Subject: [PATCH 081/162] chore: bump Chrysalis version to `0.5.13` (#97) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index d1283644..4cb191bc 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.12 + 0.5.13 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From 8b2cc765f9280f55f8ac5f44b7b0691a987f92ca Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 17 Dec 2024 18:12:40 -0500 Subject: [PATCH 082/162] fix: datum option extraction extension (#98) --- .../Extensions/TransactionOutputExtension.cs | 45 +++++++------------ 1 file changed, 15 insertions(+), 30 deletions(-) diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs index aa62c833..a1905749 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs @@ -1,3 +1,4 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Body; using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; namespace Chrysalis.Cardano.Core.Extensions; @@ -57,44 +58,28 @@ public static class TransactionOutputExtension public static byte[]? Datum(this TransactionOutput transactionOutput) { - DatumOption? datumOption = transactionOutput.DatumOption(); - byte[]? datumHash = transactionOutput.DatumHash(); + (DatumType DatumType, byte[]? RawData) datum = transactionOutput.DatumInfo(); - byte[]? rawData = datumOption switch - { - DatumHashOption hashOption => hashOption.DatumHash.Value, - InlineDatumOption inlineOption => inlineOption.Data.Value, - _ => null - }; - - rawData ??= datumHash; - - return rawData; + return datum.RawData; } public static (DatumType DatumType, byte[]? RawData) DatumInfo(this TransactionOutput transactionOutput) { - DatumOption? datumOption = transactionOutput.DatumOption(); - return datumOption switch + return transactionOutput switch { - DatumHashOption hashOption => (DatumType.Hash, hashOption.DatumHash.Value), - InlineDatumOption inlineOption => (DatumType.Inline, inlineOption.Data.Value), + AlonzoTransactionOutput a => a.DatumHash switch + { + null => (DatumType.None, null), + _ => (DatumType.Hash, a.DatumHash.Value) + }, + BabbageTransactionOutput b => b.Datum switch + { + InlineDatumOption inline => (DatumType.Inline, inline.Data.Value), + DatumHashOption hash => (DatumType.Hash, hash.DatumHash.Value), + _ => (DatumType.None, null) + }, _ => (DatumType.None, null) }; } - - public static DatumOption? DatumOption(this TransactionOutput transactionOutput) - => transactionOutput switch - { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Datum, - _ => null - }; - - public static byte[]? DatumHash(this TransactionOutput transactionOutput) - => transactionOutput switch - { - AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.DatumHash.Value, - _ => null - }; } \ No newline at end of file From ef13d481d7c00229dd6a5835d8d745c41a7cf16d Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Wed, 18 Dec 2024 07:13:33 +0800 Subject: [PATCH 083/162] chore: bump Chrysalis version to `0.5.14` (#99) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 4cb191bc..d2ebcae2 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.13 + 0.5.14 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From 422e21eac20abba3acff8bf229d4d352adb9a313 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 17 Dec 2024 20:51:05 -0500 Subject: [PATCH 084/162] fix: incorrect protocol params update shape (#100) * fix: incorrect protocol params update shape * fix cip68 shape to reuse plutusdata type --- src/Chrysalis.Test/CborTests.cs | 4 +- .../Protocol/ProtocolParamUpdate.cs | 22 +++++++++- .../Block/Transaction/Script/PlutusData.cs | 40 ++++++----------- src/Chrysalis/Plutus/Types/CIP68.cs | 43 ++----------------- 4 files changed, 39 insertions(+), 70 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 90451946..bd824516 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -70,7 +70,7 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("85828a1a00ab2d8a1a088004375820afe1a5f4d39f8233dd25aebec5f7c8ddfc10cc994e62141add98a71dc1bd20b45820cca475e401893077582e74e5f694e741e5ec78df16f5ca4f979a2f297d02c54e58202a20b39a975102c19ea1d145df120579a2595ce6d696753424b13eeceb157fdf8258407bd6f9db26624f1facacebf11f2f4bcff78b3d1bab95b7e6ae88826aeb186a0305a9a213f991f2d248cd9c7a117a74f17704cd737c39de43feedaf70fe06f9615850193abfcd83f918b112eea8d805e1a8e4e8a6d76b08fdcd1288ddbd3de579320ad80908bef14417dce27bd784a276ed8908c039be32ca53f18010d7ca421d508a4b6d74282e51c5d67533c2c3698dca071947b6582047ea1d13b6c11b39ff5d42e4ba618ef2915f71ca5377473020fa9c49a9949f018458203fddf3616c3b37526ad1cc9b725af8ab6a8e1bfe09625cf2c8ee15b0c3f3ef3518181904455840347d7dd1764dd65f5a1569cb5c9433b10c09d272bdae8c2ac0fe4c99c4e1fb98918ac4b8f2dcb8a245715c9812246ac404d1757060ff4cd014b900e24df2e400820a015901c048a1826684bb89420cb500b90fafd8d884cd48d9a6973beca42f6afaa6ce3b9c434fbdb5774d64b92e61c52864fc44fa19edbc561744d87dcc0190109a9b210a53599d82cc038f3a008a5293bf4f995be749e89cb47804d2e767e79c00f696f103c89d8a657224184077a63ff956e5b643f49febc01dc0317827d7951b66d58b2bfb5c210076c3d9c735f5684ac8f4242569a32cae2f2d75580e517cc9dc07c20adadb91ef68bff5635c8a3c660d591720fb0c4cf7138199e6324da2f367276fa254dfec78944bc29d026463f0815fd88a2f4eb3efed1582a98c4057e4e361feb6eb97d49822ce11bb3bdc9742a5022b011e44e237406701e422ea8ef33425f708173f8f7ee2960e75228e83ce6912758756d64b5247dcf575003f655a620ff313c96467dd0995a3df7d14125af78fe28f027df1b07c8c0c87f82b6edcd19ee3c218fc467aa810dc731be2231e7254b86e9ad003386652a38c183ba7ae5f5ebb37e42965267a596c4813731906a0448e0521978f52458453a53083825ac60569e53fd7aefe0dcd903ef42452266fb9e4c6d78babbeed35be642a64ac258f73f4ffe1fb5b86b7e9324fb7ef09c1fc4418f0f6f605017b306d5a15145ff9788bef8da7008182582014a8da74669978b51cd7c1cfc640d2a33b01aa2253a644a217ed6bff079e828b000184a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c7661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bb011a1908b100028201d818590130d8799fd8799f581c0bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb547ffd8799fd8799f581c0bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb547ffd8799fd8799fd8799f581c7661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bbffffffffd87980d8799fd8799f581c0bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb547ffd8799fd8799fd8799f581c7661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bbffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c582016e50e88ec85c5a4c399e6ef6dd72f6314e20f10a80c27b2bb0897ac4fb52bfbffd8799fd87a80d8799f1a18cba800ff1a00020041d87980ff1a001e8480d87a80ff82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a001fbd00825839010bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb5477661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bb1a001e8480825839010bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb5477661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bb1a009ecc99021a0004358d031a08801224075820360dded0dc97b71db4f18c3db30dc925293047f9370d96fbc2c8cf5335af4955081a088004140e82581c0bf3e95ead1b1873bd89cbf95a476ce5b5cd4d4de7aad603c14bb547581c7661f9986c5da3494fde371b8033630d2ed0fbeba32d79405a5a84bba40082825820dee9173eebd35cd945e72009efe42e8bfc6e28196f0efecc1e7fbced03df018000825820dee9173eebd35cd945e72009efe42e8bfc6e28196f0efecc1e7fbced03df0180010182825839011bc84ae1a6eebae50426feba647c7fbbe193be27d2de7a1a349b9a97f96b5d7c0f97fc45592807eeaa85afe337001d63b49d38647bb0b0a1821a0016b066a2581cde5837d0ec2eecdbaf335436a72d0c838cf0346a371a311e6875e7e2a14d3637306137353364316636663901581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa24f000de140656c6663656e74697665730152000de140676e6f627564797370656369616c01825839011bc84ae1a6eebae50426feba647c7fbbe193be27d2de7a1a349b9a97f96b5d7c0f97fc45592807eeaa85afe337001d63b49d38647bb0b0a11b0000000272e3fd8d021a0002c95913a18202581c1b44737f61e531f76bc944a132d064f085bf5723615b6a7d0515707ba1825820fff0df644d328a5367212f45bab59060bde3c4091dc96c723062896fd6197314008201f6a700818258201097dfc662182248ec7447462e8733a582ac7a71d4219e6699c1a5b619f9969a030184a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4ca2fa605988917f9a96f2df45549942548f2792db076cd153a2226802011a14250c7e028201d818590130d8799fd8799f581ca79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3ffd8799fd8799f581ca79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3ffd8799fd8799fd8799f581ca2fa605988917f9a96f2df45549942548f2792db076cd153a2226802ffffffffd87980d8799fd8799f581ca79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3ffd8799fd8799fd8799f581ca2fa605988917f9a96f2df45549942548f2792db076cd153a2226802ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c5820dab0257ab4be2b39d640f2caf7582ea3d84fd98445c690dcc68d5312d3095887ffd8799fd87a80d8799f1a13e8037eff1ae98d0480d87980ff1a001e8480d87a80ff82583901ffebcc9e31749eb5803e396202d84e3b436ec362463b2fd70fb4c8819086fc9117b2dadb43da1f922c46039a47d51bff09433dcdd18f1cce1a00145ad482583901a79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3a2fa605988917f9a96f2df45549942548f2792db076cd153a22268021a001e848082583901a79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3a2fa605988917f9a96f2df45549942548f2792db076cd153a22268021b00000002aa8398fa021a000436ed031a088012170758202dc628086810b33c5d41765f60916e10dd75a406a4f57db79f2f4c038cb9a95f081a088004070e82581ca79e3310327ff57aec9921c729d9a81389fe10aaa398fda3e5ae0fb3581ca2fa605988917f9a96f2df45549942548f2792db076cd153a2226802a50082825820a916e572536214c6a446402b403c4bd8511fc0a551c5d84c0070c9331dfbd13b00825820a916e572536214c6a446402b403c4bd8511fc0a551c5d84c0070c9331dfbd13b010182825839015b958114bb3439600fa7e1552d1014f1751463e621da7671c70fda875b958114bb3439600fa7e1552d1014f1751463e621da7671c70fda871a000f4240825839015b958114bb3439600fa7e1552d1014f1751463e621da7671c70fda875b958114bb3439600fa7e1552d1014f1751463e621da7671c70fda871b000000043671bcc9021a0002d7fb031a3b9aca0005a1581de15b958114bb3439600fa7e1552d1014f1751463e621da7671c70fda871a006984a0a50081825820b9e958cece18f29743d08b95f67f6c0fb403dca234cc4654bef2f990d484e5f9010182825839010ea1487038b530012c92c8d5cad37ffa11ae8e33bcc9dbb42515b14ca4e7266de776411f3b7dd616c82a39f3169c12e77f38b03d921daceb1a05f5e100825839014185913e9612fb28c0b89d3690c8c105776aac241eb481607bff6006f2a3bcf5f3be09d75ffc79a8f1ebaa0c3c3f545bc1d8a0afd4871d921af74f81d5021a000295c9031a08802027081a0484c725a5008182582012bbb3146ac19f7b61886529242013d95ad460f899850cbaa4a7c4f9de64ccbe00018282583901a4b13d790cc31a780985d23633dc19cc25a74ff252870d555b63ae540faa96e4972d5198ad919b81932a20d00a49b84f8b65b05890957f9e1a0bc72300825839014ae8d4a9874bfa493c85bc5cb02045acabe82d172cfa0a46dbe54ce3cb76a7492f22139fc58ccf64ede74e25bb35cd39ad003562f77f3ee61a000fb8af021a000296d1031a08805867075820d36a2619a672494604e11bb447cbcf5231e9f2ba25c2169177edc941bd50ad6ca3008182582086a6c5a72bb617464e29b6658868a5ddcf7cabd0536afd51a1fa74040f871bbd02018282583901848747584fc255392291b847fa8ba334025c2ec152e1c3377e7ffd4a530eb0f5442866251b2f0290dfa944f3f57f966e5902bfca9c724a011a00155cc0825839019ea588dd995982843470ae162ff223ca87c024421aa4b22879bddf90bd980ae9b4d120d607d71f26d39a247d6828aa647e5ff5a69a411e2b1a03090a41021a00029075a50081825820debc4983b5ad43275e18cb3f4b41a9399d99d08353a26863bb9905c8917cb45201018282583901bf455580831d63ca9789e606628a37adb7db5db15cb69569913dfc3047fd7e9bea97a0748a9c26c504d8635af675d01af61eba028281defe1a1dc2468b82583901583c6f9580fc41c0369f0e870c481c34ee5df9d06d62ac82563e82ffebf7a44ffaaa5199e55cbbc16db8219d94212af6b80c18ff4eb9a7c21b00000001ee30a922021a000295c9031a08801f95081a04ec3539ab00818258200107cad92ce8fe0c1e7fff31945f2f6187bba5b79a52b47ba4d7dfc48b4eeab40401818258390105654a7f25bfbc065fe81671fa3c06db6d80f26fcf1e3109d6073983125e047be2f67197a817a9dfb2017cd52559419630feb21beac54d2b1a3bd44e09021a000384f7031a08802e58075820039c21bb80e729f444f6f5ab66b7e6d4c1deca6ece1cafe940209783bba2a32d0b582002b4dbcdbb671e62b2c4e5bd39082ca85c181f349c48d1a588670300b4b6dcb80d818258208e0f8596c10b6fa8ddbd81075fc804686a2a1dc78507a9fd9df3645b1e037503000e81581c05654a7f25bfbc065fe81671fa3c06db6d80f26fcf1e3109d6073983108258390105654a7f25bfbc065fe81671fa3c06db6d80f26fcf1e3109d6073983125e047be2f67197a817a9dfb2017cd52559419630feb21beac54d2b1a3b8802c9111a004c4b401281825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a62177600a60082825820ca88b5f66b850aa6838e43424722dc754305b03578b1e5d513ead91b40695bc700825820ef12274debe9e6eb87438fc82c7bacc741cf564053f9dd5838de721b2db4a008020182a300583911c3e28c36c3447315ba5a56f33da6a6ddc1770a876a8d9f0cb3a97c4c50a0a221d0a32491f5228cd307967a6c485265e2f387faf12213a88101821a003bf1daa1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca15820bc53f5c2a8cf3ef64081d2ec8c74333d567fc7ef271c1b97d21fdd53a2c5c8891a0fa182f6028201d818590130d8799fd8799f581c3a445b3c5489bfa9781494b0294acd26b7aa90d30c184961fc7c6853ffd8799fd8799f581c3a445b3c5489bfa9781494b0294acd26b7aa90d30c184961fc7c6853ffd8799fd8799fd8799f581c50a0a221d0a32491f5228cd307967a6c485265e2f387faf12213a881ffffffffd87980d8799fd8799f581c3a445b3c5489bfa9781494b0294acd26b7aa90d30c184961fc7c6853ffd8799fd8799fd8799f581c50a0a221d0a32491f5228cd307967a6c485265e2f387faf12213a881ffffffffd87980d8799f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4c5820bc53f5c2a8cf3ef64081d2ec8c74333d567fc7ef271c1b97d21fdd53a2c5c889ffd87f9fd87980d8799f1a0fa182f6ff1a1401baf2d87980ff1a001d6d5ad87a80ff825839013a445b3c5489bfa9781494b0294acd26b7aa90d30c184961fc7c685350a0a221d0a32491f5228cd307967a6c485265e2f387faf12213a8811a0077d96b021a0002ec11031a08802e190758208ab03f8298a5d477d596d1fa7c72f97b76631acacfbfe72a82ef15f8f542a19e12818258206c024ba3a285f6c9f7d152c5a80ab30ceaaf38d476fd4e6998a69b252021516800aa0082825820b638275dcff30ba9609d075370b9465559490b416fb1903f86d9d9716333239f0082582006bc2c135466a75405882eef0890ddc0ea1ec194960cb6cd8461c0fa25130ef50001818258390104ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383d48accbfa8af8f4d333c43c57e6ac426a4d2d510de286f5439e2c0be71a05569713021a0006b36d031a088007af0b582009d9598c50f8ca542d3776fafd0aa284399d00ed9fcef68ad53a4fec516707080d81825820d1df367fe276ff7feb7e3195f2e7317bf95550687c4ffa310fee58d233a5216a020e81581c04ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383d108258390104ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383d48accbfa8af8f4d333c43c57e6ac426a4d2d510de286f5439e2c0be71a00451632111a000a0d2412818258209a32459bd4ef6bbafdeb8cf3b909d0e3e2ec806e4cc6268529280b0fc1d06f5b00ab00d901028582582059f3338b6dddd7a36557a40cd5c561008c543f19ae0d12f2ffdce4bafe71b953008258206089e3a966e30b84223ed30026f53256d908988842f7f9e04e21c3c01c283cd0008258206e982b87878460e3943983e70dc3126b9dddbb4795ce7cfdf34daaca2e395daa04825820839d80ffb384e32cb2bb9d3877f3ae364a2895bc92adba8ab9de922c5799b03c00825820a7d07fe624fc6abf9f5fe573455af750bfd182e0da0e7d6c231f3756dda7bcf9040dd90102828258206e982b87878460e3943983e70dc3126b9dddbb4795ce7cfdf34daaca2e395daa04825820a7d07fe624fc6abf9f5fe573455af750bfd182e0da0e7d6c231f3756dda7bcf90412d90102828258207e4142b7a040eae45d14513000adf91ab42da33a1bd5ccffcfe851b3d93e1e5e01825820c8c93656e8bce07fabe2f42d703060b7c71bfa2e48a2956820d1bd81cc936faa00018582583901f16cf37c331bff55ba75328453092d35cc38dc8c447684963bc98f55b862e5b3e67d75c9295b09d659982b0e157072156cbcb820b37ca8dd821a0022b9e4a6581c5817c34e5702473304f3cf676299176d3824e55b8c0bfa94830429fda146019b76daa80001581c8db269c3ec630e06ae29f74bc39edd1f87c819f1056206e879a1cd61a14c446a65644d6963726f5553441a00a55ee4581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a040eddf4581cb686e45c9181618e20e26cf0e2fc1e9f336bb0df914e645b5adad5bda146019b76daa80001581ced8074e8768199746ee58aed1f8b005eaa812afa44a268230603e969a146019b76daa80001581cf94fd008635cf307663aadd995ed69d5fbbfd65f84679fc38254d664a146019b76daa8000183583901f16cf37c331bff55ba75328453092d35cc38dc8c447684963bc98f55b862e5b3e67d75c9295b09d659982b0e157072156cbcb820b37ca8dd1a004ceaee5820cc00000000000000000000000000000000000000000000000000000000000000a3005839316b9c456aa650cb808a9ab54326e039d5235ed69f069c9664a8fe5b69b2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821b0000000f16ffe58da3581c09f2d4e4a5c3662f4c1e6a7d9600e9605279dbdcedb22d4507cb6e75a1435350461b00000511d36274c5581c74f47c99ac793c29280575b08fe20c7fb75543bff5b1581f7c162e7ca14a5350465f4144415f4c511b7fffff76764304bf581ca80022230c821a52e426d2fdb096e7d967b5ab25d350d469a7603dbfa14b5350465f4144415f4e465401028201d8185890d8799fd8799f581ca80022230c821a52e426d2fdb096e7d967b5ab25d350d469a7603dbf4b5350465f4144415f4e4654ffd8799f4040ffd8799f581c09f2d4e4a5c3662f4c1e6a7d9600e9605279dbdcedb22d4507cb6e7543535046ffd8799f581c74f47c99ac793c29280575b08fe20c7fb75543bff5b1581f7c162e7c4a5350465f4144415f4c51ff1903e58000ff835839011931cb9eee235ed973ae21c9482936a28cdf882cad19c658c3c57c49f770dd26d10f523a83d5967613128a3b486fd3479f6ad4d9b4e39b801a018b084d582020a0255f62f30b76a99fedad498353f5629c3c6aa75f4d07a9020100c697d1a782583901f16cf37c331bff55ba75328453092d35cc38dc8c447684963bc98f55b862e5b3e67d75c9295b09d659982b0e157072156cbcb820b37ca8dd1a0099b55a1082583901f16cf37c331bff55ba75328453092d35cc38dc8c447684963bc98f55b862e5b3e67d75c9295b09d659982b0e157072156cbcb820b37ca8dd1a00d275cd111a000eb8b1021a0009d076031a08802b370ed9010281581cf16cf37c331bff55ba75328453092d35cc38dc8c447684963bc98f550b5820874e92770c1ee9e79d3a8506f1a31dbac961aeaa0f1f81feb681b36899f4a80d075820606a8b7f99fb20e45bdce4e5b2e00ea010893a0c0ff362acfd1d7e5c7e747795ab0083825820013b4c1400d264d70f8629850a947ef633836a8d9962619182c189200b7580280282582054e2edae6fb4149782f9f6cac028e1180fe0ed7b66077e8faea4aa33568ee1d4008258209f54d98018fc55f468b3bcb4e1317da5ebf93c0ab7a27691134909b2712edced00018383583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330916b485a6b812feb6e2abd0440bff46e1b8b6eebb6cebb4096dc732f9821b00000048ea0fcd51a4581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a158202fbc26cfc11e2d1ac6ea99da484e97c4eb13e7587c1175afe4251d26f1adf4bb01581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158202fbc26cfc11e2d1ac6ea99da484e97c4eb13e7587c1175afe4251d26f1adf4bb19099b581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61a1444652454e1b00000006f50ba30d58204ea88ebd8a9e51d4b6cdd51eda3f5aad1499a4bdffe334fab4a3cc8d1d8ee3dd8258390155c4106f5d20edf51335dc225b57d0ffff41099eceb0d1052d56504753f5304dfb9bfe03e1585105173afbec3e25a8d47357eaa468de0029821a001e8480a1581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61a1444652454e1a010856ce82583901bcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821a1615a8bba1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d3137333532303336303030303001021a000bcfbc031a0880080f0758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a088004270b58206e1068e45c5685a6b2e5f7146e70067e3be37e764ec28484724231cf4149f8980d81825820013b4c1400d264d70f8629850a947ef633836a8d9962619182c189200b758028020e81581cbcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d1082583901bcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9d52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821a15b6a8b7a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d3137333532303336303030303001111a004c4b408da100828258203b85c71de38f1773333b8a1e4fb50df525e08191778b80bf2ed022366ed9551f5840f598fc84d622964b499e1996fd23cd99c24837d8b27d3a67d7387ae45d9204e883743d869088429a5a54417743e5fb5ab7d7069bf5a29485bc80446ec8fe5a0e82582028f62041a9a176792e9f4d26926b3509c1a83b06a0c2c94d32487694ed7a4e0b5840251e25c59290609e51ac70bf7be43a467845fd7e9db96e6e7f4ad88e4ad2bcb8e647ee1269e069dbc8243780e98cc17591724729eda738178be37b64ee1ff00ea1008282582062ed0bc7044d082ecbb4ddd1e94899a31ae1e79b67d16a4da81a65056a888f46584043d6935ef8f8cded8ab543606a4ab7ccbe6fd901d7cec274f90e05e9c04d4fd2abcc1da1075f69f3a4f03de3ba9524adcdcb2c684a25c4cfcbd98e06c155150b8258206f5f769c9cd6bc2b0dabf4ac4926f99c614a916414336fea030f45643c0d5542584013cbaa468addda2e1d8de62cda23bd1286f0f33216aa6b4d3977a830768dcb464fc4935771f452e490723ff6473e19382fbd2662bfe404a9cf1e0eed6a946e0ba10082825820f8c6ca964021cf3537ea8af8866024a58a9972feac0a54b3c89f076ee6c6cf185840d9a9ffa48f885516bf83f73d63dd15455be03b1960c457b1353d5e0e3cc44d06cea50cf888774f7fe7e5998197f21d1ad69cc6f02a7e2fc8053f4c4c45021c01825820c950d32cc3314d306c2888da9c13250649b4acdda88cb8b027a9e881d586d904584091a222a480c415f73694cd5a2775bec89940a291247c50a4db41b5a4d4ce3ce6d008442db7a3f4afe93f5bd7c610d383802889ef2a0957610e4f966d520d7f0ca100838258201d85e0b99c3edb1b5ed4f522023787ab7441a55f491ef5d2a2f2eec4427bdfa158406ce7fd14820f9679812426f44b8738e7d915617956204b53b7e19d4ac6cd374c716ee8c1b007a4fc59a1e60f0b21441158e46957d893f53416cbd7e8b388ce078258201d85e0b99c3edb1b5ed4f522023787ab7441a55f491ef5d2a2f2eec4427bdfa158406ce7fd14820f9679812426f44b8738e7d915617956204b53b7e19d4ac6cd374c716ee8c1b007a4fc59a1e60f0b21441158e46957d893f53416cbd7e8b388ce078258201d85e0b99c3edb1b5ed4f522023787ab7441a55f491ef5d2a2f2eec4427bdfa158406ce7fd14820f9679812426f44b8738e7d915617956204b53b7e19d4ac6cd374c716ee8c1b007a4fc59a1e60f0b21441158e46957d893f53416cbd7e8b388ce07a1008182582083d1cae2613594aa88c1c7719f129cc567e66b3dc15d95a217577b30766d56ae5840abdfd9912ff9d6ecbbf860c8fde8b749896c233abc3b510aedce129a4aa752daf5a3181e72cd1bc9fbcf47ee96f19894b314e3a7fc41bcb5435c2e92e9367006a10081825820c6e7e64de649678c146efe547eeffe006604844bbbd32597b09c8d455b32f72b5840419a7523845bbe6de54dcc72113edf98c302e9b3f5987ae25a2cd924e839d2df585916be2e7ad09e2b4671194a8707d32c6098400765a79372c945b93892ad0ea1008182582057e9e167f807cf4f5f9396bbbaf57aaff4610f2ae094c78a64368a34ecaacdc958403f194b9ad2d8136f02397a49c4677e2d7284afeee30d73078713efee7b9a178322a9893bdb8cd30c61f274e7e5258b86a4d876c6d9ddfab3d351155580c48803a100818258205fc6d316dafaba9bc17cb1ea25282f65c1cee4bb3a21b6150dc54b6b3c1ce7e2584076c910d02abe3fc1f8d21cc8cf9d31d256703eae2298307d82165a0b420d16ce7c9345dad694808dec2ae59e6ddfc6b542de9badace1596e3ae20ee661d82f05a2008182582027f467bc52e5af73037069367857d6976079096d8a97f17fafdaf4639e555eef584082df6d5a4e47041648a0677cf664ae23227aa325a71adc0b3256c5d2f33fefc88d2482326303681732ec6e0bc0b923106246e6ea81698dd7aaf35804d982940a0581840000d87a80821a000258b31a02a25137a10081825820e5193b240cb6316ccb07b1eb46a3c5f547323dc06912f294ddf10a13082396745840140b074885ddc97de3d9638632e4c03b9637364c752a9c5d4e1b5655526b85b1d781dde1104daac674748d997dabfd7493ffcbc5b484207869cede457a086d0ba3008182582064e6487a723416572288946eb49e5194643a00b63109e7faadd4b6a5579fe56d5840d6d2d23b98aa793547c895342f1d861d61af90689345dbbb5b83abe979407683bc6ced3236a47540263beeaa4276dd797d0bc81a2693e92139cf1d4ff68ae4030482d8799f581c04ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383d9fd8799fd8799fd87a9f581c84cc25ea4c29951d40b443b95bbc5676bc425470f96376d1984af9abffd8799fd8799fd87a9f581c2c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6dffffffffa140d8799f00a1401a000f4240ffffd8799fd8799fd8799f581c18a3cd60d665240aba6d4a5704939ff32f2c9b6a2848e953745106a3ffd8799fd8799fd8799f581cc6a54aa4a07e621020eb66804479d7e0634c012aa9d6310141cb6ccbffffffffa140d8799f00a1401a00124f80ffffd8799fd8799fd8799f581c04ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383dffd8799fd8799fd8799f581c48accbfa8af8f4d333c43c57e6ac426a4d2d510de286f5439e2c0be7ffffffffa1581c1ec85dcee27f2d90ec1f9a1e4ce74a667dc9be8b184463223f9c9601d8799f01a0ffffffffd8799f581c04ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383d9fd8799fd8799fd87a9f581c84cc25ea4c29951d40b443b95bbc5676bc425470f96376d1984af9abffd8799fd8799fd87a9f581c2c967f4bd28944b06462e13c5e3f5d5fa6e03f8567569438cd833e6dffffffffa140d8799f00a1401a000f4240ffffd8799fd8799fd8799f581c18a3cd60d665240aba6d4a5704939ff32f2c9b6a2848e953745106a3ffd8799fd8799fd8799f581cc6a54aa4a07e621020eb66804479d7e0634c012aa9d6310141cb6ccbffffffffa140d8799f00a1401a0016e360ffffd8799fd8799fd8799f581c04ba52d8296e8e9dfc7dcd5e72e4402cbe419cfd46bc96ba80ab383dffd8799fd8799fd8799f581c48accbfa8af8f4d333c43c57e6ac426a4d2d510de286f5439e2c0be7ffffffffa1581c1ec85dcee27f2d90ec1f9a1e4ce74a667dc9be8b184463223f9c9601d8799f01a0ffffffff0582840001d87980821a0005a5581a056fd935840000d87980821a0011e8721a11fd09b5a300d90102818258201556bf2514165cd54f9f6d83fc0c520fd9de34e805004be2a50432b9cac6e4b0584025f43d0e08023d1967545c8af0888bc0116d5dfcfdf981aa0c87c5d398eedc7c73477e6575371b5cee21ee4df35471601a383a6551377faf5eaa528366da5c0604d9010282d8799fd8799fd8799fd8799f581c1931cb9eee235ed973ae21c9482936a28cdf882cad19c658c3c57c49ffd8799fd8799fd8799f581cf770dd26d10f523a83d5967613128a3b486fd3479f6ad4d9b4e39b80ffffffff4040581c09f2d4e4a5c3662f4c1e6a7d9600e9605279dbdcedb22d4507cb6e75435350461a015fd0fed87a801a00286f90ffffd8799f4f4d7565736c69537761705f76322e32ff05a282000182d87a9f00ff821a0024eaca1a20994d3682000382d8799f0203ff821a000686cd1a0982d4a5a400818258200303157375f23161027902abff500a6268c00a69f45f7bfe5adbc2f70f15df9458401e81a7e7690ad32494e3177f2d6b687cafbe234178e6c8822642bcd0815bf21dcf0213e873c3bb8062c392ab413672c23b87c72f576185c46f9813593ec28c05038259014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c01049fd8799fd8799fd8799f581c55c4106f5d20edf51335dc225b57d0ffff41099eceb0d1052d565047ffd8799fd8799fd8799f581c53f5304dfb9bfe03e1585105173afbec3e25a8d47357eaa468de0029ffffffffd8799fd8799f581c55c4106f5d20edf51335dc225b57d0ffff41099eceb0d1052d565047ffd8799fd8799fd8799f581c53f5304dfb9bfe03e1585105173afbec3e25a8d47357eaa468de0029ffffffffd87a80d8799fd8799f581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61444652454eff1a00fb1f44ff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581cfc11a9ef431f81b837736be5f53e4da29b9469c983d07f321262ce61444652454eff1b00000011e9a7b45b1b0000001672a94a2ad8799fd8799fd8799fd8799f581caafb1196434cb837fd6f21323ca37b302dff6387e8a84b3fa28faf56ffd8799fd8799fd8799f581c52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2ffffffffd87a80ffffffff0582840002d879808219a44d1a00c298b4840001d8799fd8799fd8799f581cbcb15ea0ccde1a3e6bca4472724e4017e173f94e97a60d3e682a6e9dffd8799fd8799fd8799f581c52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2ffffffff00ff821a002800f31a214a3ad2a700a11902a2a1636d7367826f44657868756e74657220547261646570506172746e6572205645535052694f5302a11902a2a1636d7367826f44657868756e74657220547261646570506172746e657220544150544f4f4c5305a008a11902a2a1636d736781754d696e737761703a2043616e63656c204f7264657209a11902a2a1636d736781764d696e737761703a205a6170204f7574204f726465720bd90103a100a11902a2a1636d73678178214d7565736c6953776170207820537065637472756d204d61746368204f726465720ca11902a2a1636d736781774d696e737761703a204f7264657220457865637574656480")] + [InlineData("D87983AA436167654C4170722031332C20323032334370667082584068747470733A2F2F6173736574316B783038653333343761773861353075356A747239676D66786A35786133676C61366139746D2E6170652E6E667463646E2E5840696F2F696D6167653F73697A653D32353626746B3D5F42427751364B4B4D4A38684562596E585F5F5066304F7770617369775177586E4747417A327775465F77446E616D654D436974697A656E2023373539384566696C657383A3437372635835697066733A2F2F516D573377427264645673374459714541533956366E77626A4B6D646241363269656E3276773938647172467934446E616D654D436974697A656E202337353938496D656469615479706549696D6167652F706E67A3437372635835697066733A2F2F516D5842755158696A4450776A626853486D5A57454659534231576F46563171706E634D4D634170544553703148446E616D654850617373706F7274496D656469615479706549696D6167652F676966A3437372635835697066733A2F2F516D564C4D6F414A487A6D4D75615047685A50514C524C573563796B5665435357415331396755566B5262537261446E616D654850617373706F7274496D656469615479706549766964656F2F6D703445696D6167655835697066733A2F2F516D573377427264645673374459714541533956366E77626A4B6D646241363269656E327677393864717246793446476F6C64656E4566616C7365466F726967696E4F5468652041706520536F6369657479467374616D7073427B7D496D656469615479706549696D6167652F706E674A736F6C416464726573734001D879860181581CE36F43A40751C35295B19A218301CC7BE019D016E8927C0321FD28C7D87A80581CFCA746F58ADF9F3DA13B7227E5E2C6052F376447473F4D49F8004195D87A80D87A80")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); @@ -83,7 +83,7 @@ public async Task DeserializeBlock(string cbor) for (int i = 0; i < iterationsPerTask; i++) { // This call should be thread-safe and never fail if the code is correct - Block block = CborSerializer.Deserialize(cborRaw); + Cip68 block = CborSerializer.Deserialize>(cborRaw); // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue Assert.NotNull(block); diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ProtocolParamUpdate.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ProtocolParamUpdate.cs index 81f4a571..610829d5 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ProtocolParamUpdate.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ProtocolParamUpdate.cs @@ -1,5 +1,6 @@ using Chrysalis.Cardano.Core.Types.Block.Header.Body; using Chrysalis.Cardano.Core.Types.Block.Transaction.Governance; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; using Chrysalis.Cbor.Attributes; using Chrysalis.Cbor.Converters.Primitives; using Chrysalis.Cbor.Types; @@ -7,7 +8,7 @@ namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; -[CborConverter(typeof(MapConverter))] +[CborConverter(typeof(UnionConverter))] public abstract record ProtocolParamUpdate : CborBase; @@ -99,6 +100,25 @@ public record AlonzoProtocolParamUpdate( [CborProperty(24)] CborUlong? MaxCollateralInputs ) : ProtocolParamUpdate; +[CborConverter(typeof(CustomMapConverter))] +public record MaryProtocolParamUpdate( + [CborProperty(0)] CborUlong? MinFeeA, + [CborProperty(1)] CborUlong? MinFeeB, + [CborProperty(2)] CborUlong? MaxBlockBodySize, + [CborProperty(3)] CborUlong? MaxTransactionSize, + [CborProperty(4)] CborUlong? MaxBlockHeaderSize, + [CborProperty(5)] CborUlong? KeyDeposit, + [CborProperty(6)] CborUlong? PoolDeposit, + [CborProperty(7)] CborUlong? MaximumEpoch, + [CborProperty(8)] CborUlong? DesiredNumberOfStakePools, + [CborProperty(9)] CborRationalNumber? PoolPledgeInfluence, + [CborProperty(10)] CborRationalNumber? ExpansionRate, + [CborProperty(11)] CborRationalNumber? TreasuryGrowthRate, + [CborProperty(12)] CborRationalNumber? DecentralizationConstant, + [CborProperty(13)] Nonce? ExtraEntropy, + [CborProperty(14)] ProtocolVersion? ProtocolVersion, + [CborProperty(15)] CborUlong? Coin +) : ProtocolParamUpdate; [CborConverter(typeof(MapConverter))] diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs index 1163a5fc..a9696617 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs @@ -13,48 +13,32 @@ public record PlutusConstr(List PlutusData) : PlutusData; [CborConverter(typeof(MapConverter))] -[CborDefinite] -public record PlutusMap(Dictionary Value) : PlutusData; +public record PlutusMap(Dictionary PlutusData) : PlutusData; + +[CborConverter(typeof(ListConverter))] +public record PlutusList(List PlutusData) : PlutusData; [CborConverter(typeof(UnionConverter))] public abstract record PlutusBigInt : PlutusData; -[CborConverter(typeof(UlongConverter))] -public record PlutusBigUInt(ulong Value) : PlutusBigInt; - - [CborConverter(typeof(LongConverter))] -public record PlutusBigNInt(long Value) : PlutusBigInt; - - -[CborConverter(typeof(UnionConverter))] -public abstract record PlutusBytes : PlutusData; +public record PlutusInt(long Value) : PlutusBigInt; [CborConverter(typeof(BytesConverter))] [CborSize(64)] -public record PlutusBoundedBytes(byte[] Value) : PlutusBytes; +[CborTag(2)] +public record PlutusBigUint(byte[] Value) : PlutusBigInt; [CborConverter(typeof(BytesConverter))] -public record PlutusDefiniteBytes(byte[] Value) : PlutusBytes; +[CborSize(64)] +[CborTag(3)] +public record PlutusBigNint(byte[] Value) : PlutusBigInt; [CborConverter(typeof(BytesConverter))] -[CborTag(2)] -public record PlutusBytesWithTag(byte[] Value) : PlutusBytes; - - -[CborConverter(typeof(UnionConverter))] -public abstract record PlutusList : PlutusData; - - -[CborConverter(typeof(ListConverter))] -public record PlutusIndefiniteList(List Value) : PlutusList; - - -[CborConverter(typeof(ListConverter))] -[CborDefinite] -public record PlutusDefiniteList(List Value) : PlutusList; +[CborSize(64)] +public record PlutusBoundedBytes(byte[] Value) : PlutusData; diff --git a/src/Chrysalis/Plutus/Types/CIP68.cs b/src/Chrysalis/Plutus/Types/CIP68.cs index 23942cdc..5b2e269e 100644 --- a/src/Chrysalis/Plutus/Types/CIP68.cs +++ b/src/Chrysalis/Plutus/Types/CIP68.cs @@ -1,9 +1,8 @@ -using Chrysalis.Cardano.Core.Types.Block.Transaction; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Script; using Chrysalis.Cbor.Attributes; using Chrysalis.Cbor.Converters.Primitives; using Chrysalis.Cbor.Types; -using Chrysalis.Cbor.Types.Collections; using Chrysalis.Cbor.Types.Primitives; namespace Chrysalis.Plutus.Types; @@ -17,7 +16,7 @@ public abstract record Cip68 : CborBase; [CborIndex(0)] public record Cip68WithoutExtra( [CborProperty(0)] - Cip68Metadata Metadata, + PlutusData Metadata, [CborProperty(1)] CborInt Version @@ -27,48 +26,14 @@ CborInt Version [CborIndex(0)] public record Cip68WithExtra( [CborProperty(0)] - Cip68Metadata Metadata, + PlutusData Metadata, [CborProperty(1)] CborInt Version, [CborProperty(2)] - T PlutusData + T Extra ) : Cip68 where T : CborBase; -[CborConverter(typeof(UnionConverter))] -public abstract record Cip68Metadata : CborBase; - - -[CborConverter(typeof(UnionConverter))] -public abstract record Cip68BigInt : Cip68Metadata; - -[CborConverter(typeof(IntConverter))] -public record Cip68Int(int Value) : Cip68BigInt; - -[CborConverter(typeof(BytesConverter))] -[CborSize(64)] -[CborTag(2)] -public record Cip68BigUint(byte[] Value) : Cip68BigInt; - - -[CborConverter(typeof(BytesConverter))] -[CborSize(64)] -[CborTag(3)] -public record Cip68BigNint(byte[] Value) : Cip68BigInt; - - -[CborConverter(typeof(BytesConverter))] -[CborSize(64)] -public record Cip68BoundedBytes(byte[] Value) : Cip68Metadata; - - -[CborConverter(typeof(MapConverter))] -public record Cip68Map(Dictionary Value) : Cip68Metadata; - - -[CborConverter(typeof(ListConverter))] -public record Cip68List(List Value) : Cip68Metadata; - From f855050f413e85321c83df94a1c934102f88b1d5 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Wed, 18 Dec 2024 10:01:13 +0800 Subject: [PATCH 085/162] chore: bump Chrysalis version `0.5.15` (#101) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index d2ebcae2..58728b21 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.14 + 0.5.15 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From deb901706992a6c3a96c397e84d86a75be88021d Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Tue, 17 Dec 2024 21:42:44 -0500 Subject: [PATCH 086/162] fix: plutus int to either long or ulong value (#102) --- src/Chrysalis.Test/CborTests.cs | 4 ++-- .../Core/Types/Block/Transaction/Script/PlutusData.cs | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index bd824516..46cf5bc1 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -70,7 +70,7 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("D87983AA436167654C4170722031332C20323032334370667082584068747470733A2F2F6173736574316B783038653333343761773861353075356A747239676D66786A35786133676C61366139746D2E6170652E6E667463646E2E5840696F2F696D6167653F73697A653D32353626746B3D5F42427751364B4B4D4A38684562596E585F5F5066304F7770617369775177586E4747417A327775465F77446E616D654D436974697A656E2023373539384566696C657383A3437372635835697066733A2F2F516D573377427264645673374459714541533956366E77626A4B6D646241363269656E3276773938647172467934446E616D654D436974697A656E202337353938496D656469615479706549696D6167652F706E67A3437372635835697066733A2F2F516D5842755158696A4450776A626853486D5A57454659534231576F46563171706E634D4D634170544553703148446E616D654850617373706F7274496D656469615479706549696D6167652F676966A3437372635835697066733A2F2F516D564C4D6F414A487A6D4D75615047685A50514C524C573563796B5665435357415331396755566B5262537261446E616D654850617373706F7274496D656469615479706549766964656F2F6D703445696D6167655835697066733A2F2F516D573377427264645673374459714541533956366E77626A4B6D646241363269656E327677393864717246793446476F6C64656E4566616C7365466F726967696E4F5468652041706520536F6369657479467374616D7073427B7D496D656469615479706549696D6167652F706E674A736F6C416464726573734001D879860181581CE36F43A40751C35295B19A218301CC7BE019D016E8927C0321FD28C7D87A80581CFCA746F58ADF9F3DA13B7227E5E2C6052F376447473F4D49F8004195D87A80D87A80")] + [InlineData("85828a1a00a10ce91a07b114a55820482722bbfb2a3c2f0f562132e530e5d641acb98b14bcf2c7b40e07efd336da59582008592f447a7e816d93eb50531e68965591e679b6bdc475efe5a12eaf016592ca58209a6a0f9e2806cd1657efab44e77dc93997842f53db23a694f5f6f64f8c623735825840facffc5cf9ab835dd8289a8314a29c00b4a12b9f6d36dc2505f293713c7b3afb773826f62db075cceeac262b1d9804a097fdc83994429709ff6a123c7c5e79635850b26a93820bb3f8a16def5d85ad99310d0cbb0b2708c1a61bc2965c177b86715205f3749d868ea3febb8c17aa225e5c18d8fa02a669e957fd96751a69cec445cf781817cd538d237baec3850f17ebbe0019756958207591201f577a7538a648a5944cfd93a1b849170cd6b2a42f24fc246b7675c4f2845820ac7f8007b1c88e14710e44ce3668085fa557350049ece8571fed11c7f0b4094e131903df5840e40875883e3e721054411f8ffc626fb6cd51b74667da8bcc0619295d424dd1e86b63bb55bed0e39dede3e8e05a478bc716519ff60dd56b20e4dd6813d684ed078208005901c086d6c1846edfed87a88be6c7b19b4630932dd108bcd373ca21a20a7980be4cb39f32ca73f27c34a490ad966a79d8c7aa115fa66807a228d095b0dfa72a33bf0af8974a58e2a9f4d3fe75a96ce53f3a032c2e03ab45ce88b964a90f8979bc3c16e04629afda38bfac8ae3aa9f2162b31c6ca2dea0c9dd4f2d4fc3d28a93de2a82ed0d389775e0c1be670272636ec18c3add17864793fc6a3319f00a2b4bdb3f8cc47e6944a2e14a5b8d1a679a8dec2c0cc0d561fdeab40940589c0e0fa469aa6ebc057a8a368a6db2596f7892257806d51143e228b1623ec5a21454bad9c5f24b74c2a9fb8f64530c69ceb56ad19255199b240eee21519deab1f27af9208be4f9d6bb55830cbf4d9e61074ba4f5ea39da5641106cd0a1272f9f9bdda77f33df5ee61b64c6a4944dd1db8bb145e1e113585de5909e0e5b7af2122fe60b4204bdce0f056970c135e37fd4ced2c3a31ab497177dd116652b4562825611b86677e163204b0d835807c6f5ea461edfdc858d91d552eca63c822d2ae5aa022f431bb3b0fe40b0600f28821c623712a1903ec4d2f70a520502eef80f4c51b901094f3a2ff3dc7eb2f64b6c99935d17293308154fd8e91943b76e7bf9413ab405b8c1abdb8fa400818258204ae90b46e2d1863acfaf987f13219dc83d0b939117a7c898c7d3bd2b2550a9e001018282583901c147d2b9f70eccbf159551987d364a64fd31ae2c66c7a78c24af31b13740d250b5d3e6a59b2515d87e7c785f3f9a8653a8b4c6043a7360441a05eef58482581d61193445f8c7e2accc70712b8ab2e515655be109ee7a4a306c7281c7e91b000003c2c651273a021a000290f9031a668fc5e6a6008482582080c94f2a5e10e21bc027ffcf8e1ca4a08f101fdf52bafde02b176264bbef9a5801825820dbbb038602c163009e00a799c5f82e580550f4c4a060bd3d72776894060b210901825820e04109247e7c2f3a5acd8efc078b7355068d8ff0285c9897249e01f930a963d002825820feee1135dff294f500bf98521ef925604ede0bcd31c4898212c9c809ff7596c301018283583911a65ca58a4e9c755fa830173d2a5caed458ac0c73f97db7faae2e7e3b058d0587938fbd6cfd9c20576df68047efba2aeb12d1239cec74e5b41b000000012a42fb005820cb06629f70ae0a82186afb627dbfdb62e5fb5be338c5c1636d117b68a192ed2f8258390115874be1289f91e9c0be163fa3538727eaf6064213dd23b111bebbd3058d0587938fbd6cfd9c20576df68047efba2aeb12d1239cec74e5b41a2136a13a021a0002e2f5031a07b13ead07582010e1456a8b32908b10df6d15c8f1ebf7d0b83442f0d2f0745697abd36df7cd620b5820a20d2b7496e2c981a51bbec359c1fedf43f258715328c52e770ed09f19b1d20fa7008482582034a95dcdf3e54fefca7ae1d85a44c8387c64dd2ac4e7eaf0445e476832da9dba038258203c225071b49e679788cfc4503ba5c86ec376e392099966c3bc0f8c946210e2a2008258209f78e01c465e9d30b5f23d1c97fa0cb7d7080a7a64719ffb31885b4c915cf8d504825820ef33a6a5281a0cb15369004c1cb642a00559a6dfa938b6ca17661b22740ed5ce000185a300581d714020e7fc2de75a0729c3cc3af715b34d98381e0cdbcfa99c950bc3ac01821b0000012697766b91a2581c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b913a14370200401581c1d7f33bd23d85e1a25d87d86fac4f199c3197a2f7afeb662a0f34e1ea150776f726c646d6f62696c65746f6b656e1b000001d713d93df60282005820c6bd88d569d666b2b057bf6b65ed72139386e215f9f191542aaab5e51af654aaa300581d71646ad13fb9e22d3b802049d85e95dc04edb6471eaa9237a932d38d49011a001499700282005820cfccde3b8ecd0a46d5bfe028eaa45627b8f50d5ad460033b1ccebe04d9906105a200583901484eef0a888d272ffda14e4711fa8ddd803fcb325351af5f69271e0188b10284dbc0979e5132a8b9bfe1eb5b2c40a281eedccc41f34941bf011a3bb94e80a200581d61251f7fb11f84f81653ee5b76a10dd29fa36ec7717aafe689490cb7e401821a001e8480a1581ce8a447d4e19016ca2aa74d20b4c4de87adb1f21dfb5493bf2d7281a6a14a73636f6f706572201c0b01a200581d61251f7fb11f84f81653ee5b76a10dd29fa36ec7717aafe689490cb7e4011a01752d75021a0011e385031a07b122a2081a07b114930b58200eb99ccf8b41d12a5c0717f1348485ace011ecf76d48a95c29c2d51e38f24a3a0d8182582034a95dcdf3e54fefca7ae1d85a44c8387c64dd2ac4e7eaf0445e476832da9dba04a400828258207ef448fc648bc1a941f05bdcc32fcbeb99868154728a208a2e51b0aac421c85701825820decafaadde1f8b46220673b07ae2aae85271391c587dc4e95cf800c0837d7f4c01018482581d61df2d44d463934f080ab53f961b18a8c0fc3d98eab7687ab1efb267401a003d0900825839015e24bbea1eca32ba9dfc2180a511f99514bb3451d585e39e4f3727d26f9449cd78bc181519dc9403217732509872868194d9b9585b7d41451a000f4240825839014a8468b5940093e9cb7129b4fe91f9a247c149c34b2371b1b0e5c353f11dc92d5d093a8c08ef2abed7065be850127536a06473c2faa436ec821a0049eb98af581c112da9f67e6e263d8e9286ebdcf72b470ad57dbd68ab0d24650d0928a14f4348494c4c5a43484f5050494e353101581c123da5e4ef337161779c6729d2acd765f7a33a833b2a21a063ef65a5b34b5369636b43697479343130014b5369636b43697479343133014b5369636b43697479343339014b5369636b43697479343432014b5369636b43697479343437014b5369636b43697479343439014b5369636b43697479343531014b5369636b43697479343534014b5369636b43697479343535014b5369636b43697479343632014b5369636b43697479343637014b5369636b43697479343639014b5369636b43697479343733014b5369636b43697479343734014b5369636b43697479343736014b5369636b43697479343738014b5369636b43697479343739014b5369636b43697479343830014b5369636b4369747934383101581c2e98523602110d53bc6504140f3051b42fea695e0487abea9bc85d55a146436f7069756d1a00802c80581c330013d4da4b87484f1c702de5e50ba5d97c1957dde6ae8a3ab2e349a1434f43581a0cdf70d0581c33d6bff70ac2d89940597e437e4d42c15d12b5380c17e1f0d9c625c7a14d4765726f46726565313431333301581c34779bbda3566bfed20b9184e30ad2ac374f55431550515a11a2ca3aa14c50494e4b434c4f554453333401581c682fe60c9918842b3323c43b5144bc3d52a23bd2fb81345560d73f63a1444e45574d186c581c821b636862f9160d68f875ac7d460b9642e462d499c00cae9b88ec25a14a5754503030373654303701581ca3931691f5c4e65d01c429e473d0dd24c51afdb6daf88e632a6c1e51a14b6f7263666178746f6b656e181c581cad1c1ed3a0bb6f83630ef052a31b71ba3287bf4bafa8370758f14d31a1445349434b192710581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a1793fcd1581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1a004c4b40581ce517b38693b633f1bc0dd3eb69cb1ad0f0c198c67188405901ae63a3a148001bc2804c616b6501581cececc92aeaaac1f5b665f567b01baec8bc2771804b4c21716a87a4e3a14653504c41534801581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa14a000de140676f6465737301825839014a8468b5940093e9cb7129b4fe91f9a247c149c34b2371b1b0e5c353f11dc92d5d093a8c08ef2abed7065be850127536a06473c2faa436ec1a017cfe90021a000343b9031a07b130b2ac008282582063d4dde086274158fefea95a882a385cab4e5066ddf80428344747b09d15e1d900825820cd09bef5406322704c7924333b87da126a597008ef287cdd8ab552c03401d699010d81825820c5f70d555f6bd7063f56c152b1323c0ef45bfa107de0ecec1d1085b22e06846b0012828258204d1aaea1ab5feb48963d97b5ef249193ae307cd5a2309b9804137174830b98c40082582079af593d6aa048f6c016e612aa73f98197fef53ece81a878bca6d7a9b3fdf188000182a3005839118f2fee1e5be61e3d58368a7d10db6eba60543bbe63885d7754a471553abb7a8e19c3af29fd8a80a2e75da12db738949148299812a066717901821b00000003bef3766aa2581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000002a6d5249e9f581c88a67e9324ae389a19d79d0f643dd1e06e5c83d9c968496ae09a2cdba146466c57612b6b01028201d818590122d8799fa300a140a1401b00000003a1d51c0001a140a1401a04b3ae6f02a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000002a6d5249e9f9fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd8799f581c88a67e9324ae389a19d79d0f643dd1e06e5c83d9c968496ae09a2cdb46466c57612b6bffa447656e6444617465d905009f1b000001910a97b480ff496672657175656e6379d905029f1a00afc800ff49737461727444617465d905009f1b000001906b297f5cff477472616e636865d87a9f1a05f5e100ffa25069735f6661756365745f616374697665d8799fd87980ff446c617374d905009f1b000001909c7662d4ffffa300583911c2c756eb9b1c8ac5d376b6ae7f474931bdecf40279b73ad4de57d0e75be329fad866e7ea4cb5baaf01e2709173644de7edc34bd2bafd565101821a0931fd19a2581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b0000000944226953581cf9ef5b65c3c1150d9de782d64a8e6b1377510725558d4a16892cad40a1464a6e4861396b01028201d818590244d8799faa00a140a1401a01d951f401a002a140a1401a018b2bbb03a004a005a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000000039e98efb206a007a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b00000002cb09cd0808a009a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b00000002da7fac999fd8799f4040ffd8799f4040ffd8799f4040ffd8799f4040ffd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd8799f581cf9ef5b65c3c1150d9de782d64a8e6b1377510725558d4a16892cad40464a6e4861396bffa747656e6444617465d905009f1b000003bbcc68f818ff4773707265616431d87b9fd8799f03190190ffff4773707265616432d87b9fd8799f011864ffff4773707265616433d87b9fd8799f0318c8ffff4773707265616434d87b9fd8799f011832ffff4773707265616435d87b9fd8799f011828ffff49737461727444617465d905009f1b00000093933c5c18ffa0ff10825839010b4aeba7566a53111bfa7fcf6a04d47e7b37bfc1aa56ca247544b8a0b5af9ae7c866e994de2f41661660489d00ccb4d83fd31df8d37f968b1a3b88043c111a0012c5c4021a000c83d8031a07b11b9c081a07b114940e81581c771d5a28a99b9efa419d323f05605e7d89cdf22970617fe2069b3c240b5820c50160cc6f66a73f73e4935d19b6857fe39955dc150b6b4ce35610d83362ef8a075820d8da68078137dbcfc7f854aa0861e278286f3e86b0b061a1c6afb4ad46d50b46a40082825820af6060a90920fba0d2c0300a74a597d4a0ad310db1de811bcbd926ca26f4ab3a00825820c52edb24eac86a79aa0d1d85dca0ebf5d527a518fed2d36c666e4807137db7f702018382581d61da5f5a6d51a5f2a40130ee69e2d38c763f62e2b53e597acd18a8981c1a0aba9500825839010bd57bdb830f51b1f41bcb6643b0e48ad7925c7290e410411b127f0bb404744f636f3bcaa5b1f56190f1a78d850e4bf1b66190b75b5371151a0bcd3d80825839010bd57bdb830f51b1f41bcb6643b0e48ad7925c7290e410411b127f0bb404744f636f3bcaa5b1f56190f1a78d850e4bf1b66190b75b5371151a1e9c5e0f021a0002af65031a07b13099ac00828258203c940db852555d9eac87548f0c40cd296c6c868cda60cdf7efa5b3300f01436a00825820da001b0e5dd47301dae43d7cafa1dbb156ceb81e2173b1defc07a16a5faa9aa5010d81825820c5f70d555f6bd7063f56c152b1323c0ef45bfa107de0ecec1d1085b22e06846b0012828258204d1aaea1ab5feb48963d97b5ef249193ae307cd5a2309b9804137174830b98c40082582079af593d6aa048f6c016e612aa73f98197fef53ece81a878bca6d7a9b3fdf188000182a3005839118f2fee1e5be61e3d58368a7d10db6eba60543bbe63885d7754a471553abb7a8e19c3af29fd8a80a2e75da12db738949148299812a066717901821b00000003ba348389a2581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000002af86902950581c88a67e9324ae389a19d79d0f643dd1e06e5c83d9c968496ae09a2cdba146466c57612b6b01028201d81859011ad8799fa300a140a1401b00000003a1d51c0001a002a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000002af869029509fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd8799f581c88a67e9324ae389a19d79d0f643dd1e06e5c83d9c968496ae09a2cdb46466c57612b6bffa447656e6444617465d905009f1b000001910a97b480ff496672657175656e6379d905029f1a00afc800ff49737461727444617465d905009f1b000001906b297f5cff477472616e636865d87a9f1a05f5e100ffa25069735f6661756365745f616374697665d8799fd87980ff446c617374d905009f1b000001909c7662d4ffffa300583911c2c756eb9b1c8ac5d376b6ae7f474931bdecf40279b73ad4de57d0e7374382e06c94573d3e69d459b100481887f6a4ae47c0f99e9b5c8aca01821a5e36774aa2581c1a5458a13a2c63d527d514068fc3012da1d8e3858f3bcc95d41a5643a1494d4d5f6a796151313601581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000003961fdf8745028201d8185902b7d8799faa00a140a1401a04b3ae6f01a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000001021c94967c02a140a1401a1742863803a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000000ac2c1efb9904a140a1401a1443fd0005a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000000acdf18399006a140a1401a1443fd0007a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000000a2ffb1652408a140a1401a1443fd0009a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b00000097f862567c9fd8799f4040ffd8799f4040ffd8799f4040ffd8799f4040ffd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd8799f581c1a5458a13a2c63d527d514068fc3012da1d8e3858f3bcc95d41a5643494d4d5f6a7961513136ffa747656e6444617465d905009f1b000003bbcc68f818ff4773707265616431d87b9fd8799f03190190ffff4773707265616432d87b9fd8799f011864ffff4773707265616433d87b9fd8799f0318c8ffff4773707265616434d87b9fd8799f011832ffff4773707265616435d87b9fd8799f011828ffff49737461727444617465d905009f1b00000093933c5c18ffa0ff10825839010b4aeba7566a53111bfa7fcf6a04d47e7b37bfc1aa56ca247544b8a0b5af9ae7c866e994de2f41661660489d00ccb4d83fd31df8d37f968b1a3b89e355111a0010e6ab021a000b4472031a07b11b9c081a07b114940e81581c771d5a28a99b9efa419d323f05605e7d89cdf22970617fe2069b3c240b58200323e30a90e1b88d57ffe8c0d5acf00cc4a82b88057eb058a7c8a92964ec84e2075820d8da68078137dbcfc7f854aa0861e278286f3e86b0b061a1c6afb4ad46d50b46a700838258200b7a51ebf4ccb5ab0ab7d9451903ff03c08f27e4c04805232af40e0c14d484c6038258200b7a51ebf4ccb5ab0ab7d9451903ff03c08f27e4c04805232af40e0c14d484c604825820d7edd7cab95bd483f9b9a1c5640683543e5736c43892f29a5a8457c166f53817000183825839012e6e497c7bc2377547bfa6a155deec3598cc73d4fc20df17a155702f2a08938a78bb1184266bde907221b350aff3e265ef20fedd01d6b749821a0011c915a1581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a000ac69882583901adb1bf6a51b20ff1b8450726ef3891bb0e153d5bf47783375e2134afbd6a096cbba5e259946798e948403e2d2b3d9ea88a12ee8e7ae944971b000000243293571582583901adb1bf6a51b20ff1b8450726ef3891bb0e153d5bf47783375e2134afbd6a096cbba5e259946798e948403e2d2b3d9ea88a12ee8e7ae94497821a0049433cb4581c133fac9e153194428eb0919be39837b42b9e977fc7298f3ff1b76ef9a14550554447591b00001496c14fc89c581c160a880d9fc45380737cb7e57ff859763230aab28b3ef6a84007bfcca1444d4952411a266d2d83581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1b000015496e6aecb3581c2d92af60ee429bce238d3fd9f2531b45457301d74dad1bcf3f9d1dcaa143564e4d1b00000001b262110d581c4623ab311b7d982d8d26fcbe1a9439ca56661aafcdcd8d8a0ef31fd6a146475245454e531b0000000d4f6f7c63581c724a31d1421744cac3bb1d547aa692b43517d651c46e60a0cf1f70eca144444f444f1a025192d6581c9a1dfe73344033e70deab8c5c28c00f62b092814fb14581ec3a3d516a1480014df10434f44451b00030649a4e4607d581c9abf0afd2f236a19f2842d502d0450cbcd9c79f123a9708f96fd9b96a144454e43531b00000005710539e0581c9f452e23804df3040b352b478039357b506ad3b50d2ce0d7cbd5f806a143435456192bd1581ca1ce0414d79b040f986f3bcd187a7563fd26662390dece6b12262b52a14b464c45534820544f4b454e1b002cb1f77aa5589c581cbf3e19192da77dfadc7c9065944e50ca7e1a439d90833e3ae58b720aa14544414e5a4f1a3848db34581cbfa9354862e34f2dd417c9068a9367b530d1a704a0f5dc41468c402ca14550524f434b1a711694b8581cca942cb8bb5d1ef750766ded355f320880539111f10efa2b1a478ff9a1435241471a000bb5a0581ccc8d1b026353022abbfcc2e1e71159f9e308d9c6e905ac1db24c7fb6a147506172696275731b000002b57618da43581cce5b9e0f8a88255b65f2e4d065c6e716e9fa9a8a86dfb86423dd1ac0a14444494e471b000000d204b6d7fa581cea02c99c0668891d6b7cdc49e075cbddf9cd5b89404e5a8a8e5d7016a149534c4f5020436f696e1a0096ed18581cee0633e757fdd1423220f43688c74678abde1cead7ce265ba8a24fcda14443424c501b000000c15465a252581cf4d97191f857096b441a410c036f63d6697dde0c71d2755dd664e302a1434d4b411b0000006c16e1e61b581cf7516c9f7b347eb412a777f3c711099b199ccd2be23b568a4a3abf6da1435350581b00003cd8037b2ba0581cfb59da920d029dde957b556d981046a9102698ed70797da5908e4634a147454c454d454e541a019d0255021a00037a8d031a07b13ec9075820dceb615df4c37cb35edc022e11faba4f98e042261a24cb1e2bca0cc3e4dcc45709a1581cd195ca7db29f0f13a00cac7fca70426ff60bad4e1e87d3757fae8484a24568764144413939e24568764d494e3a000ac6970e81581c4f641455f17911fe2f55ad3ad67fc2e0b2946b59af3352574322e67ea300982682582075cd35c78dd6b47770c4a93ff734ac09f369e9c103c3c0216b6944350e8d85600a82582075cd35c78dd6b47770c4a93ff734ac09f369e9c103c3c0216b6944350e8d85600d82582075cd35c78dd6b47770c4a93ff734ac09f369e9c103c3c0216b6944350e8d85600f82582075cd35c78dd6b47770c4a93ff734ac09f369e9c103c3c0216b6944350e8d85601182582075cd35c78dd6b47770c4a93ff734ac09f369e9c103c3c0216b6944350e8d8560128258209999e0450dcea54b78675716d672a4e6852d4a57c6d8e0d52b51b22c464d5d2d0182582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a0a82582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a0b82582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a0c82582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a0f82582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a1182582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a1282582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a13825820d2707fc538ed7fa317a32d0c2c2f58679c35a765ece79add1e8a43e38f7bdd0907825820d2707fc538ed7fa317a32d0c2c2f58679c35a765ece79add1e8a43e38f7bdd0909825820d2707fc538ed7fa317a32d0c2c2f58679c35a765ece79add1e8a43e38f7bdd090a825820d2707fc538ed7fa317a32d0c2c2f58679c35a765ece79add1e8a43e38f7bdd090b825820305365c0eab8785ba82c6c61ceb7fabf030bdec3f7970591d55030dd4aaaf646018258208b02290ba4d535f8520578e0f11375edc191849f030732e99b6772c3c2c64d31068258208b02290ba4d535f8520578e0f11375edc191849f030732e99b6772c3c2c64d31078258208b02290ba4d535f8520578e0f11375edc191849f030732e99b6772c3c2c64d31088258208b02290ba4d535f8520578e0f11375edc191849f030732e99b6772c3c2c64d31098258208b02290ba4d535f8520578e0f11375edc191849f030732e99b6772c3c2c64d310b825820a02a7bde1a79a6bcf48fba251bf5ab24c927add5e6bdec53a8f81f5bdee317290182582017355b5323dcb65233f937205b43b6eb4466eac0f1c554bc44f4ee017d57970701825820b5759082d0754ccb384edef6360cfb9216c967c2623ebd2908b295ea5ea92f0801825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa660606825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa660607825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa660608825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa660609825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa66060a825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa66060b825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae06825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae07825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae08825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae09825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae0a825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae0b018182583901da299558c70a8970781806dca93d1801ba2f3b3894227a7b284786e49baba19195b7cb8b1c6febb192cc487b5e8b96d737baddb8bb09866f1b000000010c5423be021a00036b15ab008282582057a171e75b5a349b6e42e21c58ae917c30b3f78cb6f60b89144027321d6fd66500825820df8a3f011f43171863c6fabef996056a335750499b1b5bed4c6c8f02425f2452010182a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a1e120f20a2581cde27f9eb9ed6f011e30a56dbe09d982c9facde3a37efd92f4dfac015a14c446f6e616c644a5472756d701a3b9aca00581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d535001582040a64a0854c3e7575923451f494515d9ca97bb2613383c4a10f99f75b168fd9d1b7fffffffd5da682b028201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581cde27f9eb9ed6f011e30a56dbe09d982c9facde3a37efd92f4dfac0154c446f6e616c644a5472756d70ff1a2a2597de1a1dcd65001a3b9aca001901f41901f4d8799f190682ffd87980ff82583901ac1871003b670526048af46deffac5aa1e40043652771d58cf210be87c7f1e4b69d5f34fd5b5fbe81607a8b3df7c79a28401b4f6048839c01a04c1a91a021a0003ad26031a07b13ecc0758206c0e7e25b6790f25e9fadd5fa105ba5cae2a302513148bef75f20311264d7d350b5820fd6c6edcfb2b7cf4106c10ae5b5e5559247650bd62848a716df1cf511fa47a9a0d81825820df8a3f011f43171863c6fabef996056a335750499b1b5bed4c6c8f02425f2452010e81581cac1871003b670526048af46deffac5aa1e40043652771d58cf210be81082583901ac1871003b670526048af46deffac5aa1e40043652771d58cf210be87c7f1e4b69d5f34fd5b5fbe81607a8b3df7c79a28401b4f6048839c01a04790b00111a004c4b4012828258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00ad008382582035032d7a89c5e94e25be92fa6e0fd63673d57a3846b23c7c74b1378c996d18e50282582074f1ff1d0568e6cddf334a5147af1a24c5bbdd62af630fb8b63ba42d25f5c3f801825820ac9da9d9e24461c265e7f9b8b262075a2090f2645fa1c2004aebbd56ccc8c80a02018382583901683579a9bf5e3d33fc38e57729bfa196ae935a476c9634a3df93823d3ee2ab2ac35d5a65effd725213f3d4f42ba4c04ae9d1716939b278ed821a001e8480a1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca15820154da2f5ce7fe018180ebdd810556d4cd9e6c4bb8a6acbb2f934e613cfd9017f1a00b81888a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a1e427d8fa2581cea02c99c0668891d6b7cdc49e075cbddf9cd5b89404e5a8a8e5d7016a149534c4f5020436f696e1a0031bd0f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820154da2f5ce7fe018180ebdd810556d4cd9e6c4bb8a6acbb2f934e613cfd9017f1b7ffffffffd961ad8028201d8185879d8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581cea02c99c0668891d6b7cdc49e075cbddf9cd5b89404e5a8a8e5d701649534c4f5020436f696eff1a0269e5311a1dfdd36f1a0031bcf518c818c8d8799f190682ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a02d64da8021a0005a633031a07b1154805a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a07b114940b5820862f3f4706858d452352da1cbd4ff3b2683eab433ab3430a95458b0036d92ace0d81825820ac9da9d9e24461c265e7f9b8b262075a2090f2645fa1c2004aebbd56ccc8c80a020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a0280665b111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700ad008382582035032d7a89c5e94e25be92fa6e0fd63673d57a3846b23c7c74b1378c996d18e50082582056c4bec834d1e83edd9f6990b1b7484752a1497f607695c3eceededb453941cf02825820c3ae36f1f54237d982f275a431218f45f400f4d7ad033a876615436ad848dc05010183825839016f2c862f2fd1bc89ab2c38e46b5a362266b76b4ba406a8a359b7ba1608fd6c0ed5e1ebfddc24e3dd7e1c93c19d82f64dfb4e75159114ef50821a001e8480a1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca1582082e2b1fd27a7712a1a9cf750dfbea1a5778611b20e06dd6a611df7a643f8cb751b0000001fe016aad1a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821b000006cccccc9b71a2581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1b00008886e5192557581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d535001582082e2b1fd27a7712a1a9cf750dfbea1a5778611b20e06dd6a611df7a643f8cb751b7fffe1ca361b8c47028201d818587fd8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1b00001e35c9e473c21b000006cccc147a131b00008886c735a06e181e1864d8799f190d05ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a049232b3021a0005e683031a07b1154805a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a07b114940b5820ff43fabdda5eb88f39a61a23fe913b532723fc47255cf684d70eee983144585b0d8182582056c4bec834d1e83edd9f6990b1b7484752a1497f607695c3eceededb453941cf020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a043c8bb6111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700ad008382582035032d7a89c5e94e25be92fa6e0fd63673d57a3846b23c7c74b1378c996d18e501825820d41e308b014b0730a0497d037319991ae62318cd17e40226fc38661c0fd0213002825820e6360193e1e8dbf04279bd2398009293d08b83d2d5e40c35a7de84f2810ff2aa01018382583901a9621001478c486c1f23fc043e2faaa80a617891186108e34e36adf5e9e6e8eced2af9b2a0b2dcfeadce7a4a9542f9ae2278ae22fe8b7ac8821a001e8480a1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca15820be4e7db856a751f5f8120e1f3a67ba36600951f98544b0ded0544b5df86e7a311b00000001a3dd253fa300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821b00000002a017942da2581c5dac8536653edc12f6f5e1045d8164b9f59998d3bdc300fc92843489a1444e4d4b521b0000027b1dffe6b0581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820be4e7db856a751f5f8120e1f3a67ba36600951f98544b0ded0544b5df86e7a311b7fffffd72ee7e167028201d8185880d8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581c5dac8536653edc12f6f5e1045d8164b9f59998d3bdc300fc92843489444e4d4b52ff1b00000028d1181ea21b000000029fcd20d11b0000027b1875752418321832d8799f190682ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a05ac4a07021a0005d186031a07b1154805a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a07b114940b5820de82bd688cecc6520c03e7c5da7d41ab96ca476cbce65dafd83d4c468fa514750d81825820d41e308b014b0730a0497d037319991ae62318cd17e40226fc38661c0fd02130020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a05568e0d111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700a40081825820d23a7def57504ba24e26e4b18271acdaef9ee15e7c5f4f456bb9f6e5977892da01018282583901a0c1d3e0a152aeb23e6f1490ffaeaca172baef45faeccf479ad6503fc3fc2ae2673358850371313c862d3635e894b0e44212eacf97a5d9f21a0ef3c5288258390152367ebd7b91bb572a3a395ec0801b7591362e9c72a73415bc6f3f4452367ebd7b91bb572a3a395ec0801b7591362e9c72a73415bc6f3f441a033c0cd5021a00029259031a07b3a114a600828258202798b4aeac3994f4a59e66331caffc22c74432169358f93dfebdd7f67ab413e801825820e24ed1bdb34e218593423a202d25dea0ce5d42dfa7e832be55e9d214c9ad2bca0301838258390197683514e0c6ee0b27777b13358b892f05e7f14c8bf11fca76ea993df1e16bc846160f40304021a42e3ee79a3f2220fc0b2c022d25ae22fe821a0011e360a1581c577f0b1342f8f8f4aed3388b80a8535812950c7a892495c0ecdf0f1ea1480014df10464c44541a61685c9f82583901c4edf43f6e529d22b3148d49d08d997063b249ffdcf6c364a5fb67fc41de7f1e17602fc8e7e76677bfa064952edb1cea3555d8720b74e94f1a51f64e8782583901c4edf43f6e529d22b3148d49d08d997063b249ffdcf6c364a5fb67fc41de7f1e17602fc8e7e76677bfa064952edb1cea3555d8720b74e94f1a004c4b40021a0002c329031a07b13e9b05a1581de141de7f1e17602fc8e7e76677bfa064952edb1cea3555d8720b74e94f1a000121f808008fa100818258205563ef082e7159c821528e148fcb7a1d86250f8ae033008673ab418345c0690b584093afce6cbbde892155a0c3e34494c8ddd1d615bd15d0646f4d71bd4a7e28ecaf07969fb8616d198d4077d877ac1c4f2a1fc733184b9a471e3c654254596bb40ea20081825820e494a488fe9a9ad4677ed39a192e53c9bc02adef0feab509e518b406d8ded3045840831521cbad795bd61eb2611d65513fa227503b5067b98518d967ed648cfa7c42c89fd00a6aab79b70d7e29e4413d34a8175f5a0491f77247990ac22478e09b07049fd8799fd8799fd8799f581c15874be1289f91e9c0be163fa3538727eaf6064213dd23b111bebbd3ffd8799fd8799fd8799f581c058d0587938fbd6cfd9c20576df68047efba2aeb12d1239cec74e5b4ffffffffd8799fd8799f581c15874be1289f91e9c0be163fa3538727eaf6064213dd23b111bebbd3ffd8799fd8799fd8799f581c058d0587938fbd6cfd9c20576df68047efba2aeb12d1239cec74e5b4ffffffffd87a80d8799fd8799f581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7c444e696b65ff1a0003ab00ff1a001e84801a001e8480ffffa400818258206a72570577b326bd8b74daf7c4cfb5fadba677735925b091a1bf3bb72220012f58407c88b1443193b1beedf84dda826c6bd3c4272db7bc2eb052cb5e102cd97132700e89d3b9475f8c5d9c59c0b65116de9b0593738ce4aa7fe6796fc65cbc79c20203825929245929210100003333323332223232333222333222333222323322332233223322332233322232323232332233223322323233223233223332223332223333222232323232323333333322222222323233332222323232323232323232332233223233223232323232332233223322333222332233223233223322332233223232323232332232333322223233223232323233332222323232323232333332222233223232333322223232323232332223222222232533530ad010011087011350384901035054350033322235305b0032232223232323232353508f0100a22325335305700f223213530290112235304f002223222222223225335350b4013504a12233355055223530b0010022223530c4010032233530d10100220072533530d701333573466e3c0040c036404360044cc02802001c401c0040344d4c2b004d42a405262223330050030020012215335350b60100113530ae010022223330070030020012213530b001350ad01498888ccc02400c008004888d4c2b404d4c0e0080894cccd4c0f000484d42b404d4c2a804cd5ce2491a73637269707420696e707574206e6f7420666f756e6420212121000ab0149884d42b404d4c2a804cd5ce24811a73637269707420696e707574206e6f7420666f756e6420212121000ab0149884d42b404d4c2a804cd5ce24811a73637269707420696e707574206e6f7420666f756e6420212121000ab0149884d4c17c00c8888888888cc13002802c8c888c8c94cd4d42ec04d4144488ccd5417088d4c2dc04008888d4c32c0400c88cd4c36004008801c94cd4c37804ccd5cd19b8f001500f0e0010df0113300a008007100700101413530b301350b001498888ccc01000c0080048854cd4d42f4040044d4c2d404008888ccc01800c008004884d4c2dc04d42d0052622233300800300200122232323232353550c4010212232353550c701023223232323530695002222322533530e701333355305012001508f01220ea010100e90110e8011533530e701333573466e24d4d41dc07c88d4d41f4008894ccd4d42900400884d4d41f8010894ccd4d429c0400884cdc080080209a86500a4c26a194029309a86380a4c26a18e029324101756e061d2021d0022a66a6a1b80202442a66a6a1ba02660ea00203c42a66a61d202666ae68cdd7800991a984b0080091111a9a86200802111a9aa86d00801111a9aa86e00801911a9a851008039119ba548000cd5d019ba548000cd5d01999aa84e80ba975200c00a66ae80cccd5427405d4ba900400337629319aba0375201666ae80dd400519aba03374a900019aba0375000466ae80dd40009bb1498dd8a4c666612802074072a01006c1d6021d4022a66a61d202604c661980200ea1a4022a66a61d202666ae68cdc3a80401b87580875008a99a9874809999aa982909000a8488091076009824012075808a8020875008a99a9a8680098240120875009109a9aaa86b80801111299a9a86a808020a99a987700999ab9a3371e0900061e0021de022a66a61dc02666ae68cdc799b8a489036c70200003e0020f0010ef011533530ee01333573466e1c004cdc0a80681e07800877808a804887780887780887780910878808875008875008874808874008874008a99a9872809991299a987380999ab9a3370e6a6aa1a202004446660ba006004002900107480874008999ab9a337126644660040029000190009aa87500911299a9a8688080108009109980280099b8000348008c11800520060e9010e80110e80133550d00103f3371491010270200003500f1533530e501333573466e1cccc16403c02c028cdc0001282007380873008a99a987280999ab9a3370e6660b201e01000e66e00005410039c043980454cd4c39404ccc2f404104cdc52450873636f6f70657220000280241533530e501333573466e20cdc099b83353507501d2235350790012253335350a20100221001135350800162613535080016264820243930010ccc09d20004800920004800839c043980454cd4c39404ccd5cd19b8833305901948810048810000c0e6010e70115335350da01018215335350db013307300101c21333573466ebc004c8d4c2040400488cdd2a400066ae80dd480119aba037520026ec526330810102b02a0e9010e80110e70110e60110e60110e60110e60110e60110e60110e6011353068500122220011332235350d4010022223333302d00300200150ce0100433350d30100400102e33553048120012353550cb010012200100933305300d00200133305000a0020013370200266609a02a91100488100330a30148000004d4150488ccd5417c88d4c2e00400888d4c2f00400488c8c88d4c3480401488cd4c37c040089401494cd4c39404ccd5cd19b8f00150160e7010e601100b1500515335350d501333506c2323232323333573466e1cd55cea802240004666610a026eb8d5d0a8021919191999ab9a3370e6aae7540092000233223308d010020013232323333573466e1cd55cea8012400046644661be020040026140026ae854008cd428405d71aba135744a00446a194026a618e0266ae71240103505431000c80149926135573ca00226ea8004d5d0a80119a84e80bae357426ae8940088d431804d4c30c04cd5ce24903505431000c40149926135573ca00226ea8004d5d0a8019bad35742a00464646464646666ae68cdc3a800a40084617602646464646666ae68cdc3a800a4004461860266a12c02eb4d5d09aab9e500423333573466e1d400920002330c30130960135742a0086eb4d5d09aba250042350ce013530cb0133573892103505431000cc01499264984d55cea80109aab9e5001137540026ae84d55cf280291999ab9a3370ea00490011185d009bad357426aae7940188cccd5cd19b875003480008ccc2f004c24804d5d0a8031bad35742a00a66a14202eb4d5d09aba250052350ca013530c701335738920103505431000c8014992649926135573aa00626ae8940044d55cf280089baa001357426ae8940088d430804d4c2fc04cd5ce24903505431000c00149926135744a00226ae8940044d55cf280089baa0010210042135307f00122223232533530e701333573466e2001120000e8010e9011533530e701333573466e20ccc16ccccc8888cd54c14c480048d4d543580400488cd5436404008ccd4d54148004800488cc0200080048004ccd54c13848005434c04cd54c14c480048d4d543580400488cd5436404008d54154004ccd54c1384800488d4d5435c04008894cd4c3bc04ccd54c16048004c8cd42680488ccd4d413c00c88008008004d4d413400488004cd4134894cd4c3c40400843cc0440043c0048d4d543680400488cc02c008014018400c4cd435c0401000d435004004cd54c14c480048d4d543580400488c8cd543680400cc004014c8004d543c404894cd4d435c040044d5415400c884d4d5437004008894cd4c3d004cc0340080204cd5416801c0044c01800c0083940488004024d4190488cc008cd5435004d4d5434c040c088008cd434404cd5435004d4d5434c040c088004cdc09a9aa869808181119982f806801000999a985a80802919a985d0080091a9a860808009100111299a985f8080108008a4000444a66a617e02006200429000124000a1a40200291100488100337000089040497a0087400874808a99a987380999ab9a3371e00c06e1d2021d0022666a616602006466a61700200246a6a17e0200244a66a61d602666ae68cdc41a9aa86a8081911199830a80700100080107600876808a99a987580999ab9a337106a6aa1aa02062446660c2a01c0040020021d8021da022a66a61d602666ae68cdc4001240041d8021da022a66a61d602666ae68cdc4000a40041d8021da022a00c2a00a2a00a2a00a2a00a44a66a61d402666ae68cdc4299a985e8080109a9aa86a0081891199830280680100089a9aa86a0081811199830280680100080087580876008a99a987500999ab9a33710002900107580876008a8028a8020a802111299a987500999ab9a33710a66a617a0200626a6aa1a802062446660c0a01a00400226a6aa1a802060446660c0a01a0040020041d6021d8022a66a61d402666ae68cdc4001240041d6021d8022a00a2a0082a0084a66a61d002666ae68cdc419982e2804821281b80087480875008a99a987400999ab9a33710002900107480875008a8018a8010a8010a800880688068a99a9873009a861009a985f8099ab9c490110657363726f7720696e636f7272656374000c0014985400440304cc038cd5434004008cd5434004d4c2140400c8800800402c40184c144004004060c120008c1100084d4c2fc0400488cd4c330040088d42b804d4c2ac04cd5ce24918696e76616c696420706f6f6c20736372697074207574786f000ac014988004c8004d5431804894cd4d42b004004431c04884d4d5542cc04008888d4c2e00400c894cd4c33004ccccc04400800401000c0284c024018433404c8004d543040488894cd4c30804ccd5cd19b88003371a00a18602188022002266600866e0000d20023370490400200119b800013370466e3801400c0084d4c09803888d4c13000888888888894cd4c32004cd4c178480048d4c2980400488d4c2a8040048894cd4c33804ccc2a4040080a9220107666163746f72790015335350c301333505a2323333573466e1cd55cea800a405046464646464646464646666ae68cdc39aab9d5008480008cccccccc88888888cccccccc2180402001c01801401000c008004dd71aba15008375c6ae85401cdd71aba15006375c6ae854014dd71aba150043350810175a6ae85400cdd71aba15002375c6ae84d5d1280111a85b809a985a0099ab9c490103505431000b50149926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d55cf280089baa001357426aae7940088d42b404d4c2a804cd5ce24903505431000ab0149926137540026a607004044004008421a202219e02219e020142a66a61900266a60bc2400246a614c02002446a615402002444646a617e02008446a61820200644666618e020080060040026617e0261940204ca18802014219202219402219202640026aa17c02444444a66a6a150020022184024426a61440200444644a66a618e026a616e02008446a61720201a4466a618c02008466a618e0200646619602004002419c02466a618e02006419c02466196020040022a66a6a1780200242a66a6a17a0201642a66a619202666ae68cdc780100086580865008a802099999807006806005805003899999806806285f008050048030a99a9a85e0080510999998068060058050048030a801099999806005805004804002899299a986300999ab9a337126a6a170020104440066a6aa1600201a446660780060040021900218e022a66a618c02666ae68cdc49a9a85c008041110011a9aa858008061119981e00180100086400863808a99a986300999ab9a337126a6a17002010444002666074002040a02a1900218e0221900226666601601401201000e00826666601601401201000e00826666601601401201000e0086607000c0026a0064440026a0044440046a00244400664664646460020024466006600400400244246a6008246a60080066a00600200242466600246a006444600600846a006444600400846a006444600200800224444666008444444466a61200200c46a6a12e02002446464a66a618a02666ae68cdc48008020630086380899199801a400000266a13a02900000099b833370401266e040040100284c8ccc00c005200033509d0100148000cdc080200099b83337040040120104446a6a13802002446464646464646666602c66e0004c018cdc000900299b800110043350b60133550b90101533350c10100300200101000f33700006900019b8048000020cdc02400001066e0ccdc100100680799b810070023370200e00444646464a66a61300200a26666601a66e00028010024004cd42b404cd542c004030ccd42e00520004800000801c0184ccccc034028cdc000480200099a8568099aa85800806199a85c00a4000900000100380319b80007001337026a6a0e26607c66e08cdc100080119b81500f35350710102200233704a66a612c020062010200ea01e446a6a0e6666609c0069001001000912999a981f181e9999828002a4004008006420024200226a146029300319b82005005222222232323333300a3370200e00466e04018004cdc080280419a8550099aa85680804999a85a80801000a400000800666e0ccdc100380280219b833370400c00a00644444a66a6a14a020022666608c00400a0080064426a6aa1540200444666a611c020024666666601a00600201401201000e0084446a6a0e60244464a66a61360200c26464a66a619402666ae68cdc480800106580866008a99a9a85f8080310a999a9826998260018008a8010a80109a85380a4c2a00226a14c029309999980899b800100063370201e00201c66a1620266aa16802012666a178029000000a400001a01466e0ccdc119b8200e0050013370066e0803c008cdc100280089919299a986500999ab9a3371202200419602198022a66a6a17e0200c42a666a609a660980060022a0042a00426a14e02930a80089a85300a4c26666602266e04040004cdc000780300719a8588099aa85a00804999a85e00800a4000900000680519b833370466e0803c014004cdc019b8200e0023370400a00266e040040088ccccccc03000c00402802402001c0104cdc11a9a83100091000a4008266e29221036c70200000133500e2323232323333573466e1cd55cea80224000466660ba66a0ae66aa0f6eb9d71aba15004375c6ae85400cdd69aba1500233505875a6ae84d5d1280111a847009a98458099ab9c491035054310008c0149926135744a00226ae8940044d55cf280089baa00100333500e23232323333573466e1d40052002204d23333573466e1d400920002332233051002001375c6ae854010dd71aba135744a00846a11c026a61160266ae71241035054310008c01499264984d55cea80109aab9e50011375400200466a01c464646666ae68cdc39aab9d5002480008cc06cc8c8c8c8c8c8c8c8c8c8c8cccd5cd19b8735573aa01490001199999999982599a836119191999ab9a3370e6aae754009200023309e01307635742a00460e26ae84d5d1280111a84e009a984c8099ab9c491035054310009a0149926135573ca00226ea8004d5d0a80519a8360369aba150093335507175ca0e06ae854020ccd541c5d728381aba1500733506c07a35742a00c66a0d866aa10a0210602eb4d5d0a8029919191999ab9a3370e6aae754009200023350513232323333573466e1cd55cea80124000466a0b266a0f8eb4d5d0a8011840809aba135744a00446a140026a613a0266ae712401035054310009e0149926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233505733507c75a6ae854008c20404d5d09aba250022350a00135309d013357389201035054310009e0149926135573ca00226ea8004d5d09aba2500223509c01353099013357389201035054310009a0149926135573ca00226ea8004d5d0a80219a8363ae35742a00666a0d866aa10a02eb88004d5d0a80118399aba135744a00446a130026a612a0266ae7124103505431000960149926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181218391aba135573ca00646666ae68cdc3a801240084604660f86ae84d55cf280211999ab9a3370ea00690011181198361aba135573ca00a46666ae68cdc3a802240004604c6eb8d5d09aab9e50062350930135309001335738920103505431000910149926499264984d55cea80089baa001357426ae8940088d423004d4c22404cd5ce249035054310008a0149926135573ca00226ea80040044cc0840052014122123300100300212001233002001508b01320013550a30122253353508a0100210012213535508f010022233007003333008002001005320013550a201222253353508a0100210012213535508f0100222533530a701333573466e1c00520000a9010a8011333008007003005133300800700333508f013335550940100700200100512001320013550a00122112225335350890100110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135509b0122112253353508301001150850122133508601300400233553006120010040013200135509a01221122253353508301001135350450032200122133353504700522002300400233355300712001005004001221233001003002200121222230040052122223003005212222300200521222230010052001320013550920122253353507900213506e35306b33573892011a73637269707420696e707574206e6f7420666f756e64202121210006c498884d4c1c4008894cd4c258054cd4c25804ccd5cd19b8f353077002220023530770052200209801097011333573466e1cd4c1dc00888004d4c1dc014880042600425c04425c0440044cc01c00c0148cc0092002001223232325335309201333573466e200040082500424c044d41b8d4c1accd5ce2481216e6f7420656e6f7567682041646120746f20636f766572207468652072696465720006c49854cd4c24804ccd5cd19b8733702002004900004a00849808a801899a83d19aa83ea4410033507a335507d4890033702002004a0f6a00666600a006910100488100337049040497a00801899980224500001507822232323001005320013550930122335350790014800088d4d541f8008894cd4c25804ccd5cd19b8f00200909801097011300700113006003320013550920122335350780014800088d4d541f4008894cd4c25404ccd5cd19b8f00200709701096011001130060033200135508e01222253353507600210012213535507b002225335309301333573466e3c01c00825404250044ccc02001c00c0144ccc02001c00ccd41ec010014c8004d542340488c8c8c94cd4c23c04ccd5cd19b8833704a006a0049000048808480088038a99a984780999ab9a3370ea0069000048808480089804240002a66a611e02666ae68cdc3a801a801048808480089804240042a66a611e02666ae68cdc42801a801048808480089804a40002a66a611e02666ae68cdc42801a400012202120022600a6601466e05200050033370290002801099800a400466e01200233706a006a004640026aa1220244464a66a612402666ae68cdc399b8233704006006a00aa00c1280212602260160062a66a612402666ae68cdc380119b80003480082500424c044c03000c54cd4c24804ccd5cd19b893370466e0940054005401540182500424c044cc01140040084cc01000d40044cdc199b80002001480104d4d40ec008880044d4d40e80048800884888c00c01084888c0080104888004800488cc044cdc1001299a984380999ab9a3370e002900004480844008a40002a66a610e02666ae68cdc4800a4000110021120229001099b814800120025335308701333573466e200052000089010880113370290000008800990009aa8438091119b803370266e14cdc099a9802890009a802091198012405c6600490520119801240346600490650199801241a4046600490650119801241340666004905c0199801241f4026600490720199801241dc0466004905f0119801241fc0266004902019801240ac6600490570080099b81001480080052080043371c0049000299a984380999ab9a3370e002900104480844008a4000266006666e312002337026e3400920020025335308701333573466e1ccdc3000a400890000448084400899b83001480104cdc019b8248018005200212335001506c506d320013550850122122533530860133323535006001222222220063333333350060850100722333573466e20008004228042240488ccd5cd19b8900200108a010890122333573466e24008004224042280488ccd5cd19b880020010890108a01225335308801333573466e24008004228042240440044008894cd4c22004ccd5cd19b8900200108a010890110021001001480004d40452410350543600153353506d00213501149103505437002215335308801333573466e1c00d200008a01089011002133530061200100133702006900109111111109199999998008048040038030028020018010900091299a984080999ab9a3370e0040021060210402200c2a66a610202666ae68cdc48010008418084100880208028911001891100109110009000889119000990009aa83f91299a9a83280088019109980300118020009111091999800802802001801100091111980299b803370400800266e0800800ccdc10018009119299a983c999ab9a3370e004900003d83d09a80224810350543300133502833708006a00266e1000940044cc1094cd4c1e0ccd5cd19b88002480001e81e44cdc0a40000042004a66a60f0666ae68cdc4000a40000f40f2266e0520000011001123505235304f3357380020a09309111a982b000911299a9a837800909a98048031111111111299a9a83d19809005801109a83e98090008a83d8a838190009aa83b111299a9a82e8008a8361109a9aa83100111299a983d199ab9a3371e00c0040f80f626a0e200226600e00c006444444444424666666666600201601401201000e00c00a0080060044002244246600200600424002244246600200600424002244246600200600424002640026aa0da44244a66a6a0aa00220de442a66a60e0600800420e4266a600c240020080022424600200424002442466002006004400244244660040080062440024002444424666600200a0080060044002442466002006004400244444444246666666600201201000e00c00a00800600440024646666ae68cdc3a800a4004406646666ae68cdc3a80124000406a46a0786a607266ae712401035054310003a499264984d55ce9baa00112232323333573466e1cd55cea801240004664466a072004002600a6ae854008c014d5d09aba2500223503c353039335738921035054310003a49926135573ca00226ea8004488c8c8cccd5cd19b8735573aa0049000119a80718029aba150023005357426ae8940088d40ecd4c0e0cd5ce249035054310003949926135573ca00226ea8004448888cdd2a400066ae80c010008cd5d018018009bb14984cd4008888c00cc008004800448848cc00400c008480048888cccc01801000c008004888848cccc00401401000c008800448848cc00400c0084800448c88c008dd6000990009aa82a111999aab9f0012503d233503c30043574200460066ae880080b48c8c8c8cccd5cd19b8735573aa0069000119981a18031aba150033335500975ca0106ae854008cd401dd71aba135744a00446a0606a605a66ae71241035054310002e49926135744a00226aae7940044dd5000919191999ab9a3370e6aae7540092000233043301a35742a00466a00a0326ae84d5d1280111a8171a981599ab9c491035054310002c49926135573ca00226ea8004488c8c8cccd5cd19b875001480008d4124c014d5d09aab9e500323333573466e1d400920022504923502f35302c3357389201035054310002d499264984d55cea80089baa0011335500175ceb44488c88c008dd5800990009aa82811191999aab9f0022503a2335039335503c300635573aa004600a6aae794008c010d5d100181509aba1001232323333573466e1cd55cea80124000466060600a6ae854008dd69aba135744a00446a0546a604e66ae71241035054310002849926135573ca00226ea80048c8cccd5cd19b8735573aa002900011bae357426aae7940088d40a0d4c094cd5ce2490350543100026499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8159a981419ab9c490103505431000294992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800881208cccd5cd19b8750024800081208d408cd4c080cd5ce2490350543100021499264984d55ce9baa001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d40acd4c0a0cd5ce2481035054310002949926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660706eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002303a3008357426aae7940188d4070d4c064cd5ce249035054310001a499264984d55cea80189aba25001135573ca00226ea80048c8c8cccd5cd19b875001480088c0e0dd71aba135573ca00646666ae68cdc3a80124000460746eb8d5d09aab9e500423501935301633573892010350543100017499264984d55cea80089baa0011122232323333573466e1cd55cea80124000466aa050600c6ae854008c014d5d09aba25002235019353016335738921035054310001749926135573ca00226ea8004c8004d540e48894cd4c0e4ccd5cd19b87001480000ec0e840084cc00c004cdc2801000990009aa81c111299a9a80f8008801110998029a9aa8120011119b8000600200121222300300422212223330020060050042122230010042001212230020032212233001004003200112200212200120011221233001003002120013200135502b22225335350130011350083530053357389212373636f6f70657220746f6b656e206d7573742065786973747320696e20696e7075747300006498884d4c02c00888d4c03c0048894cd4c0ccccc03800802802440d44ccc02c028024018480048004888c8c8c004014c8004d540b0894cd4d404800440b0884d4d5405c008894cd4c0bcccd5cd19b8f00200903103013007001130060033200135502b22533535011001102b22135355016002225335302e333573466e3c00801c0c00bc54cd4c0b8ccd5cd19b87001480000c00bc40bc40c04c01800c4988848cc00400c008800488848ccc00401000c00880048848cc00400c0088004c8004d540808894cd4d401c0084004884d4d54030008894cd4d4064cccc0280080154069403484d4d5403c00488d4d5404400888c8d4d4070ccd403c03801c00c888cc040030cd4054ccd55406802cccd404804402801801001ccdc0000a400426600e00666a018666aaa02200400290010029119b80002001122235350100022223535013004222323232333501a0030020013300b0060033300a006003330090060033200135501d222225335350060031533535014002213535500a0012235019335500d335500d0020010041501522135355500d00222253353501900721333300b00a00500833500d00600715335302435301200922353016002223530160072235301a002225335302c3333020006005002001153353502100721533535022004213302c002001102e15335350210032102e102e102d1333300a0090043501b335500f0020010061333300a009004501a33500c00500611220021221223300100400312001112212330010030021120011112221233300100400300211120012212330010030022001221233001003002200112221233300100400300212001222232335300c0052335300d004253353013333573466e3c0080040540505400c405080508cd4c034010805094cd4c04cccd5cd19b8f00200101501415003101415335350050032153353500600221335300a0022335300b0022335300f002233530100022330140020012017233530100022017233014002001222017222335300d004201722253353018333573466e1c01800c06806454cd4c060ccd5cd19b8700500201a01913301700400110191019101215335350050012101210121212230020031122001120012122300200322212233300100500400320012122300200321223001003200122333573466e3c00800401801488ccd5cd19b870020010050041220021220012001112323001001223300330020020014891ce8a447d4e19016ca2aa74d20b4c4de87adb1f21dfb5493bf2d7281a60048811c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b9130048811c646ad13fb9e22d3b802049d85e95dc04edb6471eaa9237a932d38d490048811cba158766c1bae60e2117ee8987621441fac66a5e0fb9c7aca58cf20a000159084959084601000033233322232332232333222323332223322323332223233223233223332223333222233322233223322332233223332223322332233322232323232322222325335300b001103c13503d35303b3357389201035054350003c498ccc888c8c8c94cd4c05c0144d4c0680188888cd4c04c480048d4c0ed40188888888888cd4c078480048ccd5cd19b8f375c0020180440420066a6040006446a6048004446a605000444666aa60302400244a66a6a07c0044266a08c0020042002a0886466a002a088a08a2446600466a609000846a0820024a0806600400e00226a606ca002444444444466a6032240024646464666ae68cdc399991119191800802990009aa82c1119a9a826000a4000446a6aa08a00444a66a6050666ae68cdc78010048150148980380089803001990009aa82b9119a9a825800a4000446a6aa08800444a66a604e666ae68cdc7801003814814080089803001999aa81e3ae335503c75ceb4d4c084cccd5cd19b8735573aa006900011998119aba1500335742a00466a080eb8d5d09aba2500223505135304f33573892010350543100050499262220020183371491010270200035302801422220044800808007c4d5d1280089aab9e500113754002012264a66a6a070601a6aae78dd50008a81a910a99a9a81d0008a81b910a99a9a81e0008a81c910a99a9a81f0008a81d910a99a9a8200008a81e910a99a9a8210008a81f910a99a9a8220008a820910a99a9a8230008a821910a99a9a8240008a822910a99a9a8250008a823910a99a9a82600089999999999825981000a18100090080071810006181000500418100031810002001110a8259a980a1999ab9a3370e6aae754009200023301635742a0046ae84d5d1280111a8211a982019ab9c490103505431000414992622002135573ca00226ea8004cd40148c8c8c8c8cccd5cd19b8735573aa00890001199980d9bae35742a0086464646666ae68cdc39aab9d5002480008cc88cc08c008004c8c8c8cccd5cd19b8735573aa004900011991198148010009919191999ab9a3370e6aae754009200023302d304735742a00466a07a4646464646666ae68cdc3a800a4004466606a6eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d4009200023037304e357426aae7940188d4154d4c14ccd5ce2490350543100054499264984d55cea80189aba25001135573ca00226ea8004d5d09aba2500223504e35304c335738921035054310004d49926135573ca00226ea8004d5d0a80119a81cbae357426ae8940088d4128d4c120cd5ce249035054310004949926135573ca00226ea8004d5d0a80119a81abae357426ae8940088d4118d4c110cd5ce249035054310004549926135573ca00226ea8004d5d0a8019bad35742a00464646464646666ae68cdc3a800a40084605c646464646666ae68cdc3a800a40044606c6464646666ae68cdc39aab9d5002480008cc88cd40f8008004dd69aba15002375a6ae84d5d1280111a8289a982799ab9c491035054310005049926135573ca00226ea8004d5d09aab9e500423333573466e1d40092000233036304b35742a0086eb4d5d09aba2500423504e35304c335738921035054310004d499264984d55cea80109aab9e5001137540026ae84d55cf280291999ab9a3370ea0049001118169bad357426aae7940188cccd5cd19b875003480008ccc0bcc11cd5d0a8031bad35742a00a66a072eb4d5d09aba2500523504a353048335738920103505431000494992649926135573aa00626ae8940044d55cf280089baa001357426ae8940088d4108d4c100cd5ce249035054310004149926135744a00226ae8940044d55cf280089baa0010033350052323333573466e1d40052002201623333573466e1d40092000201623504035303e335738921035054310003f499264984d55ce9baa001002335005200100112001230023758002640026aa072446666aae7c004940c08cd40bcd5d080118019aba2002498c8004d540e088448894cd4d40bc0044008884cc014008ccd54c01c48004014010004c8004d540dc884894cd4d40b400440188854cd4c01cc01000840244cd4c01848004010004488008488004800488848ccc00401000c00880048848cc00400c00880044880084880048004888848cccc00401401000c00880048848cc00400c00880048848cc00400c00880048848cc00400c00880048488c00800c888488ccc00401401000c800484888c00c0108884888ccc00801801401084888c00401080048488c00800c88488cc00401000c800448848cc00400c008480044488c88c008dd5800990009aa80d11191999aab9f0022501223350113355008300635573aa004600a6aae794008c010d5d100180c09aba10011122123300100300211200112232323333573466e1d400520002350083005357426aae79400c8cccd5cd19b87500248008940208d405cd4c054cd5ce24810350543100016499264984d55cea80089baa00112122300200311220011200113500d35300b3357389211f556e6578706563746564205478496e666f20636f6e737472756374696f6e2e0000c498888888888848cccccccccc00402c02802402001c01801401000c00880044488008488488cc00401000c480048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500c35300a3357389201035054310000b499264984d55cea80089baa001212230020032122300100320012323333573466e1d40052002200823333573466e1d40092000200a2350073530053357389210350543100006499264984d55ce9baa0011200120011261220021220012001112323001001223300330020020014891c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b91300010483d8799f4104d8799fd8799fd8799fd8799f581c484eef0a888d272ffda14e4711fa8ddd803fcb325351af5f69271e01ffd8799fd8799fd8799f581c88b10284dbc0979e5132a8b9bfe1eb5b2c40a281eedccc41f34941bfffffffffd87a80ffd87a80ff1a002625a0d8799fd87a801a5f86328dd8799f1a3b023380ffffffd8799fd8799fd8799f4040ffd8799f581c1d7f33bd23d85e1a25d87d86fac4f199c3197a2f7afeb662a0f34e1e50776f726c646d6f62696c65746f6b656effff41041b00000159308af5b6d8799f031903e8ffffd8799f581c9d1cbb54faf284f5d262f591b1f9201a1858de155157dad49f3881c4421c0bff0582840001d87980821a00062ba41a06e9da01840003d8799f581c9d1cbb54faf284f5d262f591b1f9201a1858de155157dad49f3881c4421c0bff821a004750871a4f8ba488a10081825820a18efa353ed11ef8d22f4fd242617db34e94db69824d39ca62d115a648984e42584010aaf6b5c75935a751ac2458aabc58844fcc2f12033ead42ce245aa4c56fe6ea79d5bc9adecc5b7d3e7bae8fa887d72a7383344d10bf1845224f03932adfa40fa20082825820653f3e9b4fe440fdfbc3b77918fdfecd96f00d26ba90310f1de689f8a59a4e70584099aa5b4b07c3b63892fc7a0c08535b0eaa0913c13c71db8a6b6d5abad3fee4dde44f6b448ba2bbec35b2d6acb6a7b74ae472cc1ec9097fc400cd1f2a0547580e825820bd1eef47a3dea42dad00dde4cdff2a34e448e0ec5d46fb120320efc6d5125e3c5840bf697eee81ab01d83f84d2973e1c0a6b678859016847c8d48ac162c2357d3ab354037511d09fc730730c221efc7f4964db5ddb495849230b65ea1e95e932d7060582840000d8799f01011a014232911b0000000253b177730000a4d905059fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd87e9fd8799fd87b9fd8799f1b00896e23b5d663481bffffffffffffffffffffffffd905059fd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f4040ffffd87e9fd8799fd87b9fd8799f1b55555555555555551b002e27aa8f9e4c2cffffffffd905069fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd87a9f188affd905069fd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f4040ffffd87a9f18c5ffd87a9f9fd8799f0000a140a1401a05f5e100ffffffff821a00385d7c1a4c9633f1840001d8799f01011b0000000253b177731a014232910000a1d905109fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd905049fd8799fd87b9fd8799f1b001f71e352dcb8311b4000000000000000ffffd87b9fd8799f1b0012c3b2c327cce11b2000000000000000ffffffffd87980ff821a002ea0721a43a214b6a1008282582084a0bb99824746009c701d6cd122f69db8c6243dac0eb545e853394434e14d50584002ffb6c69058fe87317c5d46a2f1dfeaebdfafa4abfd2e49684981a291f243789a2ae911289b848086a93322310e5b4253c62f0fc3591e5508c64180a89a0f078258202ca5859a4eee27b079588e46579d3c18f0062106aed5275d80f76b36a62d239f58408bb86d406d70703f3d26ca3cdb6ef0ba9cd91dc9b102e3d9cc64d91e2fcf500f3e2fdd6ea243cb0a0852ed5cb8858fb5498d156e2df795f3620f8e594393630ea20082825820653f3e9b4fe440fdfbc3b77918fdfecd96f00d26ba90310f1de689f8a59a4e705840c7d8cfcf5a863565e70864b1a9a4452e62357852f2e217086afd9c184aef826032ccaa31019945e793c76a63af3f00f28397e012aaa82ebe6748fbf8be13070a825820bd1eef47a3dea42dad00dde4cdff2a34e448e0ec5d46fb120320efc6d5125e3c5840c3eb5a186832fa13bf54efde2bb58cd8ab912ffa1713c637709595746be7816da10c4ac1cef962d0a23c15125632ee3f6e12abe587abe0a88dcb9a93eb4604000582840000d8799f01011a04b3ae6f1b00000008b16b8ab10000a4d905059fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd87e9fd8799fd87b9fd8799f1b00896e23b5d663481bffffffffffffffffffffffffd905059fd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f4040ffffd87e9fd8799fd87b9fd8799f1b55555555555555551b002e27aa8f9e4c2cffffffffd905069fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd87a9f188affd905069fd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f4040ffffd87a9f18c5ffd87980ff821a0027e82d1a38e76279840001d8799f01011b00000008b16b8ab11a04b3ae6f0000a1d905109fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd905049fd8799fd87b9fd8799f1b001f71e352dcb8311b4000000000000000ffffd87b9fd8799f1b0012c3b2c327cce11b2000000000000000ffffffffd87980ff821a002eaa5f1a43b400aba200828258200621257bb5bd1477c0960b2e391c70baa8a642ad258420daa10bab85d1c24bef584055c3ef9741574b2f414cc998252f4acf45ebcbd7500b4dcc5a2eecb892ca590eed0b0e71c158fada8961c54cd411839552ea9b29f4937c0a554454d8b6fda40c8258205424fa10ba83c95c33714c420479c19183a7274e7c1d4161d173842c245b340c5840a9524eab80ceaa954f104b97866358037d25199142bc2874a364a482cbcb100e8dfee4b6b2bbdf8a44b0b846c0bf8f28fc2fac6f3a284e3100b6472ef698e80301818200581c4f641455f17911fe2f55ad3ad67fc2e0b2946b59af3352574322e67ea10081825820f44ce6186d190f8776fd871d753df7ae503972e4793a2360a423d2f96021e6015840c1211eeb16d982b03efe8c4818b7a8f25f25c926a9c09ab349b49796922ef4d9ce9f7684bb8edab4ab872fcbf054c62c4d12c41a124513f5345dfca02090060fa200818258207161e272d4a11e272522bb70b2e12eb52828739f4da79ef8af88603c4572f9865840906370f02d2ed4a3fe953f9a51396037fe2651ad333686e32a9108f4de0f56acb8adbbfa0b0a6fe9661ad165185dd79e124b2cf3c4be7e975307eac409421f010581840000d87a9fd87980ff821a000706a31a0a7f114fa20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f584095c2ad4b0a5aba838149492b238d4249101e1c6c44bb98040db0ee0dd6ab246318ca0639fcd8726c41df6f8c0817222e38151ef4f1fa83399e4a89fab60ebc070583840300d8799f009f1a000f4240ff4100d87a809fd87a80ffff821a0019b9831a2c332064840000d87980821962d91a0091af59840001d87980821a00012dfc1a01a97b1ca20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f584000901ddbbadd2aca0143ad2f98d2853e338aac2ee934975e4a66b38647e02843218e0c71ca9a8e05bea018594866002edf4016f5fc00399bf326649b1323a1070583840300d8799f009f1a000f4240ff4100d87a809fd87a80ffff821a001c188c1a31f63fcc840000d87980821962d91a0091af59840002d87980821a00012dfc1a01a97b1ca20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f5840aeae8aea17f4c0294038d7e0b3e50cbe4a77b8493b58f637804dfb5f6f0a6efb0b37a860c0cdffb547c5733b022bf228370c30f74d1734cef5a47b8d3aee3c0c0583840300d8799f009f1a000f4240ff4100d87a809fd87a80ffff821a001b4e0e1a2feb774f840000d87980821962d91a0091af59840002d87980821a00012dfc1a01a97b1ca1008182582034ac6e3b86a461f8b456b0c398dc47a7e52b9589284b668292e4e6a7ce1f6b8c5840f35df974283b57ecfce4c04f1a92765010493f3c5eaf2cf5353f10ecaf3da5a3113cf1d8448b52564df8172a8a23f7690007c822685f96b23a62f97d0685b503a10082825820fb32b7452aa92fed2eee481075aeec4c3a5fdcd80301f802776b86efc486abde58400af5090f18a6e7800548fd596bee2fd68942204cf7bccb3cba1a277b89e3231e9f6d3e50ad5dccb242daa268005920e3d32ad61f5f6c2622a7cd07b4b8c5c20f8258208a2271db746bc955ef5cea23c5e3c4cce7a4d31999ff6b4d20689fd44d9b41925840ea783335dced929a104fefab7308c224bf4254feb2f76a223368ad28f33d1e77abcea0fe323b2038e1c946f2f2ec9e6f43003b335e1fc2d8daa5d7754f676d06a801a11902a2a1636d736781744d696e737761703a204c696d6974204f7264657204d90103a100a11902a2a1636d7367816a41786f3a20547261646506d90103a100a11902a2a1636d7367816a41786f3a20547261646507a11902a2a1636d736781734d696e737761703a204d61737465724368656609a11902a2a1636d73678178224d696e737761703a20557064617465206c697175696469747920706f6f6c206665650aa11902a2a1636d736781774d696e737761703a204f726465722045786563757465640ba11902a2a1636d736781774d696e737761703a204f726465722045786563757465640ca11902a2a1636d736781774d696e737761703a204f7264657220457865637574656480")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); @@ -83,7 +83,7 @@ public async Task DeserializeBlock(string cbor) for (int i = 0; i < iterationsPerTask; i++) { // This call should be thread-safe and never fail if the code is correct - Cip68 block = CborSerializer.Deserialize>(cborRaw); + Block block = CborSerializer.Deserialize(cborRaw); // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue Assert.NotNull(block); diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs index a9696617..058ecb3f 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Script/PlutusData.cs @@ -23,8 +23,16 @@ public record PlutusList(List PlutusData) : PlutusData; public abstract record PlutusBigInt : PlutusData; +[CborConverter(typeof(UnionConverter))] +public abstract record PlutusInt : PlutusBigInt; + + [CborConverter(typeof(LongConverter))] -public record PlutusInt(long Value) : PlutusBigInt; +public record PlutusInt64(long Value) : PlutusInt; + + +[CborConverter(typeof(UlongConverter))] +public record PlutusUint64(ulong Value) : PlutusInt; [CborConverter(typeof(BytesConverter))] From af20516644db14ddb253a645f5fbb185f6b8ee71 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Wed, 18 Dec 2024 10:43:09 +0800 Subject: [PATCH 087/162] chore: bump Chrysails version to 0.5.16 (#103) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 58728b21..8bd8d691 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.15 + 0.5.16 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From 3d98505874ee8caaaf457eeae79389bcaf9f9b54 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Wed, 18 Dec 2024 21:13:34 -0500 Subject: [PATCH 088/162] fix: block costmodels and nonce data structure (#104) --- src/Chrysalis.Test/CborTests.cs | 2 +- .../Types/Block/Transaction/Protocol/CostMdls.cs | 3 ++- .../Core/Types/Block/Transaction/Protocol/Nonce.cs | 13 +++++++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 46cf5bc1..a372ae41 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -70,7 +70,7 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("85828a1a00a10ce91a07b114a55820482722bbfb2a3c2f0f562132e530e5d641acb98b14bcf2c7b40e07efd336da59582008592f447a7e816d93eb50531e68965591e679b6bdc475efe5a12eaf016592ca58209a6a0f9e2806cd1657efab44e77dc93997842f53db23a694f5f6f64f8c623735825840facffc5cf9ab835dd8289a8314a29c00b4a12b9f6d36dc2505f293713c7b3afb773826f62db075cceeac262b1d9804a097fdc83994429709ff6a123c7c5e79635850b26a93820bb3f8a16def5d85ad99310d0cbb0b2708c1a61bc2965c177b86715205f3749d868ea3febb8c17aa225e5c18d8fa02a669e957fd96751a69cec445cf781817cd538d237baec3850f17ebbe0019756958207591201f577a7538a648a5944cfd93a1b849170cd6b2a42f24fc246b7675c4f2845820ac7f8007b1c88e14710e44ce3668085fa557350049ece8571fed11c7f0b4094e131903df5840e40875883e3e721054411f8ffc626fb6cd51b74667da8bcc0619295d424dd1e86b63bb55bed0e39dede3e8e05a478bc716519ff60dd56b20e4dd6813d684ed078208005901c086d6c1846edfed87a88be6c7b19b4630932dd108bcd373ca21a20a7980be4cb39f32ca73f27c34a490ad966a79d8c7aa115fa66807a228d095b0dfa72a33bf0af8974a58e2a9f4d3fe75a96ce53f3a032c2e03ab45ce88b964a90f8979bc3c16e04629afda38bfac8ae3aa9f2162b31c6ca2dea0c9dd4f2d4fc3d28a93de2a82ed0d389775e0c1be670272636ec18c3add17864793fc6a3319f00a2b4bdb3f8cc47e6944a2e14a5b8d1a679a8dec2c0cc0d561fdeab40940589c0e0fa469aa6ebc057a8a368a6db2596f7892257806d51143e228b1623ec5a21454bad9c5f24b74c2a9fb8f64530c69ceb56ad19255199b240eee21519deab1f27af9208be4f9d6bb55830cbf4d9e61074ba4f5ea39da5641106cd0a1272f9f9bdda77f33df5ee61b64c6a4944dd1db8bb145e1e113585de5909e0e5b7af2122fe60b4204bdce0f056970c135e37fd4ced2c3a31ab497177dd116652b4562825611b86677e163204b0d835807c6f5ea461edfdc858d91d552eca63c822d2ae5aa022f431bb3b0fe40b0600f28821c623712a1903ec4d2f70a520502eef80f4c51b901094f3a2ff3dc7eb2f64b6c99935d17293308154fd8e91943b76e7bf9413ab405b8c1abdb8fa400818258204ae90b46e2d1863acfaf987f13219dc83d0b939117a7c898c7d3bd2b2550a9e001018282583901c147d2b9f70eccbf159551987d364a64fd31ae2c66c7a78c24af31b13740d250b5d3e6a59b2515d87e7c785f3f9a8653a8b4c6043a7360441a05eef58482581d61193445f8c7e2accc70712b8ab2e515655be109ee7a4a306c7281c7e91b000003c2c651273a021a000290f9031a668fc5e6a6008482582080c94f2a5e10e21bc027ffcf8e1ca4a08f101fdf52bafde02b176264bbef9a5801825820dbbb038602c163009e00a799c5f82e580550f4c4a060bd3d72776894060b210901825820e04109247e7c2f3a5acd8efc078b7355068d8ff0285c9897249e01f930a963d002825820feee1135dff294f500bf98521ef925604ede0bcd31c4898212c9c809ff7596c301018283583911a65ca58a4e9c755fa830173d2a5caed458ac0c73f97db7faae2e7e3b058d0587938fbd6cfd9c20576df68047efba2aeb12d1239cec74e5b41b000000012a42fb005820cb06629f70ae0a82186afb627dbfdb62e5fb5be338c5c1636d117b68a192ed2f8258390115874be1289f91e9c0be163fa3538727eaf6064213dd23b111bebbd3058d0587938fbd6cfd9c20576df68047efba2aeb12d1239cec74e5b41a2136a13a021a0002e2f5031a07b13ead07582010e1456a8b32908b10df6d15c8f1ebf7d0b83442f0d2f0745697abd36df7cd620b5820a20d2b7496e2c981a51bbec359c1fedf43f258715328c52e770ed09f19b1d20fa7008482582034a95dcdf3e54fefca7ae1d85a44c8387c64dd2ac4e7eaf0445e476832da9dba038258203c225071b49e679788cfc4503ba5c86ec376e392099966c3bc0f8c946210e2a2008258209f78e01c465e9d30b5f23d1c97fa0cb7d7080a7a64719ffb31885b4c915cf8d504825820ef33a6a5281a0cb15369004c1cb642a00559a6dfa938b6ca17661b22740ed5ce000185a300581d714020e7fc2de75a0729c3cc3af715b34d98381e0cdbcfa99c950bc3ac01821b0000012697766b91a2581c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b913a14370200401581c1d7f33bd23d85e1a25d87d86fac4f199c3197a2f7afeb662a0f34e1ea150776f726c646d6f62696c65746f6b656e1b000001d713d93df60282005820c6bd88d569d666b2b057bf6b65ed72139386e215f9f191542aaab5e51af654aaa300581d71646ad13fb9e22d3b802049d85e95dc04edb6471eaa9237a932d38d49011a001499700282005820cfccde3b8ecd0a46d5bfe028eaa45627b8f50d5ad460033b1ccebe04d9906105a200583901484eef0a888d272ffda14e4711fa8ddd803fcb325351af5f69271e0188b10284dbc0979e5132a8b9bfe1eb5b2c40a281eedccc41f34941bf011a3bb94e80a200581d61251f7fb11f84f81653ee5b76a10dd29fa36ec7717aafe689490cb7e401821a001e8480a1581ce8a447d4e19016ca2aa74d20b4c4de87adb1f21dfb5493bf2d7281a6a14a73636f6f706572201c0b01a200581d61251f7fb11f84f81653ee5b76a10dd29fa36ec7717aafe689490cb7e4011a01752d75021a0011e385031a07b122a2081a07b114930b58200eb99ccf8b41d12a5c0717f1348485ace011ecf76d48a95c29c2d51e38f24a3a0d8182582034a95dcdf3e54fefca7ae1d85a44c8387c64dd2ac4e7eaf0445e476832da9dba04a400828258207ef448fc648bc1a941f05bdcc32fcbeb99868154728a208a2e51b0aac421c85701825820decafaadde1f8b46220673b07ae2aae85271391c587dc4e95cf800c0837d7f4c01018482581d61df2d44d463934f080ab53f961b18a8c0fc3d98eab7687ab1efb267401a003d0900825839015e24bbea1eca32ba9dfc2180a511f99514bb3451d585e39e4f3727d26f9449cd78bc181519dc9403217732509872868194d9b9585b7d41451a000f4240825839014a8468b5940093e9cb7129b4fe91f9a247c149c34b2371b1b0e5c353f11dc92d5d093a8c08ef2abed7065be850127536a06473c2faa436ec821a0049eb98af581c112da9f67e6e263d8e9286ebdcf72b470ad57dbd68ab0d24650d0928a14f4348494c4c5a43484f5050494e353101581c123da5e4ef337161779c6729d2acd765f7a33a833b2a21a063ef65a5b34b5369636b43697479343130014b5369636b43697479343133014b5369636b43697479343339014b5369636b43697479343432014b5369636b43697479343437014b5369636b43697479343439014b5369636b43697479343531014b5369636b43697479343534014b5369636b43697479343535014b5369636b43697479343632014b5369636b43697479343637014b5369636b43697479343639014b5369636b43697479343733014b5369636b43697479343734014b5369636b43697479343736014b5369636b43697479343738014b5369636b43697479343739014b5369636b43697479343830014b5369636b4369747934383101581c2e98523602110d53bc6504140f3051b42fea695e0487abea9bc85d55a146436f7069756d1a00802c80581c330013d4da4b87484f1c702de5e50ba5d97c1957dde6ae8a3ab2e349a1434f43581a0cdf70d0581c33d6bff70ac2d89940597e437e4d42c15d12b5380c17e1f0d9c625c7a14d4765726f46726565313431333301581c34779bbda3566bfed20b9184e30ad2ac374f55431550515a11a2ca3aa14c50494e4b434c4f554453333401581c682fe60c9918842b3323c43b5144bc3d52a23bd2fb81345560d73f63a1444e45574d186c581c821b636862f9160d68f875ac7d460b9642e462d499c00cae9b88ec25a14a5754503030373654303701581ca3931691f5c4e65d01c429e473d0dd24c51afdb6daf88e632a6c1e51a14b6f7263666178746f6b656e181c581cad1c1ed3a0bb6f83630ef052a31b71ba3287bf4bafa8370758f14d31a1445349434b192710581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a1793fcd1581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1a004c4b40581ce517b38693b633f1bc0dd3eb69cb1ad0f0c198c67188405901ae63a3a148001bc2804c616b6501581cececc92aeaaac1f5b665f567b01baec8bc2771804b4c21716a87a4e3a14653504c41534801581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa14a000de140676f6465737301825839014a8468b5940093e9cb7129b4fe91f9a247c149c34b2371b1b0e5c353f11dc92d5d093a8c08ef2abed7065be850127536a06473c2faa436ec1a017cfe90021a000343b9031a07b130b2ac008282582063d4dde086274158fefea95a882a385cab4e5066ddf80428344747b09d15e1d900825820cd09bef5406322704c7924333b87da126a597008ef287cdd8ab552c03401d699010d81825820c5f70d555f6bd7063f56c152b1323c0ef45bfa107de0ecec1d1085b22e06846b0012828258204d1aaea1ab5feb48963d97b5ef249193ae307cd5a2309b9804137174830b98c40082582079af593d6aa048f6c016e612aa73f98197fef53ece81a878bca6d7a9b3fdf188000182a3005839118f2fee1e5be61e3d58368a7d10db6eba60543bbe63885d7754a471553abb7a8e19c3af29fd8a80a2e75da12db738949148299812a066717901821b00000003bef3766aa2581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000002a6d5249e9f581c88a67e9324ae389a19d79d0f643dd1e06e5c83d9c968496ae09a2cdba146466c57612b6b01028201d818590122d8799fa300a140a1401b00000003a1d51c0001a140a1401a04b3ae6f02a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000002a6d5249e9f9fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd8799f581c88a67e9324ae389a19d79d0f643dd1e06e5c83d9c968496ae09a2cdb46466c57612b6bffa447656e6444617465d905009f1b000001910a97b480ff496672657175656e6379d905029f1a00afc800ff49737461727444617465d905009f1b000001906b297f5cff477472616e636865d87a9f1a05f5e100ffa25069735f6661756365745f616374697665d8799fd87980ff446c617374d905009f1b000001909c7662d4ffffa300583911c2c756eb9b1c8ac5d376b6ae7f474931bdecf40279b73ad4de57d0e75be329fad866e7ea4cb5baaf01e2709173644de7edc34bd2bafd565101821a0931fd19a2581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b0000000944226953581cf9ef5b65c3c1150d9de782d64a8e6b1377510725558d4a16892cad40a1464a6e4861396b01028201d818590244d8799faa00a140a1401a01d951f401a002a140a1401a018b2bbb03a004a005a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000000039e98efb206a007a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b00000002cb09cd0808a009a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b00000002da7fac999fd8799f4040ffd8799f4040ffd8799f4040ffd8799f4040ffd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd8799f581cf9ef5b65c3c1150d9de782d64a8e6b1377510725558d4a16892cad40464a6e4861396bffa747656e6444617465d905009f1b000003bbcc68f818ff4773707265616431d87b9fd8799f03190190ffff4773707265616432d87b9fd8799f011864ffff4773707265616433d87b9fd8799f0318c8ffff4773707265616434d87b9fd8799f011832ffff4773707265616435d87b9fd8799f011828ffff49737461727444617465d905009f1b00000093933c5c18ffa0ff10825839010b4aeba7566a53111bfa7fcf6a04d47e7b37bfc1aa56ca247544b8a0b5af9ae7c866e994de2f41661660489d00ccb4d83fd31df8d37f968b1a3b88043c111a0012c5c4021a000c83d8031a07b11b9c081a07b114940e81581c771d5a28a99b9efa419d323f05605e7d89cdf22970617fe2069b3c240b5820c50160cc6f66a73f73e4935d19b6857fe39955dc150b6b4ce35610d83362ef8a075820d8da68078137dbcfc7f854aa0861e278286f3e86b0b061a1c6afb4ad46d50b46a40082825820af6060a90920fba0d2c0300a74a597d4a0ad310db1de811bcbd926ca26f4ab3a00825820c52edb24eac86a79aa0d1d85dca0ebf5d527a518fed2d36c666e4807137db7f702018382581d61da5f5a6d51a5f2a40130ee69e2d38c763f62e2b53e597acd18a8981c1a0aba9500825839010bd57bdb830f51b1f41bcb6643b0e48ad7925c7290e410411b127f0bb404744f636f3bcaa5b1f56190f1a78d850e4bf1b66190b75b5371151a0bcd3d80825839010bd57bdb830f51b1f41bcb6643b0e48ad7925c7290e410411b127f0bb404744f636f3bcaa5b1f56190f1a78d850e4bf1b66190b75b5371151a1e9c5e0f021a0002af65031a07b13099ac00828258203c940db852555d9eac87548f0c40cd296c6c868cda60cdf7efa5b3300f01436a00825820da001b0e5dd47301dae43d7cafa1dbb156ceb81e2173b1defc07a16a5faa9aa5010d81825820c5f70d555f6bd7063f56c152b1323c0ef45bfa107de0ecec1d1085b22e06846b0012828258204d1aaea1ab5feb48963d97b5ef249193ae307cd5a2309b9804137174830b98c40082582079af593d6aa048f6c016e612aa73f98197fef53ece81a878bca6d7a9b3fdf188000182a3005839118f2fee1e5be61e3d58368a7d10db6eba60543bbe63885d7754a471553abb7a8e19c3af29fd8a80a2e75da12db738949148299812a066717901821b00000003ba348389a2581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000002af86902950581c88a67e9324ae389a19d79d0f643dd1e06e5c83d9c968496ae09a2cdba146466c57612b6b01028201d81859011ad8799fa300a140a1401b00000003a1d51c0001a002a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000002af869029509fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd8799f581c88a67e9324ae389a19d79d0f643dd1e06e5c83d9c968496ae09a2cdb46466c57612b6bffa447656e6444617465d905009f1b000001910a97b480ff496672657175656e6379d905029f1a00afc800ff49737461727444617465d905009f1b000001906b297f5cff477472616e636865d87a9f1a05f5e100ffa25069735f6661756365745f616374697665d8799fd87980ff446c617374d905009f1b000001909c7662d4ffffa300583911c2c756eb9b1c8ac5d376b6ae7f474931bdecf40279b73ad4de57d0e7374382e06c94573d3e69d459b100481887f6a4ae47c0f99e9b5c8aca01821a5e36774aa2581c1a5458a13a2c63d527d514068fc3012da1d8e3858f3bcc95d41a5643a1494d4d5f6a796151313601581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000003961fdf8745028201d8185902b7d8799faa00a140a1401a04b3ae6f01a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000001021c94967c02a140a1401a1742863803a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000000ac2c1efb9904a140a1401a1443fd0005a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000000acdf18399006a140a1401a1443fd0007a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b000000a2ffb1652408a140a1401a1443fd0009a1581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a44a14341584f1b00000097f862567c9fd8799f4040ffd8799f4040ffd8799f4040ffd8799f4040ffd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd8799f581c1a5458a13a2c63d527d514068fc3012da1d8e3858f3bcc95d41a5643494d4d5f6a7961513136ffa747656e6444617465d905009f1b000003bbcc68f818ff4773707265616431d87b9fd8799f03190190ffff4773707265616432d87b9fd8799f011864ffff4773707265616433d87b9fd8799f0318c8ffff4773707265616434d87b9fd8799f011832ffff4773707265616435d87b9fd8799f011828ffff49737461727444617465d905009f1b00000093933c5c18ffa0ff10825839010b4aeba7566a53111bfa7fcf6a04d47e7b37bfc1aa56ca247544b8a0b5af9ae7c866e994de2f41661660489d00ccb4d83fd31df8d37f968b1a3b89e355111a0010e6ab021a000b4472031a07b11b9c081a07b114940e81581c771d5a28a99b9efa419d323f05605e7d89cdf22970617fe2069b3c240b58200323e30a90e1b88d57ffe8c0d5acf00cc4a82b88057eb058a7c8a92964ec84e2075820d8da68078137dbcfc7f854aa0861e278286f3e86b0b061a1c6afb4ad46d50b46a700838258200b7a51ebf4ccb5ab0ab7d9451903ff03c08f27e4c04805232af40e0c14d484c6038258200b7a51ebf4ccb5ab0ab7d9451903ff03c08f27e4c04805232af40e0c14d484c604825820d7edd7cab95bd483f9b9a1c5640683543e5736c43892f29a5a8457c166f53817000183825839012e6e497c7bc2377547bfa6a155deec3598cc73d4fc20df17a155702f2a08938a78bb1184266bde907221b350aff3e265ef20fedd01d6b749821a0011c915a1581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1a000ac69882583901adb1bf6a51b20ff1b8450726ef3891bb0e153d5bf47783375e2134afbd6a096cbba5e259946798e948403e2d2b3d9ea88a12ee8e7ae944971b000000243293571582583901adb1bf6a51b20ff1b8450726ef3891bb0e153d5bf47783375e2134afbd6a096cbba5e259946798e948403e2d2b3d9ea88a12ee8e7ae94497821a0049433cb4581c133fac9e153194428eb0919be39837b42b9e977fc7298f3ff1b76ef9a14550554447591b00001496c14fc89c581c160a880d9fc45380737cb7e57ff859763230aab28b3ef6a84007bfcca1444d4952411a266d2d83581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1b000015496e6aecb3581c2d92af60ee429bce238d3fd9f2531b45457301d74dad1bcf3f9d1dcaa143564e4d1b00000001b262110d581c4623ab311b7d982d8d26fcbe1a9439ca56661aafcdcd8d8a0ef31fd6a146475245454e531b0000000d4f6f7c63581c724a31d1421744cac3bb1d547aa692b43517d651c46e60a0cf1f70eca144444f444f1a025192d6581c9a1dfe73344033e70deab8c5c28c00f62b092814fb14581ec3a3d516a1480014df10434f44451b00030649a4e4607d581c9abf0afd2f236a19f2842d502d0450cbcd9c79f123a9708f96fd9b96a144454e43531b00000005710539e0581c9f452e23804df3040b352b478039357b506ad3b50d2ce0d7cbd5f806a143435456192bd1581ca1ce0414d79b040f986f3bcd187a7563fd26662390dece6b12262b52a14b464c45534820544f4b454e1b002cb1f77aa5589c581cbf3e19192da77dfadc7c9065944e50ca7e1a439d90833e3ae58b720aa14544414e5a4f1a3848db34581cbfa9354862e34f2dd417c9068a9367b530d1a704a0f5dc41468c402ca14550524f434b1a711694b8581cca942cb8bb5d1ef750766ded355f320880539111f10efa2b1a478ff9a1435241471a000bb5a0581ccc8d1b026353022abbfcc2e1e71159f9e308d9c6e905ac1db24c7fb6a147506172696275731b000002b57618da43581cce5b9e0f8a88255b65f2e4d065c6e716e9fa9a8a86dfb86423dd1ac0a14444494e471b000000d204b6d7fa581cea02c99c0668891d6b7cdc49e075cbddf9cd5b89404e5a8a8e5d7016a149534c4f5020436f696e1a0096ed18581cee0633e757fdd1423220f43688c74678abde1cead7ce265ba8a24fcda14443424c501b000000c15465a252581cf4d97191f857096b441a410c036f63d6697dde0c71d2755dd664e302a1434d4b411b0000006c16e1e61b581cf7516c9f7b347eb412a777f3c711099b199ccd2be23b568a4a3abf6da1435350581b00003cd8037b2ba0581cfb59da920d029dde957b556d981046a9102698ed70797da5908e4634a147454c454d454e541a019d0255021a00037a8d031a07b13ec9075820dceb615df4c37cb35edc022e11faba4f98e042261a24cb1e2bca0cc3e4dcc45709a1581cd195ca7db29f0f13a00cac7fca70426ff60bad4e1e87d3757fae8484a24568764144413939e24568764d494e3a000ac6970e81581c4f641455f17911fe2f55ad3ad67fc2e0b2946b59af3352574322e67ea300982682582075cd35c78dd6b47770c4a93ff734ac09f369e9c103c3c0216b6944350e8d85600a82582075cd35c78dd6b47770c4a93ff734ac09f369e9c103c3c0216b6944350e8d85600d82582075cd35c78dd6b47770c4a93ff734ac09f369e9c103c3c0216b6944350e8d85600f82582075cd35c78dd6b47770c4a93ff734ac09f369e9c103c3c0216b6944350e8d85601182582075cd35c78dd6b47770c4a93ff734ac09f369e9c103c3c0216b6944350e8d8560128258209999e0450dcea54b78675716d672a4e6852d4a57c6d8e0d52b51b22c464d5d2d0182582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a0a82582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a0b82582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a0c82582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a0f82582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a1182582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a1282582085b51f5585fb68389e773932265829e2285dc28f4a2502b31360db4b3433a47a13825820d2707fc538ed7fa317a32d0c2c2f58679c35a765ece79add1e8a43e38f7bdd0907825820d2707fc538ed7fa317a32d0c2c2f58679c35a765ece79add1e8a43e38f7bdd0909825820d2707fc538ed7fa317a32d0c2c2f58679c35a765ece79add1e8a43e38f7bdd090a825820d2707fc538ed7fa317a32d0c2c2f58679c35a765ece79add1e8a43e38f7bdd090b825820305365c0eab8785ba82c6c61ceb7fabf030bdec3f7970591d55030dd4aaaf646018258208b02290ba4d535f8520578e0f11375edc191849f030732e99b6772c3c2c64d31068258208b02290ba4d535f8520578e0f11375edc191849f030732e99b6772c3c2c64d31078258208b02290ba4d535f8520578e0f11375edc191849f030732e99b6772c3c2c64d31088258208b02290ba4d535f8520578e0f11375edc191849f030732e99b6772c3c2c64d31098258208b02290ba4d535f8520578e0f11375edc191849f030732e99b6772c3c2c64d310b825820a02a7bde1a79a6bcf48fba251bf5ab24c927add5e6bdec53a8f81f5bdee317290182582017355b5323dcb65233f937205b43b6eb4466eac0f1c554bc44f4ee017d57970701825820b5759082d0754ccb384edef6360cfb9216c967c2623ebd2908b295ea5ea92f0801825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa660606825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa660607825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa660608825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa660609825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa66060a825820d021586fba3f5d7e3fd5bd4bd889a3107270d70c7ad33fccabded6536faa66060b825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae06825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae07825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae08825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae09825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae0a825820b2561a70219410e69b45b5083b0010c4773201efd00014fce8902b78fdb82eae0b018182583901da299558c70a8970781806dca93d1801ba2f3b3894227a7b284786e49baba19195b7cb8b1c6febb192cc487b5e8b96d737baddb8bb09866f1b000000010c5423be021a00036b15ab008282582057a171e75b5a349b6e42e21c58ae917c30b3f78cb6f60b89144027321d6fd66500825820df8a3f011f43171863c6fabef996056a335750499b1b5bed4c6c8f02425f2452010182a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a1e120f20a2581cde27f9eb9ed6f011e30a56dbe09d982c9facde3a37efd92f4dfac015a14c446f6e616c644a5472756d701a3b9aca00581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d535001582040a64a0854c3e7575923451f494515d9ca97bb2613383c4a10f99f75b168fd9d1b7fffffffd5da682b028201d818587ed8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581cde27f9eb9ed6f011e30a56dbe09d982c9facde3a37efd92f4dfac0154c446f6e616c644a5472756d70ff1a2a2597de1a1dcd65001a3b9aca001901f41901f4d8799f190682ffd87980ff82583901ac1871003b670526048af46deffac5aa1e40043652771d58cf210be87c7f1e4b69d5f34fd5b5fbe81607a8b3df7c79a28401b4f6048839c01a04c1a91a021a0003ad26031a07b13ecc0758206c0e7e25b6790f25e9fadd5fa105ba5cae2a302513148bef75f20311264d7d350b5820fd6c6edcfb2b7cf4106c10ae5b5e5559247650bd62848a716df1cf511fa47a9a0d81825820df8a3f011f43171863c6fabef996056a335750499b1b5bed4c6c8f02425f2452010e81581cac1871003b670526048af46deffac5aa1e40043652771d58cf210be81082583901ac1871003b670526048af46deffac5aa1e40043652771d58cf210be87c7f1e4b69d5f34fd5b5fbe81607a8b3df7c79a28401b4f6048839c01a04790b00111a004c4b4012828258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00ad008382582035032d7a89c5e94e25be92fa6e0fd63673d57a3846b23c7c74b1378c996d18e50282582074f1ff1d0568e6cddf334a5147af1a24c5bbdd62af630fb8b63ba42d25f5c3f801825820ac9da9d9e24461c265e7f9b8b262075a2090f2645fa1c2004aebbd56ccc8c80a02018382583901683579a9bf5e3d33fc38e57729bfa196ae935a476c9634a3df93823d3ee2ab2ac35d5a65effd725213f3d4f42ba4c04ae9d1716939b278ed821a001e8480a1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca15820154da2f5ce7fe018180ebdd810556d4cd9e6c4bb8a6acbb2f934e613cfd9017f1a00b81888a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821a1e427d8fa2581cea02c99c0668891d6b7cdc49e075cbddf9cd5b89404e5a8a8e5d7016a149534c4f5020436f696e1a0031bd0f581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820154da2f5ce7fe018180ebdd810556d4cd9e6c4bb8a6acbb2f934e613cfd9017f1b7ffffffffd961ad8028201d8185879d8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581cea02c99c0668891d6b7cdc49e075cbddf9cd5b89404e5a8a8e5d701649534c4f5020436f696eff1a0269e5311a1dfdd36f1a0031bcf518c818c8d8799f190682ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a02d64da8021a0005a633031a07b1154805a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a07b114940b5820862f3f4706858d452352da1cbd4ff3b2683eab433ab3430a95458b0036d92ace0d81825820ac9da9d9e24461c265e7f9b8b262075a2090f2645fa1c2004aebbd56ccc8c80a020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a0280665b111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700ad008382582035032d7a89c5e94e25be92fa6e0fd63673d57a3846b23c7c74b1378c996d18e50082582056c4bec834d1e83edd9f6990b1b7484752a1497f607695c3eceededb453941cf02825820c3ae36f1f54237d982f275a431218f45f400f4d7ad033a876615436ad848dc05010183825839016f2c862f2fd1bc89ab2c38e46b5a362266b76b4ba406a8a359b7ba1608fd6c0ed5e1ebfddc24e3dd7e1c93c19d82f64dfb4e75159114ef50821a001e8480a1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca1582082e2b1fd27a7712a1a9cf750dfbea1a5778611b20e06dd6a611df7a643f8cb751b0000001fe016aad1a300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821b000006cccccc9b71a2581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1b00008886e5192557581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d535001582082e2b1fd27a7712a1a9cf750dfbea1a5778611b20e06dd6a611df7a643f8cb751b7fffe1ca361b8c47028201d818587fd8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1b00001e35c9e473c21b000006cccc147a131b00008886c735a06e181e1864d8799f190d05ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a049232b3021a0005e683031a07b1154805a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a07b114940b5820ff43fabdda5eb88f39a61a23fe913b532723fc47255cf684d70eee983144585b0d8182582056c4bec834d1e83edd9f6990b1b7484752a1497f607695c3eceededb453941cf020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a043c8bb6111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700ad008382582035032d7a89c5e94e25be92fa6e0fd63673d57a3846b23c7c74b1378c996d18e501825820d41e308b014b0730a0497d037319991ae62318cd17e40226fc38661c0fd0213002825820e6360193e1e8dbf04279bd2398009293d08b83d2d5e40c35a7de84f2810ff2aa01018382583901a9621001478c486c1f23fc043e2faaa80a617891186108e34e36adf5e9e6e8eced2af9b2a0b2dcfeadce7a4a9542f9ae2278ae22fe8b7ac8821a001e8480a1581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca15820be4e7db856a751f5f8120e1f3a67ba36600951f98544b0ded0544b5df86e7a311b00000001a3dd253fa300583911ea07b733d932129c378af627436e7cbc2ef0bf96e0036bb51b3bde6b52563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c201821b00000002a017942da2581c5dac8536653edc12f6f5e1045d8164b9f59998d3bdc300fc92843489a1444e4d4b521b0000027b1dffe6b0581cf5808c2c990d86da54bfc97d89cee6efa20cd8461616359478d96b4ca2434d5350015820be4e7db856a751f5f8120e1f3a67ba36600951f98544b0ded0544b5df86e7a311b7fffffd72ee7e167028201d8185880d8799fd8799fd87a9f581c1eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44affffd8799f4040ffd8799f581c5dac8536653edc12f6f5e1045d8164b9f59998d3bdc300fc92843489444e4d4b52ff1b00000028d1181ea21b000000029fcd20d11b0000027b1875752418321832d8799f190682ffd87980ff825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a05ac4a07021a0005d186031a07b1154805a1581df11eae96baf29e27682ea3f815aba361a0c6059d45e4bfbe95bbd2f44a000758205160f88b929bf8a6c57c285b889488f9137c0ef3cfd0bcf408a10020e69146d5081a07b114940b5820de82bd688cecc6520c03e7c5da7d41ab96ca476cbce65dafd83d4c468fa514750d81825820d41e308b014b0730a0497d037319991ae62318cd17e40226fc38661c0fd02130020e81581c5b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b10825839015b7e23228dba75595645fc357d0f97ba258cfccfff5d588d4bb9165b533b9586f0fb9aafd578e0d0154e9478d23614e736eb39d1a30d8a991a05568e0d111a004c4b4012848258200dc17712e37a4e741767db2f90d4ffbf69faf88b9bed4c47864f7bd912924bea00825820cf4ecddde0d81f9ce8fcc881a85eb1f8ccdaf6807f03fea4cd02da896a621776008258202536194d2a976370a932174c10975493ab58fd7c16395d50e62b7c0e1949baea00825820d46bd227bd2cf93dedd22ae9b6d92d30140cf0d68b756f6608e38d680c61ad1700a40081825820d23a7def57504ba24e26e4b18271acdaef9ee15e7c5f4f456bb9f6e5977892da01018282583901a0c1d3e0a152aeb23e6f1490ffaeaca172baef45faeccf479ad6503fc3fc2ae2673358850371313c862d3635e894b0e44212eacf97a5d9f21a0ef3c5288258390152367ebd7b91bb572a3a395ec0801b7591362e9c72a73415bc6f3f4452367ebd7b91bb572a3a395ec0801b7591362e9c72a73415bc6f3f441a033c0cd5021a00029259031a07b3a114a600828258202798b4aeac3994f4a59e66331caffc22c74432169358f93dfebdd7f67ab413e801825820e24ed1bdb34e218593423a202d25dea0ce5d42dfa7e832be55e9d214c9ad2bca0301838258390197683514e0c6ee0b27777b13358b892f05e7f14c8bf11fca76ea993df1e16bc846160f40304021a42e3ee79a3f2220fc0b2c022d25ae22fe821a0011e360a1581c577f0b1342f8f8f4aed3388b80a8535812950c7a892495c0ecdf0f1ea1480014df10464c44541a61685c9f82583901c4edf43f6e529d22b3148d49d08d997063b249ffdcf6c364a5fb67fc41de7f1e17602fc8e7e76677bfa064952edb1cea3555d8720b74e94f1a51f64e8782583901c4edf43f6e529d22b3148d49d08d997063b249ffdcf6c364a5fb67fc41de7f1e17602fc8e7e76677bfa064952edb1cea3555d8720b74e94f1a004c4b40021a0002c329031a07b13e9b05a1581de141de7f1e17602fc8e7e76677bfa064952edb1cea3555d8720b74e94f1a000121f808008fa100818258205563ef082e7159c821528e148fcb7a1d86250f8ae033008673ab418345c0690b584093afce6cbbde892155a0c3e34494c8ddd1d615bd15d0646f4d71bd4a7e28ecaf07969fb8616d198d4077d877ac1c4f2a1fc733184b9a471e3c654254596bb40ea20081825820e494a488fe9a9ad4677ed39a192e53c9bc02adef0feab509e518b406d8ded3045840831521cbad795bd61eb2611d65513fa227503b5067b98518d967ed648cfa7c42c89fd00a6aab79b70d7e29e4413d34a8175f5a0491f77247990ac22478e09b07049fd8799fd8799fd8799f581c15874be1289f91e9c0be163fa3538727eaf6064213dd23b111bebbd3ffd8799fd8799fd8799f581c058d0587938fbd6cfd9c20576df68047efba2aeb12d1239cec74e5b4ffffffffd8799fd8799f581c15874be1289f91e9c0be163fa3538727eaf6064213dd23b111bebbd3ffd8799fd8799fd8799f581c058d0587938fbd6cfd9c20576df68047efba2aeb12d1239cec74e5b4ffffffffd87a80d8799fd8799f581cc881c20e49dbaca3ff6cef365969354150983230c39520b917f5cf7c444e696b65ff1a0003ab00ff1a001e84801a001e8480ffffa400818258206a72570577b326bd8b74daf7c4cfb5fadba677735925b091a1bf3bb72220012f58407c88b1443193b1beedf84dda826c6bd3c4272db7bc2eb052cb5e102cd97132700e89d3b9475f8c5d9c59c0b65116de9b0593738ce4aa7fe6796fc65cbc79c20203825929245929210100003333323332223232333222333222333222323322332233223322332233322232323232332233223322323233223233223332223332223333222232323232323333333322222222323233332222323232323232323232332233223233223232323232332233223322333222332233223233223322332233223232323232332232333322223233223232323233332222323232323232333332222233223232333322223232323232332223222222232533530ad010011087011350384901035054350033322235305b0032232223232323232353508f0100a22325335305700f223213530290112235304f002223222222223225335350b4013504a12233355055223530b0010022223530c4010032233530d10100220072533530d701333573466e3c0040c036404360044cc02802001c401c0040344d4c2b004d42a405262223330050030020012215335350b60100113530ae010022223330070030020012213530b001350ad01498888ccc02400c008004888d4c2b404d4c0e0080894cccd4c0f000484d42b404d4c2a804cd5ce2491a73637269707420696e707574206e6f7420666f756e6420212121000ab0149884d42b404d4c2a804cd5ce24811a73637269707420696e707574206e6f7420666f756e6420212121000ab0149884d42b404d4c2a804cd5ce24811a73637269707420696e707574206e6f7420666f756e6420212121000ab0149884d4c17c00c8888888888cc13002802c8c888c8c94cd4d42ec04d4144488ccd5417088d4c2dc04008888d4c32c0400c88cd4c36004008801c94cd4c37804ccd5cd19b8f001500f0e0010df0113300a008007100700101413530b301350b001498888ccc01000c0080048854cd4d42f4040044d4c2d404008888ccc01800c008004884d4c2dc04d42d0052622233300800300200122232323232353550c4010212232353550c701023223232323530695002222322533530e701333355305012001508f01220ea010100e90110e8011533530e701333573466e24d4d41dc07c88d4d41f4008894ccd4d42900400884d4d41f8010894ccd4d429c0400884cdc080080209a86500a4c26a194029309a86380a4c26a18e029324101756e061d2021d0022a66a6a1b80202442a66a6a1ba02660ea00203c42a66a61d202666ae68cdd7800991a984b0080091111a9a86200802111a9aa86d00801111a9aa86e00801911a9a851008039119ba548000cd5d019ba548000cd5d01999aa84e80ba975200c00a66ae80cccd5427405d4ba900400337629319aba0375201666ae80dd400519aba03374a900019aba0375000466ae80dd40009bb1498dd8a4c666612802074072a01006c1d6021d4022a66a61d202604c661980200ea1a4022a66a61d202666ae68cdc3a80401b87580875008a99a9874809999aa982909000a8488091076009824012075808a8020875008a99a9a8680098240120875009109a9aaa86b80801111299a9a86a808020a99a987700999ab9a3371e0900061e0021de022a66a61dc02666ae68cdc799b8a489036c70200003e0020f0010ef011533530ee01333573466e1c004cdc0a80681e07800877808a804887780887780887780910878808875008875008874808874008874008a99a9872809991299a987380999ab9a3370e6a6aa1a202004446660ba006004002900107480874008999ab9a337126644660040029000190009aa87500911299a9a8688080108009109980280099b8000348008c11800520060e9010e80110e80133550d00103f3371491010270200003500f1533530e501333573466e1cccc16403c02c028cdc0001282007380873008a99a987280999ab9a3370e6660b201e01000e66e00005410039c043980454cd4c39404ccc2f404104cdc52450873636f6f70657220000280241533530e501333573466e20cdc099b83353507501d2235350790012253335350a20100221001135350800162613535080016264820243930010ccc09d20004800920004800839c043980454cd4c39404ccd5cd19b8833305901948810048810000c0e6010e70115335350da01018215335350db013307300101c21333573466ebc004c8d4c2040400488cdd2a400066ae80dd480119aba037520026ec526330810102b02a0e9010e80110e70110e60110e60110e60110e60110e60110e60110e6011353068500122220011332235350d4010022223333302d00300200150ce0100433350d30100400102e33553048120012353550cb010012200100933305300d00200133305000a0020013370200266609a02a91100488100330a30148000004d4150488ccd5417c88d4c2e00400888d4c2f00400488c8c88d4c3480401488cd4c37c040089401494cd4c39404ccd5cd19b8f00150160e7010e601100b1500515335350d501333506c2323232323333573466e1cd55cea802240004666610a026eb8d5d0a8021919191999ab9a3370e6aae7540092000233223308d010020013232323333573466e1cd55cea8012400046644661be020040026140026ae854008cd428405d71aba135744a00446a194026a618e0266ae71240103505431000c80149926135573ca00226ea8004d5d0a80119a84e80bae357426ae8940088d431804d4c30c04cd5ce24903505431000c40149926135573ca00226ea8004d5d0a8019bad35742a00464646464646666ae68cdc3a800a40084617602646464646666ae68cdc3a800a4004461860266a12c02eb4d5d09aab9e500423333573466e1d400920002330c30130960135742a0086eb4d5d09aba250042350ce013530cb0133573892103505431000cc01499264984d55cea80109aab9e5001137540026ae84d55cf280291999ab9a3370ea00490011185d009bad357426aae7940188cccd5cd19b875003480008ccc2f004c24804d5d0a8031bad35742a00a66a14202eb4d5d09aba250052350ca013530c701335738920103505431000c8014992649926135573aa00626ae8940044d55cf280089baa001357426ae8940088d430804d4c2fc04cd5ce24903505431000c00149926135744a00226ae8940044d55cf280089baa0010210042135307f00122223232533530e701333573466e2001120000e8010e9011533530e701333573466e20ccc16ccccc8888cd54c14c480048d4d543580400488cd5436404008ccd4d54148004800488cc0200080048004ccd54c13848005434c04cd54c14c480048d4d543580400488cd5436404008d54154004ccd54c1384800488d4d5435c04008894cd4c3bc04ccd54c16048004c8cd42680488ccd4d413c00c88008008004d4d413400488004cd4134894cd4c3c40400843cc0440043c0048d4d543680400488cc02c008014018400c4cd435c0401000d435004004cd54c14c480048d4d543580400488c8cd543680400cc004014c8004d543c404894cd4d435c040044d5415400c884d4d5437004008894cd4c3d004cc0340080204cd5416801c0044c01800c0083940488004024d4190488cc008cd5435004d4d5434c040c088008cd434404cd5435004d4d5434c040c088004cdc09a9aa869808181119982f806801000999a985a80802919a985d0080091a9a860808009100111299a985f8080108008a4000444a66a617e02006200429000124000a1a40200291100488100337000089040497a0087400874808a99a987380999ab9a3371e00c06e1d2021d0022666a616602006466a61700200246a6a17e0200244a66a61d602666ae68cdc41a9aa86a8081911199830a80700100080107600876808a99a987580999ab9a337106a6aa1aa02062446660c2a01c0040020021d8021da022a66a61d602666ae68cdc4001240041d8021da022a66a61d602666ae68cdc4000a40041d8021da022a00c2a00a2a00a2a00a2a00a44a66a61d402666ae68cdc4299a985e8080109a9aa86a0081891199830280680100089a9aa86a0081811199830280680100080087580876008a99a987500999ab9a33710002900107580876008a8028a8020a802111299a987500999ab9a33710a66a617a0200626a6aa1a802062446660c0a01a00400226a6aa1a802060446660c0a01a0040020041d6021d8022a66a61d402666ae68cdc4001240041d6021d8022a00a2a0082a0084a66a61d002666ae68cdc419982e2804821281b80087480875008a99a987400999ab9a33710002900107480875008a8018a8010a8010a800880688068a99a9873009a861009a985f8099ab9c490110657363726f7720696e636f7272656374000c0014985400440304cc038cd5434004008cd5434004d4c2140400c8800800402c40184c144004004060c120008c1100084d4c2fc0400488cd4c330040088d42b804d4c2ac04cd5ce24918696e76616c696420706f6f6c20736372697074207574786f000ac014988004c8004d5431804894cd4d42b004004431c04884d4d5542cc04008888d4c2e00400c894cd4c33004ccccc04400800401000c0284c024018433404c8004d543040488894cd4c30804ccd5cd19b88003371a00a18602188022002266600866e0000d20023370490400200119b800013370466e3801400c0084d4c09803888d4c13000888888888894cd4c32004cd4c178480048d4c2980400488d4c2a8040048894cd4c33804ccc2a4040080a9220107666163746f72790015335350c301333505a2323333573466e1cd55cea800a405046464646464646464646666ae68cdc39aab9d5008480008cccccccc88888888cccccccc2180402001c01801401000c008004dd71aba15008375c6ae85401cdd71aba15006375c6ae854014dd71aba150043350810175a6ae85400cdd71aba15002375c6ae84d5d1280111a85b809a985a0099ab9c490103505431000b50149926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d55cf280089baa001357426aae7940088d42b404d4c2a804cd5ce24903505431000ab0149926137540026a607004044004008421a202219e02219e020142a66a61900266a60bc2400246a614c02002446a615402002444646a617e02008446a61820200644666618e020080060040026617e0261940204ca18802014219202219402219202640026aa17c02444444a66a6a150020022184024426a61440200444644a66a618e026a616e02008446a61720201a4466a618c02008466a618e0200646619602004002419c02466a618e02006419c02466196020040022a66a6a1780200242a66a6a17a0201642a66a619202666ae68cdc780100086580865008a802099999807006806005805003899999806806285f008050048030a99a9a85e0080510999998068060058050048030a801099999806005805004804002899299a986300999ab9a337126a6a170020104440066a6aa1600201a446660780060040021900218e022a66a618c02666ae68cdc49a9a85c008041110011a9aa858008061119981e00180100086400863808a99a986300999ab9a337126a6a17002010444002666074002040a02a1900218e0221900226666601601401201000e00826666601601401201000e00826666601601401201000e0086607000c0026a0064440026a0044440046a00244400664664646460020024466006600400400244246a6008246a60080066a00600200242466600246a006444600600846a006444600400846a006444600200800224444666008444444466a61200200c46a6a12e02002446464a66a618a02666ae68cdc48008020630086380899199801a400000266a13a02900000099b833370401266e040040100284c8ccc00c005200033509d0100148000cdc080200099b83337040040120104446a6a13802002446464646464646666602c66e0004c018cdc000900299b800110043350b60133550b90101533350c10100300200101000f33700006900019b8048000020cdc02400001066e0ccdc100100680799b810070023370200e00444646464a66a61300200a26666601a66e00028010024004cd42b404cd542c004030ccd42e00520004800000801c0184ccccc034028cdc000480200099a8568099aa85800806199a85c00a4000900000100380319b80007001337026a6a0e26607c66e08cdc100080119b81500f35350710102200233704a66a612c020062010200ea01e446a6a0e6666609c0069001001000912999a981f181e9999828002a4004008006420024200226a146029300319b82005005222222232323333300a3370200e00466e04018004cdc080280419a8550099aa85680804999a85a80801000a400000800666e0ccdc100380280219b833370400c00a00644444a66a6a14a020022666608c00400a0080064426a6aa1540200444666a611c020024666666601a00600201401201000e0084446a6a0e60244464a66a61360200c26464a66a619402666ae68cdc480800106580866008a99a9a85f8080310a999a9826998260018008a8010a80109a85380a4c2a00226a14c029309999980899b800100063370201e00201c66a1620266aa16802012666a178029000000a400001a01466e0ccdc119b8200e0050013370066e0803c008cdc100280089919299a986500999ab9a3371202200419602198022a66a6a17e0200c42a666a609a660980060022a0042a00426a14e02930a80089a85300a4c26666602266e04040004cdc000780300719a8588099aa85a00804999a85e00800a4000900000680519b833370466e0803c014004cdc019b8200e0023370400a00266e040040088ccccccc03000c00402802402001c0104cdc11a9a83100091000a4008266e29221036c70200000133500e2323232323333573466e1cd55cea80224000466660ba66a0ae66aa0f6eb9d71aba15004375c6ae85400cdd69aba1500233505875a6ae84d5d1280111a847009a98458099ab9c491035054310008c0149926135744a00226ae8940044d55cf280089baa00100333500e23232323333573466e1d40052002204d23333573466e1d400920002332233051002001375c6ae854010dd71aba135744a00846a11c026a61160266ae71241035054310008c01499264984d55cea80109aab9e50011375400200466a01c464646666ae68cdc39aab9d5002480008cc06cc8c8c8c8c8c8c8c8c8c8c8cccd5cd19b8735573aa01490001199999999982599a836119191999ab9a3370e6aae754009200023309e01307635742a00460e26ae84d5d1280111a84e009a984c8099ab9c491035054310009a0149926135573ca00226ea8004d5d0a80519a8360369aba150093335507175ca0e06ae854020ccd541c5d728381aba1500733506c07a35742a00c66a0d866aa10a0210602eb4d5d0a8029919191999ab9a3370e6aae754009200023350513232323333573466e1cd55cea80124000466a0b266a0f8eb4d5d0a8011840809aba135744a00446a140026a613a0266ae712401035054310009e0149926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233505733507c75a6ae854008c20404d5d09aba250022350a00135309d013357389201035054310009e0149926135573ca00226ea8004d5d09aba2500223509c01353099013357389201035054310009a0149926135573ca00226ea8004d5d0a80219a8363ae35742a00666a0d866aa10a02eb88004d5d0a80118399aba135744a00446a130026a612a0266ae7124103505431000960149926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181218391aba135573ca00646666ae68cdc3a801240084604660f86ae84d55cf280211999ab9a3370ea00690011181198361aba135573ca00a46666ae68cdc3a802240004604c6eb8d5d09aab9e50062350930135309001335738920103505431000910149926499264984d55cea80089baa001357426ae8940088d423004d4c22404cd5ce249035054310008a0149926135573ca00226ea80040044cc0840052014122123300100300212001233002001508b01320013550a30122253353508a0100210012213535508f010022233007003333008002001005320013550a201222253353508a0100210012213535508f0100222533530a701333573466e1c00520000a9010a8011333008007003005133300800700333508f013335550940100700200100512001320013550a00122112225335350890100110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135509b0122112253353508301001150850122133508601300400233553006120010040013200135509a01221122253353508301001135350450032200122133353504700522002300400233355300712001005004001221233001003002200121222230040052122223003005212222300200521222230010052001320013550920122253353507900213506e35306b33573892011a73637269707420696e707574206e6f7420666f756e64202121210006c498884d4c1c4008894cd4c258054cd4c25804ccd5cd19b8f353077002220023530770052200209801097011333573466e1cd4c1dc00888004d4c1dc014880042600425c04425c0440044cc01c00c0148cc0092002001223232325335309201333573466e200040082500424c044d41b8d4c1accd5ce2481216e6f7420656e6f7567682041646120746f20636f766572207468652072696465720006c49854cd4c24804ccd5cd19b8733702002004900004a00849808a801899a83d19aa83ea4410033507a335507d4890033702002004a0f6a00666600a006910100488100337049040497a00801899980224500001507822232323001005320013550930122335350790014800088d4d541f8008894cd4c25804ccd5cd19b8f00200909801097011300700113006003320013550920122335350780014800088d4d541f4008894cd4c25404ccd5cd19b8f00200709701096011001130060033200135508e01222253353507600210012213535507b002225335309301333573466e3c01c00825404250044ccc02001c00c0144ccc02001c00ccd41ec010014c8004d542340488c8c8c94cd4c23c04ccd5cd19b8833704a006a0049000048808480088038a99a984780999ab9a3370ea0069000048808480089804240002a66a611e02666ae68cdc3a801a801048808480089804240042a66a611e02666ae68cdc42801a801048808480089804a40002a66a611e02666ae68cdc42801a400012202120022600a6601466e05200050033370290002801099800a400466e01200233706a006a004640026aa1220244464a66a612402666ae68cdc399b8233704006006a00aa00c1280212602260160062a66a612402666ae68cdc380119b80003480082500424c044c03000c54cd4c24804ccd5cd19b893370466e0940054005401540182500424c044cc01140040084cc01000d40044cdc199b80002001480104d4d40ec008880044d4d40e80048800884888c00c01084888c0080104888004800488cc044cdc1001299a984380999ab9a3370e002900004480844008a40002a66a610e02666ae68cdc4800a4000110021120229001099b814800120025335308701333573466e200052000089010880113370290000008800990009aa8438091119b803370266e14cdc099a9802890009a802091198012405c6600490520119801240346600490650199801241a4046600490650119801241340666004905c0199801241f4026600490720199801241dc0466004905f0119801241fc0266004902019801240ac6600490570080099b81001480080052080043371c0049000299a984380999ab9a3370e002900104480844008a4000266006666e312002337026e3400920020025335308701333573466e1ccdc3000a400890000448084400899b83001480104cdc019b8248018005200212335001506c506d320013550850122122533530860133323535006001222222220063333333350060850100722333573466e20008004228042240488ccd5cd19b8900200108a010890122333573466e24008004224042280488ccd5cd19b880020010890108a01225335308801333573466e24008004228042240440044008894cd4c22004ccd5cd19b8900200108a010890110021001001480004d40452410350543600153353506d00213501149103505437002215335308801333573466e1c00d200008a01089011002133530061200100133702006900109111111109199999998008048040038030028020018010900091299a984080999ab9a3370e0040021060210402200c2a66a610202666ae68cdc48010008418084100880208028911001891100109110009000889119000990009aa83f91299a9a83280088019109980300118020009111091999800802802001801100091111980299b803370400800266e0800800ccdc10018009119299a983c999ab9a3370e004900003d83d09a80224810350543300133502833708006a00266e1000940044cc1094cd4c1e0ccd5cd19b88002480001e81e44cdc0a40000042004a66a60f0666ae68cdc4000a40000f40f2266e0520000011001123505235304f3357380020a09309111a982b000911299a9a837800909a98048031111111111299a9a83d19809005801109a83e98090008a83d8a838190009aa83b111299a9a82e8008a8361109a9aa83100111299a983d199ab9a3371e00c0040f80f626a0e200226600e00c006444444444424666666666600201601401201000e00c00a0080060044002244246600200600424002244246600200600424002244246600200600424002640026aa0da44244a66a6a0aa00220de442a66a60e0600800420e4266a600c240020080022424600200424002442466002006004400244244660040080062440024002444424666600200a0080060044002442466002006004400244444444246666666600201201000e00c00a00800600440024646666ae68cdc3a800a4004406646666ae68cdc3a80124000406a46a0786a607266ae712401035054310003a499264984d55ce9baa00112232323333573466e1cd55cea801240004664466a072004002600a6ae854008c014d5d09aba2500223503c353039335738921035054310003a49926135573ca00226ea8004488c8c8cccd5cd19b8735573aa0049000119a80718029aba150023005357426ae8940088d40ecd4c0e0cd5ce249035054310003949926135573ca00226ea8004448888cdd2a400066ae80c010008cd5d018018009bb14984cd4008888c00cc008004800448848cc00400c008480048888cccc01801000c008004888848cccc00401401000c008800448848cc00400c0084800448c88c008dd6000990009aa82a111999aab9f0012503d233503c30043574200460066ae880080b48c8c8c8cccd5cd19b8735573aa0069000119981a18031aba150033335500975ca0106ae854008cd401dd71aba135744a00446a0606a605a66ae71241035054310002e49926135744a00226aae7940044dd5000919191999ab9a3370e6aae7540092000233043301a35742a00466a00a0326ae84d5d1280111a8171a981599ab9c491035054310002c49926135573ca00226ea8004488c8c8cccd5cd19b875001480008d4124c014d5d09aab9e500323333573466e1d400920022504923502f35302c3357389201035054310002d499264984d55cea80089baa0011335500175ceb44488c88c008dd5800990009aa82811191999aab9f0022503a2335039335503c300635573aa004600a6aae794008c010d5d100181509aba1001232323333573466e1cd55cea80124000466060600a6ae854008dd69aba135744a00446a0546a604e66ae71241035054310002849926135573ca00226ea80048c8cccd5cd19b8735573aa002900011bae357426aae7940088d40a0d4c094cd5ce2490350543100026499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8159a981419ab9c490103505431000294992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800881208cccd5cd19b8750024800081208d408cd4c080cd5ce2490350543100021499264984d55ce9baa001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d40acd4c0a0cd5ce2481035054310002949926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660706eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002303a3008357426aae7940188d4070d4c064cd5ce249035054310001a499264984d55cea80189aba25001135573ca00226ea80048c8c8cccd5cd19b875001480088c0e0dd71aba135573ca00646666ae68cdc3a80124000460746eb8d5d09aab9e500423501935301633573892010350543100017499264984d55cea80089baa0011122232323333573466e1cd55cea80124000466aa050600c6ae854008c014d5d09aba25002235019353016335738921035054310001749926135573ca00226ea8004c8004d540e48894cd4c0e4ccd5cd19b87001480000ec0e840084cc00c004cdc2801000990009aa81c111299a9a80f8008801110998029a9aa8120011119b8000600200121222300300422212223330020060050042122230010042001212230020032212233001004003200112200212200120011221233001003002120013200135502b22225335350130011350083530053357389212373636f6f70657220746f6b656e206d7573742065786973747320696e20696e7075747300006498884d4c02c00888d4c03c0048894cd4c0ccccc03800802802440d44ccc02c028024018480048004888c8c8c004014c8004d540b0894cd4d404800440b0884d4d5405c008894cd4c0bcccd5cd19b8f00200903103013007001130060033200135502b22533535011001102b22135355016002225335302e333573466e3c00801c0c00bc54cd4c0b8ccd5cd19b87001480000c00bc40bc40c04c01800c4988848cc00400c008800488848ccc00401000c00880048848cc00400c0088004c8004d540808894cd4d401c0084004884d4d54030008894cd4d4064cccc0280080154069403484d4d5403c00488d4d5404400888c8d4d4070ccd403c03801c00c888cc040030cd4054ccd55406802cccd404804402801801001ccdc0000a400426600e00666a018666aaa02200400290010029119b80002001122235350100022223535013004222323232333501a0030020013300b0060033300a006003330090060033200135501d222225335350060031533535014002213535500a0012235019335500d335500d0020010041501522135355500d00222253353501900721333300b00a00500833500d00600715335302435301200922353016002223530160072235301a002225335302c3333020006005002001153353502100721533535022004213302c002001102e15335350210032102e102e102d1333300a0090043501b335500f0020010061333300a009004501a33500c00500611220021221223300100400312001112212330010030021120011112221233300100400300211120012212330010030022001221233001003002200112221233300100400300212001222232335300c0052335300d004253353013333573466e3c0080040540505400c405080508cd4c034010805094cd4c04cccd5cd19b8f00200101501415003101415335350050032153353500600221335300a0022335300b0022335300f002233530100022330140020012017233530100022017233014002001222017222335300d004201722253353018333573466e1c01800c06806454cd4c060ccd5cd19b8700500201a01913301700400110191019101215335350050012101210121212230020031122001120012122300200322212233300100500400320012122300200321223001003200122333573466e3c00800401801488ccd5cd19b870020010050041220021220012001112323001001223300330020020014891ce8a447d4e19016ca2aa74d20b4c4de87adb1f21dfb5493bf2d7281a60048811c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b9130048811c646ad13fb9e22d3b802049d85e95dc04edb6471eaa9237a932d38d490048811cba158766c1bae60e2117ee8987621441fac66a5e0fb9c7aca58cf20a000159084959084601000033233322232332232333222323332223322323332223233223233223332223333222233322233223322332233223332223322332233322232323232322222325335300b001103c13503d35303b3357389201035054350003c498ccc888c8c8c94cd4c05c0144d4c0680188888cd4c04c480048d4c0ed40188888888888cd4c078480048ccd5cd19b8f375c0020180440420066a6040006446a6048004446a605000444666aa60302400244a66a6a07c0044266a08c0020042002a0886466a002a088a08a2446600466a609000846a0820024a0806600400e00226a606ca002444444444466a6032240024646464666ae68cdc399991119191800802990009aa82c1119a9a826000a4000446a6aa08a00444a66a6050666ae68cdc78010048150148980380089803001990009aa82b9119a9a825800a4000446a6aa08800444a66a604e666ae68cdc7801003814814080089803001999aa81e3ae335503c75ceb4d4c084cccd5cd19b8735573aa006900011998119aba1500335742a00466a080eb8d5d09aba2500223505135304f33573892010350543100050499262220020183371491010270200035302801422220044800808007c4d5d1280089aab9e500113754002012264a66a6a070601a6aae78dd50008a81a910a99a9a81d0008a81b910a99a9a81e0008a81c910a99a9a81f0008a81d910a99a9a8200008a81e910a99a9a8210008a81f910a99a9a8220008a820910a99a9a8230008a821910a99a9a8240008a822910a99a9a8250008a823910a99a9a82600089999999999825981000a18100090080071810006181000500418100031810002001110a8259a980a1999ab9a3370e6aae754009200023301635742a0046ae84d5d1280111a8211a982019ab9c490103505431000414992622002135573ca00226ea8004cd40148c8c8c8c8cccd5cd19b8735573aa00890001199980d9bae35742a0086464646666ae68cdc39aab9d5002480008cc88cc08c008004c8c8c8cccd5cd19b8735573aa004900011991198148010009919191999ab9a3370e6aae754009200023302d304735742a00466a07a4646464646666ae68cdc3a800a4004466606a6eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d4009200023037304e357426aae7940188d4154d4c14ccd5ce2490350543100054499264984d55cea80189aba25001135573ca00226ea8004d5d09aba2500223504e35304c335738921035054310004d49926135573ca00226ea8004d5d0a80119a81cbae357426ae8940088d4128d4c120cd5ce249035054310004949926135573ca00226ea8004d5d0a80119a81abae357426ae8940088d4118d4c110cd5ce249035054310004549926135573ca00226ea8004d5d0a8019bad35742a00464646464646666ae68cdc3a800a40084605c646464646666ae68cdc3a800a40044606c6464646666ae68cdc39aab9d5002480008cc88cd40f8008004dd69aba15002375a6ae84d5d1280111a8289a982799ab9c491035054310005049926135573ca00226ea8004d5d09aab9e500423333573466e1d40092000233036304b35742a0086eb4d5d09aba2500423504e35304c335738921035054310004d499264984d55cea80109aab9e5001137540026ae84d55cf280291999ab9a3370ea0049001118169bad357426aae7940188cccd5cd19b875003480008ccc0bcc11cd5d0a8031bad35742a00a66a072eb4d5d09aba2500523504a353048335738920103505431000494992649926135573aa00626ae8940044d55cf280089baa001357426ae8940088d4108d4c100cd5ce249035054310004149926135744a00226ae8940044d55cf280089baa0010033350052323333573466e1d40052002201623333573466e1d40092000201623504035303e335738921035054310003f499264984d55ce9baa001002335005200100112001230023758002640026aa072446666aae7c004940c08cd40bcd5d080118019aba2002498c8004d540e088448894cd4d40bc0044008884cc014008ccd54c01c48004014010004c8004d540dc884894cd4d40b400440188854cd4c01cc01000840244cd4c01848004010004488008488004800488848ccc00401000c00880048848cc00400c00880044880084880048004888848cccc00401401000c00880048848cc00400c00880048848cc00400c00880048848cc00400c00880048488c00800c888488ccc00401401000c800484888c00c0108884888ccc00801801401084888c00401080048488c00800c88488cc00401000c800448848cc00400c008480044488c88c008dd5800990009aa80d11191999aab9f0022501223350113355008300635573aa004600a6aae794008c010d5d100180c09aba10011122123300100300211200112232323333573466e1d400520002350083005357426aae79400c8cccd5cd19b87500248008940208d405cd4c054cd5ce24810350543100016499264984d55cea80089baa00112122300200311220011200113500d35300b3357389211f556e6578706563746564205478496e666f20636f6e737472756374696f6e2e0000c498888888888848cccccccccc00402c02802402001c01801401000c00880044488008488488cc00401000c480048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500c35300a3357389201035054310000b499264984d55cea80089baa001212230020032122300100320012323333573466e1d40052002200823333573466e1d40092000200a2350073530053357389210350543100006499264984d55ce9baa0011200120011261220021220012001112323001001223300330020020014891c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b91300010483d8799f4104d8799fd8799fd8799fd8799f581c484eef0a888d272ffda14e4711fa8ddd803fcb325351af5f69271e01ffd8799fd8799fd8799f581c88b10284dbc0979e5132a8b9bfe1eb5b2c40a281eedccc41f34941bfffffffffd87a80ffd87a80ff1a002625a0d8799fd87a801a5f86328dd8799f1a3b023380ffffffd8799fd8799fd8799f4040ffd8799f581c1d7f33bd23d85e1a25d87d86fac4f199c3197a2f7afeb662a0f34e1e50776f726c646d6f62696c65746f6b656effff41041b00000159308af5b6d8799f031903e8ffffd8799f581c9d1cbb54faf284f5d262f591b1f9201a1858de155157dad49f3881c4421c0bff0582840001d87980821a00062ba41a06e9da01840003d8799f581c9d1cbb54faf284f5d262f591b1f9201a1858de155157dad49f3881c4421c0bff821a004750871a4f8ba488a10081825820a18efa353ed11ef8d22f4fd242617db34e94db69824d39ca62d115a648984e42584010aaf6b5c75935a751ac2458aabc58844fcc2f12033ead42ce245aa4c56fe6ea79d5bc9adecc5b7d3e7bae8fa887d72a7383344d10bf1845224f03932adfa40fa20082825820653f3e9b4fe440fdfbc3b77918fdfecd96f00d26ba90310f1de689f8a59a4e70584099aa5b4b07c3b63892fc7a0c08535b0eaa0913c13c71db8a6b6d5abad3fee4dde44f6b448ba2bbec35b2d6acb6a7b74ae472cc1ec9097fc400cd1f2a0547580e825820bd1eef47a3dea42dad00dde4cdff2a34e448e0ec5d46fb120320efc6d5125e3c5840bf697eee81ab01d83f84d2973e1c0a6b678859016847c8d48ac162c2357d3ab354037511d09fc730730c221efc7f4964db5ddb495849230b65ea1e95e932d7060582840000d8799f01011a014232911b0000000253b177730000a4d905059fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd87e9fd8799fd87b9fd8799f1b00896e23b5d663481bffffffffffffffffffffffffd905059fd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f4040ffffd87e9fd8799fd87b9fd8799f1b55555555555555551b002e27aa8f9e4c2cffffffffd905069fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd87a9f188affd905069fd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f4040ffffd87a9f18c5ffd87a9f9fd8799f0000a140a1401a05f5e100ffffffff821a00385d7c1a4c9633f1840001d8799f01011b0000000253b177731a014232910000a1d905109fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd905049fd8799fd87b9fd8799f1b001f71e352dcb8311b4000000000000000ffffd87b9fd8799f1b0012c3b2c327cce11b2000000000000000ffffffffd87980ff821a002ea0721a43a214b6a1008282582084a0bb99824746009c701d6cd122f69db8c6243dac0eb545e853394434e14d50584002ffb6c69058fe87317c5d46a2f1dfeaebdfafa4abfd2e49684981a291f243789a2ae911289b848086a93322310e5b4253c62f0fc3591e5508c64180a89a0f078258202ca5859a4eee27b079588e46579d3c18f0062106aed5275d80f76b36a62d239f58408bb86d406d70703f3d26ca3cdb6ef0ba9cd91dc9b102e3d9cc64d91e2fcf500f3e2fdd6ea243cb0a0852ed5cb8858fb5498d156e2df795f3620f8e594393630ea20082825820653f3e9b4fe440fdfbc3b77918fdfecd96f00d26ba90310f1de689f8a59a4e705840c7d8cfcf5a863565e70864b1a9a4452e62357852f2e217086afd9c184aef826032ccaa31019945e793c76a63af3f00f28397e012aaa82ebe6748fbf8be13070a825820bd1eef47a3dea42dad00dde4cdff2a34e448e0ec5d46fb120320efc6d5125e3c5840c3eb5a186832fa13bf54efde2bb58cd8ab912ffa1713c637709595746be7816da10c4ac1cef962d0a23c15125632ee3f6e12abe587abe0a88dcb9a93eb4604000582840000d8799f01011a04b3ae6f1b00000008b16b8ab10000a4d905059fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd87e9fd8799fd87b9fd8799f1b00896e23b5d663481bffffffffffffffffffffffffd905059fd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f4040ffffd87e9fd8799fd87b9fd8799f1b55555555555555551b002e27aa8f9e4c2cffffffffd905069fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd87a9f188affd905069fd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffd8799f4040ffffd87a9f18c5ffd87980ff821a0027e82d1a38e76279840001d8799f01011b00000008b16b8ab11a04b3ae6f0000a1d905109fd8799f4040ffd8799f581c420000029ad9527271b1b1e3c27ee065c18df70a4a4cfc3093a41a444341584fffffd905049fd8799fd87b9fd8799f1b001f71e352dcb8311b4000000000000000ffffd87b9fd8799f1b0012c3b2c327cce11b2000000000000000ffffffffd87980ff821a002eaa5f1a43b400aba200828258200621257bb5bd1477c0960b2e391c70baa8a642ad258420daa10bab85d1c24bef584055c3ef9741574b2f414cc998252f4acf45ebcbd7500b4dcc5a2eecb892ca590eed0b0e71c158fada8961c54cd411839552ea9b29f4937c0a554454d8b6fda40c8258205424fa10ba83c95c33714c420479c19183a7274e7c1d4161d173842c245b340c5840a9524eab80ceaa954f104b97866358037d25199142bc2874a364a482cbcb100e8dfee4b6b2bbdf8a44b0b846c0bf8f28fc2fac6f3a284e3100b6472ef698e80301818200581c4f641455f17911fe2f55ad3ad67fc2e0b2946b59af3352574322e67ea10081825820f44ce6186d190f8776fd871d753df7ae503972e4793a2360a423d2f96021e6015840c1211eeb16d982b03efe8c4818b7a8f25f25c926a9c09ab349b49796922ef4d9ce9f7684bb8edab4ab872fcbf054c62c4d12c41a124513f5345dfca02090060fa200818258207161e272d4a11e272522bb70b2e12eb52828739f4da79ef8af88603c4572f9865840906370f02d2ed4a3fe953f9a51396037fe2651ad333686e32a9108f4de0f56acb8adbbfa0b0a6fe9661ad165185dd79e124b2cf3c4be7e975307eac409421f010581840000d87a9fd87980ff821a000706a31a0a7f114fa20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f584095c2ad4b0a5aba838149492b238d4249101e1c6c44bb98040db0ee0dd6ab246318ca0639fcd8726c41df6f8c0817222e38151ef4f1fa83399e4a89fab60ebc070583840300d8799f009f1a000f4240ff4100d87a809fd87a80ffff821a0019b9831a2c332064840000d87980821962d91a0091af59840001d87980821a00012dfc1a01a97b1ca20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f584000901ddbbadd2aca0143ad2f98d2853e338aac2ee934975e4a66b38647e02843218e0c71ca9a8e05bea018594866002edf4016f5fc00399bf326649b1323a1070583840300d8799f009f1a000f4240ff4100d87a809fd87a80ffff821a001c188c1a31f63fcc840000d87980821962d91a0091af59840002d87980821a00012dfc1a01a97b1ca20081825820c5d63d7dc066df52592135b6d3cb4f3470d06f7bdd4b2d2e32eb59ca3782662f5840aeae8aea17f4c0294038d7e0b3e50cbe4a77b8493b58f637804dfb5f6f0a6efb0b37a860c0cdffb547c5733b022bf228370c30f74d1734cef5a47b8d3aee3c0c0583840300d8799f009f1a000f4240ff4100d87a809fd87a80ffff821a001b4e0e1a2feb774f840000d87980821962d91a0091af59840002d87980821a00012dfc1a01a97b1ca1008182582034ac6e3b86a461f8b456b0c398dc47a7e52b9589284b668292e4e6a7ce1f6b8c5840f35df974283b57ecfce4c04f1a92765010493f3c5eaf2cf5353f10ecaf3da5a3113cf1d8448b52564df8172a8a23f7690007c822685f96b23a62f97d0685b503a10082825820fb32b7452aa92fed2eee481075aeec4c3a5fdcd80301f802776b86efc486abde58400af5090f18a6e7800548fd596bee2fd68942204cf7bccb3cba1a277b89e3231e9f6d3e50ad5dccb242daa268005920e3d32ad61f5f6c2622a7cd07b4b8c5c20f8258208a2271db746bc955ef5cea23c5e3c4cce7a4d31999ff6b4d20689fd44d9b41925840ea783335dced929a104fefab7308c224bf4254feb2f76a223368ad28f33d1e77abcea0fe323b2038e1c946f2f2ec9e6f43003b335e1fc2d8daa5d7754f676d06a801a11902a2a1636d736781744d696e737761703a204c696d6974204f7264657204d90103a100a11902a2a1636d7367816a41786f3a20547261646506d90103a100a11902a2a1636d7367816a41786f3a20547261646507a11902a2a1636d736781734d696e737761703a204d61737465724368656609a11902a2a1636d73678178224d696e737761703a20557064617465206c697175696469747920706f6f6c206665650aa11902a2a1636d736781774d696e737761703a204f726465722045786563757465640ba11902a2a1636d736781774d696e737761703a204f726465722045786563757465640ca11902a2a1636d736781774d696e737761703a204f7264657220457865637574656480")] + [InlineData("84828f1a00552f551a0197215d5820b86f5d4306d75c93a17a50141ea27cdf13a4ba70d2a1a28354c9c95e50f54fd35820d31916004403c589efba384721020e358e4e9fbc2024b3c223c2835a79ff0af458209ea0f1ff4da71b6e9dfb01a0daa02cc566d428c7a09695b23d477c438223f4f38258408f9dac9462ae8076e369a18c25dd690ff9f6b6b68e2e709b55435f457a86d92740f8d4fe014a8f4e29fbedf4c666cf02855ab6573ffe7c866f09cb278c1f55dc5850cddf14ddeb8b9a748c3afdb2a0b48f2419dee6ef457963ecc84637d7e1705be9fcf409f5b004c5fcc3ecac8cb37281a784f45af2baf1707ed00bc4a66a747da76ab76c532096d4eb7d59a297d099290182584000017b74b05a792edac959e820c42eaaef719abaca6d4fdba7df24d5075f7273de24b1ab5c4ec33ef00dfc63b01aea08061784745ec87c243284fa692b6923a258501a8fb814cebd6aae02028b87927c59b4f8feb82daa77446070cb7b35cd35641c10bab38338e69bc9c7025cdc6fcb8213128aed171514280b1c6dc58c0943dbc5e49820de760a5a9da8ff0f07747d3f0a190a8a5820e511233ffc2e1cd24bbd850d867b70b65a9f6039859566c19712fc3f91861133582001438b89d44b6fc84a63270f880d032e441da99657f8a4d2d46b9465dc42d2570018b258403e37d0dca99b35ca571bf82e35e2a48fffbacf04f13129e33e2bf908224e7527d2981aba213047e0f5c3c409b14610149456ea3494ceb2042195026a16ff320004005901c083dfb892f3dd49a3a0c9532b3f232a1c10928760a5157d4963ecb90f368668d09ea96157e1b753368c5a750974662d351e4dc9fe2241ca8d389cca022048d30b8ea3ce335a8db35c5609ff426ee9720d5849bef7ad88fb8c368e3682eec55b95f3ec334168176ee5bdb21b3e5befb5482de180d2889755b569277e9aa9fa19ac77a742b8100a6cd5a03109ff8a83bafc91c549cde0ddc1eaf7c2ed2183dc3ee2c77ee666f66b7645ae999755017a0b6cc8cda51c8a653864dcf8ad265039a1d1c440cffa55b367e8745994d8835673c32fe179f3738b13f6aec40c80abe925f77a33ce6d5e96ef41af2cb3776c0abf09303419e745024f6b77bc03dedfdfee12d41f671cf30bcb8830f251cb02157e99524c81a79dd9d4fef48b28f63342da98af5681ecfc09ef61f1062e56c8fb45539d879469ad4ac36ebff0d884bb3ed5c2a8d028ede7bf0609d0e4b5a8175909b30639303fbe56423fa6562007abf2c26157cecec922b3ccfc0e30100d1b6e804e51da70a4e3d040c11702f724e223ddc5149d7b74a247b8aede1218beaf15b2bd305cc72da203f87d7302e906f0bbda77613b3b320cf84fac6397ca73b8a5e225ca515be56a770d666fada5b47a1b354285a4008182582073af3bb77dc3be5cb08fdb78091c9ddc0bed645916656ae3904f05c367b1249d01018182584c82d818584283581c5c7d7ef14e09f2deb82bc8c43381aefa2e871760b357d7f5385e34f9a101581e581cc9a4c68c63646830c5f13c51549c6b2b52918d239ecd44c2066effcf001a833c18221a3b9aca00021a000b8199031a01973d6aa40082825820ddcd6de118dab1547a18d8036a6f4976bd76e408f8eda8ab8d028436805802fb01825820adeae72667a8c9f372ec504cd7bc0d6d26b23b90a6fb540506f05b963e12a62500018282581d612fa41eae6ceb222820ab494d8f71ee88d5de84fcb204ecee9b460da61a7735940082583901b3b68498fe2f363794533ce22d82f36c3b07adc1ecd122a6d2ae747a6320ed82eb88cdc1e889ddd9445cf19d1fa09f647335f0fb2c082b68821a3779c2f5a1581c1131301ad4b3cb7deaddbc8f03f77189082a5738c0167e1772233097a54e43617264616e6f42697473323332014f43617264616e6f4269747336313631014f43617264616e6f4269747337393634014f43617264616e6f4269747338353935014f43617264616e6f426974733838393801021a0002b829031a01973d6ea50081825820bf30608a974d09c56dd62ca10199ec11746ea2d90dbd83649d4f37c629b1ba840001818258390117d237fb8f952c995cd28f73c555adc2307322d819b7f565196ce754348144bff68f23c1386b85dea0f8425ca574b1a11e188ffaba67537c1a0048f96f021a000351d1031a019732f30682a7581c162f94554ac8c225383a2248c245659eda870eaa82d0ef25fc7dcd82a10d8100581c2075a095b3c844a29c24317a94a643ab8e22d54a3a3a72a420260af6a10d8100581c268cfc0b89e910ead22e0ade91493d8212f53f3e2164b2e4bef0819ba10d8100581c60baee25cbc90047e83fd01e1e57dc0b06d3d0cb150d0ab40bbfead1a10d8100581cad5463153dc3d24b9ff133e46136028bdc1edbb897f5a7cf1b37950ca10d8100581cb9547b8a57656539a8d9bc42c008e38d9c8bd9c8adbb1e73ad529497a10d8100581cf7b341c14cd58fca4195a9b278cce1ef402dc0e06deb77e543cd1757a10d8100190103a5008182582056374d72edc2d887538cbb4ef0cf09f4e38b6a56191e5bee5cfa01a2ad2cca6d01018282584c82d818584283581c311b14ceda9987ea2fbcf18cf664ed2a7629c2f12f33b4d0abbb1dffa101581e581c633c7e9a7d0419c8d7f4b3e0de1c69a0dab1c1681c331821e604bbf2001a46cad9321a3b9aca008258390124e8b1108ba2d0e8803b35b86861405fcf9606a7552b9e62864201ff40a8672a9ebaa1c1b69351472ad7c419817d766f558dba19d1111d6f1a013f2151021a0002af0d031a01973d7a05a1581de140a8672a9ebaa1c1b69351472ad7c419817d766f558dba19d1111d6f1a002d3e5aa40081825820862d43628cd99035f3338b5477caba8027f249dfa908cbafd2e8b77e75ed457e03018282583901b522d1f426cc6722a1e85fdc49b69d3a3730751518c5ed829d8a30bd922375ebc24194d462c3f47d2f15817174365caf7717b095d8d38ac71a000f424082583901ab078f52254ca51b8624c1887bd01b0dac670427534ff321b5972c37427a585810a0ce94897383f8f778a1761961c7658cea2f3aba339e701a05d33bdd021a00029a03031a01972f3885a10081825820fccdf0fd58161f9a3b9c69b1ffca3f2d6929c2f5c2ec0b6b45476ed311b8b68458408b8a79122ed451628dfba2e382458c43cd015759e60b53727fbf66b398ebdc6737f02663f1f2e1db0c660017b6aa4d312345330ee6df4303211fa12e22fa570da1008282582019c4d4dfe9ee111166d5720bce7e1a2e5765c7217aaa789e94d3f4d38dd1641658406723867e7c51eb423c48b60d85d3fb5031c0a93e2964b8bb7648f8ba598d858f059951466d283affe186c0c764caf6cc4131b0efdcb80d0bbfff192570b36e078258203cf14e0f2c4790ebb530ce523f0e19cebdc6d850c0009ac5c4ccb8a5253abca95840ba94477873a04c821adbe127c0231805f52f4002705205b5d6d59ed9ab886470f24771e94cde2e096597bd38ddffb1b71d538ab8881bc656cfe501c7cfba830fa1008882582061261a95b7613ee6bf2067dad77b70349729b0c50d57bc1cf30de0db4a1e73a858407d72721e7504e12d50204f7d9e9d9fe60d9c6a4fd18ad629604729df4f7f3867199b62885623fab68a02863e7877955ca4a56c867157a559722b7b350b668a0b8258209180d818e69cd997e34663c418a648c076f2e19cd4194e486e159d8580bc6cda5840af668e57c98f0c3d9b47c66eb9271213c39b4ea1b4d543b0892f03985edcef4216d1f98f7b731eedc260a2154124b5cab015bfeaf694d58966d124ad2ff60f0382582089c29f8c4af27b7accbe589747820134ebbaa1caf3ce949270a3d0c7dcfd541b58401ad69342385ba6c3bef937a79456d7280c0d539128072db15db120b1579c46ba95d18c1fa073d7dbffb4d975b1e02ebb7372936940cff0a96fce950616d2f504825820f14f712dc600d793052d4842d50cefa4e65884ea6cf83707079eb8ce302efc855840638f7410929e7eab565b1451effdfbeea2a8839f7cfcc4c4483c4931d489547a2e94b73e4b15f8494de7f42ea31e573c459a9a7e5269af17b0978e70567de80e8258208b53207629f9a30e4b2015044f337c01735abe67243c19470c9dae8c7b73279858400c4ed03254c33a19256b7a3859079a9b75215cad83871a9b74eb51d8bcab52911c37ea5c43bdd212d006d1e6670220ff1d03714addf94f490e482edacbb08f068258205fddeedade2714d6db2f9e1104743d2d8d818ecddc306e176108db14caadd4415840bf48f5dd577b5cb920bfe60e13c8b1b889366c23e2f2e28d51814ed23def3a0ff4a1964f806829d40180d83b5230728409c1f18ddb5a61c44e614b823bd43f01825820cbc6b506e94fbefe442eecee376f3b3ebaf89415ef5cd2efb666e06ddae48393584089bff8f81a20b22f2c3f8a2288b15f1798b51f3363e0437a46c0a2e4e283b7c1018eba0b2b192d6d522ac8df2f2e95b4c8941b387cda89857ab0ae77db14780c825820e8c03a03c0b2ddbea4195caf39f41e669f7d251ecf221fbb2f275c0a5d7e05d158402643ac53dd4da4f6e80fb192b2bf7d1dd9a333bbacea8f07531ba450dd8fb93e481589d370a6ef33a97e03b2f5816e4b2c6a8abf606a859108ba6f416e530d07a100828258203c892c116b01b9c29f1a4e62b0c0aed425228d951f4adee9ca1a34b517a9b08258407cec1537a0b490c490b64169a6d6e73b6ce084d9edc48c6ad51250f27be3cf25b305fb4bb26db2ef319afe3acb2247cd7ee52b472a3ab2152be13b01fa346009825820974d020cb3cffae694aa664b3e050df9d2a47e228ca810401e18dcb145a5a0ac5840564a4f500bd6d52a21aa93c88fea83e9d3c6b6bdcec0908a4d57ea3271e93b983c33685a575d374ff4784964fbfb560b3176925781a54fc6bbeec0c2418c0809a10281845820c0179ec7663218e404dc574e85b020f4a9adf3de6a3ad974e288030cedd453fa5840530fae25fa213093411fe6bfb0171207ab58cdea2ce265c486fbba5f04d7c10032500fd06aff6ba64bd5198bc0a039bf9c5808e9eb4ee65b0129e525d92e3a0c582018a536c9c2e8db8e923546ac909e577b9e223a369fce103b336089a778c5b7cf41a0a0")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/CostMdls.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/CostMdls.cs index 0505a5f0..4ce0fb62 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/CostMdls.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/CostMdls.cs @@ -1,3 +1,4 @@ +using Chrysalis.Cardano.Core.Types.Block.Transaction.Script; using Chrysalis.Cbor.Attributes; using Chrysalis.Cbor.Converters.Primitives; using Chrysalis.Cbor.Types; @@ -7,4 +8,4 @@ namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; [CborConverter(typeof(MapConverter))] -public record CostMdls(Dictionary> Value) : CborBase; \ No newline at end of file +public record CostMdls(Dictionary> Value) : CborBase; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/Nonce.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/Nonce.cs index 30893f09..edecefde 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/Nonce.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/Nonce.cs @@ -5,8 +5,17 @@ namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Protocol; + +[CborConverter(typeof(UnionConverter))] +public abstract record Nonce : CborBase; + [CborConverter(typeof(CustomListConverter))] -public record Nonce( +public record NonceWithHash( [CborProperty(0)] CborUlong Variant, [CborProperty(1)] CborBytes? Hash -) : CborBase; \ No newline at end of file +) : Nonce; + +[CborConverter(typeof(CustomListConverter))] +public record NonceWithoutHash( + [CborProperty(0)] CborUlong Variant +) : Nonce; \ No newline at end of file From 5460c9da97b93d8b7a15ec315e563d4a73dcfe79 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Thu, 19 Dec 2024 10:13:45 +0800 Subject: [PATCH 089/162] chore: bump Chrysalis version to 0.5.17 (#105) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 8bd8d691..0265f044 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.16 + 0.5.17 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From a8e5f6d8ba4a6e471cf5f45463576015efa32a04 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Thu, 19 Dec 2024 23:30:44 -0500 Subject: [PATCH 090/162] refactor: optimize block deserialization #106 --- src/Chrysalis.Test/CborTests.cs | 6 +- .../Cardano/Core/Extensions/BlockExtension.cs | 86 ++++++++++------ .../Extensions/TransactionBodyExtension.cs | 76 +++----------- .../Extensions/TransactionOutputExtension.cs | 22 ++--- .../TransactionWitnessSetExtension.cs | 99 +++---------------- .../Cardano/Core/Types/Block/Block.cs | 23 +++-- .../Cardano/Core/Types/Block/BlockWithEra.cs | 6 +- .../Types/Block/Header/Body/HeaderBody.cs | 34 ++----- .../Block/Transaction/Body/TransactionBody.cs | 49 +-------- .../Transaction/Output/TransactionOutput.cs | 18 +--- .../WitnessSet/TransactionWitnessSet.cs | 20 +--- .../Primitives/CustomListConverter.cs | 46 +++++++-- .../Converters/Primitives/UnionConverter.cs | 5 + 13 files changed, 170 insertions(+), 320 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index a372ae41..3c4e350c 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -70,20 +70,20 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("84828f1a00552f551a0197215d5820b86f5d4306d75c93a17a50141ea27cdf13a4ba70d2a1a28354c9c95e50f54fd35820d31916004403c589efba384721020e358e4e9fbc2024b3c223c2835a79ff0af458209ea0f1ff4da71b6e9dfb01a0daa02cc566d428c7a09695b23d477c438223f4f38258408f9dac9462ae8076e369a18c25dd690ff9f6b6b68e2e709b55435f457a86d92740f8d4fe014a8f4e29fbedf4c666cf02855ab6573ffe7c866f09cb278c1f55dc5850cddf14ddeb8b9a748c3afdb2a0b48f2419dee6ef457963ecc84637d7e1705be9fcf409f5b004c5fcc3ecac8cb37281a784f45af2baf1707ed00bc4a66a747da76ab76c532096d4eb7d59a297d099290182584000017b74b05a792edac959e820c42eaaef719abaca6d4fdba7df24d5075f7273de24b1ab5c4ec33ef00dfc63b01aea08061784745ec87c243284fa692b6923a258501a8fb814cebd6aae02028b87927c59b4f8feb82daa77446070cb7b35cd35641c10bab38338e69bc9c7025cdc6fcb8213128aed171514280b1c6dc58c0943dbc5e49820de760a5a9da8ff0f07747d3f0a190a8a5820e511233ffc2e1cd24bbd850d867b70b65a9f6039859566c19712fc3f91861133582001438b89d44b6fc84a63270f880d032e441da99657f8a4d2d46b9465dc42d2570018b258403e37d0dca99b35ca571bf82e35e2a48fffbacf04f13129e33e2bf908224e7527d2981aba213047e0f5c3c409b14610149456ea3494ceb2042195026a16ff320004005901c083dfb892f3dd49a3a0c9532b3f232a1c10928760a5157d4963ecb90f368668d09ea96157e1b753368c5a750974662d351e4dc9fe2241ca8d389cca022048d30b8ea3ce335a8db35c5609ff426ee9720d5849bef7ad88fb8c368e3682eec55b95f3ec334168176ee5bdb21b3e5befb5482de180d2889755b569277e9aa9fa19ac77a742b8100a6cd5a03109ff8a83bafc91c549cde0ddc1eaf7c2ed2183dc3ee2c77ee666f66b7645ae999755017a0b6cc8cda51c8a653864dcf8ad265039a1d1c440cffa55b367e8745994d8835673c32fe179f3738b13f6aec40c80abe925f77a33ce6d5e96ef41af2cb3776c0abf09303419e745024f6b77bc03dedfdfee12d41f671cf30bcb8830f251cb02157e99524c81a79dd9d4fef48b28f63342da98af5681ecfc09ef61f1062e56c8fb45539d879469ad4ac36ebff0d884bb3ed5c2a8d028ede7bf0609d0e4b5a8175909b30639303fbe56423fa6562007abf2c26157cecec922b3ccfc0e30100d1b6e804e51da70a4e3d040c11702f724e223ddc5149d7b74a247b8aede1218beaf15b2bd305cc72da203f87d7302e906f0bbda77613b3b320cf84fac6397ca73b8a5e225ca515be56a770d666fada5b47a1b354285a4008182582073af3bb77dc3be5cb08fdb78091c9ddc0bed645916656ae3904f05c367b1249d01018182584c82d818584283581c5c7d7ef14e09f2deb82bc8c43381aefa2e871760b357d7f5385e34f9a101581e581cc9a4c68c63646830c5f13c51549c6b2b52918d239ecd44c2066effcf001a833c18221a3b9aca00021a000b8199031a01973d6aa40082825820ddcd6de118dab1547a18d8036a6f4976bd76e408f8eda8ab8d028436805802fb01825820adeae72667a8c9f372ec504cd7bc0d6d26b23b90a6fb540506f05b963e12a62500018282581d612fa41eae6ceb222820ab494d8f71ee88d5de84fcb204ecee9b460da61a7735940082583901b3b68498fe2f363794533ce22d82f36c3b07adc1ecd122a6d2ae747a6320ed82eb88cdc1e889ddd9445cf19d1fa09f647335f0fb2c082b68821a3779c2f5a1581c1131301ad4b3cb7deaddbc8f03f77189082a5738c0167e1772233097a54e43617264616e6f42697473323332014f43617264616e6f4269747336313631014f43617264616e6f4269747337393634014f43617264616e6f4269747338353935014f43617264616e6f426974733838393801021a0002b829031a01973d6ea50081825820bf30608a974d09c56dd62ca10199ec11746ea2d90dbd83649d4f37c629b1ba840001818258390117d237fb8f952c995cd28f73c555adc2307322d819b7f565196ce754348144bff68f23c1386b85dea0f8425ca574b1a11e188ffaba67537c1a0048f96f021a000351d1031a019732f30682a7581c162f94554ac8c225383a2248c245659eda870eaa82d0ef25fc7dcd82a10d8100581c2075a095b3c844a29c24317a94a643ab8e22d54a3a3a72a420260af6a10d8100581c268cfc0b89e910ead22e0ade91493d8212f53f3e2164b2e4bef0819ba10d8100581c60baee25cbc90047e83fd01e1e57dc0b06d3d0cb150d0ab40bbfead1a10d8100581cad5463153dc3d24b9ff133e46136028bdc1edbb897f5a7cf1b37950ca10d8100581cb9547b8a57656539a8d9bc42c008e38d9c8bd9c8adbb1e73ad529497a10d8100581cf7b341c14cd58fca4195a9b278cce1ef402dc0e06deb77e543cd1757a10d8100190103a5008182582056374d72edc2d887538cbb4ef0cf09f4e38b6a56191e5bee5cfa01a2ad2cca6d01018282584c82d818584283581c311b14ceda9987ea2fbcf18cf664ed2a7629c2f12f33b4d0abbb1dffa101581e581c633c7e9a7d0419c8d7f4b3e0de1c69a0dab1c1681c331821e604bbf2001a46cad9321a3b9aca008258390124e8b1108ba2d0e8803b35b86861405fcf9606a7552b9e62864201ff40a8672a9ebaa1c1b69351472ad7c419817d766f558dba19d1111d6f1a013f2151021a0002af0d031a01973d7a05a1581de140a8672a9ebaa1c1b69351472ad7c419817d766f558dba19d1111d6f1a002d3e5aa40081825820862d43628cd99035f3338b5477caba8027f249dfa908cbafd2e8b77e75ed457e03018282583901b522d1f426cc6722a1e85fdc49b69d3a3730751518c5ed829d8a30bd922375ebc24194d462c3f47d2f15817174365caf7717b095d8d38ac71a000f424082583901ab078f52254ca51b8624c1887bd01b0dac670427534ff321b5972c37427a585810a0ce94897383f8f778a1761961c7658cea2f3aba339e701a05d33bdd021a00029a03031a01972f3885a10081825820fccdf0fd58161f9a3b9c69b1ffca3f2d6929c2f5c2ec0b6b45476ed311b8b68458408b8a79122ed451628dfba2e382458c43cd015759e60b53727fbf66b398ebdc6737f02663f1f2e1db0c660017b6aa4d312345330ee6df4303211fa12e22fa570da1008282582019c4d4dfe9ee111166d5720bce7e1a2e5765c7217aaa789e94d3f4d38dd1641658406723867e7c51eb423c48b60d85d3fb5031c0a93e2964b8bb7648f8ba598d858f059951466d283affe186c0c764caf6cc4131b0efdcb80d0bbfff192570b36e078258203cf14e0f2c4790ebb530ce523f0e19cebdc6d850c0009ac5c4ccb8a5253abca95840ba94477873a04c821adbe127c0231805f52f4002705205b5d6d59ed9ab886470f24771e94cde2e096597bd38ddffb1b71d538ab8881bc656cfe501c7cfba830fa1008882582061261a95b7613ee6bf2067dad77b70349729b0c50d57bc1cf30de0db4a1e73a858407d72721e7504e12d50204f7d9e9d9fe60d9c6a4fd18ad629604729df4f7f3867199b62885623fab68a02863e7877955ca4a56c867157a559722b7b350b668a0b8258209180d818e69cd997e34663c418a648c076f2e19cd4194e486e159d8580bc6cda5840af668e57c98f0c3d9b47c66eb9271213c39b4ea1b4d543b0892f03985edcef4216d1f98f7b731eedc260a2154124b5cab015bfeaf694d58966d124ad2ff60f0382582089c29f8c4af27b7accbe589747820134ebbaa1caf3ce949270a3d0c7dcfd541b58401ad69342385ba6c3bef937a79456d7280c0d539128072db15db120b1579c46ba95d18c1fa073d7dbffb4d975b1e02ebb7372936940cff0a96fce950616d2f504825820f14f712dc600d793052d4842d50cefa4e65884ea6cf83707079eb8ce302efc855840638f7410929e7eab565b1451effdfbeea2a8839f7cfcc4c4483c4931d489547a2e94b73e4b15f8494de7f42ea31e573c459a9a7e5269af17b0978e70567de80e8258208b53207629f9a30e4b2015044f337c01735abe67243c19470c9dae8c7b73279858400c4ed03254c33a19256b7a3859079a9b75215cad83871a9b74eb51d8bcab52911c37ea5c43bdd212d006d1e6670220ff1d03714addf94f490e482edacbb08f068258205fddeedade2714d6db2f9e1104743d2d8d818ecddc306e176108db14caadd4415840bf48f5dd577b5cb920bfe60e13c8b1b889366c23e2f2e28d51814ed23def3a0ff4a1964f806829d40180d83b5230728409c1f18ddb5a61c44e614b823bd43f01825820cbc6b506e94fbefe442eecee376f3b3ebaf89415ef5cd2efb666e06ddae48393584089bff8f81a20b22f2c3f8a2288b15f1798b51f3363e0437a46c0a2e4e283b7c1018eba0b2b192d6d522ac8df2f2e95b4c8941b387cda89857ab0ae77db14780c825820e8c03a03c0b2ddbea4195caf39f41e669f7d251ecf221fbb2f275c0a5d7e05d158402643ac53dd4da4f6e80fb192b2bf7d1dd9a333bbacea8f07531ba450dd8fb93e481589d370a6ef33a97e03b2f5816e4b2c6a8abf606a859108ba6f416e530d07a100828258203c892c116b01b9c29f1a4e62b0c0aed425228d951f4adee9ca1a34b517a9b08258407cec1537a0b490c490b64169a6d6e73b6ce084d9edc48c6ad51250f27be3cf25b305fb4bb26db2ef319afe3acb2247cd7ee52b472a3ab2152be13b01fa346009825820974d020cb3cffae694aa664b3e050df9d2a47e228ca810401e18dcb145a5a0ac5840564a4f500bd6d52a21aa93c88fea83e9d3c6b6bdcec0908a4d57ea3271e93b983c33685a575d374ff4784964fbfb560b3176925781a54fc6bbeec0c2418c0809a10281845820c0179ec7663218e404dc574e85b020f4a9adf3de6a3ad974e288030cedd453fa5840530fae25fa213093411fe6bfb0171207ab58cdea2ce265c486fbba5f04d7c10032500fd06aff6ba64bd5198bc0a039bf9c5808e9eb4ee65b0129e525d92e3a0c582018a536c9c2e8db8e923546ac909e577b9e223a369fce103b336089a778c5b7cf41a0a0")] + [InlineData("820785828A1A00A9995D1A085F7993582072028BE5129EA06BF47C7939EFDD93EE4D7364F61B2512C426EF68780EE80D815820C532C9C7469B3D570222ADFA458076859B83B3CF9FB84E1F8D089B3B7A28DAD258204C7689AD28CBF8AFEE12C6A6A6D716A22439D0A6F003A812EA11AFFBDF1EC7F68258407F3B1EB698707563673FD71324F2A8B790C91A65E272EB5C55C45F2D7797714AF023E1EEA82FCB07CE3E43F5412F9E42063A4F0C3D8DE5896244212624D5C5C358504BC4BF679879E27EDF829DAAEC9DCE9B79F80A94A3E5332CFDDA1413E4C540C7084BE60062AD0AB3C9AF11E25F06359A586B569198E9D78506C57A7173C7A71FAE18E479ABE5ADA7EDD94885AF2384041A00011F5B5820B8017FD5DA7F42F31064F0A864564996165EB4BBE3EA72D1147674FA9681D7F9845820CFF41E9B56A328410D79C04B630F87831DB7F298794D517666854D9320792E0F12190420584058BBD2CFE56F9876BA853B295E86AD6970965BFF8ABED2C7E48B72A4444CC0F649DDA65514A7F1EE433A058C299C47D9FC89317BC47AF3D4BDA1AD743A8C2803820A005901C02176B7EB165E583923DD731836C7FC989BD24FA40DC41D8AA093C089E9C3A3B86C95DF9D239B83B153FC2F85A9F1E5E3BE2D1916ABA1703F5077CC993B44AF03FD2F5A9C890A6CE2DEFE4DD64F699A1A65713C51B131FAEA20F7A80EEBE2D430FB982DB26D5D9F7540441D773AC9D3D863F2EDA0C7B0DABE1C27AF01361109C936546820D8CA8D22D2D022962E31A1607FF8123424FAA1ABD81F12B35DBA5E3E9B7EFCA080E0A3D033183C19704812A5AA83877F2EB2898064A1C51F0F84CBD3DDE8BC9D8307D6AFB803239A03D19B8C766215F68D6A1A081EEB2FE4AB7B985315024F6E6470DE8A4B092C6C7535E6F5327FF2B9AE6DCDE1D1BE3D408B1EE006ADF320D7C50EBD75CC1BBC23CE9E85EC32980CD9F3ADCC608DE9141C57914ED47F5EA598B82721D6DFD66E3AFF5F954018AF2E268A2B34E08428452BACC27CCB9BBBB74A55A22F12453F85B2D04B6EF12F2D1E7FD7CD8EC952138E8F313A5896813F06D636E1E319474640A8D24599120B74AD1DEA729854D72A6A356FED3ABCD4C8BC316F17216E08AE5CFC6612A25C127D59EA878802037087ECD6320CA5F9ADA7BAE686A04DD9FF2EEA0FF31902FFD94CA333D4ACC89508E0E70E662D47509FA40081825820A8B2B782ADC705C89C15D0294EC70E69FABD2B4B9B3CA1D87AD14057DD1CABE107018282583901EB070F2155A45D33E41C4C978B69AAA1E3577850C2A0F4B71C099F97EB070F2155A45D33E41C4C978B69AAA1E3577850C2A0F4B71C099F971A0014B65D82581D61D91EF01B73F3010BB173945CF5417257C00C002715A13052015AB54F1A02DD3600021A0002CD30031A085F8769A8008282582022C9B11E2FAD1B15D2373AAC47C90C77F28E6DDB8889A0E4333CE3B46955A621018258202C0F7367D53DD8E34559DB8E152D5541B9CD9B28DBD353E6003CCE83C502BD91000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000028EECA5FEA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0FD98017581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01512D951A000712899FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901892476D79DD780C71062520A39BF9DE9CC518AAB0C2382D5CB2703CCA279FDA40512FD541267D1B733A6E468C677024D2B28190FEC4BE448011A04DD0C94825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A40081825820915164DE17E279D281D8E34C4D48FAD62823BB87391D5C22D8BA14A704F124D500018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1B00000003AAC0D87F021A000292FC031A085F90C9A4008182582021C73DC7982CF6B1C02F1ACE34C669ECA86EE1A8A9CFBC52E4E666400CC1421E00018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1B000000015956D984021A000292FC031A085F90C9A40083825820D6E780906DDAE9E29D10EBA72F8C55407CB1020A4CDB4E53F941B932D8CAC6EC0082582007AFEF0B961E89E3F2D590887496E632DA7C03E35B5A4BD53756551171C19CCC018258205D8BAC22C4EB49D0CE9D812C2665AEF18F6135BEF8151767D815B8E7F49CF52C01018282581D61A2504A67B311D2079D732F89A29005EFF0FCEA5F29DC9EF5F93ACF511A112D443382581D616904E8B2C26F3DDA6C4A5DB4B3EC9E31D581C9960977CFE9C6917A431A080CAE23021A0002FBB2031A085F8769A4008182582023B0C877D33A9D342F4E23CB1265C31FC2C5FA4438B2011E52F02E3316B89E5900018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1B0000000114C21E53021A000292FC031A085F90C9A700828258201F755BC531345DE9635784725BDE74567714FCA86A5BFFDCDD604552B862DC9808825820374CE8C089D1BE4D828F97B17BAFF507D9FB7BBA83BCACF17238915A82EB9ECE010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF0275692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44011A06422C40028201D818590108D8799F4100581C3EE9752EF96785D7C08096A923BBF9A04A3D074AB4F8B652F98E404FD8799F4040FF1A05F5E1001A000DBBA01A000B5558D8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F1A000B55581A05F5E100FF1A0010C8E0D8799FD8799F581C012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F8FFD8799FD8799FD8799F581C75692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44FFFFFFFF581C012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F89F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A0010C8E082583901012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F875692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F441A001E848082583901012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F875692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44821B0000000292C1989DA4581CC02BCEFFA5811FE64CAA949AFFC0220A2C862A12F143F10CE55A29AFA14C746170707930322D3231353701581CF4B533CAF3C886AF0296B0E0BF67FF1F08A3880DDC3F824BE1B8CBB9A152536E656B2E66756E204B4554202D204E465401581CFA219EAA83FF19005C46975034059CA567D217223D93E34EC6C6C267A15269484F4C4457686974656C6973742E31363801581CFC08AFF43685CA4D5536A0A6C006C724AB37FCC41EB06940EE8B62DFA54A534F55524B6579303839014C53776565744B657931333532014C53776565744B657931383935014C53776565744B657934323531014C53776565744B65793439313101021A000484F5031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581C012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F8581C75692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44A400818258204653778373E09EB6750EC88A7419C1330AA4ECFBB1BCD86845853A91EE14155500018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1ACAA54FCC021A00029234031A085F90C9A800828258203D58D6CCC1124BB21036AE2C8F23E69D436CD6A24AEE0FEFCCCB38C21C82F0330182582056D13BF90D89FB2143E77AA00C32A496C306868E49917C56A85BBD739C2B966B000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000042CA5DC4DA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A158206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABE1B7FFFFFFF9B6EA76F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A0AA164BD581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F9601028201D818590118D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F96FFD8799F4040FFD8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC20058206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABEFF1A0001831C18641A05F1ADC81A0010BA099FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F875692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F4401821A002DC6C0A1581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A000F1A50825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165EC2021A000825BE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A40081825820AA2AC7CBCC8B4185D5868859291522E402874F343BF8373A44B13B9281561CBA00018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1A4D9763E6021A00029234031A085F90C9A600828258205D13309087186515A6EF247C73888147AA35081CBCCD32A6CDAE7F7B724CB4CD00825820AA08677EFE6429A13DDE64B331CA7539EE7C99664C2A041D8C81AF25E09D1077020182A300581D71B15A1A010843E8AFB6F963B03D452BE815B533DAD0CD23D819C2D20101821A00209EA0A1581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA158202FFADBB87144E875749122E0BBB9F535EEAA7F5660C6C4A91BCC4121E477F08D1A0005FF1C028201D81858DAD8799FD8799FD8799F581CFBE1F601DC42BAD2DA0763CE1BD36B5E62BD540AAB8A52E373832B09FFD8799FD8799FD8799F581C724E8F251D9E2AEDC79EED45B68050791EE2C31C899393DB4A436EEDFFFFFFFFD8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C58202FFADBB87144E875749122E0BBB9F535EEAA7F5660C6C4A91BCC4121E477F08DFF1A00E378209FD8799FD8799F4040FF1A0004A832FFD8799FD8799F581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3F44534E454BFF00FFFFFF82583901FBE1F601DC42BAD2DA0763CE1BD36B5E62BD540AAB8A52E373832B09724E8F251D9E2AEDC79EED45B68050791EE2C31C899393DB4A436EED1A06463531021A0002E9A9031A085FA386075820A6D5E111373C28E492B40A5230816D74735B628F3AE78E3CC85CB162D7CA29020E81581C7FE3920105A0AEBAAECC1B935CD5EBBD3CC8C28336449D27378825E1A70083825820D23DDDBD731743071773431CBBA567E604BAAD8EC40A91D523E82EC7179D0BA302825820160F780E001441B9F210A4384883F039996179E7D5B4F7D1C8416C2560E06CE402825820AFFC0565DE78B1972214E0CFBE7E771C0743FBB3B39916D50DE7A64970C4CD64030184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF0206483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBB01821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0033D6D0028201D818590107D8799F4100581CF8A18B70ADEB57DC7BD40D29537A941FC904340492FC366703F35586D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A0033D6D01A000DBBA01A062BB9D0D8799F4040FFD8799F1A062BB9D01A0033D6D0FF1A0010C8E0D8799FD8799F581C4F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665CFFD8799FD8799FD8799F581C06483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBBFFFFFFFF581C4F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665C9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F4240825839014F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665C06483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBB1A001E8480825839014F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665C06483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBB1A1E73D346021A0004510D031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581C4F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665C581C06483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBBA70083825820B1167511EE39BA7DBD3E92BADE32CE0E092C4307DE97A814FADC81FA51BFB5B00082582099A4346E53CC3F0860D3DB514BF96E52277B53A68BFCDF3E79CF502A3F4FCFEC01825820876DFE53F4C336C3EFDD99D1E5A85ED6D291311CFA1F855F266DAB5811EFCD5C000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02AA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF4701821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A014AFCFC028201D818590107D8799F4100581C9DBD2D99AB6CD2212B9E522DD9D90BB7F08C5722EDE45E41DE0F2374D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A014AFCFC1A000DBBA01A23A89029D8799F4040FFD8799F1A23A890291A014AFCFCFF1A0010C8E0D8799FD8799F581C0A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA5FFD8799FD8799FD8799F581CAA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF47FFFFFFFF581C0A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA59F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A001D43E4825839010A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA5AA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF471A001E8480825839010A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA5AA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF471A48FF714E021A00044B35031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581C0A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA5581CAA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF47A80082825820232AFEB99E2A80B33D552EAED9A438D480CC79CD575BDB91C66BC7BA58F844D7008258207829EE5913D6453A0C3C463D1F0416B483F22DD47D127B115910E9877710D94F000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000286BF1C9FA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A100D56E7581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01512D951A00071FCE9FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839014F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665C06483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBB011A085B501F825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A800828258206FECD1C6D130853F175CEFD93F2308EC1CD1353F2FC23AD64138CFFDF7A6FBF300825820A19AC50AEE302EFEB142DC3CD7B42C2224C555A5F2A3D99114519719E6D5FDB5000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000257011636A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A115853E3581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01512D951A000774899FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839010A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA5AA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF47011A2FEBCD29825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A400818258208CAAB4199C81853A4A9FCF50A7BA227A864B45F50ACCF23CD9B2CEEECC6A291600018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1A0356F90C021A00029234031A085F90C9A7008182582005399A2C223FFB2572D41283641AFBE9E5C09F3D0384B14E9E33304FC94932EF010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF0240C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA812011A3BE71540028201D818590107D8799F4100581C8B169C6AC8A47D18367035CB402A5D091E6C258E167C33F57C0E565CD8799F4040FF1A3B9ACA001A000DBBA01A011727FED8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A011727FE1A3B9ACA00FF1A0010C8E0D8799FD8799F581C7275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD94FFD8799FD8799FD8799F581C40C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA812FFFFFFFF581C7275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD949F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A002625A0825839017275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD9440C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA8121A001E8480825839017275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD9440C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA8121A0930624D021A00042775031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581C7275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD94581C40C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA812A40081825820FB86792847C24BE2CE3FDD23585A15ED390FDC934F2A7DAE8242DFBF6FF85F6000018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1A033E8F0C021A00029234031A085F90C9A800828258209BFD387D40CC8366C9FD833C506B33DA89DABCD6EEE406FA87F476DD44BFAC2100825820B11F83A5ADC767B9A1D95ADB6BAFDC87B5DA1A1FEE99029ED9D20397C0997CCA000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B00000002929BE036A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0FCA00FA581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01606FD51A000774899FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839017275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD9440C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA81201821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A018E52E9825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165F46021A0008253A05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01AC00838258200CFCA1425F1BF0D0397C18851D48D0460164899EA16AC5787F517AC189FFEC53018258201A411654836A9227D91C7EB1EC916F684D5C765F5C716383AE755BFE837BE8F00882582063018B32A655712C844EE83835471D0EB4EF90B2F5C3712C3B136B4D56B2EDC5000194A300581D71ACEE18E799D5B4E30046E2EAAD1F75FC95997DD6EC37995F02670CCD01821A002DC6C0A1581CF013B0F786CAA20044734E346E7858B53563FA6DDE8C45C60E76CAC7A14001028201D818479F0000000000FFA300581D71E88F72F6B4673DB78EFE148B1CD90C689115DDB3D7E356A0003148CF01821A002DC6C0A1581C43C4BDAC04537DBD338935D00A8A0746A078D4F03D7AC302A4BF5D3DA14001028201D818587F9F1B000000685E42F84F1B00000002F59394BC1B000086E09763EE6F1B000002A3FE6FD2BC1B00000030AF2A42971B004ED56C0A53BA1B9FC24A17C17D4304E3CC4A468BC24C132CF0C248671448C0DB0000FF1B0000019345B1ABA01B0000019345B45F089F1B000003334F3B00501B000086E09763EE6FFF1A002DC6C0FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A4581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB2729BFF82583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34282583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF342021A000907E7031A085F7A62075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A085F79360B58202B748DA8BB4A390FD5E617361DD6BA3BD02C1F31D9698EB05717F506647BDA4B0D818258201A411654836A9227D91C7EB1EC916F684D5C765F5C716383AE755BFE837BE8F0080F011082583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A977E3D43111A004C4B4012838258201E1D406B2A72FF8759E586964242D1E41FA71883AED901C67A996EFF8426055700825820B5B61EEBD4A89410A9A860C55AC1BEF38DBDA22071F817843D59578835F253C700825820D87DC6BBE6E450D529A4514F4A85C7C450D88CED389F9FA73DFF0C47D4E3CF5D01A70084825820F86218A6F3ECD670BEE52876A205E1DE3D0F95C0923B6847110C31383492DED0028258209857B6D62E262ED2125EF6B13F2BAB1E7CF24FD42BCCFAB29CCD192F7CB4BDFA0082582058C42BB99CF44C02F30F30B6F7CE262F035B11B89E05FF30128A5EC6581C627201825820F86218A6F3ECD670BEE52876A205E1DE3D0F95C0923B6847110C31383492DED0030184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF028A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7C01821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A00C04814028201D818590107D8799F4100581C6D600C9A85109B541D0CA2063D2AFEDA23842C29181B53A1D7ABFE96D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A00C048141A000DBBA01A1562998BD8799F4040FFD8799F1A1562998B1A00C04814FF1A0010C8E0D8799FD8799F581C3A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D2FFD8799FD8799FD8799F581C8A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7CFFFFFFFF581C3A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D29F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A001712D7825839013A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D28A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7C1A001E8480825839013A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D28A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7C1A01A552AF021A00045795031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581C3A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D2581C8A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7CA70081825820CCEF0F037CF91C2A75086C251814A2BD4CC5A8454FCDEDCA0EAAF0471D38396C020184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02BC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F7011A1E19B040028201D818590107D8799F4100581CBCA47A06F33F0247D624851175A3620D70118CCDEAA5E045EABC475FD8799F4040FF1A1DCD65001A000DBBA01A006BA29AD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A006BA29A1A1DCD6500FF1A0010C8E0D8799FD8799F581CAC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C00FFD8799FD8799FD8799F581CBC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F7FFFFFFFF581CAC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C009F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A001312D082583901AC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C00BC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F71A001E848082583901AC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C00BC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F71B000000015E2705C5021A000428D5031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581CAC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C00581CBC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F7A400828258206942B73EBCC6DDA49C287D12BCE86F19A805C8F8319D17E203018FF7C8349DAC01825820BBE0CA7EE8E130918E08F5BF9D2FDA5C810DDC0EE8D61618A9649BFB53757C72010182A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02D6118A85C09C77FE3510B70324ED2DC95959873A6865447381E390EE01821A00247FF2A1581C8E969E8E238886405A1D6A43A6C0CFA8E94F15EB0E3DB805C00C4F58A14E546F6E79207468652074696765721A000CF305028201D818590109D8798C4100581C9389253D73453890C9B092805AA5E9FA6565E379363948DC293954E7D87982581C8E969E8E238886405A1D6A43A6C0CFA8E94F15EB0E3DB805C00C4F584E546F6E79207468652074696765721A000CF3051A000927C01A0085B18DD879824040D879821B0024ADFA1BA3F1EA1B00038D7EA4C680001A0003D090D87982D87981581C8F20EB5EE1F6F674788B5099C8EB5357D520EF7C04FB85665CA63725D87981D87981D87981581CD6118A85C09C77FE3510B70324ED2DC95959873A6865447381E390EE581C8F20EB5EE1F6F674788B5099C8EB5357D520EF7C04FB85665CA6372581581CEDBF33F5D6E083970648E39175C49EC1C093DF76B6E6A0F1473E4776825839018F20EB5EE1F6F674788B5099C8EB5357D520EF7C04FB85665CA63725D6118A85C09C77FE3510B70324ED2DC95959873A6865447381E390EE1A00130649021A0002E1110758206DF3C33BB98AA88CBA034AD6D510E20BE405FBE2E6B79288C58D5E282FDB7867A80082825820261C6307BB7BCFEF8F19F677AF596CDFB0C7D9435ED1DCBB8E0E7B01FBE8753C008258205D7B2A4BECBE5D0974CB51BCFD04F7ABC1D616BA65FCC84E1F3720E891C8B7A9000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000274FF162EA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A108A490E581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01606FD51A0007A5C29FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839013A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D28A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7C011A1DCA90C8825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A800838258208F64BCE3748C404F2C98F18E5EB7BFBAC278ACEA22BB9B4F157A57B6600FA1E401825820D05C5942C1A77BAE62CADDC98D8A5191EB553B6A5BA8C39B657CF7C4C797FA9901825820F5676EAB8331C12EFD28841FBC0E46CBCB928982C4582A16811B82A6B9CC6CEC000183A300583931905AB869961B094F1B8197278CFE15B45CBE49FA8F32C6B014F85A2DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821AEDB3FB9AA2581C63F947B8D9535BC4E4CE6919E3DC056547E8D30ADA12F29AA5F826B8A158205F84BF97BFE98FE29D04D627886EBC11417AEBB8AA7D4A4A43BF2A20CA3D2F0101581C8E969E8E238886405A1D6A43A6C0CFA8E94F15EB0E3DB805C00C4F58A14E546F6E79207468652074696765721A1D1EA409028201D81858ECD87989D87982581C63F947B8D9535BC4E4CE6919E3DC056547E8D30ADA12F29AA5F826B858205F84BF97BFE98FE29D04D627886EBC11417AEBB8AA7D4A4A43BF2A20CA3D2F01D879824040D87982581C8E969E8E238886405A1D6A43A6C0CFA8E94F15EB0E3DB805C00C4F584E546F6E79207468652074696765721B0000001166B125CE1A001373C2581CEDBF33F5D6E083970648E39175C49EC1C093DF76B6E6A0F1473E47761B000000028F200558581C8807FBE6E36B1C35AD6F36F0993E2FC67AB6F2DB06041CFA3A53C04A581C554DAF3E27E50C8C779713BE6BA70F95C35F23F0552A28E5A7A3401482583901EDBF33F5D6E083970648E39175C49EC1C093DF76B6E6A0F1473E47765BEA5F897C13DC19A9E0CB1A11C7B1F7AFEA002051C73C1B2DB2E9421B000000010509F704A2005839018F20EB5EE1F6F674788B5099C8EB5357D520EF7C04FB85665CA63725D6118A85C09C77FE3510B70324ED2DC95959873A6865447381E390EE011A01264194021A0005D0E905A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582034E73784C72799213D02CAD0277814472773C3610FEE3BCB7859F14517CFF2120D81825820DD325CDB8C4B2D7FBC66D6E04F2ABCE41E52FBF55807948AED6B9ABB726EB699000E81581CEDBF33F5D6E083970648E39175C49EC1C093DF76B6E6A0F1473E47761283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820C4A540AC2E06C217DD4FB3F39CA3863DA394BA134677DAFA9B98830CA71D584D03825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A80082825820588C619974F7776B75830D90B751E8443CEFA45D267242AAF1341DDA0220C5AD00825820797534AC6355BC0656C643075376B3464C15BD3933A90024EE554E29A6DFFFAF000183A200583901AC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C00BC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F701821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A00BDC5BAA3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000292CC7B2EA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0FCC8354581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016810F51A0007A5C29FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FF825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165A7C021A00082A0405A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B58205328CA618708A88ED01EE7C84B2B658A2F19FB71839355AB99D510D2B8902D560D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A50082825820D65657494B6F749EC5F1CA035AB2CA02F07F80C8F24E3105E764C9B7E272E5CA01825820E226446DF0844C5EB8F1B6C09417CD575F3BD6629F4DA4B577AEB0CD49604512000184A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4CB3E6C0CCE7FEDBE0A076F4279D4C82530316F87D248D7E7DC81A221401821A003D0900A1581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B1A00055730028201D818590130D8799FD8799F581C5BCBC7EE1C9BEDE00C555A5A0D6D50321595159BCF8BDD4C68E3549EFFD8799FD8799F581C5BCBC7EE1C9BEDE00C555A5A0D6D50321595159BCF8BDD4C68E3549EFFD8799FD8799FD8799F581CB3E6C0CCE7FEDBE0A076F4279D4C82530316F87D248D7E7DC81A2214FFFFFFFFD87980D8799FD8799F581C5BCBC7EE1C9BEDE00C555A5A0D6D50321595159BCF8BDD4C68E3549EFFD8799FD8799FD8799F581CB3E6C0CCE7FEDBE0A076F4279D4C82530316F87D248D7E7DC81A2214FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C58202FFADBB87144E875749122E0BBB9F535EEAA7F5660C6C4A91BCC4121E477F08DFFD8799FD87980D8799F1A00055730FF1A51E6B495D87980FF1A001E8480D87A80FF82583901A1ED08334901473CC30C9C3B5917C5DF973D5591E3733DA87BD25348663A8FB1C88F7C15069FAEBB39BD8B34A6CF70552045DA207F1D03BF1A00151250825839015BCBC7EE1C9BEDE00C555A5A0D6D50321595159BCF8BDD4C68E3549EB3E6C0CCE7FEDBE0A076F4279D4C82530316F87D248D7E7DC81A22141A013C827B825839015BCBC7EE1C9BEDE00C555A5A0D6D50321595159BCF8BDD4C68E3549EB3E6C0CCE7FEDBE0A076F4279D4C82530316F87D248D7E7DC81A2214821A002DE77EA5581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B1A001AA44F581C9A9693A9A37912A5097918F97918D15240C92AB729A0B7C4AA144D77A14653554E4441451A0DA5D615581CA0028F350AAABE0545FDCB56B039BFB08E4BB4D8C4D7C3C7D481C235A145484F534B591A01AF4226581CAD6290066292CFEEF7376CD575E5D8367833AB3D8B2AC53D26AE4ECCA14A5A6F6D6269743939323501581CF4988F549728DC76B58D7677849443CAF6E5385DC67E6C25F6AA901EA94A506978656C54696C6535014B506978656C54696C653132014B506978656C54696C653236024B506978656C54696C653330014B506978656C54696C653333034B506978656C54696C653336014B506978656C54696C653532014B506978656C54696C653538024B506978656C54696C65363101021A00032D61031A085FA3940758201FEB00F18FBE772CC375AA495DA0B08D837A719671E68DA62F8ED658915D8FD1AA00828258205479025DBF2E833E57FA45E51BE9D17F67A972D9EF7FE6F37EC1CA7CD1623BDF0082582078E2DD3F11E14CC9BFBD531869D58A0F23AFAAC771D91125A502141BF260C59A010186A3005839116EF4901A1DEF16B6293527187859273373813CF4FCD702CB4BA2858E30B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1E01821A002764BAA1581CC02BCEFFA5811FE64CAA949AFFC0220A2C862A12F143F10CE55A29AFA14C746170707930322D3234353201028201D81859013DD8799FD8799FD8799F581C012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F8FFD8799FD8799FD8799F581C75692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44FFFFFFFF40401A000F4240581CC02BCEFFA5811FE64CAA949AFFC0220A2C862A12F143F10CE55A29AF4C746170707930322D323435320101D8799FD8799F581C0174015D15D6EB735DEB99CEB57B785A5468DFF51B624A8E4C97EEC1FFD8799FD8799FD8799F581C30B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1EFFFFFFFF1B000001935A51C2C01B00000194718E51A0D8799FD8799F581C012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F8FFD8799FD8799FD8799F581C75692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44FFFFFFFF000201FF825839010174015D15D6EB735DEB99CEB57B785A5468DFF51B624A8E4C97EEC130B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1E1A000F424082583901012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F875692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F441A003D090082583931455C0140DAA2B62E75E1B3C124FD1CD80401DA75C52BC467902C66DAA97AA69C5FDF517CFA507E147C9777632006D8E665F403E903C85A531A000F4240825839018D4E4B67CAE8891765366F6D6CBA4D1423067B456970AF6F88581640E0BA41AE1B1342E027F10252D03A58BA7D88ACCDAB261F8A83FA29001A003D0900825839010174015D15D6EB735DEB99CEB57B785A5468DFF51B624A8E4C97EEC130B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1E1A006E2D8E021A0005B278031A085F7B65081A085F790D0B5820BC1D724A705E746DD8EAA8CD0BF99B6D1237FBE5BED7FCBF07F9699314D0E2FE0D8182582078E2DD3F11E14CC9BFBD531869D58A0F23AFAAC771D91125A502141BF260C59A0110825839010174015D15D6EB735DEB99CEB57B785A5468DFF51B624A8E4C97EEC130B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1E1A0103EAD2111A00088BB412818258202C812D5BA6D240EEA79DCA528F22A3854ADCAAC140F3151ECBCF5D945C5981E300A4008282582016980C09E598217940DE49D6AD1214E5101F7A84045172DA7DCA3FA205BE26AE00825820BE020606F10E6F546DEDD5961FA5FD681B4167582FEAE1749E20F2695FB0E9820001828258390191DB03724321F3BAD517785F7E8D27AE0C905D941D2FB25BB9FAE4FB082347081EEE5F30677F308D9EC03C988FC0FAB177F2ED315662871A1B000000012A05F20082583901A5C25122961C4A7D2F5430971754269128D07BB83F984FAB67EA2FB61AF81C522372AF01186262F54C6FB26DC6D416314E8EB316DAC166581B000000096CADD858021A0002990D031A085F958EA700828258206B28CB55568D554FF14B973B376B35D875E01676DF3A5F8F2C15DAC4D2BF74DC00825820436A725DCF063FC108A7FCF71B95A2AB665018F4F5860358AB6813AD828912C7000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02E8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5B011A093D1CC0028201D818590107D8799F4100581C6FA5CCA8C3E27A1672BFB64E9EC1E52564EEE973DDB21C1F9BF17B80D8799F4040FF1A08F0D1801A000DBBA01A002ECC20D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A002ECC201A08F0D180FF1A0010C8E0D8799FD8799F581C34EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E7FFD8799FD8799FD8799F581CE8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5BFFFFFFFF581C34EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E79F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F42408258390134EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E7E8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5B1A001E84808258390134EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E7E8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5B821A50045923A1581CEC90095D26CE5D2BA345DBCFBD4F11835B02D43E661F13FEFD2BE7B6A6483031303430303432014830323039303031380148303331303030323101483034313330303338014830353032303031330148303631323030313701021A000453CD031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581C34EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E7581CE8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5BA400818258208DBB997D66737DC48ED80C392C0A2BF078B30D83265DEF33270DAF32993E3558000182825839018993EA231B46DD561675114CAE6D2938A7AC73D94A96C9755F5F1D918993EA231B46DD561675114CAE6D2938A7AC73D94A96C9755F5F1D911A25B69CDC8258390156BC5A2AC372A68D8135C350C95B42E34966765B3C501406B9641C7D56BC5A2AC372A68D8135C350C95B42E34966765B3C501406B9641C7D1A02FAF056021A00029694031A3B9ACA00A8008282582069988FEE062A591B7773EB96AE369116B7E7815536124C2DADE529BFCFE003860082582085972FA7CBB8EC6863AE59DAA2E0A87DC7370A9D8FC6E13A83613BC92FC455C6010183A20058390134EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E7E8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5B01821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0035A198A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000029BBD4CAEA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0F96E1BC581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016A5AE51A0007A5C29FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FF825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165A7C021A00082A0405A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B58205328CA618708A88ED01EE7C84B2B658A2F19FB71839355AB99D510D2B8902D560D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A3008182582033B1F05A523F1995CCCCDAA996E2230495F498349E85EEA326DA12CBDC356C4F00018282583901B357FA6DB9437A651FE4BCABAD47D7336DC5A7415EB59CF6ED494A1B4FA46E41A1111C816CA03188DEE83445CD3B0B2FD5AB7A18367836011B0000000220C6BCF082581D615DDD666BDFA8DE62EBE51FBE6B9ABDBA86A002EE58B7E1C3275D10CF1B000000336C482CE3021A0002922DA700818258201A3AE90C23D16053E5AC729392B04A6A752E27807807C8F0F88F78A25873B1DF030184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF0248A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3A011A0C380D40028201D818590107D8799F4100581C5D9AB10764416DC55CADEAF860430BA928D6EE0040B85EA3E947DD26D8799F4040FF1A0BEBC2001A000DBBA01A00456258D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A004562581A0BEBC200FF1A0010C8E0D8799FD8799F581C53313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D5FFD8799FD8799FD8799F581C48A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3AFFFFFFFF581C53313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D59F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A00124F808258390153313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D548A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3A1A001E84808258390153313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D548A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3A1A00AEEE2E021A0004219D031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581C53313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D5581C48A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3AA600818258205D7B2A4BECBE5D0974CB51BCFD04F7ABC1D616BA65FCC84E1F3720E891C8B7A9030181825839013A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D28A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7C1A01A1C69A021A00038C150758205FE334C433C9411577A9E1112EB90506D6A99989450FF7EFD9E4F47B6831571D0D8182582006F28F443EDFD2382C45B8E2D81D610D6F2E947B91AC99A24A5A9CC31C138416000E82581C3A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D2581C8A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7CA70084825820ACF7E31EAEF92250387D166B237460C3378E4A700201BB9FC0722AD7248446D7018258207BC91C1345C91E6AA4D2E10CF268E442CAE3A2912F2D21DBAB6E8F6682B0E7A50282582073C2B4F453CE3653A63B0D5ADD99B9BCAFD1C26375F6423398613DD8731F44BB008258203ABCC57FDE6D87F6856AA3BD49D42413422DD33535770C7D83AD7E3A2E8BFCD6010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02E968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E901821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A01179035028201D818590107D8799F4100581C7A1DFCF178777C4E19927164EC5218A95CC10E9EE25FF111EE784A88D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A011790351A000DBBA01A1FB0C05AD8799F4040FFD8799F1A1FB0C05A1A01179035FF1A0010C8E0D8799FD8799F581CF2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDDFFD8799FD8799FD8799F581CE968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E9FFFFFFFF581CF2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDD9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A001A9EF782583901F2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDDE968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E91A001E848082583901F2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDDE968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E91A33475248021A00045795031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581CF2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDD581CE968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E9A8008382582029EA5B86EA539129C2CF8DA056EDF35E7DAA4310E6E13017472CE6CA7C20A8AA008258207527CEFF849BC5262D2BD17435CB4879F776E0AE90C893A3133F0DD63743BA6E01825820C6716C26B1153003F6C4755D328817080664228731D0A692AE6F3D5499E68924000184A20058390153313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D548A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3A01821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A00496678A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000027B42D8E2A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A10650B79581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016A5AE51A0007DA899FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901F2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDDE968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E9011A2C93FC8C825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A003426B2021A0008E24E05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B58209EE875D8E07DE358235CDCEBD37C0FFD94E136148B09619B944FB08137AE60400D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A90083825820767F748EA54597278219D99697BFC95E77A042C3C6542088A0D757C79435383E0082582083A7FAA439BC1D5B454FC43984CD2FA18D487221E2FBDD995546BEF52342C8B500825820E458D09F67D05ED4A9D9D014AFA57E0F9528D08445B26CE41EDC70327D275B41020183A300583911AF97793B8702F381976CEC83E303E9CE17781458C73C4BB16FE02B831D72E8DC9E2563539B51AA0916F91A4ADB60E18C9F1E7B092C4B626501821B0000003846512E42A2581C6FDC63A1D71DC2C65502B79BAAE7FB543185702B12C3C5FB639ED737A2414C015820A5288776C9EFA750E7649B81C46600E9354EF2246533FF628810F7F0BAA4546D1B7FFFFEEBE82F9267581CB6A7467EA1DEB012808EF4E87B5FF371E85F7142D7B356A40D9B42A0A1581E436F726E75636F70696173205B76696120436861696E506F72742E696F5D1B0000055E5D2DA8BD028201D818588FD8799F581CC134D839A64A5DFB9B155869EF3F34280751A622F69958BAA8FFD29C4040581CB6A7467EA1DEB012808EF4E87B5FF371E85F7142D7B356A40D9B42A0581E436F726E75636F70696173205B76696120436861696E506F72742E696F5D181E0500001927101A001E84801B0000019345B0DC981A00151EEA1A01CBB52E00000000D87A80D87A80D87980FF82583901ECB7B6541B911EFFB27456842EEE88931885A8202D1A6E1CF413B10AB384CBE7263E3A9B1D37AC6331F599518CA34648A5ADAA3F37F6F4FC821A942B5257A0825839010B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA47754858DDD2795AAB89617D72D7D240ABCCD036FA4B761FA39787A3821A0472BF11A1581C1AD3767073087DF4FC97FBA7AC4A71A0A6CD556F1AD96A7B1C9870C4A1415801021A00075120031A085F8E92081A085F797C0B58207F3387E756B9D8A55EB8686729C699921DFC60AA9978164F735C14FD981900220D8182582063C5DEA8DA9F5241AC8D6359354F2B322AEA0698EBD59845D62F362D6DDDB6F6000E81581C0B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA12828258205EC56338104FCBFE32288C649D9633F0D9060ABCE8B8608B156294F0A81D29E201825820BABC647257B8D78B86E862BA9769401714ED403E7C46ED1B59C3FC32E0247C8200A900858258204A26249D2D4433460103C2826A62315BBA310128D548DE6DAE42AE86FE305F91028258204D3E0F0C4D330940CA5175F8DB31A3FBF2402E0842CAA31FB461454987BAF33600825820594FFAB4ADDDA476964DBBC5A2BDAC3A7F2C01F877FD85E8E7AA3AEA8515BCCF0082582066526A46E39F909E397D66E8C09CFAFE716F0E274293E3D09641AB5BBF7AB96F0082582083BAFE11FEC14B84E96ECC0FA7EE99C7DBCDDC9C544C54638F722857C194D075000185A300583911AF97793B8702F381976CEC83E303E9CE17781458C73C4BB16FE02B83E76C3EDD3FB0099F352539437F40FC68C2673FFB344165C7BD7852DB01821A0EF4A33CA2581C2A2DA15EDFB850666B134D13CD8EBAFD61E8A526798AC26A24CBCC39A14B4D6F6F6E4D697373696F6E1A0029DF68581C6FDC63A1D71DC2C65502B79BAAE7FB543185702B12C3C5FB639ED737A2414C015820601D109CE8F3AE0B9111C7515D3D2C0FF5C130A287FFA8E418832157BC928B761B7FFFFFFFFE7762F7028201D8185879D8799F581CC134D839A64A5DFB9B155869EF3F34280751A622F69958BAA8FFD29C4040581C2A2DA15EDFB850666B134D13CD8EBAFD61E8A526798AC26A24CBCC394B4D6F6F6E4D697373696F6E181E0500001927101A001E84801B0000019345B0DC981A000CB46F190E6E00000000D87A80D87A80D87980FF8258390153313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D548A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3A821A03598DECA082583901DD499A49FC8868E5910F96E2C1C07D53A35FCCC82EF080EBF747EDBB6E755FB48F2FB99E49A4EB183F99E0F7FA5D05DA134A56C627EA4469821A003010B0A1581C2A2DA15EDFB850666B134D13CD8EBAFD61E8A526798AC26A24CBCC39A14B4D6F6F6E4D697373696F6E1A00023154825839012AB3D0969B59EB26A7714E88020A88EDC2FEB67A08D88CA7BDD7670930C42D71AC20DC55B22E86519C0585F230F6E6045B82833880A5C58C821A0453664CA0825839010B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA47754858DDD2795AAB89617D72D7D240ABCCD036FA4B761FA39787A3821A044E1CABA1581C1AD3767073087DF4FC97FBA7AC4A71A0A6CD556F1AD96A7B1C9870C4A1415801021A00088982031A085F8E92081A085F797C0B5820277476F4AE53BB0E2DF9D9774196C948083D4D84AB7D81BD8DF29B1197969E1A0D8182582063C5DEA8DA9F5241AC8D6359354F2B322AEA0698EBD59845D62F362D6DDDB6F6000E81581C0B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA12828258205EC56338104FCBFE32288C649D9633F0D9060ABCE8B8608B156294F0A81D29E201825820BABC647257B8D78B86E862BA9769401714ED403E7C46ED1B59C3FC32E0247C8200A70082825820FB7C5876305EF50B46DC9ED94A3172CA1BA2271A28A737D922E0D2AB487EBE450382582042CF2A6E348894EC3E7F343D20EC75567D997A63E6D5B4855A75D9FA50B70FEA000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF023A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5C01821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0013464D028201D818590107D8799F4100581CF395134E72651AE43B3DB851E87C2918FA799FC4AC14E8D60AB9E343D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A0013464D1A000DBBA01A023BB555D8799F4040FFD8799F1A023BB5551A0013464DFF1A0010C8E0D8799FD8799F581C42CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A2670315FFD8799FD8799FD8799F581C3A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5CFFFFFFFF581C42CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A26703159F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F42408258390142CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A26703153A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5C1A001E84808258390142CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A26703153A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5C1A045EA58A021A000444AD031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581C42CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A2670315581C3A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5CA40081825820FE89CB18E22995A6EBF32480C90331B583C985AACAFDDA3AAA003D01A788F81A00018282583901808222A87910162C59B973E8B52F0DE165DCB757428986832E6176774F3A586D8F2FDF05C9423712FFEB7A9E467B8168E612A5215BDD268F1A3E1BEAA88258390199769765817D817659728F1BC2B834ED14C353D9D74BD7D655CF2529E310D5E43E36FF0FA572060407CF16AD7C502B58F33E97D8D667A09F1A0AE5881B021A0002917D031A085F8769A8008282582020BCA6CB9325CAE32927661516195AB296697951B643D929FCAED575E33539E801825820EA895F251DEC99D7FF77B1344CAB5EE17AE5102834FBAE42C67E979CDECC6011000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000027863147AA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A107851C6581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016A5AE51A0007DF789FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA20058390142CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A26703153A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5C011A030D8B28825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01AB008182582088969AE4F518D4AB7488B634A542F356E41CDAD2FFCF00234623CEAF29861628020182A300583931FBA91F46FC289AD8ABE08D07488D8BB5A2C15C41D6903CE70B0DED94419971DFB46A7FA611DDF545EE84DABD741454C4837669DE8322D71801821A003567E0A1581C77019D836D9A5F1E1225AD0EA8262F99C14C89AE74A750BCE29CEE93A1581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE201028201D81859018BD8799F1A4190AB00D8799FD8799F581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE2FFD8799FD8799FD8799F581C6E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD2FFFFFFFFD8799F1A0F7314001A03473BC09F581C4523C5E21D409B81C95B45B0AEA275B8EA1406E6CAFEA5583B9F8A5F01FFD8799FD8799FD87A9F581CD064690601080228F9CBD54CA70A1590E9498C913B9FC7CBD845E888FFD8799FD8799FD8799F581C6E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD2FFFFFFFFD87B9FD8799FD8799FD8799F581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE2FFD8799FD8799FD8799F581C6E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD2FFFFFFFFFFFFFFD8799FD8799FD8799F581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE2FFD8799FD8799FD8799F581C6E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD2FFFFFFFFD87980FFFFFF825839017F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE26E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD21A89106534021A000411DE031A085F7CEC09A1581C77019D836D9A5F1E1225AD0EA8262F99C14C89AE74A750BCE29CEE93A1581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE2010B582036CF3A7DE9EF404F1447511E4D67A8BF3DB14788F4F963DB5CF14DAF94C0E0090D8182582088969AE4F518D4AB7488B634A542F356E41CDAD2FFCF00234623CEAF29861628020E81581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE210825839017F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE26E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD21A8943C425111A00061ACD1282825820132908513FF3D5A8F31919C291C38B4BD3DBE75428CF6F958CEDDC7DD5DBE86D0082582026E330110F954A2618714658C844198DF88E4FB70BF5C0D69B34FA3F71097E2400A50081825820B5613AA85645376EB9BD8097E837AA09D4579D66D3D98465346B8ED8CC6F99B7000181A2005839010EE5AC27BBF0F625C9C934A82BDB2B912E0C9181ACF44E48C1B01CFB2D967F349132749E1F37C9FC165987B6B85A2F77995AF50FDE63A31B011A8D410E6E021A00029D85031A085F9597048182018200581C2D967F349132749E1F37C9FC165987B6B85A2F77995AF50FDE63A31BA700828258204C8885FA91E50B70C47173E2B28132F2FDA6800766EFDE25D82DED383B82FE350282582025360A0598506504476D4E4D2188481E7391FB062FFBBC525A263CC91C357DC6010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02D0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C5011A0C380D40028201D818590107D8799F4100581C44187A77E753B2F3888C0C873AADE827DFE12AD926494EA011A1FDEFD8799F4040FF1A0BEBC2001A000DBBA01A0036C6E7D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A0036C6E71A0BEBC200FF1A0010C8E0D8799FD8799F581CCA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239CFFD8799FD8799FD8799F581CD0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C5FFFFFFFF581CCA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239C9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F424082583901CA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239CD0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C51A001E848082583901CA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239CD0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C51A018B6DD7021A000433D5031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581CCA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239C581CD0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C5A700848258200AE02698BE76594525522541C04EC6A5C9E7548D61EEC8390530D92A928ED14A00825820FE785A5D9D1BE6DC894D7C84536C6102A569C4D21C124EB9EC5ED609CA5E051E028258201926A3D3A62582DC643B76D472D8DFFB2C5BE10A97BD670382769F6EFD9D27060382582051623DCF32B45E62CDC0EC82BBC1463F95043D36DF5621D05EE2347DA216835E000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E107901821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A00526CEA028201D818590107D8799F4100581CAC0C28AAD35B68910DF90691DCB6819FBF17CA629D4E45E8A8BFE452D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A00526CEA1A000DBBA01A09CABF58D8799F4040FFD8799F1A09CABF581A00526CEAFF1A0010C8E0D8799FD8799F581C4E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A312FFD8799FD8799FD8799F581C787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E1079FFFFFFFF581C4E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A3129F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A00129BD8825839014E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A312787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E10791A001E8480825839014E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A312787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E10791A1E715AAA021A00045795031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581C4E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A312581C787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E1079AD008382582025F1DF3FA5B8F1BF76306408946E5497C506F96C21A63154D464C5FD1FA28F0B00825820CC33A433749B6B7737AB3493ABCCB51B8B0CDA4368A41A0E91DC6A5592B783F702825820CC33A433749B6B7737AB3493ABCCB51B8B0CDA4368A41A0E91DC6A5592B783F703018382583901C8EB8B8C95252972C9DE332F248DF19E0186A82ECA073862857AB77B8D5BBF2C20C106868553135B9EDF448FF5B8A96634B71A4B2E25E287821A001E8480A1581C5D16CC1A177B5D9BA9CFA9793B07E60F1FB70FEA1F8AEF064415D114A1434941471A6E11FE37A300583911EA07B733D932129C378AF627436E7CBC2EF0BF96E0036BB51B3BDE6B2F387F67A83B02987EC60ED765EB34AC9FD70CF6092F81A0B689CE5E01821B00000164413C1C63A2581C5D16CC1A177B5D9BA9CFA9793B07E60F1FB70FEA1F8AEF064415D114A1434941471B0000052447168BEB581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA2434D53500158207B12F25CE8D6F424E1EDBC8B61F0742FB13252605F31DC40373D6A245E8EC1D11B7FFFFD80E02CF24D028201D818587FD8799FD8799FD87A9F581C1EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44AFFFFD8799F4040FFD8799F581C5D16CC1A177B5D9BA9CFA9793B07E60F1FB70FEA1F8AEF064415D11443494147FF1B0000027F1FD30DBC1B000001643B7DD50D1B0000052440F3DDBE184B184BD8799F190682FFD87980FF825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A10599AD1021A000A1027031A085F7A3005A1581DF11EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44A000758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A085F797C0B5820B63D82CE92854B1BF4367B843D884D2A869B8D8DB8CDD1EC9FEA7D65C8BEC4880D81825820CC33A433749B6B7737AB3493ABCCB51B8B0CDA4368A41A0E91DC6A5592B783F7030E81581C5B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B10825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A0FF8DB38111A004C4B4012848258200DC17712E37A4E741767DB2F90D4FFBF69FAF88B9BED4C47864F7BD912924BEA00825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A621776008258202536194D2A976370A932174C10975493AB58FD7C16395D50E62B7C0E1949BAEA00825820D46BD227BD2CF93DEDD22AE9B6D92D30140CF0D68B756F6608E38D680C61AD1700AD0083825820544CC74A55541E9261A08127D4548BED6D7FB01621CAF6AE00448B15AA562F6701825820544CC74A55541E9261A08127D4548BED6D7FB01621CAF6AE00448B15AA562F670282582080B893B9DD9EE996E9E8EA8227195E2CB9AC6391EDEA75856DFED08B1D3566DA0001838258390191BB0D1ED367540B88E33B3C7339A440C2CA6A13C0EB306619302A8D9F8085F790FF13CF0C6DAA47E02DBD1ED6F7F1E2F6C738AA58A26B10821A001E8480A1581C766FCE8055F39D40FCFC19721677B3DEB2E7846950AE08DCE757F1E7A14A535547415220425553481931A1A300583911EA07B733D932129C378AF627436E7CBC2EF0BF96E0036BB51B3BDE6B52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C201821B00000021F5DA70B3A2581C766FCE8055F39D40FCFC19721677B3DEB2E7846950AE08DCE757F1E7A14A535547415220425553481A008D9E2B581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA2434D5350015820BC496A205E821CE1C924ECDE9ABECB84D9B4F5BE5BA7324B67835A8E82B33F9B1B7FFFFFFFC057A5A9028201D818587ED8799FD8799FD87A9F581C1EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44AFFFFD8799F4040FFD8799F581C766FCE8055F39D40FCFC19721677B3DEB2E7846950AE08DCE757F1E74A53554741522042555348FF1A3FA85A601B00000021F24450321A008D9097181E181ED8799F190682FFD87980FF825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A0E3D15C7021A000A1168031A085F7A3005A1581DF11EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44A000758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A085F797C0B5820EBF3739DD9F4A4E80F7E3867E7CF489E2902897E0745081A3B904FD16F16457A0D81825820544CC74A55541E9261A08127D4548BED6D7FB01621CAF6AE00448B15AA562F67020E81581C5B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B10825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A0DDC576F111A004C4B4012848258200DC17712E37A4E741767DB2F90D4FFBF69FAF88B9BED4C47864F7BD912924BEA00825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A621776008258202536194D2A976370A932174C10975493AB58FD7C16395D50E62B7C0E1949BAEA00825820D46BD227BD2CF93DEDD22AE9B6D92D30140CF0D68B756F6608E38D680C61AD1700AD0083825820594FFAB4ADDDA476964DBBC5A2BDAC3A7F2C01F877FD85E8E7AA3AEA8515BCCF01825820619BCA4891E1B4DBD1E065E96777D75BE1118695F29F75A963D7431CD428971702825820FDCBF935E31FDC76427963DF3FB78067A08DD0E5E35E8B3CFFAA076B68A7EA14010183825839012AB3D0969B59EB26A7714E88020A88EDC2FEB67A08D88CA7BDD7670930C42D71AC20DC55B22E86519C0585F230F6E6045B82833880A5C58C1A05287A2CA300583911EA07B733D932129C378AF627436E7CBC2EF0BF96E0036BB51B3BDE6B52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C201821A47ADC2C8A2581C2A2DA15EDFB850666B134D13CD8EBAFD61E8A526798AC26A24CBCC39A14B4D6F6F6E4D697373696F6E1A0086BF9B581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA2434D5350015820001A7051732F9073A294C1F1FCC66E4DFCD5E0CAD75E239815E6C0B7B5381D1D1B7FFFFFFFFB9B4A87028201D818587DD8799FD8799FD87A9F581C1EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44AFFFFD8799F4040FFD8799F581C2A2DA15EDFB850666B134D13CD8EBAFD61E8A526798AC26A24CBCC394B4D6F6F6E4D697373696F6EFF1A0464B5821A464A540B1A00859DC619012C19012CD8799F190682FFD87980FF825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A156FE688021A000A0593031A085F7A3005A1581DF11EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44A000758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A085F797C0B5820806A93906332CF20092B92BC1A3A2652DF6ACC0CCD2EF81C7D1CAFBC24AA1BB90D81825820619BCA4891E1B4DBD1E065E96777D75BE1118695F29F75A963D7431CD4289717020E81581C5B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B10825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A150F1C5B111A004C4B4012848258200DC17712E37A4E741767DB2F90D4FFBF69FAF88B9BED4C47864F7BD912924BEA00825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A621776008258202536194D2A976370A932174C10975493AB58FD7C16395D50E62B7C0E1949BAEA00825820D46BD227BD2CF93DEDD22AE9B6D92D30140CF0D68B756F6608E38D680C61AD1700AD00838258200217CFD0F818317879FBD91DE138F2DDFC83A928DC7E4006991B71C586D2BBA70082582042F4A536A8944BA7595326E2022AFEBE6185D94B52E88039D28FF05808C8D185028258205258E8F940ACE139E12DED485987A7267889C5D6FBA21CA10B28C684910F120002018382583901719634D64CC58BA2D359221B644152D98C77BB061BAF03A71B6E2732864FB22DA5496D2483950ECC4B7DADEBC97E84A5B9C855B1EFB7939F821A001E8480A1581C707E7BC5FF06BAEFEB5ED3678E796C9D5AA8C7A8DD12FAAB8F1469B1A14C43617264616E6F43726F636F1A000DF904A300583911EA07B733D932129C378AF627436E7CBC2EF0BF96E0036BB51B3BDE6B52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C201821AD7CD644AA2581C707E7BC5FF06BAEFEB5ED3678E796C9D5AA8C7A8DD12FAAB8F1469B1A14C43617264616E6F43726F636F1A07DBB53D581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA2434D53500158202842B9FF6D276DFCDC83F3304901C836BFB34229986C9FEBE3CE00C844DD032F1B7FFFFFFFD80417DF028201D818587CD8799FD8799FD87A9F581C1EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44AFFFFD8799F4040FFD8799F581C707E7BC5FF06BAEFEB5ED3678E796C9D5AA8C7A8DD12FAAB8F1469B14C43617264616E6F43726F636FFF1A27FBE82A1AD65341511A07D1C0D7181E181ED8799F190682FFD87980FF825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A24A9518B021A000A0B29031A085F7A3005A1581DF11EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44A000758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A085F797C0B5820DA581CC60E507AF1194446E78F4231CBC0C946A2B55B7A7ED3ED1265A75F1CCF0D8182582042F4A536A8944BA7595326E2022AFEBE6185D94B52E88039D28FF05808C8D185020E81581C5B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B10825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A24488CF4111A004C4B4012848258200DC17712E37A4E741767DB2F90D4FFBF69FAF88B9BED4C47864F7BD912924BEA00825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A621776008258202536194D2A976370A932174C10975493AB58FD7C16395D50E62B7C0E1949BAEA00825820D46BD227BD2CF93DEDD22AE9B6D92D30140CF0D68B756F6608E38D680C61AD1700A500828258206D365D517FC47593DDE490C311EC39A8B1C65BA5B65249263316118B351D63F9018258206D365D517FC47593DDE490C311EC39A8B1C65BA5B65249263316118B351D63F9020183A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4CAAE06C6939780AE48B2FDA538B46E8CE5EA097D303100A9AB1736547011A24004ACA028201D818590134D8799FD8799F581C817D2100F5352A88264CB6C0C600D9763F5D9C92ED39A4C96106C460FFD8799FD8799F581C817D2100F5352A88264CB6C0C600D9763F5D9C92ED39A4C96106C460FFD8799FD8799FD8799F581CAAE06C6939780AE48B2FDA538B46E8CE5EA097D303100A9AB1736547FFFFFFFFD87980D8799FD8799F581C817D2100F5352A88264CB6C0C600D9763F5D9C92ED39A4C96106C460FFD8799FD8799FD8799F581CAAE06C6939780AE48B2FDA538B46E8CE5EA097D303100A9AB1736547FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C5820A449F98FA06FFF1D6C17B95C65CA609660049DC683CC3E94D3846B05419FC20DFFD8799FD87A80D8799F1A23C34600FF1B0000000256A86893D87980FF1A001E804AD87A80FF82583901817D2100F5352A88264CB6C0C600D9763F5D9C92ED39A4C96106C460AAE06C6939780AE48B2FDA538B46E8CE5EA097D303100A9AB1736547821A00118F32A1581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1A066DA46482583901817D2100F5352A88264CB6C0C600D9763F5D9C92ED39A4C96106C460AAE06C6939780AE48B2FDA538B46E8CE5EA097D303100A9AB17365471A94824E1E021A0002EC11031A085FA3A50758201FEB00F18FBE772CC375AA495DA0B08D837A719671E68DA62F8ED658915D8FD1A80082825820273AF45EF67EB392597A43453BA483D2E70DB50B83F2D13F11B254633353AA390082582083959F198967CBF48504D0F9971DF48C244440051E80FA5BBC1B9CFC1E5A1D21000183A200583901CA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239CD0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C501821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A004D450BA3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B00000002844ED67AA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A102B0CBB581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016D68251A0007DF789FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FF825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165A7C021A00082A0405A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B58205328CA618708A88ED01EE7C84B2B658A2F19FB71839355AB99D510D2B8902D560D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A700858258203356B38ADD9330BCE76640EA96F4359543326C7F0A073D3110FDE4A2996D8174028258203356B38ADD9330BCE76640EA96F4359543326C7F0A073D3110FDE4A2996D817403825820C253A358490817992F1A03FB00338D35596A4E0255AFF9252854BAAE61E5F35900825820F6209961E1FB52C8EE8640C5A0FF530B9B6580A9C4475EA579E4330938B96E0403825820678757DE9221FB0DC054E8C64BC0F50DA1D47272408F3C1F49BB859A058BAE18000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02E789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BD01821A004C4B40A1581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A00221CAF028201D818590108D8799F4100581CA56DDC099E5EFABEA0FE2BBC57F604FB257A5F3E89804C1D22CFD649D8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FF1A00221CAF1A000DBBA01A09DA30B8D8799F4040FFD8799F1A09DA30B81A00221CAFFF1A0010C8E0D8799FD8799F581C34731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE6FFD8799FD8799FD8799F581CE789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BDFFFFFFFF581C34731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE69F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A001127F08258390134731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE6E789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BD1A001E84808258390134731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE6E789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BD821A00956F2CB81A581C1E76AAEC4869308EF5B61E81EBF229F2E70F75A50223DEFA087F807BA151436C61726974792044414F20546F6B656E1862581C2EAA7438C634A19BAAA1E2F0D565C5BA4B1F94C3EBC910152FDA9667A1454652454E5801581C342A2E1EEE3CC0FBD767358D46504B5B882FFEE07C139A4F755CAA41A148566970657223393101581C3570FDF07B95D8E2F0A7D37AFEC0B828FC9D4536CC31FE2464D96BECA1484C6F6C6C69707570193727581C39CD0A411FC75BD7A533C0B2B2E0BC533D65766088C450FA3B21B4F1AA476E616D6531333501486E616D653132383701486E616D653332303901486E616D653332323401486E616D653432353201486E616D653539323401486E616D653735393701486E616D653834313601486E616D653837313901486E616D653935323901581C3D2D82997FB30817D2F687A3BAF2E8DD53EED0CE92D586AB811BDEDAA14A4D56463230323430373501581C418E6E638FD8E5CF197644DB35BEAFC82D233C3F4CF194DEF33B193AA14447494C4619586A581C4CDF15D79799F8BF0F46220733548395938F0A3DCFF22072DE6A1ED4A14950414D5020424F49531A0103BEAF581C54AFC6DCAC79C201BBA970B4D3072B6B7AF7363C2E7815738AEB6935A14924636F6F6E636F696E19B68A581C5C1C91A65BEDAC56F245B8184B5820CED3D2F1540E521DC1060FA683A1454A454C4C591A00CF1AB5581C65B779F70F65393AF432C2D37BA58564EB7DCD9F1D522DCEF4E686BBB81E4B626F7973636C7562313832014B626F7973636C7562323438014B626F7973636C7562333330014B626F7973636C7562343932014B626F7973636C7562393532014C626F7973636C756231303936014C626F7973636C756231333638014C626F7973636C756231343333014C626F7973636C756231363238014C626F7973636C756231373532014C626F7973636C756231373830014C626F7973636C756231393537014C626F7973636C756232303939014C626F7973636C756232313234014C626F7973636C756232313333014C626F7973636C756232333532014C626F7973636C756232333834014C626F7973636C756232343739014C626F7973636C756232363435014C626F7973636C756232363531014C626F7973636C756232363637014C626F7973636C756232383234014C626F7973636C756232383936014C626F7973636C756232393231014C626F7973636C756233303330014C626F7973636C756233313037014C626F7973636C756233313735014C626F7973636C756233313933014C626F7973636C756233323334014C626F7973636C75623332383201581C707E7BC5FF06BAEFEB5ED3678E796C9D5AA8C7A8DD12FAAB8F1469B1A14C43617264616E6F43726F636F1A00989680581C718C383A22B0239D034A95E750FD09A5930BDDCFFC24BF5C566B1CF1A14653554D4D4F4E1B000000039EC81BF3581C766FCE8055F39D40FCFC19721677B3DEB2E7846950AE08DCE757F1E7A14A535547415220425553481A0003FB83581C7D869E0E6F936C3299A8B8DF2B8F13D5233801E11676FF06E78E8DBEA14546494748541A01AFA1E0581C8DA763CE1D6ADB725A295A7F145C32808295B542DE5062D92EFA8370A34E000DE14046726967696433363239014E000DE14046726967696435303232014E000DE1404672696769643537313701581C9ABCC0D2D498280C4D33035C66F5C6A45B5F71054AA33F38A83DDACBA14546726965731A0001A766581CA0028F350AAABE0545FDCB56B039BFB08E4BB4D8C4D7C3C7D481C235A145484F534B591A00625ACC581CAB0DEC21AA7D939AD124FFAF95FAF8ED72B1018FF72FFFD8F9974907A145474F4B455905581CB76DE2BA611586D06EFDBDFB58A31954F2B61DBCFA87E4335FEB5E28A14C4D6F6F6E204361742023343101581CC38246F6A17F2B82D25828E16C9CEA0FD466D9CA4391C360EBAB6921A15644454D554A756B65626F784D6978546170652331323301581CC4FA56752D7A65A512C6BD4EE6D6A30E75752247DC6A0512B3270687A5494D656D6F6E7333303401494D656D6F6E73393534014A4D656D6F6E7331333031014A4D656D6F6E7331333034014A4D656D6F6E733138393201581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0044278B581CF0CB81EB21545564EACF472811FC4365BDA64F000D163B94334C8363A25819000DE14044454D55566F6C31436C6173736963733030303033015819000DE14044454D55566F6C31436C617373696373303031313801581CF0FF48BBB7BBE9D59A40F1CE90E9E9D0FF5002EC48F232B49CA0FB9AA150000DE14062697777696F6E616972657301581CFC11A9EF431F81B837736BE5F53E4DA29B9469C983D07F321262CE61A1444652454E192710021A0006C8DD031A085F878C075820360DDED0DC97B71DB4F18C3DB30DC925293047F9370D96FBC2C8CF5335AF4955081A085F797C0E82581C34731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE6581CE789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BDA80082825820DCDCF0118550FD8498D2A63461B9854E6E7E2D35DDA05D6CAB4F32C3ADBD365B01825820F1C6E8C8228B2CCB12EA8CAD9F7FB34009A637E4B9BDD6DE4F416211AFA20267000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000277DAFC44A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A107D79A5581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016D68251A0007F4919FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839014E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A312787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E1079011A0CA1A0F6825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A80082825820E460BDF4DFDA96D5C15585E38EF623BE12D7FD5A2C4C9C89B3A982373E05CFC300825820EBEB3FB769997D2C5E6B9D2B794FA41688E0E052A4759ACA39FD925399D99F6B000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000041F8ADCC1A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A158206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABE1B7FFFFFFF9B6EA76F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A0AC3816C581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F9601028201D818590118D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F96FFD8799F4040FFD8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC20058206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABEFF1A0001831C18641A05F1ADC81A0010C2C49FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA20058390134731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE6E789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BD011A0D48C64C825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A0016675A021A00081D2605A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A600838258200465B6B9BAC19B5234BC80A5BA62C20048CEF7B235C6DF7276DF8023A1779C5D0282582045B1B1E60577C08CFDEABE766616EE9FAAB5E36A67FBA3B3004EFF2AE156126E0182582045B1B1E60577C08CFDEABE766616EE9FAAB5E36A67FBA3B3004EFF2AE156126E020184A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A734303078701821A003915C0A1581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B19B285028201D81859012CD8799FD8799F581C661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CFFD8799FD8799F581C661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CFFD8799FD8799FD8799F581CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A7343030787FFFFFFFFD87980D8799FD8799F581C661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CFFD8799FD8799FD8799F581CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A7343030787FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C58202FFADBB87144E875749122E0BBB9F535EEAA7F5660C6C4A91BCC4121E477F08DFFD87D9FD8799F0019B285FF1A00148A98D87980FF1A001A9140D87A80FF82583901661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A7343030787821A0011D28AA1581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1B00000002EADF738B82583901661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A73430307871A0030BFE382583901661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A7343030787821A005373BAB4581C13C8ECCAC12A9AEBB5EF950887CDEBCAC8BB29B3F798BCEDC31B55E5A14A4356463952303135393601581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B19B285581C5D16CC1A177B5D9BA9CFA9793B07E60F1FB70FEA1F8AEF064415D114A1434941471A916048C7581C7AD9D1DDB00ADEE7939F8027E5258A561878FFF8761993AFB311E56FA14C4F5353445245414D4C4F464904581C8E51398904A5D3FC129FBF4F1589701DE23C7824D5C90FDB9490E15AA147434841524C49331A2540BE40581C8FEF2D34078659493CE161A6C7FBA4B56AFEFA8535296A5743F69587A144414144411A11B13220581C9A9693A9A37912A5097918F97918D15240C92AB729A0B7C4AA144D77A14653554E4441451B0000000828FED248581CA3914CB7A564D010C7B67774AC8720A8ECE3A758279B51D8A1C05CC5A1495745444E45534441591864581CA8102151506A8A81DC1763EE05CDD01D787F50DFEB6F843071E1C6A0A144484F57491A02FAF080581CA89568BB399D0CDC38367E47831C95186F5C79E58174E08A18232396A14A4554424643546F6B656E1A0CD27826581CAA036F84174000B81A71131007E45EE44C2D78159A55D19C514A77AFA1444D4E4D4C1A7D2B7500581CAA2797739E4F4A1EFD5346998FEBFF59909E425B5FDDB1B0EC4A24F8A1454C6F6F6B7A1821581CAB3E31C490D248C592D5BB495823A45FD10F9C8E4F561F13551803FBA1581E43617264616E6F20436F6D6D756E697479204368617269747920436F696E1936B0581CAD1C1ED3A0BB6F83630EF052A31B71BA3287BF4BAFA8370758F14D31A1445349434B1A00360420581CAEA1CEB3625680E2F7A31EA1A64C9C430C34D8588BF4F8E3C7F9B1DDA146476F746368691A1DCD6500581CAF2E27F580F7F08E93190A81F72462F153026D06450924726645891BA144445249501A0D0A318D581CB6A7467EA1DEB012808EF4E87B5FF371E85F7142D7B356A40D9B42A0A1581E436F726E75636F70696173205B76696120436861696E506F72742E696F5D1B0000000A9A0B6BCA581CC09417D9895E37894AFCC09896CE4055D3881399A251AB7687F244C1A14A434242444F303339323301581CC881C20E49DBACA3FF6CEF365969354150983230C39520B917F5CF7CA1444E696B651964BE581CDA8C30857834C6AE7203935B89278C532B3995245295456F993E1D24A1424C511A0E5BE2A6021A0003A451031A085FA3A307582027FB3078E0CEA3E1AD4DBF1603E6854077E88ED8DDF176CE1D4AD531BF29D4251281825820926C7E1AB446A8ECEDF3E5904CA22CC172089FC3A2A81FB51EE67021724BE13000A7008182582002A104651B74E493EED82F10C306A9A84F5D20AE8CDB761DC9D882D1D9354D52030184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF0216CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FE011A0C380D40028201D818590107D8799F4100581C11554723BFE36C3F10FADF9C4CE4A3EF02B9CB361696D53DE5194ECCD8799F4040FF1A0BEBC2001A000DBBA01A0043A489D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A0043A4891A0BEBC200FF1A0010C8E0D8799FD8799F581CB023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71EFFD8799FD8799FD8799F581C16CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FEFFFFFFFF581CB023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71E9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A00124F8082583901B023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71E16CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FE1A001E848082583901B023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71E16CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FE1A0CF5D0AA021A0004219D031A085F878C075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F797C0E82581CB023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71E581C16CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FEA80082825820A44D19D043BEF7BF692C061867BD399A72A1112ABBC719F6C58E2F33FF901E2E00825820BE67B99D0FAF768FBA453E420E78097AAD97510F670F4B03B5AC4D188085DFAA000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000283C6BE44A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A10300BFE581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A017075651A0007F4919FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901B023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71E16CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FE01821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A004D6DA7825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165F46021A0008253A05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A70081825820D6F17200A9AA161E14F42A55BDCCBB86EA684FD4A3800589B9472DC8A24212DC000184A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4C6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A4011A0632EA00028201D818590130D8799FD8799F581C3D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEEFFD8799FD8799F581C3D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEEFFD8799FD8799FD8799F581C6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A4FFFFFFFFD87980D8799FD8799F581C3D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEEFFD8799FD8799FD8799F581C6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A4FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C58202842B9FF6D276DFCDC83F3304901C836BFB34229986C9FEBE3CE00C844DD032FFFD8799FD87A80D8799F1A05F5E100FF1A0035A841D87980FF1A001E8480D87A80FF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A0010C8E0825839013D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEE6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A41A001E8480825839013D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEE6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A41A104A073E021A0004358D031A085F878C0758202DC628086810B33C5D41765F60916E10DD75A406A4F57DB79F2F4C038CB9A95F081A085F797C0E82581C3D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEE581C6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A4A70082825820A897107AB1D3C729DA6AF288E8675826B63F43839EF776DCD76D5F5B94503DA7028258206165E353B3301641E199BC107F58A9250AD8B53C04B8B9AF8F77CB27C5B8D0AA030184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF024F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975E011A122DEE40028201D818590107D8799F4100581C272FA5AAF16F51CE8F8955616766B0160B5183871191EF17A4827F45D8799F4040FF1A11E1A3001A000DBBA01A005189CAD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A005189CA1A11E1A300FF1A0010C8E0D8799FD8799F581C2D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD6FFD8799FD8799FD8799F581C4F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975EFFFFFFFF581C2D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD69F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F4240825839012D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD64F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975E1A001E8480825839012D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD64F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975E1A56620B4C021A000433D5031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581C2D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD6581C4F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975EA8008282582079B4457CE508610648BDC3D803F73CC40071ECE0C421B617BE13BA3578B149E100825820E09A48E32E57FF55FAE896952D1B9F8D68260E1A5AD036B32B5D3200CA89DD1E000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000295A86144A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0FC11D6A581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A017509451A0007F4919FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839012D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD64F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975E01821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A006EEE94825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165F46021A0008253A05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A70082825820E2F6695A870C327DDDD30A45D7A52278D15C635B56BACF77D517F7B1972E080802825820EF564139A00FF5C68964777A6D747851E2E045E4DE403E9695A313720F4932C7010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB37011A0C380D40028201D818590108D8799F4100581C852AA9A2BA17CF0782197F60279120C64542C2B3552BB6D740C5BF43D8799F4040FF1A0BEBC2001A000DBBA01A001C3FC9D8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F1A001C3FC91A0BEBC200FF1A0010C8E0D8799FD8799F581C7FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FAFFD8799FD8799FD8799F581C009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB37FFFFFFFF581C7FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FA9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A00124F80825839017FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FA009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB371A001E8480825839017FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FA009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB371A012D9FFE021A0004342D031A085F878C0758202DC628086810B33C5D41765F60916E10DD75A406A4F57DB79F2F4C038CB9A95F081A085F797C0E82581C7FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FA581C009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB37A50082825820A25DC84FEF89097EBC7D9553CFDAB99E79C256C73AE5222133999CD51458938600825820BD6D9BF2CE16C7A1DCC1145B7E790EA0D236EEC13D911CD19FF4BE6C425DFA9E000181A200581D61A3D8B633B6FD01D5390F65E1A183C3B02E658ED3AA0E46075B6669F8011A2CB1739F021A0002A3E1031A085F957B075820ED054602D374FAB56E97EE20647FBCBDDD0B35D09404453D038800A0EBB89EC2A800828258205BDFE2AB6762139EE6DD43E3BBF9DFA7E41CA82B6A15268709AB17206EAB1796008258206EEF68172966518B2912F4C0A9F7C001C7BD149D574B44FC848835F4A61FDE19000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000042B769EC1A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A158206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABE1B7FFFFFFF9B6EA76F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A0AA50DAD581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F9601028201D818590118D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F96FFD8799F4040FFD8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC20058206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABEFF1A0001831C18641A05F4BB081A0010C2C49FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839017FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FA009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB3701821A002DC6C0A1581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A001E73BF825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165EC2021A000825BE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A7008382582024F1CBFC6AFDD4EDBF5648B4DE208CAE484BA84D2DDEFEA8DDE3AD458FBDDB260282582032F5684F4DF6A33F26FF4F223871E1570C7F9AD8F1D087444127B566761F2D47008258200EE7E6ACFAA31243C692BC8FB70D24EA109E9839709513890C403D33EB59CD5C010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02A8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC54288501821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A005558E6028201D818590107D8799F4100581C2F22F3AC096405717B2E48E443C0931F9AE1DBD7F41FE3A49AB8D186D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A005558E61A000DBBA01A0955B7A9D8799F4040FFD8799F1A0955B7A91A005558E6FF1A0010C8E0D8799FD8799F581C18280E6C0960465046A3799E0392F78671241369D4CF6F491757C69BFFD8799FD8799FD8799F581CA8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC542885FFFFFFFF581C18280E6C0960465046A3799E0392F78671241369D4CF6F491757C69B9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A0012871F8258390118280E6C0960465046A3799E0392F78671241369D4CF6F491757C69BA8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC5428851A001E84808258390118280E6C0960465046A3799E0392F78671241369D4CF6F491757C69BA8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC5428851A03D3C77D021A00044B35031A085F878C075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F797C0E82581C18280E6C0960465046A3799E0392F78671241369D4CF6F491757C69B581CA8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC542885A5008182582008A3D4C77CD3F3A6BC272B5C651B29F2EF481A9D023F627501C294ADE879B74E01018282581D614543A6BFDD053B7CDF0F14935BCDF5C3D2155FA32963E175B75F07B01A97FDE980825839013EF8D2D7CAB1F07EDD0E6334966453652835614A8F7F78B6F2057CEE3A562FE5D2D4818C4A15E992395908CDFE115DEDBA86A1B4AEA98B751AC574A94E021A00028D05031A085FA3980800A8008282582057E68FB8ABA0FB4D2FC6864571F78646E5AF53D03F254207BB05DFDD470B9EB200825820BB7D896F4B8A77E4C43AF4C72954C92F1EDCEEFFB6D401A97545CB7B31FD2475000183A20058390118280E6C0960465046A3799E0392F78671241369D4CF6F491757C69BA8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC542885011A0DC09F13A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B00000002881588F1A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A10167650581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A017509451A00080A6A9FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FF825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001662E8021A0008219805A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B58205328CA618708A88ED01EE7C84B2B658A2F19FB71839355AB99D510D2B8902D560D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A40083825820163E15A86FA056314E4B31E10C278E0DCB82D6BE8A01C1C3AB8EDB9FCC287E300182582018BCD23C45FD54E393AAA5F48B20979A61AD4ABB39005843C6D50B8FB484FAE31682582068B1BBA6E187A780F76C599287319D0668568EEBBB733B1D383A808AEEA2119501018282581D61DFED54134F0BD699740063C7C32877C3919664817D3B5F4FA567EFBB1B000000028FA6AE00825839018145F2D81E8516B61FB376B967CABC55F7B246E61F77B98C0E9C121342D54B4A29D0B12EEF47AEE2922A356A9F0DDAFA7F6B2623F535DEB01A2FB3EADC021A0002AB19031A085F959DA7008282582061AA843AF68E842A7AF6746295A6D9BEF29D5B09C107432EACA25AEC58AD8290008258204ED82AE9FAB23DC35CB4BB3B77E42343B4CE69E8276F2FDF69106579722324ED000184A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4C7ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68F011A0337F980028201D81859012CD8799FD8799F581CF80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC4FFD8799FD8799F581CF80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC4FFD8799FD8799FD8799F581C7ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68FFFFFFFFFD87980D8799FD8799F581CF80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC4FFD8799FD8799FD8799F581C7ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68FFFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C58202842B9FF6D276DFCDC83F3304901C836BFB34229986C9FEBE3CE00C844DD032FFFD8799FD87A80D8799F1A02FAF080FF01D87980FF1A001E8480D87A80FF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A0010059082583901F80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC47ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68F1A001E848082583901F80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC47ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68F1A02E82BF4021A00043AB5031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581CF80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC4581C7ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68FA50082825820C8DDF4E4880BEB37D0EFB0FB1130129DFE9A5C814A29953EBA3740B475A3A23D01825820D6E8C1A71B6B00B8B757ADC6276BA99E5FC84DED904A3E9014CB5FB5034BA71A010182A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4C1CB9529E2C2684CAB69B37963F2047C28A7E7E8039155B145050C96D011A01D905C0028201D818590130D8799FD8799F581C6962AE7F8BC91EAFD1F297EBE16E10C20604B5ED0B6D48FB2E5DEE91FFD8799FD8799F581C6962AE7F8BC91EAFD1F297EBE16E10C20604B5ED0B6D48FB2E5DEE91FFD8799FD8799FD8799F581C1CB9529E2C2684CAB69B37963F2047C28A7E7E8039155B145050C96DFFFFFFFFD87980D8799FD8799F581C6962AE7F8BC91EAFD1F297EBE16E10C20604B5ED0B6D48FB2E5DEE91FFD8799FD8799FD8799F581C1CB9529E2C2684CAB69B37963F2047C28A7E7E8039155B145050C96DFFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C582047A029093956CD15A82720086DD8952A51DEBD848B30192364266D0A8D5ED256FFD8799FD87A80D8799F1A019BFCC0FF1A016FED5BD87980FF1A001E8480D87A80FF825839016962AE7F8BC91EAFD1F297EBE16E10C20604B5ED0B6D48FB2E5DEE911CB9529E2C2684CAB69B37963F2047C28A7E7E8039155B145050C96D1A008A6031021A0002D8FD031A085FA3B60758201FEB00F18FBE772CC375AA495DA0B08D837A719671E68DA62F8ED658915D8FD1A3008282582009D9299DCDC6D9877756C1D6708AFA7657A73DBC30E9276DF777B51CC1DE7BF40182582053FB44244B28074EA85595C9DE7CD1733972E3B8570B706733216D206C7CA587060182A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF020216FF41636388CDE65713307F39657B43C975862E269B9EBD58F5DA01821A003567E0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A002507E6028201D818590105D8798C4100581C2D3C83988E9C80125AB793EAA7C10C93EB5AD2B3AA4B86A5C77FAF65D87982581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F4745521A002507E61A000DBBA01A0530822ED879824040D879821B000CBEE0B17F90EA1B00005AF3107A40001A0010C8E0D87982D87981581CB93F08DD56E99DF0D2A5BC1B7B91E202CDA959114AA9F435C5852739D87981D87981D87981581C0216FF41636388CDE65713307F39657B43C975862E269B9EBD58F5DA581CB93F08DD56E99DF0D2A5BC1B7B91E202CDA959114AA9F435C585273981581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B282583901B93F08DD56E99DF0D2A5BC1B7B91E202CDA959114AA9F435C58527390216FF41636388CDE65713307F39657B43C975862E269B9EBD58F5DA1A072AC8A4021A0002CDA5A80082825820347177174B3A96A9452BF43E7136985D8B328E7158C0A6CB1A59C5CC56D2FF9E0182582057DFC03A779D126C1A052A8C0EB648405358080ECE62354654DCBEB6F6C0372B000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B00000002825E2DC1A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A103B7E36581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A017509451A000813E49FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901B93F08DD56E99DF0D2A5BC1B7B91E202CDA959114AA9F435C58527390216FF41636388CDE65713307F39657B43C975862E269B9EBD58F5DA011A05CE3E90825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A50081825820F1A9294FB774185DE1C8D24582CFEFFB0A088C3144FD97E0D60BE0463FBB35060001818258390169A8FC95CA542203705230F12EA09B72D40278927AEAAA01AAE8A1A25D9A925388FAB5F3790DCF70299674A61CA711364E821CE6046DC0201A2A7827E9021A0002A305031A085F959F048183028200581C5D9A925388FAB5F3790DCF70299674A61CA711364E821CE6046DC020581C2A8294AD7538B15353B9FFD81E26DAFE846FFC3F6B9E331D4C1DC030A700828258209124BC21B183D96834E743088CB49BBC969F5AEE1C66D963134A5CA65F4CD5FE02825820BD873314962703858D28C91E3D9378DE88004390AE2D5AC8B85C07BC48E6A280000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF023165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F31011A06422C40028201D818590107D8799F4100581C3D68802D361E861B0807ACF4BF0F5280136FBBEB1AEDC0E9490EA371D8799F4040FF1A05F5E1001A000DBBA01A001D5B79D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A001D5B791A05F5E100FF1A0010C8E0D8799FD8799F581CA2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318FFFD8799FD8799FD8799F581C3165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F31FFFFFFFF581CA2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318F9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A0010C8E082583901A2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318F3165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F311A001E848082583901A2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318F3165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F311A14730510021A00042DFD031A085F878C075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F797C0E82581CA2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318F581C3165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F31A800828258206B9C867E158C6A4B1B7D88548B60EB90AC9421F9B1EAB397D89A851D96640C2700825820E04E1C609A5BD89C46E86665122CB623C27714052C00483AC101B884513B38BF000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000288540EC1A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A1015A7FA581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01768FE51A000813E49FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901A2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318F3165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F3101821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0025D63C825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165F46021A0008253A05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A40081825820B1F14E8313F0F0BB5ABEAE7F07CFFA73E1F2505FA2BBB27C31307614EDCC22D70001818258390152367EBD7B91BB572A3A395EC0801B7591362E9C72A73415BC6F3F4452367EBD7B91BB572A3A395EC0801B7591362E9C72A73415BC6F3F441B00000017B9A7DEFF021A00028701031A086205FCA500818258200E94D9901370D73876A2E9EF972164E33C7CE771C8DAADE6A0D002ADF6068A4801018282583901C91A4FFCC25A102B1DD124BB6AB90B132701CFC0EE622444F89320F45E22A393721A520214870B8FB3C31AF32EF374FBADC0F3128319D1E41AD98A4CA282583901CDC8C4CC51F4F0497AD487DB4B4E6335AB8AB1369B836DE6FB1AC83086C4E5D8A62F00752461DB30007A5CFD7ECEC2448F6D3B42AD6A6D9A1B00000001715A695E021A000295C9031A085F94E8081A07113A46A70081825820374CE8C089D1BE4D828F97B17BAFF507D9FB7BBA83BCACF17238915A82EB9ECE000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF028872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD011011A1FE373C0028201D818590108D8799F4100581C68FC173D86CDDF0A6A97881741518E090BC58D4844B5C5B2D1AAE45DD8799F4040FF1A1F9728801A000DBBA01A003A0E36D8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F1A003A0E361A1F972880FF1A0010C8E0D8799FD8799F581C13CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF574591261FFD8799FD8799FD8799F581C8872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD011FFFFFFFF581C13CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF5745912619F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A001758908258390113CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF5745912618872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD0111A001E84808258390113CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF5745912618872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD0111A00124C3B021A000421F5031A085F878C075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F797C0E82581C13CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF574591261581C8872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD011A8008282582021C6DEFD0651B3BACB01C95153119A4C79EFA9BE441C1E75921A89C93AAE18D300825820DA743D224DCEE321F5197A2109DDDE65A092D93C0C10379DB1B31C2F40C7A37A000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000044B0DC741A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A158206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABE1B7FFFFFFF9B6EA76F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A0A578B53581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F9601028201D818590118D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F96FFD8799F4040FFD8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC20058206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABEFF1A0001831C18641A05FCD1581A0010C2C49FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA20058390113CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF5745912618872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD01101821A002DC6C0A1581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A004D825A825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165EC2021A000825BE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01FF9FA100818258209F8F64F1F0E7034068C87013B6CE2CA259784BDB78FB67AB4E669312DFB838F05840AA02B787F0F7CCF7D5755B4C907B07AE45FB9E1CBE123A42927ED6AD828258DCBDE661F55753C098DA6775723C99735B4D2410EF06BB142B30C6D6FB7D8AFB0FA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840A99A2E3157B4A625B02838B40F50E9DA3E29FBF7CD8C186D77B2211DF3252337BD7F67012AC072D72112B1AF98EBF7ED5AB83D01F490B843F2082B4C53DD52090583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A100818258208F1A51998FA93E92F5393287FAE78D7DA652F4B2CC9E305104C092931BAE5EBC5840A2168341503AE198397D2496DB8B3B84C92D15F99853B59B70C24D90C3EE0C212C20CA9D5C95CE710D3443DFB0EAF2B758FC6C9E83003ADBBFFC6D1F4F47360AA100818258201D7BA81FE69574AF8B81BE6142234B6522504DA26610C0C6258B5FD6E2D1E20058400367E4F52AD06432F471559E0BB39E66CEB86397F8D78BB65CF00EBAAEBEC44B6046997B4EA6A89E399607A5F8C738E6C00AFA6EDEE32E209414F91728B7500DA10083825820955F56DC3B08BE689BBCBD74CCDA2AD3118ADD5607B8F768385EA10D1763C05C5840D5FB48A69E72E829E3827294E4ED47705FE7EFF29FFB7A1ED9CE3D255513506138C87F7F89D2BDA81DC0A779615581DDE33490F1059FB6B8C2E20EB1133AAF0C825820393B3D3CAB6BE0897CBC87143CC3A24825DC1D8249DF4D37969502931CF856FF584091D6D119C5885BE117EBAD112E0DDE7F27354C1D9FCB1F8A5C55E8DDD278F72796173A6CBBFAB26DFDC04980224024CAF9094A10C9BF84BC7D8B853291381C058258206687A36F0A4B8ABF2671F8AFFB7FEBEB8940E9EE83548D2A2924DBC74679C4665840F832FDA550769A921EFBECD13E8E838B32DE23F0290979A816CAF0E2742ED7B709210AD674800B2CA9168EC16E1F4E99486588DA06D80F81B6F5747DC131BF01A10081825820815815EA0FE673B3D2C32EDB3011037C49E46062C063AEEDF2A20BA89EEBA65B5840947FBEFD1A7EF0A3E701375A28CDCE6288FE0BA763B59EF1FC746AEBACFBE8BB58AAAC41ADC0D94C9C0ED98CA0D3158EEECC644FCA858763F7CB86795989FC01A1008282582071D3A3124C651FC1F831826AEB5C215CE7061C005ED14E5CFB8C0911DAB2955C5840781BE6D5915EDF33F8E8B3E94EFAE1B3255F9CEF84E925D77E521098BFC5843D83D320C129E09BE069F2655CD81122665A57BAB240CDB51814455CC0713532048258209F87197DD47F5D8D7BFE01A3D78ABF7D96CDF4B39CB88F269C7735B5FCE9165B58401417D596B7019F6F423A53A44AC1EBA7A7CE09BAF59F41FACBD0A801F13CA51DFBE6EB54C885850340E288C9E2F41AC5C691E5F7D391FDA7A2B2EC8ED823DD0AA10081825820399277DC13E700E9AF32DACA420CB21AB95ACBA0F3C862C6EAEC61EAFF1CCDE8584059FA2503EF1D6AC895B924A9470538AFA4B42CE6B68F16691CD532C8EBD626506716DCEB12758D458CF5ED303C643DED76D4BBAC030B3451210775B21B690D0FA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58405B0BC17FDC4CFFCE6E64C97D82058A4704B4FB3118A45CC69A150E068536687590C66F524E56B401A7C79744ABF92E89402E2C1A02B4A9FAB0A299FC8BC6460C0583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A10081825820C6987DDD7BFC4BCBDD8335363BB33D80F2BBECEE13A2557BA9FFC061FA73C55F58402AA0AF3A9E9F1BE06D2ABFE0C8170ADC65850788246D2D8B7F8BEB13A5F7152E7ED6C02ED0B95D3E68050B1868D3CCE07C4C181E7C4EB30D3FBD5C09D645DF0EA100828258202DECD7E52458014264CB7C336E08824E1BDC31333AEAEB94A9A8FA7F1CAF6A2758401DCE49F08E808B0910C184F23A4DB631C0055F059F48F6FEA8A508484C6E53EA5C67A3A3790B73F6C676BFDC72A1174180A1313C7794E140630583A9B77EAC09825820C4781D01CB1D80D22F023516898B7C5267D26EA391421782FF7BD05ED9833B925840A5859D6E14BE5E48C47304DE1E350B14470466FF30D3A2CEC9B58601657C4452C3AC231E5E1D534EDF7E04921F9D09A4469499E1DDEC5F7A25A541DEFC11B309A10082825820738DE2D1FA0DCEE44BC9C11AFDE6D0EB35CA5E10287B741FBE023FE0982DFBEC58402B2E8FA70246C55A094371E25B8D79399A9A06059A24AAF328A9BB58E4803597C04AC9A2814E880D58E01057423AB1A7CB1E11FA1CA519F29DDE0E98F03DD909825820F1AB6922DAD5CF7C82C9D719822B77FFC5E5A197A5C955A3B6F24764268F8E485840813305D9CF066EAEDC7EE9C05ED13357F4A4FF3187B9864BF8C0182631A3551527000D898EBE99F1E121A876227B0BAC51AD80A3F89BCEDC577868348C6E330EA10082825820A76F63025B79286AC1F204110624B61907A81551D9407BD61ECAB40E2A8A1E5D58407B1B97022397F89C97D2847F60006C44E420B65096EA7BAB7C2BB48CD9672653557AC4455F6CA2D6862E076AF18F65E3A774574041D27749CC9442702BB7150F82582042751CE77C50CD63E1260829AD72825CA4E568677793A1014FA03E4C2A4653F758408C20C29D8A9134C749D193988804D131B6ECFB20ECCAAB3FFF8A0F2E0D006995370EEA7F033C6AD3DE88F154A7B64B58C0C5CA0115264A9792294E257E6D9703A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58407972C257B45DD0B3C5C67DCC06932BC5C41AD245E551CE1F5289487CD40AC08AD0E0C6B2B8C16A8886185C8B81EEFE39F23D8E7E44660B532B6F04015C522A000583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58402718BDCE42C7ABBD1A9DF4435A6C33F0CC0EB92539F3A8044677FB6C410988436EFA6ED68DF9855D3E3B689A68BCDB322E5CF4592CF62D9C5B18A038EB9815040583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A100818258204CF309F46BDC75742BD29058627C0F289A38B7882EDE52D9993C228B7C1052AB5840F8870B82415FF72E62A7C1A9D8E324C4C7C4E0718AE162776069ACDFE615EFE03CC871C54A73421DB95964545E86DF84F1489E1A0CED3BA38EB94B55DECD040EA100828258206309EAA6D223A3BE647DEFB9FD6302544015EEEF43A34D53FD3D1F87534A81585840BBA4A63CA7499D5D4A7C6D5953B35F4EC01C317FC47D3E37158CEFA272FBB4226FBAAD45278920A352DD9BE8E91ACB0C7DCC6E3077C97D8EFBD08A2F4797030882582004866F005D66CB0EB0ABC69F00B8CDBBCA99869D685A5869EE430096E9666F855840B083D9E7B46D8B8D60BD9D4085CF64D7F1C447409FE90828FD3F1A0D0EE10CA52C107894C2E2DEDA42CEBE417D4EA3BD5CBD41AD50FF9CCD5DFB291F229A9306A1008182582039A353FECEE6D749A21A6470EB52504AFA2A5FD8846366CA091CB29F5AE58A8E584001B0580CBBD618134E5E29CA7AAFBCE2EE49F7264B7B458A1A863ADFDCEDE4C12F10408F44BE492614E67F22D4A425AC88FF0997CB130316E0EA692E0D5A9805A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840151F6F913A750F461D1DDB6E90D27349E7211BBBF727A707166A06E8DEE5F2E8A588DF6364F29CE0E4411DA1DD72D1A198989D9C138DEFBCAD0EB42033A562080583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A20082825820F44CE6186D190F8776FD871D753DF7AE503972E4793A2360A423D2F96021E60158406B01C2C8C105CF991226675EA0887EAD70355E3FFA064D1E312EC156E68E9D4F5A9E0FEE00F20FC3D6530BBE54EC32874A5B476264AA483E2C1ED8E4FC35AF0782582063179F731829D60AADE12A1398C07B7A905CC38E7D9901850C9B186946F5CA3E5840C03443AD9608DC2FCA25F3672C201A25F3AF85CE811A5B231BDD027386349297527073568ABF82900784857BF53B7FDA62FDFDF786402E3AFBBBB82B84EF3B0705828400021A002DC6C0821A002217E51A2B9EDFCE840000D8798082199EA41A00E756DAA10082825820C74BE6B7EDD76940CE5426D9FE9731C5F1C4041C45DCB27BBF5CDBA578FFFDCB5840EE31123481F5312AAC69426245C757285F89C7BEE3D99304F49074E5CF5FC4D0D59A92424E027F4D6DAB8CDE2F100019DECDEED4500BB979FB54B877A6358A04825820BE211A8E32A0022F48A32CFC59C2BC24E7A20D764CFCF7618021B81EE3D8B38B5840451D4E046802AA1AE453F75D8C3F643D49A891E4B42D57914D5CBE5D80B378F86D10F32D5F2086D0994EA3B4BEEDEBEE0D80776EAD09B445C574EF2FA2C38706A10082825820DE3BD9C9D3320DB306A62310FC8F69BFB86B9D53D106CF9B3656A84B9FA1DC4A5840800F92E176232B97DEDF1D1D042436934C46230F566A4677A688048A05E1B1BDC535E9F77DC9CD8853D4CF6903B8E457C3E49C9DB3924AEA777E4376382F8000825820413B3A93AC170761CF8AA95E3418455534ED7D4B12F2267209BA93E8BFE7E8355840899C9774278E3624090C0EB0F1306248237DC5DCCE9ACA0707EBD90BB7FC9C14779076A417788F258E881507B615105A82787A2D4C79E274CC3C41CC86ADB902A10081825820600CBD1376A3F740A47C599B1F69EB6D43D10E0C19057142EB20439BF7BE4204584092DE4BF732DBDE20CDF841D03C4265C6C7D908DE4AF669B34C576F5E7617798D62AB92294E9CA775CA5977819675D4A45A851344D867D937665D14E8D968E70AA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF584053DFC3D0D720890FEDD48C5EF30662C3C6DB8CF7D1B64313C5DAAEC546009E63E66F49C78D3BCF11E6B8EE6516D2EF37DF63CB26679DE307B587FE5ED1369B080583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A2008182582014585DA9857B30CF57EDCCAC19D3012B602BB5650C7726A5F1504D9614D205225840AB23D06AACE9255048DA945FD256BBD102BEC6D0309608750D77BF12B1A24676F094350DBB7F7E38A2F8ADBB98284A792A8B4D9DD201C6F49BC52811C5A00E0F0583840000D879830000D87980821A000864701A0D1CEF00840002D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840E4C7C5125B7A0405344E9C3D9B2503AB62CA77C4BC96E65AD43195B797475500023F919566997F362A6CB27EB586E3744A8C59CBEB41BC25636B55C6EF58150A0583840000D87A80821A000186A01A01C9C380840001D879820201821A000AE8F81A10B0760084030080821A000668A01A09896800A10081825820773327C34A7EBB89967B0B0C1484049B378D7982E3585544BA866735FD20441D58407C45F6A57ECD5CCCEBDF268C89A6332543E9534F6AA0125871C7A3F090DC62567A42C8247B75BDA225F1F75E83C555275A10B9C5F583AFEC437AA952A37EC00CA200818258202D5301EF3B14E588DCFC5AAC6D6710934FC03FAF667024F5AAB7A12D49FCF3335840941B137DCC37550614A2CA8895B45B7BA15B60123CC6DBA2685BF83C2A021E5C38EB05957DA0576C6AFE6129CB6722CB7A1004BC9BC0E7CDF816441C178DA9090581840000D87B9F040001D8799FD8799F581C0174015D15D6EB735DEB99CEB57B785A5468DFF51B624A8E4C97EEC1FFD8799FD8799FD8799F581C30B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1EFFFFFFFFFF821A000BC6D81A0FF5C629A10081825820E293BB22189DFA6F7898EE8BEEDB99DFB5D77C192384EF8E4778CACC6175A7545840CE1E6BA253ABA22BC5DC02BA65C02115331C729D6A4C3B7D4CD9D42543997FDD71D964F68DB5A5B05D19527CC6B8FD4E5C8C93094643E8D61BD88AA649DE4E07A1008282582069EAA70466EAAB21A423923CF81C0AAF62FA637D87993D860D53688C8B0B57625840D87C3B436174C36D4232FDBF0F9E8A954DB08B4597AE08EB9DC71B0BEA4AC40546DEBD366C2A112D5294AC0A681A5EF75592621499001978C9D5D5CBADB2030182582067C6C8552701D87DB93CA124E516A8852C58EC62BCFFE586F44F83B4E74D76305840A3FA411F485C88A3A3B4E98108BDC8894A2B72426677600381AB99D8299303C9F1465FDAFC76C0F6119403C2DFDD37AC8D904C814411B656F6B1CB41D659C50AA10081825820CD12AFFBD786770D97298D0C026DDABE27D2938A0DEBACA3CF0F1988D65715EF5840278C7ABFD5CA9481FCA29E391E2A3D7BF25B9FFF4413DEF1A361A31A7B375AC7FEB95A79A4E9654D783C56536F706F864D53DC35F53E9120B6DDA56A25B5EC07A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58405260F50656D4830E4AA4ABF738225AF46456E3D5ACCB55A6EB32BF6CA71C389FC32FF6A7C75C9228570BF13D1A6C495DA58DDB37F7AE59865F39FCA96C29FF080583840000D87A80821A000186A01A01C9C380840001D879820201821A000AE8F81A10B0760084030080821A000668A01A09896800A100818258206014EE99020FD2C4AFE87D9956AAC4C470931BAC517E8DDE5A738B5A5CA9FF0E5840B8C45D98922D0808AB5305F3936C39E7B856B8B81EFED4BF1DD6CD7C9BF3919D6414BE1A3B1FD2F2DC316008D51D559B83ACF63D63FBC90EBFC65534093C4509A1008282582025BCA7262B238BE0D174C040F51442693FCB0D62898B78C997787C3B57C103DA5840F4C0F8679D2CE4CA4AF2C924D5F53F27942E4F021FC0B6F4DF29E2A8F52A7E412004CB9DF33652B5768FD24A5B810F62F555738BE63FCF0BB4986C2CB403DF068258209C327E722B165CEBFE6635ED5EF55FD4737D5B71D5617EB323D6B728774CBBB758407F003307B8D84C8341901116DA6D2352D3B81651B48CD3784F2B4E3C198307FDA11D7651769416BBC9A4E99FD122AF609B825FEFCF2D84C0173EDBBC4CF2070BA100838258203E5E0A1FB6EB9F9F525AC5AA8869E2B34566CA0B2C0F74821C8A9EFE8E44368B5840266FDD725C7FC943783BAA6DADD20CD32D156B8BB62DD62C6A728A5599FC8EDF1749A981158C9DA58C0818F88D054E1EB72F3109330CDBE3CA0AC4BE46B84700825820C74BE6B7EDD76940CE5426D9FE9731C5F1C4041C45DCB27BBF5CDBA578FFFDCB58403928E748EA8805F6882CADF71FD2E109ACF15EBE8E1EEB44DB5A79C982B6B81679E508B87C40C8C55635DFA4895EDA6EAB27540A43FA8B2FADEC92CAD086F909825820BE211A8E32A0022F48A32CFC59C2BC24E7A20D764CFCF7618021B81EE3D8B38B5840B0804A1CE8109C1847E5D4AD7C788A911BF97CE8F4EE16A245E49CACE084BB67CFCBFD8CD2E385A5B2C506F32A186B8C34A5709EDA3D4CF5C0C322302B31AC05A100828258209E2F915861437C29468D8067BE2EEA243BB3CB5D5DF145CDA48184DFAAFC8E185840E43CFFBE8F7A354DD61672EE081D262A4F4E9B86CF040A0E8ACCE436E7E205A7BAB4848F7501844979C7E5D94116EFAA85C0F2FDB3AD46329FE1D8CAC393E00C8258207209EA1897B4520C1732D70CEC81708062B2817FFEF8003431FC4E65335EC7255840B9E3104A992CFA40A174F0F7273449CCEE0EA84C81995C95222C9B8CFD3537D66ED51737179E1D436797AA4AE8F819384903C57F0B70C762C7E05DF5F302520BA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840150E7F37553DD61797F5E6E66B6B32C4E810AC8EE791F5BC4EDCAC9504D76013474B7E322F7DEA1A7159A9345465E8430698352D8BDB1E4AB058949A4961D10E0584840000D87A80821A000186A01A01C9C380840001D879820201821A000AE8F81A10B07600840002D87A80821A000186A01A01C9C38084030080821A00099CF01A0E4E1C00A20081825820FBC53E7AA4E5497D8662E8F0D5337441F629D1F237217BC24AC41BB6DE89F8415840E261EA57E233FC6034F04CAFFD8860F3F7793E4BFF183316B29C1F97BAFCF651D7BD1BEC051645DECF57B3BA440140696E63BB25A1B2429537426D05F717ED0D0582840000D8799F00029FD8799F0100FFFFFF821A000EE1DE1A12AA6A45840001D8799F00FF8219618A1A0066AFD8A20081825820FBC53E7AA4E5497D8662E8F0D5337441F629D1F237217BC24AC41BB6DE89F841584061AC665E5E8EAD7C53944B724643FB2F4AFAC773E086E572C3529FB328A13B0593E2A4F9B971D148F9A1C8AA764B213FCA35380C5F7902890C1530A10EE6AD0E0584840001D8799F01009FD8799F0300FFD8799F0400FFD8799F0200FFFFFF821A001AFFA41A2139DC91840002D8799F01FF8219759C1A0079BD28840003D8799F01FF8219759C1A0079BD28840004D8799F01FF8219759C1A0079BD28A10082825820EBA94E0BF90EDF2E04AC916BA33258540A06008D6B5B9BB315068E223BE2CBF5584091E3E2F6167FD4FFEF02ECF397D9C65563F00B3596F6D3FC30BB5541BFFE1DDD90B6FE1F7A049EA25B395AFD435D0269486A451BFD9BA8FF663EAFAD50877E0B8258208695AA558A4008ACE35C0FA7463B4DEE6A6C4E3B589D945730E1CE315E1BF53958404AD95F59CD43B51BA711DE4AF945DA6FDE2BBB68D461C9B1389F4B0C1C2FBDA5C721A9F913780B007F0B009A07CA41E9554C9D4763F07AE7B9F22B55A98FBC06A1008182582051DA641D44CD7658029D07644CABD4A24DB03F90A71AF18A06130CE439EF945F5840AD322129B2BCCAAD6A3A2A088B40D49DC86237C6D97A394F8CFA2876C63D40550C407DCA820C2E46954D182E93287D80B9D8631B5E7294EB8487EDB4B855340AA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840837AA7F85C1E66D199130AF66339B66336537F9699742F283F17F0BBA81E01FA8868CC0DDA9C51312A96F5BC0FA4094E341DCCE4E42FD6A95C224BA1E21185080583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A20081825820024C98A9921CB918488D74467C2681E2EF2075826D32B80B85F608217982FBB85840EB56EAC8458E0B89BB89D3D28A41A4FAC50BFA1ABF8B6743E7CE685FCDC071F0429499FB87E5AA9B604E48D4947D64034B724B3B5BC4C59A45FD751D7328DB030581840100D87980821A0002E2241A032F69AFA10082825820DCD98D6037215BE2A5E03C3796CF025FD52A096D8EFE795B890D8DA60E45473C5840ED86717E9489C59F4EEB3472F1E77CCB4C40E6235FE9D802C257D0CE1343E6B7024943C0E2FB80CF7D23C00F29577D42C202367F4B3458CD6391D9556AA3E108825820B8E6E55E683DCCCC514AB758EF757AF91A9294D053B37CF25843D46B360A372158402146AFC3538E32680C2DD4F8AF82CA2597B206DC6C6D44897B23DCAF59829E2C8811289825879FEA4C983062FFD9E4340DD97B6845E98FE404E39C4861C8B907A100828258206DF236EFE8546DB0CF3EE4C7085F5D60057E62E6E3288D27FDD6AF79C120EB0B58401418A2A07771E546038A016ED2C0CD7363155767496AB29A211999F5A82CF98191DD648203239ACC44E70561270028759C14928D78DFE434680A825968C52F0F825820E437199B91AE7F191EC2C774A83CA35A32207FBF8D0EE93EB69AC24D75308B9E584061E5CE1A06F398C968640043180000A3B7D283051DCF6312FAA343E2A195FC8EA0259F53C62D52527AF02F558DBA1A2ABF77408C545353B9C95D5244B2094109A1008282582058D25A67443F613E1ECBE87275A18D67583BE5C128D99DDFDCB7B2678AF1482058400F5B2B274CE7DD9D81C7E9CD68BA797B0D2E75BB3181AD855C98670E6D9F3009F8A7904A8C8AF808A53A098A3E283FF0290A197018FDB3AA11743D2ADF117F05825820A9C27F48E66384710B185E9C6DB49D468A837002379EB3BA5797362DA45B958E5840276422C0446BE7FF33DDB9C42A46D947D99D8A0142F0FE58492884CB4EC58804E2C9801CC3CED9D4AD3B203FE270C6B1D2CF217039226E6B2E3499B2E5F77401A20081825820C5D63D7DC066DF52592135B6D3CB4F3470D06F7BDD4B2D2E32EB59CA3782662F5840189F84BE1DF2ABFBFD06A89F2FF67F021A7303B5E842DE0429F8CEF651DF9B5060FCBDF327E118B98CDCC1465D44A851D3A0FBE7EDA74A211B44AA00B256E9060583840000D87980821962D91A007CC793840001D87980821A00012DFC1A0166FA60840300D8799F009F1A001E8480FF4100D87A809FD87A80FFFF821A00143BBD1A19764B2AA20081825820C5D63D7DC066DF52592135B6D3CB4F3470D06F7BDD4B2D2E32EB59CA3782662F5840E992493D3A14EB36DD3E19B2D1875F4257313043590119D47D892D86E346C9D0ED240B5CBD14F5E2C772EDF5AD182EEFB000AF72C441FC2A491CD8DEC2E51B0F0583840002D87980821962D91A007CC793840000D87980821A00012DFC1A0166FA60840300D8799F009F1A001E8480FF4100D87A809FD87A80FFFF821A00143BBE1A1978F295A20081825820C5D63D7DC066DF52592135B6D3CB4F3470D06F7BDD4B2D2E32EB59CA3782662F584083CA7EB699573AB94FD5B88A365A95220386CED612E7AA832B860F46E3109FEF6FE7F00FB99DD1DB0C2F74A6D52C8E9BE00789B6D0C57E3EB5800F5C724CF6050583840000D87980821962D91A007CC793840002D87980821A00012DFC1A0166FA60840300D8799F009F1A001E8480FF4100D87A809FD87A80FFFF821A0014147F1A194DA602A20081825820C5D63D7DC066DF52592135B6D3CB4F3470D06F7BDD4B2D2E32EB59CA3782662F584014C28FF007D5067DBD0D3E007A79CC0C359BB2346C09AD8A0305A5223ED0395E42FDFFCFF7E6DED2DA95AE9743E2DDBA253E8169935F44B82B2DA2BDD91C37010583840000D87980821962D91A007CC793840002D87980821A00012DFC1A0166FA60840300D8799F009F1A001E8480FF4100D87A809FD87A80FFFF821A0013EA921A19247B7FA100818258200FFBA5C0157D1CEFFFF8BFCFBBBC02CEED55AEB7BB7018F24E7C7C2D1C9359A95840FF70ACD2E679E508867B26FF18E5A4E3F69800182C51FE033B78EC8E2809156F73D07438545813B9C5E708EAC083BC781FCF368271F9D48C0EF122F144C61B04A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840AD9A50FB3365F95D7DEF4CF5A13B365999B2F8B204875C6E595F53D49C03D5AA17CBD09B9A489BC474D9CAA58D760DCCE6689723FA21061621522AF8DE801D0A0583840000D87A80821A000186A01A01C9C380840001D879820201821A000AE8F81A10B0760084030080821A000668A01A09896800A1008282582079728CB0AF2A46E858E5B524508ED889B4DCD3978F8540D97743F6A17F0077075840BEA41E123443216D9283BAAB595F35F1DB1575BB02FC6ACB6968781F14291825D58E99D12F27D4E1664737ABA1B25D77D41AE01130E2824752DA38A934C15209825820EC3837B03D7C0672E7792A1B73F89F59A82EE0EFC566080354ED602B167FAA1C5840C11EBEF9366D41FCE612C5C4EB6216FF018FA61E37A3177FB2179F97BEE03CA151BD4E77CF75EF82AF245AB838AB4B36B01AD7A2BD7501F3DC64F79FE98A8E03A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840F069FD530B5C9850E40E3FEE9B066F4124A026A209236554CE4E7C6335BB4660E831A220FE6B2FB16E27CED462351F06CF46FE5ECD8FD9B1258851CAEFBE3B080583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840CEB8391639F1E8EE192D6578CE107DB3C914DC0DFEC50E7B7D62980F2034390360ED873E88DF411D3EB51556B789D39A5AB3BBB16E734B0719A03D0D01D77D030583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A1008182582070E3D96C7C09E1D47DCD21759D382E603180D38E13A7CE6328909F6FAAD865EF5840A183138B3B3FE94AE1A235DDD0D4B1E5ECD23802527F87A5A3DFA82FD29D8EC7FD7A82D78258DC3E15D85EDC438DBC26977E2048652BECF00D2C60C2E0695704A10082825820F23715B0CFB0AE80CD91F356C16F34B217E6AF9CAC02AE1923374A6DAE2EC8EA584047470FB332EFEB31971E6453F8E98340EF9A0C75B23CC408E491EEF5EE9675E50F6089F9794AE5DA2CA99ACC456B565C7588A590B6CBAF831BAD01CC65080D07825820347BF96C77A1F7D13DBE3CD106FAE625BC14B66EF6003ACB4BE2A20CF6ED015E5840227E3D8ADE1A12748BEEA55989530B54145F40CB664CF7623F2F2BA55E53EF98A497F9F697ED214C69CEBA4A695D94B7265C1E5B65308AFEAD913F82DDFCCE05A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58409FF31D9A824A0C2175C423DB73E51C4CCDA2BB8244B4F14430C52D57DD1BB17503C1AB32C58D3C0C47BBB6B1C9D8C9097A3AA92571776A5D5C5F7B75A0B8020C0583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A10082825820DAF577F31DA2937864C7C7AD7C6E3628A3F3487FE5C72953B98F7C6D1DF276E8584035A8F7C05EBE03F4C2C2D82BE1E571CBD17D252D99BD797BAE0F6E5886F4BECC551FBAF7D65D4F06EBDCED84B3A5110665F3190ACCCC46D2D91BDC5E62E46B05825820F4E3E346F4C42C797190AF8BF77D645E2FE332A1B46A3D70C08F6FC4055A927C5840773B84B122DB740CEBCE607A775AFF55C8A42D7C2ABEDCE398F11511B0909B32311E53751C9A42DD8AF19F0ACDA8529AC26A5A4F58147260DF92D7F658601905A10082825820F8457F8B4E49A52506BB0B363E9A9097E021D26B44E897D0606F997587A7D5055840552ABFAB61EFAC08BF4A5CA657B46B1224883B490355571E271E80F2D6E09C571B04CA4255E92BB14FB7E0BC7A920AF03DB33E8DA9D4D23F1E0E1BBFF7B2DB0F825820DF4DECB3C653DE4B780E856DD4B48759A6D2C9F172BFAD2C9BE984D171308B7B58401061E3A720B325C62CA3DDF038059971D1CC44A6B0FB88C229639E9392E3C8364EE595BEDB02787CC68AED2922D2157A54F56119D4F7DB018D4B2136651CBE0DA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840810CEF0C2E171202BA493E212ECF8DCC5F54BC9E932ECEBE1172A8E0068E3CF132D6B52A1BD387BF52CA9A7A9569899B1933099998FB61CBF5AE8CDE99D7450F0583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A100828258209C1C3C73EAEFEEDE0F3CA8B52B1216B7C8D97A9DE4DF18F1E8D7243FAE82845658406058152B8F8C34EBF7BE99AC0ABAB1772AC893DDB752BAABC1E804EEA1AFE04D3B8AC6BE57347F6627DBA7E683D52107F2F5515B1664D8629A1039AB0E0AA806825820E40FDEF9F646C0CB18B7B147B1EDA250E6BE00C86EA54608BB17BAD6BDC955DC584029E4E5CC1D5A4546449E2C7FD14343B6D38DA9C9CD0C62005D34641092AD36D03A19751ED822D5D4C2F8452B92F20F2A4EC5ABE5ED50361DF7884B5AA6F7FD07A1008282582021C351FF5B06D4FCB24F8C4C961C03473153978B60710E2967B15454CCF4548B58404453002F410030C5B4E115EFCCCB7738E6956B9EE50105631B64F0C76FC10C1F4AEC417B787B31E353DE422C2D3020E7D8CDB5CC53BED043F4762531373B7F03825820FF214196703D84F3364D60D17F61C9C89517FDAD21B01F8569DF478F1D701AF3584022BCBB83C26D089AD748C1F1508F3651094B3F96BFE694DCECE7B6E5587EDADDF9C1FB42F4C62D83E4AE7A7F7AF77230ED0DCFDABF79F8FCA9D8F9B3574F230FA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58408CFA7D5C32A4235651EA997B0B9CE9EE432A1D1A9CCA022A122179AF77A808EEC32813254BD509C678A784DF5F8EB396E95C37D9811EAAE1DF1B6250F10D5F030583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A10082825820E412B0BA42BC387C207B4A77332815D1A8B7013AA9004882EC5DA5077A37AA185840D19E8EEA1A7DDA21C4D59D49185150A20D307730F9A05E717EDB0EB98E5DD9AD8BC5F21990C237744A5F66D3E17A46EF93A7183CAA5A1E9A055B4ADD0D2B4703825820A47C98D73751E94C10110103F9CDFE9E7E772C0E9DD871B675D36E0E264EC93D5840EF5ABE09F16155306D1234B6C8C3F8A4BF5A7A947A4BD4C5050CDC39B29B9258DF86A5E97D32126D112C98F37DB8F4404E4E68FFA160A3FC85DE36602AAAF504A10081825820D90D59F2E726B295C73C17BC56551BB695B5C41EA292B4F2788274F5F33C3AAE584021484EBCC0D9BA560EF3147A7135C9E911D2D263614D81F984BD8EDD9D5300528A2F775C6ABD42E819B0ECDEB717E9B7D1AEAB18B2E796EBD64B87F7E1091F00A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF584003125A64F967B98C1764CDE6B181EE25C2540D25FF526B678E827A128942A2C324C026543AF65B5BFBD345C42232386C213D033A42D4934BA94C9914F93A250E0583840000D87A80821A000186A01A01C9C380840001D879820201821A000AE8F81A10B0760084030080821A000668A01A09896800A100828258202B30FE9115C3C1DD6328810B2AA9216C9C91F3FAC1D274980D4FD59C825524725840C29A737168F7536E10188D8CD2D7739CC5CFEF5BD8CCFE3BF83C0DA8D23972303407AB6C1BAA6324621BCD885FEB08AFE76853573F6DDBE8ACD885EB333FE006825820FCF26021132D1B1F20D28B7A14CD783059D9E48015E857AD68CBAB2F7C5F0B6258407BD17C0DBB349758BB6EFC8E57E4161CEB12737BF7841A898296FD064A2728A082AD9088EDA5846D2F6B472B1062CFCEAAD298A361CE8F3DB6F71EDA423CC801A100828258201338D1BDBA39F8FFA8F757B51118FDD05132AA693D58804C81D63889C50D7B35584014D1ADD00419F62A8CBD05BC65E6B7BDDCBF46E211E7B1B1E06A5CE2298B8034FFE763AB34125DD4ABA73C7301913740CBD754AB7EE16AB07B34A026927AB2018258206C2481BAFAC6699A2F8E028FA7DB342546ADBC9072D7C8285765A2327D48C7D75840E21D2C8DCE1901ACC9DD9E834908D7FBBC23A9979D11667933DCFAF47ACF2CFC4D709D6FE2DA73D23C8F57B5F3FA8BB4AEC0817274F686131D4EC11C6B176100A10081825820BA2118FF14DA92526D01B0BF4E0EA2AC005D249F0B214802DAE94F1267A80B465840333AFF49FA11CA29A443BA32491DDE1F5A31507437C5CC905FEC75DF7AEA186684CA0DE0B927F8716BC3D3CBC662B3F138422354ADB8C58E3F3F812336FD5F05A10081825820BE69479575AF32CBE3FE1F993AFAE9C494C02B2711D842E9AB911AFDC0827E3A5840D83FAC70791888685857348762F06896801EF54FE5677DB4C4994888E832EF47A73AD4B64D6DE8FA419E17069975617C35073E119DB38D68424418F1D310A803A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840482BBA634B58116F42BB3AFB1BE5AD9829BD6468852A421A383B7E3DC84EFEABC54D3C324EBF159EDBE1B1A2C1AE0E1AF72585297F18EE5243022C3243B510040583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A10082825820D5BE5403ACDDB519E2FB3AB5F8378733206F7127BB500252CFE9EFC9CE7F604C5840029051B3A32FA5496A91587AB277873019CA1E9B953A2B6262BFEE529801FF4929ADD2BF5563D432F05C7A54709585DFA1F8C09B8CDBC563B322016248DBFB0D82582040D1834E70C0A3F7CE19A586EFB47896FE0B13A147B446E00BBB0EE86C42274E58401E4B344E81D21B0F071FE88AD1195760D425CF1A9A0C10AA825E329AC63001A7DEEBBC95F8B6EA4BDD9B80A9D92553F12AB6451CF9CFB7500744E0EFBD7DCA02A1008282582082C80A785DB2E9F26019AF7743D300A27D306BBF0EE00030C8DE6BEC008929315840117CC014D6696CB50473B9F25C4F45D24F679F51EC73BD6181DB5544E5B37221A0C7F5D5234B583096DDB535AD671FD3CE2F1F8954FA4052B8C047649249EB07825820782EFCB237E5D28F24AB8C25DF90DA8C85ABBF79C562112F7D039E5A39814DE35840096F7D21407880A8DCE333E6463852D7E10FE0C70048B4F7BFA337C252B420939B76F9C870FD1D447E6B78553E214F4DEB8C8B770E6DAB45F258C82F2D4CB10BA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840F6821C48BC513DCEEE53146044CBAE214BE59676367CE3953E53466DC13D175C03736A43E644E6C79AB168531687AA0DC4879B58BB05BD7FF8D55599D6A3C6060583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A100818258206D4AE66BF2213CA5E6CD767F0120F52BF6C7F35EDDA4124BD1667217E4A5850E584046E22F135A7090D31A07C1E6878CB66F2154146F43C985AC1DA949119EB226FFB3B04E7C33084EF4EB86A5EB0C3A3BC48FB7744064BDEF83C3A2E60E68F94508A100818258201A9AC9708006E5AE1A310BBDA9364FC151FE522CCB93420F84745AC68C5128F65840C57485B0283F6224E254E71C05B1274F0459691EB7910F5096DE7C365FED51EBFE72DD935794199E811EDA04569D786906D30271384FB30A8864BA0E7B861E0FA10082825820FEF4D8B68D52CFCA5B60A7A8A6FDDC973EC32FE84AFB43561914754843A2F96B584006D559B34BDBECEE8DCA1251A9D572B88C55A2A70F614EA2291B237D662E44DC0D0311A6C7FF9D1F97C512F45558AB3FA7D3DD0EB0168569A5E2EF5FC4B3AA03825820B26F0466F7429E4136FF0FA42E9166DBF386589A200D0C0BCC5DE2528EE6926A58403AD471299B632AB18721746F7CB26B640BFA561951EBBE0EA622CA58F071B00CAAA458F426178922713794ECD0B15B99651C8EDA8C203269245CD3EBADDB0203A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840C0EFD72B1D09C17E15D92F9B52A095E9103DEA0B5A3C7A7C6D3FB2A91942C0760A8223FD2206EA97151779D0A8FB65E2DB6731FFDD16795090663F5C4E6E470F0583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800FFBF06A11902A2A1636D7367816F44657868756E7465722054726164650AA11902A2A1636D736781781B4D696E737761703A205632205374616B65206C69717569646974790BA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E0CA11902A2A1636D7367816F44657868756E74657220547261646510A11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E13A014A11902A2A1636D7367816F44657868756E74657220547261646515A11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E16A107825820FC05A40E6A6C4486F0319E0E2CB7DB938A92A4B05447FD7C5FA1E8D009F403BA58200A90E8D83D3764AAEEE5E8AD717A7CB706872E093520E37EDFF28F8CAB14740B181AA11902A2A1636D736781754D696E737761703A204D61726B6574204F72646572181DA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E1821A11902A2A1636D7367816F44657868756E7465722054726164651822A11902A2A1636D7367826F44657868756E7465722054726164656663616E63656C1823A11902A2A1636D7367816F44657868756E7465722054726164651827A11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E182CA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E182DA11902A2A1636D7367816F44657868756E746572205472616465182EA11902A2A1636D736781774D696E737761703A204F72646572204578656375746564182FA11902A2A1636D736781774D696E737761703A204F726465722045786563757465641830A11902A2A1636D736781774D696E737761703A204F726465722045786563757465641831A11902A2A1636D736781774D696E737761703A204F726465722045786563757465641832A11902A2A1636D736781754D696E737761703A204D61726B6574204F726465721834A11902A2A1636D7367826F44657868756E74657220547261646570506172746E6572205645535052694F531837A11902A2A1636D736781754D696E737761703A205A617020496E204F726465721838A11902A2A1636D7367816F44657868756E746572205472616465183AA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220544150544F4F4C53183BA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E183DA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220544150544F4F4C53183ED90103A100A11902A2A1636D7367816F43617264616E6F2042696E616E63651840A11902A2A1636D7367816F44657868756E7465722054726164651844A11902A2A1636D7367816F44657868756E7465722054726164651845A11902A2A1636D736781754D696E737761703A204D61726B6574204F726465721849A11902A2A1636D7367816F44657868756E746572205472616465184DA11902A2A1636D7367816F44657868756E746572205472616465FF80")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); const int concurrencyLevel = 1; // Number of parallel tasks - const int iterationsPerTask = 1; // Number of deserializations per task + const int iterationsPerTask = 100; // Number of deserializations per task List tasks = Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => { for (int i = 0; i < iterationsPerTask; i++) { // This call should be thread-safe and never fail if the code is correct - Block block = CborSerializer.Deserialize(cborRaw); + BlockWithEra block = CborSerializer.Deserialize>(cborRaw); // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue Assert.NotNull(block); diff --git a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs index d3b89b46..70077a02 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs @@ -13,8 +13,9 @@ public static class BlockExtension public static Block? GetBlock(this Block block) => block switch { - ShelleyBlock shelleyBlock => shelleyBlock, - AlonzoBlock alonzoBlock => alonzoBlock, + AlonzoCompatibleBlock alonzoBlock => alonzoBlock, + BabbageBlock babbageBlock => babbageBlock, + ConwayBlock conwayBlock => conwayBlock, _ => null }; @@ -26,7 +27,6 @@ public static string Hash(this Block block) { AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.Slot.Value, BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.Slot.Value, - ShelleyHeaderBody shelleyHeaderBody => shelleyHeaderBody.Slot.Value, _ => null }; @@ -41,8 +41,9 @@ public static List InputOutRefs(this Block block) public static BlockHeader? Header(this Block block) => block switch { - ShelleyBlock shelleyBlock => shelleyBlock.Header, - AlonzoBlock alonzoBlock => alonzoBlock.Header, + AlonzoCompatibleBlock a => a.Header, + BabbageBlock b => b.Header, + ConwayBlock c => c.Header, _ => null }; @@ -51,7 +52,6 @@ public static List InputOutRefs(this Block block) { AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody, BabbageHeaderBody babbageHeaderBody => babbageHeaderBody, - ShelleyHeaderBody shelleyHeaderBody => shelleyHeaderBody, _ => null }; @@ -60,27 +60,35 @@ public static List InputOutRefs(this Block block) { AlonzoHeaderBody alonzoHeaderBody => alonzoHeaderBody.BlockNumber.Value, BabbageHeaderBody babbageHeaderBody => babbageHeaderBody.BlockNumber.Value, - ShelleyHeaderBody shelleyHeaderBody => shelleyHeaderBody.BlockNumber.Value, _ => null }; public static IEnumerable TransactionBodies(this Block block) => block switch { - ShelleyBlock shelleyBlock => shelleyBlock.TransactionBodies switch + + AlonzoCompatibleBlock a => a.TransactionBodies switch + { + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, + _ => [] + }, + BabbageBlock b => b.TransactionBodies switch { - CborDefList x => x.Value, - CborIndefList x => x.Value, - CborDefListWithTag x => x.Value, - CborIndefListWithTag x => x.Value, + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, _ => [] }, - AlonzoBlock alonzoBlock => alonzoBlock.TransactionBodies switch + ConwayBlock c => c.TransactionBodies switch { - CborDefList x => x.Value, - CborIndefList x => x.Value, - CborDefListWithTag x => x.Value, - CborIndefListWithTag x => x.Value, + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, _ => [] }, _ => [] @@ -89,20 +97,28 @@ public static IEnumerable TransactionBodies(this Block block) public static IEnumerable TransactionWitnessSets(this Block block) => block switch { - ShelleyBlock shelleyBlock => shelleyBlock.TransactionWitnessSets switch + AlonzoCompatibleBlock a => a.TransactionWitnessSets switch + { + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, + _ => [] + }, + BabbageBlock b => b.TransactionWitnessSets switch { - CborDefList x => x.Value, - CborIndefList x => x.Value, - CborDefListWithTag x => x.Value, - CborIndefListWithTag x => x.Value, + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, _ => [] }, - AlonzoBlock alonzoBlock => alonzoBlock.TransactionWitnessSets switch + ConwayBlock c => c.TransactionWitnessSets switch { - CborDefList x => x.Value, - CborIndefList x => x.Value, - CborDefListWithTag x => x.Value, - CborIndefListWithTag x => x.Value, + CborDefList x => x.Value, + CborIndefList x => x.Value, + CborDefListWithTag x => x.Value, + CborIndefListWithTag x => x.Value, _ => [] }, _ => [] @@ -112,8 +128,9 @@ public static Dictionary AuxiliaryDataSet(this Block block) { return block switch { - ShelleyBlock shelleyBlock => shelleyBlock.TransactionMetadataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), - AlonzoBlock alonzoBlock => alonzoBlock.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + AlonzoCompatibleBlock a => a.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + BabbageBlock b => b.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), + ConwayBlock c => c.AuxiliaryDataSet.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), _ => [] }; } @@ -121,8 +138,15 @@ public static Dictionary AuxiliaryDataSet(this Block block) public static IEnumerable? InvalidTransactions(this Block block) => block switch { - ShelleyBlock shelleyBlock => null, - AlonzoBlock alonzoBlock => alonzoBlock.InvalidTransactions switch + BabbageBlock b => b.InvalidTransactions switch + { + CborDefList x => x.Value.Select(x => x.Value), + CborIndefList x => x.Value.Select(x => x.Value), + CborDefListWithTag x => x.Value.Select(x => x.Value), + CborIndefListWithTag x => x.Value.Select(x => x.Value), + _ => [] + }, + ConwayBlock c => c.InvalidTransactions switch { CborDefList x => x.Value.Select(x => x.Value), CborIndefList x => x.Value.Select(x => x.Value), diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs index 34ae24aa..b2254b95 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs @@ -39,30 +39,6 @@ public static IEnumerable Inputs(this TransactionBody transact CborIndefListWithTag tagList => tagList.Value, _ => [] }, - MaryTransactionBody x => x.Inputs switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag tagList => tagList.Value, - CborIndefListWithTag tagList => tagList.Value, - _ => [] - }, - AllegraTransactionBody x => x.Inputs switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag tagList => tagList.Value, - CborIndefListWithTag tagList => tagList.Value, - _ => [] - }, - ShelleyTransactionBody x => x.Inputs switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag tagList => tagList.Value, - CborIndefListWithTag tagList => tagList.Value, - _ => [] - }, _ => [] }; @@ -71,50 +47,26 @@ public static IEnumerable Outputs(this TransactionBody transa { ConwayTransactionBody x => x.Outputs switch { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, _ => [] }, BabbageTransactionBody x => x.Outputs switch { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, _ => [] }, AlonzoTransactionBody x => x.Outputs switch { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, - _ => [] - }, - MaryTransactionBody x => x.Outputs switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag tagList => tagList.Value, - CborIndefListWithTag tagList => tagList.Value, - _ => [] - }, - AllegraTransactionBody x => x.Outputs switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag tagList => tagList.Value, - CborIndefListWithTag tagList => tagList.Value, - _ => [] - }, - ShelleyTransactionBody x => x.Outputs switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag tagList => tagList.Value, - CborIndefListWithTag tagList => tagList.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, _ => [] }, _ => [] @@ -132,9 +84,6 @@ public static IEnumerable OutRefs(this TransactionBody transactionBody) public static byte[]? AuxiliaryDataHash(this TransactionBody transactionBody) => transactionBody switch { - ShelleyTransactionBody x => x.MetadataHash?.Value, - AllegraTransactionBody x => x.MetadataHash?.Value, - MaryTransactionBody x => x.MetadataHash?.Value, ConwayTransactionBody x => x.AuxiliaryDataHash?.Value, BabbageTransactionBody x => x.AuxiliaryDataHash?.Value, AlonzoTransactionBody x => x.AuxiliaryDataHash?.Value, @@ -147,7 +96,6 @@ public static IEnumerable OutRefs(this TransactionBody transactionBody) ConwayTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), BabbageTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), AlonzoTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), - MaryTransactionBody x => x.Mint?.Value.ToDictionary(kvp => kvp.Key.Value, kvp => kvp.Value), _ => [] }; } \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs index a1905749..adee491d 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionOutputExtension.cs @@ -16,20 +16,16 @@ public static class TransactionOutputExtension public static Address? Address(this TransactionOutput transactionOutput) => transactionOutput switch { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Address, - AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Address, - MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Address, - ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Address, + PostAlonzoTransactionOutput e => e.Address, + AlonzoTransactionOutput e => e.Address, _ => null }; public static Value? Amount(this TransactionOutput transactionOutput) => transactionOutput switch { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Amount, - AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Amount, - MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Amount, - ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Amount, + PostAlonzoTransactionOutput e => e.Amount, + AlonzoTransactionOutput e => e.Amount, _ => null }; @@ -42,17 +38,15 @@ public static class TransactionOutputExtension public static byte[]? AddressValue(this TransactionOutput transactionOutput) => transactionOutput switch { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput.Address.Value, - AlonzoTransactionOutput alonzoTransactionOutput => alonzoTransactionOutput.Address.Value, - MaryTransactionOutput maryTransactionOutput => maryTransactionOutput.Address.Value, - ShellyTransactionOutput shellyTransactionOutput => shellyTransactionOutput.Address.Value, + PostAlonzoTransactionOutput e => e.Address.Value, + AlonzoTransactionOutput e => e.Address.Value, _ => null }; public static byte[]? ScriptRef(this TransactionOutput transactionOutput) => transactionOutput switch { - BabbageTransactionOutput babbageTransactionOutput => babbageTransactionOutput?.ScriptRef?.Value, + PostAlonzoTransactionOutput e => e?.ScriptRef?.Value, _ => null }; @@ -73,7 +67,7 @@ public static (DatumType DatumType, byte[]? RawData) DatumInfo(this TransactionO null => (DatumType.None, null), _ => (DatumType.Hash, a.DatumHash.Value) }, - BabbageTransactionOutput b => b.Datum switch + PostAlonzoTransactionOutput b => b.Datum switch { InlineDatumOption inline => (DatumType.Inline, inline.Data.Value), DatumHashOption hash => (DatumType.Hash, hash.DatumHash.Value), diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs index 0b6b1b71..6bb8f7b3 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionWitnessSetExtension.cs @@ -12,14 +12,6 @@ public static class TransactionWitnessSetExtension public static IEnumerable? VKeyWitnessSet(this TransactionWitnessSet transactionWitness) => transactionWitness switch { - ShelleyTransactionWitnessSet x => x.VKeyWitnessSet switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, - _ => [] - }, AlonzoTransactionWitnessSet x => x.VKeyWitnessSet switch { CborDefList list => list.Value, @@ -28,15 +20,7 @@ public static class TransactionWitnessSetExtension CborIndefListWithTag list => list.Value, _ => [] }, - BabbageTransactionWitnessSet x => x.VKeyWitnessSet switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, - _ => [] - }, - ConwayTransactionWitnessSet x => x.VKeyWitnessSet switch + PostAlonzoTransactionWitnessSet x => x.VKeyWitnessSet switch { CborDefList list => list.Value, CborIndefList list => list.Value, @@ -46,27 +30,18 @@ public static class TransactionWitnessSetExtension }, _ => [] }; - + public static Redeemers? Redeemers(this TransactionWitnessSet transactionWitness) => transactionWitness switch { AlonzoTransactionWitnessSet x => x.Redeemers, - BabbageTransactionWitnessSet x => x.Redeemers, - ConwayTransactionWitnessSet x => x.Redeemers, + PostAlonzoTransactionWitnessSet x => x.Redeemers, _ => null }; - + public static IEnumerable? NativeScriptSet(this TransactionWitnessSet transactionWitness) => transactionWitness switch { - ShelleyTransactionWitnessSet x => x.NativeScriptSet switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, - _ => [] - }, AlonzoTransactionWitnessSet x => x.NativeScriptSet switch { CborDefList list => list.Value, @@ -75,15 +50,7 @@ public static class TransactionWitnessSetExtension CborIndefListWithTag list => list.Value, _ => [] }, - BabbageTransactionWitnessSet x => x.NativeScriptSet switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, - _ => [] - }, - ConwayTransactionWitnessSet x => x.NativeScriptSet switch + PostAlonzoTransactionWitnessSet x => x.NativeScriptSet switch { CborDefList list => list.Value, CborIndefList list => list.Value, @@ -93,18 +60,10 @@ public static class TransactionWitnessSetExtension }, _ => [] }; - + public static IEnumerable? BootstrapWitnessSet(this TransactionWitnessSet transactionWitness) => transactionWitness switch { - ShelleyTransactionWitnessSet x => x.BootstrapWitnessSet switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, - _ => [] - }, AlonzoTransactionWitnessSet x => x.BootstrapWitnessSet switch { CborDefList list => list.Value, @@ -113,15 +72,7 @@ public static class TransactionWitnessSetExtension CborIndefListWithTag list => list.Value, _ => [] }, - BabbageTransactionWitnessSet x => x.BootstrapWitnessSet switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, - _ => [] - }, - ConwayTransactionWitnessSet x => x.BootstrapWitnessSet switch + PostAlonzoTransactionWitnessSet x => x.BootstrapWitnessSet switch { CborDefList list => list.Value, CborIndefList list => list.Value, @@ -143,15 +94,7 @@ public static class TransactionWitnessSetExtension CborIndefListWithTag list => list.Value, _ => [] }, - BabbageTransactionWitnessSet x => x.PlutusDataSet switch - { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, - _ => [] - }, - ConwayTransactionWitnessSet x => x.PlutusDataSet switch + PostAlonzoTransactionWitnessSet x => x.PlutusDataSet switch { CborDefList list => list.Value, CborIndefList list => list.Value, @@ -161,7 +104,7 @@ public static class TransactionWitnessSetExtension }, _ => [] }; - + public static IEnumerable? PlutusV1ScriptSet(this TransactionWitnessSet transactionWitness) => transactionWitness switch { @@ -173,15 +116,7 @@ public static class TransactionWitnessSetExtension CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), _ => [] }, - BabbageTransactionWitnessSet x => x.PlutusV1ScriptSet switch - { - CborDefList list => list.Value.Select(x => x.Value).ToList(), - CborIndefList list => list.Value.Select(x => x.Value).ToList(), - CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), - CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), - _ => [] - }, - ConwayTransactionWitnessSet x => x.PlutusV1ScriptSet switch + PostAlonzoTransactionWitnessSet x => x.PlutusV1ScriptSet switch { CborDefList list => list.Value.Select(x => x.Value).ToList(), CborIndefList list => list.Value.Select(x => x.Value).ToList(), @@ -195,15 +130,7 @@ public static class TransactionWitnessSetExtension public static IEnumerable? PlutusV2ScriptSet(this TransactionWitnessSet transactionWitness) => transactionWitness switch { - BabbageTransactionWitnessSet x => x.PlutusV2ScriptSet switch - { - CborDefList list => list.Value.Select(x => x.Value).ToList(), - CborIndefList list => list.Value.Select(x => x.Value).ToList(), - CborDefListWithTag list => list.Value.Select(x => x.Value).ToList(), - CborIndefListWithTag list => list.Value.Select(x => x.Value).ToList(), - _ => [] - }, - ConwayTransactionWitnessSet x => x.PlutusV2ScriptSet switch + PostAlonzoTransactionWitnessSet x => x.PlutusV2ScriptSet switch { CborDefList list => list.Value.Select(x => x.Value).ToList(), CborIndefList list => list.Value.Select(x => x.Value).ToList(), @@ -213,11 +140,11 @@ public static class TransactionWitnessSetExtension }, _ => [] }; - + public static IEnumerable? PlutusV3ScriptSet(this TransactionWitnessSet transactionWitness) => transactionWitness switch { - ConwayTransactionWitnessSet x => x.PlutusV3ScriptSet switch + PostAlonzoTransactionWitnessSet x => x.PlutusV3ScriptSet switch { CborDefList list => list.Value.Select(x => x.Value).ToList(), CborIndefList list => list.Value.Select(x => x.Value).ToList(), diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Block.cs b/src/Chrysalis/Cardano/Core/Types/Block/Block.cs index 40746502..80d8a953 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Block.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Block.cs @@ -1,6 +1,7 @@ using Chrysalis.Cardano.Core.Types.Block.Header; using Chrysalis.Cardano.Core.Types.Block.Transaction; using Chrysalis.Cardano.Core.Types.Block.Transaction.Body; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; using Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; using Chrysalis.Cbor.Attributes; using Chrysalis.Cbor.Converters.Primitives; @@ -14,19 +15,27 @@ namespace Chrysalis.Cardano.Core.Types.Block; public abstract record Block : CborBase; [CborConverter(typeof(CustomListConverter))] -public record ShelleyBlock( +public record AlonzoCompatibleBlock( [CborProperty(0)] BlockHeader Header, - [CborProperty(1)] CborMaybeIndefList TransactionBodies, - [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, - [CborProperty(3)] AuxiliaryDataSet TransactionMetadataSet + [CborProperty(1)] CborMaybeIndefList TransactionBodies, + [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, + [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet ) : Block; +[CborConverter(typeof(CustomListConverter))] +public record BabbageBlock( + [CborProperty(0)] BlockHeader Header, + [CborProperty(1)] CborMaybeIndefList TransactionBodies, + [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, + [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet, + [CborProperty(4)] CborMaybeIndefList? InvalidTransactions +) : Block; [CborConverter(typeof(CustomListConverter))] -public record AlonzoBlock( +public record ConwayBlock( [CborProperty(0)] BlockHeader Header, - [CborProperty(1)] CborMaybeIndefList TransactionBodies, - [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, + [CborProperty(1)] CborMaybeIndefList TransactionBodies, + [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet, [CborProperty(4)] CborMaybeIndefList? InvalidTransactions ) : Block; diff --git a/src/Chrysalis/Cardano/Core/Types/Block/BlockWithEra.cs b/src/Chrysalis/Cardano/Core/Types/Block/BlockWithEra.cs index a53795eb..ab62424a 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/BlockWithEra.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/BlockWithEra.cs @@ -6,7 +6,7 @@ namespace Chrysalis.Cardano.Core.Types.Block; [CborConverter(typeof(CustomListConverter))] -public record BlockWithEra( +public record BlockWithEra( [CborProperty(0)] CborInt EraNumber, - [CborProperty(1)] Block Block -) : CborBase; \ No newline at end of file + [CborProperty(1)] T Block +) : CborBase where T : Block; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs index 091b74dd..bef79ecb 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs @@ -8,21 +8,6 @@ namespace Chrysalis.Cardano.Core.Types.Block.Header.Body; [CborConverter(typeof(UnionConverter))] public abstract record BlockHeaderBody : CborBase; - -[CborConverter(typeof(CustomListConverter))] -public record BabbageHeaderBody( - [CborProperty(0)] CborUlong BlockNumber, - [CborProperty(1)] CborUlong Slot, - [CborProperty(2)] CborNullable PrevHash, - [CborProperty(3)] CborBytes IssuerVKey, - [CborProperty(4)] CborBytes VrfVKey, - [CborProperty(5)] VrfCert VrfResult, - [CborProperty(6)] CborUlong BlockBodySize, - [CborProperty(7)] CborBytes BlockBodyHash, - [CborProperty(8)] OperationalCert OperationalCert, - [CborProperty(9)] ProtocolVersion ProtocolVersion -) : BlockHeaderBody; - [CborConverter(typeof(CustomListConverter))] public record AlonzoHeaderBody( [CborProperty(0)] CborUlong BlockNumber, @@ -35,24 +20,23 @@ public record AlonzoHeaderBody( [CborProperty(7)] CborUlong BlockBodySize, [CborProperty(8)] CborBytes BlockBodyHash, [CborProperty(9)] CborBytes HotVKey, - [CborProperty(10)] CborUlong SequenceNumber, - [CborProperty(11)] CborUlong KesPeriod, - [CborProperty(12)] CborBytes Sigma, + [CborProperty(10)] CborUlong OperationalCertSequenceNumber, + [CborProperty(11)] CborUlong OperationalCertKesPeriod, + [CborProperty(12)] CborBytes OperationalCertSigma, [CborProperty(13)] CborUlong ProtocolMajor, [CborProperty(14)] CborUlong ProtocolMinor ) : BlockHeaderBody; [CborConverter(typeof(CustomListConverter))] -public record ShelleyHeaderBody( +public record BabbageHeaderBody( [CborProperty(0)] CborUlong BlockNumber, [CborProperty(1)] CborUlong Slot, [CborProperty(2)] CborNullable PrevHash, [CborProperty(3)] CborBytes IssuerVKey, [CborProperty(4)] CborBytes VrfVKey, - [CborProperty(5)] VrfCert NonceVrf, - [CborProperty(6)] VrfCert LeaderVrf, - [CborProperty(7)] CborUlong BlockBodySize, - [CborProperty(8)] CborBytes BlockBodyHash, - [CborProperty(9)] OperationalCert OperationalCert, - [CborProperty(10)] ProtocolVersion ProtocolVersion + [CborProperty(5)] VrfCert VrfResult, + [CborProperty(6)] CborUlong BlockBodySize, + [CborProperty(7)] CborBytes BlockBodyHash, + [CborProperty(8)] OperationalCert OperationalCert, + [CborProperty(9)] ProtocolVersion ProtocolVersion ) : BlockHeaderBody; \ No newline at end of file diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs index 0cec2673..5af587ee 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs @@ -13,50 +13,11 @@ namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body; [CborConverter(typeof(UnionConverter))] public abstract record TransactionBody : CborBase; -[CborConverter(typeof(CustomMapConverter))] -public record ShelleyTransactionBody( - [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, - [CborProperty(2)] CborUlong Fee, - [CborProperty(3)] CborUlong? TimeToLive, - [CborProperty(4)] CborMaybeIndefList? Certificates, - [CborProperty(5)] Withdrawals? Withdrawals, - [CborProperty(6)] Update? Update, - [CborProperty(7)] CborBytes? MetadataHash -) : TransactionBody; - - -[CborConverter(typeof(CustomMapConverter))] -public record AllegraTransactionBody( - [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, - [CborProperty(2)] CborUlong Fee, - [CborProperty(3)] CborUlong? TimeToLive, - [CborProperty(4)] CborMaybeIndefList? Certificates, - [CborProperty(5)] Withdrawals? Withdrawals, - [CborProperty(6)] Update? Update, - [CborProperty(7)] CborBytes? MetadataHash, - [CborProperty(8)] CborUlong? ValidityIntervalStart -) : TransactionBody; - -[CborConverter(typeof(CustomMapConverter))] -public record MaryTransactionBody( - [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, - [CborProperty(2)] CborUlong Fee, - [CborProperty(3)] CborUlong? TimeToLive, - [CborProperty(4)] CborMaybeIndefList? Certificates, - [CborProperty(5)] Withdrawals? Withdrawals, - [CborProperty(6)] Update? Update, - [CborProperty(7)] CborBytes? MetadataHash, - [CborProperty(8)] CborUlong? ValidityIntervalStart, - [CborProperty(9)] MultiAssetMint? Mint -) : TransactionBody; [CborConverter(typeof(CustomMapConverter))] public record AlonzoTransactionBody( [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(1)] CborMaybeIndefList Outputs, [CborProperty(2)] CborUlong Fee, [CborProperty(3)] CborUlong? TimeToLive, [CborProperty(4)] CborMaybeIndefList? Certificates, @@ -74,7 +35,7 @@ public record AlonzoTransactionBody( [CborConverter(typeof(CustomMapConverter))] public record BabbageTransactionBody( [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(1)] CborMaybeIndefList Outputs, [CborProperty(2)] CborUlong Fee, [CborProperty(3)] CborUlong? TimeToLive, [CborProperty(4)] CborMaybeIndefList? Certificates, @@ -87,7 +48,7 @@ public record BabbageTransactionBody( [CborProperty(13)] CborMaybeIndefList? Collateral, [CborProperty(14)] CborMaybeIndefList? RequiredSigners, [CborProperty(15)] CborInt? NetworkId, - [CborProperty(16)] TransactionOutput? CollateralReturn, + [CborProperty(16)] PostAlonzoTransactionOutput? CollateralReturn, [CborProperty(17)] CborUlong? TotalCollateral, [CborProperty(18)] CborMaybeIndefList? ReferenceInputs ) : TransactionBody; @@ -96,7 +57,7 @@ public record BabbageTransactionBody( [CborConverter(typeof(CustomMapConverter))] public record ConwayTransactionBody( [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(1)] CborMaybeIndefList Outputs, [CborProperty(2)] CborUlong Fee, [CborProperty(3)] CborUlong? TimeToLive, [CborProperty(4)] CborMaybeIndefList? Certificates, @@ -108,7 +69,7 @@ public record ConwayTransactionBody( [CborProperty(13)] CborMaybeIndefList? Collateral, [CborProperty(14)] CborMaybeIndefList? RequiredSigners, [CborProperty(15)] CborInt? NetworkId, - [CborProperty(16)] TransactionOutput? CollateralReturn, + [CborProperty(16)] PostAlonzoTransactionOutput? CollateralReturn, [CborProperty(17)] CborUlong? TotalCollateral, [CborProperty(18)] CborMaybeIndefList? ReferenceInputs, [CborProperty(19)] VotingProcedures VotingProcedures, diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TransactionOutput.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TransactionOutput.cs index d77fa192..356c7492 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TransactionOutput.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Output/TransactionOutput.cs @@ -9,30 +9,16 @@ namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Output; public abstract record TransactionOutput : CborBase; -[CborConverter(typeof(CustomListConverter))] -public record ShellyTransactionOutput( - [CborProperty(0)] Address Address, - [CborProperty(1)] Lovelace Amount -) : TransactionOutput; - - -[CborConverter(typeof(CustomListConverter))] -public record MaryTransactionOutput( - [CborProperty(0)] Address Address, - [CborProperty(1)] Value Amount -) : TransactionOutput; - - [CborConverter(typeof(CustomListConverter))] public record AlonzoTransactionOutput( [CborProperty(0)] Address Address, [CborProperty(1)] Value Amount, - [CborProperty(2)] CborBytes DatumHash + [CborProperty(2)] CborBytes? DatumHash ) : TransactionOutput; [CborConverter(typeof(CustomMapConverter))] -public record BabbageTransactionOutput( +public record PostAlonzoTransactionOutput( [CborProperty(0)] Address Address, [CborProperty(1)] Value Amount, [CborProperty(2)] DatumOption? Datum, diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs index 41c04c0e..23a22af2 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs @@ -10,13 +10,6 @@ namespace Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; [CborConverter(typeof(UnionConverter))] public abstract record TransactionWitnessSet : CborBase; -[CborConverter(typeof(CustomMapConverter))] -public record ShelleyTransactionWitnessSet( - [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, - [CborProperty(1)] CborMaybeIndefList? NativeScriptSet, - [CborProperty(2)] CborMaybeIndefList? BootstrapWitnessSet -) : TransactionWitnessSet; - [CborConverter(typeof(CustomMapConverter))] public record AlonzoTransactionWitnessSet( [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, @@ -28,18 +21,7 @@ public record AlonzoTransactionWitnessSet( ) : TransactionWitnessSet; [CborConverter(typeof(CustomMapConverter))] -public record BabbageTransactionWitnessSet( - [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, - [CborProperty(1)] CborMaybeIndefList? NativeScriptSet, - [CborProperty(2)] CborMaybeIndefList? BootstrapWitnessSet, - [CborProperty(3)] CborMaybeIndefList? PlutusV1ScriptSet, - [CborProperty(4)] CborMaybeIndefList? PlutusDataSet, - [CborProperty(5)] Redeemers? Redeemers, - [CborProperty(6)] CborMaybeIndefList? PlutusV2ScriptSet -) : TransactionWitnessSet; - -[CborConverter(typeof(CustomMapConverter))] -public record ConwayTransactionWitnessSet( +public record PostAlonzoTransactionWitnessSet( [CborProperty(0)] CborMaybeIndefList? VKeyWitnessSet, [CborProperty(1)] CborMaybeIndefList? NativeScriptSet, [CborProperty(2)] CborMaybeIndefList? BootstrapWitnessSet, diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs index 19a9950d..5e73d5a7 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs @@ -26,14 +26,32 @@ public T Deserialize(byte[] data) where T : CborBase { (int? Index, string Name, Type ParameterType) = parametersOrProperties[i]; - // Deserialize the value - byte[] encodedValue = reader.ReadEncodedValue().ToArray(); - - MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; - object? deserializedValue = deserializeMethod.MakeGenericMethod(ParameterType) - .Invoke(null, [encodedValue]); - - constructorArgs[i] = deserializedValue; + // Check if we're at the end of the array + if (reader.PeekState() == CborReaderState.EndArray) + { + // If the type is nullable, we can safely set it to null and continue + if (IsNullableType(ParameterType)) + { + constructorArgs[i] = null; + continue; + } + // If it's not nullable, this is an error condition + throw new Exception($"Missing required value for {Name}"); + } + + try + { + byte[] encodedValue = reader.ReadEncodedValue().ToArray(); + MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; + object? deserializedValue = deserializeMethod.MakeGenericMethod(ParameterType) + .Invoke(null, [encodedValue]); + constructorArgs[i] = deserializedValue; + } + catch when (IsNullableType(ParameterType)) + { + // If deserialization fails for a nullable type, set it to null + constructorArgs[i] = null; + } } reader.ReadEndArray(); @@ -45,6 +63,18 @@ public T Deserialize(byte[] data) where T : CborBase return instance; } + private static bool IsNullableType(Type type) + { + // Check if it's a nullable value type + if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) + return true; + + // Check if it's a reference type + if (!type.IsValueType) + return true; + + return false; + } public byte[] Serialize(CborBase value) { diff --git a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs index 1c3b6ccf..2ef344b2 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs @@ -40,6 +40,11 @@ public T Deserialize(byte[] data) where T : CborBase Type baseType = typeof(T); Type[] concreteTypes = GetConcreteTypes(baseType); + if (Convert.ToHexString(data) == "8182584C82D818584283581C5C7D7EF14E09F2DEB82BC8C43381AEFA2E871760B357D7F5385E34F9A101581E581CC9A4C68C63646830C5F13C51549C6B2B52918D239ECD44C2066EFFCF001A833C18221A3B9ACA00") + { + Console.WriteLine(); + } + // Instead of await, directly block on the returned task: return ParallelDeserializeAsync(data, concreteTypes, baseType).GetAwaiter().GetResult(); } From 906d1932017f500b7a83673511c87ff66661ee5a Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Thu, 19 Dec 2024 23:31:26 -0500 Subject: [PATCH 091/162] chore: bump version to `0.5.18` (#107) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 0265f044..8eda6579 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.17 + 0.5.18 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From b71b96a48318aec48c98a195fb6fab770f137df9 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Fri, 20 Dec 2024 02:50:25 -0500 Subject: [PATCH 092/162] fix: alonzo block missing invalid transactions (#108) --- src/Chrysalis.Test/CborTests.cs | 6 +++--- src/Chrysalis/Cardano/Core/Types/Block/Block.cs | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 3c4e350c..e75d9561 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -70,20 +70,20 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("820785828A1A00A9995D1A085F7993582072028BE5129EA06BF47C7939EFDD93EE4D7364F61B2512C426EF68780EE80D815820C532C9C7469B3D570222ADFA458076859B83B3CF9FB84E1F8D089B3B7A28DAD258204C7689AD28CBF8AFEE12C6A6A6D716A22439D0A6F003A812EA11AFFBDF1EC7F68258407F3B1EB698707563673FD71324F2A8B790C91A65E272EB5C55C45F2D7797714AF023E1EEA82FCB07CE3E43F5412F9E42063A4F0C3D8DE5896244212624D5C5C358504BC4BF679879E27EDF829DAAEC9DCE9B79F80A94A3E5332CFDDA1413E4C540C7084BE60062AD0AB3C9AF11E25F06359A586B569198E9D78506C57A7173C7A71FAE18E479ABE5ADA7EDD94885AF2384041A00011F5B5820B8017FD5DA7F42F31064F0A864564996165EB4BBE3EA72D1147674FA9681D7F9845820CFF41E9B56A328410D79C04B630F87831DB7F298794D517666854D9320792E0F12190420584058BBD2CFE56F9876BA853B295E86AD6970965BFF8ABED2C7E48B72A4444CC0F649DDA65514A7F1EE433A058C299C47D9FC89317BC47AF3D4BDA1AD743A8C2803820A005901C02176B7EB165E583923DD731836C7FC989BD24FA40DC41D8AA093C089E9C3A3B86C95DF9D239B83B153FC2F85A9F1E5E3BE2D1916ABA1703F5077CC993B44AF03FD2F5A9C890A6CE2DEFE4DD64F699A1A65713C51B131FAEA20F7A80EEBE2D430FB982DB26D5D9F7540441D773AC9D3D863F2EDA0C7B0DABE1C27AF01361109C936546820D8CA8D22D2D022962E31A1607FF8123424FAA1ABD81F12B35DBA5E3E9B7EFCA080E0A3D033183C19704812A5AA83877F2EB2898064A1C51F0F84CBD3DDE8BC9D8307D6AFB803239A03D19B8C766215F68D6A1A081EEB2FE4AB7B985315024F6E6470DE8A4B092C6C7535E6F5327FF2B9AE6DCDE1D1BE3D408B1EE006ADF320D7C50EBD75CC1BBC23CE9E85EC32980CD9F3ADCC608DE9141C57914ED47F5EA598B82721D6DFD66E3AFF5F954018AF2E268A2B34E08428452BACC27CCB9BBBB74A55A22F12453F85B2D04B6EF12F2D1E7FD7CD8EC952138E8F313A5896813F06D636E1E319474640A8D24599120B74AD1DEA729854D72A6A356FED3ABCD4C8BC316F17216E08AE5CFC6612A25C127D59EA878802037087ECD6320CA5F9ADA7BAE686A04DD9FF2EEA0FF31902FFD94CA333D4ACC89508E0E70E662D47509FA40081825820A8B2B782ADC705C89C15D0294EC70E69FABD2B4B9B3CA1D87AD14057DD1CABE107018282583901EB070F2155A45D33E41C4C978B69AAA1E3577850C2A0F4B71C099F97EB070F2155A45D33E41C4C978B69AAA1E3577850C2A0F4B71C099F971A0014B65D82581D61D91EF01B73F3010BB173945CF5417257C00C002715A13052015AB54F1A02DD3600021A0002CD30031A085F8769A8008282582022C9B11E2FAD1B15D2373AAC47C90C77F28E6DDB8889A0E4333CE3B46955A621018258202C0F7367D53DD8E34559DB8E152D5541B9CD9B28DBD353E6003CCE83C502BD91000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000028EECA5FEA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0FD98017581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01512D951A000712899FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901892476D79DD780C71062520A39BF9DE9CC518AAB0C2382D5CB2703CCA279FDA40512FD541267D1B733A6E468C677024D2B28190FEC4BE448011A04DD0C94825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A40081825820915164DE17E279D281D8E34C4D48FAD62823BB87391D5C22D8BA14A704F124D500018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1B00000003AAC0D87F021A000292FC031A085F90C9A4008182582021C73DC7982CF6B1C02F1ACE34C669ECA86EE1A8A9CFBC52E4E666400CC1421E00018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1B000000015956D984021A000292FC031A085F90C9A40083825820D6E780906DDAE9E29D10EBA72F8C55407CB1020A4CDB4E53F941B932D8CAC6EC0082582007AFEF0B961E89E3F2D590887496E632DA7C03E35B5A4BD53756551171C19CCC018258205D8BAC22C4EB49D0CE9D812C2665AEF18F6135BEF8151767D815B8E7F49CF52C01018282581D61A2504A67B311D2079D732F89A29005EFF0FCEA5F29DC9EF5F93ACF511A112D443382581D616904E8B2C26F3DDA6C4A5DB4B3EC9E31D581C9960977CFE9C6917A431A080CAE23021A0002FBB2031A085F8769A4008182582023B0C877D33A9D342F4E23CB1265C31FC2C5FA4438B2011E52F02E3316B89E5900018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1B0000000114C21E53021A000292FC031A085F90C9A700828258201F755BC531345DE9635784725BDE74567714FCA86A5BFFDCDD604552B862DC9808825820374CE8C089D1BE4D828F97B17BAFF507D9FB7BBA83BCACF17238915A82EB9ECE010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF0275692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44011A06422C40028201D818590108D8799F4100581C3EE9752EF96785D7C08096A923BBF9A04A3D074AB4F8B652F98E404FD8799F4040FF1A05F5E1001A000DBBA01A000B5558D8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F1A000B55581A05F5E100FF1A0010C8E0D8799FD8799F581C012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F8FFD8799FD8799FD8799F581C75692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44FFFFFFFF581C012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F89F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A0010C8E082583901012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F875692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F441A001E848082583901012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F875692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44821B0000000292C1989DA4581CC02BCEFFA5811FE64CAA949AFFC0220A2C862A12F143F10CE55A29AFA14C746170707930322D3231353701581CF4B533CAF3C886AF0296B0E0BF67FF1F08A3880DDC3F824BE1B8CBB9A152536E656B2E66756E204B4554202D204E465401581CFA219EAA83FF19005C46975034059CA567D217223D93E34EC6C6C267A15269484F4C4457686974656C6973742E31363801581CFC08AFF43685CA4D5536A0A6C006C724AB37FCC41EB06940EE8B62DFA54A534F55524B6579303839014C53776565744B657931333532014C53776565744B657931383935014C53776565744B657934323531014C53776565744B65793439313101021A000484F5031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581C012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F8581C75692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44A400818258204653778373E09EB6750EC88A7419C1330AA4ECFBB1BCD86845853A91EE14155500018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1ACAA54FCC021A00029234031A085F90C9A800828258203D58D6CCC1124BB21036AE2C8F23E69D436CD6A24AEE0FEFCCCB38C21C82F0330182582056D13BF90D89FB2143E77AA00C32A496C306868E49917C56A85BBD739C2B966B000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000042CA5DC4DA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A158206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABE1B7FFFFFFF9B6EA76F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A0AA164BD581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F9601028201D818590118D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F96FFD8799F4040FFD8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC20058206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABEFF1A0001831C18641A05F1ADC81A0010BA099FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F875692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F4401821A002DC6C0A1581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A000F1A50825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165EC2021A000825BE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A40081825820AA2AC7CBCC8B4185D5868859291522E402874F343BF8373A44B13B9281561CBA00018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1A4D9763E6021A00029234031A085F90C9A600828258205D13309087186515A6EF247C73888147AA35081CBCCD32A6CDAE7F7B724CB4CD00825820AA08677EFE6429A13DDE64B331CA7539EE7C99664C2A041D8C81AF25E09D1077020182A300581D71B15A1A010843E8AFB6F963B03D452BE815B533DAD0CD23D819C2D20101821A00209EA0A1581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA158202FFADBB87144E875749122E0BBB9F535EEAA7F5660C6C4A91BCC4121E477F08D1A0005FF1C028201D81858DAD8799FD8799FD8799F581CFBE1F601DC42BAD2DA0763CE1BD36B5E62BD540AAB8A52E373832B09FFD8799FD8799FD8799F581C724E8F251D9E2AEDC79EED45B68050791EE2C31C899393DB4A436EEDFFFFFFFFD8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C58202FFADBB87144E875749122E0BBB9F535EEAA7F5660C6C4A91BCC4121E477F08DFF1A00E378209FD8799FD8799F4040FF1A0004A832FFD8799FD8799F581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3F44534E454BFF00FFFFFF82583901FBE1F601DC42BAD2DA0763CE1BD36B5E62BD540AAB8A52E373832B09724E8F251D9E2AEDC79EED45B68050791EE2C31C899393DB4A436EED1A06463531021A0002E9A9031A085FA386075820A6D5E111373C28E492B40A5230816D74735B628F3AE78E3CC85CB162D7CA29020E81581C7FE3920105A0AEBAAECC1B935CD5EBBD3CC8C28336449D27378825E1A70083825820D23DDDBD731743071773431CBBA567E604BAAD8EC40A91D523E82EC7179D0BA302825820160F780E001441B9F210A4384883F039996179E7D5B4F7D1C8416C2560E06CE402825820AFFC0565DE78B1972214E0CFBE7E771C0743FBB3B39916D50DE7A64970C4CD64030184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF0206483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBB01821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0033D6D0028201D818590107D8799F4100581CF8A18B70ADEB57DC7BD40D29537A941FC904340492FC366703F35586D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A0033D6D01A000DBBA01A062BB9D0D8799F4040FFD8799F1A062BB9D01A0033D6D0FF1A0010C8E0D8799FD8799F581C4F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665CFFD8799FD8799FD8799F581C06483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBBFFFFFFFF581C4F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665C9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F4240825839014F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665C06483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBB1A001E8480825839014F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665C06483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBB1A1E73D346021A0004510D031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581C4F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665C581C06483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBBA70083825820B1167511EE39BA7DBD3E92BADE32CE0E092C4307DE97A814FADC81FA51BFB5B00082582099A4346E53CC3F0860D3DB514BF96E52277B53A68BFCDF3E79CF502A3F4FCFEC01825820876DFE53F4C336C3EFDD99D1E5A85ED6D291311CFA1F855F266DAB5811EFCD5C000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02AA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF4701821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A014AFCFC028201D818590107D8799F4100581C9DBD2D99AB6CD2212B9E522DD9D90BB7F08C5722EDE45E41DE0F2374D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A014AFCFC1A000DBBA01A23A89029D8799F4040FFD8799F1A23A890291A014AFCFCFF1A0010C8E0D8799FD8799F581C0A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA5FFD8799FD8799FD8799F581CAA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF47FFFFFFFF581C0A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA59F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A001D43E4825839010A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA5AA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF471A001E8480825839010A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA5AA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF471A48FF714E021A00044B35031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581C0A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA5581CAA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF47A80082825820232AFEB99E2A80B33D552EAED9A438D480CC79CD575BDB91C66BC7BA58F844D7008258207829EE5913D6453A0C3C463D1F0416B483F22DD47D127B115910E9877710D94F000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000286BF1C9FA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A100D56E7581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01512D951A00071FCE9FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839014F9BAE79147020CFC7A1879A0429879C46F9E8BEEC5768B3744A665C06483DBC008DA8D008573FC18011036FAF3D2E9A05C7FCC6D0F0FDBB011A085B501F825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A800828258206FECD1C6D130853F175CEFD93F2308EC1CD1353F2FC23AD64138CFFDF7A6FBF300825820A19AC50AEE302EFEB142DC3CD7B42C2224C555A5F2A3D99114519719E6D5FDB5000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000257011636A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A115853E3581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01512D951A000774899FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839010A9B97A474390E7D65456E0F90FF89AB665683716F01C86FD203FAA5AA093D3FB36BB6F119400987A4D56C596940F1BA9FAECEDC85AAAF47011A2FEBCD29825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A400818258208CAAB4199C81853A4A9FCF50A7BA227A864B45F50ACCF23CD9B2CEEECC6A291600018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1A0356F90C021A00029234031A085F90C9A7008182582005399A2C223FFB2572D41283641AFBE9E5C09F3D0384B14E9E33304FC94932EF010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF0240C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA812011A3BE71540028201D818590107D8799F4100581C8B169C6AC8A47D18367035CB402A5D091E6C258E167C33F57C0E565CD8799F4040FF1A3B9ACA001A000DBBA01A011727FED8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A011727FE1A3B9ACA00FF1A0010C8E0D8799FD8799F581C7275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD94FFD8799FD8799FD8799F581C40C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA812FFFFFFFF581C7275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD949F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A002625A0825839017275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD9440C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA8121A001E8480825839017275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD9440C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA8121A0930624D021A00042775031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581C7275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD94581C40C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA812A40081825820FB86792847C24BE2CE3FDD23585A15ED390FDC934F2A7DAE8242DFBF6FF85F6000018182581D61BD251EBB0668572B76EC7484D0C07DD9C3EE0A29CB4A4536A02F108F1A033E8F0C021A00029234031A085F90C9A800828258209BFD387D40CC8366C9FD833C506B33DA89DABCD6EEE406FA87F476DD44BFAC2100825820B11F83A5ADC767B9A1D95ADB6BAFDC87B5DA1A1FEE99029ED9D20397C0997CCA000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B00000002929BE036A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0FCA00FA581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01606FD51A000774899FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839017275327A2FFC76BD2441E118A20AB0A84CDE4EA0D3336994BA3DFD9440C459BE301801ACE4E3190CC2C4FBEAC2A5D199BB220389F63FA81201821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A018E52E9825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165F46021A0008253A05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01AC00838258200CFCA1425F1BF0D0397C18851D48D0460164899EA16AC5787F517AC189FFEC53018258201A411654836A9227D91C7EB1EC916F684D5C765F5C716383AE755BFE837BE8F00882582063018B32A655712C844EE83835471D0EB4EF90B2F5C3712C3B136B4D56B2EDC5000194A300581D71ACEE18E799D5B4E30046E2EAAD1F75FC95997DD6EC37995F02670CCD01821A002DC6C0A1581CF013B0F786CAA20044734E346E7858B53563FA6DDE8C45C60E76CAC7A14001028201D818479F0000000000FFA300581D71E88F72F6B4673DB78EFE148B1CD90C689115DDB3D7E356A0003148CF01821A002DC6C0A1581C43C4BDAC04537DBD338935D00A8A0746A078D4F03D7AC302A4BF5D3DA14001028201D818587F9F1B000000685E42F84F1B00000002F59394BC1B000086E09763EE6F1B000002A3FE6FD2BC1B00000030AF2A42971B004ED56C0A53BA1B9FC24A17C17D4304E3CC4A468BC24C132CF0C248671448C0DB0000FF1B0000019345B1ABA01B0000019345B45F089F1B000003334F3B00501B000086E09763EE6FFF1A002DC6C0FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A1581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB27297FFA300581D717BD80451BDE142F4E9D9AF436DE303FB4C0AAF51D96B14A41E2E07DE01821A002DC6C0A2581C8DB269C3EC630E06AE29F74BC39EDD1F87C819F1056206E879A1CD61A14C446A65644D6963726F5553441B0000000D6A7AD1A4581C9E432AD7F92337287C0B68CB82D9E89413EE9E24C43BB4E91FE3A1EEA14001028201D8184E9F9F0000000000FF1A5EB2729BFF82583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34382583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF34282583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A0F2CF342021A000907E7031A085F7A62075820D36A2619A672494604E11BB447CBCF5231E9F2BA25C2169177EDC941BD50AD6C081A085F79360B58202B748DA8BB4A390FD5E617361DD6BA3BD02C1F31D9698EB05717F506647BDA4B0D818258201A411654836A9227D91C7EB1EC916F684D5C765F5C716383AE755BFE837BE8F0080F011082583901DA299558C70A8970781806DCA93D1801BA2F3B3894227A7B284786E49BABA19195B7CB8B1C6FEBB192CC487B5E8B96D737BADDB8BB09866F1A977E3D43111A004C4B4012838258201E1D406B2A72FF8759E586964242D1E41FA71883AED901C67A996EFF8426055700825820B5B61EEBD4A89410A9A860C55AC1BEF38DBDA22071F817843D59578835F253C700825820D87DC6BBE6E450D529A4514F4A85C7C450D88CED389F9FA73DFF0C47D4E3CF5D01A70084825820F86218A6F3ECD670BEE52876A205E1DE3D0F95C0923B6847110C31383492DED0028258209857B6D62E262ED2125EF6B13F2BAB1E7CF24FD42BCCFAB29CCD192F7CB4BDFA0082582058C42BB99CF44C02F30F30B6F7CE262F035B11B89E05FF30128A5EC6581C627201825820F86218A6F3ECD670BEE52876A205E1DE3D0F95C0923B6847110C31383492DED0030184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF028A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7C01821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A00C04814028201D818590107D8799F4100581C6D600C9A85109B541D0CA2063D2AFEDA23842C29181B53A1D7ABFE96D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A00C048141A000DBBA01A1562998BD8799F4040FFD8799F1A1562998B1A00C04814FF1A0010C8E0D8799FD8799F581C3A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D2FFD8799FD8799FD8799F581C8A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7CFFFFFFFF581C3A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D29F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A001712D7825839013A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D28A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7C1A001E8480825839013A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D28A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7C1A01A552AF021A00045795031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581C3A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D2581C8A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7CA70081825820CCEF0F037CF91C2A75086C251814A2BD4CC5A8454FCDEDCA0EAAF0471D38396C020184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02BC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F7011A1E19B040028201D818590107D8799F4100581CBCA47A06F33F0247D624851175A3620D70118CCDEAA5E045EABC475FD8799F4040FF1A1DCD65001A000DBBA01A006BA29AD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A006BA29A1A1DCD6500FF1A0010C8E0D8799FD8799F581CAC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C00FFD8799FD8799FD8799F581CBC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F7FFFFFFFF581CAC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C009F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A001312D082583901AC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C00BC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F71A001E848082583901AC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C00BC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F71B000000015E2705C5021A000428D5031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581CAC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C00581CBC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F7A400828258206942B73EBCC6DDA49C287D12BCE86F19A805C8F8319D17E203018FF7C8349DAC01825820BBE0CA7EE8E130918E08F5BF9D2FDA5C810DDC0EE8D61618A9649BFB53757C72010182A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02D6118A85C09C77FE3510B70324ED2DC95959873A6865447381E390EE01821A00247FF2A1581C8E969E8E238886405A1D6A43A6C0CFA8E94F15EB0E3DB805C00C4F58A14E546F6E79207468652074696765721A000CF305028201D818590109D8798C4100581C9389253D73453890C9B092805AA5E9FA6565E379363948DC293954E7D87982581C8E969E8E238886405A1D6A43A6C0CFA8E94F15EB0E3DB805C00C4F584E546F6E79207468652074696765721A000CF3051A000927C01A0085B18DD879824040D879821B0024ADFA1BA3F1EA1B00038D7EA4C680001A0003D090D87982D87981581C8F20EB5EE1F6F674788B5099C8EB5357D520EF7C04FB85665CA63725D87981D87981D87981581CD6118A85C09C77FE3510B70324ED2DC95959873A6865447381E390EE581C8F20EB5EE1F6F674788B5099C8EB5357D520EF7C04FB85665CA6372581581CEDBF33F5D6E083970648E39175C49EC1C093DF76B6E6A0F1473E4776825839018F20EB5EE1F6F674788B5099C8EB5357D520EF7C04FB85665CA63725D6118A85C09C77FE3510B70324ED2DC95959873A6865447381E390EE1A00130649021A0002E1110758206DF3C33BB98AA88CBA034AD6D510E20BE405FBE2E6B79288C58D5E282FDB7867A80082825820261C6307BB7BCFEF8F19F677AF596CDFB0C7D9435ED1DCBB8E0E7B01FBE8753C008258205D7B2A4BECBE5D0974CB51BCFD04F7ABC1D616BA65FCC84E1F3720E891C8B7A9000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000274FF162EA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A108A490E581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01606FD51A0007A5C29FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839013A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D28A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7C011A1DCA90C8825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A800838258208F64BCE3748C404F2C98F18E5EB7BFBAC278ACEA22BB9B4F157A57B6600FA1E401825820D05C5942C1A77BAE62CADDC98D8A5191EB553B6A5BA8C39B657CF7C4C797FA9901825820F5676EAB8331C12EFD28841FBC0E46CBCB928982C4582A16811B82A6B9CC6CEC000183A300583931905AB869961B094F1B8197278CFE15B45CBE49FA8F32C6B014F85A2DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821AEDB3FB9AA2581C63F947B8D9535BC4E4CE6919E3DC056547E8D30ADA12F29AA5F826B8A158205F84BF97BFE98FE29D04D627886EBC11417AEBB8AA7D4A4A43BF2A20CA3D2F0101581C8E969E8E238886405A1D6A43A6C0CFA8E94F15EB0E3DB805C00C4F58A14E546F6E79207468652074696765721A1D1EA409028201D81858ECD87989D87982581C63F947B8D9535BC4E4CE6919E3DC056547E8D30ADA12F29AA5F826B858205F84BF97BFE98FE29D04D627886EBC11417AEBB8AA7D4A4A43BF2A20CA3D2F01D879824040D87982581C8E969E8E238886405A1D6A43A6C0CFA8E94F15EB0E3DB805C00C4F584E546F6E79207468652074696765721B0000001166B125CE1A001373C2581CEDBF33F5D6E083970648E39175C49EC1C093DF76B6E6A0F1473E47761B000000028F200558581C8807FBE6E36B1C35AD6F36F0993E2FC67AB6F2DB06041CFA3A53C04A581C554DAF3E27E50C8C779713BE6BA70F95C35F23F0552A28E5A7A3401482583901EDBF33F5D6E083970648E39175C49EC1C093DF76B6E6A0F1473E47765BEA5F897C13DC19A9E0CB1A11C7B1F7AFEA002051C73C1B2DB2E9421B000000010509F704A2005839018F20EB5EE1F6F674788B5099C8EB5357D520EF7C04FB85665CA63725D6118A85C09C77FE3510B70324ED2DC95959873A6865447381E390EE011A01264194021A0005D0E905A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582034E73784C72799213D02CAD0277814472773C3610FEE3BCB7859F14517CFF2120D81825820DD325CDB8C4B2D7FBC66D6E04F2ABCE41E52FBF55807948AED6B9ABB726EB699000E81581CEDBF33F5D6E083970648E39175C49EC1C093DF76B6E6A0F1473E47761283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820C4A540AC2E06C217DD4FB3F39CA3863DA394BA134677DAFA9B98830CA71D584D03825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A80082825820588C619974F7776B75830D90B751E8443CEFA45D267242AAF1341DDA0220C5AD00825820797534AC6355BC0656C643075376B3464C15BD3933A90024EE554E29A6DFFFAF000183A200583901AC168BC68257963021C64393648FE3B0FFD67A09C015443F02731C00BC1F58469DC7BD3511C8BFA682803D5E786259978943DD645F5418F701821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A00BDC5BAA3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000292CC7B2EA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0FCC8354581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016810F51A0007A5C29FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FF825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165A7C021A00082A0405A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B58205328CA618708A88ED01EE7C84B2B658A2F19FB71839355AB99D510D2B8902D560D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A50082825820D65657494B6F749EC5F1CA035AB2CA02F07F80C8F24E3105E764C9B7E272E5CA01825820E226446DF0844C5EB8F1B6C09417CD575F3BD6629F4DA4B577AEB0CD49604512000184A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4CB3E6C0CCE7FEDBE0A076F4279D4C82530316F87D248D7E7DC81A221401821A003D0900A1581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B1A00055730028201D818590130D8799FD8799F581C5BCBC7EE1C9BEDE00C555A5A0D6D50321595159BCF8BDD4C68E3549EFFD8799FD8799F581C5BCBC7EE1C9BEDE00C555A5A0D6D50321595159BCF8BDD4C68E3549EFFD8799FD8799FD8799F581CB3E6C0CCE7FEDBE0A076F4279D4C82530316F87D248D7E7DC81A2214FFFFFFFFD87980D8799FD8799F581C5BCBC7EE1C9BEDE00C555A5A0D6D50321595159BCF8BDD4C68E3549EFFD8799FD8799FD8799F581CB3E6C0CCE7FEDBE0A076F4279D4C82530316F87D248D7E7DC81A2214FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C58202FFADBB87144E875749122E0BBB9F535EEAA7F5660C6C4A91BCC4121E477F08DFFD8799FD87980D8799F1A00055730FF1A51E6B495D87980FF1A001E8480D87A80FF82583901A1ED08334901473CC30C9C3B5917C5DF973D5591E3733DA87BD25348663A8FB1C88F7C15069FAEBB39BD8B34A6CF70552045DA207F1D03BF1A00151250825839015BCBC7EE1C9BEDE00C555A5A0D6D50321595159BCF8BDD4C68E3549EB3E6C0CCE7FEDBE0A076F4279D4C82530316F87D248D7E7DC81A22141A013C827B825839015BCBC7EE1C9BEDE00C555A5A0D6D50321595159BCF8BDD4C68E3549EB3E6C0CCE7FEDBE0A076F4279D4C82530316F87D248D7E7DC81A2214821A002DE77EA5581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B1A001AA44F581C9A9693A9A37912A5097918F97918D15240C92AB729A0B7C4AA144D77A14653554E4441451A0DA5D615581CA0028F350AAABE0545FDCB56B039BFB08E4BB4D8C4D7C3C7D481C235A145484F534B591A01AF4226581CAD6290066292CFEEF7376CD575E5D8367833AB3D8B2AC53D26AE4ECCA14A5A6F6D6269743939323501581CF4988F549728DC76B58D7677849443CAF6E5385DC67E6C25F6AA901EA94A506978656C54696C6535014B506978656C54696C653132014B506978656C54696C653236024B506978656C54696C653330014B506978656C54696C653333034B506978656C54696C653336014B506978656C54696C653532014B506978656C54696C653538024B506978656C54696C65363101021A00032D61031A085FA3940758201FEB00F18FBE772CC375AA495DA0B08D837A719671E68DA62F8ED658915D8FD1AA00828258205479025DBF2E833E57FA45E51BE9D17F67A972D9EF7FE6F37EC1CA7CD1623BDF0082582078E2DD3F11E14CC9BFBD531869D58A0F23AFAAC771D91125A502141BF260C59A010186A3005839116EF4901A1DEF16B6293527187859273373813CF4FCD702CB4BA2858E30B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1E01821A002764BAA1581CC02BCEFFA5811FE64CAA949AFFC0220A2C862A12F143F10CE55A29AFA14C746170707930322D3234353201028201D81859013DD8799FD8799FD8799F581C012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F8FFD8799FD8799FD8799F581C75692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44FFFFFFFF40401A000F4240581CC02BCEFFA5811FE64CAA949AFFC0220A2C862A12F143F10CE55A29AF4C746170707930322D323435320101D8799FD8799F581C0174015D15D6EB735DEB99CEB57B785A5468DFF51B624A8E4C97EEC1FFD8799FD8799FD8799F581C30B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1EFFFFFFFF1B000001935A51C2C01B00000194718E51A0D8799FD8799F581C012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F8FFD8799FD8799FD8799F581C75692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F44FFFFFFFF000201FF825839010174015D15D6EB735DEB99CEB57B785A5468DFF51B624A8E4C97EEC130B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1E1A000F424082583901012691FB8EB0863AEA3191001ED6458CA9D4F276E140C58F4C6B89F875692F734F16B03B7D1BF798AF86A508B680DC7EEDA84B7CBD4C2F441A003D090082583931455C0140DAA2B62E75E1B3C124FD1CD80401DA75C52BC467902C66DAA97AA69C5FDF517CFA507E147C9777632006D8E665F403E903C85A531A000F4240825839018D4E4B67CAE8891765366F6D6CBA4D1423067B456970AF6F88581640E0BA41AE1B1342E027F10252D03A58BA7D88ACCDAB261F8A83FA29001A003D0900825839010174015D15D6EB735DEB99CEB57B785A5468DFF51B624A8E4C97EEC130B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1E1A006E2D8E021A0005B278031A085F7B65081A085F790D0B5820BC1D724A705E746DD8EAA8CD0BF99B6D1237FBE5BED7FCBF07F9699314D0E2FE0D8182582078E2DD3F11E14CC9BFBD531869D58A0F23AFAAC771D91125A502141BF260C59A0110825839010174015D15D6EB735DEB99CEB57B785A5468DFF51B624A8E4C97EEC130B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1E1A0103EAD2111A00088BB412818258202C812D5BA6D240EEA79DCA528F22A3854ADCAAC140F3151ECBCF5D945C5981E300A4008282582016980C09E598217940DE49D6AD1214E5101F7A84045172DA7DCA3FA205BE26AE00825820BE020606F10E6F546DEDD5961FA5FD681B4167582FEAE1749E20F2695FB0E9820001828258390191DB03724321F3BAD517785F7E8D27AE0C905D941D2FB25BB9FAE4FB082347081EEE5F30677F308D9EC03C988FC0FAB177F2ED315662871A1B000000012A05F20082583901A5C25122961C4A7D2F5430971754269128D07BB83F984FAB67EA2FB61AF81C522372AF01186262F54C6FB26DC6D416314E8EB316DAC166581B000000096CADD858021A0002990D031A085F958EA700828258206B28CB55568D554FF14B973B376B35D875E01676DF3A5F8F2C15DAC4D2BF74DC00825820436A725DCF063FC108A7FCF71B95A2AB665018F4F5860358AB6813AD828912C7000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02E8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5B011A093D1CC0028201D818590107D8799F4100581C6FA5CCA8C3E27A1672BFB64E9EC1E52564EEE973DDB21C1F9BF17B80D8799F4040FF1A08F0D1801A000DBBA01A002ECC20D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A002ECC201A08F0D180FF1A0010C8E0D8799FD8799F581C34EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E7FFD8799FD8799FD8799F581CE8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5BFFFFFFFF581C34EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E79F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F42408258390134EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E7E8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5B1A001E84808258390134EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E7E8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5B821A50045923A1581CEC90095D26CE5D2BA345DBCFBD4F11835B02D43E661F13FEFD2BE7B6A6483031303430303432014830323039303031380148303331303030323101483034313330303338014830353032303031330148303631323030313701021A000453CD031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581C34EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E7581CE8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5BA400818258208DBB997D66737DC48ED80C392C0A2BF078B30D83265DEF33270DAF32993E3558000182825839018993EA231B46DD561675114CAE6D2938A7AC73D94A96C9755F5F1D918993EA231B46DD561675114CAE6D2938A7AC73D94A96C9755F5F1D911A25B69CDC8258390156BC5A2AC372A68D8135C350C95B42E34966765B3C501406B9641C7D56BC5A2AC372A68D8135C350C95B42E34966765B3C501406B9641C7D1A02FAF056021A00029694031A3B9ACA00A8008282582069988FEE062A591B7773EB96AE369116B7E7815536124C2DADE529BFCFE003860082582085972FA7CBB8EC6863AE59DAA2E0A87DC7370A9D8FC6E13A83613BC92FC455C6010183A20058390134EA44F034832A79BB453B4C9470A1C681927655FD3E228DCFD8B8E7E8338D58B008ED88585D0C1EF724DBE671B035C10AB52A89BE2E2D5B01821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0035A198A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000029BBD4CAEA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0F96E1BC581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016A5AE51A0007A5C29FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FF825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165A7C021A00082A0405A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B58205328CA618708A88ED01EE7C84B2B658A2F19FB71839355AB99D510D2B8902D560D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A3008182582033B1F05A523F1995CCCCDAA996E2230495F498349E85EEA326DA12CBDC356C4F00018282583901B357FA6DB9437A651FE4BCABAD47D7336DC5A7415EB59CF6ED494A1B4FA46E41A1111C816CA03188DEE83445CD3B0B2FD5AB7A18367836011B0000000220C6BCF082581D615DDD666BDFA8DE62EBE51FBE6B9ABDBA86A002EE58B7E1C3275D10CF1B000000336C482CE3021A0002922DA700818258201A3AE90C23D16053E5AC729392B04A6A752E27807807C8F0F88F78A25873B1DF030184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF0248A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3A011A0C380D40028201D818590107D8799F4100581C5D9AB10764416DC55CADEAF860430BA928D6EE0040B85EA3E947DD26D8799F4040FF1A0BEBC2001A000DBBA01A00456258D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A004562581A0BEBC200FF1A0010C8E0D8799FD8799F581C53313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D5FFD8799FD8799FD8799F581C48A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3AFFFFFFFF581C53313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D59F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A00124F808258390153313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D548A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3A1A001E84808258390153313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D548A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3A1A00AEEE2E021A0004219D031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581C53313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D5581C48A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3AA600818258205D7B2A4BECBE5D0974CB51BCFD04F7ABC1D616BA65FCC84E1F3720E891C8B7A9030181825839013A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D28A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7C1A01A1C69A021A00038C150758205FE334C433C9411577A9E1112EB90506D6A99989450FF7EFD9E4F47B6831571D0D8182582006F28F443EDFD2382C45B8E2D81D610D6F2E947B91AC99A24A5A9CC31C138416000E82581C3A09CBCF03580A44BC14993CC9549378C254D997275D723C808AA6D2581C8A23818E219BA42201C01C9040C261A61C7E4FD138E780A390670C7CA70084825820ACF7E31EAEF92250387D166B237460C3378E4A700201BB9FC0722AD7248446D7018258207BC91C1345C91E6AA4D2E10CF268E442CAE3A2912F2D21DBAB6E8F6682B0E7A50282582073C2B4F453CE3653A63B0D5ADD99B9BCAFD1C26375F6423398613DD8731F44BB008258203ABCC57FDE6D87F6856AA3BD49D42413422DD33535770C7D83AD7E3A2E8BFCD6010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02E968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E901821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A01179035028201D818590107D8799F4100581C7A1DFCF178777C4E19927164EC5218A95CC10E9EE25FF111EE784A88D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A011790351A000DBBA01A1FB0C05AD8799F4040FFD8799F1A1FB0C05A1A01179035FF1A0010C8E0D8799FD8799F581CF2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDDFFD8799FD8799FD8799F581CE968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E9FFFFFFFF581CF2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDD9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A001A9EF782583901F2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDDE968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E91A001E848082583901F2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDDE968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E91A33475248021A00045795031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581CF2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDD581CE968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E9A8008382582029EA5B86EA539129C2CF8DA056EDF35E7DAA4310E6E13017472CE6CA7C20A8AA008258207527CEFF849BC5262D2BD17435CB4879F776E0AE90C893A3133F0DD63743BA6E01825820C6716C26B1153003F6C4755D328817080664228731D0A692AE6F3D5499E68924000184A20058390153313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D548A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3A01821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A00496678A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000027B42D8E2A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A10650B79581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016A5AE51A0007DA899FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901F2C134038DB0AD9A8DCCC58D2569FD892C4D9113D03A3778B3CF2DDDE968F34ACAB65387FC5F88F0E175EE2AE1E6E5F4CC8A32816ADF15E9011A2C93FC8C825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A003426B2021A0008E24E05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B58209EE875D8E07DE358235CDCEBD37C0FFD94E136148B09619B944FB08137AE60400D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A90083825820767F748EA54597278219D99697BFC95E77A042C3C6542088A0D757C79435383E0082582083A7FAA439BC1D5B454FC43984CD2FA18D487221E2FBDD995546BEF52342C8B500825820E458D09F67D05ED4A9D9D014AFA57E0F9528D08445B26CE41EDC70327D275B41020183A300583911AF97793B8702F381976CEC83E303E9CE17781458C73C4BB16FE02B831D72E8DC9E2563539B51AA0916F91A4ADB60E18C9F1E7B092C4B626501821B0000003846512E42A2581C6FDC63A1D71DC2C65502B79BAAE7FB543185702B12C3C5FB639ED737A2414C015820A5288776C9EFA750E7649B81C46600E9354EF2246533FF628810F7F0BAA4546D1B7FFFFEEBE82F9267581CB6A7467EA1DEB012808EF4E87B5FF371E85F7142D7B356A40D9B42A0A1581E436F726E75636F70696173205B76696120436861696E506F72742E696F5D1B0000055E5D2DA8BD028201D818588FD8799F581CC134D839A64A5DFB9B155869EF3F34280751A622F69958BAA8FFD29C4040581CB6A7467EA1DEB012808EF4E87B5FF371E85F7142D7B356A40D9B42A0581E436F726E75636F70696173205B76696120436861696E506F72742E696F5D181E0500001927101A001E84801B0000019345B0DC981A00151EEA1A01CBB52E00000000D87A80D87A80D87980FF82583901ECB7B6541B911EFFB27456842EEE88931885A8202D1A6E1CF413B10AB384CBE7263E3A9B1D37AC6331F599518CA34648A5ADAA3F37F6F4FC821A942B5257A0825839010B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA47754858DDD2795AAB89617D72D7D240ABCCD036FA4B761FA39787A3821A0472BF11A1581C1AD3767073087DF4FC97FBA7AC4A71A0A6CD556F1AD96A7B1C9870C4A1415801021A00075120031A085F8E92081A085F797C0B58207F3387E756B9D8A55EB8686729C699921DFC60AA9978164F735C14FD981900220D8182582063C5DEA8DA9F5241AC8D6359354F2B322AEA0698EBD59845D62F362D6DDDB6F6000E81581C0B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA12828258205EC56338104FCBFE32288C649D9633F0D9060ABCE8B8608B156294F0A81D29E201825820BABC647257B8D78B86E862BA9769401714ED403E7C46ED1B59C3FC32E0247C8200A900858258204A26249D2D4433460103C2826A62315BBA310128D548DE6DAE42AE86FE305F91028258204D3E0F0C4D330940CA5175F8DB31A3FBF2402E0842CAA31FB461454987BAF33600825820594FFAB4ADDDA476964DBBC5A2BDAC3A7F2C01F877FD85E8E7AA3AEA8515BCCF0082582066526A46E39F909E397D66E8C09CFAFE716F0E274293E3D09641AB5BBF7AB96F0082582083BAFE11FEC14B84E96ECC0FA7EE99C7DBCDDC9C544C54638F722857C194D075000185A300583911AF97793B8702F381976CEC83E303E9CE17781458C73C4BB16FE02B83E76C3EDD3FB0099F352539437F40FC68C2673FFB344165C7BD7852DB01821A0EF4A33CA2581C2A2DA15EDFB850666B134D13CD8EBAFD61E8A526798AC26A24CBCC39A14B4D6F6F6E4D697373696F6E1A0029DF68581C6FDC63A1D71DC2C65502B79BAAE7FB543185702B12C3C5FB639ED737A2414C015820601D109CE8F3AE0B9111C7515D3D2C0FF5C130A287FFA8E418832157BC928B761B7FFFFFFFFE7762F7028201D8185879D8799F581CC134D839A64A5DFB9B155869EF3F34280751A622F69958BAA8FFD29C4040581C2A2DA15EDFB850666B134D13CD8EBAFD61E8A526798AC26A24CBCC394B4D6F6F6E4D697373696F6E181E0500001927101A001E84801B0000019345B0DC981A000CB46F190E6E00000000D87A80D87A80D87980FF8258390153313BE7F4738A1AD1554126858D052F318CCBF66D88B5016E9155D548A4AF6768E5D67240936EFE18AE15DAC2EB70374AC31897C02CFF3A821A03598DECA082583901DD499A49FC8868E5910F96E2C1C07D53A35FCCC82EF080EBF747EDBB6E755FB48F2FB99E49A4EB183F99E0F7FA5D05DA134A56C627EA4469821A003010B0A1581C2A2DA15EDFB850666B134D13CD8EBAFD61E8A526798AC26A24CBCC39A14B4D6F6F6E4D697373696F6E1A00023154825839012AB3D0969B59EB26A7714E88020A88EDC2FEB67A08D88CA7BDD7670930C42D71AC20DC55B22E86519C0585F230F6E6045B82833880A5C58C821A0453664CA0825839010B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA47754858DDD2795AAB89617D72D7D240ABCCD036FA4B761FA39787A3821A044E1CABA1581C1AD3767073087DF4FC97FBA7AC4A71A0A6CD556F1AD96A7B1C9870C4A1415801021A00088982031A085F8E92081A085F797C0B5820277476F4AE53BB0E2DF9D9774196C948083D4D84AB7D81BD8DF29B1197969E1A0D8182582063C5DEA8DA9F5241AC8D6359354F2B322AEA0698EBD59845D62F362D6DDDB6F6000E81581C0B46751422F2357DD4ECEE5A84B288B982B20375A0503CC7ECDDA5AA12828258205EC56338104FCBFE32288C649D9633F0D9060ABCE8B8608B156294F0A81D29E201825820BABC647257B8D78B86E862BA9769401714ED403E7C46ED1B59C3FC32E0247C8200A70082825820FB7C5876305EF50B46DC9ED94A3172CA1BA2271A28A737D922E0D2AB487EBE450382582042CF2A6E348894EC3E7F343D20EC75567D997A63E6D5B4855A75D9FA50B70FEA000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF023A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5C01821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0013464D028201D818590107D8799F4100581CF395134E72651AE43B3DB851E87C2918FA799FC4AC14E8D60AB9E343D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A0013464D1A000DBBA01A023BB555D8799F4040FFD8799F1A023BB5551A0013464DFF1A0010C8E0D8799FD8799F581C42CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A2670315FFD8799FD8799FD8799F581C3A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5CFFFFFFFF581C42CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A26703159F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F42408258390142CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A26703153A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5C1A001E84808258390142CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A26703153A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5C1A045EA58A021A000444AD031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581C42CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A2670315581C3A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5CA40081825820FE89CB18E22995A6EBF32480C90331B583C985AACAFDDA3AAA003D01A788F81A00018282583901808222A87910162C59B973E8B52F0DE165DCB757428986832E6176774F3A586D8F2FDF05C9423712FFEB7A9E467B8168E612A5215BDD268F1A3E1BEAA88258390199769765817D817659728F1BC2B834ED14C353D9D74BD7D655CF2529E310D5E43E36FF0FA572060407CF16AD7C502B58F33E97D8D667A09F1A0AE5881B021A0002917D031A085F8769A8008282582020BCA6CB9325CAE32927661516195AB296697951B643D929FCAED575E33539E801825820EA895F251DEC99D7FF77B1344CAB5EE17AE5102834FBAE42C67E979CDECC6011000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000027863147AA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A107851C6581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016A5AE51A0007DF789FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA20058390142CFF643F26C642AED9342A67DDB7C9000A5D02C6EDDDCA8A26703153A5FB22FFEB084FD90E1F97CE7081BC36E95301AA4ADBEBF633CFE5C011A030D8B28825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01AB008182582088969AE4F518D4AB7488B634A542F356E41CDAD2FFCF00234623CEAF29861628020182A300583931FBA91F46FC289AD8ABE08D07488D8BB5A2C15C41D6903CE70B0DED94419971DFB46A7FA611DDF545EE84DABD741454C4837669DE8322D71801821A003567E0A1581C77019D836D9A5F1E1225AD0EA8262F99C14C89AE74A750BCE29CEE93A1581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE201028201D81859018BD8799F1A4190AB00D8799FD8799F581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE2FFD8799FD8799FD8799F581C6E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD2FFFFFFFFD8799F1A0F7314001A03473BC09F581C4523C5E21D409B81C95B45B0AEA275B8EA1406E6CAFEA5583B9F8A5F01FFD8799FD8799FD87A9F581CD064690601080228F9CBD54CA70A1590E9498C913B9FC7CBD845E888FFD8799FD8799FD8799F581C6E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD2FFFFFFFFD87B9FD8799FD8799FD8799F581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE2FFD8799FD8799FD8799F581C6E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD2FFFFFFFFFFFFFFD8799FD8799FD8799F581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE2FFD8799FD8799FD8799F581C6E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD2FFFFFFFFD87980FFFFFF825839017F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE26E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD21A89106534021A000411DE031A085F7CEC09A1581C77019D836D9A5F1E1225AD0EA8262F99C14C89AE74A750BCE29CEE93A1581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE2010B582036CF3A7DE9EF404F1447511E4D67A8BF3DB14788F4F963DB5CF14DAF94C0E0090D8182582088969AE4F518D4AB7488B634A542F356E41CDAD2FFCF00234623CEAF29861628020E81581C7F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE210825839017F80C89C226955ECAC63403F398049AAED9B4E07E71B7608154B2DE26E0A6DC56600F45C8EF088F9A1C8C3612E43FD8825E3979DD7D15AD21A8943C425111A00061ACD1282825820132908513FF3D5A8F31919C291C38B4BD3DBE75428CF6F958CEDDC7DD5DBE86D0082582026E330110F954A2618714658C844198DF88E4FB70BF5C0D69B34FA3F71097E2400A50081825820B5613AA85645376EB9BD8097E837AA09D4579D66D3D98465346B8ED8CC6F99B7000181A2005839010EE5AC27BBF0F625C9C934A82BDB2B912E0C9181ACF44E48C1B01CFB2D967F349132749E1F37C9FC165987B6B85A2F77995AF50FDE63A31B011A8D410E6E021A00029D85031A085F9597048182018200581C2D967F349132749E1F37C9FC165987B6B85A2F77995AF50FDE63A31BA700828258204C8885FA91E50B70C47173E2B28132F2FDA6800766EFDE25D82DED383B82FE350282582025360A0598506504476D4E4D2188481E7391FB062FFBBC525A263CC91C357DC6010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02D0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C5011A0C380D40028201D818590107D8799F4100581C44187A77E753B2F3888C0C873AADE827DFE12AD926494EA011A1FDEFD8799F4040FF1A0BEBC2001A000DBBA01A0036C6E7D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A0036C6E71A0BEBC200FF1A0010C8E0D8799FD8799F581CCA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239CFFD8799FD8799FD8799F581CD0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C5FFFFFFFF581CCA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239C9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F424082583901CA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239CD0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C51A001E848082583901CA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239CD0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C51A018B6DD7021A000433D5031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581CCA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239C581CD0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C5A700848258200AE02698BE76594525522541C04EC6A5C9E7548D61EEC8390530D92A928ED14A00825820FE785A5D9D1BE6DC894D7C84536C6102A569C4D21C124EB9EC5ED609CA5E051E028258201926A3D3A62582DC643B76D472D8DFFB2C5BE10A97BD670382769F6EFD9D27060382582051623DCF32B45E62CDC0EC82BBC1463F95043D36DF5621D05EE2347DA216835E000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E107901821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A00526CEA028201D818590107D8799F4100581CAC0C28AAD35B68910DF90691DCB6819FBF17CA629D4E45E8A8BFE452D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A00526CEA1A000DBBA01A09CABF58D8799F4040FFD8799F1A09CABF581A00526CEAFF1A0010C8E0D8799FD8799F581C4E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A312FFD8799FD8799FD8799F581C787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E1079FFFFFFFF581C4E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A3129F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A00129BD8825839014E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A312787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E10791A001E8480825839014E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A312787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E10791A1E715AAA021A00045795031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581C4E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A312581C787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E1079AD008382582025F1DF3FA5B8F1BF76306408946E5497C506F96C21A63154D464C5FD1FA28F0B00825820CC33A433749B6B7737AB3493ABCCB51B8B0CDA4368A41A0E91DC6A5592B783F702825820CC33A433749B6B7737AB3493ABCCB51B8B0CDA4368A41A0E91DC6A5592B783F703018382583901C8EB8B8C95252972C9DE332F248DF19E0186A82ECA073862857AB77B8D5BBF2C20C106868553135B9EDF448FF5B8A96634B71A4B2E25E287821A001E8480A1581C5D16CC1A177B5D9BA9CFA9793B07E60F1FB70FEA1F8AEF064415D114A1434941471A6E11FE37A300583911EA07B733D932129C378AF627436E7CBC2EF0BF96E0036BB51B3BDE6B2F387F67A83B02987EC60ED765EB34AC9FD70CF6092F81A0B689CE5E01821B00000164413C1C63A2581C5D16CC1A177B5D9BA9CFA9793B07E60F1FB70FEA1F8AEF064415D114A1434941471B0000052447168BEB581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA2434D53500158207B12F25CE8D6F424E1EDBC8B61F0742FB13252605F31DC40373D6A245E8EC1D11B7FFFFD80E02CF24D028201D818587FD8799FD8799FD87A9F581C1EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44AFFFFD8799F4040FFD8799F581C5D16CC1A177B5D9BA9CFA9793B07E60F1FB70FEA1F8AEF064415D11443494147FF1B0000027F1FD30DBC1B000001643B7DD50D1B0000052440F3DDBE184B184BD8799F190682FFD87980FF825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A10599AD1021A000A1027031A085F7A3005A1581DF11EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44A000758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A085F797C0B5820B63D82CE92854B1BF4367B843D884D2A869B8D8DB8CDD1EC9FEA7D65C8BEC4880D81825820CC33A433749B6B7737AB3493ABCCB51B8B0CDA4368A41A0E91DC6A5592B783F7030E81581C5B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B10825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A0FF8DB38111A004C4B4012848258200DC17712E37A4E741767DB2F90D4FFBF69FAF88B9BED4C47864F7BD912924BEA00825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A621776008258202536194D2A976370A932174C10975493AB58FD7C16395D50E62B7C0E1949BAEA00825820D46BD227BD2CF93DEDD22AE9B6D92D30140CF0D68B756F6608E38D680C61AD1700AD0083825820544CC74A55541E9261A08127D4548BED6D7FB01621CAF6AE00448B15AA562F6701825820544CC74A55541E9261A08127D4548BED6D7FB01621CAF6AE00448B15AA562F670282582080B893B9DD9EE996E9E8EA8227195E2CB9AC6391EDEA75856DFED08B1D3566DA0001838258390191BB0D1ED367540B88E33B3C7339A440C2CA6A13C0EB306619302A8D9F8085F790FF13CF0C6DAA47E02DBD1ED6F7F1E2F6C738AA58A26B10821A001E8480A1581C766FCE8055F39D40FCFC19721677B3DEB2E7846950AE08DCE757F1E7A14A535547415220425553481931A1A300583911EA07B733D932129C378AF627436E7CBC2EF0BF96E0036BB51B3BDE6B52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C201821B00000021F5DA70B3A2581C766FCE8055F39D40FCFC19721677B3DEB2E7846950AE08DCE757F1E7A14A535547415220425553481A008D9E2B581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA2434D5350015820BC496A205E821CE1C924ECDE9ABECB84D9B4F5BE5BA7324B67835A8E82B33F9B1B7FFFFFFFC057A5A9028201D818587ED8799FD8799FD87A9F581C1EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44AFFFFD8799F4040FFD8799F581C766FCE8055F39D40FCFC19721677B3DEB2E7846950AE08DCE757F1E74A53554741522042555348FF1A3FA85A601B00000021F24450321A008D9097181E181ED8799F190682FFD87980FF825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A0E3D15C7021A000A1168031A085F7A3005A1581DF11EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44A000758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A085F797C0B5820EBF3739DD9F4A4E80F7E3867E7CF489E2902897E0745081A3B904FD16F16457A0D81825820544CC74A55541E9261A08127D4548BED6D7FB01621CAF6AE00448B15AA562F67020E81581C5B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B10825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A0DDC576F111A004C4B4012848258200DC17712E37A4E741767DB2F90D4FFBF69FAF88B9BED4C47864F7BD912924BEA00825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A621776008258202536194D2A976370A932174C10975493AB58FD7C16395D50E62B7C0E1949BAEA00825820D46BD227BD2CF93DEDD22AE9B6D92D30140CF0D68B756F6608E38D680C61AD1700AD0083825820594FFAB4ADDDA476964DBBC5A2BDAC3A7F2C01F877FD85E8E7AA3AEA8515BCCF01825820619BCA4891E1B4DBD1E065E96777D75BE1118695F29F75A963D7431CD428971702825820FDCBF935E31FDC76427963DF3FB78067A08DD0E5E35E8B3CFFAA076B68A7EA14010183825839012AB3D0969B59EB26A7714E88020A88EDC2FEB67A08D88CA7BDD7670930C42D71AC20DC55B22E86519C0585F230F6E6045B82833880A5C58C1A05287A2CA300583911EA07B733D932129C378AF627436E7CBC2EF0BF96E0036BB51B3BDE6B52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C201821A47ADC2C8A2581C2A2DA15EDFB850666B134D13CD8EBAFD61E8A526798AC26A24CBCC39A14B4D6F6F6E4D697373696F6E1A0086BF9B581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA2434D5350015820001A7051732F9073A294C1F1FCC66E4DFCD5E0CAD75E239815E6C0B7B5381D1D1B7FFFFFFFFB9B4A87028201D818587DD8799FD8799FD87A9F581C1EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44AFFFFD8799F4040FFD8799F581C2A2DA15EDFB850666B134D13CD8EBAFD61E8A526798AC26A24CBCC394B4D6F6F6E4D697373696F6EFF1A0464B5821A464A540B1A00859DC619012C19012CD8799F190682FFD87980FF825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A156FE688021A000A0593031A085F7A3005A1581DF11EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44A000758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A085F797C0B5820806A93906332CF20092B92BC1A3A2652DF6ACC0CCD2EF81C7D1CAFBC24AA1BB90D81825820619BCA4891E1B4DBD1E065E96777D75BE1118695F29F75A963D7431CD4289717020E81581C5B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B10825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A150F1C5B111A004C4B4012848258200DC17712E37A4E741767DB2F90D4FFBF69FAF88B9BED4C47864F7BD912924BEA00825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A621776008258202536194D2A976370A932174C10975493AB58FD7C16395D50E62B7C0E1949BAEA00825820D46BD227BD2CF93DEDD22AE9B6D92D30140CF0D68B756F6608E38D680C61AD1700AD00838258200217CFD0F818317879FBD91DE138F2DDFC83A928DC7E4006991B71C586D2BBA70082582042F4A536A8944BA7595326E2022AFEBE6185D94B52E88039D28FF05808C8D185028258205258E8F940ACE139E12DED485987A7267889C5D6FBA21CA10B28C684910F120002018382583901719634D64CC58BA2D359221B644152D98C77BB061BAF03A71B6E2732864FB22DA5496D2483950ECC4B7DADEBC97E84A5B9C855B1EFB7939F821A001E8480A1581C707E7BC5FF06BAEFEB5ED3678E796C9D5AA8C7A8DD12FAAB8F1469B1A14C43617264616E6F43726F636F1A000DF904A300583911EA07B733D932129C378AF627436E7CBC2EF0BF96E0036BB51B3BDE6B52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C201821AD7CD644AA2581C707E7BC5FF06BAEFEB5ED3678E796C9D5AA8C7A8DD12FAAB8F1469B1A14C43617264616E6F43726F636F1A07DBB53D581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4CA2434D53500158202842B9FF6D276DFCDC83F3304901C836BFB34229986C9FEBE3CE00C844DD032F1B7FFFFFFFD80417DF028201D818587CD8799FD8799FD87A9F581C1EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44AFFFFD8799F4040FFD8799F581C707E7BC5FF06BAEFEB5ED3678E796C9D5AA8C7A8DD12FAAB8F1469B14C43617264616E6F43726F636FFF1A27FBE82A1AD65341511A07D1C0D7181E181ED8799F190682FFD87980FF825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A24A9518B021A000A0B29031A085F7A3005A1581DF11EAE96BAF29E27682EA3F815ABA361A0C6059D45E4BFBE95BBD2F44A000758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A085F797C0B5820DA581CC60E507AF1194446E78F4231CBC0C946A2B55B7A7ED3ED1265A75F1CCF0D8182582042F4A536A8944BA7595326E2022AFEBE6185D94B52E88039D28FF05808C8D185020E81581C5B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B10825839015B7E23228DBA75595645FC357D0F97BA258CFCCFFF5D588D4BB9165B533B9586F0FB9AAFD578E0D0154E9478D23614E736EB39D1A30D8A991A24488CF4111A004C4B4012848258200DC17712E37A4E741767DB2F90D4FFBF69FAF88B9BED4C47864F7BD912924BEA00825820CF4ECDDDE0D81F9CE8FCC881A85EB1F8CCDAF6807F03FEA4CD02DA896A621776008258202536194D2A976370A932174C10975493AB58FD7C16395D50E62B7C0E1949BAEA00825820D46BD227BD2CF93DEDD22AE9B6D92D30140CF0D68B756F6608E38D680C61AD1700A500828258206D365D517FC47593DDE490C311EC39A8B1C65BA5B65249263316118B351D63F9018258206D365D517FC47593DDE490C311EC39A8B1C65BA5B65249263316118B351D63F9020183A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4CAAE06C6939780AE48B2FDA538B46E8CE5EA097D303100A9AB1736547011A24004ACA028201D818590134D8799FD8799F581C817D2100F5352A88264CB6C0C600D9763F5D9C92ED39A4C96106C460FFD8799FD8799F581C817D2100F5352A88264CB6C0C600D9763F5D9C92ED39A4C96106C460FFD8799FD8799FD8799F581CAAE06C6939780AE48B2FDA538B46E8CE5EA097D303100A9AB1736547FFFFFFFFD87980D8799FD8799F581C817D2100F5352A88264CB6C0C600D9763F5D9C92ED39A4C96106C460FFD8799FD8799FD8799F581CAAE06C6939780AE48B2FDA538B46E8CE5EA097D303100A9AB1736547FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C5820A449F98FA06FFF1D6C17B95C65CA609660049DC683CC3E94D3846B05419FC20DFFD8799FD87A80D8799F1A23C34600FF1B0000000256A86893D87980FF1A001E804AD87A80FF82583901817D2100F5352A88264CB6C0C600D9763F5D9C92ED39A4C96106C460AAE06C6939780AE48B2FDA538B46E8CE5EA097D303100A9AB1736547821A00118F32A1581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1A066DA46482583901817D2100F5352A88264CB6C0C600D9763F5D9C92ED39A4C96106C460AAE06C6939780AE48B2FDA538B46E8CE5EA097D303100A9AB17365471A94824E1E021A0002EC11031A085FA3A50758201FEB00F18FBE772CC375AA495DA0B08D837A719671E68DA62F8ED658915D8FD1A80082825820273AF45EF67EB392597A43453BA483D2E70DB50B83F2D13F11B254633353AA390082582083959F198967CBF48504D0F9971DF48C244440051E80FA5BBC1B9CFC1E5A1D21000183A200583901CA88481963C89C55BD76F67A7101855BE63D9119D5C6242E7801239CD0D296E758D6E1DEB5EB9239EA8A2E31D0F9C501B8AD5CED76C288C501821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A004D450BA3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B00000002844ED67AA3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A102B0CBB581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016D68251A0007DF789FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FF825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165A7C021A00082A0405A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B58205328CA618708A88ED01EE7C84B2B658A2F19FB71839355AB99D510D2B8902D560D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A700858258203356B38ADD9330BCE76640EA96F4359543326C7F0A073D3110FDE4A2996D8174028258203356B38ADD9330BCE76640EA96F4359543326C7F0A073D3110FDE4A2996D817403825820C253A358490817992F1A03FB00338D35596A4E0255AFF9252854BAAE61E5F35900825820F6209961E1FB52C8EE8640C5A0FF530B9B6580A9C4475EA579E4330938B96E0403825820678757DE9221FB0DC054E8C64BC0F50DA1D47272408F3C1F49BB859A058BAE18000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02E789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BD01821A004C4B40A1581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A00221CAF028201D818590108D8799F4100581CA56DDC099E5EFABEA0FE2BBC57F604FB257A5F3E89804C1D22CFD649D8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FF1A00221CAF1A000DBBA01A09DA30B8D8799F4040FFD8799F1A09DA30B81A00221CAFFF1A0010C8E0D8799FD8799F581C34731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE6FFD8799FD8799FD8799F581CE789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BDFFFFFFFF581C34731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE69F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A001127F08258390134731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE6E789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BD1A001E84808258390134731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE6E789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BD821A00956F2CB81A581C1E76AAEC4869308EF5B61E81EBF229F2E70F75A50223DEFA087F807BA151436C61726974792044414F20546F6B656E1862581C2EAA7438C634A19BAAA1E2F0D565C5BA4B1F94C3EBC910152FDA9667A1454652454E5801581C342A2E1EEE3CC0FBD767358D46504B5B882FFEE07C139A4F755CAA41A148566970657223393101581C3570FDF07B95D8E2F0A7D37AFEC0B828FC9D4536CC31FE2464D96BECA1484C6F6C6C69707570193727581C39CD0A411FC75BD7A533C0B2B2E0BC533D65766088C450FA3B21B4F1AA476E616D6531333501486E616D653132383701486E616D653332303901486E616D653332323401486E616D653432353201486E616D653539323401486E616D653735393701486E616D653834313601486E616D653837313901486E616D653935323901581C3D2D82997FB30817D2F687A3BAF2E8DD53EED0CE92D586AB811BDEDAA14A4D56463230323430373501581C418E6E638FD8E5CF197644DB35BEAFC82D233C3F4CF194DEF33B193AA14447494C4619586A581C4CDF15D79799F8BF0F46220733548395938F0A3DCFF22072DE6A1ED4A14950414D5020424F49531A0103BEAF581C54AFC6DCAC79C201BBA970B4D3072B6B7AF7363C2E7815738AEB6935A14924636F6F6E636F696E19B68A581C5C1C91A65BEDAC56F245B8184B5820CED3D2F1540E521DC1060FA683A1454A454C4C591A00CF1AB5581C65B779F70F65393AF432C2D37BA58564EB7DCD9F1D522DCEF4E686BBB81E4B626F7973636C7562313832014B626F7973636C7562323438014B626F7973636C7562333330014B626F7973636C7562343932014B626F7973636C7562393532014C626F7973636C756231303936014C626F7973636C756231333638014C626F7973636C756231343333014C626F7973636C756231363238014C626F7973636C756231373532014C626F7973636C756231373830014C626F7973636C756231393537014C626F7973636C756232303939014C626F7973636C756232313234014C626F7973636C756232313333014C626F7973636C756232333532014C626F7973636C756232333834014C626F7973636C756232343739014C626F7973636C756232363435014C626F7973636C756232363531014C626F7973636C756232363637014C626F7973636C756232383234014C626F7973636C756232383936014C626F7973636C756232393231014C626F7973636C756233303330014C626F7973636C756233313037014C626F7973636C756233313735014C626F7973636C756233313933014C626F7973636C756233323334014C626F7973636C75623332383201581C707E7BC5FF06BAEFEB5ED3678E796C9D5AA8C7A8DD12FAAB8F1469B1A14C43617264616E6F43726F636F1A00989680581C718C383A22B0239D034A95E750FD09A5930BDDCFFC24BF5C566B1CF1A14653554D4D4F4E1B000000039EC81BF3581C766FCE8055F39D40FCFC19721677B3DEB2E7846950AE08DCE757F1E7A14A535547415220425553481A0003FB83581C7D869E0E6F936C3299A8B8DF2B8F13D5233801E11676FF06E78E8DBEA14546494748541A01AFA1E0581C8DA763CE1D6ADB725A295A7F145C32808295B542DE5062D92EFA8370A34E000DE14046726967696433363239014E000DE14046726967696435303232014E000DE1404672696769643537313701581C9ABCC0D2D498280C4D33035C66F5C6A45B5F71054AA33F38A83DDACBA14546726965731A0001A766581CA0028F350AAABE0545FDCB56B039BFB08E4BB4D8C4D7C3C7D481C235A145484F534B591A00625ACC581CAB0DEC21AA7D939AD124FFAF95FAF8ED72B1018FF72FFFD8F9974907A145474F4B455905581CB76DE2BA611586D06EFDBDFB58A31954F2B61DBCFA87E4335FEB5E28A14C4D6F6F6E204361742023343101581CC38246F6A17F2B82D25828E16C9CEA0FD466D9CA4391C360EBAB6921A15644454D554A756B65626F784D6978546170652331323301581CC4FA56752D7A65A512C6BD4EE6D6A30E75752247DC6A0512B3270687A5494D656D6F6E7333303401494D656D6F6E73393534014A4D656D6F6E7331333031014A4D656D6F6E7331333034014A4D656D6F6E733138393201581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0044278B581CF0CB81EB21545564EACF472811FC4365BDA64F000D163B94334C8363A25819000DE14044454D55566F6C31436C6173736963733030303033015819000DE14044454D55566F6C31436C617373696373303031313801581CF0FF48BBB7BBE9D59A40F1CE90E9E9D0FF5002EC48F232B49CA0FB9AA150000DE14062697777696F6E616972657301581CFC11A9EF431F81B837736BE5F53E4DA29B9469C983D07F321262CE61A1444652454E192710021A0006C8DD031A085F878C075820360DDED0DC97B71DB4F18C3DB30DC925293047F9370D96FBC2C8CF5335AF4955081A085F797C0E82581C34731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE6581CE789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BDA80082825820DCDCF0118550FD8498D2A63461B9854E6E7E2D35DDA05D6CAB4F32C3ADBD365B01825820F1C6E8C8228B2CCB12EA8CAD9F7FB34009A637E4B9BDD6DE4F416211AFA20267000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000277DAFC44A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A107D79A5581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A016D68251A0007F4919FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839014E614C29637C26188EF04C5A54D719F4066CB1DD773F6343BAD8A312787F9257574249C3EFD440E06C5B8042034F5D5BCD6F71BEE21E1079011A0CA1A0F6825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A80082825820E460BDF4DFDA96D5C15585E38EF623BE12D7FD5A2C4C9C89B3A982373E05CFC300825820EBEB3FB769997D2C5E6B9D2B794FA41688E0E052A4759ACA39FD925399D99F6B000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000041F8ADCC1A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A158206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABE1B7FFFFFFF9B6EA76F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A0AC3816C581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F9601028201D818590118D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F96FFD8799F4040FFD8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC20058206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABEFF1A0001831C18641A05F1ADC81A0010C2C49FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA20058390134731B1995E5520642727736C859D2A590363EA41DA368BEBD49ACE6E789404213387364938F27CD07DCD80C5CC9FCA68620D8504234A2BD011A0D48C64C825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A0016675A021A00081D2605A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A600838258200465B6B9BAC19B5234BC80A5BA62C20048CEF7B235C6DF7276DF8023A1779C5D0282582045B1B1E60577C08CFDEABE766616EE9FAAB5E36A67FBA3B3004EFF2AE156126E0182582045B1B1E60577C08CFDEABE766616EE9FAAB5E36A67FBA3B3004EFF2AE156126E020184A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A734303078701821A003915C0A1581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B19B285028201D81859012CD8799FD8799F581C661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CFFD8799FD8799F581C661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CFFD8799FD8799FD8799F581CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A7343030787FFFFFFFFD87980D8799FD8799F581C661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CFFD8799FD8799FD8799F581CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A7343030787FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C58202FFADBB87144E875749122E0BBB9F535EEAA7F5660C6C4A91BCC4121E477F08DFFD87D9FD8799F0019B285FF1A00148A98D87980FF1A001A9140D87A80FF82583901661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A7343030787821A0011D28AA1581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1B00000002EADF738B82583901661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A73430307871A0030BFE382583901661DC3966EDEBBA738CC928292485E7CB1B2AB025669DD2BCFFC7E9CCA1ADF1F7841C2158BCDFEC79723D4ABABBBFE47581F1A7343030787821A005373BAB4581C13C8ECCAC12A9AEBB5EF950887CDEBCAC8BB29B3F798BCEDC31B55E5A14A4356463952303135393601581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B19B285581C5D16CC1A177B5D9BA9CFA9793B07E60F1FB70FEA1F8AEF064415D114A1434941471A916048C7581C7AD9D1DDB00ADEE7939F8027E5258A561878FFF8761993AFB311E56FA14C4F5353445245414D4C4F464904581C8E51398904A5D3FC129FBF4F1589701DE23C7824D5C90FDB9490E15AA147434841524C49331A2540BE40581C8FEF2D34078659493CE161A6C7FBA4B56AFEFA8535296A5743F69587A144414144411A11B13220581C9A9693A9A37912A5097918F97918D15240C92AB729A0B7C4AA144D77A14653554E4441451B0000000828FED248581CA3914CB7A564D010C7B67774AC8720A8ECE3A758279B51D8A1C05CC5A1495745444E45534441591864581CA8102151506A8A81DC1763EE05CDD01D787F50DFEB6F843071E1C6A0A144484F57491A02FAF080581CA89568BB399D0CDC38367E47831C95186F5C79E58174E08A18232396A14A4554424643546F6B656E1A0CD27826581CAA036F84174000B81A71131007E45EE44C2D78159A55D19C514A77AFA1444D4E4D4C1A7D2B7500581CAA2797739E4F4A1EFD5346998FEBFF59909E425B5FDDB1B0EC4A24F8A1454C6F6F6B7A1821581CAB3E31C490D248C592D5BB495823A45FD10F9C8E4F561F13551803FBA1581E43617264616E6F20436F6D6D756E697479204368617269747920436F696E1936B0581CAD1C1ED3A0BB6F83630EF052A31B71BA3287BF4BAFA8370758F14D31A1445349434B1A00360420581CAEA1CEB3625680E2F7A31EA1A64C9C430C34D8588BF4F8E3C7F9B1DDA146476F746368691A1DCD6500581CAF2E27F580F7F08E93190A81F72462F153026D06450924726645891BA144445249501A0D0A318D581CB6A7467EA1DEB012808EF4E87B5FF371E85F7142D7B356A40D9B42A0A1581E436F726E75636F70696173205B76696120436861696E506F72742E696F5D1B0000000A9A0B6BCA581CC09417D9895E37894AFCC09896CE4055D3881399A251AB7687F244C1A14A434242444F303339323301581CC881C20E49DBACA3FF6CEF365969354150983230C39520B917F5CF7CA1444E696B651964BE581CDA8C30857834C6AE7203935B89278C532B3995245295456F993E1D24A1424C511A0E5BE2A6021A0003A451031A085FA3A307582027FB3078E0CEA3E1AD4DBF1603E6854077E88ED8DDF176CE1D4AD531BF29D4251281825820926C7E1AB446A8ECEDF3E5904CA22CC172089FC3A2A81FB51EE67021724BE13000A7008182582002A104651B74E493EED82F10C306A9A84F5D20AE8CDB761DC9D882D1D9354D52030184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF0216CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FE011A0C380D40028201D818590107D8799F4100581C11554723BFE36C3F10FADF9C4CE4A3EF02B9CB361696D53DE5194ECCD8799F4040FF1A0BEBC2001A000DBBA01A0043A489D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A0043A4891A0BEBC200FF1A0010C8E0D8799FD8799F581CB023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71EFFD8799FD8799FD8799F581C16CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FEFFFFFFFF581CB023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71E9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A00124F8082583901B023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71E16CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FE1A001E848082583901B023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71E16CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FE1A0CF5D0AA021A0004219D031A085F878C075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F797C0E82581CB023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71E581C16CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FEA80082825820A44D19D043BEF7BF692C061867BD399A72A1112ABBC719F6C58E2F33FF901E2E00825820BE67B99D0FAF768FBA453E420E78097AAD97510F670F4B03B5AC4D188085DFAA000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000283C6BE44A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A10300BFE581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A017075651A0007F4919FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901B023CF949FAE07A34600245D2935AE840189C93CD0A1CE6E4B11A71E16CA722B5F005965ECFD4516B542B8A3AB8E6B95082E5AF911E822FE01821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A004D6DA7825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165F46021A0008253A05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A70081825820D6F17200A9AA161E14F42A55BDCCBB86EA684FD4A3800589B9472DC8A24212DC000184A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4C6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A4011A0632EA00028201D818590130D8799FD8799F581C3D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEEFFD8799FD8799F581C3D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEEFFD8799FD8799FD8799F581C6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A4FFFFFFFFD87980D8799FD8799F581C3D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEEFFD8799FD8799FD8799F581C6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A4FFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C58202842B9FF6D276DFCDC83F3304901C836BFB34229986C9FEBE3CE00C844DD032FFFD8799FD87A80D8799F1A05F5E100FF1A0035A841D87980FF1A001E8480D87A80FF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A0010C8E0825839013D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEE6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A41A001E8480825839013D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEE6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A41A104A073E021A0004358D031A085F878C0758202DC628086810B33C5D41765F60916E10DD75A406A4F57DB79F2F4C038CB9A95F081A085F797C0E82581C3D93834F8C040E7C0A5457FC4914A30B09A8F17ED62967862BCFEEEE581C6ED86EFC10A1A525A29CE419CED7FCD264A4A5239C7DD8F2F88058A4A70082825820A897107AB1D3C729DA6AF288E8675826B63F43839EF776DCD76D5F5B94503DA7028258206165E353B3301641E199BC107F58A9250AD8B53C04B8B9AF8F77CB27C5B8D0AA030184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF024F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975E011A122DEE40028201D818590107D8799F4100581C272FA5AAF16F51CE8F8955616766B0160B5183871191EF17A4827F45D8799F4040FF1A11E1A3001A000DBBA01A005189CAD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A005189CA1A11E1A300FF1A0010C8E0D8799FD8799F581C2D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD6FFD8799FD8799FD8799F581C4F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975EFFFFFFFF581C2D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD69F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A000F4240825839012D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD64F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975E1A001E8480825839012D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD64F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975E1A56620B4C021A000433D5031A085F87690758201A9D5FF7744D0C0F9744E4D8AC6B3A44E0F78424A2952C3E1C1DB005DF78E7E3081A085F79590E82581C2D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD6581C4F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975EA8008282582079B4457CE508610648BDC3D803F73CC40071ECE0C421B617BE13BA3578B149E100825820E09A48E32E57FF55FAE896952D1B9F8D68260E1A5AD036B32B5D3200CA89DD1E000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000295A86144A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0FC11D6A581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A017509451A0007F4919FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839012D31888B37ED64271F87EEFE6B497E9E7D9DF13B39A6DB31325FFFD64F6911C6C8073836DAD3D7855EA7CDE5CCBC7CD37BD57E703F77975E01821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A006EEE94825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165F46021A0008253A05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A70082825820E2F6695A870C327DDDD30A45D7A52278D15C635B56BACF77D517F7B1972E080802825820EF564139A00FF5C68964777A6D747851E2E045E4DE403E9695A313720F4932C7010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB37011A0C380D40028201D818590108D8799F4100581C852AA9A2BA17CF0782197F60279120C64542C2B3552BB6D740C5BF43D8799F4040FF1A0BEBC2001A000DBBA01A001C3FC9D8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F1A001C3FC91A0BEBC200FF1A0010C8E0D8799FD8799F581C7FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FAFFD8799FD8799FD8799F581C009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB37FFFFFFFF581C7FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FA9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF82583901FFEBCC9E31749EB5803E396202D84E3B436EC362463B2FD70FB4C8819086FC9117B2DADB43DA1F922C46039A47D51BFF09433DCDD18F1CCE1A00124F80825839017FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FA009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB371A001E8480825839017FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FA009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB371A012D9FFE021A0004342D031A085F878C0758202DC628086810B33C5D41765F60916E10DD75A406A4F57DB79F2F4C038CB9A95F081A085F797C0E82581C7FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FA581C009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB37A50082825820A25DC84FEF89097EBC7D9553CFDAB99E79C256C73AE5222133999CD51458938600825820BD6D9BF2CE16C7A1DCC1145B7E790EA0D236EEC13D911CD19FF4BE6C425DFA9E000181A200581D61A3D8B633B6FD01D5390F65E1A183C3B02E658ED3AA0E46075B6669F8011A2CB1739F021A0002A3E1031A085F957B075820ED054602D374FAB56E97EE20647FBCBDDD0B35D09404453D038800A0EBB89EC2A800828258205BDFE2AB6762139EE6DD43E3BBF9DFA7E41CA82B6A15268709AB17206EAB1796008258206EEF68172966518B2912F4C0A9F7C001C7BD149D574B44FC848835F4A61FDE19000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000042B769EC1A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A158206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABE1B7FFFFFFF9B6EA76F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A0AA50DAD581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F9601028201D818590118D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F96FFD8799F4040FFD8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC20058206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABEFF1A0001831C18641A05F4BB081A0010C2C49FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA2005839017FC1F3CA34A36D4C7565D511A93E3C0202405FB7A960A8356D3DC5FA009D5A4E543F7FC84AA37100884633C684C6BCBD2733BF40B8C7AB3701821A002DC6C0A1581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A001E73BF825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165EC2021A000825BE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A7008382582024F1CBFC6AFDD4EDBF5648B4DE208CAE484BA84D2DDEFEA8DDE3AD458FBDDB260282582032F5684F4DF6A33F26FF4F223871E1570C7F9AD8F1D087444127B566761F2D47008258200EE7E6ACFAA31243C692BC8FB70D24EA109E9839709513890C403D33EB59CD5C010184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF02A8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC54288501821A004C4B40A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A005558E6028201D818590107D8799F4100581C2F22F3AC096405717B2E48E443C0931F9AE1DBD7F41FE3A49AB8D186D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FF1A005558E61A000DBBA01A0955B7A9D8799F4040FFD8799F1A0955B7A91A005558E6FF1A0010C8E0D8799FD8799F581C18280E6C0960465046A3799E0392F78671241369D4CF6F491757C69BFFD8799FD8799FD8799F581CA8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC542885FFFFFFFF581C18280E6C0960465046A3799E0392F78671241369D4CF6F491757C69B9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A0012871F8258390118280E6C0960465046A3799E0392F78671241369D4CF6F491757C69BA8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC5428851A001E84808258390118280E6C0960465046A3799E0392F78671241369D4CF6F491757C69BA8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC5428851A03D3C77D021A00044B35031A085F878C075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F797C0E82581C18280E6C0960465046A3799E0392F78671241369D4CF6F491757C69B581CA8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC542885A5008182582008A3D4C77CD3F3A6BC272B5C651B29F2EF481A9D023F627501C294ADE879B74E01018282581D614543A6BFDD053B7CDF0F14935BCDF5C3D2155FA32963E175B75F07B01A97FDE980825839013EF8D2D7CAB1F07EDD0E6334966453652835614A8F7F78B6F2057CEE3A562FE5D2D4818C4A15E992395908CDFE115DEDBA86A1B4AEA98B751AC574A94E021A00028D05031A085FA3980800A8008282582057E68FB8ABA0FB4D2FC6864571F78646E5AF53D03F254207BB05DFDD470B9EB200825820BB7D896F4B8A77E4C43AF4C72954C92F1EDCEEFFB6D401A97545CB7B31FD2475000183A20058390118280E6C0960465046A3799E0392F78671241369D4CF6F491757C69BA8559E3A0FBA9841D1F8ECFD0CC4887906ABD57E5F54BA74EC542885011A0DC09F13A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B00000002881588F1A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A10167650581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A017509451A00080A6A9FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FF825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001662E8021A0008219805A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B58205328CA618708A88ED01EE7C84B2B658A2F19FB71839355AB99D510D2B8902D560D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A40083825820163E15A86FA056314E4B31E10C278E0DCB82D6BE8A01C1C3AB8EDB9FCC287E300182582018BCD23C45FD54E393AAA5F48B20979A61AD4ABB39005843C6D50B8FB484FAE31682582068B1BBA6E187A780F76C599287319D0668568EEBBB733B1D383A808AEEA2119501018282581D61DFED54134F0BD699740063C7C32877C3919664817D3B5F4FA567EFBB1B000000028FA6AE00825839018145F2D81E8516B61FB376B967CABC55F7B246E61F77B98C0E9C121342D54B4A29D0B12EEF47AEE2922A356A9F0DDAFA7F6B2623F535DEB01A2FB3EADC021A0002AB19031A085F959DA7008282582061AA843AF68E842A7AF6746295A6D9BEF29D5B09C107432EACA25AEC58AD8290008258204ED82AE9FAB23DC35CB4BB3B77E42343B4CE69E8276F2FDF69106579722324ED000184A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4C7ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68F011A0337F980028201D81859012CD8799FD8799F581CF80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC4FFD8799FD8799F581CF80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC4FFD8799FD8799FD8799F581C7ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68FFFFFFFFFD87980D8799FD8799F581CF80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC4FFD8799FD8799FD8799F581C7ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68FFFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C58202842B9FF6D276DFCDC83F3304901C836BFB34229986C9FEBE3CE00C844DD032FFFD8799FD87A80D8799F1A02FAF080FF01D87980FF1A001E8480D87A80FF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A0010059082583901F80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC47ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68F1A001E848082583901F80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC47ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68F1A02E82BF4021A00043AB5031A085F8769075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F79590E82581CF80C929249DF6BDE76E7611AFB2961D4C16B282681EAF2CEFB499DC4581C7ECA83DF52EA0BB9180B89863AB5C5F14FE676E913F222030931E68FA50082825820C8DDF4E4880BEB37D0EFB0FB1130129DFE9A5C814A29953EBA3740B475A3A23D01825820D6E8C1A71B6B00B8B757ADC6276BA99E5FC84DED904A3E9014CB5FB5034BA71A010182A300583911C3E28C36C3447315BA5A56F33DA6A6DDC1770A876A8D9F0CB3A97C4C1CB9529E2C2684CAB69B37963F2047C28A7E7E8039155B145050C96D011A01D905C0028201D818590130D8799FD8799F581C6962AE7F8BC91EAFD1F297EBE16E10C20604B5ED0B6D48FB2E5DEE91FFD8799FD8799F581C6962AE7F8BC91EAFD1F297EBE16E10C20604B5ED0B6D48FB2E5DEE91FFD8799FD8799FD8799F581C1CB9529E2C2684CAB69B37963F2047C28A7E7E8039155B145050C96DFFFFFFFFD87980D8799FD8799F581C6962AE7F8BC91EAFD1F297EBE16E10C20604B5ED0B6D48FB2E5DEE91FFD8799FD8799FD8799F581C1CB9529E2C2684CAB69B37963F2047C28A7E7E8039155B145050C96DFFFFFFFFD87980D8799F581CF5808C2C990D86DA54BFC97D89CEE6EFA20CD8461616359478D96B4C582047A029093956CD15A82720086DD8952A51DEBD848B30192364266D0A8D5ED256FFD8799FD87A80D8799F1A019BFCC0FF1A016FED5BD87980FF1A001E8480D87A80FF825839016962AE7F8BC91EAFD1F297EBE16E10C20604B5ED0B6D48FB2E5DEE911CB9529E2C2684CAB69B37963F2047C28A7E7E8039155B145050C96D1A008A6031021A0002D8FD031A085FA3B60758201FEB00F18FBE772CC375AA495DA0B08D837A719671E68DA62F8ED658915D8FD1A3008282582009D9299DCDC6D9877756C1D6708AFA7657A73DBC30E9276DF777B51CC1DE7BF40182582053FB44244B28074EA85595C9DE7CD1733972E3B8570B706733216D206C7CA587060182A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF020216FF41636388CDE65713307F39657B43C975862E269B9EBD58F5DA01821A003567E0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A002507E6028201D818590105D8798C4100581C2D3C83988E9C80125AB793EAA7C10C93EB5AD2B3AA4B86A5C77FAF65D87982581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F4745521A002507E61A000DBBA01A0530822ED879824040D879821B000CBEE0B17F90EA1B00005AF3107A40001A0010C8E0D87982D87981581CB93F08DD56E99DF0D2A5BC1B7B91E202CDA959114AA9F435C5852739D87981D87981D87981581C0216FF41636388CDE65713307F39657B43C975862E269B9EBD58F5DA581CB93F08DD56E99DF0D2A5BC1B7B91E202CDA959114AA9F435C585273981581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B282583901B93F08DD56E99DF0D2A5BC1B7B91E202CDA959114AA9F435C58527390216FF41636388CDE65713307F39657B43C975862E269B9EBD58F5DA1A072AC8A4021A0002CDA5A80082825820347177174B3A96A9452BF43E7136985D8B328E7158C0A6CB1A59C5CC56D2FF9E0182582057DFC03A779D126C1A052A8C0EB648405358080ECE62354654DCBEB6F6C0372B000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B00000002825E2DC1A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A103B7E36581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A017509451A000813E49FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901B93F08DD56E99DF0D2A5BC1B7B91E202CDA959114AA9F435C58527390216FF41636388CDE65713307F39657B43C975862E269B9EBD58F5DA011A05CE3E90825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A001667B2021A00081CCE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A50081825820F1A9294FB774185DE1C8D24582CFEFFB0A088C3144FD97E0D60BE0463FBB35060001818258390169A8FC95CA542203705230F12EA09B72D40278927AEAAA01AAE8A1A25D9A925388FAB5F3790DCF70299674A61CA711364E821CE6046DC0201A2A7827E9021A0002A305031A085F959F048183028200581C5D9A925388FAB5F3790DCF70299674A61CA711364E821CE6046DC020581C2A8294AD7538B15353B9FFD81E26DAFE846FFC3F6B9E331D4C1DC030A700828258209124BC21B183D96834E743088CB49BBC969F5AEE1C66D963134A5CA65F4CD5FE02825820BD873314962703858D28C91E3D9378DE88004390AE2D5AC8B85C07BC48E6A280000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF023165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F31011A06422C40028201D818590107D8799F4100581C3D68802D361E861B0807ACF4BF0F5280136FBBEB1AEDC0E9490EA371D8799F4040FF1A05F5E1001A000DBBA01A001D5B79D8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F1A001D5B791A05F5E100FF1A0010C8E0D8799FD8799F581CA2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318FFFD8799FD8799FD8799F581C3165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F31FFFFFFFF581CA2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318F9F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A0010C8E082583901A2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318F3165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F311A001E848082583901A2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318F3165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F311A14730510021A00042DFD031A085F878C075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F797C0E82581CA2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318F581C3165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F31A800828258206B9C867E158C6A4B1B7D88548B60EB90AC9421F9B1EAB397D89A851D96640C2700825820E04E1C609A5BD89C46E86665122CB623C27714052C00483AC101B884513B38BF000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B0000000288540EC1A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A15820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C11B7FFFFFFF9BFA693D581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A1015A7FA581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA8001028201D818590117D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582001C7C5C18254599F2BF605553533E2B311493193C3EF101E1D17CF3605BCEA80FFD8799F4040FFD8799F581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F314A4652454520524F474552FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC2005820B2BE54D7C918CBFBA76A718DA6D4CB2079D5D5A122683C42B5D0E374E341A0C1FF1A0001831C18641A01768FE51A000813E49FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA200583901A2E2C27CFEFC4749AD37BE4FDD956CB586D40E093B3FB0C0EC03318F3165E805A932F80CD9132B53E88AB814AD710CFE7357867339348F3101821A002DC6C0A1581CCC8ADB3CDD8BEA510A0CD105FAF0D8E9048126E9B5946EC7AECF4F31A14A4652454520524F4745521A0025D63C825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165F46021A0008253A05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01A40081825820B1F14E8313F0F0BB5ABEAE7F07CFFA73E1F2505FA2BBB27C31307614EDCC22D70001818258390152367EBD7B91BB572A3A395EC0801B7591362E9C72A73415BC6F3F4452367EBD7B91BB572A3A395EC0801B7591362E9C72A73415BC6F3F441B00000017B9A7DEFF021A00028701031A086205FCA500818258200E94D9901370D73876A2E9EF972164E33C7CE771C8DAADE6A0D002ADF6068A4801018282583901C91A4FFCC25A102B1DD124BB6AB90B132701CFC0EE622444F89320F45E22A393721A520214870B8FB3C31AF32EF374FBADC0F3128319D1E41AD98A4CA282583901CDC8C4CC51F4F0497AD487DB4B4E6335AB8AB1369B836DE6FB1AC83086C4E5D8A62F00752461DB30007A5CFD7ECEC2448F6D3B42AD6A6D9A1B00000001715A695E021A000295C9031A085F94E8081A07113A46A70081825820374CE8C089D1BE4D828F97B17BAFF507D9FB7BBA83BCACF17238915A82EB9ECE000184A300583911464EEEE89F05AFF787D40045AF2A40A83FD96C513197D32FBC54FF028872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD011011A1FE373C0028201D818590108D8799F4100581C68FC173D86CDDF0A6A97881741518E090BC58D4844B5C5B2D1AAE45DD8799F4040FF1A1F9728801A000DBBA01A003A0E36D8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F1A003A0E361A1F972880FF1A0010C8E0D8799FD8799F581C13CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF574591261FFD8799FD8799FD8799F581C8872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD011FFFFFFFF581C13CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF5745912619F581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2FFFF8258390136563867946806CBE005D68261CD69FE942E9C0745A3F8CB67BE38B1632A5B07F7A5C0FF2B1A5F23AD10DB1923E2881D42F7F5EB8A77EBEA1A001758908258390113CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF5745912618872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD0111A001E84808258390113CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF5745912618872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD0111A00124C3B021A000421F5031A085F878C075820BFD6DD1E96E4FD26C6379AA3093AAEF25639D58EE76D045BD4528EF9F2FED808081A085F797C0E82581C13CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF574591261581C8872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD011A8008282582021C6DEFD0651B3BACB01C95153119A4C79EFA9BE441C1E75921A89C93AAE18D300825820DA743D224DCEE321F5197A2109DDDE65A092D93C0C10379DB1B31C2F40C7A37A000183A3005839319DEE0659686C3AB807895C929E3284C11222AFFD710B09BE690F924DB2F6ABF60CCDE92EAE1A2F4FDF65F2EAF6208D872C6F0E597CC10B0701821B000000044B0DC741A3581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC200A158206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABE1B7FFFFFFF9B6EA76F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A0A578B53581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06A1582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F9601028201D818590118D8799FD8799F581CD8EB52CAF3289A2880288B23141CE3D2A7025DCF76F26FD5659ADD06582088545035D4D52B643196BC9B8C7555356C17000272CB6AFAC41DB08C6DA90F96FFD8799F4040FFD8799F581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E768503884B5375676172204D6F6D6D61FFD8799F581C6E917B8B965078A39804A6313E5BE73535612421ACD70AA83F0EC20058206ADBC3A05615B78D6D73E4C7051EED1C116CAFDB27C42221D72F441B5180CABEFF1A0001831C18641A05FCD1581A0010C2C49FD8799FD87A9F581CE5619F78D716CC24EA924E4412D83353AE390EDD9905ECC6D5C85C2BFFFFFF00581C75C4570EB625AE881B32A34C52B159F6F3F3F2C7AAABF5BAC4688133FFA20058390113CE549E3D90808321F03FBD86D2987A24CDF8DB4C52DDF5745912618872B8D0FDF5BA72BA5BB344F04D612CEDCE5BFA99129E60173DD01101821A002DC6C0A1581C9FDADA35AC7FEE41BDF6880976F4622A4C6503A7C63AD55E76850388A14B5375676172204D6F6D6D611A004D825A825839015CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B2D1EBB3FA2DF9BA838CA6D51DA54301F12A7C003F892F3072BAB92EC71A00165EC2021A000825BE05A1581DF196F5C1BEE23481335FF4AECE32FE1DFA1AA40A944A66D2D6EDC9A9A5000B582091A65E93E7CA4D480E4155D8AF9909D1E6FB1FAFBAB09E40CA91C15F7CBF37210D818258209D542C4B846F398E4C846B889F9DBB921749BF06944D915AD5CC12A17BB8FB4C000E81581C5CB2C968E5D1C7197A6CE7615967310A375545D9BC65063A964335B21283825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F00825820482719D050A96B91206F78C6C2B834E844EA576557387E09E7B1C8AFA4D433AC00825820B91EDA29D145AB6C0BC0D6B7093CB24B131440B7B015033205476F39C690A51F01FF9FA100818258209F8F64F1F0E7034068C87013B6CE2CA259784BDB78FB67AB4E669312DFB838F05840AA02B787F0F7CCF7D5755B4C907B07AE45FB9E1CBE123A42927ED6AD828258DCBDE661F55753C098DA6775723C99735B4D2410EF06BB142B30C6D6FB7D8AFB0FA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840A99A2E3157B4A625B02838B40F50E9DA3E29FBF7CD8C186D77B2211DF3252337BD7F67012AC072D72112B1AF98EBF7ED5AB83D01F490B843F2082B4C53DD52090583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A100818258208F1A51998FA93E92F5393287FAE78D7DA652F4B2CC9E305104C092931BAE5EBC5840A2168341503AE198397D2496DB8B3B84C92D15F99853B59B70C24D90C3EE0C212C20CA9D5C95CE710D3443DFB0EAF2B758FC6C9E83003ADBBFFC6D1F4F47360AA100818258201D7BA81FE69574AF8B81BE6142234B6522504DA26610C0C6258B5FD6E2D1E20058400367E4F52AD06432F471559E0BB39E66CEB86397F8D78BB65CF00EBAAEBEC44B6046997B4EA6A89E399607A5F8C738E6C00AFA6EDEE32E209414F91728B7500DA10083825820955F56DC3B08BE689BBCBD74CCDA2AD3118ADD5607B8F768385EA10D1763C05C5840D5FB48A69E72E829E3827294E4ED47705FE7EFF29FFB7A1ED9CE3D255513506138C87F7F89D2BDA81DC0A779615581DDE33490F1059FB6B8C2E20EB1133AAF0C825820393B3D3CAB6BE0897CBC87143CC3A24825DC1D8249DF4D37969502931CF856FF584091D6D119C5885BE117EBAD112E0DDE7F27354C1D9FCB1F8A5C55E8DDD278F72796173A6CBBFAB26DFDC04980224024CAF9094A10C9BF84BC7D8B853291381C058258206687A36F0A4B8ABF2671F8AFFB7FEBEB8940E9EE83548D2A2924DBC74679C4665840F832FDA550769A921EFBECD13E8E838B32DE23F0290979A816CAF0E2742ED7B709210AD674800B2CA9168EC16E1F4E99486588DA06D80F81B6F5747DC131BF01A10081825820815815EA0FE673B3D2C32EDB3011037C49E46062C063AEEDF2A20BA89EEBA65B5840947FBEFD1A7EF0A3E701375A28CDCE6288FE0BA763B59EF1FC746AEBACFBE8BB58AAAC41ADC0D94C9C0ED98CA0D3158EEECC644FCA858763F7CB86795989FC01A1008282582071D3A3124C651FC1F831826AEB5C215CE7061C005ED14E5CFB8C0911DAB2955C5840781BE6D5915EDF33F8E8B3E94EFAE1B3255F9CEF84E925D77E521098BFC5843D83D320C129E09BE069F2655CD81122665A57BAB240CDB51814455CC0713532048258209F87197DD47F5D8D7BFE01A3D78ABF7D96CDF4B39CB88F269C7735B5FCE9165B58401417D596B7019F6F423A53A44AC1EBA7A7CE09BAF59F41FACBD0A801F13CA51DFBE6EB54C885850340E288C9E2F41AC5C691E5F7D391FDA7A2B2EC8ED823DD0AA10081825820399277DC13E700E9AF32DACA420CB21AB95ACBA0F3C862C6EAEC61EAFF1CCDE8584059FA2503EF1D6AC895B924A9470538AFA4B42CE6B68F16691CD532C8EBD626506716DCEB12758D458CF5ED303C643DED76D4BBAC030B3451210775B21B690D0FA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58405B0BC17FDC4CFFCE6E64C97D82058A4704B4FB3118A45CC69A150E068536687590C66F524E56B401A7C79744ABF92E89402E2C1A02B4A9FAB0A299FC8BC6460C0583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A10081825820C6987DDD7BFC4BCBDD8335363BB33D80F2BBECEE13A2557BA9FFC061FA73C55F58402AA0AF3A9E9F1BE06D2ABFE0C8170ADC65850788246D2D8B7F8BEB13A5F7152E7ED6C02ED0B95D3E68050B1868D3CCE07C4C181E7C4EB30D3FBD5C09D645DF0EA100828258202DECD7E52458014264CB7C336E08824E1BDC31333AEAEB94A9A8FA7F1CAF6A2758401DCE49F08E808B0910C184F23A4DB631C0055F059F48F6FEA8A508484C6E53EA5C67A3A3790B73F6C676BFDC72A1174180A1313C7794E140630583A9B77EAC09825820C4781D01CB1D80D22F023516898B7C5267D26EA391421782FF7BD05ED9833B925840A5859D6E14BE5E48C47304DE1E350B14470466FF30D3A2CEC9B58601657C4452C3AC231E5E1D534EDF7E04921F9D09A4469499E1DDEC5F7A25A541DEFC11B309A10082825820738DE2D1FA0DCEE44BC9C11AFDE6D0EB35CA5E10287B741FBE023FE0982DFBEC58402B2E8FA70246C55A094371E25B8D79399A9A06059A24AAF328A9BB58E4803597C04AC9A2814E880D58E01057423AB1A7CB1E11FA1CA519F29DDE0E98F03DD909825820F1AB6922DAD5CF7C82C9D719822B77FFC5E5A197A5C955A3B6F24764268F8E485840813305D9CF066EAEDC7EE9C05ED13357F4A4FF3187B9864BF8C0182631A3551527000D898EBE99F1E121A876227B0BAC51AD80A3F89BCEDC577868348C6E330EA10082825820A76F63025B79286AC1F204110624B61907A81551D9407BD61ECAB40E2A8A1E5D58407B1B97022397F89C97D2847F60006C44E420B65096EA7BAB7C2BB48CD9672653557AC4455F6CA2D6862E076AF18F65E3A774574041D27749CC9442702BB7150F82582042751CE77C50CD63E1260829AD72825CA4E568677793A1014FA03E4C2A4653F758408C20C29D8A9134C749D193988804D131B6ECFB20ECCAAB3FFF8A0F2E0D006995370EEA7F033C6AD3DE88F154A7B64B58C0C5CA0115264A9792294E257E6D9703A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58407972C257B45DD0B3C5C67DCC06932BC5C41AD245E551CE1F5289487CD40AC08AD0E0C6B2B8C16A8886185C8B81EEFE39F23D8E7E44660B532B6F04015C522A000583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58402718BDCE42C7ABBD1A9DF4435A6C33F0CC0EB92539F3A8044677FB6C410988436EFA6ED68DF9855D3E3B689A68BCDB322E5CF4592CF62D9C5B18A038EB9815040583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A100818258204CF309F46BDC75742BD29058627C0F289A38B7882EDE52D9993C228B7C1052AB5840F8870B82415FF72E62A7C1A9D8E324C4C7C4E0718AE162776069ACDFE615EFE03CC871C54A73421DB95964545E86DF84F1489E1A0CED3BA38EB94B55DECD040EA100828258206309EAA6D223A3BE647DEFB9FD6302544015EEEF43A34D53FD3D1F87534A81585840BBA4A63CA7499D5D4A7C6D5953B35F4EC01C317FC47D3E37158CEFA272FBB4226FBAAD45278920A352DD9BE8E91ACB0C7DCC6E3077C97D8EFBD08A2F4797030882582004866F005D66CB0EB0ABC69F00B8CDBBCA99869D685A5869EE430096E9666F855840B083D9E7B46D8B8D60BD9D4085CF64D7F1C447409FE90828FD3F1A0D0EE10CA52C107894C2E2DEDA42CEBE417D4EA3BD5CBD41AD50FF9CCD5DFB291F229A9306A1008182582039A353FECEE6D749A21A6470EB52504AFA2A5FD8846366CA091CB29F5AE58A8E584001B0580CBBD618134E5E29CA7AAFBCE2EE49F7264B7B458A1A863ADFDCEDE4C12F10408F44BE492614E67F22D4A425AC88FF0997CB130316E0EA692E0D5A9805A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840151F6F913A750F461D1DDB6E90D27349E7211BBBF727A707166A06E8DEE5F2E8A588DF6364F29CE0E4411DA1DD72D1A198989D9C138DEFBCAD0EB42033A562080583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A20082825820F44CE6186D190F8776FD871D753DF7AE503972E4793A2360A423D2F96021E60158406B01C2C8C105CF991226675EA0887EAD70355E3FFA064D1E312EC156E68E9D4F5A9E0FEE00F20FC3D6530BBE54EC32874A5B476264AA483E2C1ED8E4FC35AF0782582063179F731829D60AADE12A1398C07B7A905CC38E7D9901850C9B186946F5CA3E5840C03443AD9608DC2FCA25F3672C201A25F3AF85CE811A5B231BDD027386349297527073568ABF82900784857BF53B7FDA62FDFDF786402E3AFBBBB82B84EF3B0705828400021A002DC6C0821A002217E51A2B9EDFCE840000D8798082199EA41A00E756DAA10082825820C74BE6B7EDD76940CE5426D9FE9731C5F1C4041C45DCB27BBF5CDBA578FFFDCB5840EE31123481F5312AAC69426245C757285F89C7BEE3D99304F49074E5CF5FC4D0D59A92424E027F4D6DAB8CDE2F100019DECDEED4500BB979FB54B877A6358A04825820BE211A8E32A0022F48A32CFC59C2BC24E7A20D764CFCF7618021B81EE3D8B38B5840451D4E046802AA1AE453F75D8C3F643D49A891E4B42D57914D5CBE5D80B378F86D10F32D5F2086D0994EA3B4BEEDEBEE0D80776EAD09B445C574EF2FA2C38706A10082825820DE3BD9C9D3320DB306A62310FC8F69BFB86B9D53D106CF9B3656A84B9FA1DC4A5840800F92E176232B97DEDF1D1D042436934C46230F566A4677A688048A05E1B1BDC535E9F77DC9CD8853D4CF6903B8E457C3E49C9DB3924AEA777E4376382F8000825820413B3A93AC170761CF8AA95E3418455534ED7D4B12F2267209BA93E8BFE7E8355840899C9774278E3624090C0EB0F1306248237DC5DCCE9ACA0707EBD90BB7FC9C14779076A417788F258E881507B615105A82787A2D4C79E274CC3C41CC86ADB902A10081825820600CBD1376A3F740A47C599B1F69EB6D43D10E0C19057142EB20439BF7BE4204584092DE4BF732DBDE20CDF841D03C4265C6C7D908DE4AF669B34C576F5E7617798D62AB92294E9CA775CA5977819675D4A45A851344D867D937665D14E8D968E70AA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF584053DFC3D0D720890FEDD48C5EF30662C3C6DB8CF7D1B64313C5DAAEC546009E63E66F49C78D3BCF11E6B8EE6516D2EF37DF63CB26679DE307B587FE5ED1369B080583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A2008182582014585DA9857B30CF57EDCCAC19D3012B602BB5650C7726A5F1504D9614D205225840AB23D06AACE9255048DA945FD256BBD102BEC6D0309608750D77BF12B1A24676F094350DBB7F7E38A2F8ADBB98284A792A8B4D9DD201C6F49BC52811C5A00E0F0583840000D879830000D87980821A000864701A0D1CEF00840002D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840E4C7C5125B7A0405344E9C3D9B2503AB62CA77C4BC96E65AD43195B797475500023F919566997F362A6CB27EB586E3744A8C59CBEB41BC25636B55C6EF58150A0583840000D87A80821A000186A01A01C9C380840001D879820201821A000AE8F81A10B0760084030080821A000668A01A09896800A10081825820773327C34A7EBB89967B0B0C1484049B378D7982E3585544BA866735FD20441D58407C45F6A57ECD5CCCEBDF268C89A6332543E9534F6AA0125871C7A3F090DC62567A42C8247B75BDA225F1F75E83C555275A10B9C5F583AFEC437AA952A37EC00CA200818258202D5301EF3B14E588DCFC5AAC6D6710934FC03FAF667024F5AAB7A12D49FCF3335840941B137DCC37550614A2CA8895B45B7BA15B60123CC6DBA2685BF83C2A021E5C38EB05957DA0576C6AFE6129CB6722CB7A1004BC9BC0E7CDF816441C178DA9090581840000D87B9F040001D8799FD8799F581C0174015D15D6EB735DEB99CEB57B785A5468DFF51B624A8E4C97EEC1FFD8799FD8799FD8799F581C30B115A124D25EF3780D9956C4087D6FDE224E0443F7768DCFBF0D1EFFFFFFFFFF821A000BC6D81A0FF5C629A10081825820E293BB22189DFA6F7898EE8BEEDB99DFB5D77C192384EF8E4778CACC6175A7545840CE1E6BA253ABA22BC5DC02BA65C02115331C729D6A4C3B7D4CD9D42543997FDD71D964F68DB5A5B05D19527CC6B8FD4E5C8C93094643E8D61BD88AA649DE4E07A1008282582069EAA70466EAAB21A423923CF81C0AAF62FA637D87993D860D53688C8B0B57625840D87C3B436174C36D4232FDBF0F9E8A954DB08B4597AE08EB9DC71B0BEA4AC40546DEBD366C2A112D5294AC0A681A5EF75592621499001978C9D5D5CBADB2030182582067C6C8552701D87DB93CA124E516A8852C58EC62BCFFE586F44F83B4E74D76305840A3FA411F485C88A3A3B4E98108BDC8894A2B72426677600381AB99D8299303C9F1465FDAFC76C0F6119403C2DFDD37AC8D904C814411B656F6B1CB41D659C50AA10081825820CD12AFFBD786770D97298D0C026DDABE27D2938A0DEBACA3CF0F1988D65715EF5840278C7ABFD5CA9481FCA29E391E2A3D7BF25B9FFF4413DEF1A361A31A7B375AC7FEB95A79A4E9654D783C56536F706F864D53DC35F53E9120B6DDA56A25B5EC07A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58405260F50656D4830E4AA4ABF738225AF46456E3D5ACCB55A6EB32BF6CA71C389FC32FF6A7C75C9228570BF13D1A6C495DA58DDB37F7AE59865F39FCA96C29FF080583840000D87A80821A000186A01A01C9C380840001D879820201821A000AE8F81A10B0760084030080821A000668A01A09896800A100818258206014EE99020FD2C4AFE87D9956AAC4C470931BAC517E8DDE5A738B5A5CA9FF0E5840B8C45D98922D0808AB5305F3936C39E7B856B8B81EFED4BF1DD6CD7C9BF3919D6414BE1A3B1FD2F2DC316008D51D559B83ACF63D63FBC90EBFC65534093C4509A1008282582025BCA7262B238BE0D174C040F51442693FCB0D62898B78C997787C3B57C103DA5840F4C0F8679D2CE4CA4AF2C924D5F53F27942E4F021FC0B6F4DF29E2A8F52A7E412004CB9DF33652B5768FD24A5B810F62F555738BE63FCF0BB4986C2CB403DF068258209C327E722B165CEBFE6635ED5EF55FD4737D5B71D5617EB323D6B728774CBBB758407F003307B8D84C8341901116DA6D2352D3B81651B48CD3784F2B4E3C198307FDA11D7651769416BBC9A4E99FD122AF609B825FEFCF2D84C0173EDBBC4CF2070BA100838258203E5E0A1FB6EB9F9F525AC5AA8869E2B34566CA0B2C0F74821C8A9EFE8E44368B5840266FDD725C7FC943783BAA6DADD20CD32D156B8BB62DD62C6A728A5599FC8EDF1749A981158C9DA58C0818F88D054E1EB72F3109330CDBE3CA0AC4BE46B84700825820C74BE6B7EDD76940CE5426D9FE9731C5F1C4041C45DCB27BBF5CDBA578FFFDCB58403928E748EA8805F6882CADF71FD2E109ACF15EBE8E1EEB44DB5A79C982B6B81679E508B87C40C8C55635DFA4895EDA6EAB27540A43FA8B2FADEC92CAD086F909825820BE211A8E32A0022F48A32CFC59C2BC24E7A20D764CFCF7618021B81EE3D8B38B5840B0804A1CE8109C1847E5D4AD7C788A911BF97CE8F4EE16A245E49CACE084BB67CFCBFD8CD2E385A5B2C506F32A186B8C34A5709EDA3D4CF5C0C322302B31AC05A100828258209E2F915861437C29468D8067BE2EEA243BB3CB5D5DF145CDA48184DFAAFC8E185840E43CFFBE8F7A354DD61672EE081D262A4F4E9B86CF040A0E8ACCE436E7E205A7BAB4848F7501844979C7E5D94116EFAA85C0F2FDB3AD46329FE1D8CAC393E00C8258207209EA1897B4520C1732D70CEC81708062B2817FFEF8003431FC4E65335EC7255840B9E3104A992CFA40A174F0F7273449CCEE0EA84C81995C95222C9B8CFD3537D66ED51737179E1D436797AA4AE8F819384903C57F0B70C762C7E05DF5F302520BA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840150E7F37553DD61797F5E6E66B6B32C4E810AC8EE791F5BC4EDCAC9504D76013474B7E322F7DEA1A7159A9345465E8430698352D8BDB1E4AB058949A4961D10E0584840000D87A80821A000186A01A01C9C380840001D879820201821A000AE8F81A10B07600840002D87A80821A000186A01A01C9C38084030080821A00099CF01A0E4E1C00A20081825820FBC53E7AA4E5497D8662E8F0D5337441F629D1F237217BC24AC41BB6DE89F8415840E261EA57E233FC6034F04CAFFD8860F3F7793E4BFF183316B29C1F97BAFCF651D7BD1BEC051645DECF57B3BA440140696E63BB25A1B2429537426D05F717ED0D0582840000D8799F00029FD8799F0100FFFFFF821A000EE1DE1A12AA6A45840001D8799F00FF8219618A1A0066AFD8A20081825820FBC53E7AA4E5497D8662E8F0D5337441F629D1F237217BC24AC41BB6DE89F841584061AC665E5E8EAD7C53944B724643FB2F4AFAC773E086E572C3529FB328A13B0593E2A4F9B971D148F9A1C8AA764B213FCA35380C5F7902890C1530A10EE6AD0E0584840001D8799F01009FD8799F0300FFD8799F0400FFD8799F0200FFFFFF821A001AFFA41A2139DC91840002D8799F01FF8219759C1A0079BD28840003D8799F01FF8219759C1A0079BD28840004D8799F01FF8219759C1A0079BD28A10082825820EBA94E0BF90EDF2E04AC916BA33258540A06008D6B5B9BB315068E223BE2CBF5584091E3E2F6167FD4FFEF02ECF397D9C65563F00B3596F6D3FC30BB5541BFFE1DDD90B6FE1F7A049EA25B395AFD435D0269486A451BFD9BA8FF663EAFAD50877E0B8258208695AA558A4008ACE35C0FA7463B4DEE6A6C4E3B589D945730E1CE315E1BF53958404AD95F59CD43B51BA711DE4AF945DA6FDE2BBB68D461C9B1389F4B0C1C2FBDA5C721A9F913780B007F0B009A07CA41E9554C9D4763F07AE7B9F22B55A98FBC06A1008182582051DA641D44CD7658029D07644CABD4A24DB03F90A71AF18A06130CE439EF945F5840AD322129B2BCCAAD6A3A2A088B40D49DC86237C6D97A394F8CFA2876C63D40550C407DCA820C2E46954D182E93287D80B9D8631B5E7294EB8487EDB4B855340AA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840837AA7F85C1E66D199130AF66339B66336537F9699742F283F17F0BBA81E01FA8868CC0DDA9C51312A96F5BC0FA4094E341DCCE4E42FD6A95C224BA1E21185080583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A20081825820024C98A9921CB918488D74467C2681E2EF2075826D32B80B85F608217982FBB85840EB56EAC8458E0B89BB89D3D28A41A4FAC50BFA1ABF8B6743E7CE685FCDC071F0429499FB87E5AA9B604E48D4947D64034B724B3B5BC4C59A45FD751D7328DB030581840100D87980821A0002E2241A032F69AFA10082825820DCD98D6037215BE2A5E03C3796CF025FD52A096D8EFE795B890D8DA60E45473C5840ED86717E9489C59F4EEB3472F1E77CCB4C40E6235FE9D802C257D0CE1343E6B7024943C0E2FB80CF7D23C00F29577D42C202367F4B3458CD6391D9556AA3E108825820B8E6E55E683DCCCC514AB758EF757AF91A9294D053B37CF25843D46B360A372158402146AFC3538E32680C2DD4F8AF82CA2597B206DC6C6D44897B23DCAF59829E2C8811289825879FEA4C983062FFD9E4340DD97B6845E98FE404E39C4861C8B907A100828258206DF236EFE8546DB0CF3EE4C7085F5D60057E62E6E3288D27FDD6AF79C120EB0B58401418A2A07771E546038A016ED2C0CD7363155767496AB29A211999F5A82CF98191DD648203239ACC44E70561270028759C14928D78DFE434680A825968C52F0F825820E437199B91AE7F191EC2C774A83CA35A32207FBF8D0EE93EB69AC24D75308B9E584061E5CE1A06F398C968640043180000A3B7D283051DCF6312FAA343E2A195FC8EA0259F53C62D52527AF02F558DBA1A2ABF77408C545353B9C95D5244B2094109A1008282582058D25A67443F613E1ECBE87275A18D67583BE5C128D99DDFDCB7B2678AF1482058400F5B2B274CE7DD9D81C7E9CD68BA797B0D2E75BB3181AD855C98670E6D9F3009F8A7904A8C8AF808A53A098A3E283FF0290A197018FDB3AA11743D2ADF117F05825820A9C27F48E66384710B185E9C6DB49D468A837002379EB3BA5797362DA45B958E5840276422C0446BE7FF33DDB9C42A46D947D99D8A0142F0FE58492884CB4EC58804E2C9801CC3CED9D4AD3B203FE270C6B1D2CF217039226E6B2E3499B2E5F77401A20081825820C5D63D7DC066DF52592135B6D3CB4F3470D06F7BDD4B2D2E32EB59CA3782662F5840189F84BE1DF2ABFBFD06A89F2FF67F021A7303B5E842DE0429F8CEF651DF9B5060FCBDF327E118B98CDCC1465D44A851D3A0FBE7EDA74A211B44AA00B256E9060583840000D87980821962D91A007CC793840001D87980821A00012DFC1A0166FA60840300D8799F009F1A001E8480FF4100D87A809FD87A80FFFF821A00143BBD1A19764B2AA20081825820C5D63D7DC066DF52592135B6D3CB4F3470D06F7BDD4B2D2E32EB59CA3782662F5840E992493D3A14EB36DD3E19B2D1875F4257313043590119D47D892D86E346C9D0ED240B5CBD14F5E2C772EDF5AD182EEFB000AF72C441FC2A491CD8DEC2E51B0F0583840002D87980821962D91A007CC793840000D87980821A00012DFC1A0166FA60840300D8799F009F1A001E8480FF4100D87A809FD87A80FFFF821A00143BBE1A1978F295A20081825820C5D63D7DC066DF52592135B6D3CB4F3470D06F7BDD4B2D2E32EB59CA3782662F584083CA7EB699573AB94FD5B88A365A95220386CED612E7AA832B860F46E3109FEF6FE7F00FB99DD1DB0C2F74A6D52C8E9BE00789B6D0C57E3EB5800F5C724CF6050583840000D87980821962D91A007CC793840002D87980821A00012DFC1A0166FA60840300D8799F009F1A001E8480FF4100D87A809FD87A80FFFF821A0014147F1A194DA602A20081825820C5D63D7DC066DF52592135B6D3CB4F3470D06F7BDD4B2D2E32EB59CA3782662F584014C28FF007D5067DBD0D3E007A79CC0C359BB2346C09AD8A0305A5223ED0395E42FDFFCFF7E6DED2DA95AE9743E2DDBA253E8169935F44B82B2DA2BDD91C37010583840000D87980821962D91A007CC793840002D87980821A00012DFC1A0166FA60840300D8799F009F1A001E8480FF4100D87A809FD87A80FFFF821A0013EA921A19247B7FA100818258200FFBA5C0157D1CEFFFF8BFCFBBBC02CEED55AEB7BB7018F24E7C7C2D1C9359A95840FF70ACD2E679E508867B26FF18E5A4E3F69800182C51FE033B78EC8E2809156F73D07438545813B9C5E708EAC083BC781FCF368271F9D48C0EF122F144C61B04A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840AD9A50FB3365F95D7DEF4CF5A13B365999B2F8B204875C6E595F53D49C03D5AA17CBD09B9A489BC474D9CAA58D760DCCE6689723FA21061621522AF8DE801D0A0583840000D87A80821A000186A01A01C9C380840001D879820201821A000AE8F81A10B0760084030080821A000668A01A09896800A1008282582079728CB0AF2A46E858E5B524508ED889B4DCD3978F8540D97743F6A17F0077075840BEA41E123443216D9283BAAB595F35F1DB1575BB02FC6ACB6968781F14291825D58E99D12F27D4E1664737ABA1B25D77D41AE01130E2824752DA38A934C15209825820EC3837B03D7C0672E7792A1B73F89F59A82EE0EFC566080354ED602B167FAA1C5840C11EBEF9366D41FCE612C5C4EB6216FF018FA61E37A3177FB2179F97BEE03CA151BD4E77CF75EF82AF245AB838AB4B36B01AD7A2BD7501F3DC64F79FE98A8E03A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840F069FD530B5C9850E40E3FEE9B066F4124A026A209236554CE4E7C6335BB4660E831A220FE6B2FB16E27CED462351F06CF46FE5ECD8FD9B1258851CAEFBE3B080583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840CEB8391639F1E8EE192D6578CE107DB3C914DC0DFEC50E7B7D62980F2034390360ED873E88DF411D3EB51556B789D39A5AB3BBB16E734B0719A03D0D01D77D030583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A1008182582070E3D96C7C09E1D47DCD21759D382E603180D38E13A7CE6328909F6FAAD865EF5840A183138B3B3FE94AE1A235DDD0D4B1E5ECD23802527F87A5A3DFA82FD29D8EC7FD7A82D78258DC3E15D85EDC438DBC26977E2048652BECF00D2C60C2E0695704A10082825820F23715B0CFB0AE80CD91F356C16F34B217E6AF9CAC02AE1923374A6DAE2EC8EA584047470FB332EFEB31971E6453F8E98340EF9A0C75B23CC408E491EEF5EE9675E50F6089F9794AE5DA2CA99ACC456B565C7588A590B6CBAF831BAD01CC65080D07825820347BF96C77A1F7D13DBE3CD106FAE625BC14B66EF6003ACB4BE2A20CF6ED015E5840227E3D8ADE1A12748BEEA55989530B54145F40CB664CF7623F2F2BA55E53EF98A497F9F697ED214C69CEBA4A695D94B7265C1E5B65308AFEAD913F82DDFCCE05A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58409FF31D9A824A0C2175C423DB73E51C4CCDA2BB8244B4F14430C52D57DD1BB17503C1AB32C58D3C0C47BBB6B1C9D8C9097A3AA92571776A5D5C5F7B75A0B8020C0583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A10082825820DAF577F31DA2937864C7C7AD7C6E3628A3F3487FE5C72953B98F7C6D1DF276E8584035A8F7C05EBE03F4C2C2D82BE1E571CBD17D252D99BD797BAE0F6E5886F4BECC551FBAF7D65D4F06EBDCED84B3A5110665F3190ACCCC46D2D91BDC5E62E46B05825820F4E3E346F4C42C797190AF8BF77D645E2FE332A1B46A3D70C08F6FC4055A927C5840773B84B122DB740CEBCE607A775AFF55C8A42D7C2ABEDCE398F11511B0909B32311E53751C9A42DD8AF19F0ACDA8529AC26A5A4F58147260DF92D7F658601905A10082825820F8457F8B4E49A52506BB0B363E9A9097E021D26B44E897D0606F997587A7D5055840552ABFAB61EFAC08BF4A5CA657B46B1224883B490355571E271E80F2D6E09C571B04CA4255E92BB14FB7E0BC7A920AF03DB33E8DA9D4D23F1E0E1BBFF7B2DB0F825820DF4DECB3C653DE4B780E856DD4B48759A6D2C9F172BFAD2C9BE984D171308B7B58401061E3A720B325C62CA3DDF038059971D1CC44A6B0FB88C229639E9392E3C8364EE595BEDB02787CC68AED2922D2157A54F56119D4F7DB018D4B2136651CBE0DA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840810CEF0C2E171202BA493E212ECF8DCC5F54BC9E932ECEBE1172A8E0068E3CF132D6B52A1BD387BF52CA9A7A9569899B1933099998FB61CBF5AE8CDE99D7450F0583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A100828258209C1C3C73EAEFEEDE0F3CA8B52B1216B7C8D97A9DE4DF18F1E8D7243FAE82845658406058152B8F8C34EBF7BE99AC0ABAB1772AC893DDB752BAABC1E804EEA1AFE04D3B8AC6BE57347F6627DBA7E683D52107F2F5515B1664D8629A1039AB0E0AA806825820E40FDEF9F646C0CB18B7B147B1EDA250E6BE00C86EA54608BB17BAD6BDC955DC584029E4E5CC1D5A4546449E2C7FD14343B6D38DA9C9CD0C62005D34641092AD36D03A19751ED822D5D4C2F8452B92F20F2A4EC5ABE5ED50361DF7884B5AA6F7FD07A1008282582021C351FF5B06D4FCB24F8C4C961C03473153978B60710E2967B15454CCF4548B58404453002F410030C5B4E115EFCCCB7738E6956B9EE50105631B64F0C76FC10C1F4AEC417B787B31E353DE422C2D3020E7D8CDB5CC53BED043F4762531373B7F03825820FF214196703D84F3364D60D17F61C9C89517FDAD21B01F8569DF478F1D701AF3584022BCBB83C26D089AD748C1F1508F3651094B3F96BFE694DCECE7B6E5587EDADDF9C1FB42F4C62D83E4AE7A7F7AF77230ED0DCFDABF79F8FCA9D8F9B3574F230FA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF58408CFA7D5C32A4235651EA997B0B9CE9EE432A1D1A9CCA022A122179AF77A808EEC32813254BD509C678A784DF5F8EB396E95C37D9811EAAE1DF1B6250F10D5F030583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A10082825820E412B0BA42BC387C207B4A77332815D1A8B7013AA9004882EC5DA5077A37AA185840D19E8EEA1A7DDA21C4D59D49185150A20D307730F9A05E717EDB0EB98E5DD9AD8BC5F21990C237744A5F66D3E17A46EF93A7183CAA5A1E9A055B4ADD0D2B4703825820A47C98D73751E94C10110103F9CDFE9E7E772C0E9DD871B675D36E0E264EC93D5840EF5ABE09F16155306D1234B6C8C3F8A4BF5A7A947A4BD4C5050CDC39B29B9258DF86A5E97D32126D112C98F37DB8F4404E4E68FFA160A3FC85DE36602AAAF504A10081825820D90D59F2E726B295C73C17BC56551BB695B5C41EA292B4F2788274F5F33C3AAE584021484EBCC0D9BA560EF3147A7135C9E911D2D263614D81F984BD8EDD9D5300528A2F775C6ABD42E819B0ECDEB717E9B7D1AEAB18B2E796EBD64B87F7E1091F00A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF584003125A64F967B98C1764CDE6B181EE25C2540D25FF526B678E827A128942A2C324C026543AF65B5BFBD345C42232386C213D033A42D4934BA94C9914F93A250E0583840000D87A80821A000186A01A01C9C380840001D879820201821A000AE8F81A10B0760084030080821A000668A01A09896800A100828258202B30FE9115C3C1DD6328810B2AA9216C9C91F3FAC1D274980D4FD59C825524725840C29A737168F7536E10188D8CD2D7739CC5CFEF5BD8CCFE3BF83C0DA8D23972303407AB6C1BAA6324621BCD885FEB08AFE76853573F6DDBE8ACD885EB333FE006825820FCF26021132D1B1F20D28B7A14CD783059D9E48015E857AD68CBAB2F7C5F0B6258407BD17C0DBB349758BB6EFC8E57E4161CEB12737BF7841A898296FD064A2728A082AD9088EDA5846D2F6B472B1062CFCEAAD298A361CE8F3DB6F71EDA423CC801A100828258201338D1BDBA39F8FFA8F757B51118FDD05132AA693D58804C81D63889C50D7B35584014D1ADD00419F62A8CBD05BC65E6B7BDDCBF46E211E7B1B1E06A5CE2298B8034FFE763AB34125DD4ABA73C7301913740CBD754AB7EE16AB07B34A026927AB2018258206C2481BAFAC6699A2F8E028FA7DB342546ADBC9072D7C8285765A2327D48C7D75840E21D2C8DCE1901ACC9DD9E834908D7FBBC23A9979D11667933DCFAF47ACF2CFC4D709D6FE2DA73D23C8F57B5F3FA8BB4AEC0817274F686131D4EC11C6B176100A10081825820BA2118FF14DA92526D01B0BF4E0EA2AC005D249F0B214802DAE94F1267A80B465840333AFF49FA11CA29A443BA32491DDE1F5A31507437C5CC905FEC75DF7AEA186684CA0DE0B927F8716BC3D3CBC662B3F138422354ADB8C58E3F3F812336FD5F05A10081825820BE69479575AF32CBE3FE1F993AFAE9C494C02B2711D842E9AB911AFDC0827E3A5840D83FAC70791888685857348762F06896801EF54FE5677DB4C4994888E832EF47A73AD4B64D6DE8FA419E17069975617C35073E119DB38D68424418F1D310A803A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840482BBA634B58116F42BB3AFB1BE5AD9829BD6468852A421A383B7E3DC84EFEABC54D3C324EBF159EDBE1B1A2C1AE0E1AF72585297F18EE5243022C3243B510040583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A10082825820D5BE5403ACDDB519E2FB3AB5F8378733206F7127BB500252CFE9EFC9CE7F604C5840029051B3A32FA5496A91587AB277873019CA1E9B953A2B6262BFEE529801FF4929ADD2BF5563D432F05C7A54709585DFA1F8C09B8CDBC563B322016248DBFB0D82582040D1834E70C0A3F7CE19A586EFB47896FE0B13A147B446E00BBB0EE86C42274E58401E4B344E81D21B0F071FE88AD1195760D425CF1A9A0C10AA825E329AC63001A7DEEBBC95F8B6EA4BDD9B80A9D92553F12AB6451CF9CFB7500744E0EFBD7DCA02A1008282582082C80A785DB2E9F26019AF7743D300A27D306BBF0EE00030C8DE6BEC008929315840117CC014D6696CB50473B9F25C4F45D24F679F51EC73BD6181DB5544E5B37221A0C7F5D5234B583096DDB535AD671FD3CE2F1F8954FA4052B8C047649249EB07825820782EFCB237E5D28F24AB8C25DF90DA8C85ABBF79C562112F7D039E5A39814DE35840096F7D21407880A8DCE333E6463852D7E10FE0C70048B4F7BFA337C252B420939B76F9C870FD1D447E6B78553E214F4DEB8C8B770E6DAB45F258C82F2D4CB10BA20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840F6821C48BC513DCEEE53146044CBAE214BE59676367CE3953E53466DC13D175C03736A43E644E6C79AB168531687AA0DC4879B58BB05BD7FF8D55599D6A3C6060583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800A100818258206D4AE66BF2213CA5E6CD767F0120F52BF6C7F35EDDA4124BD1667217E4A5850E584046E22F135A7090D31A07C1E6878CB66F2154146F43C985AC1DA949119EB226FFB3B04E7C33084EF4EB86A5EB0C3A3BC48FB7744064BDEF83C3A2E60E68F94508A100818258201A9AC9708006E5AE1A310BBDA9364FC151FE522CCB93420F84745AC68C5128F65840C57485B0283F6224E254E71C05B1274F0459691EB7910F5096DE7C365FED51EBFE72DD935794199E811EDA04569D786906D30271384FB30A8864BA0E7B861E0FA10082825820FEF4D8B68D52CFCA5B60A7A8A6FDDC973EC32FE84AFB43561914754843A2F96B584006D559B34BDBECEE8DCA1251A9D572B88C55A2A70F614EA2291B237D662E44DC0D0311A6C7FF9D1F97C512F45558AB3FA7D3DD0EB0168569A5E2EF5FC4B3AA03825820B26F0466F7429E4136FF0FA42E9166DBF386589A200D0C0BCC5DE2528EE6926A58403AD471299B632AB18721746F7CB26B640BFA561951EBBE0EA622CA58F071B00CAAA458F426178922713794ECD0B15B99651C8EDA8C203269245CD3EBADDB0203A20081825820D39F6E2677E23AC35DA0A65BEF78AE5CFDF34EB57C4059D4D7F31AA9CCDB8EFF5840C0EFD72B1D09C17E15D92F9B52A095E9103DEA0B5A3C7A7C6D3FB2A91942C0760A8223FD2206EA97151779D0A8FB65E2DB6731FFDD16795090663F5C4E6E470F0583840000D879820200821A000AAE601A10642AC0840001D87A80821A000186A01A01C9C38084030080821A000668A01A09896800FFBF06A11902A2A1636D7367816F44657868756E7465722054726164650AA11902A2A1636D736781781B4D696E737761703A205632205374616B65206C69717569646974790BA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E0CA11902A2A1636D7367816F44657868756E74657220547261646510A11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E13A014A11902A2A1636D7367816F44657868756E74657220547261646515A11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E16A107825820FC05A40E6A6C4486F0319E0E2CB7DB938A92A4B05447FD7C5FA1E8D009F403BA58200A90E8D83D3764AAEEE5E8AD717A7CB706872E093520E37EDFF28F8CAB14740B181AA11902A2A1636D736781754D696E737761703A204D61726B6574204F72646572181DA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E1821A11902A2A1636D7367816F44657868756E7465722054726164651822A11902A2A1636D7367826F44657868756E7465722054726164656663616E63656C1823A11902A2A1636D7367816F44657868756E7465722054726164651827A11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E182CA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E182DA11902A2A1636D7367816F44657868756E746572205472616465182EA11902A2A1636D736781774D696E737761703A204F72646572204578656375746564182FA11902A2A1636D736781774D696E737761703A204F726465722045786563757465641830A11902A2A1636D736781774D696E737761703A204F726465722045786563757465641831A11902A2A1636D736781774D696E737761703A204F726465722045786563757465641832A11902A2A1636D736781754D696E737761703A204D61726B6574204F726465721834A11902A2A1636D7367826F44657868756E74657220547261646570506172746E6572205645535052694F531837A11902A2A1636D736781754D696E737761703A205A617020496E204F726465721838A11902A2A1636D7367816F44657868756E746572205472616465183AA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220544150544F4F4C53183BA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220536E656B2E66756E183DA11902A2A1636D7367826F44657868756E74657220547261646570506172746E657220544150544F4F4C53183ED90103A100A11902A2A1636D7367816F43617264616E6F2042696E616E63651840A11902A2A1636D7367816F44657868756E7465722054726164651844A11902A2A1636D7367816F44657868756E7465722054726164651845A11902A2A1636D736781754D696E737761703A204D61726B6574204F726465721849A11902A2A1636D7367816F44657868756E746572205472616465184DA11902A2A1636D7367816F44657868756E746572205472616465FF80")] + [InlineData("85828F1A00747D0F1A041E6B51582093A6C66A8FD72027551F8BD220327FA2E6C1E9DF0FB1768D507ABE04F81288AF5820E9D4550B82CC2D03D986FACFCC9A846A44466F266290BAF1FE47DA53052F7C0F5820F3C9B1B81816A66B316D3B9BBA839228F324E3A7B9B8F418932DB2DC20F0CD0E8258405B232174D50B9F7DC70389ECFEC9AF7C7620E18DCE3A96CD49C7E75A3D675731121B58FDD4C4ACB640FF4B67595D0759AFA6948C28B1E62ACDCBA2EBA8712FA8585073EA59DF10EDD3984C4870FA8A83049AEB1CC00F2F9B28FEBE263DEC94124880AB0D234A4D2A457F1E78CA6160F11B78376290B13729BF5902310B03A555EB4B67A4AFFE8668D0D2862E35F7EA71870082584000010DA617537671DDC3F1C27D792FF8C120E7072853CD2D5E35A68C7E0F6A085299D17C8FB4E304B9177E7D5F710742298629D14CA8887F6CFE61FD06428FC75850F5F290E952AF2A88C5A6B08E2DE0B8F881B24583A8C56C4C8C61921B65DF628112F391A17B9FAF64B4FBB199B76CA9C0911F38D176D9A9E0E6024782B971E7FC288A3518BB7DEBC53A76CA93B3D45F0B1A000100025820180CF196CF2E5FC72AA46EDB7632AFE9FCDB97E1B7F044C57566B77EF4164AA55820B0403C3524CECA37328809B712F7073F8E47BE1210D375D8276F374866F25039061901F958409247ED90208423669D5ACC023994CD7AF3A456D5206B4C01A2E18CA32E3AD7B661FA4665EA14CCCEAD247BBBF36804F43E26784D8862F947A2C387EDE90D8B0C06005901C09A81854BC6566B6CEB766C495C026319BBBF46F2BB3604DE4654576953D23F35BCB3D2CE18371B1BF031F3A410AC876DAC6C39D4A8DD03A7098D1A810376810D5D6158075AA22853D7FAD5C90982EF0E3ED0FD2ADF3DD67C190FAD5882660087D7DC34D05370A2D3EEA4839467F65BE67481A70B1C608B7A8D118BC9B54F5CD95F5E494A309BDF0E3DB42B0F9F8D959C5ECA1BF08E49C34A3E269275FC30D4274A65734BB1D0F0EAA61125609E0AA4732EBDE1A7E1784B9EAE3E90CB386F298485DFB0D86D36E8D099016150FE77212C5D1493126DCF40C54133ED22EC714EB66CB09F890E8B9DC1C75505F37F7338CD6518D991E03F74ABA2D107E4C39B3A0A2038BF16FABF0AF1B19B5A710BFB9550F7588288B07C576C481505D9E6A1D65E1E7DFEE4C5745AAE39B2DF25B55727143020363E8000766D523BE9525998C0600247413220876EDBA0978BB9185B501E9846A1CD25DA8A77832008B20EFD7DD74A598E374C3A162062D17BA650F8CA394F66C9B1DFD56625D524A32D21A8F245A24211E7E7B04ECDE6A8D521D56F7E16DD7B09AFB813AEB4809BF7C75B8A4CBBF679CE3DD672F166D7D2AD6203FB78FFA9F4EF3D7BD2C43CD45780914E73449E95A800828258206FA63850E3F1F1134CCEDFDDD910DB800A342910A9EEFC52ABF92926C5C16CD7008258206FA63850E3F1F1134CCEDFDDD910DB800A342910A9EEFC52ABF92926C5C16CD7020183825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A00A7D8C0825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A004C4B40825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A009583ED021A000837E0031A041E78F7081A041E6AE70B582047E670E625AB55B4E1C58DF8F87555600CDA9EE86883B1B39A1A5A4028EC21550D818258207CD63DE8469B3DA0F3EDC5645A661174A47F787635313BB188DFAD0B4A7CFE2F000E81581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE2A80082825820981458C50D0BAB16375F7E2AD26CF9ABF230E61EFA647337739153F95DC2FF2900825820E74C234F5A26DF5DEE010D13F91082E6E86C80F60FD5DFEAFFB4F5FBF982DAB4000186825839013703BD8AF7FB168951316AE4BF1C6FF4D4EAE909CFD7429A1EEB88EDEA994C11C4FD93B1CA5E191EA617993747BC2BCDDEADD921FF960F291A002D03708258390170E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A721E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005F1A0012016082583901374BC3211D98BDC351719DE4B152E44C0C85E025903E21A61C6947AAD15948DAF6D96ADF9992824465A53DD9F992AA4F4857E27CB683AED01A03453FF082583901728CC2F3FF10541CE6FF75E6953A30ABE15530316492123413EB9B0C52698BBDC65CD3DBEAF0A13EB9CB00BF6B242EC4981D1A597D803641821A0017BAC2A1581CE4292CE2061C128988A437A3C7F36FF499F230445CA44670BFFFEA63A1524142485378436C61794D61746573453636360182583901728CC2F3FF10541CE6FF75E6953A30ABE15530316492123413EB9B0C52698BBDC65CD3DBEAF0A13EB9CB00BF6B242EC4981D1A597D8036411A004C4B4082583901728CC2F3FF10541CE6FF75E6953A30ABE15530316492123413EB9B0C52698BBDC65CD3DBEAF0A13EB9CB00BF6B242EC4981D1A597D8036411A0508713C021A000BA8B8031A041E78F7081A041E6AE70B5820A7EBB11DF4DEFB3C65D0F704514AA04F5D8D7FD09017BB4AAB776B65369A1CB00D8182582062999F2CFB95FDAB87110C1B732A18D2474AE3299731447FAC093DCE77E764C4000E81581C728CC2F3FF10541CE6FF75E6953A30ABE15530316492123413EB9B0CA90082825820D17623031C780FD00D69AB38441E8713D5F41951571BEFA5DF6D970D2DB8E45C008258209E688AF83DF48C9C4F7C1C86A57E5547F154029CC19570DE26A0A60A167DA8AC02018383583911A55F409501BF65805BB0DC76F6F9AE90B61E19ED870BC0025681360881728E7ED4CF324E1323135E7E6D931F01E30792D9CDF17129CB806D821A001A4EC4A1581C901BA6E9831B078E131A1CC403D6139AF21BDA255CEA6C9F770F4834A1504D616C6C6172644F72646572343331320158204C3B0FEC5DB255248505DA1DF3430C780A7F0D89FD6CA64384DCF38C0EEC8BF582583901E6A57730CCEEAC17DF82280C38F0C1C1CDA0CE863005799FB7071794C35CC10A12FAFC0DF26BA0DDB5FCB26843AB412C5E50F8FA1B30C9741A004C4B4082583901E6A57730CCEEAC17DF82280C38F0C1C1CDA0CE863005799FB7071794C35CC10A12FAFC0DF26BA0DDB5FCB26843AB412C5E50F8FA1B30C9741A008C30BF021A0008DDA2031A041E783B075820F2CC0DA7EABD684053905F41243DF7EC43FADF800A242CEE168FBB553E97A758081A041E6A2B0B58205025FE647F5BD4329068E4340E069B3CA7B9C6B139AD021E3F32D5FA6EBCC7D90D81825820B78AE8215C8EC0175D960E47FB5FA8E6823D1E8BFA08033DC62D041C0FE9B06D000E81581CE6A57730CCEEAC17DF82280C38F0C1C1CDA0CE863005799FB7071794A400828258202FB2F0CEE1C43DD1629C46FC7E223605B82CEB559A7F9B8CD327FFCEB1EF8E720A82582080C594A75CB247A45783AB64294F9B9D2053BC59B10B4E9937D2F717E279A6CE01018182584C82D818584283581C08A7340927AA0556E0596BC1C3CBF7728EF94EDBF01003DEB34A42ABA101581E581C2374B70AE27C8CC69328169794CB2B71B55F62BCB07A66A44737E1B0001AE2F0F01C1A13681C54021A0005ECCC031A041EBF9EA4008182582085AE7627D6E0A770CCFF842FCC5FFE491ECB48E0155B3DE9703398983B4A645F01018282584C82D818584283581C74F2E8BD17F2629A6FD20C6349C3AE21661A94D1A5678E40AEDCD8E8A101581E581CFB4322611AD1D21E6F623C533ACCB00AE5F8A0B4523EA35858071913001AB365AC171A118608DD82581D6179E67550B2FF311DA1883AD0CCC6FB2BB7C75E5489ACFF735FCC68781B00000008D5C95506021A00029CD5031A041E794EA700838258205D091577198D3C598783ED8017E0D6E61294CF42C6B0B400B587AA5DA16F80C6008258207FE348B045CA33EA7244E7E91B3F538946720B6BCBA63EE861A5067B115A0135008258207FE348B045CA33EA7244E7E91B3F538946720B6BCBA63EE861A5067B115A0135020D818258207FE348B045CA33EA7244E7E91B3F538946720B6BCBA63EE861A5067B115A013500018382583901ADB1BF6A51B20FF1B8450726EF3891BB0E153D5BF47783375E2134AFBD6A096CBBA5E259946798E948403E2D2B3D9EA88A12EE8E7AE944971B00000037EAADE7F48258390177ACF208FC5F48044790F99A3DA86704C380CD9B10993E6AA73D4F7607EF265F06DD291F5268D112A21293FE681E06521F75DCBA9D25483C821A0033028EA2581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1A16DA2E07581CB34B3EA80060ACE9427BDA98690A73D33840E27AAA8D6EDB7F0C757AA145634E4554411901AB82583901ADB1BF6A51B20FF1B8450726EF3891BB0E153D5BF47783375E2134AFBD6A096CBBA5E259946798E948403E2D2B3D9EA88A12EE8E7AE94497821A0042D24EB0581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC924A14579756D6D691A004D9694581C25F0FC240E91BD95DCDAEBD2BA7713FC5168AC77234A3D79449FC20CA147534F43494554591B0000005B67BA7B36581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1B0000285EBF9FD773581C5AC9C98B7430F7ABB24365DB042EFC0090BAEB0BC017A210D0C50BC3A1475975756D6D797301581C5DAC8536653EDC12F6F5E1045D8164B9F59998D3BDC300FC92843489A1444E4D4B521B00000940469DF43B581C6F46E1304B16D884C85C62FB0EEF35028FACDC41AAA0FD319A152ED6A1444D434F531B0000009617C66B25581CA0028F350AAABE0545FDCB56B039BFB08E4BB4D8C4D7C3C7D481C235A145484F534B591B0000005E3AF1BDEE581CA363C8757CA0BDDEE3C59E021A72DB7EA98AD905439CC31AE3BE9368A1454C454E44371A000F4240581CB34B3EA80060ACE9427BDA98690A73D33840E27AAA8D6EDB7F0C757AA145634E4554411A0012E234581CB57E0C301865D7191CE5F100EAD7E1229DD09E3AF56517A79B7BD953A1444B5542451A1C9C2478581CCCC0FD2716856A880A5BAD7FE4167E720B0B6766BE63201235398B40A14A5041564941343931393201581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A14A4D61737465724368656601581CDB30C7905F598ED0154DE14F970DE0F61F0CB3943ED82C891968480AA144434C41501A24D7FAE7581CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D86A15820C00DC00BCE1027D3D0E2B2E14BC3C8B28EA9BB584A3D93E367FEBCCB924D2EF71A00030D36581CEDFD7A1D77BCB8B884C474BDC92A16002D1FB720E454FA6E99344479A1434E54581B0000003931601D33581CF43A62FDC3965DF486DE8A0D32FE800963589C41B38946602A0DC535A144414749581B000018B26082CD65021A0003A0B50E81581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67E09A1581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A34568764144413A001BDBF5476876434E4554413901AA4568764D494E3A16DA2E06075820FC1B8F5A107855636A7CA62A8811F418FFA00A9D2981BE3CE215477C696AEB85A700838258208426AE6D1BE9732C5DF81F151DA1CB2DB3F3C6169886BAD89AC80B112E431D0800825820A81D8375D090F30084C9A2262741BF2DA06082D4ADE497D35FF3DFD2CF855C4A02825820F44971EB5DC2A51AD356B0536ED90A884DCA847D3CE753F89B41E973B86CE15F00018383583911E6C90A5923713AF5786963DEE0FDFFD830CA7E0C86A041D9E5833E9146AC20804F730C01BDC651C2E5CB86FD56144D60FA827AB9B39404DE821B00000085513D121FA2581C026A18D04A0C642759BB3D83B12E3344894E5C1C7B2AEB1A2113A570A2414C015820D5759E269DF87A794B58360AD3BE9B375498C28792711294A5E86F2E355D20B71B7FFFFFA1AD5809FA581C8FEF2D34078659493CE161A6C7FBA4B56AFEFA8535296A5743F69587A144414144411B000000641E02839D58209409909515F66B97A3132C2A6CA1B666FAD29C82CD4F91FA958D971C8773D21982583901C8ADAD32DC5FFB78573D2190736B278722CEEBDEB69607E58B857C1010B1803EA193A0E13D869DB010BE7DB9253811E5C73105D88433A0B8821A3C400BA8A082583901FD705CC16F57A6F15BAAC48B0D2B99CA26CF7C503EA4877C70327A0A15D8E40FDA2FCDA496F663FBEB6D271534EFB98445FCF77464EEEFBD821A07AB1097A1581C13E9940C94572EAFEF8B391B64B4A2E898B6A7008ECE9064631E6FD2A1415801021A0011803D031A041E8054081A041E6B3E0B5820138F7C5E1F8056E32167570D32781514802B8C9CABB6FC7A888F3754099F116E0D81825820729FDAE2E91186416B3CFB3A490D6427759E96715E7E8C19A0204E25742EC94400A400828258208B60BC8DAA9D2A0E8078834E5FF0D398A1407423733149082C00F8E672A9F933008258208B60BC8DAA9D2A0E8078834E5FF0D398A1407423733149082C00F8E672A9F93301018182583901087AE5A3F08514CE174ED399AB28871EC0AAD007DF485F3E1C9BB88D5DF3842C6CE10BED7466FB78A9F705CDA9290F2FE9AAA8325068AF4A1A14703BEE021A000385FE031A05F5E100A90082825820AF073C6035AA73A5AD0D5F6571EC4096BFF4284844CB34331250012E5AC6B0EA00825820967F9E75FB0B7F94CFDB1A8B43C12A13F672B0EBA4418D5CC286C8A2E1AA339402018383583911A55F409501BF65805BB0DC76F6F9AE90B61E19ED870BC0025681360881728E7ED4CF324E1323135E7E6D931F01E30792D9CDF17129CB806D821A001A4EC4A1581C07B39A8EAD0EF1E3054E816A3B6910060BEAF2210FDED63FB90CE137A14C434C5043314D4430333433380158206BB222F80B1F7F30400C9721263D95A7C132C5CAF568A91786616EB3BE1F94D5825839012C3F55CDB82D815D2B824396E01CB53D5DE5CEE13305DDC84DDEEF5C2FDC5B119A6F2F6F448F8465DBB08A4F4F69FE57235692FE381541FA1A004C4B40825839012C3F55CDB82D815D2B824396E01CB53D5DE5CEE13305DDC84DDEEF5C2FDC5B119A6F2F6F448F8465DBB08A4F4F69FE57235692FE381541FA1A072B0256021A0008DCEA031A041E792307582070CE8DADF0B75BF7620663957D1AD4E769899B814A962CD5845818FD5F8141D8081A041E6B130B5820903F0DB03A45A99636E3258954FD39FF074C46DEE8963C89E94D67C2F3E41B060D81825820F5E2022AE29DB8D71B7978602431EDBD2CF8A55E61ACC327C7958086993AD023010E81581C2C3F55CDB82D815D2B824396E01CB53D5DE5CEE13305DDC84DDEEF5CA60081825820D99114947FF366BC3E98245FCECC8A467A0453B7964FA63E2E948E5D321D6191010D80018282584C82D818584283581CA1125D185FE1FEF72C6ED81156240E7572A908C9C162E7F0317E7907A101581E581C18F6ADF3C4F83F6F5E5768E492CE2827F2BF1AE0C8D7A0182332D68B001ABE30DB771A03938700825839018A976C42C9225103EEE0FA3F6F67F4819D9A3AA5FE924CCFEDDBA55A72A6594922954FD81756B9AB9844040C6C9E9048491553198597BFF11A0301C3B6021A00029781031A041E875E0E80A8008382582015F81E75869B0D66353F1083ACC55D0E8A75F0D369C198D8CECFA5B11CC63FA8008258201CE174661C434F40E1D4287FDA6C72EDD51F6ABDD1B5B527A32BA29B14DD97D40282582056650BC1BD28AFBB6010F674C444317BD3F88147AD5FEF25CA776271FF0961D001018A825839018F3A31E7E965F85DEA0269AE61662F866B4EB7F355953A2DDEFA63F12047573CFCE35AFE0EC41F2B3A2264001DD5FEF8BD89D840E2257A6C1A001C9C388258390170E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A721E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005F1A0016E3608258390188935C97E4B5C31D61E3F2E659FD50DB9B0F3632FE56F977A232DF4AB2DC95D42D841E985DE15918A5044180DC607523658BA64C9E04F61C1A0444E9288258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE821A00172698A1581CE7514E65F977EE4B84A8E62E7D97EA2E5C11682DFE1444D8A14E74DBA14B44726163756C6130333233018258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A004C4B408258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A3375FF5B8258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A19BAFFAE8258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A0CDD7FD78258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A066EBFEB8258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A06618785021A000D3867031A041E793B081A041E6B2B0B58205EB4A597D7A57D1DE96DBC0DA185B6582A952928E3ADB61AA136F86CB186BEBD0D81825820933F1E785AB0DF2B7FB8C27E1D061B012257DE86765EB28C537065426F3039FA000E81581C77CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C853A40081825820BCE7F139B101AAFDC6AD84572B8B4CD13222D0E3A761C4C70A8E14FE87B9919F010182825839011D47E02DE9A2C913F67D6240AEFBFCE0631EB138A43D60FCB08312E7DCF01E6680145F06214933DE6DAECBCD401E32B2EA26B7A23E3CB1381A1DCD65008258390117578DF963CE428C23F62675B67B7BDD08223D9916476789164E41E6E44E0685FFC475349E955EC13A7D0C1B1B1B469E14A90B7CD2362AED1A23B51B96021A000344A5031A041E875DA400818258207B6D4BD8214A8BE676755A20BCF366D710E1717335EA196D6CC20C63202D1EC70001828258390148D43B78FA5CBF7348CD276D54CAA9AAE9DD0227EFDECAEAB3FF6E9E01CBE3AB9C692AFD04B4820609CF03CF86B8E7912BEAF2626324073E1A004C4B408258390167FA263B18AF66D1294B94B1E198141DCFDE109EFA9F1FAA7E9CCE04329B9A69B1A87AB57C22667E9F743BD948837DE9F71AE5C9914911F01A038D94BC021A0005F244031A041E875EA70081825820D45F3DF3E06924D36E79442C364D3107AE6F44E207570510446E031C5B743B2202018383583911A55F409501BF65805BB0DC76F6F9AE90B61E19ED870BC0025681360881728E7ED4CF324E1323135E7E6D931F01E30792D9CDF17129CB806D1A00989680582016F50368AEA662C6C52EB4E94CFE951F0BE6A83C832B9377343D465F39188EF082583901E625E6A75D35F72AD27B280E60A776DC1ADF22F51278A7CAF0EA32B6FB3B040AB901A6BC894080F803D9D808BC21E609EC22CF481B1ECD5F1A004C4B4082583901E625E6A75D35F72AD27B280E60A776DC1ADF22F51278A7CAF0EA32B6FB3B040AB901A6BC894080F803D9D808BC21E609EC22CF481B1ECD5F1A007DAA8C021A00036320031A041E7900075820E55FEE94EA1D74E0E9391CB367A56002BA1295F6FB5BF96A0A897EB936606F4A081A041E6AF00E81581CE625E6A75D35F72AD27B280E60A776DC1ADF22F51278A7CAF0EA32B6A700818258205DEBD75290D407A9978A827D6005719F532B5C98AAFE706296D37BDEC5ACB83F00018383583911A55F409501BF65805BB0DC76F6F9AE90B61E19ED870BC0025681360881728E7ED4CF324E1323135E7E6D931F01E30792D9CDF17129CB806D821A001A4EC4A1581CE7514E65F977EE4B84A8E62E7D97EA2E5C11682DFE1444D8A14E74DBA14B44726163756C61313436300158201A2E160338534BC085139AEE4F261E19922131E69092AA29143D2E2C15BB8837825839018A8FF0800E0BF95F9AA60FA534FAB97449D0E6358E33455F428C180F866BE7A2ADCB108D87E048168B770B3DDEE232C5AC8875315007EC221A004C4B40825839018A8FF0800E0BF95F9AA60FA534FAB97449D0E6358E33455F428C180F866BE7A2ADCB108D87E048168B770B3DDEE232C5AC8875315007EC221A003DF55A021A00034E76031A041E7900075820EEABFD7978136CA2F323F071D695495D53ED5889106E831EED7F4A55BE58F9AC081A041E6AF00E81581C8A8FF0800E0BF95F9AA60FA534FAB97449D0E6358E33455F428C180FA800858258201AB18922E8CCF07D1D52BC1992ED510A8CE98EDD3A768D16E46175BFF4A83D7200825820250F12E02385F71FB36E14D5C211496753897BB295FCEA991BB9F2EC2B405C6704825820118B7616BFE12A649779129401E570EFA949BC030BE09D432E3299BCA3DF2BDC028258200704F9A76FBCD2FC066407F9CDAD980715807E690FA7D765F88844585F306F3F038258200704F9A76FBCD2FC066407F9CDAD980715807E690FA7D765F88844585F306F3F0201868258390181D021F8142A4A04EA09DD0C002639EDDFD51B0D3299ADE3864FE0167F50D3D0DEB8CD0392C1B2BDEC0273B9C902EBB9599CF69FFB73C9B21A007270E08258390170E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A721E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005F1A002DC6C082583901C6FFAA906A6DC8F29169E34AADFD63A4E81ED408E87363E74385415F16CCE259F16C9E0833F01B51C6500EBC2B47D104B7FB2E26245E62711A085099E0825839018E841954E746968012E342BEA9986576648D4131BB35BD6DAD860095E4F7D22351FF23013A9FCDAB60F0BE8602CBD4604BDC58D587FE383F821A00172698A1581C59142DF7DFEA56A5B76B842C206FC7BD844B43A2D10F5EB05F695DCBA14C526163636F6F6E203235393701825839018E841954E746968012E342BEA9986576648D4131BB35BD6DAD860095E4F7D22351FF23013A9FCDAB60F0BE8602CBD4604BDC58D587FE383F1A004C4B40825839018E841954E746968012E342BEA9986576648D4131BB35BD6DAD860095E4F7D22351FF23013A9FCDAB60F0BE8602CBD4604BDC58D587FE383F1A00D72AE2021A000C8793031A041E783B081A041E6A2B0B5820C22BB6842A50DC6CCA6BC4D9225E07DD878BE939C6F1E192CF133EA8ABB103B10D8182582087655AC4D0640F0B55DC3E2E1A3C935F1AB10128BBDE592910762A2ABAC269B8000E81581C8E841954E746968012E342BEA9986576648D4131BB35BD6DAD860095A80083825820DA3A9394B9700CDDBE889206B1DA1B3CF18966E96CAFBA84BE59DA1A01D89662008258206FA63850E3F1F1134CCEDFDDD910DB800A342910A9EEFC52ABF92926C5C16CD7018258208821B354EAFA600A9E4C3C071D69CFB0D3919C5B660804DD9FD82B68D37859CE020183825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A00E4E1C0825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A004C4B40825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A01734CE8021A0008904B031A041E7900081A041E6AF00B58200B4A3EC66C4AF0D2189B2719E45C0C4E429B9EDE431E8945DEC9D40F6DF0FF7E0D818258207CD63DE8469B3DA0F3EDC5645A661174A47F787635313BB188DFAD0B4A7CFE2F000E81581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE2A80083825820AD3900A09C391C890AECD8DAFB3A37E1F603267C2E6EB3AD11E14D123E45353700825820B3A03FF85D723DE07FF47AAC8CF5804ADD34F07783FE976433C9C8EE7A9A7353018258208E4BB55FC65C49C4707FF4EF6D3C9B2705AFE8B65799E7EAEC062A1159A1987C00018B825839015C24FC985BEA1E64D308B669B81E26CF3ADF1760B632F25B78D77B2488795FDA77599FB353C47729DBAF6538CCF2B414C11E92C62BFFDDD71A004B87F08258390170E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A721E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005F1A003C6CC0825839012E36D40DD50E9B22094BD810F1B907C7B06BA677772E38E2B3FE1440C60112474927C593E68A5EFF5DE3FF39697B1EEF7466D1E389EA27711A0B4548D08258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD03821A0017BAC2A1581C4BF184E01E0F163296AB253EDD60774E2D34367D0E7B6CBC689B567DA15550617669614D696E75733230314D696E7573313136018258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A004C4B408258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A91C0E93C8258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A48E0749E8258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A24703A4F8258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A12381D278258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A091C0E948258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A090E7243021A000D9C51031A041E783B081A041E6A2B0B5820F317601E84D31757D6CBE61F74E004A614CE7411C681709288E4D5A06F8093160D81825820B3A03FF85D723DE07FF47AAC8CF5804ADD34F07783FE976433C9C8EE7A9A7353000E81581C41E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABAA40082825820BFD112CA168787BF1BC896F0026CF193F74268F9F69629BEE70A3215EE82ECF50182582022381F2459CD189F67BDE8120E8323700FEEB02DDC8E2D249DFE7C1C24692B2902018382583901E9ED8E40A571A9AD58F7A5DBFF7AFE0B71255D8150A9B00ADD822955B0FD0C4C3AD2063DA1BBEC012D6260BB6853EBE7D3D07BE59A3F922A1A02625A008258390194251882AE02BCF5AC1D7243C6B660DF543B3AF6BD064A5A70AEB1642E834E15C372DBA58853E9A25F92EA1416076F46D5BC9FA74AD44207821A0147447CB841581C023CEC350597BDF2A2B6945E62E0111D9808CAF7A9353A2AB91E8BEBA14F534F434945545932354C4D4234353301581C11FF0E0D9AD037D18E3ED575CD35A0513B8473F83008124DB89F1D8FA2504861707079486F70706572303037353501504861707079486F70706572303332323701581C12EFB6C78A821BFC8AB8B8DC6814AFF9A695019EDEDA872DF1B652BFA24847524F5730373439014847524F573330383801581C1595C390E100253855FDC0084771714CAEEC63B5021B15C9A672B4B8A14B546869736973557333363101581C210D56F86155B426535A5D6E02528FFD73BA595217A374A67430EA5DA64D4461726B4C756E617230333937014D4461726B4C756E617231373532014D4461726B4C756E617234363836014D4461726B4C756E617234373834014D4461726B4C756E617236313930014D4461726B4C756E61723636313801581C21DF12480552592031F6F4D0DB4CF6F0DE6F4A5C2EB63F3B5062580DA14E43617264614C6F72647A3439393501581C22D843E9E8B39D105C645944CC848ABEE2673D64E60F1F022791EC85A256457175696E6550696F6E656572536B696E30303237360156457175696E6550696F6E656572536B696E303230313401581C23A000A839F04BB71B59B4AE74BF8CF5ED21EE0BE520690E665AE4B4A25818457175696E6550696F6E6565724A6F636B65793032303134015818457175696E6550696F6E6565724A6F636B6579313134343401581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1A03361FB5581C2D01B3496FD22B1A61E6227C27250225B1186E5EBAE7360B1FC5392CA15054617665726E5371756164303532353601581C3871C3D5F033F81BA74F81C53CCB4F6096CFE31AE911242D58BBC9AEA24B424C4F5150455453313338014B424C4F515045545332393101581C39FBBB94AB418566B5A5D5B0BA9DF90074090CCF27EBFC77221B56BFA1514772656173796D6F6E6B6579733035363401581C3C1169F0336F60C46AA0651BD8130C8F35A001005CF7599BB25D7CF8A15142616279416C69656E526F636B3138333001581C3EB2769B2E600E10764E327835EBC5D5C2CC3C09A3B036830C0D370AA14D536E6F77476C6F62653136333501581C49F565E692CBECF4B38A94DF1DCC21635A07222EFD4DAFB470FA4057A64B416E64656C733030393332014B416E64656C733038353837014B416E64656C733131303933014B416E64656C733132373733014B416E64656C733133303339014B416E64656C73313538363901581C4BF184E01E0F163296AB253EDD60774E2D34367D0E7B6CBC689B567DA1535061766961506C75733134394D696E7573343401581C50DFCC6F4CE897EAC827BB182E4BFE33D2F07AF33DDC0859602CA1B8A14B42756C6C6973683038323601581C545DC1601B5D469508698F7966A3C1C8CF207073041AD84B28D373C1A249544947455232343237014954494745523535303801581C5BBC07267D5BEEB5A174BC99063499FAEC01D7F31A0B3C12CA407943A14C55623241646147616E67393401581C62AFB32C355614608390CCFD007F87FB06844CEC373DBA4CE8272184A35818426C6F636B4F776C73476C6974636879586D617330303236015818426C6F636B4F776C73476C6974636879586D617330313839015818426C6F636B4F776C73476C6974636879586D61733034393201581C651BA7E3B7FC852FD1324A8129B0A69B831E52BDD1C415ECAA2C1592A1574164646963746564546F417474656E74696F6E3031303901581C713C9183D15403B37628115D9226AEB976CB32C163A7E130F8BFBDF8A150436861696E4368696C6C617A3231303701581C750B077EE1C771CD0AC953AE87044F2C2F50357D4881506BAC25F367A1443334393701581C76EBE108D0D58BA2FFE6024CF25CF5F6A890F4C61D77EE7911362B14A24B41444150756E6B31313936014B41444150756E6B3833353701581C7889C37737BF19E9194370968072415952AD0B7598217B8C53352BEEA148424541523130313101581C7DDC646D0E15B44DB03F0F904E0AB6B72E57AA48D2E579CE66366A3DA2544265617273436C75624D656D626572303230343201544265617273436C75624D656D626572303534303801581C7EB7CF060A9740B63DE68AFB1C0FDE7F74F2895C981573259046AE3FA14F4C696F6E4C6567656E64733234303801581C80E60CB4580FF462335059681189C88DC14693F3FE6D04635967346CA24B6B6964796F6B6169636337014B6B6964796F6B616963633901581C81BA784847C4B38DF1274E687E26D9E954D879B2B1871E782CC7D995A14333313101581C885742CD7E0DAD321622B5D3AD186797BD50C44CBDE8B48BE1583FBDA145534B554C4C1832581C90465E141ECB7B72ED0CDBCBD848673177CD52BE5AF5518E95D0DE1DA14B33444547454E533333303001581C904699D23C8453C45F9D8D37AB8C7B81B175E8B53F966ACB73094A7BA14641414936303801581C95EF7829379AF37336B98B487C03C389C288CF938F54DDCCD10185C2A14D536B756C6C4C5056536B756C6C01581C96580BBC4FE27AC0D127DB3F8A0DC698C58D303D8CAE870F5771F336A1515A6F6D626965436861696E73303430363101581C96A0251690AA1447636BE1F86BCFAE314D7C2B59CA11FC2552696C55A14D5072617934486169746930353401581C984394DCC0B08EA12D72B8833292E3C3197D7A8AC89AAD61D2F5AA9EA14B45415254485F746F6B656E1B00000005F0604F00581C9997C9E9E6D0C2F516A2F2229FA39BFF9C30B729E3E02679A422D6ECA54B6B6964796F6B6169343734014C6B6964796F6B616931393331014C6B6964796F6B616931393639014C6B6964796F6B616932353632014C6B6964796F6B61693235383301581C9CC83EA54377108DD022F18095040E8D5808A3061C4FE54F3FD64A7AA24F48616C6C6F7765656E417065333133015048616C6C6F7765656E4170653437313801581C9D4C40C114D3D69D4F8209E205686DB296683073C0CA5C63A8D2456EA14B4C696F6E6573733131363301581C9DEC676C8ACC5F2791AC0C73741F92AE9D4B61C243FD9971B4CBC2A8A1581C43617264616E6F50656E6775696E52697070657273446973636F494901581C9F4DC2DCECC4BC2B640A6149E38C9A5F71322D426A5AF51BE68EC291A25043727970746F486970706F7A32353939015043727970746F486970706F7A3336373101581CA23836EF3B4D0AD3ED1C28BD30E754E208AE7EA0A23E809354D67E0DA1443334393701581CA5BB0E5BB275A573D744A021F9B3BFF73595468E002755B447E01559A256484F534B5943617368477261623030303032363632340156484F534B59436173684772616230303030393631313301581CA780D38CF3180361B1DFF604E17EE0E8BFF0626A9E743BF341C26268A34C414441536B756C6C7A363732014C414441536B756C6C7A383833014D414441536B756C6C7A3138343301581CA9996462A84E34FEC50DB0407E48B8E5DF78533314A705B850020012A14B306750696E75707335303801581CAB12B275CE3A39A0A03576F8903D7C770B39CCB2A00D10D088A877E6A24948616C6F3031333131014948616C6F303231303301581CAF2C745C3B62BD824D46966ACA6794D84E20D969763982A48A66A5D8A14B4E6572646D61733235303701581CB1066E840346478FBE01A7C278275C77929E5D5435D5650FCF963C7BA1544164614E617574546F5468654D6F6F6E3130373001581CB181057C6C7D18674969C1E08508DB72FF7E0DDA373AF209B49C50D6A45357696C6457617272696F727353535332343933015357696C6457617272696F727353535333343633015357696C6457617272696F727353535336323937015357696C6457617272696F72735353533739393201581CB6C2369AB4F5155F868B6DC885772829BF292EF89E0C707D19F1A312A3544E65726473416E6456697267696E73303032313501544E65726473416E6456697267696E73303339353301544E65726473416E6456697267696E73303635373701581CBB78D3B6638537D6DF7AE43791EAD3D50E75FDAE82131EFF2B7AE994A2581B556E626F756E64656445617274684D696E75733430506C7573343801581D556E626F756E64656445617274684D696E75733131364D696E7573393401581CC38711F8E132F3EF2D5F833F4DD394C474F2CDFFB06068116AF1C99BA1524164615368726F6F6D41737365743235353101581CC805F32096CCB75BE6B9D155BA8250B6A23AC9DFFD95948551F57EEBA14C486F726E6E6965733130353001581CC859E9D7E71B8F90BDC1E453FD1B9ADBC5E6163898FB574543CB5BE8A24E5465727261666F726D3031383339014E5465727261666F726D303835323601581CCA58B06FB195890E84ECEECBDE4DDE67384312128009639CACF8837DA155467573696F6E48616C6F303133313178303231303301581CD4691CFEFB8C644D4ABC5AC235E1F71F435E883048BC1CCA038DB666A1504B696C6C6572436F6E74656E7432353601581CD6FE6EFA7788CB70E57A91891605E3694352CABB4837E870610300E9A44B41646141726D7931303836014B41646141726D7934363331014B41646141726D7934363534014B41646141726D793439343701581CD900CF7C71FD09E413C7E2622DE35648933AF805713203CF0D025413A24E41444145786F7469637333353531014E41444145786F746963733436353301581CDA3A321E0ADA6FB0B10FCAE26571D526B50FE47F929E9DB865754B11A1504E6562756C61436F646578303439353501581CDB9B6CB5A306B64A43AC2363B1CFAD626DFC2D94F9C885889A521300A145444547454E1A11E1A300581CE478EAD1C657CBE6C9A8047CED738ED85C18B9DBA77A967C4DFE4F30A14E526167696E67526564733037383101581CE5AE8D1CA94272EF3CC9DAE55E80E0A817164D8B7CD935374C3AD3F4A1554E656D6F6E69756D44616F536B756C6C303232323901581CE8B082D56808BD8BF4455826A2636F87D493E49962758917E44A7FC2A14B437768616C65303230383701581CE9BBCC627C65118A9AE2E2C31A8D276CD7BBB75FA11D6B0ED0AE50E5A25743656E7475727957617272696F72734865616430383237015743656E7475727957617272696F7273486561643133383501581CEC2E1C314EE754CEA4BA3AFC69F74B2130F87BB3928E1A1E8534C209A24F526167696E675465656E3032323138014F526167696E675465656E3032333031018258390194251882AE02BCF5AC1D7243C6B660DF543B3AF6BD064A5A70AEB1642E834E15C372DBA58853E9A25F92EA1416076F46D5BC9FA74AD442071A00FB959B021A00053731031A041EBF50A70084825820CA185C8F4D7F645FCBC08E5471E4702FA8D878DE282D0A412EA5284C74CC650A038258201B63B76D4C685F140580FBB0B3D913851173A596B08E100491E91DC10C1AE7A7018258205C288D22404F0F0DA7B271F6089BE7DBC6941137DAF7DB6E616C940DB092FD25018258205C288D22404F0F0DA7B271F6089BE7DBC6941137DAF7DB6E616C940DB092FD2502018483583911A55F409501BF65805BB0DC76F6F9AE90B61E19ED870BC0025681360881728E7ED4CF324E1323135E7E6D931F01E30792D9CDF17129CB806D1A07270E005820113D629BCD9B365588D0082096F095758878F7DD77D92F4F86389EA7FFBF91D382583901E2AC93166D8548DC20C4539AA48FE4272C940C44CF6BFE775F2F5EDD8F316945FCB5F4D560C7C71EDC3F6E7A7A7CA7FBF996C9867BAE69EF1A004C4B4082583901E2AC93166D8548DC20C4539AA48FE4272C940C44CF6BFE775F2F5EDD8F316945FCB5F4D560C7C71EDC3F6E7A7A7CA7FBF996C9867BAE69EF1A05F6EBCF82583901E2AC93166D8548DC20C4539AA48FE4272C940C44CF6BFE775F2F5EDD8F316945FCB5F4D560C7C71EDC3F6E7A7A7CA7FBF996C9867BAE69EF1A05F35774021A0003945C031A041E794E0758205AF6CC14987AE839D675D9FA8FBFEFCE6919EE1C26987022C71623DD4922B440081A041E6B3E0E81581CE2AC93166D8548DC20C4539AA48FE4272C940C44CF6BFE775F2F5EDDA7008482582077DCFCFC7307FB4DA1C0B1319F6F0EFE260D9BDCEE20EA7AF6BCDF45EF6802FB18628258207AE87A5905E49B8FB3684E7CE8D34A6BF948EA0D6D90F5B6213B053ED24F196001825820FF5A52AB8723CB10C66BA4F3F39EC052704E83CA13F61C45E09DB29320B8B722048258205FB67AF0E6C5E5A69282598D6C5DAC568BC0377AC9BE794BF3FAC8EC8C299FCD01018383581D7186AE9EEBD8B97944A45201E4AEC1330A72291AF2D071644BBA015959821A003D0900A1581C38AD9DC3AEC6A2F38E220142B9AA6ADE63EBE71F65E7CC2B7D8A8535A144434C41591A05F5E1005820CF2019DEA68745E460C4AE546FB17416C05550669E8583447A526BFEB568DBB282583901A1ED08334901473CC30C9C3B5917C5DF973D5591E3733DA87BD25348663A8FB1C88F7C15069FAEBB39BD8B34A6CF70552045DA207F1D03BF1A000F4240825839019F1576B725CA8B59976A8032CA98710117F8EBF41D7F97155DD5897C78D681580169B583CE8C6FF8E2AC0FB6BA41CB6454D616A36C4C4EA2821A006C377BA2581C38AD9DC3AEC6A2F38E220142B9AA6ADE63EBE71F65E7CC2B7D8A8535A144434C41591A02FAF080581C901BA6E9831B078E131A1CC403D6139AF21BDA255CEA6C9F770F4834A1504D616C6C6172644F726465723435373501021A00030E1A07582027CCF8CCDD3C89649A9A0BEB56CDBCA04C53AF81D8A2ED2BF4A790A80D6AA4E80B5820DFAD86D005F417837360BE7607702975027DB5D3A3727A91B44991B11F7C91D40D800E8095A40081825820B32C61D67477A03A2DBF180AD5030A2CBAD8E123277D58163655AE24F380FCB558407ADFA0DF2B2621A067B4D769884C23D606791C3025CD9F0E064EE60A31DED934CD3FD86AEF75ABEA96AF2A7AF956D6800232ABC7EFC64A8D88222A2154E9C4080381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE29FD8799FD8799FD8799F581CCCDA5570ECFD11377EC5FC6A18E12949BFA7E1F8831946D0B866B39FFFD8799FD8799FD8799F581C85368D3274660D6F167B164BBA4A8D30D5E1D3E2FEEB54A4EBB13685FFFFFFFFA140D8799F00A1401A000F1B30FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A000F1B30FFFFD8799FD8799FD8799F581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE2FFD8799FD8799FD8799F581C0E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D172FFFFFFFFA1581CC0E6C802993AADBE53FCCF26811D21965854109DC8D8ECE113CCA940D8799F00A14D436C617942756666793336363001FFFFFFFFFF0581840000D87980821A0019DCA61A29E621E1A400818258207DC5D1A79FFFAC977A644C8D6573AC6035E2552C5C88A4D9232852067BFA5B515840A3FF4CAF8046440C25BCC967ABB2F77E739370D90F9E04A5E6A64BDECBD898B6065E0F3C2E9F0FE39214C0C24FA35FE41C2B246385C9AD8BD80E654B0914D30C0381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C374BC3211D98BDC351719DE4B152E44C0C85E025903E21A61C6947AA9FD8799FD8799FD8799F581C3703BD8AF7FB168951316AE4BF1C6FF4D4EAE909CFD7429A1EEB88EDFFD8799FD8799FD8799F581CEA994C11C4FD93B1CA5E191EA617993747BC2BCDDEADD921FF960F29FFFFFFFFA140D8799F00A1401A002D0370FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A00120160FFFFD8799FD8799FD8799F581C374BC3211D98BDC351719DE4B152E44C0C85E025903E21A61C6947AAFFD8799FD8799FD8799F581CD15948DAF6D96ADF9992824465A53DD9F992AA4F4857E27CB683AED0FFFFFFFFA140D8799F00A1401A03453FF0FFFFFFFFFF0581840000D87A80821A0042A9FD1A5CC74559A40081825820CD46E9B28437D1660D463DF41407D940553165B13C9AAEF63B0F2BF12171B87F5840AE18701E06BC288843653964CD1CCF6B0FC42A8E48946BC2D0A08ABAF3FC2A76728FF0B5854ED62F7A84C12B5D4246FCA2C8E5AA8689B9C841269C91EBBA26010381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581CE6A57730CCEEAC17DF82280C38F0C1C1CDA0CE863005799FB70717949FD8799FD8799FD8799F581CE3DD321F0E2CE51743EFCC108B2CDB7C546ECF0F69F7FC2082B4A657FFD8799FD8799FD8799F581C78EB8FD568404D671E60F36A2008B3756C7AF2C452F2F872B9DAEBEAFFFFFFFFA140D8799F00A1401A02AEA540FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A0112A880FFFFD8799FD8799FD8799F581CE6A57730CCEEAC17DF82280C38F0C1C1CDA0CE863005799FB7071794FFD8799FD8799FD8799F581CC35CC10A12FAFC0DF26BA0DDB5FCB26843AB412C5E50F8FA1B30C974FFFFFFFFA140D8799F00A1401A31E39B40FFFFFFFFFF0581840001D87980821A001B10C41A2BA169C7A100828258209518F33B3DA0F51A8762C1C03A1B1AA5E83DBBA580F68971EA700F5DF83B774E58404BFA164A058A79AD4BECFD776C5F3CA131176A18DE7FAED1B1DEB58C84F278D5BF6EC4B21A7F88638E1C2EB26CBF1F3CD7D433E4406EDB4C86CEDB440A165A0D82582055FA90E912116946BB4D36571C5AE808991287EBCDAB2AC105F8CF211B4F69115840E920FFC93419C43677567F6B00B103792DA93FE13778B93EDDB4E96C74CA26B950AFE785A934C275882C8895229CA3F5EBE915333A9057133A5FAE223808FB07A100818258206C0180DB688A9E477B10A7792E3C4EFD749CDDBE0E05068B6CB586DEE5405697584013BF6F369B2EF1737C66CA581E2C94FA95D26B1AFE086F066C7BFB4A967B5C6BD4E3E472D6BA6D8AB2E74A223F28BBF9D81857EBAAD44330BFDD3598E4FBA70EA200828258205424FA10BA83C95C33714C420479C19183A7274E7C1D4161D173842C245B340C584080AEFBF25FED14788F0AD276469E77F074387F22FFE18A73B2DA15C8B80FF0524DEF657AB48D21C8E99D6B329370802138DC0643EDB39125095AA2ADD015C10B8258200621257BB5BD1477C0960B2E391C70BAA8A642AD258420DAA10BAB85D1C24BEF584027865B1CCE06E9C52EB149B4E28DA08F2709A517D55E5BE2A3489631E2D829C7CC3E5D56CF12BDD3945B7A04E4B1602AEC8FC7656CC0734258301F965CAA1D0201818200581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67EA40081825820C193A8E037BF2515D724A052EED04DB9289558A791408BCD666E2EA4A118039958404E41C8F06D096BEBF4D809546EE50452B6874CB60F492E54FF6A77D18EAF8E25AB634AF2D2F51A2F2E4F63B6B648A0367716CD72398E2B00B34555336169BC0C0382590373590370010000332332233322232323332223332223233223232323232332233222232322323225335301533225335301A00221333573466E3C02CDD7299A9A8101980924004A66A6A040660249000299A9A8101980924000A66A6A04066024900019A980B8900098099BAC5335350203301248000D4D54054C0440088800858884008004588854CD4D4088004588854CD4D409000440088858588854CD4D4088004588854CD4D4090004588854CD4D409800440188858588854CD4D4088004588854CD4D409000440108858588854CD4D4088004400888580680644CC88D4C03400888D4C0440088888CC05CDD70019918139BAC0015335350273301948000D4D54070C06001C88008588854CD4D40A4004588854CD4D40AC004588854CD4D40B4004588854CD4D40BC004588854CD4D40C4004588854CD4D40CC004588854CD4D40D400458884008CCCD5CD19B8735573AA010900011980699191919191999AB9A3370E6AAE75401120002333301535742A0086AE85400CD5D0A8011ABA135744A004464C6A605266AE700900A80680644D5D1280089ABA25001135573CA00226EA8004D5D0A8041ABA135744A010464C6A604666AE7007809005004C004CCCD5CD19B8750024800880688CCCD5CD19B875003480008C8C074004DD69ABA135573CA00A464C6A604466AE7007408C04C0480440044084584D55CEA80089BAA001135573CA00226EA80048848CC00400C0088004888848CCCC00401401000C0088004C8004D540548894CD4D404C00440308854CD4C034CCD5CD19B8F00400200F00E100F13300500400125335350103300248000004588854CD4D4048004588854CD4D40500044CD54028010008885888C8D4D54018CD5401CD55CEA80098021AAB9E5001225335300B333573466E1C0140080340304004584DD5000990009AA809111999AAB9F0012501223350113574200460066AE8800800D26112212330010030021120013200135500E2212253353500D0021622153353007333573466E1C00D2000009008100213353006120010013370200690010910010910009000909118010018910009000A490350543100320013550062233335573E0024A00C466A00A6EB8D5D080118019ABA2002007112200212212233001004003120011200120011123230010012233003300200200148811CE6C90A5923713AF5786963DEE0FDFFD830CA7E0C86A041D9E5833E910001591F17591F140100003323322333222323332223233223233223322323233322233223232323333222232332232323332223233322232333222323322323322323233333333222222223333322222332232332232332233223322332232323233223322332232323232332232332232323233223322333222333333222222332232323232323232332232323232323232323232323232332232323232323233223322323222323223232323225335309C01333222335309201002235304E004223235301E01122222235305900823222235306500C22223232323222353550B00150042235306C01122323232353550B701500D22533530C101333573466E20CDC000B00D9A9AA85C80981F8051100106180861008A99A986080999AB9A3370E6A0A466084042026900006180861008A99A98608099820A80700F0A99A986080999AB9A3371E010002186021840226A6AA1720266446A6AA0D6660CA0040024466AA17C02004002A008A66A618202666AE68CDC4A801A400018402186022A0062C44666608E040A00EA01C004218402218402218402218402266E04CC10D40254050D4C18D40048888800C4CCC0D0071400540284CCC11C00800540484D4D542B4054004880084CCC0CC00C0440144D4D542AC0540048800854CD4D42D804CC0CC004010588854CD4D42E004004400888584CD5428C04D4D542880401C88008C09C004CC15801000C888D4C14001888CCC888D4C088054888888D4C1740288888D4D542A40403488D4C1A8034888888C8D4D542C80400C88D4C1B803C88C8D4D542DC04CCC0F802406002C88D4D542E404CC88D4D542EC0400888D4D541B4CCC15C00800400C88CD5430004008004CD542E804CCC0E0079400C01C188D4110488CCD5411488D4D542F40400888CC018CCCCCC8888C888D4C1240F0888888D4C2A00401C888D4C12002C88C8D4C13400C88894CD4C37804D4C2D40402888D4C2DC0401888C8CD4C304040148CD4C3080401094CD4C39404CCD5CD19B8F0020010E7010E6011500310E60120E601233530C20100420E6012533530E501333573466E3C00800439C04398045400C43980454CD4D43100400C854CD4D43140400884CD4C2F8040088CD4C2FC040088CD4C310040088CD4C314040088CC1E000800483A4048CD4C3140400883A4048CC1E00080048883A404888CD4C3040401083A4048894CD4C3A804CCD5CD19B870060030EC010EB011533530EA01333573466E1C0140083B0043AC044CC3A40401000443AC0443AC0443900454CD4D431004004843900443900454CD4C37804CCD5CD19B880150020E0010DF011533530DE01333573466E3CD4C2C804050888D4C2E00400C88CD4C304040089880040583800437C044D4C1A005C888C8C94CD4C38C04C8D4C2580401C88D4D543780400888D4D543800400C88D4C2700401C88D4D543900400888D4D543980400C894CD4C3C004CCD5CD19B8F00A0040F2010F1011533530F001333573466E3C02400C3C8043C4044CCCC1FC02001C00800443C40443C404CC16401401054CD4D43140403484D4C2EC0402888CD4C310040089894CD4C39C04CCD5CD19B8F0040150E9010E801150051613530BA010092233530C30100225004261615333335307700A21500A1533530E20133070506E0041533530E20133062501750011533530E2013306200D5001150091616161533530E201333573466E3CD4C2E40402088CD4C308040089880040483900438C045402458885402C885402C4CD5436804038D4D5436404004880045858584CC88CCC1BC00C008004CC148048CD54348054038CDC0028A410125E802660A402466AA1A4020080A226A613E02002444004A01204A6A6AAA18202A01C4440020046464646666AE68CDC39AAB9D5002480008CC88CC0FC008004C8C8C8C8C8CCCD5CD19B8735573AA008900011999911119998248020018010009853809ABA15004375C6AE85400CDD69ABA150023046357426AE8940088C98D4C30804CD5CE06080861808600085F8089ABA25001135744A00226AAE7940044DD50009ABA1500232323232323333573466E1D40052008206A23333573466E1D40092006206A23333573466E1D400D2004233223306B002001375A6AE854014DD69ABA135744A00A46666AE68CDC3A8022400446460DE0026EB4D5D09AAB9E500823333573466E1D40152000233223306E00200132323333573466E1D40052002207423333573466E1D40092000207623263530CA0133573819202196021900218E0218C0226AAE74DD50009ABA15008375A6AE84D5D1280411931A98630099AB9C0C5010C7010C4010C3010C2010C1010C0010BF01135573AA00626AAE7940084D55CF280089BAA001357426AE8940088C98D4C2F004CD5CE05D8085E8085D0085C8089AAB9E5001137540026606E0246A613602004444A66A6A15802002420022C00200600266AA6064240026A08C244666AA08E446600866A60FA24002028004002002040A66A6A18E0201E264C6A61680266AE7124103505439000B5010B20122100122533530C3013304300901C1533530C301333573466E1C04404831404310044310044D4C25C04CD4C1E44800404004488C88D4C2780401088CD4C29C040089401494CD4C32804CCD5CD19B8F0010280CC010CB0110CB011533530CA01333573466E3C0040503300432C04432C045401454CD4C31404CCD5CD19B873304A00101D4800831C043180454CD4C31404CCD5CD19BAF3303501000535306A004222223535550C40150112223235307C001223530800100122223530860100422353550CE0100222353550D001003223374A900019ABA0375201866AE80CDD2A400066AE80CDD2A400066AE80CCCD5421405D4BA90040033357406666AA10A02EA5D48010009BB10C9013357406EA0024CD5D01BA80083357406EA001CDD8864809BB10C9013307A02B33330790200020050040C7010C6011533530C501333304901E5007006004132533530C601333573466E1C004CDC0240086A0AE0421900218E022A66A618C02666AE68CDC4800A400818E02190022A66A618C026618402042A19802218E0226A6AAA18002A01A4446A6AA1820200644666AE68CDC419B8100100248203C2C9483340433004431C04431C04D41580484318044318044318044310044CCC124008004CD542DC04D4D542D80405C88008C0EC0444D4D542C404C0DC00488CCD5542D804C0E400C008004CD542740401401000CCC160018014CCCD5CD19B8735573AA01090001198251BAE35742A01064646464646666AE68CDC39AAB9D5004480008CCCC13CC060D5D0A8021BAD35742A0066EB4D5D0A8011BAD357426AE8940088C98D4C25004CD5CE0498084A80849008488089ABA25001135744A00226AAE7940044DD50009ABA135744A010464C6A611C0266AE702340423C042300422C04CCCD5CD19B875002480088C8C24C04004DD69ABA135573CA00C46666AE68CDC3A801A4000466644466612A020060040026EB4D5D0A8031BAD35742A00A66A0E0EB4D5D09ABA25005232635308F0133573811C021200211A021180211602002211C022C26AAE75400C4D5D1280089AAB9E50011375400226AAE7940044DD5000990009AA84D00910891299A9A84C808010A84D80910A99A9A84D808018B11099A84F0099AA8490080200119AA980409000801800990009AA84C80911299A9A84B808010B1109A9AA8468080111299A984B80999AB9A3371E00A0041320213002200226600E00600A4424660020060044002444424666600200A0080060044002464646666AE68CDC39AAB9D5002480008CC014CCD54111D73AE35742A004666AA088EB9D71ABA135744A004464C6A61000266AE701FC204041F81F44D55CF280089BAA001223303F00200122235303C003222235301A0062223535508B01003223535508D01004223535508F01005223232323333304200300200100E00D3330210100040033370266604001E00A00801666E04CCCC04C03801801408802D208092F401223530130022223535508401003223535508601004223535508801005223535508A0100A22333033333300E00200800700133301A00200600533301A002004003222232325335308C01333573466E3C014064238042340454CD4C23004CCD5CD19B8F00401908E0108D0115335308C01333573466E20009200008D0108E01100216150011500115335308B01333573466E1C005200008D0108C011333011005004003163370266602000802E02E0024444442466666600200E00C00A008006004400246A606C002446A6AA0FC004446A6AA10002006446E4CCDC51B93337140080066E4CCDC500100091A9A81E000911A9A821001112999A9A838801109A9A821802112999A9A83A00110A99A984580999AB9A3371000800211A0211802266AA108020080022C2C2C2C2C444A66A6A110026A00E244666AA010446A6AA1000200444A66A6114026601400401026600C00800620060026600E00A0062C442A66A6A114020022004442C44666AE68CDC399803801000A40041080210602446A008244666AA00A446A60B20044446A60BE0064466A60D0004400E4A66A611602666AE68CDC7800806046808460089980519AA84200802A99A9A836802108008B0038803800801889119000990009AA8448091299A9A8430080088019109980300118020008919A800A84180A8420091111A98050019111A98140021111119299A9844809980B804A80A8A99A984480999AB9A3370E6601C01601266E00CDC000300180904580845008A8008845008A99A984480999AB9A3370E6601C01601266E0001800C22C042280454CD4C22404CCD5CD19B873300E00B501501208B0108A0115001108A01108A0115335308801333573466E1CCC03402801CCDC000200084500844808A99A984400999AB9A3370E6601A01400C00611402112022A66A611002666AE68CDC3998068050062400411402112022666AE68CDC39A80C9983F28470080519B8133530880133016008501448021200A335308801333573466E1C00D200008A010890148009200008A01089011089011089011089012235355075001223330050040020012223300400133005002003320013550820122253353508001001148000884D4D541D8008894CD4C20004CCD5CD19B8F00600208201081011001133007006003320013550810122253353507F001150810122135355075002225335307F333573466E3C018008204042000440044CC01C01800D20809BEE022221233300100400300220011335506D00100148900223535506C002223535506E003223333007004003002001222253353075333573466E3C0100081DC1D84CC01400C00441D888CCD5CD19B8F002001074073132300148000C8004D541E08894CD4D41D80044008884CC014CDC000224004002640026AA0EE446464646444A66A6A0F4002266AA03E00E0044426A60300086660146A6016004446464644A66666A602600C426A6048020444446A6AA0F8A01244A66A610C02666AE68CDC41A981580111111001A400010E02110022A66A610C02666AE68CDC4A8052400010E02110022A66A610C02666AE68CDC4280500404380844008A99A984300999AB9A337106A6048012444002A01410E021100220042C2C2C2C26A604601E44444A66A610602666AE68CDC39A9810803111001A400010A021080226666604E66E00D4C08402888800C01401000C008004584D4C08C03C88888C94CD4C21004CCD5CD19B890034800021404218045400454CD4C21004CCD5CD19B89002480002140421804540045854CD4C20C04CCD5CD19B88353021006222003002084010850115335308301333573466E20D4C08401888800800421004214044CCCCC09C01401000D20004800058588C884D4C09804888888C8C8D4D54200054008894CD4C22804CCD5CD19B89500B4800022C042300454CD4C22804CCD5CD19B8950034800022C042300454CD4C22804CCD5CD19B88500300A08B0108C0115335302500C15335308A01333573466E20D4C0A0034888009400C22C042300440085854CD4C22804CCD5CD19B8835302800D222003500308B0108C0110021616161613535507F50012200115335302100813535502E33302D005004500722353550800100222353550820100322335508501333330300040030093370000201000E00426A6AA05C66605A00800AA00E446A6AA10002004446A6AA104020064466AA10A026666606000600801201066E0000401C00854CD4C0680044D4C07401888800C4D4C074018888008884D4C09404488888D4D540B4CC09C059402C88D4D541FC004894CD4C22404CCD5CD19B89500F480002280422C0454CD4C22404CCD5CD19B8835302700C22200300208A0108B0115335308901333573466E20D4C09C03088800C02C2280422C0454CD4C22404CCD5CD19B8835302700C22200200108A0108B0115335308901333573466E20D4C09C0308880080282280422C04401058585858584D4D541D14004880044D4D5408CCC8C88C8C8CD540A4D4C09404488888CCCCC0A4CDC0280900519B80501300833702A02AA00C004002A0022A66A60FE666AE68CDC4A801A80084080840008A8018A800899B8333704002A01AA018266E0CCDC1000A805A8049A980C8011110019A980C8011110011119AA83B00100089A980C00091100080C80089A980C0021111100289A980B80191111002099B81014500113530150012222200322212333001004003002200121222223005006122222004122222003221222223300200700622122222330010070062001122002122001200122212333001004003002200112001200123232323223232335500F35300B008222223333300F33702A012A00C66E054029401CCDC0280600400100099AA82FA800A801099B8333704004A006A00A266E0CCDC1000A801A80209A98038021111100289A980300191111002099B810035001135300400122222003483FBFFFFFFFFFFFFFFFC0488888CCCCC01C01401000C0080048888848CCCCC00401801401000C0088004888C8C8C8C8C8CD54028CD5416800400CCD54168008010CDC099B800070050033370200A0026601066E08014010CDC099B800050030023370600290071980319B820014811920A09C0111221233001003002112001223370066E0C008004CD4C160CCD5CD19B893370C004002900002C82D24004900008911119BA548000CD5D0180200119ABA0300300137620904444666601200800600400244660080040024424660020060044002444424666600200A0080060044002442466002006004400246446A6AA08EA66A6A0A66A6AA08E66AA0906AAE754008C038D55CF280111299A9828999AB9A3370E900000102982908008B0B110A99A9A82A8008B110A99A9A82B800899AA826002001110B119191919191919191919119191A98101999AB9A3370E6AAE75403520002333333333302235742A01A6AE854030D5D0A8059ABA1500A35742A0126AE854020D5D0A8039ABA1500635742A00A6AE84D5D1280291931A982799AB9C04E05004D04C22222223232222323235302B33530211200100101D223530410012223253353071332253353073333573466E3CD4C16800888008D4C168004880081D41D04CCD5CD19B8735305A0022200135305A0012200107507410743333530363333573466E1D405520062303B3232323232323333573466E1D4005200C204623333573466E1D4009200A204823333573466E1D400D2008233046375C6AE854014DD69ABA135744A00A46666AE68CDC3A8022400C4660906EB8D5D0A8039BAE357426AE89401C8CCCD5CD19B875005480108CC134C158D5D0A8049BAE357426AE8940248CCCD5CD19B875006480088C13CC15CD5D09AAB9E500B23333573466E1D401D20002304E3058357426AAE7940308C98D4C1C0CD5CE03783883703683603583503483403389AAB9D5004135573CA00626AAE7940084D55CF280089BAA001357426AAE79405C8CCCD5CD19B875016480108C0E8C130D5D09AAB9E501823333573466E1D405D20022303A305A357426AAE7940648CCCD5CD19B875018480008C0F4DD71ABA135573CA034464C6A60CC66AE7019419C19018C18818418098989880040184CCCCCC888888CCCCCC0BC01801401000C008004CD54C0CC480048D4C0C80048800401C020004D4C12001088CD4C144008988004CD541A800D4CD4D414C0088400458CCCD5CD19B8735573AA01A9000119A8161919191999AB9A3370E6AAE7540092000233503433505F75A6AE854008C190D5D09ABA2500223263530673357380CC0D00CA0C826AAE7940044DD50009ABA1500D3232323333573466E1CD55CEA80124000466A06466A0BEEB4D5D0A80118321ABA135744A004464C6A60CE66AE701981A01941904D55CF280089BAA001357426AE8940348C98D4C18CCD5CE0310320308300B19A82119AA812BAE200100933503C232323333573466E1CD55CEA8012400046605E60A86AE854008C104D5D09ABA25002232635305F3357380BC0C00BA0B826AAE7940044DD500080699A81D81E00589AAB9E50011375400226AAE7540044DD500089ABA25001135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089AAB9E50011375400226EA800444888C8C8CCCD5CD19B8735573AA0049000119AA82518031ABA150023005357426AE8940088C98D4C108CD5CE02082182001F89AAB9E500113754002640026AA0A644244A66A6A0A40042C442A66A60A0666AE68CDC3801A40000A40A22004266A600C2400200266E0400D20022222221233333300100700600500400300220011221233001003002120011221233001003002120011221233001003002120013200135504A2233335573E0024A094466A0926AE84008C00CD5D10010191109198008018011000990009AA823910891299A9A8230008A82411099A824980200119AA980309000802000911111111109199999999980080580500480400380300280200180110009091111802002909111180180290911118010029091111800802900090911111118038041109111111198030048041091111111802804091111110020911111100191091111111980100480411091111111980080480410008919118011BAC001320013550382233335573E0024A070466A06E60086AE84008C00CD5D100101191919191999AB9A3370E6AAE75400D20002333007300835742A006666AA02EEB8CD5405DD73AD35742A00466A026EB8D5D09ABA25002232635302333573804404804204026AE8940044D55CF280089BAA001222123330010040030022001232323333573466E1CD55CEA8012400046600C60166AE854008CD403C01CD5D09ABA25002232635301F33573803C04003A03826AAE7940044DD500091091980080180110009191919191999AB9A3370EA002900111998041BAD35742A0086EB4D5D0A8019BAD357426AE89400C8CCCD5CD19B875002480008C028C02CD5D09AAB9E5006232635301F33573803C04003A03803626AAE75400C4D5D1280089AAB9E5001137540024244600400644424466600200A0080064002464646666AE68CDC3A800A40044600C6EB8D5D09AAB9E500323333573466E1D4009200023008375C6AE84D55CF280211931A980C99AB9C01801A017016015135573AA00226EA80048488C00800C8488C00400C8004488C8C8CCCD5CD19B875001480008D4020C014D5D09AAB9E500323333573466E1D4009200225008232635301633573802A02E02802602426AAE7540044DD5000890911801001889100089000889119118011BAB00132001355026223233335573E0044A04E466A04C66AA034600C6AAE754008C014D55CF280118021ABA2003012135742002464646666AE68CDC39AAB9D5002480008CC018C8C8CCCD5CD19B8735573AA002900011BAE357426AAE7940088C98D4C048CD5CE00880980800789BAA00135742A0046EB4D5D09ABA25002232635300F33573801C02001A01826AAE7940044DD5000910919800801801100089119191999AB9A3370EA00290021280391999AB9A3370EA004900111A80518031ABA135573CA00846666AE68CDC3A801A40004A014464C6A601E66AE7003804003403002C0284D55CEA80089BAA00112122230030041122200211222001120012323333573466E1D40052002201723333573466E1D400920002017232635300733573800C01000A00800626AAE74DD5000A4C92103505431001200120012122300200322212233300100500400320013200135501322253353501100110022213535500700222330073330080020060010033200135501222225335350110011002221353550070022253353011333573466E1C00520000130121333008007006003133300800733501633355500C007002001006003112212330010030021120011112221233300100400300211120013200135500D22253353500B00210082215335300933355300C12001323350122233353500900322002002001353500700122001335007225335300B002100D100100A3008002003100B13300500133500E00200312212330010030021200122333573466E1C0080040140104880084880048004C8004D5401888448894CD4D40180044D4D402400C88004884CCD4D402C01488008C010008CCD54C01C480040140100044488008488488CC00401000C4800448848CC00400C00848004448C8C00400488CC00CC008008004CC88CC88CCCCCC008CD540112211C026A18D04A0C642759BB3D83B12E3344894E5C1C7B2AEB1A2113A570004881014C0033550044891C13E9940C94572EAFEF8B391B64B4A2E898B6A7008ECE9064631E6FD200488101580048811CCEB863F7B4E8ED8D079BBD066090C02E06A6B18C8995875CD2682E3E004820283220425221203F51D671E681F93926D414B064B1B9341E352A0E96BB85F740921798B732608B0048811C0CEAAB7C2CEC8F93C38B7C3598FA239F50BC14FCC6DA9F016ADB035C0022222212333333001007006005004003002200111221233001003002112001010483D8799FD8799FD8799FD8799F581CC8ADAD32DC5FFB78573D2190736B278722CEEBDEB69607E58B857C10FFD8799FD8799FD8799F581C10B1803EA193A0E13D869DB010BE7DB9253811E5C73105D88433A0B8FFFFFFFF581CC8ADAD32DC5FFB78573D2190736B278722CEEBDEB69607E58B857C101B00000182A8D9945CD8799FD8799F4040FFD8799F581C8FEF2D34078659493CE161A6C7FBA4B56AFEFA8535296A5743F695874441414441FFFFFFD8799FD87A801A3BD48F71FFFFD8799F581C86AE9EEBD8B97944A45201E4AEC1330A72291AF2D071644BBA015959D8799FD8799FD8799F4040FFD8799F581C8FEF2D34078659493CE161A6C7FBA4B56AFEFA8535296A5743F695874441414441FFFF1B00000182A67B65681A162560711A1393897DFFFFD8799F581C86AE9EEBD8B97944A45201E4AEC1330A72291AF2D071644BBA015959D8799FD8799FD8799F4040FFD8799F581C8FEF2D34078659493CE161A6C7FBA4B56AFEFA8535296A5743F695874441414441FFFF1B00000182A7913A681A162560711A13995396FFFF0582840000D8799F02FF821A000557301A07BFA480840002D8799F02019F00FFFF821A004C4B401ABEBC2000A10082825820295A50D3894293270E0B09B8E8CFC98A3C5B4065878169BA25E9A9C7A636A6DD58404C49E7739B43DDFA7502CF8963C1F8D5A8F144C9CD10855B5A5C6CA3946EB35840419800CD8EB42A47A4B4886D7AB456CC7252025F464F7D56BEA89F9DCE900E825820295A50D3894293270E0B09B8E8CFC98A3C5B4065878169BA25E9A9C7A636A6DD58404C49E7739B43DDFA7502CF8963C1F8D5A8F144C9CD10855B5A5C6CA3946EB35840419800CD8EB42A47A4B4886D7AB456CC7252025F464F7D56BEA89F9DCE900EA4008182582087DA8B19FB35E84A365ABF59420942544097F600D7C69B96D2180C607B3B2E7C58405A95D3FB14AFB09D9CBB6709012D19B53EA77214E2A44C0DAFD7708CCD58AC21198940262090F2EDD5E380E4EB80FD0BD4C7FC04B3A94CF8A6F845523A5762070381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C2C3F55CDB82D815D2B824396E01CB53D5DE5CEE13305DDC84DDEEF5C9FD8799FD8799FD8799F581C888FEF476E9B4743316D1315BE29A189DFEFB6699AF003AA484F7A59FFD8799FD8799FD8799F581CFEF7DCA3149E0F49706ECBC7219AF18C3C859336C9D77AAB8AD89B22FFFFFFFFA140D8799F00A1401A019BFCC0FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A00A4CB80FFFFD8799FD8799FD8799F581C2C3F55CDB82D815D2B824396E01CB53D5DE5CEE13305DDC84DDEEF5CFFD8799FD8799FD8799F581C2FDC5B119A6F2F6F448F8465DBB08A4F4F69FE57235692FE381541FAFFFFFFFFA140D8799F00A1401A1DEEF6C0FFFFFFFFFF0581840001D87980821A001B10C41A2BA169C7A100818258209A0D9ED3FB7A3A71DC354DD64120A8822122D3D6798D90C7954B27E10F1DC07E584004A2DAE124AC1D6555112BD6584883CD721DE0A634E1F129F4FD754F9C15D37F4163F42DF325BEA6BF860D9DA80C2D12877786D66C9941A682231552FC678F0BA4008182582004B94AB4A472F8CDD332C18404BAE275B3866D6118C2F18CB851E8DF091A205F5840076FDCB686BCA758DC3873E0A1FCD6F6F3D5A69A6C40A5C0EA72B75A5181DACAD37F82584704DB77AFBB227516DB696594F0A933109BF603DB21E7C1DC6B2E0D0381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C88935C97E4B5C31D61E3F2E659FD50DB9B0F3632FE56F977A232DF4A9FD8799FD8799FD8799F581C8F3A31E7E965F85DEA0269AE61662F866B4EB7F355953A2DDEFA63F1FFD8799FD8799FD8799F581C2047573CFCE35AFE0EC41F2B3A2264001DD5FEF8BD89D840E2257A6CFFFFFFFFA140D8799F00A1401A001C9C38FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A0016E360FFFFD8799FD8799FD8799F581C88935C97E4B5C31D61E3F2E659FD50DB9B0F3632FE56F977A232DF4AFFD8799FD8799FD8799F581CB2DC95D42D841E985DE15918A5044180DC607523658BA64C9E04F61CFFFFFFFFA140D8799F00A1401A0444E928FFFFFFFFFF0581840000D87A80821A0052BB6A1A74251E9EA1008182582079B1A74E8AC9D1C66960A71B1A32399F3FBA9D6A997512628D2A8B96685DDA6258405EFE6418D5B83A0E38AE6FC291BDF119041555254F14ADE33A18573FE60627BFD377A331F9FD0476F4B5D8E6623F0A9AA82CD330E304D460A99FB50A5C38CE0FA10082825820AD48EEE7E0BF389D7BA6C31730D1917066492BAE68601B66472EF6ECCFD0F135584034313995759D4332A65DA23A0A98F38FAF95FBF213D8C3711D0B99739B361947C4F77D05F3D890C02B455E538925651D674E534700084E4958E6BD041222230482582009A54194DBBD022189A3712F76F8339EE8F11C9921CF97F9B4A939966740B35F58403EA9C97AB0F72708DA2AA8CA4332E917AFE1612A346219D356FCCB2F9BD7B6B39853DB67F99B49CD2C28BB235D79CD6659170C5226D6B4CDF247B1CC17B5FE04A1008182582090F01AA72FE8793D794B052799619C7D1680F8E784605252FAC97ED0434262BD5840A1AFEE15A8C238122F4977441C2928EBC03EBCDA1CCEB4B1533AFA24E3080C35126CBB141A76360E39D089A40038263B400965C14FCE4FD0D537839E66DB7701A10082825820D419BEE8D8593AF173C590495CF38539E14F75AFE077875A74D0064A45364E9A5840EB0005A83A4F8446E5C8258965068E706464842C89B6B4776925E4A5B0ED442A74348ECD40C4FD355DA82947B5E50EC156B856F7E56A07EE9FF0848F8B8C46088258206A025FA7D656A36B7A781CC6E1E24E6D5F6C0F8938EB8AEB0D09D37A99BC7A605840CEA3444C8F0FE56FDDD557F36CF76EC5BC7411D5462AD76A01FBA128D8BC633E48D4E6995C3D8BD0058EE71D351F2310F82F95AC8C2A47DA62D21786D8F7B80FA40081825820F04E7176C0D4AFACB06344E59EA6B3F7189A1C782E51C3CAAE538256D8D8B2585840F4E5424E163D0A66F50CADA7012AA54E316CBFCF9BE371184E12EE5569E0C42F964460E8425AB2B0C9E93858FA90A645096633D2B362F0D9A8E3005D6F01790B0381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581CC6FFAA906A6DC8F29169E34AADFD63A4E81ED408E87363E74385415F9FD8799FD8799FD8799F581C81D021F8142A4A04EA09DD0C002639EDDFD51B0D3299ADE3864FE016FFD8799FD8799FD8799F581C7F50D3D0DEB8CD0392C1B2BDEC0273B9C902EBB9599CF69FFB73C9B2FFFFFFFFA140D8799F00A1401A007270E0FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A002DC6C0FFFFD8799FD8799FD8799F581CC6FFAA906A6DC8F29169E34AADFD63A4E81ED408E87363E74385415FFFD8799FD8799FD8799F581C16CCE259F16C9E0833F01B51C6500EBC2B47D104B7FB2E26245E6271FFFFFFFFA140D8799F00A1401A085099E0FFFFFFFFFF0581840003D87A80821A004BF5EC1A6B006F76A40081825820B32C61D67477A03A2DBF180AD5030A2CBAD8E123277D58163655AE24F380FCB55840017AB4CF15348EB21BB814999E23F7238F73F57A3826B59ECDADCCD007CFB70187504FACC4255CEAF50C462AF8B838FE4BA910A70B12276D18588C8CB37F2D070381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE29FD8799FD8799FD8799F581CB78E8018F9610283807970700BC37CFDD1C76AC47C9A9B42AE3E61EEFFD8799FD8799FD8799F581C1C9181B0C63DDB69AAA92E9E4CC369647BBDE0D16446A73936EDC13BFFFFFFFFA140D8799F00A1401A000F1B30FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A000F1B30FFFFD8799FD8799FD8799F581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE2FFD8799FD8799FD8799F581C0E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D172FFFFFFFFA1581C4742398B65A143CBBEFE60C5E7129AB5DBB9A57973CBFC23D96D2C2FD8799F00A150334441706F63616C797073653330333501FFFFFFFFFF0581840002D87980821A001D9BBF1A2F6A9CC0A40081825820A95A7C88B9B647FFC8FBFEADE8A1992ADB0A4CFBC30CBDA81955DAB6F5AFC9E558405A778B00C725807CF1F47970B903D20D0D6893635B673C2F0BE5D98367A26EC24F0D5528FF44B2A2E8A4B5A04A0FF10649D61426DCDCEC98A14449632081D30A0381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C2E36D40DD50E9B22094BD810F1B907C7B06BA677772E38E2B3FE14409FD8799FD8799FD8799F581C5C24FC985BEA1E64D308B669B81E26CF3ADF1760B632F25B78D77B24FFD8799FD8799FD8799F581C88795FDA77599FB353C47729DBAF6538CCF2B414C11E92C62BFFDDD7FFFFFFFFA140D8799F00A1401A004B87F0FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A003C6CC0FFFFD8799FD8799FD8799F581C2E36D40DD50E9B22094BD810F1B907C7B06BA677772E38E2B3FE1440FFD8799FD8799FD8799F581CC60112474927C593E68A5EFF5DE3FF39697B1EEF7466D1E389EA2771FFFFFFFFA140D8799F00A1401A0B4548D0FFFFFFFFFF0581840001D87A80821A0056C8AD1A79C59976A100818258204E11D2D9ABFCB765935F023AF6F7B2874F7B0C05C0660FE3259E45EE75AAF12B58406D941B5500F65E63E4158B9FFF093645722A81568B965A2C73363287E096D174859335EC0ACFE6563BF50B2FF3534C44B97F136E5BEA7A26DDAD496A06F85B0EA10082825820CC60B5B172FB2AE6A87FD22302ADE66C60717F49B56BC14DA82B64F989D9C9725840952AAA8AD52F2EC160B5C8C828EB13F463002B595CAF6CBA2FD04C31B78050DF885063B154DF4BDE6665BAB4A74D019191D585664252DBBA334F071AF2BB590C8258206D3154B5AC6E756B7CA97F990D71B2D3EED23D2FBBFAC1DA066A013CC55C3FB95840A3744B2E66AF8099914DC7EAD8753F3CF421A047CF2487ABB4D7D0D9FFC97599D8743FC93C090BE8A80290A3C5D94F9C864D727F39209E23B8A8F598D6BE910BA2008182582076BEA8ACE2DADE8E64E5DFACA9E1EE3B97E4EAE13963E29804A88126EE0036015840CA1641A767335CFC0E27ACD22715E911C9E938B7B55D40E39FA60B774C9E389265F28556EBE891A08618EAAA6C73973BAD708E6C519018FCBB2B0D862B85010A0481D8799FD8799FD8799FD8799F581C9F1576B725CA8B59976A8032CA98710117F8EBF41D7F97155DD5897CFFD8799FD8799FD8799F581C78D681580169B583CE8C6FF8E2AC0FB6BA41CB6454D616A36C4C4EA2FFFFFFFF581C9F1576B725CA8B59976A8032CA98710117F8EBF41D7F97155DD5897C1B000001833C941F63D8799FD8799F4040FFD8799F581C38AD9DC3AEC6A2F38E220142B9AA6ADE63EBE71F65E7CC2B7D8A853544434C4159FFFFFFD8799FD87A801A0E28F0CDFFFFA702AC007840643837393966353831636536613537373330636365656163313764663832323830633338663063316331636461306365383633303035373939666237303731370178403934396664383739396664383739396664383739396635383163653364643332316630653263653531373433656663633130386232636462376335343665636602784030663639663766633230383262346136353766666438373939666438373939666438373939663538316337386562386664353638343034643637316536306633037840366132303038623337353663376166326334353266326638373262396461656265616666666666666666613134306438373939663030613134303161303163390478406333383066666666643837393966643837393966643837393966353831633730653630663362356561373135336530616363376138303365343430316434346205784038656431626165316337626161616431613632613732666664383739396664383739396664383739396635383163316537386161653763393063633336643632067840346637623362623664383662353236393664633834653439306633343365626138393030356666666666666666666131343064383739396630306131343031610778403030623731623030666666666438373939666438373939666438373939663538316365366135373733306363656561633137646638323238306333386630633108784063316364613063653836333030353739396662373037313739346666643837393966643837393966643837393966353831636333356363313061313266616663097840306466323662613064646235666362323638343361623431326335653530663866613162333063393734666666666666666661313430643837393966303061310A743430316132313432363738306666666666666666181E613105D90103A100A11902A2A1636D736781734D696E737761703A204D61737465724368656608AC007840643837393966353831633263336635356364623832643831356432623832343339366530316362353364356465356365653133333035646463383464646565660178403563396664383739396664383739396664383739396635383163383838666566343736653962343734333331366431333135626532396131383964666566623602784036393961663030336161343834663761353966666438373939666438373939666438373939663538316366656637646361333134396530663439373036656362037840633732313961663138633363383539333336633964373761616238616438396232326666666666666666613134306438373939663030613134303161303133380478406365323066666666643837393966643837393966643837393966353831633730653630663362356561373135336530616363376138303365343430316434346205784038656431626165316337626161616431613632613732666664383739396664383739396664383739396635383163316537386161653763393063633336643632067840346637623362623664383662353236393664633834653439306633343365626138393030356666666666666666666131343064383739396630306131343031610778403030376431663430666666666438373939666438373939666438373939663538316332633366353563646238326438313564326238323433393665303163623508784033643564653563656531333330356464633834646465656635636666643837393966643837393966643837393966353831633266646335623131396136663266097840366634343866383436356462623038613466346636396665353732333536393266653338313534316661666666666666666661313430643837393966303061310A743430316131366261326432306666666666666666181E61310DAF007840643837393966353831636536323565366137356433356637326164323762323830653630613737366463316164663232663531323738613763616630656133320178406236396664383739396664383739396664383739396635383163346561333934316536316364386432643166646135386163326266646566653538336362393902784030333132363464303235323764376364303166666438373939666438373939666438373939663538316333613431336261633738373062366165303266366638037840393764643335626532303836363530333264323864623932633737313737303639666666666666666666613134306438373939663030613134303161303031360478406533363066666666643837393966643837393966643837393966353831633730653630663362356561373135336530616363376138303365343430316434346205784038656431626165316337626161616431613632613732666664383739396664383739396664383739396635383163316537386161653763393063633336643632067840346637623362623664383662353236393664633834653439306633343365626138393030356666666666666666666131343064383739396630306131343031610778403030306634323430666666666438373939666438373939666438373939663538316365363235653661373564333566373261643237623238306536306137373608784064633161646632326635313237386137636166306561333262366666643837393966643837393966643837393966353831636662336230343061623930316136097840626338393430383066383033643964383038626332316536303965633232636634383162316563643566666666666666666661313538316364636436373962340A7840346339336431363133363339643935616631323362303463393664653036326163373032646164333430303235346162643837393966303061313462343337390B781C36323635373235383330333033383337333730316666666666666666181E6131183278406463643637396234346339336431363133363339643935616631323362303463393664653036326163373032646164333430303235346162343337393632363518336E37323538333033303338333733370EAC007840643837393966353831633861386666303830306530626639356639616136306661353334666162393734343964306536333538653333343535663432386331380178403066396664383739396664383739396664383739396635383163386633613331653765393635663835646561303236396165363136363266383636623465623702784066333535393533613264646566613633663166666438373939666438373939666438373939663538316332303437353733636663653335616665306563343166037840326233613232363430303164643566656638626438396438343065323235376136636666666666666666613134306438373939663030613134303161303031300478403637333866666666643837393966643837393966643837393966353831633730653630663362356561373135336530616363376138303365343430316434346205784038656431626165316337626161616431613632613732666664383739396664383739396664383739396635383163316537386161653763393063633336643632067840346637623362623664383662353236393664633834653439306633343365626138393030356666666666666666666131343064383739396630306131343031610778403030306631373438666666666438373939666438373939666438373939663538316338613866663038303065306266393566396161363066613533346661623908784037343439643065363335386533333435356634323863313830666666643837393966643837393966643837393966353831633836366265376132616463623130097840386438376530343831363862373730623364646565323332633561633838373533313530303765633232666666666666666661313430643837393966303061310A743430316130323730613234306666666666666666181E613113AF007840643837393966353831636532616339333136366438353438646332306334353339616134386665343237326339343063343463663662666537373566326635650178406464396664383739396664383739396664383739396635383163386633613331653765393635663835646561303236396165363136363266383636623465623702784066333535393533613264646566613633663166666438373939666438373939666438373939663538316332303437353733636663653335616665306563343166037840326233613232363430303164643566656638626438396438343065323235376136636666666666666666613134306438373939663030613134303161303032640478406336633066666666643837393966643837393966643837393966353831633730653630663362356561373135336530616363376138303365343430316434346205784038656431626165316337626161616431613632613732666664383739396664383739396664383739396635383163316537386161653763393063633336643632067840346637623362623664383662353236393664633834653439306633343365626138393030356666666666666666666131343064383739396630306131343031610778403030323439663030666666666438373939666438373939666438373939663538316365326163393331363664383534386463323063343533396161343866653408784032373263393430633434636636626665373735663266356564646666643837393966643837393966643837393966353831633866333136393435666362356634097840643536306337633731656463336636653761376137636137666266393936633938363762616536396566666666666666666661313538316365373531346536350A7840663937376565346238346138653632653764393765613265356331313638326466653134343464386131346537346462643837393966303061313462343437320B781C36313633373536633631333033303336333330316666666666666666181E6131183278406537353134653635663937376565346238346138653632653764393765613265356331313638326466653134343464386131346537346462343437323631363318336E373536633631333033303336333314A11902A2A1636D736781782757696E677269646572733A2053776170205265717565737420766961204D7565736C695377617080")] public async Task DeserializeBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); const int concurrencyLevel = 1; // Number of parallel tasks - const int iterationsPerTask = 100; // Number of deserializations per task + const int iterationsPerTask = 1; // Number of deserializations per task List tasks = Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => { for (int i = 0; i < iterationsPerTask; i++) { // This call should be thread-safe and never fail if the code is correct - BlockWithEra block = CborSerializer.Deserialize>(cborRaw); + Block block = CborSerializer.Deserialize(cborRaw); // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue Assert.NotNull(block); diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Block.cs b/src/Chrysalis/Cardano/Core/Types/Block/Block.cs index 80d8a953..6c196b44 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Block.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Block.cs @@ -19,7 +19,8 @@ public record AlonzoCompatibleBlock( [CborProperty(0)] BlockHeader Header, [CborProperty(1)] CborMaybeIndefList TransactionBodies, [CborProperty(2)] CborMaybeIndefList TransactionWitnessSets, - [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet + [CborProperty(3)] AuxiliaryDataSet AuxiliaryDataSet, + [CborProperty(4)] CborMaybeIndefList? InvalidTransactions ) : Block; [CborConverter(typeof(CustomListConverter))] From 87dbc6b4dd5cd4cf693807cfdece5cf3ac1f4ae6 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Fri, 20 Dec 2024 02:51:16 -0500 Subject: [PATCH 093/162] chore: bump version to `0.5.19` (#109) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 8eda6579..0217464f 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.18 + 0.5.19 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From 91020a390cf0043f6a66cda9cdfc7d82616ca0dd Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Fri, 20 Dec 2024 16:04:59 -0500 Subject: [PATCH 094/162] fix: incorrect transaction output data type for post alonzo blocks (#110) --- src/Chrysalis.Test/CborTests.cs | 61 +++++++++++- .../Extensions/TransactionBodyExtension.cs | 16 ++-- .../Block/Transaction/Body/TransactionBody.cs | 8 +- .../Cbor/Converters/CborSerializer.cs | 95 +++++++++++-------- .../Primitives/CustomListConverter.cs | 57 +++++++---- .../Converters/Primitives/UnionConverter.cs | 5 - src/Chrysalis/Cbor/Utils/AssemblyUtils.cs | 1 - 7 files changed, 166 insertions(+), 77 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index e75d9561..5abd06ed 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -70,19 +70,47 @@ public void DeserializeCrashr(string testName, string serialized, CborBase deser [Theory] // conway - [InlineData("85828F1A00747D0F1A041E6B51582093A6C66A8FD72027551F8BD220327FA2E6C1E9DF0FB1768D507ABE04F81288AF5820E9D4550B82CC2D03D986FACFCC9A846A44466F266290BAF1FE47DA53052F7C0F5820F3C9B1B81816A66B316D3B9BBA839228F324E3A7B9B8F418932DB2DC20F0CD0E8258405B232174D50B9F7DC70389ECFEC9AF7C7620E18DCE3A96CD49C7E75A3D675731121B58FDD4C4ACB640FF4B67595D0759AFA6948C28B1E62ACDCBA2EBA8712FA8585073EA59DF10EDD3984C4870FA8A83049AEB1CC00F2F9B28FEBE263DEC94124880AB0D234A4D2A457F1E78CA6160F11B78376290B13729BF5902310B03A555EB4B67A4AFFE8668D0D2862E35F7EA71870082584000010DA617537671DDC3F1C27D792FF8C120E7072853CD2D5E35A68C7E0F6A085299D17C8FB4E304B9177E7D5F710742298629D14CA8887F6CFE61FD06428FC75850F5F290E952AF2A88C5A6B08E2DE0B8F881B24583A8C56C4C8C61921B65DF628112F391A17B9FAF64B4FBB199B76CA9C0911F38D176D9A9E0E6024782B971E7FC288A3518BB7DEBC53A76CA93B3D45F0B1A000100025820180CF196CF2E5FC72AA46EDB7632AFE9FCDB97E1B7F044C57566B77EF4164AA55820B0403C3524CECA37328809B712F7073F8E47BE1210D375D8276F374866F25039061901F958409247ED90208423669D5ACC023994CD7AF3A456D5206B4C01A2E18CA32E3AD7B661FA4665EA14CCCEAD247BBBF36804F43E26784D8862F947A2C387EDE90D8B0C06005901C09A81854BC6566B6CEB766C495C026319BBBF46F2BB3604DE4654576953D23F35BCB3D2CE18371B1BF031F3A410AC876DAC6C39D4A8DD03A7098D1A810376810D5D6158075AA22853D7FAD5C90982EF0E3ED0FD2ADF3DD67C190FAD5882660087D7DC34D05370A2D3EEA4839467F65BE67481A70B1C608B7A8D118BC9B54F5CD95F5E494A309BDF0E3DB42B0F9F8D959C5ECA1BF08E49C34A3E269275FC30D4274A65734BB1D0F0EAA61125609E0AA4732EBDE1A7E1784B9EAE3E90CB386F298485DFB0D86D36E8D099016150FE77212C5D1493126DCF40C54133ED22EC714EB66CB09F890E8B9DC1C75505F37F7338CD6518D991E03F74ABA2D107E4C39B3A0A2038BF16FABF0AF1B19B5A710BFB9550F7588288B07C576C481505D9E6A1D65E1E7DFEE4C5745AAE39B2DF25B55727143020363E8000766D523BE9525998C0600247413220876EDBA0978BB9185B501E9846A1CD25DA8A77832008B20EFD7DD74A598E374C3A162062D17BA650F8CA394F66C9B1DFD56625D524A32D21A8F245A24211E7E7B04ECDE6A8D521D56F7E16DD7B09AFB813AEB4809BF7C75B8A4CBBF679CE3DD672F166D7D2AD6203FB78FFA9F4EF3D7BD2C43CD45780914E73449E95A800828258206FA63850E3F1F1134CCEDFDDD910DB800A342910A9EEFC52ABF92926C5C16CD7008258206FA63850E3F1F1134CCEDFDDD910DB800A342910A9EEFC52ABF92926C5C16CD7020183825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A00A7D8C0825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A004C4B40825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A009583ED021A000837E0031A041E78F7081A041E6AE70B582047E670E625AB55B4E1C58DF8F87555600CDA9EE86883B1B39A1A5A4028EC21550D818258207CD63DE8469B3DA0F3EDC5645A661174A47F787635313BB188DFAD0B4A7CFE2F000E81581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE2A80082825820981458C50D0BAB16375F7E2AD26CF9ABF230E61EFA647337739153F95DC2FF2900825820E74C234F5A26DF5DEE010D13F91082E6E86C80F60FD5DFEAFFB4F5FBF982DAB4000186825839013703BD8AF7FB168951316AE4BF1C6FF4D4EAE909CFD7429A1EEB88EDEA994C11C4FD93B1CA5E191EA617993747BC2BCDDEADD921FF960F291A002D03708258390170E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A721E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005F1A0012016082583901374BC3211D98BDC351719DE4B152E44C0C85E025903E21A61C6947AAD15948DAF6D96ADF9992824465A53DD9F992AA4F4857E27CB683AED01A03453FF082583901728CC2F3FF10541CE6FF75E6953A30ABE15530316492123413EB9B0C52698BBDC65CD3DBEAF0A13EB9CB00BF6B242EC4981D1A597D803641821A0017BAC2A1581CE4292CE2061C128988A437A3C7F36FF499F230445CA44670BFFFEA63A1524142485378436C61794D61746573453636360182583901728CC2F3FF10541CE6FF75E6953A30ABE15530316492123413EB9B0C52698BBDC65CD3DBEAF0A13EB9CB00BF6B242EC4981D1A597D8036411A004C4B4082583901728CC2F3FF10541CE6FF75E6953A30ABE15530316492123413EB9B0C52698BBDC65CD3DBEAF0A13EB9CB00BF6B242EC4981D1A597D8036411A0508713C021A000BA8B8031A041E78F7081A041E6AE70B5820A7EBB11DF4DEFB3C65D0F704514AA04F5D8D7FD09017BB4AAB776B65369A1CB00D8182582062999F2CFB95FDAB87110C1B732A18D2474AE3299731447FAC093DCE77E764C4000E81581C728CC2F3FF10541CE6FF75E6953A30ABE15530316492123413EB9B0CA90082825820D17623031C780FD00D69AB38441E8713D5F41951571BEFA5DF6D970D2DB8E45C008258209E688AF83DF48C9C4F7C1C86A57E5547F154029CC19570DE26A0A60A167DA8AC02018383583911A55F409501BF65805BB0DC76F6F9AE90B61E19ED870BC0025681360881728E7ED4CF324E1323135E7E6D931F01E30792D9CDF17129CB806D821A001A4EC4A1581C901BA6E9831B078E131A1CC403D6139AF21BDA255CEA6C9F770F4834A1504D616C6C6172644F72646572343331320158204C3B0FEC5DB255248505DA1DF3430C780A7F0D89FD6CA64384DCF38C0EEC8BF582583901E6A57730CCEEAC17DF82280C38F0C1C1CDA0CE863005799FB7071794C35CC10A12FAFC0DF26BA0DDB5FCB26843AB412C5E50F8FA1B30C9741A004C4B4082583901E6A57730CCEEAC17DF82280C38F0C1C1CDA0CE863005799FB7071794C35CC10A12FAFC0DF26BA0DDB5FCB26843AB412C5E50F8FA1B30C9741A008C30BF021A0008DDA2031A041E783B075820F2CC0DA7EABD684053905F41243DF7EC43FADF800A242CEE168FBB553E97A758081A041E6A2B0B58205025FE647F5BD4329068E4340E069B3CA7B9C6B139AD021E3F32D5FA6EBCC7D90D81825820B78AE8215C8EC0175D960E47FB5FA8E6823D1E8BFA08033DC62D041C0FE9B06D000E81581CE6A57730CCEEAC17DF82280C38F0C1C1CDA0CE863005799FB7071794A400828258202FB2F0CEE1C43DD1629C46FC7E223605B82CEB559A7F9B8CD327FFCEB1EF8E720A82582080C594A75CB247A45783AB64294F9B9D2053BC59B10B4E9937D2F717E279A6CE01018182584C82D818584283581C08A7340927AA0556E0596BC1C3CBF7728EF94EDBF01003DEB34A42ABA101581E581C2374B70AE27C8CC69328169794CB2B71B55F62BCB07A66A44737E1B0001AE2F0F01C1A13681C54021A0005ECCC031A041EBF9EA4008182582085AE7627D6E0A770CCFF842FCC5FFE491ECB48E0155B3DE9703398983B4A645F01018282584C82D818584283581C74F2E8BD17F2629A6FD20C6349C3AE21661A94D1A5678E40AEDCD8E8A101581E581CFB4322611AD1D21E6F623C533ACCB00AE5F8A0B4523EA35858071913001AB365AC171A118608DD82581D6179E67550B2FF311DA1883AD0CCC6FB2BB7C75E5489ACFF735FCC68781B00000008D5C95506021A00029CD5031A041E794EA700838258205D091577198D3C598783ED8017E0D6E61294CF42C6B0B400B587AA5DA16F80C6008258207FE348B045CA33EA7244E7E91B3F538946720B6BCBA63EE861A5067B115A0135008258207FE348B045CA33EA7244E7E91B3F538946720B6BCBA63EE861A5067B115A0135020D818258207FE348B045CA33EA7244E7E91B3F538946720B6BCBA63EE861A5067B115A013500018382583901ADB1BF6A51B20FF1B8450726EF3891BB0E153D5BF47783375E2134AFBD6A096CBBA5E259946798E948403E2D2B3D9EA88A12EE8E7AE944971B00000037EAADE7F48258390177ACF208FC5F48044790F99A3DA86704C380CD9B10993E6AA73D4F7607EF265F06DD291F5268D112A21293FE681E06521F75DCBA9D25483C821A0033028EA2581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1A16DA2E07581CB34B3EA80060ACE9427BDA98690A73D33840E27AAA8D6EDB7F0C757AA145634E4554411901AB82583901ADB1BF6A51B20FF1B8450726EF3891BB0E153D5BF47783375E2134AFBD6A096CBBA5E259946798E948403E2D2B3D9EA88A12EE8E7AE94497821A0042D24EB0581C078EAFCE5CD7EDAFDF63900EDEF2C1EA759E77F30CA81D6BBDEEC924A14579756D6D691A004D9694581C25F0FC240E91BD95DCDAEBD2BA7713FC5168AC77234A3D79449FC20CA147534F43494554591B0000005B67BA7B36581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1B0000285EBF9FD773581C5AC9C98B7430F7ABB24365DB042EFC0090BAEB0BC017A210D0C50BC3A1475975756D6D797301581C5DAC8536653EDC12F6F5E1045D8164B9F59998D3BDC300FC92843489A1444E4D4B521B00000940469DF43B581C6F46E1304B16D884C85C62FB0EEF35028FACDC41AAA0FD319A152ED6A1444D434F531B0000009617C66B25581CA0028F350AAABE0545FDCB56B039BFB08E4BB4D8C4D7C3C7D481C235A145484F534B591B0000005E3AF1BDEE581CA363C8757CA0BDDEE3C59E021A72DB7EA98AD905439CC31AE3BE9368A1454C454E44371A000F4240581CB34B3EA80060ACE9427BDA98690A73D33840E27AAA8D6EDB7F0C757AA145634E4554411A0012E234581CB57E0C301865D7191CE5F100EAD7E1229DD09E3AF56517A79B7BD953A1444B5542451A1C9C2478581CCCC0FD2716856A880A5BAD7FE4167E720B0B6766BE63201235398B40A14A5041564941343931393201581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A14A4D61737465724368656601581CDB30C7905F598ED0154DE14F970DE0F61F0CB3943ED82C891968480AA144434C41501A24D7FAE7581CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D86A15820C00DC00BCE1027D3D0E2B2E14BC3C8B28EA9BB584A3D93E367FEBCCB924D2EF71A00030D36581CEDFD7A1D77BCB8B884C474BDC92A16002D1FB720E454FA6E99344479A1434E54581B0000003931601D33581CF43A62FDC3965DF486DE8A0D32FE800963589C41B38946602A0DC535A144414749581B000018B26082CD65021A0003A0B50E81581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67E09A1581CD195CA7DB29F0F13A00CAC7FCA70426FF60BAD4E1E87D3757FAE8484A34568764144413A001BDBF5476876434E4554413901AA4568764D494E3A16DA2E06075820FC1B8F5A107855636A7CA62A8811F418FFA00A9D2981BE3CE215477C696AEB85A700838258208426AE6D1BE9732C5DF81F151DA1CB2DB3F3C6169886BAD89AC80B112E431D0800825820A81D8375D090F30084C9A2262741BF2DA06082D4ADE497D35FF3DFD2CF855C4A02825820F44971EB5DC2A51AD356B0536ED90A884DCA847D3CE753F89B41E973B86CE15F00018383583911E6C90A5923713AF5786963DEE0FDFFD830CA7E0C86A041D9E5833E9146AC20804F730C01BDC651C2E5CB86FD56144D60FA827AB9B39404DE821B00000085513D121FA2581C026A18D04A0C642759BB3D83B12E3344894E5C1C7B2AEB1A2113A570A2414C015820D5759E269DF87A794B58360AD3BE9B375498C28792711294A5E86F2E355D20B71B7FFFFFA1AD5809FA581C8FEF2D34078659493CE161A6C7FBA4B56AFEFA8535296A5743F69587A144414144411B000000641E02839D58209409909515F66B97A3132C2A6CA1B666FAD29C82CD4F91FA958D971C8773D21982583901C8ADAD32DC5FFB78573D2190736B278722CEEBDEB69607E58B857C1010B1803EA193A0E13D869DB010BE7DB9253811E5C73105D88433A0B8821A3C400BA8A082583901FD705CC16F57A6F15BAAC48B0D2B99CA26CF7C503EA4877C70327A0A15D8E40FDA2FCDA496F663FBEB6D271534EFB98445FCF77464EEEFBD821A07AB1097A1581C13E9940C94572EAFEF8B391B64B4A2E898B6A7008ECE9064631E6FD2A1415801021A0011803D031A041E8054081A041E6B3E0B5820138F7C5E1F8056E32167570D32781514802B8C9CABB6FC7A888F3754099F116E0D81825820729FDAE2E91186416B3CFB3A490D6427759E96715E7E8C19A0204E25742EC94400A400828258208B60BC8DAA9D2A0E8078834E5FF0D398A1407423733149082C00F8E672A9F933008258208B60BC8DAA9D2A0E8078834E5FF0D398A1407423733149082C00F8E672A9F93301018182583901087AE5A3F08514CE174ED399AB28871EC0AAD007DF485F3E1C9BB88D5DF3842C6CE10BED7466FB78A9F705CDA9290F2FE9AAA8325068AF4A1A14703BEE021A000385FE031A05F5E100A90082825820AF073C6035AA73A5AD0D5F6571EC4096BFF4284844CB34331250012E5AC6B0EA00825820967F9E75FB0B7F94CFDB1A8B43C12A13F672B0EBA4418D5CC286C8A2E1AA339402018383583911A55F409501BF65805BB0DC76F6F9AE90B61E19ED870BC0025681360881728E7ED4CF324E1323135E7E6D931F01E30792D9CDF17129CB806D821A001A4EC4A1581C07B39A8EAD0EF1E3054E816A3B6910060BEAF2210FDED63FB90CE137A14C434C5043314D4430333433380158206BB222F80B1F7F30400C9721263D95A7C132C5CAF568A91786616EB3BE1F94D5825839012C3F55CDB82D815D2B824396E01CB53D5DE5CEE13305DDC84DDEEF5C2FDC5B119A6F2F6F448F8465DBB08A4F4F69FE57235692FE381541FA1A004C4B40825839012C3F55CDB82D815D2B824396E01CB53D5DE5CEE13305DDC84DDEEF5C2FDC5B119A6F2F6F448F8465DBB08A4F4F69FE57235692FE381541FA1A072B0256021A0008DCEA031A041E792307582070CE8DADF0B75BF7620663957D1AD4E769899B814A962CD5845818FD5F8141D8081A041E6B130B5820903F0DB03A45A99636E3258954FD39FF074C46DEE8963C89E94D67C2F3E41B060D81825820F5E2022AE29DB8D71B7978602431EDBD2CF8A55E61ACC327C7958086993AD023010E81581C2C3F55CDB82D815D2B824396E01CB53D5DE5CEE13305DDC84DDEEF5CA60081825820D99114947FF366BC3E98245FCECC8A467A0453B7964FA63E2E948E5D321D6191010D80018282584C82D818584283581CA1125D185FE1FEF72C6ED81156240E7572A908C9C162E7F0317E7907A101581E581C18F6ADF3C4F83F6F5E5768E492CE2827F2BF1AE0C8D7A0182332D68B001ABE30DB771A03938700825839018A976C42C9225103EEE0FA3F6F67F4819D9A3AA5FE924CCFEDDBA55A72A6594922954FD81756B9AB9844040C6C9E9048491553198597BFF11A0301C3B6021A00029781031A041E875E0E80A8008382582015F81E75869B0D66353F1083ACC55D0E8A75F0D369C198D8CECFA5B11CC63FA8008258201CE174661C434F40E1D4287FDA6C72EDD51F6ABDD1B5B527A32BA29B14DD97D40282582056650BC1BD28AFBB6010F674C444317BD3F88147AD5FEF25CA776271FF0961D001018A825839018F3A31E7E965F85DEA0269AE61662F866B4EB7F355953A2DDEFA63F12047573CFCE35AFE0EC41F2B3A2264001DD5FEF8BD89D840E2257A6C1A001C9C388258390170E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A721E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005F1A0016E3608258390188935C97E4B5C31D61E3F2E659FD50DB9B0F3632FE56F977A232DF4AB2DC95D42D841E985DE15918A5044180DC607523658BA64C9E04F61C1A0444E9288258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE821A00172698A1581CE7514E65F977EE4B84A8E62E7D97EA2E5C11682DFE1444D8A14E74DBA14B44726163756C6130333233018258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A004C4B408258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A3375FF5B8258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A19BAFFAE8258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A0CDD7FD78258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A066EBFEB8258390177CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C8533C01B25047F7713022E513A3F803F355D8AF986003D129948C6AA9DE1A06618785021A000D3867031A041E793B081A041E6B2B0B58205EB4A597D7A57D1DE96DBC0DA185B6582A952928E3ADB61AA136F86CB186BEBD0D81825820933F1E785AB0DF2B7FB8C27E1D061B012257DE86765EB28C537065426F3039FA000E81581C77CB32BE5BF255D5BBC0706A19984A95084A3C4A844C8F2246C4C853A40081825820BCE7F139B101AAFDC6AD84572B8B4CD13222D0E3A761C4C70A8E14FE87B9919F010182825839011D47E02DE9A2C913F67D6240AEFBFCE0631EB138A43D60FCB08312E7DCF01E6680145F06214933DE6DAECBCD401E32B2EA26B7A23E3CB1381A1DCD65008258390117578DF963CE428C23F62675B67B7BDD08223D9916476789164E41E6E44E0685FFC475349E955EC13A7D0C1B1B1B469E14A90B7CD2362AED1A23B51B96021A000344A5031A041E875DA400818258207B6D4BD8214A8BE676755A20BCF366D710E1717335EA196D6CC20C63202D1EC70001828258390148D43B78FA5CBF7348CD276D54CAA9AAE9DD0227EFDECAEAB3FF6E9E01CBE3AB9C692AFD04B4820609CF03CF86B8E7912BEAF2626324073E1A004C4B408258390167FA263B18AF66D1294B94B1E198141DCFDE109EFA9F1FAA7E9CCE04329B9A69B1A87AB57C22667E9F743BD948837DE9F71AE5C9914911F01A038D94BC021A0005F244031A041E875EA70081825820D45F3DF3E06924D36E79442C364D3107AE6F44E207570510446E031C5B743B2202018383583911A55F409501BF65805BB0DC76F6F9AE90B61E19ED870BC0025681360881728E7ED4CF324E1323135E7E6D931F01E30792D9CDF17129CB806D1A00989680582016F50368AEA662C6C52EB4E94CFE951F0BE6A83C832B9377343D465F39188EF082583901E625E6A75D35F72AD27B280E60A776DC1ADF22F51278A7CAF0EA32B6FB3B040AB901A6BC894080F803D9D808BC21E609EC22CF481B1ECD5F1A004C4B4082583901E625E6A75D35F72AD27B280E60A776DC1ADF22F51278A7CAF0EA32B6FB3B040AB901A6BC894080F803D9D808BC21E609EC22CF481B1ECD5F1A007DAA8C021A00036320031A041E7900075820E55FEE94EA1D74E0E9391CB367A56002BA1295F6FB5BF96A0A897EB936606F4A081A041E6AF00E81581CE625E6A75D35F72AD27B280E60A776DC1ADF22F51278A7CAF0EA32B6A700818258205DEBD75290D407A9978A827D6005719F532B5C98AAFE706296D37BDEC5ACB83F00018383583911A55F409501BF65805BB0DC76F6F9AE90B61E19ED870BC0025681360881728E7ED4CF324E1323135E7E6D931F01E30792D9CDF17129CB806D821A001A4EC4A1581CE7514E65F977EE4B84A8E62E7D97EA2E5C11682DFE1444D8A14E74DBA14B44726163756C61313436300158201A2E160338534BC085139AEE4F261E19922131E69092AA29143D2E2C15BB8837825839018A8FF0800E0BF95F9AA60FA534FAB97449D0E6358E33455F428C180F866BE7A2ADCB108D87E048168B770B3DDEE232C5AC8875315007EC221A004C4B40825839018A8FF0800E0BF95F9AA60FA534FAB97449D0E6358E33455F428C180F866BE7A2ADCB108D87E048168B770B3DDEE232C5AC8875315007EC221A003DF55A021A00034E76031A041E7900075820EEABFD7978136CA2F323F071D695495D53ED5889106E831EED7F4A55BE58F9AC081A041E6AF00E81581C8A8FF0800E0BF95F9AA60FA534FAB97449D0E6358E33455F428C180FA800858258201AB18922E8CCF07D1D52BC1992ED510A8CE98EDD3A768D16E46175BFF4A83D7200825820250F12E02385F71FB36E14D5C211496753897BB295FCEA991BB9F2EC2B405C6704825820118B7616BFE12A649779129401E570EFA949BC030BE09D432E3299BCA3DF2BDC028258200704F9A76FBCD2FC066407F9CDAD980715807E690FA7D765F88844585F306F3F038258200704F9A76FBCD2FC066407F9CDAD980715807E690FA7D765F88844585F306F3F0201868258390181D021F8142A4A04EA09DD0C002639EDDFD51B0D3299ADE3864FE0167F50D3D0DEB8CD0392C1B2BDEC0273B9C902EBB9599CF69FFB73C9B21A007270E08258390170E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A721E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005F1A002DC6C082583901C6FFAA906A6DC8F29169E34AADFD63A4E81ED408E87363E74385415F16CCE259F16C9E0833F01B51C6500EBC2B47D104B7FB2E26245E62711A085099E0825839018E841954E746968012E342BEA9986576648D4131BB35BD6DAD860095E4F7D22351FF23013A9FCDAB60F0BE8602CBD4604BDC58D587FE383F821A00172698A1581C59142DF7DFEA56A5B76B842C206FC7BD844B43A2D10F5EB05F695DCBA14C526163636F6F6E203235393701825839018E841954E746968012E342BEA9986576648D4131BB35BD6DAD860095E4F7D22351FF23013A9FCDAB60F0BE8602CBD4604BDC58D587FE383F1A004C4B40825839018E841954E746968012E342BEA9986576648D4131BB35BD6DAD860095E4F7D22351FF23013A9FCDAB60F0BE8602CBD4604BDC58D587FE383F1A00D72AE2021A000C8793031A041E783B081A041E6A2B0B5820C22BB6842A50DC6CCA6BC4D9225E07DD878BE939C6F1E192CF133EA8ABB103B10D8182582087655AC4D0640F0B55DC3E2E1A3C935F1AB10128BBDE592910762A2ABAC269B8000E81581C8E841954E746968012E342BEA9986576648D4131BB35BD6DAD860095A80083825820DA3A9394B9700CDDBE889206B1DA1B3CF18966E96CAFBA84BE59DA1A01D89662008258206FA63850E3F1F1134CCEDFDDD910DB800A342910A9EEFC52ABF92926C5C16CD7018258208821B354EAFA600A9E4C3C071D69CFB0D3919C5B660804DD9FD82B68D37859CE020183825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A00E4E1C0825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A004C4B40825839014888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE20E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D1721A01734CE8021A0008904B031A041E7900081A041E6AF00B58200B4A3EC66C4AF0D2189B2719E45C0C4E429B9EDE431E8945DEC9D40F6DF0FF7E0D818258207CD63DE8469B3DA0F3EDC5645A661174A47F787635313BB188DFAD0B4A7CFE2F000E81581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE2A80083825820AD3900A09C391C890AECD8DAFB3A37E1F603267C2E6EB3AD11E14D123E45353700825820B3A03FF85D723DE07FF47AAC8CF5804ADD34F07783FE976433C9C8EE7A9A7353018258208E4BB55FC65C49C4707FF4EF6D3C9B2705AFE8B65799E7EAEC062A1159A1987C00018B825839015C24FC985BEA1E64D308B669B81E26CF3ADF1760B632F25B78D77B2488795FDA77599FB353C47729DBAF6538CCF2B414C11E92C62BFFDDD71A004B87F08258390170E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A721E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005F1A003C6CC0825839012E36D40DD50E9B22094BD810F1B907C7B06BA677772E38E2B3FE1440C60112474927C593E68A5EFF5DE3FF39697B1EEF7466D1E389EA27711A0B4548D08258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD03821A0017BAC2A1581C4BF184E01E0F163296AB253EDD60774E2D34367D0E7B6CBC689B567DA15550617669614D696E75733230314D696E7573313136018258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A004C4B408258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A91C0E93C8258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A48E0749E8258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A24703A4F8258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A12381D278258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A091C0E948258390141E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABA97DC71A97A5EAE47D76CF7196BD10D1D37487557DE6C95A922B4CD031A090E7243021A000D9C51031A041E783B081A041E6A2B0B5820F317601E84D31757D6CBE61F74E004A614CE7411C681709288E4D5A06F8093160D81825820B3A03FF85D723DE07FF47AAC8CF5804ADD34F07783FE976433C9C8EE7A9A7353000E81581C41E1D1403A9F58BC8A719E5F3F65502E8EDBDBEDDD4A4E7EF5F0DABAA40082825820BFD112CA168787BF1BC896F0026CF193F74268F9F69629BEE70A3215EE82ECF50182582022381F2459CD189F67BDE8120E8323700FEEB02DDC8E2D249DFE7C1C24692B2902018382583901E9ED8E40A571A9AD58F7A5DBFF7AFE0B71255D8150A9B00ADD822955B0FD0C4C3AD2063DA1BBEC012D6260BB6853EBE7D3D07BE59A3F922A1A02625A008258390194251882AE02BCF5AC1D7243C6B660DF543B3AF6BD064A5A70AEB1642E834E15C372DBA58853E9A25F92EA1416076F46D5BC9FA74AD44207821A0147447CB841581C023CEC350597BDF2A2B6945E62E0111D9808CAF7A9353A2AB91E8BEBA14F534F434945545932354C4D4234353301581C11FF0E0D9AD037D18E3ED575CD35A0513B8473F83008124DB89F1D8FA2504861707079486F70706572303037353501504861707079486F70706572303332323701581C12EFB6C78A821BFC8AB8B8DC6814AFF9A695019EDEDA872DF1B652BFA24847524F5730373439014847524F573330383801581C1595C390E100253855FDC0084771714CAEEC63B5021B15C9A672B4B8A14B546869736973557333363101581C210D56F86155B426535A5D6E02528FFD73BA595217A374A67430EA5DA64D4461726B4C756E617230333937014D4461726B4C756E617231373532014D4461726B4C756E617234363836014D4461726B4C756E617234373834014D4461726B4C756E617236313930014D4461726B4C756E61723636313801581C21DF12480552592031F6F4D0DB4CF6F0DE6F4A5C2EB63F3B5062580DA14E43617264614C6F72647A3439393501581C22D843E9E8B39D105C645944CC848ABEE2673D64E60F1F022791EC85A256457175696E6550696F6E656572536B696E30303237360156457175696E6550696F6E656572536B696E303230313401581C23A000A839F04BB71B59B4AE74BF8CF5ED21EE0BE520690E665AE4B4A25818457175696E6550696F6E6565724A6F636B65793032303134015818457175696E6550696F6E6565724A6F636B6579313134343401581C29D222CE763455E3D7A09A665CE554F00AC89D2E99A1A83D267170C6A1434D494E1A03361FB5581C2D01B3496FD22B1A61E6227C27250225B1186E5EBAE7360B1FC5392CA15054617665726E5371756164303532353601581C3871C3D5F033F81BA74F81C53CCB4F6096CFE31AE911242D58BBC9AEA24B424C4F5150455453313338014B424C4F515045545332393101581C39FBBB94AB418566B5A5D5B0BA9DF90074090CCF27EBFC77221B56BFA1514772656173796D6F6E6B6579733035363401581C3C1169F0336F60C46AA0651BD8130C8F35A001005CF7599BB25D7CF8A15142616279416C69656E526F636B3138333001581C3EB2769B2E600E10764E327835EBC5D5C2CC3C09A3B036830C0D370AA14D536E6F77476C6F62653136333501581C49F565E692CBECF4B38A94DF1DCC21635A07222EFD4DAFB470FA4057A64B416E64656C733030393332014B416E64656C733038353837014B416E64656C733131303933014B416E64656C733132373733014B416E64656C733133303339014B416E64656C73313538363901581C4BF184E01E0F163296AB253EDD60774E2D34367D0E7B6CBC689B567DA1535061766961506C75733134394D696E7573343401581C50DFCC6F4CE897EAC827BB182E4BFE33D2F07AF33DDC0859602CA1B8A14B42756C6C6973683038323601581C545DC1601B5D469508698F7966A3C1C8CF207073041AD84B28D373C1A249544947455232343237014954494745523535303801581C5BBC07267D5BEEB5A174BC99063499FAEC01D7F31A0B3C12CA407943A14C55623241646147616E67393401581C62AFB32C355614608390CCFD007F87FB06844CEC373DBA4CE8272184A35818426C6F636B4F776C73476C6974636879586D617330303236015818426C6F636B4F776C73476C6974636879586D617330313839015818426C6F636B4F776C73476C6974636879586D61733034393201581C651BA7E3B7FC852FD1324A8129B0A69B831E52BDD1C415ECAA2C1592A1574164646963746564546F417474656E74696F6E3031303901581C713C9183D15403B37628115D9226AEB976CB32C163A7E130F8BFBDF8A150436861696E4368696C6C617A3231303701581C750B077EE1C771CD0AC953AE87044F2C2F50357D4881506BAC25F367A1443334393701581C76EBE108D0D58BA2FFE6024CF25CF5F6A890F4C61D77EE7911362B14A24B41444150756E6B31313936014B41444150756E6B3833353701581C7889C37737BF19E9194370968072415952AD0B7598217B8C53352BEEA148424541523130313101581C7DDC646D0E15B44DB03F0F904E0AB6B72E57AA48D2E579CE66366A3DA2544265617273436C75624D656D626572303230343201544265617273436C75624D656D626572303534303801581C7EB7CF060A9740B63DE68AFB1C0FDE7F74F2895C981573259046AE3FA14F4C696F6E4C6567656E64733234303801581C80E60CB4580FF462335059681189C88DC14693F3FE6D04635967346CA24B6B6964796F6B6169636337014B6B6964796F6B616963633901581C81BA784847C4B38DF1274E687E26D9E954D879B2B1871E782CC7D995A14333313101581C885742CD7E0DAD321622B5D3AD186797BD50C44CBDE8B48BE1583FBDA145534B554C4C1832581C90465E141ECB7B72ED0CDBCBD848673177CD52BE5AF5518E95D0DE1DA14B33444547454E533333303001581C904699D23C8453C45F9D8D37AB8C7B81B175E8B53F966ACB73094A7BA14641414936303801581C95EF7829379AF37336B98B487C03C389C288CF938F54DDCCD10185C2A14D536B756C6C4C5056536B756C6C01581C96580BBC4FE27AC0D127DB3F8A0DC698C58D303D8CAE870F5771F336A1515A6F6D626965436861696E73303430363101581C96A0251690AA1447636BE1F86BCFAE314D7C2B59CA11FC2552696C55A14D5072617934486169746930353401581C984394DCC0B08EA12D72B8833292E3C3197D7A8AC89AAD61D2F5AA9EA14B45415254485F746F6B656E1B00000005F0604F00581C9997C9E9E6D0C2F516A2F2229FA39BFF9C30B729E3E02679A422D6ECA54B6B6964796F6B6169343734014C6B6964796F6B616931393331014C6B6964796F6B616931393639014C6B6964796F6B616932353632014C6B6964796F6B61693235383301581C9CC83EA54377108DD022F18095040E8D5808A3061C4FE54F3FD64A7AA24F48616C6C6F7765656E417065333133015048616C6C6F7765656E4170653437313801581C9D4C40C114D3D69D4F8209E205686DB296683073C0CA5C63A8D2456EA14B4C696F6E6573733131363301581C9DEC676C8ACC5F2791AC0C73741F92AE9D4B61C243FD9971B4CBC2A8A1581C43617264616E6F50656E6775696E52697070657273446973636F494901581C9F4DC2DCECC4BC2B640A6149E38C9A5F71322D426A5AF51BE68EC291A25043727970746F486970706F7A32353939015043727970746F486970706F7A3336373101581CA23836EF3B4D0AD3ED1C28BD30E754E208AE7EA0A23E809354D67E0DA1443334393701581CA5BB0E5BB275A573D744A021F9B3BFF73595468E002755B447E01559A256484F534B5943617368477261623030303032363632340156484F534B59436173684772616230303030393631313301581CA780D38CF3180361B1DFF604E17EE0E8BFF0626A9E743BF341C26268A34C414441536B756C6C7A363732014C414441536B756C6C7A383833014D414441536B756C6C7A3138343301581CA9996462A84E34FEC50DB0407E48B8E5DF78533314A705B850020012A14B306750696E75707335303801581CAB12B275CE3A39A0A03576F8903D7C770B39CCB2A00D10D088A877E6A24948616C6F3031333131014948616C6F303231303301581CAF2C745C3B62BD824D46966ACA6794D84E20D969763982A48A66A5D8A14B4E6572646D61733235303701581CB1066E840346478FBE01A7C278275C77929E5D5435D5650FCF963C7BA1544164614E617574546F5468654D6F6F6E3130373001581CB181057C6C7D18674969C1E08508DB72FF7E0DDA373AF209B49C50D6A45357696C6457617272696F727353535332343933015357696C6457617272696F727353535333343633015357696C6457617272696F727353535336323937015357696C6457617272696F72735353533739393201581CB6C2369AB4F5155F868B6DC885772829BF292EF89E0C707D19F1A312A3544E65726473416E6456697267696E73303032313501544E65726473416E6456697267696E73303339353301544E65726473416E6456697267696E73303635373701581CBB78D3B6638537D6DF7AE43791EAD3D50E75FDAE82131EFF2B7AE994A2581B556E626F756E64656445617274684D696E75733430506C7573343801581D556E626F756E64656445617274684D696E75733131364D696E7573393401581CC38711F8E132F3EF2D5F833F4DD394C474F2CDFFB06068116AF1C99BA1524164615368726F6F6D41737365743235353101581CC805F32096CCB75BE6B9D155BA8250B6A23AC9DFFD95948551F57EEBA14C486F726E6E6965733130353001581CC859E9D7E71B8F90BDC1E453FD1B9ADBC5E6163898FB574543CB5BE8A24E5465727261666F726D3031383339014E5465727261666F726D303835323601581CCA58B06FB195890E84ECEECBDE4DDE67384312128009639CACF8837DA155467573696F6E48616C6F303133313178303231303301581CD4691CFEFB8C644D4ABC5AC235E1F71F435E883048BC1CCA038DB666A1504B696C6C6572436F6E74656E7432353601581CD6FE6EFA7788CB70E57A91891605E3694352CABB4837E870610300E9A44B41646141726D7931303836014B41646141726D7934363331014B41646141726D7934363534014B41646141726D793439343701581CD900CF7C71FD09E413C7E2622DE35648933AF805713203CF0D025413A24E41444145786F7469637333353531014E41444145786F746963733436353301581CDA3A321E0ADA6FB0B10FCAE26571D526B50FE47F929E9DB865754B11A1504E6562756C61436F646578303439353501581CDB9B6CB5A306B64A43AC2363B1CFAD626DFC2D94F9C885889A521300A145444547454E1A11E1A300581CE478EAD1C657CBE6C9A8047CED738ED85C18B9DBA77A967C4DFE4F30A14E526167696E67526564733037383101581CE5AE8D1CA94272EF3CC9DAE55E80E0A817164D8B7CD935374C3AD3F4A1554E656D6F6E69756D44616F536B756C6C303232323901581CE8B082D56808BD8BF4455826A2636F87D493E49962758917E44A7FC2A14B437768616C65303230383701581CE9BBCC627C65118A9AE2E2C31A8D276CD7BBB75FA11D6B0ED0AE50E5A25743656E7475727957617272696F72734865616430383237015743656E7475727957617272696F7273486561643133383501581CEC2E1C314EE754CEA4BA3AFC69F74B2130F87BB3928E1A1E8534C209A24F526167696E675465656E3032323138014F526167696E675465656E3032333031018258390194251882AE02BCF5AC1D7243C6B660DF543B3AF6BD064A5A70AEB1642E834E15C372DBA58853E9A25F92EA1416076F46D5BC9FA74AD442071A00FB959B021A00053731031A041EBF50A70084825820CA185C8F4D7F645FCBC08E5471E4702FA8D878DE282D0A412EA5284C74CC650A038258201B63B76D4C685F140580FBB0B3D913851173A596B08E100491E91DC10C1AE7A7018258205C288D22404F0F0DA7B271F6089BE7DBC6941137DAF7DB6E616C940DB092FD25018258205C288D22404F0F0DA7B271F6089BE7DBC6941137DAF7DB6E616C940DB092FD2502018483583911A55F409501BF65805BB0DC76F6F9AE90B61E19ED870BC0025681360881728E7ED4CF324E1323135E7E6D931F01E30792D9CDF17129CB806D1A07270E005820113D629BCD9B365588D0082096F095758878F7DD77D92F4F86389EA7FFBF91D382583901E2AC93166D8548DC20C4539AA48FE4272C940C44CF6BFE775F2F5EDD8F316945FCB5F4D560C7C71EDC3F6E7A7A7CA7FBF996C9867BAE69EF1A004C4B4082583901E2AC93166D8548DC20C4539AA48FE4272C940C44CF6BFE775F2F5EDD8F316945FCB5F4D560C7C71EDC3F6E7A7A7CA7FBF996C9867BAE69EF1A05F6EBCF82583901E2AC93166D8548DC20C4539AA48FE4272C940C44CF6BFE775F2F5EDD8F316945FCB5F4D560C7C71EDC3F6E7A7A7CA7FBF996C9867BAE69EF1A05F35774021A0003945C031A041E794E0758205AF6CC14987AE839D675D9FA8FBFEFCE6919EE1C26987022C71623DD4922B440081A041E6B3E0E81581CE2AC93166D8548DC20C4539AA48FE4272C940C44CF6BFE775F2F5EDDA7008482582077DCFCFC7307FB4DA1C0B1319F6F0EFE260D9BDCEE20EA7AF6BCDF45EF6802FB18628258207AE87A5905E49B8FB3684E7CE8D34A6BF948EA0D6D90F5B6213B053ED24F196001825820FF5A52AB8723CB10C66BA4F3F39EC052704E83CA13F61C45E09DB29320B8B722048258205FB67AF0E6C5E5A69282598D6C5DAC568BC0377AC9BE794BF3FAC8EC8C299FCD01018383581D7186AE9EEBD8B97944A45201E4AEC1330A72291AF2D071644BBA015959821A003D0900A1581C38AD9DC3AEC6A2F38E220142B9AA6ADE63EBE71F65E7CC2B7D8A8535A144434C41591A05F5E1005820CF2019DEA68745E460C4AE546FB17416C05550669E8583447A526BFEB568DBB282583901A1ED08334901473CC30C9C3B5917C5DF973D5591E3733DA87BD25348663A8FB1C88F7C15069FAEBB39BD8B34A6CF70552045DA207F1D03BF1A000F4240825839019F1576B725CA8B59976A8032CA98710117F8EBF41D7F97155DD5897C78D681580169B583CE8C6FF8E2AC0FB6BA41CB6454D616A36C4C4EA2821A006C377BA2581C38AD9DC3AEC6A2F38E220142B9AA6ADE63EBE71F65E7CC2B7D8A8535A144434C41591A02FAF080581C901BA6E9831B078E131A1CC403D6139AF21BDA255CEA6C9F770F4834A1504D616C6C6172644F726465723435373501021A00030E1A07582027CCF8CCDD3C89649A9A0BEB56CDBCA04C53AF81D8A2ED2BF4A790A80D6AA4E80B5820DFAD86D005F417837360BE7607702975027DB5D3A3727A91B44991B11F7C91D40D800E8095A40081825820B32C61D67477A03A2DBF180AD5030A2CBAD8E123277D58163655AE24F380FCB558407ADFA0DF2B2621A067B4D769884C23D606791C3025CD9F0E064EE60A31DED934CD3FD86AEF75ABEA96AF2A7AF956D6800232ABC7EFC64A8D88222A2154E9C4080381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE29FD8799FD8799FD8799F581CCCDA5570ECFD11377EC5FC6A18E12949BFA7E1F8831946D0B866B39FFFD8799FD8799FD8799F581C85368D3274660D6F167B164BBA4A8D30D5E1D3E2FEEB54A4EBB13685FFFFFFFFA140D8799F00A1401A000F1B30FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A000F1B30FFFFD8799FD8799FD8799F581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE2FFD8799FD8799FD8799F581C0E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D172FFFFFFFFA1581CC0E6C802993AADBE53FCCF26811D21965854109DC8D8ECE113CCA940D8799F00A14D436C617942756666793336363001FFFFFFFFFF0581840000D87980821A0019DCA61A29E621E1A400818258207DC5D1A79FFFAC977A644C8D6573AC6035E2552C5C88A4D9232852067BFA5B515840A3FF4CAF8046440C25BCC967ABB2F77E739370D90F9E04A5E6A64BDECBD898B6065E0F3C2E9F0FE39214C0C24FA35FE41C2B246385C9AD8BD80E654B0914D30C0381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C374BC3211D98BDC351719DE4B152E44C0C85E025903E21A61C6947AA9FD8799FD8799FD8799F581C3703BD8AF7FB168951316AE4BF1C6FF4D4EAE909CFD7429A1EEB88EDFFD8799FD8799FD8799F581CEA994C11C4FD93B1CA5E191EA617993747BC2BCDDEADD921FF960F29FFFFFFFFA140D8799F00A1401A002D0370FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A00120160FFFFD8799FD8799FD8799F581C374BC3211D98BDC351719DE4B152E44C0C85E025903E21A61C6947AAFFD8799FD8799FD8799F581CD15948DAF6D96ADF9992824465A53DD9F992AA4F4857E27CB683AED0FFFFFFFFA140D8799F00A1401A03453FF0FFFFFFFFFF0581840000D87A80821A0042A9FD1A5CC74559A40081825820CD46E9B28437D1660D463DF41407D940553165B13C9AAEF63B0F2BF12171B87F5840AE18701E06BC288843653964CD1CCF6B0FC42A8E48946BC2D0A08ABAF3FC2A76728FF0B5854ED62F7A84C12B5D4246FCA2C8E5AA8689B9C841269C91EBBA26010381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581CE6A57730CCEEAC17DF82280C38F0C1C1CDA0CE863005799FB70717949FD8799FD8799FD8799F581CE3DD321F0E2CE51743EFCC108B2CDB7C546ECF0F69F7FC2082B4A657FFD8799FD8799FD8799F581C78EB8FD568404D671E60F36A2008B3756C7AF2C452F2F872B9DAEBEAFFFFFFFFA140D8799F00A1401A02AEA540FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A0112A880FFFFD8799FD8799FD8799F581CE6A57730CCEEAC17DF82280C38F0C1C1CDA0CE863005799FB7071794FFD8799FD8799FD8799F581CC35CC10A12FAFC0DF26BA0DDB5FCB26843AB412C5E50F8FA1B30C974FFFFFFFFA140D8799F00A1401A31E39B40FFFFFFFFFF0581840001D87980821A001B10C41A2BA169C7A100828258209518F33B3DA0F51A8762C1C03A1B1AA5E83DBBA580F68971EA700F5DF83B774E58404BFA164A058A79AD4BECFD776C5F3CA131176A18DE7FAED1B1DEB58C84F278D5BF6EC4B21A7F88638E1C2EB26CBF1F3CD7D433E4406EDB4C86CEDB440A165A0D82582055FA90E912116946BB4D36571C5AE808991287EBCDAB2AC105F8CF211B4F69115840E920FFC93419C43677567F6B00B103792DA93FE13778B93EDDB4E96C74CA26B950AFE785A934C275882C8895229CA3F5EBE915333A9057133A5FAE223808FB07A100818258206C0180DB688A9E477B10A7792E3C4EFD749CDDBE0E05068B6CB586DEE5405697584013BF6F369B2EF1737C66CA581E2C94FA95D26B1AFE086F066C7BFB4A967B5C6BD4E3E472D6BA6D8AB2E74A223F28BBF9D81857EBAAD44330BFDD3598E4FBA70EA200828258205424FA10BA83C95C33714C420479C19183A7274E7C1D4161D173842C245B340C584080AEFBF25FED14788F0AD276469E77F074387F22FFE18A73B2DA15C8B80FF0524DEF657AB48D21C8E99D6B329370802138DC0643EDB39125095AA2ADD015C10B8258200621257BB5BD1477C0960B2E391C70BAA8A642AD258420DAA10BAB85D1C24BEF584027865B1CCE06E9C52EB149B4E28DA08F2709A517D55E5BE2A3489631E2D829C7CC3E5D56CF12BDD3945B7A04E4B1602AEC8FC7656CC0734258301F965CAA1D0201818200581C4F641455F17911FE2F55AD3AD67FC2E0B2946B59AF3352574322E67EA40081825820C193A8E037BF2515D724A052EED04DB9289558A791408BCD666E2EA4A118039958404E41C8F06D096BEBF4D809546EE50452B6874CB60F492E54FF6A77D18EAF8E25AB634AF2D2F51A2F2E4F63B6B648A0367716CD72398E2B00B34555336169BC0C0382590373590370010000332332233322232323332223332223233223232323232332233222232322323225335301533225335301A00221333573466E3C02CDD7299A9A8101980924004A66A6A040660249000299A9A8101980924000A66A6A04066024900019A980B8900098099BAC5335350203301248000D4D54054C0440088800858884008004588854CD4D4088004588854CD4D409000440088858588854CD4D4088004588854CD4D4090004588854CD4D409800440188858588854CD4D4088004588854CD4D409000440108858588854CD4D4088004400888580680644CC88D4C03400888D4C0440088888CC05CDD70019918139BAC0015335350273301948000D4D54070C06001C88008588854CD4D40A4004588854CD4D40AC004588854CD4D40B4004588854CD4D40BC004588854CD4D40C4004588854CD4D40CC004588854CD4D40D400458884008CCCD5CD19B8735573AA010900011980699191919191999AB9A3370E6AAE75401120002333301535742A0086AE85400CD5D0A8011ABA135744A004464C6A605266AE700900A80680644D5D1280089ABA25001135573CA00226EA8004D5D0A8041ABA135744A010464C6A604666AE7007809005004C004CCCD5CD19B8750024800880688CCCD5CD19B875003480008C8C074004DD69ABA135573CA00A464C6A604466AE7007408C04C0480440044084584D55CEA80089BAA001135573CA00226EA80048848CC00400C0088004888848CCCC00401401000C0088004C8004D540548894CD4D404C00440308854CD4C034CCD5CD19B8F00400200F00E100F13300500400125335350103300248000004588854CD4D4048004588854CD4D40500044CD54028010008885888C8D4D54018CD5401CD55CEA80098021AAB9E5001225335300B333573466E1C0140080340304004584DD5000990009AA809111999AAB9F0012501223350113574200460066AE8800800D26112212330010030021120013200135500E2212253353500D0021622153353007333573466E1C00D2000009008100213353006120010013370200690010910010910009000909118010018910009000A490350543100320013550062233335573E0024A00C466A00A6EB8D5D080118019ABA2002007112200212212233001004003120011200120011123230010012233003300200200148811CE6C90A5923713AF5786963DEE0FDFFD830CA7E0C86A041D9E5833E910001591F17591F140100003323322333222323332223233223233223322323233322233223232323333222232332232323332223233322232333222323322323322323233333333222222223333322222332232332232332233223322332232323233223322332232323232332232332232323233223322333222333333222222332232323232323232332232323232323232323232323232332232323232323233223322323222323223232323225335309C01333222335309201002235304E004223235301E01122222235305900823222235306500C22223232323222353550B00150042235306C01122323232353550B701500D22533530C101333573466E20CDC000B00D9A9AA85C80981F8051100106180861008A99A986080999AB9A3370E6A0A466084042026900006180861008A99A98608099820A80700F0A99A986080999AB9A3371E010002186021840226A6AA1720266446A6AA0D6660CA0040024466AA17C02004002A008A66A618202666AE68CDC4A801A400018402186022A0062C44666608E040A00EA01C004218402218402218402218402266E04CC10D40254050D4C18D40048888800C4CCC0D0071400540284CCC11C00800540484D4D542B4054004880084CCC0CC00C0440144D4D542AC0540048800854CD4D42D804CC0CC004010588854CD4D42E004004400888584CD5428C04D4D542880401C88008C09C004CC15801000C888D4C14001888CCC888D4C088054888888D4C1740288888D4D542A40403488D4C1A8034888888C8D4D542C80400C88D4C1B803C88C8D4D542DC04CCC0F802406002C88D4D542E404CC88D4D542EC0400888D4D541B4CCC15C00800400C88CD5430004008004CD542E804CCC0E0079400C01C188D4110488CCD5411488D4D542F40400888CC018CCCCCC8888C888D4C1240F0888888D4C2A00401C888D4C12002C88C8D4C13400C88894CD4C37804D4C2D40402888D4C2DC0401888C8CD4C304040148CD4C3080401094CD4C39404CCD5CD19B8F0020010E7010E6011500310E60120E601233530C20100420E6012533530E501333573466E3C00800439C04398045400C43980454CD4D43100400C854CD4D43140400884CD4C2F8040088CD4C2FC040088CD4C310040088CD4C314040088CC1E000800483A4048CD4C3140400883A4048CC1E00080048883A404888CD4C3040401083A4048894CD4C3A804CCD5CD19B870060030EC010EB011533530EA01333573466E1C0140083B0043AC044CC3A40401000443AC0443AC0443900454CD4D431004004843900443900454CD4C37804CCD5CD19B880150020E0010DF011533530DE01333573466E3CD4C2C804050888D4C2E00400C88CD4C304040089880040583800437C044D4C1A005C888C8C94CD4C38C04C8D4C2580401C88D4D543780400888D4D543800400C88D4C2700401C88D4D543900400888D4D543980400C894CD4C3C004CCD5CD19B8F00A0040F2010F1011533530F001333573466E3C02400C3C8043C4044CCCC1FC02001C00800443C40443C404CC16401401054CD4D43140403484D4C2EC0402888CD4C310040089894CD4C39C04CCD5CD19B8F0040150E9010E801150051613530BA010092233530C30100225004261615333335307700A21500A1533530E20133070506E0041533530E20133062501750011533530E2013306200D5001150091616161533530E201333573466E3CD4C2E40402088CD4C308040089880040483900438C045402458885402C885402C4CD5436804038D4D5436404004880045858584CC88CCC1BC00C008004CC148048CD54348054038CDC0028A410125E802660A402466AA1A4020080A226A613E02002444004A01204A6A6AAA18202A01C4440020046464646666AE68CDC39AAB9D5002480008CC88CC0FC008004C8C8C8C8C8CCCD5CD19B8735573AA008900011999911119998248020018010009853809ABA15004375C6AE85400CDD69ABA150023046357426AE8940088C98D4C30804CD5CE06080861808600085F8089ABA25001135744A00226AAE7940044DD50009ABA1500232323232323333573466E1D40052008206A23333573466E1D40092006206A23333573466E1D400D2004233223306B002001375A6AE854014DD69ABA135744A00A46666AE68CDC3A8022400446460DE0026EB4D5D09AAB9E500823333573466E1D40152000233223306E00200132323333573466E1D40052002207423333573466E1D40092000207623263530CA0133573819202196021900218E0218C0226AAE74DD50009ABA15008375A6AE84D5D1280411931A98630099AB9C0C5010C7010C4010C3010C2010C1010C0010BF01135573AA00626AAE7940084D55CF280089BAA001357426AE8940088C98D4C2F004CD5CE05D8085E8085D0085C8089AAB9E5001137540026606E0246A613602004444A66A6A15802002420022C00200600266AA6064240026A08C244666AA08E446600866A60FA24002028004002002040A66A6A18E0201E264C6A61680266AE7124103505439000B5010B20122100122533530C3013304300901C1533530C301333573466E1C04404831404310044310044D4C25C04CD4C1E44800404004488C88D4C2780401088CD4C29C040089401494CD4C32804CCD5CD19B8F0010280CC010CB0110CB011533530CA01333573466E3C0040503300432C04432C045401454CD4C31404CCD5CD19B873304A00101D4800831C043180454CD4C31404CCD5CD19BAF3303501000535306A004222223535550C40150112223235307C001223530800100122223530860100422353550CE0100222353550D001003223374A900019ABA0375201866AE80CDD2A400066AE80CDD2A400066AE80CCCD5421405D4BA90040033357406666AA10A02EA5D48010009BB10C9013357406EA0024CD5D01BA80083357406EA001CDD8864809BB10C9013307A02B33330790200020050040C7010C6011533530C501333304901E5007006004132533530C601333573466E1C004CDC0240086A0AE0421900218E022A66A618C02666AE68CDC4800A400818E02190022A66A618C026618402042A19802218E0226A6AAA18002A01A4446A6AA1820200644666AE68CDC419B8100100248203C2C9483340433004431C04431C04D41580484318044318044318044310044CCC124008004CD542DC04D4D542D80405C88008C0EC0444D4D542C404C0DC00488CCD5542D804C0E400C008004CD542740401401000CCC160018014CCCD5CD19B8735573AA01090001198251BAE35742A01064646464646666AE68CDC39AAB9D5004480008CCCC13CC060D5D0A8021BAD35742A0066EB4D5D0A8011BAD357426AE8940088C98D4C25004CD5CE0498084A80849008488089ABA25001135744A00226AAE7940044DD50009ABA135744A010464C6A611C0266AE702340423C042300422C04CCCD5CD19B875002480088C8C24C04004DD69ABA135573CA00C46666AE68CDC3A801A4000466644466612A020060040026EB4D5D0A8031BAD35742A00A66A0E0EB4D5D09ABA25005232635308F0133573811C021200211A021180211602002211C022C26AAE75400C4D5D1280089AAB9E50011375400226AAE7940044DD5000990009AA84D00910891299A9A84C808010A84D80910A99A9A84D808018B11099A84F0099AA8490080200119AA980409000801800990009AA84C80911299A9A84B808010B1109A9AA8468080111299A984B80999AB9A3371E00A0041320213002200226600E00600A4424660020060044002444424666600200A0080060044002464646666AE68CDC39AAB9D5002480008CC014CCD54111D73AE35742A004666AA088EB9D71ABA135744A004464C6A61000266AE701FC204041F81F44D55CF280089BAA001223303F00200122235303C003222235301A0062223535508B01003223535508D01004223535508F01005223232323333304200300200100E00D3330210100040033370266604001E00A00801666E04CCCC04C03801801408802D208092F401223530130022223535508401003223535508601004223535508801005223535508A0100A22333033333300E00200800700133301A00200600533301A002004003222232325335308C01333573466E3C014064238042340454CD4C23004CCD5CD19B8F00401908E0108D0115335308C01333573466E20009200008D0108E01100216150011500115335308B01333573466E1C005200008D0108C011333011005004003163370266602000802E02E0024444442466666600200E00C00A008006004400246A606C002446A6AA0FC004446A6AA10002006446E4CCDC51B93337140080066E4CCDC500100091A9A81E000911A9A821001112999A9A838801109A9A821802112999A9A83A00110A99A984580999AB9A3371000800211A0211802266AA108020080022C2C2C2C2C444A66A6A110026A00E244666AA010446A6AA1000200444A66A6114026601400401026600C00800620060026600E00A0062C442A66A6A114020022004442C44666AE68CDC399803801000A40041080210602446A008244666AA00A446A60B20044446A60BE0064466A60D0004400E4A66A611602666AE68CDC7800806046808460089980519AA84200802A99A9A836802108008B0038803800801889119000990009AA8448091299A9A8430080088019109980300118020008919A800A84180A8420091111A98050019111A98140021111119299A9844809980B804A80A8A99A984480999AB9A3370E6601C01601266E00CDC000300180904580845008A8008845008A99A984480999AB9A3370E6601C01601266E0001800C22C042280454CD4C22404CCD5CD19B873300E00B501501208B0108A0115001108A01108A0115335308801333573466E1CCC03402801CCDC000200084500844808A99A984400999AB9A3370E6601A01400C00611402112022A66A611002666AE68CDC3998068050062400411402112022666AE68CDC39A80C9983F28470080519B8133530880133016008501448021200A335308801333573466E1C00D200008A010890148009200008A01089011089011089011089012235355075001223330050040020012223300400133005002003320013550820122253353508001001148000884D4D541D8008894CD4C20004CCD5CD19B8F00600208201081011001133007006003320013550810122253353507F001150810122135355075002225335307F333573466E3C018008204042000440044CC01C01800D20809BEE022221233300100400300220011335506D00100148900223535506C002223535506E003223333007004003002001222253353075333573466E3C0100081DC1D84CC01400C00441D888CCD5CD19B8F002001074073132300148000C8004D541E08894CD4D41D80044008884CC014CDC000224004002640026AA0EE446464646444A66A6A0F4002266AA03E00E0044426A60300086660146A6016004446464644A66666A602600C426A6048020444446A6AA0F8A01244A66A610C02666AE68CDC41A981580111111001A400010E02110022A66A610C02666AE68CDC4A8052400010E02110022A66A610C02666AE68CDC4280500404380844008A99A984300999AB9A337106A6048012444002A01410E021100220042C2C2C2C26A604601E44444A66A610602666AE68CDC39A9810803111001A400010A021080226666604E66E00D4C08402888800C01401000C008004584D4C08C03C88888C94CD4C21004CCD5CD19B890034800021404218045400454CD4C21004CCD5CD19B89002480002140421804540045854CD4C20C04CCD5CD19B88353021006222003002084010850115335308301333573466E20D4C08401888800800421004214044CCCCC09C01401000D20004800058588C884D4C09804888888C8C8D4D54200054008894CD4C22804CCD5CD19B89500B4800022C042300454CD4C22804CCD5CD19B8950034800022C042300454CD4C22804CCD5CD19B88500300A08B0108C0115335302500C15335308A01333573466E20D4C0A0034888009400C22C042300440085854CD4C22804CCD5CD19B8835302800D222003500308B0108C0110021616161613535507F50012200115335302100813535502E33302D005004500722353550800100222353550820100322335508501333330300040030093370000201000E00426A6AA05C66605A00800AA00E446A6AA10002004446A6AA104020064466AA10A026666606000600801201066E0000401C00854CD4C0680044D4C07401888800C4D4C074018888008884D4C09404488888D4D540B4CC09C059402C88D4D541FC004894CD4C22404CCD5CD19B89500F480002280422C0454CD4C22404CCD5CD19B8835302700C22200300208A0108B0115335308901333573466E20D4C09C03088800C02C2280422C0454CD4C22404CCD5CD19B8835302700C22200200108A0108B0115335308901333573466E20D4C09C0308880080282280422C04401058585858584D4D541D14004880044D4D5408CCC8C88C8C8CD540A4D4C09404488888CCCCC0A4CDC0280900519B80501300833702A02AA00C004002A0022A66A60FE666AE68CDC4A801A80084080840008A8018A800899B8333704002A01AA018266E0CCDC1000A805A8049A980C8011110019A980C8011110011119AA83B00100089A980C00091100080C80089A980C0021111100289A980B80191111002099B81014500113530150012222200322212333001004003002200121222223005006122222004122222003221222223300200700622122222330010070062001122002122001200122212333001004003002200112001200123232323223232335500F35300B008222223333300F33702A012A00C66E054029401CCDC0280600400100099AA82FA800A801099B8333704004A006A00A266E0CCDC1000A801A80209A98038021111100289A980300191111002099B810035001135300400122222003483FBFFFFFFFFFFFFFFFC0488888CCCCC01C01401000C0080048888848CCCCC00401801401000C0088004888C8C8C8C8C8CD54028CD5416800400CCD54168008010CDC099B800070050033370200A0026601066E08014010CDC099B800050030023370600290071980319B820014811920A09C0111221233001003002112001223370066E0C008004CD4C160CCD5CD19B893370C004002900002C82D24004900008911119BA548000CD5D0180200119ABA0300300137620904444666601200800600400244660080040024424660020060044002444424666600200A0080060044002442466002006004400246446A6AA08EA66A6A0A66A6AA08E66AA0906AAE754008C038D55CF280111299A9828999AB9A3370E900000102982908008B0B110A99A9A82A8008B110A99A9A82B800899AA826002001110B119191919191919191919119191A98101999AB9A3370E6AAE75403520002333333333302235742A01A6AE854030D5D0A8059ABA1500A35742A0126AE854020D5D0A8039ABA1500635742A00A6AE84D5D1280291931A982799AB9C04E05004D04C22222223232222323235302B33530211200100101D223530410012223253353071332253353073333573466E3CD4C16800888008D4C168004880081D41D04CCD5CD19B8735305A0022200135305A0012200107507410743333530363333573466E1D405520062303B3232323232323333573466E1D4005200C204623333573466E1D4009200A204823333573466E1D400D2008233046375C6AE854014DD69ABA135744A00A46666AE68CDC3A8022400C4660906EB8D5D0A8039BAE357426AE89401C8CCCD5CD19B875005480108CC134C158D5D0A8049BAE357426AE8940248CCCD5CD19B875006480088C13CC15CD5D09AAB9E500B23333573466E1D401D20002304E3058357426AAE7940308C98D4C1C0CD5CE03783883703683603583503483403389AAB9D5004135573CA00626AAE7940084D55CF280089BAA001357426AAE79405C8CCCD5CD19B875016480108C0E8C130D5D09AAB9E501823333573466E1D405D20022303A305A357426AAE7940648CCCD5CD19B875018480008C0F4DD71ABA135573CA034464C6A60CC66AE7019419C19018C18818418098989880040184CCCCCC888888CCCCCC0BC01801401000C008004CD54C0CC480048D4C0C80048800401C020004D4C12001088CD4C144008988004CD541A800D4CD4D414C0088400458CCCD5CD19B8735573AA01A9000119A8161919191999AB9A3370E6AAE7540092000233503433505F75A6AE854008C190D5D09ABA2500223263530673357380CC0D00CA0C826AAE7940044DD50009ABA1500D3232323333573466E1CD55CEA80124000466A06466A0BEEB4D5D0A80118321ABA135744A004464C6A60CE66AE701981A01941904D55CF280089BAA001357426AE8940348C98D4C18CCD5CE0310320308300B19A82119AA812BAE200100933503C232323333573466E1CD55CEA8012400046605E60A86AE854008C104D5D09ABA25002232635305F3357380BC0C00BA0B826AAE7940044DD500080699A81D81E00589AAB9E50011375400226AAE7540044DD500089ABA25001135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089AAB9E50011375400226EA800444888C8C8CCCD5CD19B8735573AA0049000119AA82518031ABA150023005357426AE8940088C98D4C108CD5CE02082182001F89AAB9E500113754002640026AA0A644244A66A6A0A40042C442A66A60A0666AE68CDC3801A40000A40A22004266A600C2400200266E0400D20022222221233333300100700600500400300220011221233001003002120011221233001003002120011221233001003002120013200135504A2233335573E0024A094466A0926AE84008C00CD5D10010191109198008018011000990009AA823910891299A9A8230008A82411099A824980200119AA980309000802000911111111109199999999980080580500480400380300280200180110009091111802002909111180180290911118010029091111800802900090911111118038041109111111198030048041091111111802804091111110020911111100191091111111980100480411091111111980080480410008919118011BAC001320013550382233335573E0024A070466A06E60086AE84008C00CD5D100101191919191999AB9A3370E6AAE75400D20002333007300835742A006666AA02EEB8CD5405DD73AD35742A00466A026EB8D5D09ABA25002232635302333573804404804204026AE8940044D55CF280089BAA001222123330010040030022001232323333573466E1CD55CEA8012400046600C60166AE854008CD403C01CD5D09ABA25002232635301F33573803C04003A03826AAE7940044DD500091091980080180110009191919191999AB9A3370EA002900111998041BAD35742A0086EB4D5D0A8019BAD357426AE89400C8CCCD5CD19B875002480008C028C02CD5D09AAB9E5006232635301F33573803C04003A03803626AAE75400C4D5D1280089AAB9E5001137540024244600400644424466600200A0080064002464646666AE68CDC3A800A40044600C6EB8D5D09AAB9E500323333573466E1D4009200023008375C6AE84D55CF280211931A980C99AB9C01801A017016015135573AA00226EA80048488C00800C8488C00400C8004488C8C8CCCD5CD19B875001480008D4020C014D5D09AAB9E500323333573466E1D4009200225008232635301633573802A02E02802602426AAE7540044DD5000890911801001889100089000889119118011BAB00132001355026223233335573E0044A04E466A04C66AA034600C6AAE754008C014D55CF280118021ABA2003012135742002464646666AE68CDC39AAB9D5002480008CC018C8C8CCCD5CD19B8735573AA002900011BAE357426AAE7940088C98D4C048CD5CE00880980800789BAA00135742A0046EB4D5D09ABA25002232635300F33573801C02001A01826AAE7940044DD5000910919800801801100089119191999AB9A3370EA00290021280391999AB9A3370EA004900111A80518031ABA135573CA00846666AE68CDC3A801A40004A014464C6A601E66AE7003804003403002C0284D55CEA80089BAA00112122230030041122200211222001120012323333573466E1D40052002201723333573466E1D400920002017232635300733573800C01000A00800626AAE74DD5000A4C92103505431001200120012122300200322212233300100500400320013200135501322253353501100110022213535500700222330073330080020060010033200135501222225335350110011002221353550070022253353011333573466E1C00520000130121333008007006003133300800733501633355500C007002001006003112212330010030021120011112221233300100400300211120013200135500D22253353500B00210082215335300933355300C12001323350122233353500900322002002001353500700122001335007225335300B002100D100100A3008002003100B13300500133500E00200312212330010030021200122333573466E1C0080040140104880084880048004C8004D5401888448894CD4D40180044D4D402400C88004884CCD4D402C01488008C010008CCD54C01C480040140100044488008488488CC00401000C4800448848CC00400C00848004448C8C00400488CC00CC008008004CC88CC88CCCCCC008CD540112211C026A18D04A0C642759BB3D83B12E3344894E5C1C7B2AEB1A2113A570004881014C0033550044891C13E9940C94572EAFEF8B391B64B4A2E898B6A7008ECE9064631E6FD200488101580048811CCEB863F7B4E8ED8D079BBD066090C02E06A6B18C8995875CD2682E3E004820283220425221203F51D671E681F93926D414B064B1B9341E352A0E96BB85F740921798B732608B0048811C0CEAAB7C2CEC8F93C38B7C3598FA239F50BC14FCC6DA9F016ADB035C0022222212333333001007006005004003002200111221233001003002112001010483D8799FD8799FD8799FD8799F581CC8ADAD32DC5FFB78573D2190736B278722CEEBDEB69607E58B857C10FFD8799FD8799FD8799F581C10B1803EA193A0E13D869DB010BE7DB9253811E5C73105D88433A0B8FFFFFFFF581CC8ADAD32DC5FFB78573D2190736B278722CEEBDEB69607E58B857C101B00000182A8D9945CD8799FD8799F4040FFD8799F581C8FEF2D34078659493CE161A6C7FBA4B56AFEFA8535296A5743F695874441414441FFFFFFD8799FD87A801A3BD48F71FFFFD8799F581C86AE9EEBD8B97944A45201E4AEC1330A72291AF2D071644BBA015959D8799FD8799FD8799F4040FFD8799F581C8FEF2D34078659493CE161A6C7FBA4B56AFEFA8535296A5743F695874441414441FFFF1B00000182A67B65681A162560711A1393897DFFFFD8799F581C86AE9EEBD8B97944A45201E4AEC1330A72291AF2D071644BBA015959D8799FD8799FD8799F4040FFD8799F581C8FEF2D34078659493CE161A6C7FBA4B56AFEFA8535296A5743F695874441414441FFFF1B00000182A7913A681A162560711A13995396FFFF0582840000D8799F02FF821A000557301A07BFA480840002D8799F02019F00FFFF821A004C4B401ABEBC2000A10082825820295A50D3894293270E0B09B8E8CFC98A3C5B4065878169BA25E9A9C7A636A6DD58404C49E7739B43DDFA7502CF8963C1F8D5A8F144C9CD10855B5A5C6CA3946EB35840419800CD8EB42A47A4B4886D7AB456CC7252025F464F7D56BEA89F9DCE900E825820295A50D3894293270E0B09B8E8CFC98A3C5B4065878169BA25E9A9C7A636A6DD58404C49E7739B43DDFA7502CF8963C1F8D5A8F144C9CD10855B5A5C6CA3946EB35840419800CD8EB42A47A4B4886D7AB456CC7252025F464F7D56BEA89F9DCE900EA4008182582087DA8B19FB35E84A365ABF59420942544097F600D7C69B96D2180C607B3B2E7C58405A95D3FB14AFB09D9CBB6709012D19B53EA77214E2A44C0DAFD7708CCD58AC21198940262090F2EDD5E380E4EB80FD0BD4C7FC04B3A94CF8A6F845523A5762070381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C2C3F55CDB82D815D2B824396E01CB53D5DE5CEE13305DDC84DDEEF5C9FD8799FD8799FD8799F581C888FEF476E9B4743316D1315BE29A189DFEFB6699AF003AA484F7A59FFD8799FD8799FD8799F581CFEF7DCA3149E0F49706ECBC7219AF18C3C859336C9D77AAB8AD89B22FFFFFFFFA140D8799F00A1401A019BFCC0FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A00A4CB80FFFFD8799FD8799FD8799F581C2C3F55CDB82D815D2B824396E01CB53D5DE5CEE13305DDC84DDEEF5CFFD8799FD8799FD8799F581C2FDC5B119A6F2F6F448F8465DBB08A4F4F69FE57235692FE381541FAFFFFFFFFA140D8799F00A1401A1DEEF6C0FFFFFFFFFF0581840001D87980821A001B10C41A2BA169C7A100818258209A0D9ED3FB7A3A71DC354DD64120A8822122D3D6798D90C7954B27E10F1DC07E584004A2DAE124AC1D6555112BD6584883CD721DE0A634E1F129F4FD754F9C15D37F4163F42DF325BEA6BF860D9DA80C2D12877786D66C9941A682231552FC678F0BA4008182582004B94AB4A472F8CDD332C18404BAE275B3866D6118C2F18CB851E8DF091A205F5840076FDCB686BCA758DC3873E0A1FCD6F6F3D5A69A6C40A5C0EA72B75A5181DACAD37F82584704DB77AFBB227516DB696594F0A933109BF603DB21E7C1DC6B2E0D0381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C88935C97E4B5C31D61E3F2E659FD50DB9B0F3632FE56F977A232DF4A9FD8799FD8799FD8799F581C8F3A31E7E965F85DEA0269AE61662F866B4EB7F355953A2DDEFA63F1FFD8799FD8799FD8799F581C2047573CFCE35AFE0EC41F2B3A2264001DD5FEF8BD89D840E2257A6CFFFFFFFFA140D8799F00A1401A001C9C38FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A0016E360FFFFD8799FD8799FD8799F581C88935C97E4B5C31D61E3F2E659FD50DB9B0F3632FE56F977A232DF4AFFD8799FD8799FD8799F581CB2DC95D42D841E985DE15918A5044180DC607523658BA64C9E04F61CFFFFFFFFA140D8799F00A1401A0444E928FFFFFFFFFF0581840000D87A80821A0052BB6A1A74251E9EA1008182582079B1A74E8AC9D1C66960A71B1A32399F3FBA9D6A997512628D2A8B96685DDA6258405EFE6418D5B83A0E38AE6FC291BDF119041555254F14ADE33A18573FE60627BFD377A331F9FD0476F4B5D8E6623F0A9AA82CD330E304D460A99FB50A5C38CE0FA10082825820AD48EEE7E0BF389D7BA6C31730D1917066492BAE68601B66472EF6ECCFD0F135584034313995759D4332A65DA23A0A98F38FAF95FBF213D8C3711D0B99739B361947C4F77D05F3D890C02B455E538925651D674E534700084E4958E6BD041222230482582009A54194DBBD022189A3712F76F8339EE8F11C9921CF97F9B4A939966740B35F58403EA9C97AB0F72708DA2AA8CA4332E917AFE1612A346219D356FCCB2F9BD7B6B39853DB67F99B49CD2C28BB235D79CD6659170C5226D6B4CDF247B1CC17B5FE04A1008182582090F01AA72FE8793D794B052799619C7D1680F8E784605252FAC97ED0434262BD5840A1AFEE15A8C238122F4977441C2928EBC03EBCDA1CCEB4B1533AFA24E3080C35126CBB141A76360E39D089A40038263B400965C14FCE4FD0D537839E66DB7701A10082825820D419BEE8D8593AF173C590495CF38539E14F75AFE077875A74D0064A45364E9A5840EB0005A83A4F8446E5C8258965068E706464842C89B6B4776925E4A5B0ED442A74348ECD40C4FD355DA82947B5E50EC156B856F7E56A07EE9FF0848F8B8C46088258206A025FA7D656A36B7A781CC6E1E24E6D5F6C0F8938EB8AEB0D09D37A99BC7A605840CEA3444C8F0FE56FDDD557F36CF76EC5BC7411D5462AD76A01FBA128D8BC633E48D4E6995C3D8BD0058EE71D351F2310F82F95AC8C2A47DA62D21786D8F7B80FA40081825820F04E7176C0D4AFACB06344E59EA6B3F7189A1C782E51C3CAAE538256D8D8B2585840F4E5424E163D0A66F50CADA7012AA54E316CBFCF9BE371184E12EE5569E0C42F964460E8425AB2B0C9E93858FA90A645096633D2B362F0D9A8E3005D6F01790B0381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581CC6FFAA906A6DC8F29169E34AADFD63A4E81ED408E87363E74385415F9FD8799FD8799FD8799F581C81D021F8142A4A04EA09DD0C002639EDDFD51B0D3299ADE3864FE016FFD8799FD8799FD8799F581C7F50D3D0DEB8CD0392C1B2BDEC0273B9C902EBB9599CF69FFB73C9B2FFFFFFFFA140D8799F00A1401A007270E0FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A002DC6C0FFFFD8799FD8799FD8799F581CC6FFAA906A6DC8F29169E34AADFD63A4E81ED408E87363E74385415FFFD8799FD8799FD8799F581C16CCE259F16C9E0833F01B51C6500EBC2B47D104B7FB2E26245E6271FFFFFFFFA140D8799F00A1401A085099E0FFFFFFFFFF0581840003D87A80821A004BF5EC1A6B006F76A40081825820B32C61D67477A03A2DBF180AD5030A2CBAD8E123277D58163655AE24F380FCB55840017AB4CF15348EB21BB814999E23F7238F73F57A3826B59ECDADCCD007CFB70187504FACC4255CEAF50C462AF8B838FE4BA910A70B12276D18588C8CB37F2D070381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE29FD8799FD8799FD8799F581CB78E8018F9610283807970700BC37CFDD1C76AC47C9A9B42AE3E61EEFFD8799FD8799FD8799F581C1C9181B0C63DDB69AAA92E9E4CC369647BBDE0D16446A73936EDC13BFFFFFFFFA140D8799F00A1401A000F1B30FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A000F1B30FFFFD8799FD8799FD8799F581C4888868527FD1B6B7F7D587C843989A240682131FEF74BC1E8E87CE2FFD8799FD8799FD8799F581C0E5777174431550BF077F10BFD44678E848F19F634EBCB54D697D172FFFFFFFFA1581C4742398B65A143CBBEFE60C5E7129AB5DBB9A57973CBFC23D96D2C2FD8799F00A150334441706F63616C797073653330333501FFFFFFFFFF0581840002D87980821A001D9BBF1A2F6A9CC0A40081825820A95A7C88B9B647FFC8FBFEADE8A1992ADB0A4CFBC30CBDA81955DAB6F5AFC9E558405A778B00C725807CF1F47970B903D20D0D6893635B673C2F0BE5D98367A26EC24F0D5528FF44B2A2E8A4B5A04A0FF10649D61426DCDCEC98A14449632081D30A0381590FC1590FBE0100003233223232323322333222323233322232333222323332223322323322323332223232332233223232332232323332223322332233223322323232323232323232323232332232323232323232323322323232332232333322223232323232322232232325335305C33223530310012235303500222222222322235304400C23232325335306F333222533530723300300200110731074506E32353047001220023253353505A00113507649010350543800221002302E5002004107115335304A01313301B49101350033355029302F1200123535505E00122323355030335502D30331200123535506200122353550640012253353506F335503533550250490040062153353507033550363335550323039120012235355069002232233225335350770022130020011507800425335350763335502C0500040072153353080013304D0010031335503D5079300400215335308001330630010031335503D507933335502E0510053304900100300215078150773200135508601225335350680011506A2213535506E002225335308201330530020071003133506D33550710020013006003350720010022133026491023130003322333573466E200080041F41F8CC8CD54C0EC48004D40C00048004CD40C40952000335530321200123535506900122001001004133573892010231310007A133573892010231320007900233233553023120013503500135034001335038223355302C120012353550630012233550660023355302F12001235355066001223355069002333535502B0012330264800000488CC09C0080048CC09800520000013355302C1200123535506300122335506600233353550280012335530301200123535506700122335506A00235502F0010012233355502804A0020012335530301200123535506700122335506A00235502D001001333555023045002001505E33233553023120012253353506C3003002213350610010021001505F2353053001222533530763332001504100600313506F0021506E011320013333555028302F1200122353055002225335307333044002500B10031333355502C303312001235305A00122253353506E333550245042003001213333550265043004335530301200123535506700122335506A002333535502C0012001223535506B002223535506D0032233550703302C00400233553039120012353550700012233550730023335355035001200122330310020012001333555030052003001200133355502704900300100213333550255042003002001003001505B500113301B49101340033355029302F1200123530540012233043500A00250011533535058335530401200123320015051320013530460012235305100122253353506B0012321300100D3200135507F2253353506100113507D491022D310022135355067002225335307B3304C00200710011300600313507A49101370050011350744901013600221335530421200123320015053320013530480012235305300122253353506D0012321300100F32001355081012253353506300113507F491022D310022135355069002225335307D3304E00200710011300600313507C4910137005003133355301D12001225335306F335306A303E302D35304600222001207125335307033041001300401010721350764901013300133505A0020011001505900D3200135507622533535058001135074491022D31002213530470022253353072333200150710020071353063303000122335306F00223507B491022D310020011300600315335350520011306D4988854CD4D41500044008884C1C5263333573466E1D40112002203A23333573466E1D40152000203A23263530663357380B80CE0CA0C80C66666AE68CDC39AAB9D5002480008CC0C4C8C8C8C8C8C8C8C8C8C8C8CCCD5CD19B8735573AA01490001199999999981F99A828919191999AB9A3370E6AAE7540092000233045304B35742A00460986AE84D5D1280111931A983A99AB9C06B076074073135573CA00226EA8004D5D0A80519A8288241ABA1500935742A0106AE85401CD5D0A8031ABA1500535742A00866A0A2EB8D5D0A80199A82899AA82B3AE200135742A0046AE84D5D1280111931A983899AB9C06707207006F135744A00226AE8940044D5D1280089ABA25001135744A00226AE8940044D5D1280089ABA25001135573CA00226EA8004D5D0A80119191999AB9A3370E6AAE75400520022303A303E357426AAE7940088C98D4C1A0CD5CE02F03483383309BAA001357426AE8940088C98D4C194CD5CE02D833032031883289931A983219AB9C49010350543500065063135573CA00226EA80044D55CE9BAA001223370000400244A66A60AC00220B0266AE7000815C4488C88C008004C8004D5417C894CD4D41040045413C884D4D5411C008894CD4C16CCC02000801C4D41500044C01800C448888C8CD54C03C480048D4D5411800488CD54124008CCD4D5402C0048004880048004CCD554018014008004C8CD40054109410C488CC008CD5411C014010004444888CCD54C0104800540FCCD54C030480048D4D5410C00488CD54118008D5402C004CCD54C0104800488D4D54110008894CD4C160CCD54C06048004D4034CD403C894CD4C168008417040041648D4D5411C00488CC028008014018400C4CD410C01000D4100004CD54C030480048D4D5410C00488C8CD5411C00CC004014C8004D54184894CD4D410C0044D5402C00C884D4D54124008894CD4C174CC0300080204CD5404001C0044C01800C008C8004D5416888448894CD4D40FC0044008884CC014008CCD54C01C480040140100044484888C00C01044884888CC0080140104484888C00401044800448CD404888CCD4D401000C88008008004D4D40080048800448848CC00400C00848004C8004D541488844894CD4D40D8004540E0884CD40E4C010008CD54C018480040100044448888CCCD54011403C00C0040084488CD54008C8CD403C88CCD4D401800C88008008004D4D401000488004CD401005012800448848CC00400C008480044488C0080048D4C08C00488800CC8004D5412C88C8C94CD4C114CC0A14009200213300C300433530081200150010033004335300D12001500100310031332233706004002A002900209999AA9801890009919A80511199A8040018008011A802800A8039119B800014800800520003200135504A221122253353502F00113500600322133350090053004002333553007120010050040011235350050012200112353500400122002320013550472212253353041333573466E2400920000430421502D153353502B0011502D22133502E002335300612001337020089001000899A801111180198010009000891091980080180109000990009AA821911299A9A81300108009109A980A801111A982180111299A9A8160038A99A9A8160038804110B1109A980D801111A982480111299A9824199AB9A33720010004094092266A0660186601E01601A2A66A6090666AE68CDC8804001024825099A819803198078070028A99A982419809003800899A81980619807805806899A81980319807807002990009AA82111091299A9A8130008A814110A99A981F19804002240002006266A600C240026600E00890010009119B8100200122333573466E240080040E80E4488CC00CCC01CC018008C018004CC894CD4D40C0008854CD4D40C400884CD4C0B80088CD4C0BC0088CC034008004888100888CD4C0C401081008894CD4C104CCD5CD19B87006003043042153353041333573466E1C01400810C1084CC0380100044108410840EC54CD4D40C0004840EC40ECC014008C014004894CD4C0D8008400440DC88CCD5CD19B8700200103703623530240012200123530230012200222335302D0022335302E00223300500200120352335302E002203523300500200122333573466E3C0080040CC0C8C8004D540E08844894CD4D407000454078884CD407CC010008CD54C018480040100048848CC00400C0088004888888888848CCCCCCCCCC00402C02802402001C01801401000C00880048848CC00400C0088004848C004008800448800848800480048C8C8CCCD5CD19B8735573AA004900011981519191999AB9A3370E6AAE75400520002375C6AE84D55CF280111931A981899AB9C02703203002F137540026AE854008DD69ABA135744A004464C6A605C66AE700900BC0B40B04D55CF280089BAA00123232323333573466E1CD55CEA801A4000466600E602C6AE85400CCCD5403DD719AA807BAE75A6AE854008CD4071D71ABA135744A004464C6A605C66AE700900BC0B40B04D5D1280089AAB9E5001137540024442466600200800600440022464646666AE68CDC39AAB9D5002480008CC88CC024008004DD71ABA1500233500A232323333573466E1CD55CEA80124000466446601E004002602C6AE854008CCD5403DD719AA809919299A981419805A800A40022A00226A05C921022D33001375A00266AA01EEB88C94CD4C0A0CC02D400520001500113502E491022D32001375A0026AE84D5D1280111931A981719AB9C02402F02D02C135573CA00226EA8004D5D09ABA25002232635302A33573804005605205026AAE7940044DD500091199AB9A33712004002040042442466002006004400244246600200600440022464460046EB0004C8004D5408C88CCCD55CF80092804119A80398021ABA1002300335744004048224464460046EAC004C8004D5408C88C8CCCD55CF80112804919A80419AA80618031AAB9D5002300535573CA00460086AE8800C0944D5D0800889100109109119800802001890008891119191999AB9A3370E6AAE754009200023355008300635742A004600A6AE84D5D1280111931A981099AB9C01702202001F135573CA00226EA8004448848CC00400C0084480048C8C8CCCD5CD19B8735573AA004900011980318071ABA1500233500A2323232323333573466E1D40052002233300E375A6AE854010DD69ABA15003375A6AE84D5D1280191999AB9A3370EA004900011808180A9ABA135573CA00C464C6A604666AE700640900880840804D55CEA80189ABA25001135573CA00226EA8004D5D09ABA25002232635301C33573802403A03603426AAE7940044DD5000910919800801801100090911801001911091199800802802001900089119191999AB9A3370EA002900011A80418029ABA135573CA00646666AE68CDC3A801240044A010464C6A603066AE7003806405C0580544D55CEA80089BAA001121223002003112200112001232323333573466E1D4005200223006375C6AE84D55CF280191999AB9A3370EA0049000118041BAE357426AAE7940108C98D4C04CCD5CE00480A00900880809AAB9D50011375400242446004006424460020064002921035054310012253353003333573466E3CD4C01800888008D4C018004880080140104CCD5CD19B873530060022200135300600122001005004100412200212200120012212330010030022001235002490101310012326353003335738002008004930900090008891918008009119801980100100081049FD8799F581C2E36D40DD50E9B22094BD810F1B907C7B06BA677772E38E2B3FE14409FD8799FD8799FD8799F581C5C24FC985BEA1E64D308B669B81E26CF3ADF1760B632F25B78D77B24FFD8799FD8799FD8799F581C88795FDA77599FB353C47729DBAF6538CCF2B414C11E92C62BFFDDD7FFFFFFFFA140D8799F00A1401A004B87F0FFFFD8799FD8799FD8799F581C70E60F3B5EA7153E0ACC7A803E4401D44B8ED1BAE1C7BAAAD1A62A72FFD8799FD8799FD8799F581C1E78AAE7C90CC36D624F7B3BB6D86B52696DC84E490F343EBA89005FFFFFFFFFA140D8799F00A1401A003C6CC0FFFFD8799FD8799FD8799F581C2E36D40DD50E9B22094BD810F1B907C7B06BA677772E38E2B3FE1440FFD8799FD8799FD8799F581CC60112474927C593E68A5EFF5DE3FF39697B1EEF7466D1E389EA2771FFFFFFFFA140D8799F00A1401A0B4548D0FFFFFFFFFF0581840001D87A80821A0056C8AD1A79C59976A100818258204E11D2D9ABFCB765935F023AF6F7B2874F7B0C05C0660FE3259E45EE75AAF12B58406D941B5500F65E63E4158B9FFF093645722A81568B965A2C73363287E096D174859335EC0ACFE6563BF50B2FF3534C44B97F136E5BEA7A26DDAD496A06F85B0EA10082825820CC60B5B172FB2AE6A87FD22302ADE66C60717F49B56BC14DA82B64F989D9C9725840952AAA8AD52F2EC160B5C8C828EB13F463002B595CAF6CBA2FD04C31B78050DF885063B154DF4BDE6665BAB4A74D019191D585664252DBBA334F071AF2BB590C8258206D3154B5AC6E756B7CA97F990D71B2D3EED23D2FBBFAC1DA066A013CC55C3FB95840A3744B2E66AF8099914DC7EAD8753F3CF421A047CF2487ABB4D7D0D9FFC97599D8743FC93C090BE8A80290A3C5D94F9C864D727F39209E23B8A8F598D6BE910BA2008182582076BEA8ACE2DADE8E64E5DFACA9E1EE3B97E4EAE13963E29804A88126EE0036015840CA1641A767335CFC0E27ACD22715E911C9E938B7B55D40E39FA60B774C9E389265F28556EBE891A08618EAAA6C73973BAD708E6C519018FCBB2B0D862B85010A0481D8799FD8799FD8799FD8799F581C9F1576B725CA8B59976A8032CA98710117F8EBF41D7F97155DD5897CFFD8799FD8799FD8799F581C78D681580169B583CE8C6FF8E2AC0FB6BA41CB6454D616A36C4C4EA2FFFFFFFF581C9F1576B725CA8B59976A8032CA98710117F8EBF41D7F97155DD5897C1B000001833C941F63D8799FD8799F4040FFD8799F581C38AD9DC3AEC6A2F38E220142B9AA6ADE63EBE71F65E7CC2B7D8A853544434C4159FFFFFFD8799FD87A801A0E28F0CDFFFFA702AC007840643837393966353831636536613537373330636365656163313764663832323830633338663063316331636461306365383633303035373939666237303731370178403934396664383739396664383739396664383739396635383163653364643332316630653263653531373433656663633130386232636462376335343665636602784030663639663766633230383262346136353766666438373939666438373939666438373939663538316337386562386664353638343034643637316536306633037840366132303038623337353663376166326334353266326638373262396461656265616666666666666666613134306438373939663030613134303161303163390478406333383066666666643837393966643837393966643837393966353831633730653630663362356561373135336530616363376138303365343430316434346205784038656431626165316337626161616431613632613732666664383739396664383739396664383739396635383163316537386161653763393063633336643632067840346637623362623664383662353236393664633834653439306633343365626138393030356666666666666666666131343064383739396630306131343031610778403030623731623030666666666438373939666438373939666438373939663538316365366135373733306363656561633137646638323238306333386630633108784063316364613063653836333030353739396662373037313739346666643837393966643837393966643837393966353831636333356363313061313266616663097840306466323662613064646235666362323638343361623431326335653530663866613162333063393734666666666666666661313430643837393966303061310A743430316132313432363738306666666666666666181E613105D90103A100A11902A2A1636D736781734D696E737761703A204D61737465724368656608AC007840643837393966353831633263336635356364623832643831356432623832343339366530316362353364356465356365653133333035646463383464646565660178403563396664383739396664383739396664383739396635383163383838666566343736653962343734333331366431333135626532396131383964666566623602784036393961663030336161343834663761353966666438373939666438373939666438373939663538316366656637646361333134396530663439373036656362037840633732313961663138633363383539333336633964373761616238616438396232326666666666666666613134306438373939663030613134303161303133380478406365323066666666643837393966643837393966643837393966353831633730653630663362356561373135336530616363376138303365343430316434346205784038656431626165316337626161616431613632613732666664383739396664383739396664383739396635383163316537386161653763393063633336643632067840346637623362623664383662353236393664633834653439306633343365626138393030356666666666666666666131343064383739396630306131343031610778403030376431663430666666666438373939666438373939666438373939663538316332633366353563646238326438313564326238323433393665303163623508784033643564653563656531333330356464633834646465656635636666643837393966643837393966643837393966353831633266646335623131396136663266097840366634343866383436356462623038613466346636396665353732333536393266653338313534316661666666666666666661313430643837393966303061310A743430316131366261326432306666666666666666181E61310DAF007840643837393966353831636536323565366137356433356637326164323762323830653630613737366463316164663232663531323738613763616630656133320178406236396664383739396664383739396664383739396635383163346561333934316536316364386432643166646135386163326266646566653538336362393902784030333132363464303235323764376364303166666438373939666438373939666438373939663538316333613431336261633738373062366165303266366638037840393764643335626532303836363530333264323864623932633737313737303639666666666666666666613134306438373939663030613134303161303031360478406533363066666666643837393966643837393966643837393966353831633730653630663362356561373135336530616363376138303365343430316434346205784038656431626165316337626161616431613632613732666664383739396664383739396664383739396635383163316537386161653763393063633336643632067840346637623362623664383662353236393664633834653439306633343365626138393030356666666666666666666131343064383739396630306131343031610778403030306634323430666666666438373939666438373939666438373939663538316365363235653661373564333566373261643237623238306536306137373608784064633161646632326635313237386137636166306561333262366666643837393966643837393966643837393966353831636662336230343061623930316136097840626338393430383066383033643964383038626332316536303965633232636634383162316563643566666666666666666661313538316364636436373962340A7840346339336431363133363339643935616631323362303463393664653036326163373032646164333430303235346162643837393966303061313462343337390B781C36323635373235383330333033383337333730316666666666666666181E6131183278406463643637396234346339336431363133363339643935616631323362303463393664653036326163373032646164333430303235346162343337393632363518336E37323538333033303338333733370EAC007840643837393966353831633861386666303830306530626639356639616136306661353334666162393734343964306536333538653333343535663432386331380178403066396664383739396664383739396664383739396635383163386633613331653765393635663835646561303236396165363136363266383636623465623702784066333535393533613264646566613633663166666438373939666438373939666438373939663538316332303437353733636663653335616665306563343166037840326233613232363430303164643566656638626438396438343065323235376136636666666666666666613134306438373939663030613134303161303031300478403637333866666666643837393966643837393966643837393966353831633730653630663362356561373135336530616363376138303365343430316434346205784038656431626165316337626161616431613632613732666664383739396664383739396664383739396635383163316537386161653763393063633336643632067840346637623362623664383662353236393664633834653439306633343365626138393030356666666666666666666131343064383739396630306131343031610778403030306631373438666666666438373939666438373939666438373939663538316338613866663038303065306266393566396161363066613533346661623908784037343439643065363335386533333435356634323863313830666666643837393966643837393966643837393966353831633836366265376132616463623130097840386438376530343831363862373730623364646565323332633561633838373533313530303765633232666666666666666661313430643837393966303061310A743430316130323730613234306666666666666666181E613113AF007840643837393966353831636532616339333136366438353438646332306334353339616134386665343237326339343063343463663662666537373566326635650178406464396664383739396664383739396664383739396635383163386633613331653765393635663835646561303236396165363136363266383636623465623702784066333535393533613264646566613633663166666438373939666438373939666438373939663538316332303437353733636663653335616665306563343166037840326233613232363430303164643566656638626438396438343065323235376136636666666666666666613134306438373939663030613134303161303032640478406336633066666666643837393966643837393966643837393966353831633730653630663362356561373135336530616363376138303365343430316434346205784038656431626165316337626161616431613632613732666664383739396664383739396664383739396635383163316537386161653763393063633336643632067840346637623362623664383662353236393664633834653439306633343365626138393030356666666666666666666131343064383739396630306131343031610778403030323439663030666666666438373939666438373939666438373939663538316365326163393331363664383534386463323063343533396161343866653408784032373263393430633434636636626665373735663266356564646666643837393966643837393966643837393966353831633866333136393435666362356634097840643536306337633731656463336636653761376137636137666266393936633938363762616536396566666666666666666661313538316365373531346536350A7840663937376565346238346138653632653764393765613265356331313638326466653134343464386131346537346462643837393966303061313462343437320B781C36313633373536633631333033303336333330316666666666666666181E6131183278406537353134653635663937376565346238346138653632653764393765613265356331313638326466653134343464386131346537346462343437323631363318336E373536633631333033303336333314A11902A2A1636D736781782757696E677269646572733A2053776170205265717565737420766961204D7565736C695377617080")] - public async Task DeserializeBlock(string cbor) + [InlineData("85828A1A00A0FAA91A07AF97F758208FD832B38F12F6E1572E9BE0D63465B66D3A9413E39F550DF43476B46C609BB558207194702C765EF7F9E333DAD00C7CA3C2065EAFF5288B177A726B65CFE79379D458201B60A27DF5CE4FC9BB19AF1643815652154CDFBF609D717D9693C07E795071A782584077D15CC438BD3CE4E3E2B17F1B20D85952F069A3EC3BA294FABE9418B296F028DB590F3DAF42A6400A7CAAB0D1A2E25278737326C47C068FA451ADB828044AA85850FBD7FAAA1B9D85F47CA75277FC1D6E987825562026137CDE28A7B5DC21D7FA4D828030F911B1A06C6D759A7747AC3DF362B5DB156B373AC7A9C380BC63F9C9072355484D935BA871C50FA8898432280519380B5820A6651F0265DC9DC19819C20DC2719D6C172037AC798D43312D594DA50442998C845820B095CCD982629951A205A35A81543B3C6F0EFFA999E376D02C1443D510A6F7F70F1903DE5840E4DCAACA8A990945BC5D8F9AD076638ECB5D39D1BA084EA5B27B93B14CE658BEDCB6D5FD1ED133A16769C19B77941890D0ECCAAE4E74F2502FA4E102590CDE038208005901C053409B7ECC3FE5C73FB288DD219CD00EA1ECAB1FE6A0AB877110AB3D2D887C3000F8A10EB2DFBC8BE936D860628C5688D322EDDBB060F70C3A3FA07E568B9A08D133872360CE3A176C4013B9236A90444561F705BB126DD3621B32D9A0EFB86BCF86C02BE0187A039A2AB426D47ADB5128891DD8629639DFA6282AFF8A25206D8F3225D5BC3EFD255897E0FF5728F24556B88F7967EC543376C61D4A186BBC63411A80D8F76680F048886110EED82EA1EF1AA52DDDA81B2DAE2CC9D0EDB59739DE87A4AADA86C41A80FE46DE204E65A9491057690768FFF9A2187356F003FB4A5CA9D816B6836967A9F1C24ABEEF7026CF60FEB48CCE2A5779B4442CF07053D285331D4A67BE56F2F4BB3F87A7D3DEB31DEC91849BE166261108B1B7CDEA0DCA2FFD41026D5B4AC3F246CC3213461A0B9F5C47DA887956CAC51CBA000820A944DB011B3C5A4B6A59A6C332F07C614FA1CC66DFDAC6744268065E4F0E936C6830E50CF83DC7824A2E9DC6E754A138FFBDF7626E485136A43712175462840664E7D5EDAB3606AC58A127B4745785C9B972212350AC0FDF08C4E1E81864D6131D64E9175B979222CD46D7FCBD300DA1774E00526E38AA67333FC835ACAD5242ADCC87A400818258208B1981199658095573859313ACE20F2C933D5AF1E81650733E36DF6E06E9101501018282581D6124D274BFD913B241A8CCA20C6977775718FDDB8F3763F1D365C854451A001E848082583901AE07890AF80E4658691A834F880B3F8142D35F08B7E0A574A787521FFA40984DFE75EA6085AE8D27F52934AF3D0A42A391C514E78A6CDD561A01053236021A00028CAD031A0CC63DF2AB008382582062FF26A140262D3EE197CD93FF234D49F88EAB3483E3BDCC5B69A582F8BB1952008258207942043B920908BAD5626DCFADA4A00D812B3789E3C1925D70355B6B16F52DFA0082582099908C1030BD4F72C4135BB86E6296CDAE04C906F091976E320C2F25A5200E2602018383583911E1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC1330952563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821B0000002ED1BAB9B3A4581C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB1A1582020B7729520955D7A53FF8A39082B8011159D6628113EF47C13149179869FE16D01581C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62FA1474D494E5357415001581CCE5B9E0F8A88255B65F2E4D065C6E716E9FA9A8A86DFB86423DD1AC0A14444494E471B00000D0E2C75F5FC581CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D86A1582020B7729520955D7A53FF8A39082B8011159D6628113EF47C13149179869FE16D1A130C6AA25820A7A63A0514F3BA288D15F577D34F3FAA5CA459A1A97D0BA33D270DC93BBF14BD82583901B6A399BB1A6598ADD297EB8724911C41FB720F6D17F6221636B458E3B84DC1F29279A96CD8D21B1F81A63B10D01103A9EB86FFC79D1AB1B21A191F421382583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821AF6E2075BA1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137323331303430303030303001021A000C04AD031A07AF9BCB0758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A07AF97E30B58207CB052FB69E3AD65E73A6A481850426288F5730FB8D8AE813A94A190A49D5B180D8182582099908C1030BD4F72C4135BB86E6296CDAE04C906F091976E320C2F25A5200E26020E81581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D1082583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821AF6833C48A1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137323331303430303030303001111A004C4B40AB0086825820F3DDC3B1EA46C058A39A764068EF2CB7B72B42510857ABE5357EB7E7BC90B45C01825820C112E5947A7816881C274BB4824BA657EC5D9EC07BB4B4ED8123CC94832D4D43028258201C4FF06115A456C8CAE138B9ED57CB11289DB280DD606702A0708E87CE9F55B800825820E63473E75E61545BFC3CF491002C49F9BC0543C7D85C46BE6BC8636F8A9D5E2400825820216394E05B86EF918A6C4D369717182FA5DDF11428AFD5CB16DDA32A3AD1FCCF01825820072BFA83B11291C9F05347FEE5D3499B6362A9D32461DC6745E4859F625B034501018482583901252BF67C93ADE03D9DC874748CE1103EB0B9130968A5248D381C16705C4D87DBFE9794B8DD73D8F76CB5C683BE1DF38D632133CB61AB014C1A001E848083581D714DD522FB07D1F895EE63270B040E8B6434AA848A9C48EE16A7903AAD1A281959B058208407BD463FDB8AB3C15C3D51A0B80BF2A983357176C26FF8956F48FCA750139682583901252BF67C93ADE03D9DC874748CE1103EB0B9130968A5248D381C16705C4D87DBFE9794B8DD73D8F76CB5C683BE1DF38D632133CB61AB014C821A003C0B36A4581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B1A006ACFC0581C41223B3ECF502363DC465DCE5AD6671B83AC790E229D3F49E68C3353AE58201DCC6D7C286A2DE84347E820F0C7470EE782590A48716C0D374AF11BF84F91490158202B222B541F34CCC28E4E6E9A9CE1C4628481FE6FE51BC34A1E45E8DE48FDE30D0158202B5A0BB58596616D24DB29C56DE9FBDB2E142C260B8FDEA43F5AE2B5D05684510158202C568BDAA195DF9DF23A9DFB24FDB8F85CBF1BDD532D1B5E0766B9847A6FA2B10158203DABB0E2FD6E598AAC8A60710123C878764D266D335CB6A80219F47772D843D50158204181EF72768DE5384584403C5032FE0134F2C6379AB1B2CFB7DA964C70ABA99501582075DB7CB03250704474C0C723E11EAD164DF7B098BEE79ECBAC4006B3E5C02F990158209356CD737265040D36A951364BE3EF9C18A06B42B5F7F0187D3C165C36E86B690158209C5AF94E7172C88868A08139FF19D47C44C011F7A0820F338241D0FB3D057009015820A99E358C89AC6C4AF9A25DD0538480CD8B498A9CC14BB2C1FE213697DB9EEAF7015820B6CF6DC35253F74A7E28B9EEDB01FAFEA96E28EBE20EE1A75B260CD8366B3FF1015820E56F42B603C7D09944F0362409F5A25D572B8781C55F0385D1260BF95F339246015820EC603D34DC271F802B3B83C5544EE2A86DB0EA922FDF092A6E8226A5FF80058B015820EC793C9A4C1B8981EED97136E7618B231C544195ECF30D1EF78A5E22AE902F3501581C4523C5E21D409B81C95B45B0AEA275B8EA1406E6CAFEA5583B9F8A5FA44B000DE14042756431343334014B000DE14042756431383833014B000DE14042756432353034014B000DE1404275643237303001581CC881C20E49DBACA3FF6CEF365969354150983230C39520B917F5CF7CA1444E696B651A0001D4C082583901252BF67C93ADE03D9DC874748CE1103EB0B9130968A5248D381C16705C4D87DBFE9794B8DD73D8F76CB5C683BE1DF38D632133CB61AB014C1A07076A6B021A00094B8B031A07AF9BB5081A07AF976909A1581C41223B3ECF502363DC465DCE5AD6671B83AC790E229D3F49E68C3353A1582083835D62DE24C15056AB445A01E093F621ECD85675EFC2BE4E8257C98B59B9B3200B58204F2988C9AE22ADC58096AB9402ADD7C61BB98C8CC6F1915967C070FD22C0C5F70D81825820E63473E75E61545BFC3CF491002C49F9BC0543C7D85C46BE6BC8636F8A9D5E24001082583901252BF67C93ADE03D9DC874748CE1103EB0B9130968A5248D381C16705C4D87DBFE9794B8DD73D8F76CB5C683BE1DF38D632133CB61AB014C1A12A262B7111A000DF15112828258202E8E08B814BE2341084CC874194BC57E0D35E210954F5E57D2A1D41CB6025C84018258205A4BB987DAF15D6C09134E515D568DDE9FDE0074FFD2FA6BABC8C820DF04A49B01A40081825820DDCAB0065D35CEDF0F7B021B35732116DC79565348B718E5B29C10761F087463010182825839011B405CB6901055942AFC1F8C1EAAFCA00AFA8BD0081DE6E58B4435FD78060531E90533ABF6B0F443BEF89C71206D3FB49BFF0F1CEA076D911A05D75C80825839012E84C78697E056402A15B96833B523B07C493761D2DAE15449C8C99DA2EECF283E18BE26C0704304EF31D63A8EC1B6ECE4F3174B07A22CC21A0024422B021A000290A1031A07AFB404A400878258203149ED17E1577C562DE7EC7224AABE107A78F8A184FC796CDEA8EAC90B526497018258204FAAD68789B140095D8B09DF63D4BEC7B22D2F07CC90BBE4F724B9ED26AF72FB00825820A2AA21BF9C81A61E89BBA8A6F9C0BBF46CA812730912E3F336E0BAD60588BF4D00825820BED656C0E1B30EFB9FB8726C0416BFDE72EAEC2BEEB951199EF2AF96706637E701825820C35D2C9A1FD03429B88A43C773AABFCDC18B2E39CF50EDEF0C1F4AEF53ACB1B603825820CD6CD0844747901801A96275BB7DEEB4654916C514D440248A21DDD2F946F1FB00825820E0CAA29C1EDF4968000B42F35B71A9049369C0A0C38EE89E10099BC40465BEE101018282583901AE4A2F776C488D54616ED50D8BBE4F49A036A7E775AA89535C7BF984293C0F5098A0561F60A629E309F2B38E835EF4EF949EC3E427FDD2961B00000003F5476A0082583901AEDE1E35FF87D21A8297DBF3CED2C975E0556960348D8C5106B52A7E6948A5BEC1CBE3467F5A068DAADFF4F92DE03BD7CA263A370D04ED9A1A20B90FA5021A0002C8A9031A0CC63DF0A50083825820C298DC1865EB0436DC9C18AF92438A8DD5FE8FC220162A49AC2589719B81900000825820B9D8C11A597EBD824FDC5FCF7DBF49A98AE194108B38CB481D08992BDF7E4F29058258203934E5C09462754C0E81C944CDACC67995F8F1892FD6297869E1E94E57D68651010183825839019E415AB35AC812BB7EDFA7223BB1D6E89AC8C45CC010D0E8ECF5807396C7C0721CFA557649A36DCBF7F8AED5B434561235593C7FF1B86FB81A004C4B40825839019E415AB35AC812BB7EDFA7223BB1D6E89AC8C45CC010D0E8ECF5807396C7C0721CFA557649A36DCBF7F8AED5B434561235593C7FF1B86FB8821A00328200AB581C8DA763CE1D6ADB725A295A7F145C32808295B542DE5062D92EFA8370A24E000DE14046726967696433363531014E000DE1404672696769643435363101581CCE4D6F507A71B917DB0377D8F7309FE60DAD3C5397C730EA7F894BBBA24A54616E616B6830313035014A54616E616B683036353401581CD1F6CF1B73A74A154367269E759902739177D24B93286856EFE2B932A15045726D6F204F4720504153532023303701581CD5AB720E866E796D0212C61D36D5664819AB56437F2DF919FCAE5530A151436F6E737469747574696F6E555330323301581CD6EA64DD658ADC56FCB553AF88DB495A423D4573DDB3BD4803DF6AB5A14B323939393630313130353401581CD89775133F108329854694A2BDCB352D26C1D930739257D6CEB89BC3A1457247454E5301581CE1A212122B07460A739AF69751BD01CD03174791F778B2365CC0B8F6A14445524D4F19EEB3581CE304E709916948816B793C857C92EC765095E82653539B7928051ED5A14F53756E416C736F526973657336343801581CEFFF17A2E610E5C9F46E33FE964C39602399F95AA367B37F039C1EFCA15343617264616E6F466F725468654D617373657301581CF0FF48BBB7BBE9D59A40F1CE90E9E9D0FF5002EC48F232B49CA0FB9AA151000DE1406D61646D757369636D616B657201581CFA1A9FE50BA15C82F9FC18C8FDB25C745769061991C0C6C100CAD960A1545468655477656C7665436861707465727334333201825839019E415AB35AC812BB7EDFA7223BB1D6E89AC8C45CC010D0E8ECF5807396C7C0721CFA557649A36DCBF7F8AED5B434561235593C7FF1B86FB81A04276A59021A00031E41031A07AFB41105A1581DE196C7C0721CFA557649A36DCBF7F8AED5B434561235593C7FF1B86FB81A0013B0DDAB008382582011785188711F5B4BB104056865F724D542AFA256C4FB057A444331A273F1EBD602825820769ED9AC76C358169618F5EAABC6B0E37373866665BD4EA17607F4EC0612FEA600825820BEF529C7CF4FB5C33173E75795AA34C4D9EFA4931DD7D6B07E8A8900E0063FF5010183A300581D711869C28A5C1023A10C1DEB30D112226CF45130B800A22D9C2AFC1C9C01821A001E8480A1581C08C56C0FA73748A23C3BC1D9E6A60A4187416FC4FF8FE3475506990EA1484E6F64654665656401028201D818583CD87A9FD8799F581CE33BB9C5E634BC5BE187EABA0D94725EF71505D4A4CA6E0FED0B2E6DD8799FD8799F1A0005B9801B0000019096A7E9B2FFFFFFFF82581D61E33BB9C5E634BC5BE187EABA0D94725EF71505D4A4CA6E0FED0B2E6D1A0089544082581D61E33BB9C5E634BC5BE187EABA0D94725EF71505D4A4CA6E0FED0B2E6D1A006F7AEE021A00044EE3031A07AF985B081A07AF97E30B5820829DDE81A2958DAAEC321BCA75A193ED76D580503F89AC44F8A4F96109DF6F220D81825820769ED9AC76C358169618F5EAABC6B0E37373866665BD4EA17607F4EC0612FEA6020E81581CE33BB9C5E634BC5BE187EABA0D94725EF71505D4A4CA6E0FED0B2E6D1082581D61E33BB9C5E634BC5BE187EABA0D94725EF71505D4A4CA6E0FED0B2E6D1A0049A42D111A00370C3F128182582039435B3F8A6F3FAD8771E07B5B6790A940FECC4C20A7043E945E44FF427E41D30087A100818258206A29EF8CCBEC0A3C966443A3CBF142717338517A0418B40A8CCA20CFAAA5A65E5840A5A4E03B6A9ACEEBBE2A10E11030B19CDB48103D223DA34FB7D3532BA36E30FE4EC6B0498936D6356BFB7B65D27347BD7AAA668F6E11EC0A80E5D3480E56F80DA400818258200303157375F23161027902ABFF500A6268C00A69F45F7BFE5ADBC2F70F15DF9458400CD61DBA11FC23C54FD36E3710EECE5300CF8B573D7D89EB0B59BB74849A1704DBC26CAE0FA14184182CDC0511B94D1E2AE10FD7BF62127127B4A110AF839800038259014F59014C01000032323232323232322223232325333009300E30070021323233533300B3370E9000180480109118011BAE30100031225001232533300D3300E22533301300114A02A66601E66EBCC04800400C5288980118070009BAC3010300C300C300C300C300C300C300C007149858DD48008B18060009BAA300C300B3754601860166EA80184CCCCC0288894CCC04000440084C8C94CCC038CD4CCC038C04CC030008488C008DD718098018912800919B8F0014891CE1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC133090014A0266008444A00226600A446004602600A601A00626600A008601A006601E0026EA8C03CC038DD5180798071BAA300F300B300E3754601E00244A0026EB0C03000C92616300A001375400660106EA8C024C020DD5000AAB9D5744AE688C8C0088CC0080080048C0088CC00800800555CF2BA15573E6E1D200201591E1B591E1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460CC0042646424446600200A0086EB4D5D09ABA25002375A6AE85400454CCD5CD1832801099091118010021BAD357426AAE7800C54CCD5CD1832001099190911198018028021BAD357426AE894008C0CCD5D0A80082E1119191A827911111A80391191111AA99A9824806108008B1119191A9A9A80103102D91191919191919191AA99A982A89119982D91299A99820A8071A80103409980200100088008008020B03C9111919191919191919191919191982A299A8050A99AA8100999AB9A3094013303A307908101330820106700B06706E0060063305433355307908101305C05A305953353502B2233500206E2071210011635014222222207A33054353501422208E0122350012322533355333500A2153335004215333500C2130054984C011261533350052130054984C0112603C04F15333500B2130044984C00D261533350042130044984C00D2603B153335003205003A04F153335003215333500B2130044984C00D261533350042130044984C00D2603B04E15333500A2130034984C009261533350032130034984C0092603A153350010700820108201070253335002215333500A21533350042133303A03B00200116161604E15333500921533350032133303903A00200116161604D04E33054330500153306F00B02733054330533306301602548008CC150CC14CCC18C02C0952002330543305333063001010002330543333084012222533500315335002135001222223305D3305C0053306C01402B3305D3305C0043306C01402A3305D3305C00300C3305D3305C0023306C0140193305C001304800D0910122153350041622153350071622153350081622133300C003001323232323232323533307D0050070272222225335330743305100248000CC1440052000161333335003235500B2222223501D222223501B22235051222223232323232323232323253353308B013308B013306E00848000CC1B802920003308B013306D00201E3308B0153353306E00A00315335330870100E07013308B013308A013309A010110703370066E0402800C060CC22804CC2680404411C0084CC22C04CC22804CC268040441C0060CC22C04CC22804CC2680404411C008CC22804CDC08050019984D008088070A99A998370041A802055008A99A99843808078380998458099845009984D0080883819B80337020106A008154020306611402661340202208E00426611602661140266134020220E003066116026611402661340202208E004661140266E04020D40102A804CC2680404403C4CC22C04CC22804CC2680404411C008CC22804CC268040441C0060CC22C04CC20C04048070CC2080404006C4C8C8C8CCCCC2C80400C008CDC019B800180050013370002E002A66A0082605466E0800C00840594CD400C4CCCC0A005406406005C520003370002E00866E0005CD40102A80458C27C04028D40082A404D40042A404D54CD54CCD5CD19B8900148000278044C94CCD5CD19B890014800027C044C94CCD5CD19B8900148000280044C28404CCC2EC0400C0080054CCD5CD19B8900400610041006350020AD0121001160B901350010B0015333573466E2400400C54CCD5CD19B880010031330A8010023370666E080080400444CC2A0040080104CC2A004CDC199B820040110100043370666E080040380414CD4CC1FC01C1A04CDC0998490081100399B80011010133092010220073370666E080040300354CD4CC1F40101984CDC0998480081000219B8000F00E133090010200042235500C2222223501E222223501C222350522222232323232323232323253353308B013306E00748000CC22C04CC1B4008074CC22C04CC22C04CC22804CC2680404011C008CC22804CC268040401C005CCC22C04CC20C0404406CCC2080403C0684C8C8C8C8CCCCC2CC0400C008CDC019B800180060013370002E002A66A00A2605666E0800C00840594CD40104CCCC0A405406406005C52000350020B301350010B60153353330690870100E01E1330AE013370002C00E02A26615C0202C66E0005401C58C27C04024CDC199B820010123370200400266604400600266E0CCDC0981219B803370400400466E08CDC119B82337049004241941E90680780200198600080199B824801120CA0F350050A70130BE01001350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4009200033086013306800101833086015335330820101906B13308501330950100B0193370000202426610C026610A026612A020160320026610A026612A020160D60246610C02660FC01802C660FA01402A2A66A6660C8104020120322666661540266E00044008CDC08080008078070068999998550099B810110013370002000401E01C01A2C66603E6A00614C026A00614A02002A66A66100020020D2266E04CC24C0408C004CDC0008808099849808118009A800851009AA99A99983003F00280A899985A00802806806099985A008020060069111A8019119985C80802802001911AA8061111111A80F111111A80E1111A82911111191919191919299A998440099835802240006611002660D80020086611002A66A66108020360DA266110026610E026612E0201A03666E00068050CC21C04CC25C04034014CDC08020008A99A99842008028368998440099843809984B8080680D80D19843809984B8080680299B8033702008002028266110026610E026612E0201A03603466110026610E026612E0201A00A66E04010004CC21C04CC25C040341B4050CC22004CC20004038060CC1FC03005C54CD4CCC1982100402C06C4CCCCC2B004CDC000980099B8101201A01101000F1333330AC013370202603466E0004800404404003C594CD54CCD5CD19B880190011309F013370066E0CCDC119B82002019483403CCDC119B81001019483283D200209E012100116350040A601350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4011200033086013308601330680030193306800201833086015335330820100906B133086013308501330950100B009337000060246610A026612A020160100042A66A66104020100D626610C026610A026612A0201601066E00008048CC21404CC2540402C02400C4CC21804CC21404CC2540402C02400CCC21804CC21404CC2540402C020008CC21404CC2540402C1AC048CC21804CC1F8030058CC1F40280544C8C8C8CCCCC2B40400800CCDC019B8101200700133700022002A66A0082604A66E0800800C40414CD400C4CCCC08C03C04C048044520003370202400866E0404000858C26804010CDC199B8200200E00D3370666E08004038030CC244040840F8888C8CDC199B820010033370066E0801120D00F0013370400290650791112999AB9A3371200890000A4000264A666AE68CDC48008028A4000264A666AE68CDC4800A400029000080099B833370400466E04004014CDC019B8200148028014C014CDC10018011192999AB9A33710004900004D808A999AB9A30A10100214800054CCD5CD1851008010A40042A666AE68C28C04008520021330010023370066E0C009200448008C254048894CCD5CD19B880010021330030013370666E00CDC1802000800A4008200426660F2002006046464A666AE68C27C04D55CE80089919191919191919191919191919091999998008050048040028018011BAD357426AE88008DD69ABA100135744010A666AE68C2B4040084C8C8488888CC01001C018DD69ABA135744A0046660F8EB9D71ABA15001153335734615802004264642444446600200E00C6EB4D5D09ABA25002375A6AE85400454CCD5CD18558080109909111118028031BAD357426AAE7801854CCD5CD18550080109919091111198010038031BAD357426AE894008CCC1F1D73AE35742A0022A666AE68C2A4040084C8C8488888CC00C01C018DD69ABA135744A0046660F8EB9D71ABA150010A101135573C00A6AAE74010CC1E1D71ABA100530743574200A60E66AE84014DD51ABA1001357440026AE88004D5D10009AAB9E0010970137540026A002104026A00810C0260C82446660D444A66A660B066606C0D46A004104026A03C1040266606C0A06A6A0040FC0EE05E266008004002200200202A60C82446660D444A66A660B066606C0A06A0040EE6A0200EE66606C0A06A0040EE05E2660080040022002002026666660F0660C602C044660C602C04203E660C602C02003C660A8660A0044607A008660A8660A0042607C008660A8024660A8A66A60C82446660D444A66A660A66AA03A104026A6A0040EE1040226600800400220020020260D6442A66A0020FE440DEA66A6660640A600490000998299981D183C840809984100833800A40042660A66607460F21020266104020CE0029000183800999B8100101D303D001333066059008010305333307F22322325333573466E1C010DC680488010A999AB9A308F0100415333573466E1D205A500313370290001980299B800044800800800400454CCD5CD19B885002481805854CCD5CD19B8950023370090302402426600866E0000D20023370066E08005201433702A00490300B099B8E0060014800120001533500400115335501A13335734611A026606860E60F6660F80C200A0C20D00022A66A0062A66AA0320022666AE68C23804CC0CCC1C81E8CC1EC18001018019C0044CCD5CD18460099819183883C9983D02F80182F833299A9983D91299A8008321109A80111299A9982B00101089834800898030019A9A99A983B03C00501083883610A99A8008B1109A80111299A8018A99A99827800A400420042C112022C666AE68CDC49982C800803240000C80BA6A0020D4A66A60B02446660BC44A66A66088A0226A0040D6266008004002200200200E2C0F8660CE02C6A00A0D460C2006A66A60A42446660B044A66A660826AA0160E06A6A6A0040D80CA0E026600800400220020020060B2442A66A0020DA440BA60BA0026A0280D4660B40020246A6A0080C80BE26A6A0020C20B4A66A609601C420022C2A66A660600040320BA266060002032603200E6068010464646A09C4444464646464646464660706606A00C0066607066068660A600C018660A6006018660706606E6608E6A6A66A60C60CA00401E0BC0B2660B601201090011981C1981F998188070009981C1981B9811800A40006607066068604201C60420026607066068604401C60440026606E604801C6048002660706606A60AA00A09666070A66A609024466609C44A66A60A26A6A0040C40B8266008004002200200200809E442A66A0020C6440A6A66A609024466609C44A66A60A26A0040B8266008004002200200260B000E09E442A66A0020C6440A666609A08000600860A40066A0020ACA66A608824466609444A66A660666A6A6A00E0BC0AE0C46A6A0040AE0C4266008004002200200260A80062C0D06A0100BA6A6A0020B00A6A66A608400C420022C603000C606600E4464646A09E44444A66A6A00E440A8426464646464646464646464646607E660700286660AA09000800C6607E66076014660B40060246607E6607E6607C6609C6A0040C00120106607E6606E6A0040BC6A01A0D26606C6A0040BE6A01A0CA6607E6607866AA60CE0D846A00244660CA00466AA60D40DE46A00244660D0004666A0026E012000700466E0000520000013304000B3500922330723306400233072330640010090540540033303F3303E3304E3535335306A06C0010160650603306200F00E48008CC0FCCC0F0C1700181494CD4C13C488CCC154894CD4C160D4D40081A418C4CC010008004400400400C1588854CD40041A888168C168014CD4C1A01A800C04CD40041754CD4C12C488CCC144894CD4CC0DCD4D4030194178D40081784CC010008004400400400C581BCC160004D403418CCCD4080178D4D4080188178004CC11800C004CC164020D4004170CC140004020D4D40041681554CD4C11001C8400458124C06401CC0D0020448004584D55CF0011AAB9D0013754004444A66A6600600400207809C46A0020B0246666666600204044A666AE68CDC38010008020A999AB9A3371200400203203044666AE68CDC400100081B01E802802001912999AB9A337120040022002200444A666AE68CDC4801000880108008881F11199AB9A3371000400207406644666AE68CDC480100081C81911199AB9A337120040020620706607C91100488100223333550023303F2233350050480010023500304222337000029001000A4000660784446006600400240026607666076E01200070246A0024444400A46A0020A246A0024407246A0024406C464A666AE68C140D55CE8008991919191981E2999AB9A305435573A00626464646464646464646464646464646464646464646424666666666600201A01801601401201000E00A00600460446AE84D5D10011980F1981DBAE2001357420026AE88008CC071D71ABA100135744016A666AE68C190D55CE804899191919827A999AB9A306735573A004264660A066038EB4D5D0800980D9ABA1357440026AAE7800817D4CCD5CD18339AAB9D001132330503301C75A6AE84004C06CD5D09ABA200135573C0020BE6EA8D5D09ABA200237546AE84004D55CF00482E1980C9981B019BAD35742014660300326AE84028CCC059D70029ABA100A33301575C0086AE84028CC054008D5D08051980A1192999AB9A306035573A0022646609260326AE84004C010D5D09ABA200135573C0020B06EA8004D5D08051192999AB9A305F35573A002264646660B060606AE84008CCC059D70029ABA10013303375C6AE84D5D10009ABA200135573C0020AE6EA8004CC045D73AD37546AE84004D5D10009ABA2001357440026AE88004D5D10009ABA200135573C006098A666AE68C15C0044C848888C010014C02CD5D09AAB9E00215333573460AC00226424444600400A60486AE84D55CF0010A999AB9A3055001132122223001005300C357426AAE7800854CCD5CD182A0008990911118018029BAE357426AAE78008130D55CE8009BAA357426AE88008DD51ABA100135573C0020906EA80048C94CCD5CD182800081E8A999AB9A304F00102B04735573A6EA800488C8C94CCD5CD18290008058A999AB9A3051001130193004357426AAE7800854CCD5CD18280008050241AAB9D00137540024464460046EAC004C10888CCCD55CF8009014119198239981C98031AAB9D001300535573C00260086AE8800CD5D0801020919118011BAC00130402233335573E002404C46608860086AE84008C00CD5D100101F91919192999AB9A305300211222203515333573460A4004220922A666AE68C1440084C8C848888888CC004024020DD69ABA135744A0046EB8D5D0A8008A999AB9A3050002132321222222233002009008375C6AE84D5D128011BAE35742A0022A666AE68C13C0084C8C848888888CC018024020DD71ABA135744A004603A6AE85400454CCD5CD1827001099091111111803804180E9ABA135573C0062A666AE68C1340084C848888888C014020C074D5D09AAB9E003045135573C0046AAE74004DD50009192999AB9A304A35573A0022646606660086AE84004DD69ABA1357440026AAE78004108DD50009192999AB9A304935573A00226EB8D5D09AAB9E0010413754002220582205444A66A00442A66A00442660240040020462A66A0024046068446A004446A006446666010008006004002446A004444446A00C44444A66A6601E01400A2A66A6601E0120082A666AE68CDC38040018A999AB9A3370E00E0042A66A00C42A66A004426A004446A004446A00A446A00444A66A666602E00C00A0040022A66A00E42A66A008426604800400206A2A66A006406A08C0680562A66A002405607805405405405444446466A00A466A0084A666AE68CDC78010008018121013919A802101392999AB9A3371E0040020060482A66A00642A66A0044266A004466A00446601200400244405444466A0084054444A666AE68CDC38030018A999AB9A3370E00A0042660220080020520520442A66A00240440664466A004466A00446601C0040024046466A004404646601C004002446A004446A00644A666AE68CDC780200109980780180081091199AA9815019180680191A80091199AA981681A980800311A80091199A800919805A40000020144660160029000000998030010009981280100A91199AB9A3370E00400202C03A44A66A00420020324466AA605205C46A002446604E004666A002466AA605A06446A0024466056004601800200244666010016004002466AA605A06446A0024466056004601600200266600600C004002444666AA605005C06466AA605205C46A002446604E0046010002666AA605005C446A00444A66A666AA6054064601A01646A002446601400400A00C200626606C00800602800266AA605205C46A002446604E0046606844A66A002260120064426A00444A66A6601800401022444660040140082600C00600800442444600200842444600600844666AE68CDC780100080800B9980E80080A11299A801012080091980E11199A8018128010009A80080F9192999AB9A303435573A00226464646466666042666016EB9D71ABA100433300B75CEB8D5D08019BAD357420046EB4D5D0800998051192999AB9A303A35573A0022646604660146AE84004CC035D71ABA1357440026AAE780040C8DD50009ABA1357440026AE88004D5D10009ABA200135573C0020586EA80048C94CCD5CD18199AAB9D0011323301C3005357420026600C0086AE84D5D10009AAB9E00102B375400246464A666AE68C0D00044C8C8C8C8C8488CCC00401801000CDD69ABA1357440046EB4D5D08009ABA2002375A6AE84004D55CF0010A999AB9A3033001130103004357426AAE780080ACD55CE8009BAA0012323253335734606600226424460020066EB8D5D09AAB9E00215333573460640022601E6EB8D5D09AAB9E00202A35573A0026EA800488C8C94CCD5CD18190008980798021ABA135573C0042A666AE68C0CC0040380A8D55CE8009BAA001222325333573460626AAE740044C8CC068C014D5D080098021ABA1357440026AAE780040A4DD5000911A8009119198131119A800A4000446A00444A666AE68CDC7801004898038008980300180298129119A800A4000446A00444A666AE68CDC7801003880089803001919A80081100211A800911A80111111111111999A805900B900B900B9199AA981101500B11A80091299A998090010020980C00180B805912999AB9A3371E6A0040346A0020342666AE68CDC39A80100B1A80080B001805003880B91180F11299A80088019109980300118020009299A800900B0019111A801111299A800909A8029111111111299AA99A999AA981001400A11A800912999AB9A3371E00401C2602C00602A0044260286A0020440244260240022C2C2006424460040066601444A66A0044200620020022018446602E44A66A00203C4426A00444A666AE68CDC78010038A99A8008111109A80111299A8018A999AB9A302D00113301400B0020262202813006003002235001222222222200A2350012201C23500122222222220092220032220012220023333300248811C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB10048811CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D8600330014891C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62F004881074D494E535741500048811C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816004881054F574E455200221233001003002222221233333001006005004003002300B22112225335001135003006221333500500C300400233355300700F0050040012200130092211222533500110022213300500233355300700D005004001300822112253350010052213300F30040023355300600B00400111001220023005221225333573466E20005200013005490103505436001533500213005491035054370022153335734602C0062004266A600C01000266E0400D2002253357380022C240026004444A66A00220044426A004446600E66601000400C00200660024444A66A00220044426A00444A666AE68C0500044CCC02001C01800C4CCC02001CCC028CCC02C01C00800401800C8C8C00400488CC00CC00800800488488CC00401000C88848CCC00401000C00854CD5CE2490350543100162215335001100200715335738921001622222222007220053704904D0F910B111110021B8748000DC3A40046E1D2004370E90031B8748020DC3A40146E1D200C01049FD8799FD8799FD8799F581CB6A399BB1A6598ADD297EB8724911C41FB720F6D17F6221636B458E3FFD8799FD8799FD8799F581CB84DC1F29279A96CD8D21B1F81A63B10D01103A9EB86FFC79D1AB1B2FFFFFFFFD8799FD8799F581CB6A399BB1A6598ADD297EB8724911C41FB720F6D17F6221636B458E3FFD8799FD8799FD8799F581CB84DC1F29279A96CD8D21B1F81A63B10D01103A9EB86FFC79D1AB1B2FFFFFFFFD87A80D8799FD8799F4040FF1A18E0E563FF1A001E84801A001E8480FFD8799FD8799F4040FFD8799F581CCE5B9E0F8A88255B65F2E4D065C6E716E9FA9A8A86DFB86423DD1AC04444494E47FF1B0000016902C758161B0000018B9265F3F5D8799FD8799FD8799FD8799F581CAAFB1196434CB837FD6F21323CA37B302DFF6387E8A84B3FA28FAF56FFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFFD87A80FFFFFFFF0582840001D879808219A44D1A00E33567840000D8799FD8799FD8799F581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9DFFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFF02FF821A00280F711A2EE1ABA7A30081825820F91F45CD2DC870AE7F65186C74C6A183A540898E61D51A3126A6F00BB950B27958402BBF458FCC9ADBBDB5990BA91606CEFABAEE1439BDCB498D1FCC2C9E936A6361A126BE17E9D2955276F5FF66D855C1AFB3FE7B8B1BE0B4CAA9D60ABE3F4D8E08049F80D8799F582083835D62DE24C15056AB445A01E093F621ECD85675EFC2BE4E8257C98B59B9B3D8799F4040FF1A26BE3680D8799F4040FF1A015B23309FD8799FD8799F581C4523C5E21D409B81C95B45B0AEA275B8EA1406E6CAFEA5583B9F8A5F4B000DE14042756431383833FF01FFFF1A48190800582083835D62DE24C15056AB445A01E093F621ECD85675EFC2BE4E8257C98B59B9B31B0000019051AF7A480100FFD8799F582083835D62DE24C15056AB445A01E093F621ECD85675EFC2BE4E8257C98B59B9B3D87A80FFFF058284000501821A00279C441A2F128CEB840100D8799FD8799F5820BAF4F9A24D72868698BDD2FCCCF1C00E3990252F239AFAA031FEA146B8E7942EFF01FF821A001F69F81A260DE8FAA1008182582006E05CFF0C72A3EF4E2853C351BD122FE7E5049A37737983394F012EAB37C8515840725086D5F44100A22705E0BC545C4B24F77266DC6C8154EB1B7FAE989C87566E7CDAECDB4AFB5EDDE2050AFFBA426E27457F2CDF1EC26C31B0AFD2AC61C6680BA1008282582004F3E99F60B98399C5420DBEC2BEECFE5F7E2DB477962BBDB1EAB4FB5C87BE3258402678886A86150F1314C65211E57639FB4B37E45A38E15CB894F27D3EA3B9AE23E32AF0FD551F89C6C13ED156A8CCAFDE94E7568BCE26CCFE7A0A8B40B2D243028258206BB92A20014AF583D1ECB932D8C6FC284274CB5DF043EC36546F0FC8B10C27DE58408A5CCCD412A974E67341364E431BB349C1138A8AE61BF7689E949D7A555A1E14B5CFBC006B66497C4B230F247E433D2F453115011081359258925218972AA50DA10082825820B2C6CA24ECEEAA1D8E3F4E7B7D08582EB988CFCA33ACE149D97D13292D79CEDF58401758913ADDC471E9E53570E72B5778B6E9C7D3D47A4EBB1E64B8959BC70847DA6E1A5B86061C772135C3C7B6BED6B10F4A6A192F59B7653A45FAA64F9B6463048258203A2680B177DBB362922FA79A4C944D79221AC55CA6C3A0C11B60AEC9898BBC1E5840920288EFF6A54E2FB20C25B4F040024926FF0708713E68ED7779582927A1CA4D9EB05D133CE92AADA7F4AD3BD5E704A85AC2F68809569762F25D09937AE42F01A2008182582045E7EE2749DD98AC23244FF99D31DF8C64CBBC17D246B02DE9612268740B7D3558402271B7EB17EBBCB5119D0E41A953FC1344AC69C7B690599404DEDED7193852C175A6C8D7912E8DCA3E3AA87512308C3CA430CE9B5488047282A8BD3105372B090581840001D87980821A0012C8941A15F9CDB0A101A11902A2A1636D736781774D696E737761703A204F7264657220457865637574656480")] + public async Task DeserializeBabbageBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); const int concurrencyLevel = 1; // Number of parallel tasks - const int iterationsPerTask = 1; // Number of deserializations per task + const int iterationsPerTask = 2; // Number of deserializations per task List tasks = Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => { for (int i = 0; i < iterationsPerTask; i++) { // This call should be thread-safe and never fail if the code is correct + + Block block = CborSerializer.Deserialize(cborRaw); + + // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue + Assert.NotNull(block); + } + })).ToList(); + + // Await all tasks to complete; if any fail, the test will fail + await Task.WhenAll(tasks); + } + + [Theory] + // conway + [InlineData("85828f1a006daa351a038f87a5582065941821aed592f317342c55c82f14dc62a6f1f64037df55b14e8ece8faa98ed58206f548211a4216db59480732c8fbe4999caf2fae8f3af876cd4d1ba9b070e94f05820d76beb45ac09b20f2a0a3b871b72f0bc57d058dce8db1ec6f8b7df5df7ff27cc825840803d335754c5fd00c735f06b534f7e082ffa89c9eeb27de07f76125f43f23f0d525b97b965b3398c054431bee9049d9b4757b5fefe82912f5f8509b20f8d331d5850abfac6767000ab4abe0395f13ba74c29726f20df066ef86818cc13c09b1046794b3d7c8257c5bf9b937810b3b0d7d348097e9ae645512ffff9c95d3b32d055ec2bc98944cfbc3374fa932f8e12592d0382584000023891df312ee3f91a4ce8d4e3acf23c189b9860164d248b57fad3601ed7111d3a8b5d4c692a5e8a4a28a7a8e42189d50e12f0da6a1244f4239339080a0c8a5850acd785a146b96a2a8306f2c1fae3b03719f2ae571caed351c73c4a074b990a903a842ade87489540300da5deb5ac363e8fcf4dfe1b2dc5461983d22ff777e733f3d64107067e5afc1d3e4220e60fb1021a000156a458207119161cffd41a7e68ced33bcf0ec2d698b18865c7a6b1d6f90406a9edb025a0582051de6695a017853041715fd93295dbd04fbaf51ea89f679e06e14ed0545482290119019a58400aa580babf904f571e372089247ae64a2159511822e3b6720ea63c8eb5f9b66c7a3cd98acccdda27a7ae959cb6e85082580c962199bf860183355ae8eb2a860006005901c0f424a73e2d7a0f97083a143232b6dc905a7118156af50272761938fe939cf6546dd13779e26cf8184a738eaca4eaffc83963ea971e83525076c3d48d52107902ebd593e2a693e851a0b70c53a3e448b64953326cc09e5e16da6fbb903f082520a9e1b8c0734ecb3517ae1b4e62f6a1826ea5331a2ed04fe19b9fd09aa5333339564e2c591d182ef391bae62ee54defbeddbfaa707bd210271b753fdbef1bb17f693360c94fe100ad021c389aaef1fc2a6123e9d194e552bf367ec21d079fb4100194d778daa5c16963e871c1eefeae8190608e2b45a1207f9bad319d02da705551e1a3da2f55c58351be145dc35b9446ca5abde490b46bb9ddacfa67f1995d37516538bcc04388f456f7813ff261d02c1217de7d6f9e457cbec8875f64da73ecc2cc8d83ea3545978bc7259b1972ee3c221500f4cc1301fac7f911c2e88ea82b1f08b1c7ab3394c077dbc369ebc573a4c8ed1c24fd2389a276750ba2925396054d565b643de2ea7ffb47a88479c49f67f3be3149ef3213f13092c4fc032de59719f8ce5cf6262aa7c995ae550d9119fce5258f627f0199a259dcbcc436378b1febba5ec708291f488d8d582ab2fe184d8f25e56d94d18a298814a210f5c3e7069fa9008482582008a09116f20c748b9c9314a39035a89f8082c3da76a8b76f07ef2db31e018064038258201a186157707f93cd3ac9e3f862eee39186940dcef7b7e5946764b3e78ebc13c40182582082582cfe587c39d8d5ff31ad3422573acd259f6d7d2bb1b6ce920f2580e2a04300825820ee798b2656dd9d37cb79f537041b51673a5d81268734536aae7abc5c5338a6bb000d8182582082582cfe587c39d8d5ff31ad3422573acd259f6d7d2bb1b6ce920f2580e2a04300018482581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d1a3045c62f82581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d821a00161934a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d313635323631383130363338370182583901f17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef688340ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853821a001e8480a2581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d03581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa61a1667d71283583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330952563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821b00000187651a6980a3581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa601581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1b00000ab207d424c05820d2a73711b0f913fa08b8fee5cc6c46b3db82aaf5ee1b6885640e07c52e4d40c5021a000dbbd9031a038f8b0a0e81581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d09a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa61a1667d7120b5820dc5fa6ed5ceb0b2f9582d20ddd055b07f599986be7e0deff99328a2b01c7c18207582007a0a5f883f6b1433dea02ef916312c1d82f1043093c92a048336ccfa2e6a4daa90084825820084365adeb284626d8a13262149a2d45f35833ef8493d7ed6b65c5cef420d1c803825820c20b57990a28be4bb340b54872444f875ee634b1c7aaa523a225a998081dad8c00825820e69f793381266c1f9e0351e7985c4bd8bf5e0b7da5e9a808f025b56a8baeeeec01825820fda54170be26d895bd5e95e510c4cf836270d2eab0e823732befaffc476e800d000d81825820c20b57990a28be4bb340b54872444f875ee634b1c7aaa523a225a998081dad8c00018482581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d1a2a037ed982581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d821a00161934a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d313635323631383130363338370182583901810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701e8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51821a001e8480a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21a39893f4483583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330952563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821b0000165e9e65c4c1a3581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a201581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1b0000b07b242994ef582066ad7ee3215bed62074be1b4a4c0acd519973bfac4793f0a0cf161164d7dc242021a000df85f031a038f8b0a0e81581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d09a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21a39893f440b5820495a5f4a20b4015b3280ff76a49bae59a5103fac61652ddbe42023cc5849a4070758200943791b8e7676f93fc4a382a3e2e9400ae1e0c032a5a28055c7f9e48dc54ebfa4008182582053b4284f9759a2ecad078cfd6ede245074635a326dd1294c544b2da3326af96b010182825839018b73b8e00786dbd2aeb678f562ccea3960860b13876b91a7703fa0822247d90cfda3ddc0fc8bfe31e0364d3a9b10f8d9b163df4f1d84c8b91a01c9c380825839016a499634e20ed82a45d2ffe14c2851c10d5a37a95c807843dd8ad3f38e8ef7a0fe1cb17356e9311268c5d843aced9115b263028ad2369bb71a18790bfb021a0002917d031a038fb172a4008182582056f371f2257d8e6472b12ec422663b20400d65f3d7091360045dce966af19d6001018282581d614d06ccf4e1f9253e7f5317807eba65d6f1fa990e4d1a6e2340638b261a02279c1282583901dcef158ac0c0fb2599d5a00cf9bd1f73e2928ae24e9b3c2df3cf998595985a0fccc4d75c8f87c35f40898bf5e0b4feb2eb983ad5a177e51c1b00000030c761eccd021a00028ff1031a038fa342a500818258202d432375d98e9c851ddd37a9145af99ed252d9f59123fe25c3d758b62169306a01018283581d71a65ca58a4e9c755fa830173d2a5caed458ac0c73f97db7faae2e7e3b1a0c52887d58202f454ce0049bfdd9cb85e700f1557b0c3657c1f59c2c7f7abe52fcd9e3ac5c2682583901d612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecb6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3f1a6c832365021a0002cb95075820bca1e43b910e4009ef56e8dc102ffbfacf0ac473595d3777303f95b094b82dd00b5820b09f43f41223b7e457e2411cdc33c63c45aef80136950441aefcf46c23e9ae83a70082825820a9269956b4e287ed96e995677761f98ca62ebde1d4d653d899bb7a5ca71ad0e4018258202c66665a78a3cb4175dc3b227fbf7c8f8ec93d7e5c236b909d7e65afa4c07ae702018383581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a0019c812a1581ce282271ec9251ba23fb123b0f53618b35cf5a6cde4170c003a0ebf13a148424a53303535393401582067fdf73329aec3e72c95f1a7074b7715d3d1946488b245230538998c1d2ea0e482583901e935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7807a4d7256e864b7581b3e087a9d2810813d16a173e97c0ac4842acd1a004c4b4082583901e935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7807a4d7256e864b7581b3e087a9d2810813d16a173e97c0ac4842acd821a02369dc2b83b581c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b913a1446c7020091a0003b608581c101dcbab5b3c6d18f9121613cb999d12600e5e7e77c147d455b51443a153634e6332314c504144726163616e6f3230353701581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e1a00e4e1c0581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b000000052c8c338c581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a001e8480581c22ae625b40e8e91aa49310301dcd4a82706838e2431ecc03ff847133a1581c41616461476f6c64656e526566657272616c3136333838303830383401581c22d843e9e8b39d105c645944cc848abee2673d64e60f1f022791ec85a156457175696e6550696f6e656572536b696e313038383101581c23a000a839f04bb71b59b4ae74bf8cf5ed21ee0be520690e665ae4b4a15818457175696e6550696f6e6565724a6f636b6579313038383101581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e1a00e4e1c0581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a05f5e100581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a00061a80581c3c2cfd4f1ad33678039cfd0347cca8df363c710067d739624218abc0a251576f726c647357697468696e30333039340151576f726c647357697468696e303530373101581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e04581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567dae525061766961506c7573313133506c7573373601525061766961506c7573313939506c7573353701535061766961506c7573313033506c757331313501545061766961506c75733136304d696e7573313632015550617669614d696e75733136374d696e7573313533015550617669614d696e75733139314d696e7573313833015550617669614d696e75733139314d696e7573313834015550617669614d696e75733139314d696e7573313835015550617669614d696e75733139324d696e7573313833015550617669614d696e75733139324d696e7573313834015550617669614d696e75733139324d696e7573313835015550617669614d696e75733139334d696e7573313833015550617669614d696e75733139334d696e7573313834015550617669614d696e75733139334d696e757331383501581c4bfd50bbc70f3b294d94e8ae7e73ee63e834182f3751a0163805435ba24d526562656c6c696f6e31363435014d526562656c6c696f6e3631363801581c4eec31fba006e35a9e64018ad51967ab5cf2eba07b1cf3832ee2fe6fa1581c4161646153696c766572526566657272616c3136333937333733363401581c4f790fb0d3181ef4026deeb913bc748d7671666a07be8065c1a3a9aaa1505341434669677572696e65303232333501581c4fd6d8b1eac12b029cd68acd25220c20dd13b9c4b0d0b585d49135d3a1445341435414581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431896581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f5703581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581c5a46271a9b32a4517ced20be4ba1f184c2f91b1a5dd480ab639eee57a14d42726967687450616c3336393101581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a017d7840581c6262bf5e4444415eb579212d67c071db9449f0059251019d06be25d0a15243617264616e6f466967687465723136383501581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d424945190bb8581c6cfbfedd8c8ea23d264f5ae3ef039217100c210bb66de8711f21c903a144434e46541907d0581c6e5103651199d2938643fc4fab5d4a61c0950752443cd8794cd3792da14d4d4f42436974794d617031363601581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e20581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521a000f4240581c86f2bf5e9fbfe6d9a3cd2bfc8e4a9890093db5792ea7425a294356c6a1444c415a59191388581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea1455041564941197a03581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a002fb0e0581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e14581c9cc83ea54377108dd022f18095040e8d5808a3061c4fe54f3fd64a7aa24f48616c6c6f7765656e41706532373401524d6f73744162756e64616e7442616e616e6101581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a8aee60de581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451903e8581ca5bb0e5bb275a573d744a021f9b3bff73595468e002755b447e01559a156484f534b59436173684772616230303030393338343201581ca8231c25a8ccc1430359b4bf255b055366401258474834e6906a95aaa14b53616e74614d4f4231393301581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501aee6b2800581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421ab2d05e00581cb1066e840346478fbe01a7c278275c77929e5d5435d5650fcf963c7ba1544164614e617574546f5468654d6f6f6e3233303601581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a05f5e100581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1aa1d27b23581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491896581cbd3602618dc1d4aec509e3532032ef204e0583ff6d5ad4ea81e96145a14a73656164696e6f34333801581cbea41cde225159466664b35dc93e7c5c76458a4a7cc9f7aceb645788a24b4d4f424c4f524530343732014b4d4f424c4f52453333343701581cc001c001f524dccec5d2d48341837305f1f161d95fa1c6d999a205c2a1581843617264616e6f4c6f756e67655469636b6574303432393701581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe7a14f756e77616e7465646f6e653238373701581cc7fe3a3c3443a2a3d453efb7df0c276712bb22f8470f12965f5cae42a150477265656e466f756e6465723139323801581ccea514eda3ce871c316fdb1f0931baa678d2fa5d373a109dbbcc905ea14b4e6562756c61536572756d02581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1904ec581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e02581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba14442454147187d581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e730c581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a00989680581ce282271ec9251ba23fb123b0f53618b35cf5a6cde4170c003a0ebf13a248424a5330353539370148424a53303735313401581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1907d0581cebfd4159e5b3f357a1a6c92e89c2008ec4fa0e3a2d53c6312fbedbcca1574c434e465444656c656761746f7241697264726f70373301581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531819021a00051b5c031a038f9532075820c84588e25b869582d70db5da2b92e5e5d2d09b0b17a54c22c36b736ab297f892081a038f87220e81581ce935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7a40082825820d433d15c59159e5e017f1927a318efd0d3a7c1f05fea93f2cd6e1614bb38215f00825820cff3d92ccca360dca6b8c1280b79272baf70cb3bb4569b9e7a9d18ec7f4b5b1701018282581d61dfd1c0dd2d636dca0b86d6b3fc6dd48cd86c098c7c6e4eb4b9e4d6831a002df12082583901f7768a4087ef55df5150a87a08707da243aa191287e26765c124e0f8cf4deb97a2a10280c1ce14514017443b7dca2bc35e4ef0f5cd913be2821a0047f1b9a4581c18f59066d205b9ffc4208d9b6cfad2dbdee84dc4a0097e0b9de7db26a24e586d617332303231443030383334014e586d61733230323154303038393301581c2c763e2db8337324df122fffa38e0d97ecdf53d139025a0e1b6d6b97a64e43564c616e645331583937593733014f43564c616e64533158343459313333015043564c616e6453315831313959313130015243617264616e6f56696c6c61676531313731015243617264616e6f56696c6c61676533383033015343617264616e6f56696c6c616765313030303601581c33540028ad4ade822c82d61ed2d55388422c3db0bfcd11e5e1c92e2aad4947756d695261726537014a446f6269526172653531014c446f6269436f6d6d6f6e3439014c47756d69436f6d6d6f6e3236014d446f6269533252617265303533014d47756d69533252617265303636014d47756d69533252617265303637014f446f62695332436f6d6d6f6e313138014f446f62695332436f6d6d6f6e313139014f47756d695332436f6d6d6f6e313036014f47756d695332436f6d6d6f6e313037014f47756d695332436f6d6d6f6e31303801504b696d4368617361556e69717565323801581cc9f955eeffa84e42363b4992281d32dd2f9239153d6c66420a9acc15a1434c4f471a41adda52021a0002e505031a038fdb82a40084825820388a40133243a447b722e334e2802d275306baf944e989e5853f0c65e660294d01825820c57ad3c64a0f5cf4a2de653a2637658aef98a93a78c5c1603398950bc35ac63a0182582039e4828e40a7969387e6338b5d5aa8bb29f80227ef025eb9642b31285ef1264e018258201022dfc12bcc35a6a16e12209f864fed9c5802860cede3850a7a500f204dcc0d01018382581d61b19f52773e6fde215217979d98a363023218228bceaf9e28e97f1c23821a003d0900a1581c162ce9d46a21900149027edf2f6ace391d6d1db9450b3c479b857adaa1494964696f74636f696e1a3b9aca0082583901f10edabf9cc0e807ae5a5b95691f2314378a5b63e53fe8b74cd7beb84637f55651101085916e6ddf86e07d129c50396a78578cc3eac8c88f821a02031ab6ab581c162ce9d46a21900149027edf2f6ace391d6d1db9450b3c479b857adaa1494964696f74636f696e1a164496a1581c29f769f580d515a35a6ef190d22c41609cae13c28dfc22062a1eec81ac4a48616e64793030313134014a48616e64793030373730014a48616e64793030373938014a48616e64793031323038014a48616e64793031373930014a48616e64793031383339014a48616e64793031383737014a48616e64793032303637014a48616e64793032333732014a48616e64793035353033014a48616e64793036373735014a48616e6479303739363601581c2a1b8a7471d0b4fd854d8b56e8a3c47d697c2b6db8b278c545b5d70fa24b466972616b6f6e31313432014b466972616b6f6e3132363801581c40ea63e9243017418174dbc6664a555bc3c50cb483162ea5c7ea76d3b8c64c53706174756c6142726f3238014c53706174756c6142726f3636014c53706174756c6142726f3936014d53706174756c6142726f333935014d53706174756c6142726f343135014d53706174756c6142726f343732014d53706174756c6142726f343834014d53706174756c6142726f353234014d53706174756c6142726f353237014d53706174756c6142726f353535014d53706174756c6142726f353735014d53706174756c6142726f363231014d53706174756c6142726f363535014d53706174756c6142726f363539014d53706174756c6142726f363937014d53706174756c6142726f383435014d53706174756c6142726f383837014d53706174756c6142726f393338014d53706174756c6142726f393637014e53706174756c6142726f31303932014e53706174756c6142726f31323134014e53706174756c6142726f31333430014e53706174756c6142726f31343131014e53706174756c6142726f31343231014e53706174756c6142726f31343335014e53706174756c6142726f31343834014e53706174756c6142726f31363139014e53706174756c6142726f31363938014e53706174756c6142726f31373938014e53706174756c6142726f31393833014e53706174756c6142726f32303237014e53706174756c6142726f32303332014e53706174756c6142726f32303735014e53706174756c6142726f32313136014e53706174756c6142726f32313337014e53706174756c6142726f32323531014e53706174756c6142726f32333834014e53706174756c6142726f32343631014e53706174756c6142726f32353132014e53706174756c6142726f32353135014e53706174756c6142726f32353933014e53706174756c6142726f32353935014e53706174756c6142726f32363433014e53706174756c6142726f32363633014e53706174756c6142726f32363837014e53706174756c6142726f32373037014e53706174756c6142726f32383639014e53706174756c6142726f33313239014e53706174756c6142726f33313438014e53706174756c6142726f33313831014e53706174756c6142726f33333539014e53706174756c6142726f33333733014e53706174756c6142726f33343438014e53706174756c6142726f33343739014e53706174756c6142726f33343934014e53706174756c6142726f33353035014e53706174756c6142726f33363131014e53706174756c6142726f33373138014e53706174756c6142726f33373735014e53706174756c6142726f33373935014e53706174756c6142726f33383936014e53706174756c6142726f33393636014e53706174756c6142726f33393932014e53706174756c6142726f34303230014e53706174756c6142726f34303633014e53706174756c6142726f34303638014e53706174756c6142726f34313138014e53706174756c6142726f34313230014e53706174756c6142726f34323033014e53706174756c6142726f34333730014e53706174756c6142726f34343135014e53706174756c6142726f34343437014e53706174756c6142726f34343638014e53706174756c6142726f34343938014e53706174756c6142726f34353937014e53706174756c6142726f34363634014e53706174756c6142726f34363636014e53706174756c6142726f34373635014e53706174756c6142726f34373639014e53706174756c6142726f34383130014e53706174756c6142726f34383532014e53706174756c6142726f34393130014e53706174756c6142726f34393636014e53706174756c6142726f35313539014e53706174756c6142726f35313634014e53706174756c6142726f35313735014e53706174756c6142726f35313938014e53706174756c6142726f35323030014e53706174756c6142726f35333133014e53706174756c6142726f35343731014e53706174756c6142726f35353132014e53706174756c6142726f35353136014e53706174756c6142726f35353137014e53706174756c6142726f35353335014e53706174756c6142726f35363038014e53706174756c6142726f35363338014e53706174756c6142726f35363438014e53706174756c6142726f35373538014e53706174756c6142726f35373631014e53706174756c6142726f35373736014e53706174756c6142726f35383139014e53706174756c6142726f35383430014e53706174756c6142726f35383532014e53706174756c6142726f35383933014e53706174756c6142726f35393434014e53706174756c6142726f36303233014e53706174756c6142726f36303934014e53706174756c6142726f36313339014e53706174756c6142726f36313833014e53706174756c6142726f36323035014e53706174756c6142726f36333332014e53706174756c6142726f36343037014e53706174756c6142726f36343134014e53706174756c6142726f36343232014e53706174756c6142726f36343739014e53706174756c6142726f36343835014e53706174756c6142726f36353034014e53706174756c6142726f36363930014e53706174756c6142726f36373433014e53706174756c6142726f36373737014e53706174756c6142726f36373933014e53706174756c6142726f36383032014e53706174756c6142726f36383439014e53706174756c6142726f36383735014e53706174756c6142726f36383832014e53706174756c6142726f36383837014e53706174756c6142726f36393031014e53706174756c6142726f36393335014e53706174756c6142726f36393533014e53706174756c6142726f36393538014e53706174756c6142726f37303434014e53706174756c6142726f37303830014e53706174756c6142726f37303934014e53706174756c6142726f37313238014e53706174756c6142726f37313339014e53706174756c6142726f37313532014e53706174756c6142726f37313733014e53706174756c6142726f37323037014e53706174756c6142726f37333630014e53706174756c6142726f37333933014e53706174756c6142726f37343137014e53706174756c6142726f37353031014e53706174756c6142726f37353033014e53706174756c6142726f37353237014e53706174756c6142726f37353332014e53706174756c6142726f37353738014e53706174756c6142726f37363232014e53706174756c6142726f37363332014e53706174756c6142726f37363334014e53706174756c6142726f37373930014e53706174756c6142726f37383936014e53706174756c6142726f37393931014e53706174756c6142726f38303038014e53706174756c6142726f38303039014e53706174756c6142726f38313232014e53706174756c6142726f38313737014e53706174756c6142726f38323239014e53706174756c6142726f38323439014e53706174756c6142726f38333231014e53706174756c6142726f38333635014e53706174756c6142726f38333838014e53706174756c6142726f38343036014e53706174756c6142726f38343438014e53706174756c6142726f38343730014e53706174756c6142726f38343732014e53706174756c6142726f38353238014e53706174756c6142726f38353333014e53706174756c6142726f38353337014e53706174756c6142726f38353437014e53706174756c6142726f38353839014e53706174756c6142726f38363130014e53706174756c6142726f38363430014e53706174756c6142726f38363436014e53706174756c6142726f38363935014e53706174756c6142726f38373036014e53706174756c6142726f38373636014e53706174756c6142726f38373733014e53706174756c6142726f38373839014e53706174756c6142726f38393137014e53706174756c6142726f38393238014e53706174756c6142726f38393330014e53706174756c6142726f38393738014e53706174756c6142726f38393838014e53706174756c6142726f39303436014e53706174756c6142726f39313430014e53706174756c6142726f39313538014e53706174756c6142726f39333236014e53706174756c6142726f39333334014e53706174756c6142726f39333838014e53706174756c6142726f39353238014e53706174756c6142726f39353332014e53706174756c6142726f39353338014e53706174756c6142726f39353638014e53706174756c6142726f39353731014e53706174756c6142726f39353937014e53706174756c6142726f39363038014e53706174756c6142726f39393736014e53706174756c6142726f3939383501581c43647af85d68093da3895ce31d1e8c4aeb20f3c2dfee8b0536d55b21a45443617264616e6f436c616e6e734d656e31313832015443617264616e6f436c616e6e734d656e31313833015443617264616e6f436c616e6e734d656e31313836015443617264616e6f436c616e6e734d656e3131393101581c95ab9a125c900c14cf7d39093e3577b0c8e39c9f7548a8301a28ee2db44a4164614964696f743130014b4164614964696f74383633014c4164614964696f7431373732014c4164614964696f7432313835014c4164614964696f7432333630014c4164614964696f7433353334014c4164614964696f7434373237014c4164614964696f7434383739014c4164614964696f7436303634014c4164614964696f7436353637014c4164614964696f7437303635014c4164614964696f7437313831014c4164614964696f7437323633014c4164614964696f7437363131014c4164614964696f7437363737014c4164614964696f7438373330014c4164614964696f7438373730014c4164614964696f7439303639014c4164614964696f7439303832014c4164614964696f743935393501581ca66ae3debc862552f0f183f6bfa7d00b91aeb8c2fadad5ba6e89bf15b81e5046616e6379466f7274756e6531353730015046616e6379466f7274756e6535303938015046616e6379466f7274756e6535333437015146616e6379466f7274756e653130343930015146616e6379466f7274756e653232393439015146616e6379466f7274756e653233383431015146616e6379466f7274756e653235353330015146616e6379466f7274756e653236343030015146616e6379466f7274756e653236353239015146616e6379466f7274756e653239343939015146616e6379466f7274756e653438393331015146616e6379466f7274756e653531313830015146616e6379466f7274756e653531363638015146616e6379466f7274756e653533343133015146616e6379466f7274756e653534393232015146616e6379466f7274756e653535333537015146616e6379466f7274756e653538373433015146616e6379466f7274756e653538393033015146616e6379466f7274756e653630323235015146616e6379466f7274756e653639363738015146616e6379466f7274756e653731333638015146616e6379466f7274756e653735343734015146616e6379466f7274756e653735393539015146616e6379466f7274756e653833343439015146616e6379466f7274756e653833353933015146616e6379466f7274756e653838343532015146616e6379466f7274756e653839323030015146616e6379466f7274756e653930313331015146616e6379466f7274756e653935373732015146616e6379466f7274756e65393930333601581cd4162cfa26718e8a4357226ffbfc3df6a210b2a4d5727ecbfd1e8eaca14a4655444255443438313801581cdbc31b04d90b37332813cb4cee3e8f79994643d899a5366797e745eea1434655441b0000001a8d88305f581cde2340edc45629456bf695200e8ea32f948a653b21ada10bc6f0c554a24844525253343434390148445252533538333701581ce79441eb549e1561893723f82e1e3d3726f75949e60a6bcabb5803a9a85354726970707941646153314e756d6265723139015354726970707941646153314e756d6265723934015454726970707941646153314e756d626572323138015454726970707941646153314e756d626572323733015454726970707941646153314e756d626572333233015454726970707941646153314e756d626572333331015454726970707941646156616c656e74696e653234015454726970707941646156616c656e74696e6536340182583901f10edabf9cc0e807ae5a5b95691f2314378a5b63e53fe8b74cd7beb84637f55651101085916e6ddf86e07d129c50396a78578cc3eac8c88f1a0afda095021a0005f04d031a038fdb82a400828258208ff7998aef11d495ac964abf0a9c36d9cbd04e3e3797ea977aecd0022d1f867c01825820c60aedad00e50860d4631bdd09e6e3d8059d3d03d7da4f26937585bcd60cd72704018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab00825839014dd1bf0594cd6333774fa664b322a060456a23823489a6b6e9731f251f36eac04ef86721d3e3e8e2c3260682fdf712e273785408ab2286291a006e890f021a0002b06d031a038fb17fa8008182582055ceabdcb229cb8f52c921d40c2afa75f7c4fb044e810452c2f0e036e2950f32000182825839015c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3b9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c521a0024db3f825839015c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3b9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c52821a0014851ea1581c869fc72c11977e4be3e8e1cc63cca008a925886332795c9601f965caa144555344431b00000001fa9fb149021a0003a8a3031a038f92e7081a038f84d70b5820b1a74d3067a71f192bfa9df32b8750c69c6d7d10b4d51e5c96f37afd21b17de10d81825820777e043b163e0f4c0da57a894ee14e7f6ca87eaf6b3fa4faee3ba039774f6fff000e81581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3a500818258209507e2675c776b34487a5b005447e1495abc09d24624dc22dcd77049b365ea32000181825839017f411b580b2452276b425ad4e59ca6a4ccb32335885e8c307c8c8b9654c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b1a013625f3021a0002a82d031a038fa371048282008200581c54c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b83028200581c54c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a90082825820972f6b46cc2c14220b36da39c65462e8082020698c73a1914385dc5f9e09f4f20082582060dd5a762d89f645b8409706b9de36b5cc0204a3d0e6a0a2d24921d5e7bc060002018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001ad576a1581c7e605894cdcbe8d1933f0a8760d93bd121aca583cf21ad1c25e51fd3a1514d6164446f67436172436c7562383133310158202139e5da3ef0b42b369766776504d9d6b4d5dcf6f182f4c1922198b78a0883f682583901eb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a04f1f9c1068689d6441eaec95ec01cddfcdcd43bae0481993bbb2e0421a0044bf6c021a00078bd4031a038f9532075820125ba9159077ed7fdab944710348ec14f8b45862ab19e2de15a5bc34f92e17b4081a038f87220b5820b71d59ab5c77f25a053ecedce76731115cd7c8fc4760504daa880dc6141bbcc20d81825820c0662502e61ee2f58d4d20b1dddb82ae8b92b24cbdb7fb8d8755b269a6abd9f6000e81581ceb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a0a400818258201906e535589b4db9c3de9e20e8eee8794cfb4ff34df7ff74d6e0249585a3474b01018282584c82d818584283581ce8eae9e96ea5a4a634ac3ac0a33280527edccad7beb62e80b8558708a101581e581cc5d949b02e2323e44b483a69474eb1f3800cc89ebb5dc2b394a87ff5001a12658d031a8a1a9d4082581d61f73d3776f2d25e2b561bcbd7d3fb660b2ad8ad2d5fd39d7d8ddb81011b00000004c6d97579021a00030305031a038fa46ea900828258203cd3a191d42a9635c909064757bdf1330af5b18863768a1ede2690aa20592c0500825820cf5e7183a89cc56ba31def6367100e305cfe85a22951641964ffee0ac994efad02018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe7a14f756e77616e7465646f6e6532323637015820947e09389fd38c3f39d3d16223c71f839e853ffe018460c11dbd242686f54bd6825839011514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a363d4c4b05adc3079a711dca1eb608489c24d51ba14025b409c7c46b61a0044c024021a00078b1c031a038f9532075820019017216bb6326fe1057704978869bfecbbd9f04d07df412a16969f5fc56768081a038f87220b5820b17616e42c0949ddd2d907cfe0549f9314ee0fe6ce4afe893f57f323a6ecacd90d81825820f0802335a92d05daead033fc01ba000e640ad0df7d38910b71a20f21e32d7905000e81581c1514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a3a40083825820571d0c7dab8933070becc24fad347b825cee2d654f4f2a632d0443558085c192008258201dbae3a1b3569a4bf47ab795cdb9707fd2c1bae94c1cfa70f992f89d0ef17986008258202019500b946e5dff821da617a40eb6fe58c62556240f115ae9ddc63f80474548000181825839015902a4dbba231298437802fe2267ec92302270573e13a411702032fd3533f2cc4a19d0e33c410faed704ff559046383faad98ba25ae512a61b0000000288076737021a0005f500031a038fdb82a400828258202d5676e52e3c9a11478ca9b2bcc667045d8b85c4ceb1aee84231f3bc8ac60bee01825820f36de36dc21e8d91983b1060d96d20275ef8b0130cfdec0126def147465af7ae04018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00825839016fa2d7bf96ef21ad621cf62eea095773656e56f829d7c1b11892dbcc121f3953c88cc44c0f11a84f61d8501a36c27cc8ed13506b9fcb70561a006e890f021a0002b06d031a038fb189a90082825820f8db90ecafdd263320e5a084881d3709e19163d6ab469dc2c361dba9a6507f02008258209ad363c35e7744a576d9c0246c8e16bdef4771e113e91d26b440b897fcaec51602018383581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001b5c28a1581cd4e087164acf8314f1203f0b0996f14908e2a199a296d065f14b8b09a1581c636162696e31373241646469736f6e4176656e75654745333352333701582098a6d4c095600583b89c06b1bb979bf01a286832cf4bece2b64724f990ee1dd8825839015f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee8b44e72048d5cff347256b7a1b75e84c3bbd1135c4eb68b4f3d33a631a004c4b40825839015f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee8b44e72048d5cff347256b7a1b75e84c3bbd1135c4eb68b4f3d33a631a078b2e81021a0007bd2f031a038f9532075820350e1ba520aabbfbe0fe8e320af169cd4e0a55fb92ae21f6ea2d294db3a83d3e081a038f87220b582089971aa4f4056ff9eeea018db9b4bd535c80008ce27e110e8c7d1d0978bd227f0d81825820e00e38595f648795d472dd56b3703c157ef351921d996418d218764378fdea3b000e81581c5f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfceea80087825820e9c84b354d084c3a2ab93d9813ecf13b7ee31a7f24dc094a36e2459663d5d139008258207c6b4fab7b36d2b4ff75090391320963e81cfd68d424b37f4d71e1a072b7cc29018258205493c0c019b8b6c00f6f4270813e3e6c1d3c5c27dd984f254431ca9677145411008258207f866cf144c091eb0ab816cc684c89b57d35fcd25db9e3d32124a560e0339d0803825820b1ccc221c2acc6cdcd730958e85b647eb626b07d465ae658fdf1046c096e35640182582042980f6727fbc74a0428b35680ca9299f0b8257ee78e48510ea63100aeed5422008258207076256ab325a80ac8b8be90dccd994789c163c9e326339034857d2eb66fd1d705018a8258390170e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a721e78aae7c90cc36d624f7b3bb6d86b52696dc84e490f343eba89005f1a0328b74082583901f2ec7a984a0c4a3031ffedf5023d7c4a096cfeb36f9d5cdb62a3a60b5a3e49928622e4df54710f60d7138f58e80da503819b1b8d084ec5fd1a04bd12e082583901083583e222e251c427cc9e18f941ac569ab7382b953f15b226083b38df29973b55c77daa57d86ea1ebcf25827392aac5383e41d57b5846621a960e00608258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc8644821a004bd198ab581c1d7f33bd23d85e1a25d87d86fac4f199c3197a2f7afeb662a0f34e1ea150776f726c646d6f62696c65746f6b656e1a0066baa2581c2437b5d59bcdc45f7e3b58f3028c733e5680812a20c831179a9aaa3ba14341574201581c380db8204c61dde65bbebc0030a791ab3ad41c6424183636dd13b234a148756b7261696e653001581c64fbfd3dff606ab050ce91c4449f6ad7a5400232c283c20b1911c52aa14f5348414d524f434b477265656e393201581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441b0000000f51480fdf581c8cea09a81ddf9707fd2c80f544d984bd0e8f16898bba852c53bc1048a2464c414349453201494c414349453136393201581ca554f654df7fd2d2112271df6ef594cef5040d640d9828ac22db1a09a1581d43727970746f53616d7572616957686974655374616e6365733039303601581cae2a0aa5a24b27d9868c4a73b7c08077ac21baade5eca0fa467a2bbda1445852415918a3581caf4bb09f61b227e0043b50b37a2b4254208caa71c9e6c54653b0614ea148756b7261696e653001581cb34b3ea80060ace9427bda98690a73d33840e27aaa8d6edb7f0c757aa145634e45544119f670581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bda94f4368696c6c65644b6f6e6730333035014f4368696c6c65644b6f6e6731313039014f4368696c6c65644b6f6e6731363331014f4368696c6c65644b6f6e6731393035014f4368696c6c65644b6f6e6732303831014f4368696c6c65644b6f6e6732333630014f4368696c6c65644b6f6e6732393536014f4368696c6c65644b6f6e6733343831014f4368696c6c65644b6f6e6733363832018258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc8644821a003382aba2581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bdae4f4368696c6c65644b6f6e6733383939014f4368696c6c65644b6f6e6734323339014f4368696c6c65644b6f6e6734343535014f4368696c6c65644b6f6e6734373939014f4368696c6c65644b6f6e6735313630014f4368696c6c65644b6f6e6735323135014f4368696c6c65644b6f6e6735353533014f4368696c6c65644b6f6e6735363033014f4368696c6c65644b6f6e6735363439014f4368696c6c65644b6f6e6736373033014f4368696c6c65644b6f6e6736383437014f4368696c6c65644b6f6e6737323633014f4368696c6c65644b6f6e6737333632014f4368696c6c65644b6f6e673834313301581cda8c30857834c6ae7203935b89278c532b3995245295456f993e1d24a1424c511a0016ee588258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a004c4b408258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a1ff46b4a8258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a0ffa35a58258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a07fd1ad28258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a07e47655021a0018a47e031a038f9532081a038f87220b58207d514ffa5b877e7850460e67ce3c05eb1acc4c9f715500214374e899a84503880d81825820ca41b4c2b21cb2cd2928728b032396d8b81459138c2e180a9b79cf72356d30ec000e81581c30d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdca50081825820230d8a098ecb915d7a49a65ed0fe6a4d52ca4de653da24c693048889642e25dc0001818258390151aa9a1df1bd1fd47871770566569f505f0677734e4fd63e1d7b14f02d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e401a013625f3021a0002a82d031a038fa380048282008200581c2d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e4083028200581c2d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e40581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a900828258209f0d1c4ca7e22134e80f02d2b87aa4c2e6a9ea4006087ef0d9611948118976fe0082582057964d6707a6d5443da3cbadbcd5a5e91bb13bae826671f9b650a88ade7a3f2604018483581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581cffa56051fda3d106a96f09c3d209d4bf24a117406fb813fb8b4548e3a14c4d656b616e69736d3334303001582062015913df6e17b940cf56e7a59a6d7abe34a55c2181d5d4b256a8920edbdd3782583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a004c4b4082583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a084dd36d82583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a0845ef22021a0007e44b031a038f9532075820f2ded6aa6c4381df084da2f96d569f0e1e6c105627bf3ee29d9ca7479639bd11081a038f87220b5820b947448e8fd369ed5c8c2fe2ceb083b60d4c9f8a42e7cd864613d4dd87b23e950d818258209285833a0ae7ec1eed9446ec8580ef1029d30d60b4c2a6d5d06a932c88bb77eb000e81581c409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a4326a400828258203d54aaa1a827cde425680818bb7b51de0a78fb0fffd6c8b6fe5d7fa6001cb7f90182582006647bee00bafd3f6cfd88aab95c75a406daae174c833d2fb7e99e825f3ab08602018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab008258390109f67aa2e80864a44b937b93b155612b540d4f78636ef8586f7f7a23dd1f01f7e45adc5786c7efda411428fbba2d2fab79196705065678511a006e890f021a0002b06d031a038fb198a50081825820f766eb98fc31e9791d6eb627c735d26b9920a4f3815b46b81763ebf9a75d8fc100018182583901234edd3bb4232d3d4ec9af6a30c0535b7a0d3aa4fae1a2fe3effcf68750101d937f627b2c8d02617d38233092758c90306315685422d2dc81a013625f3021a0002a82d031a038fa38f048282008200581c750101d937f627b2c8d02617d38233092758c90306315685422d2dc883028200581c750101d937f627b2c8d02617d38233092758c90306315685422d2dc8581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a90082825820ed43684aa53531eddf70b651da04d0d3a1caae32dab96cec1d5c4ae1aae60326008258203378d0eac02e639fc7f95f039d1370ab0b0a9073530f88cc11e3973c5f2e18b804018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001b5c28a1581cdf44bef5a988e0b135145c505d734130f545dc959e764ac14c9ce983a1581a576f726c646f6643617264616e6f50617263656c3030313034330158207b7a3741743b206ce1a97ccf8cd17dfd3fbd6e72ba2d209c936ef5d2f639de1a825839011c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe8764015d0c47792a77d809ef5c2091bd8a508596a9ec0c6ceefcdb449151a0044bbd4021a00078f6c031a038f9532075820a10de9db89968fbfdb737431c19ff64ae10a2eba56fd38bc308e7c807ff0a947081a038f87220b5820f23a1875ce82b0e7c922d4a51d42a162537ee2de1eed4d669c123486863b280e0d81825820b3bfda7acde8142b40bae4bc2e484644ba9ef99b7112f77fb82499b5a0ec4881000e81581c1c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe876a40082825820d7e118287544a6c314a83acc9a07e98ce33b16212ad18a362ee6ec761335877d02825820d7e118287544a6c314a83acc9a07e98ce33b16212ad18a362ee6ec761335877d01018382583901a7395936e9d22ed02907e486203f99a06111ede53838cdb659d696236631d89f02ffdfcfe2e3c59374e0bc0c4f5db820cb551ccbef52b3aa1a02aea540825839012f2c5d0e79dda76b36e9042980400c244c98af9eb14d6d45a7d520c79f537ded22c54c52b3813272bbe32ebca1cd464aad3c085cd05837ed821a0014851ea1581c721f96b81933b34957d05bb050de2f1119e8379cb6223a36073e1a84a1434170651906f2825839012f2c5d0e79dda76b36e9042980400c244c98af9eb14d6d45a7d520c79f537ded22c54c52b3813272bbe32ebca1cd464aad3c085cd05837ed1a00809b6a021a0002a9b9031a038fdb82a4008182582035f72134c9403bd16f13ff07de3a6e26ae4b880f8f3682dbb6115ed01c23c58b0101828258390140c8c0dfd02233b721f5df56f9d6eb50eca4fe9c77eccafd70b6bd44bf7c1eada191ffac1913c949f361716becd5c7e67f6c7b35d78157021a1dbe22c082584c82d818584283581c776eb96b96e2cbce528a47278a736ab725dd13ce98c027ccb548ed70a101581e581c1afbc57540db1561adeaccd7f4894065965cd230f6bdc70722aecd8b001a6a14bf9a1b0000000356f30fff021a0004aba1031a038fa342a50082825820c408205ec74b918413dd68a28edea5a97161527f16af5d5f08a218e826a36b4f0182582091072ffdbb76c8e0b6d84a8e830f3a65278451c24a80c1535bf03ab3d19e8c4d01018282583901bff3aec4276ff91795df17846e6e02f75a6c9d55f63d6f227cf8e357d35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc0821a00161934a1581c026a18d04a0c642759bb3d83b12e3344894e5c1c7b2aeb1a2113a570a15820a08d4691c4c330a15bc2b96f3e4e4ae4f77373a01c4120479c34ca8b077b69571a0048b82682583901bff3aec4276ff91795df17846e6e02f75a6c9d55f63d6f227cf8e357d35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc01a00125a33021a0002c699031a038fdb51048282008200581cd35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc083028200581cd35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc0581c2a748e3885f6f73320ad16a8331247b81fe01b8d39f57eec9caa5091a90084825820349e8177bbb029afaf9e75cbdc14c87afa4df2a58c68534fe079444d29fc4855028258206d20057b67af696d68fc4d96fb21d55e379db4d9cf7b8594945b9f6c9ddacacd018258206d20057b67af696d68fc4d96fb21d55e379db4d9cf7b8594945b9f6c9ddacacd028258207fd937a8d123a00af180f5349a07bfaf2e8ae733b5f7f13f8ac593ceed39ae4601018283581d71ba158766c1bae60e2117ee8987621441fac66a5e0fb9c7aca58cf20a821a0044aa20a1581c9a9693a9a37912a5097918f97918d15240c92ab729a0b7c4aa144d77a14653554e4441451a0d8bc806582032bf880b151bb2fef6146fa91ded0088b5a0a45afb0b7d3ce579a0ac665709f482583901e82071bf8bf1b23bb0342474025dc364bd941cdcacd3aee3ba7edde5ae254322c32914496dcc712b63a2b03181eb432b103a0879ca691c291a04555071021a00034a65031a038fbeed07582068c09da87243e0be2be7d69b3379d2b5a850f1954696e153d822ba5719349671081a038f86ae0b5820187c580d283eff82d4b2bca65b7ae0bdc17bd8f2a7c4f3caef119294fc4223f40d800e80a40082825820de3c537ce0c38ae88af92054a12ee1b295a85847cb50277e663bb69f4adbc25d018258205343abe99fde3e3bf3ab0381d7b8ce73ef3123679784e9dbba9181baba6c835004018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab0082583901c87375648b4564812032271c381d2cabba04a8d637c1b5dc2b0f2f7b27a0599a122ab8c40ed9a266240dc39c7210581b0212dd9df531b57f1a005e8a15021a0002b06d031a038fb1a4a30081825820c25efb810672a57d27b620dc95897feeec41ab7cb62fdc0057349ee042f6d42a00018282581d617534f67a28eccb47b41e47a0de11e0628564cbb833b2e3ed065bc22d1a001e848082583901eeca19727937266ce80edbc6ce8d6518597c6a440d51f722fcd16f83cb37341431e1467867d14ac6fd58cf88f63487db7f667f4b23a08fbc821a0208d27fab581c0357ddfcd058650e6ef5f299b821482f9bfbaa4783bc5dffbd3c246ba24d4e656f6e526163657230323638014d4e656f6e52616365723037313501581c093b80c2d0fca1e50d06e6fff5d22ea06c37a70a36fca1999cb34da8a2477374696b32333901477374696b34373601581c48766b78dbb52c7fc4617acf4503a9f40b2f0fb3448ba0ab0e1fda09a14c5374696b4672696b3432383801581c6cfbfedd8c8ea23d264f5ae3ef039217100c210bb66de8711f21c903a144434e46541907d0581c7a5a5c3757d33c2b2ff0b09405676e61f93d28b5d12805dd3320e31fa34f43727970746f44696e6f3033323235014f43727970746f44696e6f3034353334014f43727970746f44696e6f303937383801581c7baf77830c4daca79423b3dd4c89462b24b959c143f1f1762b1a91cca14c42617246696768743035363301581c7e206036ca4345a7c45d37d2dff0d7280a0854ce26d279e06f7d94f1a14f4e696674795465646479303633313401581c887e4d7b2e7d574484f8c780abef1599ce0bad1c751fb14ccdf9d410a24f44696e6f536176696f723038313434014f44696e6f536176696f72303831373901581cd05264552c50565fd705256b5b2a8d7faeec622b9a13678a9e5dbf4da15043617264616e6f4265616e303532333601581cdb9092a340fa079b9ec6066b646046efc0f846e96abf7eeb5f3959e0a15153757065724f47486f6c6465723133303101581cf4bc41c3e4a92943bf87752be1230960ff3eed2f88645a20ecda0faba24e48696768537465616b7332323537014e48696768537465616b733338303901021a0002f26da600818258203b67241d8340805b2346466ca33d07b98fe9dd0547ef611eff648bef80f69cc300018282583901c1fe07dc6d292de403f127297e26ebcda40bf65952bb96a9742902173651e6ca8542c78818b7fff0d5c075a03ceaa9826c6694399c7ef937821a00200b20a3581c4c3f8a1773b7813e537a75f7b1b2897996bdc0e1d6d7d0c11252e252a1504d6f636f73736949746f32313630333701581c5d5b205252b9f5016422d0eace869d7fd45074a4ea4b6c1dc78d1705a24e4d6f636f73736949746f39333533014e4d6f636f73736949746f3938363001581cd4473a78ae992ed6d95299e7177b45c8053d5db5495467a29ff0c780a1554d6f636f7373694d6167696350696c6c30383036330182581d6104df95ba9c9726b4ca3e5b1a59d3b04c6f5feb90840573d81c8949241a01ebebc7021a0003fd59031a038fa388075820698683d4d4e60368506630e1e8ce0a173de6c099d1f303cd50f81d3f027ee83409a2581c4c3f8a1773b7813e537a75f7b1b2897996bdc0e1d6d7d0c11252e252a1504d6f636f73736949746f32313630333701581cd4473a78ae992ed6d95299e7177b45c8053d5db5495467a29ff0c780a1554d6f636f7373694d6167696350696c6c303830363301a50081825820de034f70bb7be6424036cafdbab0145e31ee25d330534d43a04f90ec98139cb201018182583901b0a829369d268f9e5ff663ee2eed9627b0e946c0e46dbd695f49c5877850e39a8d898d870895fc7856c6241a9afbdccf92048ee6e3d3973d821a00562ec8a2581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567daa525061766961506c757334374d696e7573343401525061766961506c757334374d696e7573343501525061766961506c757334374d696e7573343601525061766961506c757334384d696e7573343401525061766961506c757334384d696e7573343501525061766961506c757334384d696e7573343601525061766961506c757334394d696e7573343401525061766961506c757334394d696e7573343501525061766961506c757334394d696e75733436015350617669614d696e757334344d696e7573393901581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea14550415649411a00014582021a0002d275031a038fa35e048183028200581c7850e39a8d898d870895fc7856c6241a9afbdccf92048ee6e3d3973d581cdf1750df9b2df285fcfb50f4740657a18ee3af42727d410c37b86207a70082825820753171c1c1e1ac4250eec363ec654eedf4cb22bc4b46ea70f7aec04835b322ff00825820cef395be4d3c084e767df232fa7ada12100464e699aeb1c9e15ac1cc972f8fd501018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001ad576a1581cc364930bd612f42e14d156e1c5410511e77f64cab8f2367a9df544d1a155426f7373436174526f636b6574436c756232393130015820fbd4e01191c77b4a86bed064f26f5fb206310cf9e9d616a0633334464de4ba6b825839014171a3c5d9ba4903da966f28b64b34047c05fcbb823ff3b2318eea9502fcdcd286eab6c9208b926d44a949a15cd189248b77463c45f7a9211a0044154c021a0002f300031a038f95780758203f9924bc4c61807f438a53ec99c43d318f4c0c4b15fd382addcc73556c85828d081a038f87680e81581c4171a3c5d9ba4903da966f28b64b34047c05fcbb823ff3b2318eea95a9008282582021e2766e588db76d6a5270f6878e9aa2a1f0f6b38e6c65f9d274a444b6ec22ef008258204cb88157c6ec0c5acb3a6abf5b88526c7dbfe18f7a0201799891070bec9dd3e502018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581ca587ce7893ec56fa6136e483499d2a8210e29c34b7dc673446128875a150436861696e734f66576172303130363301582072ced45253405a64f4b18d98e7899f0bee782afb81d5d2b753f284d15802a47b82583901c5457eb1c10330527b63686115cf590cd8e3d4747612608434877f21d0981f3a0c4e89369765e3954e7d7fdde59b4366afc940844a7e979d1a0044bfc8021a00078b78031a038f9578075820ddb8c2750592496dabab0acaea643978fb229a1edae06c349c5adefe47b7f6c5081a038f87680b582063d1b4767500305cdb5551647d10fe3815abd3420ffc885e95b32821cfbe72440d818258205e4cf8b192825b529e0aa01506ad1f8fbc346db0f45d01c06c48e2e80df74682000e81581cc5457eb1c10330527b63686115cf590cd8e3d4747612608434877f21a700818258207a352df38355c7430a32b20da7c8f29df1651ed1c27f8f8e1e74df37041f6e5301018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581c9cc83ea54377108dd022f18095040e8d5808a3061c4fe54f3fd64a7aa15048616c6c6f7765656e417065333035360158201567758fa3f080420bcedab6772e26082edaea3c970aee2dc6b2fe4a42831f9b8258390175a811ef1ec0b52e5cf428cdaf9bdeea9521c6dab3cf9edaa5860f2cbab07dd07eb77bb06494a07c060c8c7fba6a6b9bb156ccd9c6ad79e3821a0115c692b83e581c0171c997b8853fde686763d93b36ab8e04ce947bb6aa09a9ee5c4401a145544f4b454e190682581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a00030d40581c1079cdd8bf9c146f7703aa19f26c6726134e2bcfce9fe0572d7c5864a554414441446967696573536561736f6e34313033370154414441446967696573536561736f6e34313638300154414441446967696573536561736f6e34323130330154414441446967696573536561736f6e34323731340154414441446967696573536561736f6e343338383301581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e192710581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b000000041d03f0a9581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a002dc6c0581c26737d4f7e75669b71490fbacc4521a7027ca2d70e0a4603097686d8a147245345435245541926d4581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e192710581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a07735940581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a000927c0581c2eb3e6eac64b7119f948b5529909e45a8e29c88563fa6a3deb78519ca143484159190dd3581c300ec0d82a79acdc0616fdc0ef615e7deeddb03275e834685e9ee8a6a14258541828581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e10581c443726318f7a3995686a79f65ed48fdb79aaf576aecaee354d8ba018a1444e49444f1832581c4d742ef81dfba15faed09f1fa68723e283633c65ef1e1a0a0cd766c2a25042616279456c657068616e7430393034015042616279456c657068616e743135373901581c4fd0d998dc0700ca6ef89fafff05fbf523a3a25c1fc8314bf7e4d1c2a14647726f7774680a581c4fd6d8b1eac12b029cd68acd25220c20dd13b9c4b0d0b585d49135d3a144534143540a581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431896581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f5705581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b79190dac581c56673962a054070732569178ba2b3e1cb591e3413ecd7b57a9e3f18ba1454245414e53197530581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a0daaae20581c5fa72fbeecbe80a3e15de1cacab54ba5e310e2c36ae85351132ed4ada14e4c6567616379506173733234363301581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d424945190bb8581c6787a47e9f73efe4002d763337140da27afa8eb9a39413d2c39d4286a149524144546f6b656e731a00035778581c6954264b15bc92d6d592febeac84f14645e1ed46ca5ebb9acdb5c15fa1455354524950191388581c6f91ee54902dbe0615b1e6de69538d1cbbebe4a9d913643291e81035a14e496e76616e64657273506574333101581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a1a00013880581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521b0000001196167c20581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1832581c8a3e9f98aee1972b2841fd43802266d595ea8d0f823bbcdd3c44e7dea150496e736f6d6e69756d4172743134393801581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a035c4fa9581c95ef7829379af37336b98b487c03c389c288cf938f54ddccd10185c2a14d536b756c6c4c5056536b756c6c02581c99cca2c1a06dce51069d7e401af25f9dd06c44fc16eaeadcfc84f959a150414441706f63616c797073653333353901581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e14581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591ad4d0d592581ca3914cb7a564d010c7b67774ac8720a8ece3a758279b51d8a1c05cc5a1495745444e45534441591864581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451914b4581ca89568bb399d0cdc38367e47831c95186f5c79e58174e08a18232396a14a4554424643546f6b656e1a02fafb55581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421aee6b2800581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a144515549440c581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a389fd980581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1b0000000d0ffb9026581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a1445245534919015e581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a144444942531961a8581cc9f955eeffa84e42363b4992281d32dd2f9239153d6c66420a9acc15a1434c4f471a78696596581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1904ec581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e05581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba14442454147190113581cd6fe6efa7788cb70e57a91891605e3694352cabb4837e870610300e9a84b41646141726d7934373734014b41646141726d7934393034014b41646141726d7935303135014b41646141726d7935353139014b41646141726d7935353537014b41646141726d7935353737014b41646141726d7935363335014b41646141726d793633373601581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e73182d581cd9589c1a401765c82dd3536bf8f9f4337e15dfbf708e3a7f7e2f37e4a34d436f736d696350616c343739350157436f736d696350616c7350726f746f7479706531323837015818436f736d696350616c73563250726f746f7479706532303901581cdcb16550b3831a9c675b5bd827ad0ffced2dc0310b0d839c5c1dcd5ea14d4375746544756465733334393201581cdd2bebba256099ddbc70d691935215d6dfd73cef054a087207947e89a1424d4d03581cdd69528872e351a402d3edbc6d484cdc45119d6aa5d1869a09473daaa2474d61783238303001474d61783431313901581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a02625a00581ce5768de32bf1f5ee36035217e79466739eafbbbe6a7348afc3fc593ba14c4672616b74616c44414f383301581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a000f481c581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa1496d3833676962736f6e01581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a1444445465319015e581cf2eb8567e5df9167a40561f4c69e47d809138b2269e01e512aec2d8da1581c746f6e79726f6765727364657369676e4a6f6b6572436c756230303401581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c1914d0021a0004f378031a038f9578075820b99fd21a4a11a73e21f85d77b6b8de0b200920f6848fe2bc1b87c8456386dd4b081a038f87680e81581c75a811ef1ec0b52e5cf428cdaf9bdeea9521c6dab3cf9edaa5860f2ca40081825820747a6a1db4f8736c9c5c95bb2b61df8cc33e953d4e715812aa02f985223842b000018282584c82d818584283581c29c92990e371d5f2add93b1569a42a68f971c2aad6c5f0b94a2205e8a101581e581cbe2051244aa9875a75e59415f371ddae995c0d9d576fc30954621fb2001a5a4b22241a08ee124b82581d616904e8b2c26f3dda6c4a5db4b3ec9e31d581c9960977cfe9c6917a431b00000003a1848268021a00029cd5031a038f9578ff9fa40081825820d2beea31ad3bbc59b0d50a84a9395e9f55dca859ac7a78da7b0c1ea946fdd3635840862fa2a74c6b0873f8d22c5db5557c334df0470d773813a7c349772475bbbd6232b68cd2535a0b9774a6999446fffb197062812d3b60406fa2c753eb60099a02038359014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c0159030b590308010000323232323232323232323232323232322232323232323253353300a53353301322533500100b2213232325335533553335734603c002260286eb8d5d09aab9e002153335734603e002026038402202626603600a00620066aae74004dd51a801911000980200098081bac35500222222222220091622153350011533533300d00c48811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10033301075c0066a00444400442a66a0022c4426a00444a66a0062a666ae68c07c004400858074580614cd4ccc02c028cccd54ccd5cd19b874801800c4c848888c010014d5d09aab9e00415333573466e1d2004003132122223002005357426aae7801054ccd5cd180c0018990911118008029aba135573c0082a666ae68c05c00c4c848888c00c014d5d09aab9e0040152675c4c4c66601ceb8004d54008888888888801c854cd400458884d4008894cd400c400806c5844800458cc035d73ad13253335734602c6aae740044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c848cccccccccc00404c04403c03402c02401c01400c008d5d09aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026aae78004050dd51a801910011aab9d00137546a00244002a666ae68c048d55ce800899198059aba1001357426ae88004d55cf0008081baa001100922333573466e3c00800402848800488c028894cd4004014884d4008894cd4cc02000801c4c0280044c01800c44880048488c00800c88c88c008dd58009803911999aab9f00120092323300c33007300635573a002600a6aae78004c010d5d10019aba100200722123300100300230032233335573e002400a46466010a666ae68c02cd55ce80089919191919091998008028018011aba1357440046ae84004d5d10011aba100135573c00201260086ae8800cdd51aba1002003120011220022323001001223300330020020012212233001004003153357389210350543100162216370e90001b874800810483d8799fd8799fd8799f581cf17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef68834ffd8799fd8799fd8799f581c0ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853ffffffffd8799fd8799f581cf17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef68834ffd8799fd8799fd8799f581c0ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853ffffffffd87a80d87b9f01ff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0581e436f726e75636f70696173205b76696120436861696e506f72742e696f5dff1b000004052630985a00d87a80ffd8799fd8799f4040ffd8799f581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0581e436f726e75636f70696173205b76696120436861696e506f72742e696f5dff1b000004053c986f6c00d87a80ff0583840000d8799fd8799fd8799f581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7dffd87a80ff01ff821a002b53291a3f518324840003d879808219c7841a01a0f8a5840100d87980821a000468ac1a070b470aa40081825820d2beea31ad3bbc59b0d50a84a9395e9f55dca859ac7a78da7b0c1ea946fdd363584096b10ebf20ea7d705db9cd8bab939d2b8ef242e0fda9762e497badffd5484050b1e56cc456e63cb48d13f497600ce05740d1f0da450b97816841c16284779e00038359014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c0159030b590308010000323232323232323232323232323232322232323232323253353300a53353301322533500100b2213232325335533553335734603c002260286eb8d5d09aab9e002153335734603e002026038402202626603600a00620066aae74004dd51a801911000980200098081bac35500222222222220091622153350011533533300d00c48811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10033301075c0066a00444400442a66a0022c4426a00444a66a0062a666ae68c07c004400858074580614cd4ccc02c028cccd54ccd5cd19b874801800c4c848888c010014d5d09aab9e00415333573466e1d2004003132122223002005357426aae7801054ccd5cd180c0018990911118008029aba135573c0082a666ae68c05c00c4c848888c00c014d5d09aab9e0040152675c4c4c66601ceb8004d54008888888888801c854cd400458884d4008894cd400c400806c5844800458cc035d73ad13253335734602c6aae740044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c848cccccccccc00404c04403c03402c02401c01400c008d5d09aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026aae78004050dd51a801910011aab9d00137546a00244002a666ae68c048d55ce800899198059aba1001357426ae88004d55cf0008081baa001100922333573466e3c00800402848800488c028894cd4004014884d4008894cd4cc02000801c4c0280044c01800c44880048488c00800c88c88c008dd58009803911999aab9f00120092323300c33007300635573a002600a6aae78004c010d5d10019aba100200722123300100300230032233335573e002400a46466010a666ae68c02cd55ce80089919191919091998008028018011aba1357440046ae84004d5d10011aba100135573c00201260086ae8800cdd51aba1002003120011220022323001001223300330020020012212233001004003153357389210350543100162216370e90001b874800810483d8799fd8799fd8799f581c810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701ffd8799fd8799fd8799f581ce8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51ffffffffd8799fd8799f581c810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701ffd8799fd8799fd8799f581ce8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51ffffffffd87a80d87d9fd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1a393eea2dff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1b00003eaed6ee89f100d87a80ffd8799fd8799f4040ffd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1b00003eae9d654aad00d87a80ff0583840000d8799fd8799fd8799f581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7dffd87a80ff02ff821a002e31c21a47031f98840003d879808219c7841a01a0f8a5840100d87980821a000468ac1a070b470aa10081825820fb3489db31b38c778630731b325decff64b5e61b84dda1373919e2dd60581fa05840e28e18b7036cff92909f410e38afafeb0d5ec576c15abbd24ec0ebcc3606c15ff56ecffd487bfe3e55d86234e2499a860f623df5e9378d18ca6486c860d0d60fa1008182582035c82179e6ecca4d76c9eda5373f8311343031169f69df83b0b35df96d682e7358400b00dadc6add4efe756f01911a0203ae9c9fa29508e6241052038e44d5652bae7351f93e4553eefcb1c89db0469740785e6838f9ff4beaeec28a4de0412ed906a200818258205b4078fc270bc5ff67a69b06bb79fbe11785f89e7566992d16b4bb8a3af2fd045840158e623d6c44cb42386357514c0d0da4dd68c429a4d699aaa1bae52912a61ca6f136b6023bef92d11a6aa0bfdab394b377a535992ea50517199674cc98011008049fd8799fd8799fd8799f581cd612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecbffd8799fd8799fd8799f581c6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3fffffffffd8799fd8799f581cd612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecbffd8799fd8799fd8799f581c6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3fffffffffd87a80d87a9fd8799f581cc88bbd1848db5ea665b1fffbefba86e8dcd723b5085348e8a8d2260f4444414e41ff1a05f5e100ff1a001e84801a001e8480ffffa10081825820ce447a05ec6a264b285c487d571dbbbb27b9ad2e3f78ae0eedb0b80b303f89035840ffda7ea9c47c921da1617b8c953617b95b6ba32a61b04374e52e906ae04a548fc0da9a7c46665d8a5b897fb29ba783cace2aa4dfca3fb193b6048cf9043afe09a10081825820e4f5392a6ce18c5dda7df23f01e4567506f03d3d06b635a9d50e310aad1872ef5840ac164319ade11d0523614727cdab2b9c71f4dfb4ed4362f2653ec2adfd69a767b85caef2c3f40b79b9cfdc5b985e83d2755e14fb528a73af84d4fb87e6b4d101a10081825820bbcab2f33ba4b54187c62af0a738024274991166cd16eeddc63021aa8194e6355840aeb984db220555ac1d2fa2a6f9d5881630fbf3d97c564f3eb1ddd3bb608b29ad8a84f3305dc1861f74104e1a010f37227056452c57c0bb62a01cef3e7c52d703a10082825820e18372f98a9e5466724d62bbdf28cf004eae1e41461121dd890475e572e290b258408ad98c8cd86936b3bc78e03706468b3f886dbe10d1c0c9322ccebfdf242c9c7e942e581d5a6e3d363649b10306a95c68d4d44fd648adaaacbc28dc4914e3f603825820c0df7514cc214a06f3a0c0ed0b405a000610e559d6aa826bbf0b5dfc2d58baa35840c0cb9f0965d986992f8aa0d6977d302811f04d8ae88aa193d3abe6c0618af8b436c86b6e65b9b4918f9c243f7c4098a200a3a3006f83f0fd99ffb605aa5a860ba40081825820638b21486e07dfc3d181079df45519833da3ce02e9e63f9ce18971eb5154f1575840a40f75f7635529d2adfbfb9ec46059d0e4ebab1670e59b4bb3786acfcceab67d3a69db30c87e231c447e6147b6567a70c3f46eec11c9a4e23ac29774c367440c0381590373590370010000332332233322232323332223332223233223232323232332233222232322323225335301533225335301a00221333573466e3c02cdd7299a9a8101980924004a66a6a040660249000299a9a8101980924000a66a6a04066024900019a980b8900098099bac5335350203301248000d4d54054c0440088800858884008004588854cd4d4088004588854cd4d409000440088858588854cd4d4088004588854cd4d4090004588854cd4d409800440188858588854cd4d4088004588854cd4d409000440108858588854cd4d4088004400888580680644cc88d4c03400888d4c0440088888cc05cdd70019918139bac0015335350273301948000d4d54070c06001c88008588854cd4d40a4004588854cd4d40ac004588854cd4d40b4004588854cd4d40bc004588854cd4d40c4004588854cd4d40cc004588854cd4d40d400458884008cccd5cd19b8735573aa010900011980699191919191999ab9a3370e6aae75401120002333301535742a0086ae85400cd5d0a8011aba135744a004464c6a605266ae700900a80680644d5d1280089aba25001135573ca00226ea8004d5d0a8041aba135744a010464c6a604666ae7007809005004c004cccd5cd19b8750024800880688cccd5cd19b875003480008c8c074004dd69aba135573ca00a464c6a604466ae7007408c04c0480440044084584d55cea80089baa001135573ca00226ea80048848cc00400c0088004888848cccc00401401000c0088004c8004d540548894cd4d404c00440308854cd4c034ccd5cd19b8f00400200f00e100f13300500400125335350103300248000004588854cd4d4048004588854cd4d40500044cd54028010008885888c8d4d54018cd5401cd55cea80098021aab9e5001225335300b333573466e1c0140080340304004584dd5000990009aa809111999aab9f0012501223350113574200460066ae8800800d26112212330010030021120013200135500e2212253353500d0021622153353007333573466e1c00d2000009008100213353006120010013370200690010910010910009000909118010018910009000a490350543100320013550062233335573e0024a00c466a00a6eb8d5d080118019aba2002007112200212212233001004003120011200120011123230010012233003300200200148811ce6c90a5923713af5786963dee0fdffd830ca7e0c86a041d9e5833e9100010481d8799fd8799fd8799fd8799f581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3ffd8799fd8799fd8799f581cb9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c52ffffffff581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a31b000001807994d97bd8799fd8799f4040ffd8799f581c869fc72c11977e4be3e8e1cc63cca008a925886332795c9601f965ca4455534443ffffffd8799fd87a801b00000002731a757effff0581840000d87a80821a000271001a03938700a10082825820acad41ba2c170813aafaba25f0e3053f891cb156e4b62424505313552cae64145840501a43e58da4b8a51145b1f5879405a60203a1d874ad676009384f1380e6202659df10b22965fa03fcd14718e5b740ba058935553bd99e17ec996a5a987a100682582036ca45fd31120d18b3ae2d02997b0ef86973218aad613e5be2a4b6d376c64f1558409ef310ea9677e87ab273347c25e3298c4dec5040bf0e8c8fe3ec330b1fc2a0731571684f61c904d72fa529933a3338dde7fd49330263350c273725f668a2cf01a400818258206bbc0507086cb8c7ce2e6c45c72875e18c4aa05580c61b8448c3c556f4e40dd85840bbc0f5bd612b6330256336666491c30e178cb79288163f2aa211b42c7e32679c522c393e081af160af7650e48351b8dd794f197c78ee67bfa02199df8a1e7a0003815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581ceb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a01a1443fd00581c7e605894cdcbe8d1933f0a8760d93bd121aca583cf21ad1c25e51fd3514d6164446f67436172436c756238313331581ca037e568c8268f9661753b323d73e009247cb0048b513cd1d979b1311832ffff0581840001d87a80821a000c94ca1a1555eae2a100818258205f8bda213103ea2e2c2daeb31c9c41fb867c4b081c1f6cfecd02c2f33b884d295840132326f4834623ead4fccf6cf97f5a8b7b5eb7fc18c70624a4588882a4dc20846145d3a476dbd732270b002203e7d8e732682c6c79f23e89a19a25f530a1e507a40081825820a900e690cf0459e20c01b857647905e321843d20f75e17f97d78b0ed1026c2ff5840c3ca19c13e76b018587ce32d55ede8ca1a47ec7160b6a9f2d29632a058393fc05e830076316acefe0f46e43ed4a85fe893cfba22ba44eed8a9d2f8a57cdef90f03815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c1514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a31a0bdc7fc0581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe74f756e77616e7465646f6e6532323637581cbca70d25accc9aade71b3733520522e1485f2fe4ec792bf47535a9131832ffff0581840000d87a80821a000c94ca1a1555eae2a10082825820c6ba8e7798d11fa1244e9037c9c63ce90c45b810f126fe5ea8391e5fa171e3f0584001db8b7b18c778307eb16cd8ca296314667386a84d4e9611aa7275d624ef16546c214a632864c6a83a602cd11359cb57101853892c47d918af39f9895369f80f825820883b9c6ac4af92b5c1ce772ebb5e3ae48b33c21a6fbef6d623050862f82b85705840ec51204b1d4276c26ef4458233a2c127967ee055694b9d13054c57a18fbac24708163d6c5bbeeec9b66496347981771a207cc1cbd5d4f5898ceb04ec5aa4ed04a100828258200779c1f8bfebda065ae9addf2bad902a607f9e90f3f05d02fe46ec9e597cf7225840851f415a84adee3c45ed3d3b45128c6f3e35edc31362a023ebed36f72de97478c03fb7c6cd89bcef2159c0542ebdf45e13185cb98bd5c5d15504ca6db8920d08825820d88d4d7db21e9af90cfd034cbe6695cf4d8b0fd1d4c7bf7473d95688a28ebbf0584056efd37af9cb507e5ee8c1d4de6393764c3fdb634c7a1589e63c1300e7344d482c75f130f4b5425a381b1650448c866c70d29ab082d1f49c39862247bfd8fa09a40081825820b12fe05fb163d99284fd131c2f0ddb392974e56be18910d7c04bbca528e7ffd0584069d07334b87bf8ef65768426770023769ed06275576a23a305c9f77444356165177a69dd3ff8b03126605fd3a878853c30f73ea5edc5fa9a28410c36e0cc440203815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c5f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee1a173eed80581cd4e087164acf8314f1203f0b0996f14908e2a199a296d065f14b8b09581c636162696e31373241646469736f6e4176656e756547453333523337581c4b031cbfd476d7efd6ec84012aeaa11a5ec9aa4ce53973764f5099bf1846ffff0581840001d87a80821a000e07c81a17ddaec8a400818258201798930d74e173d30c8da0156ebc9c1c628c672cc492b2176ba66cde91c8a71458400cf01e1a3c3a9d59e232ea861f41dbeae873574077266143b2d7fd36ba7d23ce190db3ca5a2a2707258d76bd426c06951284a6de539032b34fc3da72cb1e1e0d03815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c083583e222e251c427cc9e18f941ac569ab7382b953f15b226083b381a9df3ca80581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bd4f4368696c6c65644b6f6e6737323633581cf2ec7a984a0c4a3031ffedf5023d7c4a096cfeb36f9d5cdb62a3a60b181effff0581840006d87980821a00d1a2771b00000001191ddab9a1008282582086821f8fec915fe673d20f2b6e92cdbfd4ce41ebc8e9113f5a5380a7df76144d5840e859d15380028c31a65f8b8df7e1b5a76f894c31fbdf442b61da5b590ff0613209e838f4a646935cbaf8bb02a706c10fa9678a211c6f0ca3b29302b09609e0018258209d2d2e2620fa6fc2abc566d4134612b0d8dbabc995c499e69c1f4f0b130937d2584042c338da9f9bc9a961c61c03fa12552edd0ede976b9987834462f6a9a76867f1c99c6aec8940f2350cdb2844c483d4975ff2242b4b7482afe58cd29326d6df0ca400818258202ef78a1f92a2f5a2874e68b627ab7e4e5c335374514bb54dfdafcb8a5c30e06558400731d17332140bf96187841e8a96c1a7dbadc1ff11201de7fbd466a373c254e1cd3d5e10b0f9e144e7607d530c4975cc5d1771727eac02a6044a94eb5e0f620403815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43261a52d9b780581cffa56051fda3d106a96f09c3d209d4bf24a117406fb813fb8b4548e34c4d656b616e69736d33343030581cf32d80def34c2b88fcf3e35d105d52ccc80f06d39f12c1fd7e511ed91846ffff0581840001d87a80821a000f7ac61a1a6572aea1008282582027958568d4782414f5ab55c3430e4152a96285bf646f1737d5ee19c36288e4d45840dc03065bda688d77b603ee379d3a373d0398b0516b70cb0636dd853f386cd4da8a670e37649a2659bc10bc84059547752239c8e7a476071e5368aa745bcfc702825820dac0f11f6428347f48b4af35d8d75c1aa66d0c9bdbe8a05d0e650cd305169991584032fc72e77e4ad449ac000936d4a62256fcd784f280316a3dee0b79afee484a2ea56041f931f725fad2eb4e267d9fd8f47e6f4517942e75885596d376c1396d05a100828258204a67890e9eade252307d164a82ce301bd46415fbca95691a4883d319760a02ff5840e73c2d47ee3bf91f9be46e26a6bff7007dfc8263fe82cce372c27280cb644ac21a02ee6354851c576b7eb87cb7dc5ead6d7a1365330a6a5a25712cb2555afe0b8258201e3dc1afe28b25c85b810ee1f4a0593b444d851a9df40d558808a48c6e380c1f5840017675fc47efb232d1362c5b4cb2215a3f59031b7f4f2135df8ff2eeb55ccde02776f2a4b1773801da3b80fa67afa4ce8bf06c8e6b9ac7c1d5bf3397e352b50ca40081825820109df4e67da956585ed5d99fd9589a964a40e5682d126dd010e41064aec98cb658408fe5eb09b8ac269e5aedb276a2c3f9b7a03220e036d58fc1ab36862a780884b1fabbf28159952932b9c958432eec2438dee8cefebe7f12fe4ba28f474aff7b0703815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c1c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe8761a10642ac0581cdf44bef5a988e0b135145c505d734130f545dc959e764ac14c9ce983581a576f726c646f6643617264616e6f50617263656c303031303433581c66852b646783d742ee167a163e5e648fcf06df16b5688d1e42cd2c3a1832ffff0581840001d87a80821a000c94ca1a1555eae2a10081825820e7df8ecd4ff7069579fed70da54bc7e3e47c5b9c943b19cfd3e5a30851903ee758402f5c35d410f92cb637892e40b0e28413196cb8e1c990c9d20446a1dc36653e91795f231810e41c8331cbaf46d886c503b6573c62889fde882fdaac5fb3dd2600a102818458208b66d7f3bf0629a3cf791984bf0fa4568b83106c9257818e63edf63142e9bf2a5840663e1738484b39fc8cc7a459be5f8f5611ff12595c03895aa797df1d963813a6d751376c52dfa4f7080d964c311a3d2448367d22e72b220f146eee763494230e582022cc1a6495cb1639e562a07c9aa86a4cf54e3dbb6839aa4ee6f0b6a20dc349ad5822a101581e581c1afbc57540db1561adeaccd7f4894065965cd230f6bdc70722aecd8ba100828258200dc9f84d2881aa478375fed96aad49535e630e29968f8b245c24366a0d7632495840e6f02fbccf7587b84919b3b906437d36710095c40395fcb894f8f032b0a28555586dc314b6d235e02dcc33406b010d337fd67aacd0b4cab3c5d6a48b7f1091068258201d26e9065a29875095ef033d4dcd5b5830fca1316b5d5663988358de764946455840844a6552c3e301a8db049026f1a7ef97e1d840a51191d1b17c38e62eb45b78084ffb319ba31f16237b6a1f022ebe241c991e8892793454483859e45db5f65a0ca200818258204022566b27944548c7ca15d82c41d739720d3d1575e265e4c8efaa8dfd06006958402ef05f6e195ffa395b97832f431a7ff9ef9566e668b33783cbc11851e74e39d75d0fd73fb3eaeed7dd31934ee6639dd2f54d698a02c078bcf5672c8885b7c3060481d8799f4108d8799fd8799fd8799fd8799f581ce82071bf8bf1b23bb0342474025dc364bd941cdcacd3aee3ba7edde5ffd8799fd8799fd8799f581cae254322c32914496dcc712b63a2b03181eb432b103a0879ca691c29ffffffffd87a80ffd87a80ff1a002625a0d8799fd87a801a0d8bc806d8799f1a01e5e4bcffffffa100828258208d753228c6941fb5d49ce589f14d52713dcbe4973f3c6dc09b11cad6da0eec5158404d2263d0605c191fc8454a4bcdc99626e92447305ce19d6ee714e0d49af033156b3de56cc9062e20c285f519277d2aa794649524f83bf099e36903494a97550d825820cadf8f39dd5f31ce983a9fa1035342b1895202393f86b11939e404817e0be2575840850cd638d118fb26da56aea0f0e3cca68f1451ca9e70e98e6db2f942613841a95fe61bfa81ccafde3c0a2fe9e7a466b30cd1a4e923b222aa1b7eb1c3bb9f970ba100818258206ffe60302fbd0d26ee3d9600e1b8821da995bcd24846a0d0107893744c1804905840e998ca7033ba046ebb312d88d952c8e44b7ac52dae5d19522708525be3b5eb6f8bf9e8fc9d44d43d5cfffcd458c84adc581f301519387f57e1fb4a84d7dcdc02a20083825820f14b486ef4a8727e70762f8934a0c4f3d762effd51c918aa18e668877691cc105840bfa1299e90648857a83976ac074652abec87cef3fe0f8428ac38d9e31ffc36f9e79fca6ef338eb7378234ed4edbb0e42484ea648ae1f99d3fe8dd603e3e80909825820ab27338de0ba9e080c17ffa6cc62fc2708220328e86300fccc9142303fd478a6584023d4298c739f3f1f854ca39ba88aa0ab9b2693bdd257a7030afb48b14682556810a0888d83d37806a000e2fbd55eedcc835e44840caed8b53c7923c456e5410982582068f128b4960cb5230e9d2a1095a36420bdc16dcbe4b96a89d378236806bbe0195840bbabfc98c12311ebc4907905ed9e0c4a0d413c501e1738d75bfddf05becd2d94239173bf00f82a50d74bec09c72c732ad6e6d0ad1d4b01616f693a8b4e518c04018282018282051a0930821c8200581c7261329c8aae4fa032fa8e35a7a94e15771271606b947e41777ab9ce82018282051a0930824f8200581c7148953e189335953142a436822bac2653df066fd8852949f0d7be4ba100828258209bbecd8099a124e5d21310623afdedad8e0687663a86e229f6c745ec14b8a6a6584019d437ee0e907a7664962e4be2cb0001c45854467a9e2a539fc8d3ee26baccc96e7294012899d635a91be2995221bda70e6e7187e285d3c4a4d41c258be69c0d825820f9e60a76de7bc5f9f47da80e0bf1495ac939251b399ee610c059366b67af58515840463735b0dd7840955d1c1717d9051104c9fb12b7458a803655cb35602df73188b85eb4f7eab70a675b9ce9c228d0b94e62b0041b53df5a8c2e792ab45275ab0ca10081825820a6cf1fdfa2d880f1a0d653ed0bf5b9b40bbcbb84ca879fb20c88994413a98f4e584022c8a8a4260f6d3712936d0b0a44c597ddf721a56cb7acdfbedd9d77e3afc74581b5778aa6e8857de397af77dc98e68dd71e64d9e4ba4011d247856872910102a400818258203c06fd15150414de67ba79f996ce54a2bf1f2e8bb14021c38fd4466e21d48cf65840027f3e8674953fa10198a848cac11ccbffb5599bf76b3041d0a200916b06b7278d66ef5c91d4b3a329934c4516998b3d62efcd2aa4808e691afe674688e63a0603815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581cc5457eb1c10330527b63686115cf590cd8e3d4747612608434877f211a11d260c0581ca587ce7893ec56fa6136e483499d2a8210e29c34b7dc67344612887550436861696e734f665761723031303633581c09234c6af55ff7f7b7429f73bd8dd6ac9ebe1348ebefa345e9758666181effff0581840000d87a80821a000c94ca1a1555eae2a10081825820b4d9e333f9a823738242fe3550e18b959e93429e491d68e79a7d7924967762f1584009865750b6dddaa04f2de9b0d26798d00274529b2c0f5669abc14431e479ed8c75a320b4a2725f365235690166acf79c7aff9e7984c56160f37a08ac704eb40aa1008182582067cfa131e284e6a4d794dd86f04d4ed904eace4f17ec54ff086a0dafaf8e005758400d0a55c7b48b74c690c1965bbb1f45c8809b670dbaed75048d17df4ae699bf71a3504bfde1095bcbff5d43b5c73787fbfcf4b8b2a87de408837e345a9c13ca0effae00d90103a100a11902a2a1636d7367826f4c616d696e61722052656c6179657278403062656139626632633131626565363661353331623163316434643636396238373164666531386330613336393132363232323562336439613634346431326201d90103a100a11902a2a1636d7367826f4c616d696e61722052656c6179657278406130343330353363633633373139616633343639646266616637333734396537376233363861643436393138633531343863353536343830373363663030306204a11902a2a1636d736781781d4d696e737761703a2053776170204578616374204f7574204f7264657205a601693930393030303030300362353006784061646472317138356e326333376e38757838717a6b747877356a786b763679387777737a616d34306d6d72637537666c70706575713066786879346867766a6d07782734737865377070616636327173737937336467746e61393771343379793974787333386d35676608784061646472317139643337656865656534326e6b356a716730333275747874656132736c34326c777a6d6e3674363861346c61736c37376c77327839793770617909782768716d6b746375736534757676386a7a6578646b6636616132687a6b636e7633717770333572370ba601693234303030303030300362353006784061646472317138346b336e6a6e6d7435757335376866383073706c616c36757a787938677a63716473326766763479787766677a3072377770713672676e346a07782779723668766a686b71726e776c6568783538776871667176653877616a757070716361753071630878406164647231717873723065746765716e676c396e707735616e7930746e7571796a676c3973716a39347a3078336d39756d7a76307732767a6378726e6e6561330978276c7a6733796563786c77736e61713872727270746c78786b756b766c33713678733736326a39630da6016931333930303030303003623530067840616464723171793233666865633836636e72637071306d337168386573717a7471346661616d71677168686c6c6566346d66676d72366e7a74716b6b7578707507782736777977753538346b707079666366783472777335716664357038727567366d7130383032737a08784061646472317178373277726639346e78663474303872766d6e783573397974733573686530756e6b386a326c35773536366a79617a66656c39326a647667657209782772657273636834367035707a74647071356863346e6c78746774763576366e3471366a6637727810a60169333730303030303030036237300678406164647231713930337877306e68307970647872667034616c37336e75347964396863753967667a3634643063686b396c656d3574676e6e6a716a7834656c6507782735776674743067646874367a76387737337a647779616435746675376e3866337364616a386e710878406164647231713939737838396c36336d64306d376b616a7a717a32683235796439616a6432666e6a6e6a756d6b666167666e306c7037766c32326d3975763877097827726c7932657a61677a746d6174336532616a677571667134357763706b71717571676d356b776513a6016a3133353030303030303003623730067840616464723171397166753932356d333264367a3963716337377174326b76633271686768676e6b336c333366637263647978666e74766c757065646532687038077827736c68617161647477306735683235786e6e7335707772366c3875346b656c687370333975356508784061646472317138656a6d7178373764787a687a38753730333436797a613274787673726378367730333973306130656733616b64797864386c7566656330723409782770643833616a7a6e6a7739336575666738796a377439307978636a637a6e68397375637933736516a60169323630303030303030036235300678406164647231717977787478323777376a70307370706834776d36346335756e6d326a3564746c7875373775766e376a343773616a717a6867766761756a356137077827637038683463677933686b39397070766b34386b71636d38776c6e643566793273656b3371646e087840616464723171396e6732326d7976377061777368777a65617076306a37766a387537706b6c7a36366b337267376774786a637773653573376b333668716c757a097827337777336132756c643475733877616a346d7570306a7938717470703432326373306578366877181aa11902a2a1636d736781715353503a20537761702052657175657374181d82a11902d1a278383463336638613137373362373831336535333761373566376231623238393739393662646330653164366437643063313132353265323532a1704d6f636f73736949746f323136303337a76a61747472696275746573a76a4261636b67726f756e646470696e6b64426f64796e736b656c65746f6e20636c6f616b644661636565616e6772796347656e0268486561647765617269636c6f776e2068617467506172656e74738219248919268467537065636965736349746f69636f707972696768746c32303232204d6f636f7373696b6465736372697074696f6e78245468697320697320616e204e46542066726f6d204d6f636f7373692070726f6a6563742e626964193ea565696d6167657835697066733a2f2f516d63686a6e5a7345764c6f563250486e4858526b7577614b76684a316b387978504a686f53514d507470544734696d656469615479706569696d6167652f706e67646e616d65734d6f636f7373692d49746f2d322d313630333778386434343733613738616539393265643664393532393965373137376234356338303533643564623534393534363761323966663063373830a1754d6f636f7373694d6167696350696c6c3038303633a76a61747472696275746573a36a4170706c6965642d746f684272656564696e676746656174757265781b52656475636520312064617920636f6f6c2d646f776e2074696d656450696c6c68466c61736869746f69636f707972696768746c32303232204d6f636f7373696b6465736372697074696f6e781b4d6f636f737369204e465420666f72204d616769632050696c6c73626964191f7f65696d6167657835697066733a2f2f516d5a45527574573353466e4475596a4a38557048735a73624857366f61754b73353134384e62654e3141424361696d656469615479706569696d6167652f706e67646e616d6578184d6f636f7373692d4d616769632d50696c6c2d303830363380181fa6016a3134343930303030303003623330067840616464723171397168726737396d7861796a7137366a65686a33646a7478737a3863703075687770726c75616a787838773439677a6c6e7764397068326b6d790778276a707a756a64347a326a6a6470746e67636a667974776172726333306834797373757930776374087840616464723171386373767a7a39723234647863746b726e6d6476747577616833796572636b6c64706b79636777326d647a3234666b37667279646676776661640978276566666a36767776336e356372647367616e6b30667038647434787264746730716c30376c35641820a6016931323030303030303003623330067840616464723171387a35326c34336379706e71356e6d766435787a397730747978643363373577336d7079637979786a7268376777736e71306e35727a7733796d07782766776530726a343838366c3761756b64357865343065397167676a6e376a37777364786864676b08784061646472317179796a786e72323734306c30616168673230683830766436366b666130736e667234376c673639613936637665356d6d72343336723238686379097827726338346b71787737726a686c6e61647a6d36796d733638336a64756e77307671716e6a6e77321821a601673630303030303003613006784061646472317139363673793030726d717432746a75377335766d74756d6d6d3466326777786d3265756c386b36356b7271377439366b703761716c34683077630778277866393971307372716572726c6866347868786133326d78646e333464303833736d76786b6a38087840616464723171387767686e3664737a74723675686e70346b30676c336d366a397538327179686a71727732336e3634743839347232326d707763786830656e7009782779653970686d7434656e6b73796a7734663963653564756a716a6b6c7234736c716734726b786880")] + public async Task DeserializeAlonzoBlock(string cbor) + { + byte[] cborRaw = Convert.FromHexString(cbor); + + const int concurrencyLevel = 1; // Number of parallel tasks + const int iterationsPerTask = 2; // Number of deserializations per task + + List tasks = Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => + { + for (int i = 0; i < iterationsPerTask; i++) + { + // This call should be thread-safe and never fail if the code is correct + Block block = CborSerializer.Deserialize(cborRaw); // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue @@ -93,4 +121,31 @@ public async Task DeserializeBlock(string cbor) // Await all tasks to complete; if any fail, the test will fail await Task.WhenAll(tasks); } + + [Theory] + // conway + [InlineData("85828a1a00aab3351a087627515820e13008ed2878e76bec0a7d8b9cce09bf0954b1de7df25e529a9fbb727d00a8fe5820884bda542e411996a77aa9eae42bb7135bf318f21223272e0ba8f6531c8fc6f758207939de8b59dcc48dc96903763bc544cb145c72f57c1ff6aa2d954938e92c2182825840030d6c4da9a6d75239d89d7c4d393505ff6e46c5a8281b8fbfd35a373f3587959794ccd903831a82795cb894f2d104ce397ce0e6538062b01aee71521b8fe6de5850004131777b6bd82b9d65ebf3e586ba7ea193cfc16887724a56aeaddbcce3cffc40217595bfe78cbfb26b8f4521548f8073189e82b3fdeb0a0c1099e7787cb4b166fdc6cdf0ca7041aadab8cfed55530919093358208c420c878f10208c6ea8e219c9ccf10710b8323d00581028a5246bdc6f6eb893845820dbbafa8dd141507d22f03dcbb034f32a52233ab77560476239aac53d1a19be5a1619042d5840ef364b08ab30ca2d6731fb5edb2a86d520315cedddd724b2b7ef4646d1f60ef8ade88f32e79d4beb58cec04dfc214d4743ad2f9b232a2ebfbb0e8915a8a1e70d8209015901c0261b318072ac4bee9670513ea46b31cd45a8b9af8499ad79e9b42fb5a974cefd2338981b6dd8f126541cf2d3a6bb83aff9e062124c8cbe3b6d203ea5401c0b06cc401a42831e535ed2beb69199a11aa883c07a3e4ffe3365b3828cb97abb5be0f48ed8aaa8a0d998dd337d7c893d992e8e475e9db3639afbda80a87acc5f4ba215126835530f42f69481514721a8d91de863ef6dc51c053e4846081ff6984e9833faae8ea0f1fe1896cd687099807c6915c8eeddfef74c313499d7544d61f4d8790a23c4817d53fb5d1ca22e57d4958d6dd0443626ab4446debd98e21f070793f0051c2655eff26ca34a7c5ac7bb6b129af95b73ad3b071d0297fb3b422f3c6d20f35f2131d513811f40a861dc7ba8d2f4bdb2be2113b219a05f326d635709edf49c119cc929a3728c91886e3b781a241893103c8063c98203fc7139dfa119b4b66d2ff8d796f2c53c1ac91fb3bc1ad9f18b2d58c2360820ebf5e3f40514dd10f8d54413ef3c14d2825c6eef2ffebf6771653736e13685969751d3cd31f293944d85c6c025349262e479ef4aa9531d7de3bc57ce599afdc6ec4f452e7fc89f20b076f24ea3aac036c0bc0c163c262839b1d854556570316451b20e05feadb88d84a4008182582033c0049e3b1c8a47c9c0879aa595da1eedcedb99876baa9398138fe7e5cdaf86000182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02160445e0993401c21bfcc5958fe7523c582b4036be914ce854307df5011a0c136e40028201d818590102d8798c4100581c9607a38a73da1c6c104aba3edbad7bf6ae820816407539ecf540eaf7d8798240401a0bebc2001a000927c01a00802dc3d87982581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536a4b5341442054484520434154d879821a1908f02f1b00000002540be4001a0007a120d87982d87981581c8d9913a5d5e98c6aab297d090dd0cb4e850cf238c534b6a9dd907213d87981d87981d87981581c160445e0993401c21bfcc5958fe7523c582b4036be914ce854307df5581c8d9913a5d5e98c6aab297d090dd0cb4e850cf238c534b6a9dd90721381581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e4776825839018d9913a5d5e98c6aab297d090dd0cb4e850cf238c534b6a9dd907213160445e0993401c21bfcc5958fe7523c582b4036be914ce854307df51a0023394c021a0002d09107582010b3cd99c9eb9ddfb67964a72cea96cd80be25fe7c8b161f3c999dc1d3358378a70081825820f8e308859e29fc128d0b70188ff5747aa7abc7dd0d339839d499ec4a03aabda9000181825839015455a2fd7ea563dbcf4dacf267d9d2326b7b7ce2b82140f536a1b8883219ec303b9f9facd2c6f49ad14a4ed5982b6553da4e90e3196a1b881a11ed14b0021a0003d0900b5820a5b75a3d7bf7ebc7e003f09fd99add064f71cc0f45035e3d80ce02c9b02bd9100d818258209349ed1f38b09100a5eaac0f4ad42441af53e70ce06bf57b566395f74a2ec1cb000e81581c5455a2fd7ea563dbcf4dacf267d9d2326b7b7ce2b82140f536a1b88812818258205ec56338104fcbfe32288c649d9633f0d9060abce8b8608b156294f0a81d29e201a800828258208f6646b372d3232eecffb9ef2cfba7b1dff3247b5fdccda22bdc4ecd7bd8042500825820f1b5a90ad9e754577b51dd476de8fbfa0d951e82cdf693346cc30fb7503b159b000183a2005839018d9913a5d5e98c6aab297d090dd0cb4e850cf238c534b6a9dd907213160445e0993401c21bfcc5958fe7523c582b4036be914ce854307df501821a0016e360a1581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536aa14b53414420544845204341541a01005b87a300583931905ab869961b094f1b8197278cfe15b45cbe49fa8f32c6b014f85a2db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821a70fb3dd7a2581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536aa14b53414420544845204341541a24c0e7cc581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b8a15820e216425600a641a314c19a32fff56f751f5bff81740f2232693d607379f3bee401028201d81858e9d87989d87982581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b85820e216425600a641a314c19a32fff56f751f5bff81740f2232693d607379f3bee4d879824040d87982581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536a4b53414420544845204341541b0000001166b125ce1a001373c2581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761b000000028f200558581c8807fbe6e36b1c35ad6f36f0993e2fc67ab6f2db06041cfa3a53c04a581c554daf3e27e50c8c779713be6ba70f95c35f23f0552a28e5a7a340148258390122aea2da15e494e01767145d48bda16b6d437f1c449823a044193daf299a82ef56311aa10adf04c0072d4870eb9f4d5ff315132434841b741a00297bc7021a0005d19905a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b58203a98f88216e5025db28f06e90c56b3def9f35e3ac2beef37aef7f09ace7a60c00d8182582006f24741c2cbc3f59096046de95fcd5d90a77e5378d95fd60f2ec261aa5c7981000e81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761283825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820c4a540ac2e06c217dd4fb3f39ca3863da394ba134677dafa9b98830ca71d584d03825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a400818258203f43134f45bcadea987e8dccbb569a4526d764787a2adb4045da6543142c8fde01018182583901b610bfca05d92c04eb6a460c2570d6d467813052608c7390daf0017d3afa303ff7969d061294da7def04496d6a87a7c6dde3acbf78a81d131a418b90e9021a00028774031a087627f484a1008182582020c38545a0a4dc453f98da0390d2dd5236bb81a7c11a73415262396cac156eeb5840c5af8bd8a617e7a07a5ae9a1babf6ff10c8ebd63d24866421eb0d597cf680f99492b144b08592ec408c1d2cf87bbe0f095e5b2d1a59839a511791ea4b1d7bd09a200818258201e2fd4178008a65e0d7d67c5fe29886dc825c48dd6be93afa90152106b9a93115840e39d41754c543a562b2664326f12369b3ee7f1088460aae06aa24a0b51b4a8f77d399fdb16f8e25cc5462a3b4fa5cce2c9c263946ff5a93ba56f0f169e76e60d0581840000d87a808219c3501a00989680a2008182582014585da9857b30cf57edccac19d3012b602bb5650c7726a5f1504d9614d205225840811625a2dd2b98db4a8ab7679d6f0e96dc8221ed925699e5e137db3e98099f4512df97e2a593a20c4acbc259e686e6838723cfc8580aae7e8648596d7e4d66060583840000d87a80821a000186a01a01c9c380840001d879830101d87980821a000864701a0d1cef0084030080821a000668a01a09896800a100818258207c344966b70455b888ed29a70cae086e24fab05e53ada41706c91a2f4ba9202f5840e4926495d6fb2d57746ffd9cb183a48f92d2836bb064631407dd5728a3cf222947153eed9ce05e7fc15541e27bc463f97cd726a3d45fb2cd4c9cef614deea409a100a10782582084d7eaaeeaaba1163a821a8b2e65865f8255a7d8d70197bcaa90465ac0559bc658202cd2d799d8afed19fb68ae8aba25178d4cb2ab4efa6536bd60afabb30560560c80")] + public async Task DeserializeConwayBlock(string cbor) + { + byte[] cborRaw = Convert.FromHexString(cbor); + + const int concurrencyLevel = 1; // Number of parallel tasks + const int iterationsPerTask = 2; // Number of deserializations per task + + List tasks = Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => + { + for (int i = 0; i < iterationsPerTask; i++) + { + // This call should be thread-safe and never fail if the code is correct + + Block block = CborSerializer.Deserialize(cborRaw); + + // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue + Assert.NotNull(block); + } + })).ToList(); + + // Await all tasks to complete; if any fail, the test will fail + await Task.WhenAll(tasks); + } } diff --git a/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs index b2254b95..a23525b4 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/TransactionBodyExtension.cs @@ -47,18 +47,18 @@ public static IEnumerable Outputs(this TransactionBody transa { ConwayTransactionBody x => x.Outputs switch { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, _ => [] }, BabbageTransactionBody x => x.Outputs switch { - CborDefList list => list.Value, - CborIndefList list => list.Value, - CborDefListWithTag list => list.Value, - CborIndefListWithTag list => list.Value, + CborDefList list => list.Value, + CborIndefList list => list.Value, + CborDefListWithTag list => list.Value, + CborIndefListWithTag list => list.Value, _ => [] }, AlonzoTransactionBody x => x.Outputs switch diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs index 5af587ee..e3e6e977 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs @@ -35,7 +35,7 @@ public record AlonzoTransactionBody( [CborConverter(typeof(CustomMapConverter))] public record BabbageTransactionBody( [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(1)] CborMaybeIndefList Outputs, [CborProperty(2)] CborUlong Fee, [CborProperty(3)] CborUlong? TimeToLive, [CborProperty(4)] CborMaybeIndefList? Certificates, @@ -48,7 +48,7 @@ public record BabbageTransactionBody( [CborProperty(13)] CborMaybeIndefList? Collateral, [CborProperty(14)] CborMaybeIndefList? RequiredSigners, [CborProperty(15)] CborInt? NetworkId, - [CborProperty(16)] PostAlonzoTransactionOutput? CollateralReturn, + [CborProperty(16)] TransactionOutput? CollateralReturn, [CborProperty(17)] CborUlong? TotalCollateral, [CborProperty(18)] CborMaybeIndefList? ReferenceInputs ) : TransactionBody; @@ -57,7 +57,7 @@ public record BabbageTransactionBody( [CborConverter(typeof(CustomMapConverter))] public record ConwayTransactionBody( [CborProperty(0)] CborMaybeIndefList Inputs, - [CborProperty(1)] CborMaybeIndefList Outputs, + [CborProperty(1)] CborMaybeIndefList Outputs, [CborProperty(2)] CborUlong Fee, [CborProperty(3)] CborUlong? TimeToLive, [CborProperty(4)] CborMaybeIndefList? Certificates, @@ -69,7 +69,7 @@ public record ConwayTransactionBody( [CborProperty(13)] CborMaybeIndefList? Collateral, [CborProperty(14)] CborMaybeIndefList? RequiredSigners, [CborProperty(15)] CborInt? NetworkId, - [CborProperty(16)] PostAlonzoTransactionOutput? CollateralReturn, + [CborProperty(16)] TransactionOutput? CollateralReturn, [CborProperty(17)] CborUlong? TotalCollateral, [CborProperty(18)] CborMaybeIndefList? ReferenceInputs, [CborProperty(19)] VotingProcedures VotingProcedures, diff --git a/src/Chrysalis/Cbor/Converters/CborSerializer.cs b/src/Chrysalis/Cbor/Converters/CborSerializer.cs index d189f027..6bfb78a3 100644 --- a/src/Chrysalis/Cbor/Converters/CborSerializer.cs +++ b/src/Chrysalis/Cbor/Converters/CborSerializer.cs @@ -46,60 +46,77 @@ private static ICborConverter GetConverter(Type type) where T : ICbor return (ICborConverter)cached; } - // Check if the type has a base type with a converter attribute - if (type.BaseType?.GetCustomAttribute() != null) - { - Type baseType = type.BaseType; - CborConverterAttribute? converterAttr = baseType.GetCustomAttribute(); - Type? converterType = converterAttr?.ConverterType; + // First check if the type itself has a converter attribute + CborConverterAttribute? converterAttr = type.GetCustomAttribute(); - if (converterType is not null && converterType.IsGenericTypeDefinition) + if (converterAttr == null) + { + // If not found on type, check base types + Type? currentType = type; + while (currentType != null && currentType != typeof(object)) { - Type[] genericArgs = type.GenericTypeArguments; - Type constructedConverter = converterType.MakeGenericType(genericArgs); - object? converter = Activator.CreateInstance(constructedConverter); - - if (converter != null) - { - _converterCache[type] = converter; - return (ICborConverter)converter; - } + converterAttr = currentType.GetCustomAttribute(); + if (converterAttr != null) + break; + currentType = currentType.BaseType; } } - Type? currentType = type; - while (currentType != null && currentType != typeof(object)) + if (converterAttr != null) { - CborConverterAttribute? converterAttr = currentType.GetCustomAttribute(); - if (converterAttr != null) + Type converterType = converterAttr.ConverterType; + object? converter; + + if (converterType.IsGenericTypeDefinition) { - Type converterType = converterAttr.ConverterType; + // Handle generic converters + Type[] genericArgs; + if (type.IsGenericType) + { + genericArgs = type.GetGenericArguments(); + } + else + { + // If the type isn't generic but converter is, use T as the generic argument + genericArgs = new[] { typeof(T) }; + } - if (converterType.IsGenericTypeDefinition) + try { - Type[] genericArgs = type.GenericTypeArguments; Type constructedType = converterType.MakeGenericType(genericArgs); - object? converter = Activator.CreateInstance(constructedType); - - if (converter != null) - { - _converterCache[type] = converter; - return (ICborConverter)converter; - } + converter = Activator.CreateInstance(constructedType); } - else + catch (ArgumentException) { - object? converter = Activator.CreateInstance(converterType); - if (converter != null) - { - _converterCache[type] = converter; - return (ICborConverter)converter; - } + // If we can't construct with the type's generic arguments, try with just T + Type constructedType = converterType.MakeGenericType(typeof(T)); + converter = Activator.CreateInstance(constructedType); } } - currentType = currentType.BaseType; + else + { + converter = Activator.CreateInstance(converterType); + } + + if (converter != null) + { + _converterCache[type] = converter; + return (ICborConverter)converter; + } + } + + // Additional fallback for generic types + if (type.IsGenericType) + { + Type genericDefinition = type.GetGenericTypeDefinition(); + if (_converterCache.TryGetValue(genericDefinition, out object? genericConverter)) + { + _converterCache[type] = genericConverter; + return (ICborConverter)genericConverter; + } } - throw new InvalidOperationException($"No valid converter found for {type}"); + throw new InvalidOperationException( + $"No valid converter found for {type}. Please ensure a [CborConverter] attribute is defined."); } } \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs index 5e73d5a7..153dadbf 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs @@ -26,32 +26,25 @@ public T Deserialize(byte[] data) where T : CborBase { (int? Index, string Name, Type ParameterType) = parametersOrProperties[i]; - // Check if we're at the end of the array if (reader.PeekState() == CborReaderState.EndArray) { - // If the type is nullable, we can safely set it to null and continue - if (IsNullableType(ParameterType)) + if (IsOptionalType(ParameterType) || HasOptionalAttribute(parametersOrProperties[i])) { constructorArgs[i] = null; continue; } - // If it's not nullable, this is an error condition + throw new Exception($"Missing required value for {Name}"); } - try - { - byte[] encodedValue = reader.ReadEncodedValue().ToArray(); - MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; - object? deserializedValue = deserializeMethod.MakeGenericMethod(ParameterType) - .Invoke(null, [encodedValue]); - constructorArgs[i] = deserializedValue; - } - catch when (IsNullableType(ParameterType)) - { - // If deserialization fails for a nullable type, set it to null - constructorArgs[i] = null; - } + // Deserialize the value + byte[] encodedValue = reader.ReadEncodedValue().ToArray(); + + MethodInfo deserializeMethod = typeof(CborSerializer).GetMethod(nameof(CborSerializer.Deserialize))!; + object? deserializedValue = deserializeMethod.MakeGenericMethod(ParameterType) + .Invoke(null, [encodedValue]); + + constructorArgs[i] = deserializedValue; } reader.ReadEndArray(); @@ -76,6 +69,36 @@ private static bool IsNullableType(Type type) return false; } + private static bool IsOptionalType(Type type) + { + // Check for nullable value types + if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) + return true; + + // Check for reference types + if (!type.IsValueType) + return true; + + return false; + } + + private static bool HasOptionalAttribute((int? Index, string Name, Type Type) parameter) + { + // Get the parameter info from the declaring type + var memberInfo = parameter.Type.DeclaringType? + .GetMembers() + .FirstOrDefault(m => m.Name == parameter.Name); + + if (memberInfo == null) + return false; + + // Check for any attributes that indicate optionality + // You can extend this to check for your specific attributes + return memberInfo.GetCustomAttributes(true) + .Any(attr => attr.GetType().Name.Contains("Optional") || + attr.GetType().Name.Contains("Nullable")); + } + public byte[] Serialize(CborBase value) { Type type = value.GetType(); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs index 2ef344b2..1c3b6ccf 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs @@ -40,11 +40,6 @@ public T Deserialize(byte[] data) where T : CborBase Type baseType = typeof(T); Type[] concreteTypes = GetConcreteTypes(baseType); - if (Convert.ToHexString(data) == "8182584C82D818584283581C5C7D7EF14E09F2DEB82BC8C43381AEFA2E871760B357D7F5385E34F9A101581E581CC9A4C68C63646830C5F13C51549C6B2B52918D239ECD44C2066EFFCF001A833C18221A3B9ACA00") - { - Console.WriteLine(); - } - // Instead of await, directly block on the returned task: return ParallelDeserializeAsync(data, concreteTypes, baseType).GetAwaiter().GetResult(); } diff --git a/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs b/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs index 52c14059..41b17e5b 100644 --- a/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs +++ b/src/Chrysalis/Cbor/Utils/AssemblyUtils.cs @@ -6,7 +6,6 @@ namespace Chrysalis.Cbor.Utils; public static class AssemblyUtils { - private static readonly ConcurrentDictionary<(Type GivenType, Type GenericType), bool> _assignableCache = new(); private static readonly ConcurrentDictionary _typeHierarchyCache = new(); public static Type[] FindConcreteTypes(Type baseType, IEnumerable assemblies) From 1ca963ddc817f36f08280cd530a77ba78b38967f Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Fri, 20 Dec 2024 16:05:18 -0500 Subject: [PATCH 095/162] chore: bump version to 0.5.20 (#111) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 0217464f..7f06d7c5 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.19 + 0.5.20 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From cceca776a9910c208f04be07fd274729928f30d4 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Sun, 22 Dec 2024 16:37:24 +0800 Subject: [PATCH 096/162] refactor: add base CborReader initializer that sets Conformance to Lax by default (#112) --- src/Chrysalis.Test/CborTests.cs | 45 +++++-------------- src/Chrysalis.Test/Types/TestData.cs | 4 +- .../Cardano/Core/Extensions/BlockExtension.cs | 2 +- .../Cardano/Core/Types/Block/Block.cs | 2 - .../Cbor/Converters/CborSerializer.cs | 11 ++++- .../Converters/Primitives/BoolConverter.cs | 2 +- .../Converters/Primitives/BytesConverter.cs | 2 +- .../Converters/Primitives/ConstrConverter.cs | 2 +- .../Primitives/CustomConstrConverter.cs | 2 +- .../Primitives/CustomListConverter.cs | 2 +- .../Primitives/CustomMapConverter.cs | 2 +- .../Primitives/EncodedValueConverter.cs | 2 +- .../Converters/Primitives/IntConverter.cs | 2 +- .../Converters/Primitives/ListConverter.cs | 2 +- .../Converters/Primitives/LongConverter.cs | 2 +- .../Converters/Primitives/MapConverter.cs | 3 +- .../Converters/Primitives/MaybeConverter.cs | 16 ------- .../Primitives/NullableConverter.cs | 2 +- .../Primitives/RationalNumberConverter.cs | 2 +- .../Converters/Primitives/TextConverter.cs | 2 +- .../Converters/Primitives/UlongConverter.cs | 2 +- .../Converters/Primitives/UnionConverter.cs | 10 +++-- 22 files changed, 45 insertions(+), 76 deletions(-) delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/MaybeConverter.cs diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 5abd06ed..dee2c1e6 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -46,30 +46,7 @@ public void Deserialize(TestData testData) } [Theory] - [MemberData(nameof(CrashrTestData.GetTestData), MemberType = typeof(CrashrTestData))] - public void DeserializeCrashr(string testName, string serialized, CborBase deserialized) - { - Assert.NotNull(serialized); - Assert.NotNull(deserialized); - - byte[] data = Convert.FromHexString(serialized); - Type actualType = deserialized.GetType(); - - // Act - MethodInfo deserializeMethod = typeof(CborSerializer) - .GetMethod(nameof(CborSerializer.Deserialize))! - .MakeGenericMethod(actualType); - - object? actual = deserializeMethod.Invoke(null, [data]); - - // Assert - Assert.NotNull(actual); - Assert.IsType(actualType, actual); - CrashrTestData.AssertListingDatumsEqual((ListingDatum)deserialized, (ListingDatum)actual); - } - - [Theory] - // conway + // Babbage [InlineData("85828A1A00A0FAA91A07AF97F758208FD832B38F12F6E1572E9BE0D63465B66D3A9413E39F550DF43476B46C609BB558207194702C765EF7F9E333DAD00C7CA3C2065EAFF5288B177A726B65CFE79379D458201B60A27DF5CE4FC9BB19AF1643815652154CDFBF609D717D9693C07E795071A782584077D15CC438BD3CE4E3E2B17F1B20D85952F069A3EC3BA294FABE9418B296F028DB590F3DAF42A6400A7CAAB0D1A2E25278737326C47C068FA451ADB828044AA85850FBD7FAAA1B9D85F47CA75277FC1D6E987825562026137CDE28A7B5DC21D7FA4D828030F911B1A06C6D759A7747AC3DF362B5DB156B373AC7A9C380BC63F9C9072355484D935BA871C50FA8898432280519380B5820A6651F0265DC9DC19819C20DC2719D6C172037AC798D43312D594DA50442998C845820B095CCD982629951A205A35A81543B3C6F0EFFA999E376D02C1443D510A6F7F70F1903DE5840E4DCAACA8A990945BC5D8F9AD076638ECB5D39D1BA084EA5B27B93B14CE658BEDCB6D5FD1ED133A16769C19B77941890D0ECCAAE4E74F2502FA4E102590CDE038208005901C053409B7ECC3FE5C73FB288DD219CD00EA1ECAB1FE6A0AB877110AB3D2D887C3000F8A10EB2DFBC8BE936D860628C5688D322EDDBB060F70C3A3FA07E568B9A08D133872360CE3A176C4013B9236A90444561F705BB126DD3621B32D9A0EFB86BCF86C02BE0187A039A2AB426D47ADB5128891DD8629639DFA6282AFF8A25206D8F3225D5BC3EFD255897E0FF5728F24556B88F7967EC543376C61D4A186BBC63411A80D8F76680F048886110EED82EA1EF1AA52DDDA81B2DAE2CC9D0EDB59739DE87A4AADA86C41A80FE46DE204E65A9491057690768FFF9A2187356F003FB4A5CA9D816B6836967A9F1C24ABEEF7026CF60FEB48CCE2A5779B4442CF07053D285331D4A67BE56F2F4BB3F87A7D3DEB31DEC91849BE166261108B1B7CDEA0DCA2FFD41026D5B4AC3F246CC3213461A0B9F5C47DA887956CAC51CBA000820A944DB011B3C5A4B6A59A6C332F07C614FA1CC66DFDAC6744268065E4F0E936C6830E50CF83DC7824A2E9DC6E754A138FFBDF7626E485136A43712175462840664E7D5EDAB3606AC58A127B4745785C9B972212350AC0FDF08C4E1E81864D6131D64E9175B979222CD46D7FCBD300DA1774E00526E38AA67333FC835ACAD5242ADCC87A400818258208B1981199658095573859313ACE20F2C933D5AF1E81650733E36DF6E06E9101501018282581D6124D274BFD913B241A8CCA20C6977775718FDDB8F3763F1D365C854451A001E848082583901AE07890AF80E4658691A834F880B3F8142D35F08B7E0A574A787521FFA40984DFE75EA6085AE8D27F52934AF3D0A42A391C514E78A6CDD561A01053236021A00028CAD031A0CC63DF2AB008382582062FF26A140262D3EE197CD93FF234D49F88EAB3483E3BDCC5B69A582F8BB1952008258207942043B920908BAD5626DCFADA4A00D812B3789E3C1925D70355B6B16F52DFA0082582099908C1030BD4F72C4135BB86E6296CDAE04C906F091976E320C2F25A5200E2602018383583911E1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC1330952563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821B0000002ED1BAB9B3A4581C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB1A1582020B7729520955D7A53FF8A39082B8011159D6628113EF47C13149179869FE16D01581C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62FA1474D494E5357415001581CCE5B9E0F8A88255B65F2E4D065C6E716E9FA9A8A86DFB86423DD1AC0A14444494E471B00000D0E2C75F5FC581CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D86A1582020B7729520955D7A53FF8A39082B8011159D6628113EF47C13149179869FE16D1A130C6AA25820A7A63A0514F3BA288D15F577D34F3FAA5CA459A1A97D0BA33D270DC93BBF14BD82583901B6A399BB1A6598ADD297EB8724911C41FB720F6D17F6221636B458E3B84DC1F29279A96CD8D21B1F81A63B10D01103A9EB86FFC79D1AB1B21A191F421382583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821AF6E2075BA1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137323331303430303030303001021A000C04AD031A07AF9BCB0758205160F88B929BF8A6C57C285B889488F9137C0EF3CFD0BCF408A10020E69146D5081A07AF97E30B58207CB052FB69E3AD65E73A6A481850426288F5730FB8D8AE813A94A190A49D5B180D8182582099908C1030BD4F72C4135BB86E6296CDAE04C906F091976E320C2F25A5200E26020E81581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D1082583901BCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9D52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2821AF6833C48A1581C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816A14D3137323331303430303030303001111A004C4B40AB0086825820F3DDC3B1EA46C058A39A764068EF2CB7B72B42510857ABE5357EB7E7BC90B45C01825820C112E5947A7816881C274BB4824BA657EC5D9EC07BB4B4ED8123CC94832D4D43028258201C4FF06115A456C8CAE138B9ED57CB11289DB280DD606702A0708E87CE9F55B800825820E63473E75E61545BFC3CF491002C49F9BC0543C7D85C46BE6BC8636F8A9D5E2400825820216394E05B86EF918A6C4D369717182FA5DDF11428AFD5CB16DDA32A3AD1FCCF01825820072BFA83B11291C9F05347FEE5D3499B6362A9D32461DC6745E4859F625B034501018482583901252BF67C93ADE03D9DC874748CE1103EB0B9130968A5248D381C16705C4D87DBFE9794B8DD73D8F76CB5C683BE1DF38D632133CB61AB014C1A001E848083581D714DD522FB07D1F895EE63270B040E8B6434AA848A9C48EE16A7903AAD1A281959B058208407BD463FDB8AB3C15C3D51A0B80BF2A983357176C26FF8956F48FCA750139682583901252BF67C93ADE03D9DC874748CE1103EB0B9130968A5248D381C16705C4D87DBFE9794B8DD73D8F76CB5C683BE1DF38D632133CB61AB014C821A003C0B36A4581C279C909F348E533DA5808898F87F9A14BB2C3DFBBACCCD631D927A3FA144534E454B1A006ACFC0581C41223B3ECF502363DC465DCE5AD6671B83AC790E229D3F49E68C3353AE58201DCC6D7C286A2DE84347E820F0C7470EE782590A48716C0D374AF11BF84F91490158202B222B541F34CCC28E4E6E9A9CE1C4628481FE6FE51BC34A1E45E8DE48FDE30D0158202B5A0BB58596616D24DB29C56DE9FBDB2E142C260B8FDEA43F5AE2B5D05684510158202C568BDAA195DF9DF23A9DFB24FDB8F85CBF1BDD532D1B5E0766B9847A6FA2B10158203DABB0E2FD6E598AAC8A60710123C878764D266D335CB6A80219F47772D843D50158204181EF72768DE5384584403C5032FE0134F2C6379AB1B2CFB7DA964C70ABA99501582075DB7CB03250704474C0C723E11EAD164DF7B098BEE79ECBAC4006B3E5C02F990158209356CD737265040D36A951364BE3EF9C18A06B42B5F7F0187D3C165C36E86B690158209C5AF94E7172C88868A08139FF19D47C44C011F7A0820F338241D0FB3D057009015820A99E358C89AC6C4AF9A25DD0538480CD8B498A9CC14BB2C1FE213697DB9EEAF7015820B6CF6DC35253F74A7E28B9EEDB01FAFEA96E28EBE20EE1A75B260CD8366B3FF1015820E56F42B603C7D09944F0362409F5A25D572B8781C55F0385D1260BF95F339246015820EC603D34DC271F802B3B83C5544EE2A86DB0EA922FDF092A6E8226A5FF80058B015820EC793C9A4C1B8981EED97136E7618B231C544195ECF30D1EF78A5E22AE902F3501581C4523C5E21D409B81C95B45B0AEA275B8EA1406E6CAFEA5583B9F8A5FA44B000DE14042756431343334014B000DE14042756431383833014B000DE14042756432353034014B000DE1404275643237303001581CC881C20E49DBACA3FF6CEF365969354150983230C39520B917F5CF7CA1444E696B651A0001D4C082583901252BF67C93ADE03D9DC874748CE1103EB0B9130968A5248D381C16705C4D87DBFE9794B8DD73D8F76CB5C683BE1DF38D632133CB61AB014C1A07076A6B021A00094B8B031A07AF9BB5081A07AF976909A1581C41223B3ECF502363DC465DCE5AD6671B83AC790E229D3F49E68C3353A1582083835D62DE24C15056AB445A01E093F621ECD85675EFC2BE4E8257C98B59B9B3200B58204F2988C9AE22ADC58096AB9402ADD7C61BB98C8CC6F1915967C070FD22C0C5F70D81825820E63473E75E61545BFC3CF491002C49F9BC0543C7D85C46BE6BC8636F8A9D5E24001082583901252BF67C93ADE03D9DC874748CE1103EB0B9130968A5248D381C16705C4D87DBFE9794B8DD73D8F76CB5C683BE1DF38D632133CB61AB014C1A12A262B7111A000DF15112828258202E8E08B814BE2341084CC874194BC57E0D35E210954F5E57D2A1D41CB6025C84018258205A4BB987DAF15D6C09134E515D568DDE9FDE0074FFD2FA6BABC8C820DF04A49B01A40081825820DDCAB0065D35CEDF0F7B021B35732116DC79565348B718E5B29C10761F087463010182825839011B405CB6901055942AFC1F8C1EAAFCA00AFA8BD0081DE6E58B4435FD78060531E90533ABF6B0F443BEF89C71206D3FB49BFF0F1CEA076D911A05D75C80825839012E84C78697E056402A15B96833B523B07C493761D2DAE15449C8C99DA2EECF283E18BE26C0704304EF31D63A8EC1B6ECE4F3174B07A22CC21A0024422B021A000290A1031A07AFB404A400878258203149ED17E1577C562DE7EC7224AABE107A78F8A184FC796CDEA8EAC90B526497018258204FAAD68789B140095D8B09DF63D4BEC7B22D2F07CC90BBE4F724B9ED26AF72FB00825820A2AA21BF9C81A61E89BBA8A6F9C0BBF46CA812730912E3F336E0BAD60588BF4D00825820BED656C0E1B30EFB9FB8726C0416BFDE72EAEC2BEEB951199EF2AF96706637E701825820C35D2C9A1FD03429B88A43C773AABFCDC18B2E39CF50EDEF0C1F4AEF53ACB1B603825820CD6CD0844747901801A96275BB7DEEB4654916C514D440248A21DDD2F946F1FB00825820E0CAA29C1EDF4968000B42F35B71A9049369C0A0C38EE89E10099BC40465BEE101018282583901AE4A2F776C488D54616ED50D8BBE4F49A036A7E775AA89535C7BF984293C0F5098A0561F60A629E309F2B38E835EF4EF949EC3E427FDD2961B00000003F5476A0082583901AEDE1E35FF87D21A8297DBF3CED2C975E0556960348D8C5106B52A7E6948A5BEC1CBE3467F5A068DAADFF4F92DE03BD7CA263A370D04ED9A1A20B90FA5021A0002C8A9031A0CC63DF0A50083825820C298DC1865EB0436DC9C18AF92438A8DD5FE8FC220162A49AC2589719B81900000825820B9D8C11A597EBD824FDC5FCF7DBF49A98AE194108B38CB481D08992BDF7E4F29058258203934E5C09462754C0E81C944CDACC67995F8F1892FD6297869E1E94E57D68651010183825839019E415AB35AC812BB7EDFA7223BB1D6E89AC8C45CC010D0E8ECF5807396C7C0721CFA557649A36DCBF7F8AED5B434561235593C7FF1B86FB81A004C4B40825839019E415AB35AC812BB7EDFA7223BB1D6E89AC8C45CC010D0E8ECF5807396C7C0721CFA557649A36DCBF7F8AED5B434561235593C7FF1B86FB8821A00328200AB581C8DA763CE1D6ADB725A295A7F145C32808295B542DE5062D92EFA8370A24E000DE14046726967696433363531014E000DE1404672696769643435363101581CCE4D6F507A71B917DB0377D8F7309FE60DAD3C5397C730EA7F894BBBA24A54616E616B6830313035014A54616E616B683036353401581CD1F6CF1B73A74A154367269E759902739177D24B93286856EFE2B932A15045726D6F204F4720504153532023303701581CD5AB720E866E796D0212C61D36D5664819AB56437F2DF919FCAE5530A151436F6E737469747574696F6E555330323301581CD6EA64DD658ADC56FCB553AF88DB495A423D4573DDB3BD4803DF6AB5A14B323939393630313130353401581CD89775133F108329854694A2BDCB352D26C1D930739257D6CEB89BC3A1457247454E5301581CE1A212122B07460A739AF69751BD01CD03174791F778B2365CC0B8F6A14445524D4F19EEB3581CE304E709916948816B793C857C92EC765095E82653539B7928051ED5A14F53756E416C736F526973657336343801581CEFFF17A2E610E5C9F46E33FE964C39602399F95AA367B37F039C1EFCA15343617264616E6F466F725468654D617373657301581CF0FF48BBB7BBE9D59A40F1CE90E9E9D0FF5002EC48F232B49CA0FB9AA151000DE1406D61646D757369636D616B657201581CFA1A9FE50BA15C82F9FC18C8FDB25C745769061991C0C6C100CAD960A1545468655477656C7665436861707465727334333201825839019E415AB35AC812BB7EDFA7223BB1D6E89AC8C45CC010D0E8ECF5807396C7C0721CFA557649A36DCBF7F8AED5B434561235593C7FF1B86FB81A04276A59021A00031E41031A07AFB41105A1581DE196C7C0721CFA557649A36DCBF7F8AED5B434561235593C7FF1B86FB81A0013B0DDAB008382582011785188711F5B4BB104056865F724D542AFA256C4FB057A444331A273F1EBD602825820769ED9AC76C358169618F5EAABC6B0E37373866665BD4EA17607F4EC0612FEA600825820BEF529C7CF4FB5C33173E75795AA34C4D9EFA4931DD7D6B07E8A8900E0063FF5010183A300581D711869C28A5C1023A10C1DEB30D112226CF45130B800A22D9C2AFC1C9C01821A001E8480A1581C08C56C0FA73748A23C3BC1D9E6A60A4187416FC4FF8FE3475506990EA1484E6F64654665656401028201D818583CD87A9FD8799F581CE33BB9C5E634BC5BE187EABA0D94725EF71505D4A4CA6E0FED0B2E6DD8799FD8799F1A0005B9801B0000019096A7E9B2FFFFFFFF82581D61E33BB9C5E634BC5BE187EABA0D94725EF71505D4A4CA6E0FED0B2E6D1A0089544082581D61E33BB9C5E634BC5BE187EABA0D94725EF71505D4A4CA6E0FED0B2E6D1A006F7AEE021A00044EE3031A07AF985B081A07AF97E30B5820829DDE81A2958DAAEC321BCA75A193ED76D580503F89AC44F8A4F96109DF6F220D81825820769ED9AC76C358169618F5EAABC6B0E37373866665BD4EA17607F4EC0612FEA6020E81581CE33BB9C5E634BC5BE187EABA0D94725EF71505D4A4CA6E0FED0B2E6D1082581D61E33BB9C5E634BC5BE187EABA0D94725EF71505D4A4CA6E0FED0B2E6D1A0049A42D111A00370C3F128182582039435B3F8A6F3FAD8771E07B5B6790A940FECC4C20A7043E945E44FF427E41D30087A100818258206A29EF8CCBEC0A3C966443A3CBF142717338517A0418B40A8CCA20CFAAA5A65E5840A5A4E03B6A9ACEEBBE2A10E11030B19CDB48103D223DA34FB7D3532BA36E30FE4EC6B0498936D6356BFB7B65D27347BD7AAA668F6E11EC0A80E5D3480E56F80DA400818258200303157375F23161027902ABFF500A6268C00A69F45F7BFE5ADBC2F70F15DF9458400CD61DBA11FC23C54FD36E3710EECE5300CF8B573D7D89EB0B59BB74849A1704DBC26CAE0FA14184182CDC0511B94D1E2AE10FD7BF62127127B4A110AF839800038259014F59014C01000032323232323232322223232325333009300E30070021323233533300B3370E9000180480109118011BAE30100031225001232533300D3300E22533301300114A02A66601E66EBCC04800400C5288980118070009BAC3010300C300C300C300C300C300C300C007149858DD48008B18060009BAA300C300B3754601860166EA80184CCCCC0288894CCC04000440084C8C94CCC038CD4CCC038C04CC030008488C008DD718098018912800919B8F0014891CE1317B152FAAC13426E6A83E06FF88A4D62CCE3C1634AB0A5EC133090014A0266008444A00226600A446004602600A601A00626600A008601A006601E0026EA8C03CC038DD5180798071BAA300F300B300E3754601E00244A0026EB0C03000C92616300A001375400660106EA8C024C020DD5000AAB9D5744AE688C8C0088CC0080080048C0088CC00800800555CF2BA15573E6E1D200201591E1B591E1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460CC0042646424446600200A0086EB4D5D09ABA25002375A6AE85400454CCD5CD1832801099091118010021BAD357426AAE7800C54CCD5CD1832001099190911198018028021BAD357426AE894008C0CCD5D0A80082E1119191A827911111A80391191111AA99A9824806108008B1119191A9A9A80103102D91191919191919191AA99A982A89119982D91299A99820A8071A80103409980200100088008008020B03C9111919191919191919191919191982A299A8050A99AA8100999AB9A3094013303A307908101330820106700B06706E0060063305433355307908101305C05A305953353502B2233500206E2071210011635014222222207A33054353501422208E0122350012322533355333500A2153335004215333500C2130054984C011261533350052130054984C0112603C04F15333500B2130044984C00D261533350042130044984C00D2603B153335003205003A04F153335003215333500B2130044984C00D261533350042130044984C00D2603B04E15333500A2130034984C009261533350032130034984C0092603A153350010700820108201070253335002215333500A21533350042133303A03B00200116161604E15333500921533350032133303903A00200116161604D04E33054330500153306F00B02733054330533306301602548008CC150CC14CCC18C02C0952002330543305333063001010002330543333084012222533500315335002135001222223305D3305C0053306C01402B3305D3305C0043306C01402A3305D3305C00300C3305D3305C0023306C0140193305C001304800D0910122153350041622153350071622153350081622133300C003001323232323232323533307D0050070272222225335330743305100248000CC1440052000161333335003235500B2222223501D222223501B22235051222223232323232323232323253353308B013308B013306E00848000CC1B802920003308B013306D00201E3308B0153353306E00A00315335330870100E07013308B013308A013309A010110703370066E0402800C060CC22804CC2680404411C0084CC22C04CC22804CC268040441C0060CC22C04CC22804CC2680404411C008CC22804CDC08050019984D008088070A99A998370041A802055008A99A99843808078380998458099845009984D0080883819B80337020106A008154020306611402661340202208E00426611602661140266134020220E003066116026611402661340202208E004661140266E04020D40102A804CC2680404403C4CC22C04CC22804CC2680404411C008CC22804CC268040441C0060CC22C04CC20C04048070CC2080404006C4C8C8C8CCCCC2C80400C008CDC019B800180050013370002E002A66A0082605466E0800C00840594CD400C4CCCC0A005406406005C520003370002E00866E0005CD40102A80458C27C04028D40082A404D40042A404D54CD54CCD5CD19B8900148000278044C94CCD5CD19B890014800027C044C94CCD5CD19B8900148000280044C28404CCC2EC0400C0080054CCD5CD19B8900400610041006350020AD0121001160B901350010B0015333573466E2400400C54CCD5CD19B880010031330A8010023370666E080080400444CC2A0040080104CC2A004CDC199B820040110100043370666E080040380414CD4CC1FC01C1A04CDC0998490081100399B80011010133092010220073370666E080040300354CD4CC1F40101984CDC0998480081000219B8000F00E133090010200042235500C2222223501E222223501C222350522222232323232323232323253353308B013306E00748000CC22C04CC1B4008074CC22C04CC22C04CC22804CC2680404011C008CC22804CC268040401C005CCC22C04CC20C0404406CCC2080403C0684C8C8C8C8CCCCC2CC0400C008CDC019B800180060013370002E002A66A00A2605666E0800C00840594CD40104CCCC0A405406406005C52000350020B301350010B60153353330690870100E01E1330AE013370002C00E02A26615C0202C66E0005401C58C27C04024CDC199B820010123370200400266604400600266E0CCDC0981219B803370400400466E08CDC119B82337049004241941E90680780200198600080199B824801120CA0F350050A70130BE01001350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4009200033086013306800101833086015335330820101906B13308501330950100B0193370000202426610C026610A026612A020160320026610A026612A020160D60246610C02660FC01802C660FA01402A2A66A6660C8104020120322666661540266E00044008CDC08080008078070068999998550099B810110013370002000401E01C01A2C66603E6A00614C026A00614A02002A66A66100020020D2266E04CC24C0408C004CDC0008808099849808118009A800851009AA99A99983003F00280A899985A00802806806099985A008020060069111A8019119985C80802802001911AA8061111111A80F111111A80E1111A82911111191919191919299A998440099835802240006611002660D80020086611002A66A66108020360DA266110026610E026612E0201A03666E00068050CC21C04CC25C04034014CDC08020008A99A99842008028368998440099843809984B8080680D80D19843809984B8080680299B8033702008002028266110026610E026612E0201A03603466110026610E026612E0201A00A66E04010004CC21C04CC25C040341B4050CC22004CC20004038060CC1FC03005C54CD4CCC1982100402C06C4CCCCC2B004CDC000980099B8101201A01101000F1333330AC013370202603466E0004800404404003C594CD54CCD5CD19B880190011309F013370066E0CCDC119B82002019483403CCDC119B81001019483283D200209E012100116350040A601350030A60153353308001001069133702661260204600266E000440404CC24C0408C004D400428804D54CD4CCC1801F80140544CCC2D0040140340304CCC2D004010030034888D400C88CCC2E40401401000C88D54030888888D407888888D4070888D414888888C8C8C8C94CD4CC21804CC1A4011200033086013308601330680030193306800201833086015335330820100906B133086013308501330950100B009337000060246610A026612A020160100042A66A66104020100D626610C026610A026612A0201601066E00008048CC21404CC2540402C02400C4CC21804CC21404CC2540402C02400CCC21804CC21404CC2540402C020008CC21404CC2540402C1AC048CC21804CC1F8030058CC1F40280544C8C8C8CCCCC2B40400800CCDC019B8101200700133700022002A66A0082604A66E0800800C40414CD400C4CCCC08C03C04C048044520003370202400866E0404000858C26804010CDC199B8200200E00D3370666E08004038030CC244040840F8888C8CDC199B820010033370066E0801120D00F0013370400290650791112999AB9A3371200890000A4000264A666AE68CDC48008028A4000264A666AE68CDC4800A400029000080099B833370400466E04004014CDC019B8200148028014C014CDC10018011192999AB9A33710004900004D808A999AB9A30A10100214800054CCD5CD1851008010A40042A666AE68C28C04008520021330010023370066E0C009200448008C254048894CCD5CD19B880010021330030013370666E00CDC1802000800A4008200426660F2002006046464A666AE68C27C04D55CE80089919191919191919191919191919091999998008050048040028018011BAD357426AE88008DD69ABA100135744010A666AE68C2B4040084C8C8488888CC01001C018DD69ABA135744A0046660F8EB9D71ABA15001153335734615802004264642444446600200E00C6EB4D5D09ABA25002375A6AE85400454CCD5CD18558080109909111118028031BAD357426AAE7801854CCD5CD18550080109919091111198010038031BAD357426AE894008CCC1F1D73AE35742A0022A666AE68C2A4040084C8C8488888CC00C01C018DD69ABA135744A0046660F8EB9D71ABA150010A101135573C00A6AAE74010CC1E1D71ABA100530743574200A60E66AE84014DD51ABA1001357440026AE88004D5D10009AAB9E0010970137540026A002104026A00810C0260C82446660D444A66A660B066606C0D46A004104026A03C1040266606C0A06A6A0040FC0EE05E266008004002200200202A60C82446660D444A66A660B066606C0A06A0040EE6A0200EE66606C0A06A0040EE05E2660080040022002002026666660F0660C602C044660C602C04203E660C602C02003C660A8660A0044607A008660A8660A0042607C008660A8024660A8A66A60C82446660D444A66A660A66AA03A104026A6A0040EE1040226600800400220020020260D6442A66A0020FE440DEA66A6660640A600490000998299981D183C840809984100833800A40042660A66607460F21020266104020CE0029000183800999B8100101D303D001333066059008010305333307F22322325333573466E1C010DC680488010A999AB9A308F0100415333573466E1D205A500313370290001980299B800044800800800400454CCD5CD19B885002481805854CCD5CD19B8950023370090302402426600866E0000D20023370066E08005201433702A00490300B099B8E0060014800120001533500400115335501A13335734611A026606860E60F6660F80C200A0C20D00022A66A0062A66AA0320022666AE68C23804CC0CCC1C81E8CC1EC18001018019C0044CCD5CD18460099819183883C9983D02F80182F833299A9983D91299A8008321109A80111299A9982B00101089834800898030019A9A99A983B03C00501083883610A99A8008B1109A80111299A8018A99A99827800A400420042C112022C666AE68CDC49982C800803240000C80BA6A0020D4A66A60B02446660BC44A66A66088A0226A0040D6266008004002200200200E2C0F8660CE02C6A00A0D460C2006A66A60A42446660B044A66A660826AA0160E06A6A6A0040D80CA0E026600800400220020020060B2442A66A0020DA440BA60BA0026A0280D4660B40020246A6A0080C80BE26A6A0020C20B4A66A609601C420022C2A66A660600040320BA266060002032603200E6068010464646A09C4444464646464646464660706606A00C0066607066068660A600C018660A6006018660706606E6608E6A6A66A60C60CA00401E0BC0B2660B601201090011981C1981F998188070009981C1981B9811800A40006607066068604201C60420026607066068604401C60440026606E604801C6048002660706606A60AA00A09666070A66A609024466609C44A66A60A26A6A0040C40B8266008004002200200200809E442A66A0020C6440A6A66A609024466609C44A66A60A26A0040B8266008004002200200260B000E09E442A66A0020C6440A666609A08000600860A40066A0020ACA66A608824466609444A66A660666A6A6A00E0BC0AE0C46A6A0040AE0C4266008004002200200260A80062C0D06A0100BA6A6A0020B00A6A66A608400C420022C603000C606600E4464646A09E44444A66A6A00E440A8426464646464646464646464646607E660700286660AA09000800C6607E66076014660B40060246607E6607E6607C6609C6A0040C00120106607E6606E6A0040BC6A01A0D26606C6A0040BE6A01A0CA6607E6607866AA60CE0D846A00244660CA00466AA60D40DE46A00244660D0004666A0026E012000700466E0000520000013304000B3500922330723306400233072330640010090540540033303F3303E3304E3535335306A06C0010160650603306200F00E48008CC0FCCC0F0C1700181494CD4C13C488CCC154894CD4C160D4D40081A418C4CC010008004400400400C1588854CD40041A888168C168014CD4C1A01A800C04CD40041754CD4C12C488CCC144894CD4CC0DCD4D4030194178D40081784CC010008004400400400C581BCC160004D403418CCCD4080178D4D4080188178004CC11800C004CC164020D4004170CC140004020D4D40041681554CD4C11001C8400458124C06401CC0D0020448004584D55CF0011AAB9D0013754004444A66A6600600400207809C46A0020B0246666666600204044A666AE68CDC38010008020A999AB9A3371200400203203044666AE68CDC400100081B01E802802001912999AB9A337120040022002200444A666AE68CDC4801000880108008881F11199AB9A3371000400207406644666AE68CDC480100081C81911199AB9A337120040020620706607C91100488100223333550023303F2233350050480010023500304222337000029001000A4000660784446006600400240026607666076E01200070246A0024444400A46A0020A246A0024407246A0024406C464A666AE68C140D55CE8008991919191981E2999AB9A305435573A00626464646464646464646464646464646464646464646424666666666600201A01801601401201000E00A00600460446AE84D5D10011980F1981DBAE2001357420026AE88008CC071D71ABA100135744016A666AE68C190D55CE804899191919827A999AB9A306735573A004264660A066038EB4D5D0800980D9ABA1357440026AAE7800817D4CCD5CD18339AAB9D001132330503301C75A6AE84004C06CD5D09ABA200135573C0020BE6EA8D5D09ABA200237546AE84004D55CF00482E1980C9981B019BAD35742014660300326AE84028CCC059D70029ABA100A33301575C0086AE84028CC054008D5D08051980A1192999AB9A306035573A0022646609260326AE84004C010D5D09ABA200135573C0020B06EA8004D5D08051192999AB9A305F35573A002264646660B060606AE84008CCC059D70029ABA10013303375C6AE84D5D10009ABA200135573C0020AE6EA8004CC045D73AD37546AE84004D5D10009ABA2001357440026AE88004D5D10009ABA200135573C006098A666AE68C15C0044C848888C010014C02CD5D09AAB9E00215333573460AC00226424444600400A60486AE84D55CF0010A999AB9A3055001132122223001005300C357426AAE7800854CCD5CD182A0008990911118018029BAE357426AAE78008130D55CE8009BAA357426AE88008DD51ABA100135573C0020906EA80048C94CCD5CD182800081E8A999AB9A304F00102B04735573A6EA800488C8C94CCD5CD18290008058A999AB9A3051001130193004357426AAE7800854CCD5CD18280008050241AAB9D00137540024464460046EAC004C10888CCCD55CF8009014119198239981C98031AAB9D001300535573C00260086AE8800CD5D0801020919118011BAC00130402233335573E002404C46608860086AE84008C00CD5D100101F91919192999AB9A305300211222203515333573460A4004220922A666AE68C1440084C8C848888888CC004024020DD69ABA135744A0046EB8D5D0A8008A999AB9A3050002132321222222233002009008375C6AE84D5D128011BAE35742A0022A666AE68C13C0084C8C848888888CC018024020DD71ABA135744A004603A6AE85400454CCD5CD1827001099091111111803804180E9ABA135573C0062A666AE68C1340084C848888888C014020C074D5D09AAB9E003045135573C0046AAE74004DD50009192999AB9A304A35573A0022646606660086AE84004DD69ABA1357440026AAE78004108DD50009192999AB9A304935573A00226EB8D5D09AAB9E0010413754002220582205444A66A00442A66A00442660240040020462A66A0024046068446A004446A006446666010008006004002446A004444446A00C44444A66A6601E01400A2A66A6601E0120082A666AE68CDC38040018A999AB9A3370E00E0042A66A00C42A66A004426A004446A004446A00A446A00444A66A666602E00C00A0040022A66A00E42A66A008426604800400206A2A66A006406A08C0680562A66A002405607805405405405444446466A00A466A0084A666AE68CDC78010008018121013919A802101392999AB9A3371E0040020060482A66A00642A66A0044266A004466A00446601200400244405444466A0084054444A666AE68CDC38030018A999AB9A3370E00A0042660220080020520520442A66A00240440664466A004466A00446601C0040024046466A004404646601C004002446A004446A00644A666AE68CDC780200109980780180081091199AA9815019180680191A80091199AA981681A980800311A80091199A800919805A40000020144660160029000000998030010009981280100A91199AB9A3370E00400202C03A44A66A00420020324466AA605205C46A002446604E004666A002466AA605A06446A0024466056004601800200244666010016004002466AA605A06446A0024466056004601600200266600600C004002444666AA605005C06466AA605205C46A002446604E0046010002666AA605005C446A00444A66A666AA6054064601A01646A002446601400400A00C200626606C00800602800266AA605205C46A002446604E0046606844A66A002260120064426A00444A66A6601800401022444660040140082600C00600800442444600200842444600600844666AE68CDC780100080800B9980E80080A11299A801012080091980E11199A8018128010009A80080F9192999AB9A303435573A00226464646466666042666016EB9D71ABA100433300B75CEB8D5D08019BAD357420046EB4D5D0800998051192999AB9A303A35573A0022646604660146AE84004CC035D71ABA1357440026AAE780040C8DD50009ABA1357440026AE88004D5D10009ABA200135573C0020586EA80048C94CCD5CD18199AAB9D0011323301C3005357420026600C0086AE84D5D10009AAB9E00102B375400246464A666AE68C0D00044C8C8C8C8C8488CCC00401801000CDD69ABA1357440046EB4D5D08009ABA2002375A6AE84004D55CF0010A999AB9A3033001130103004357426AAE780080ACD55CE8009BAA0012323253335734606600226424460020066EB8D5D09AAB9E00215333573460640022601E6EB8D5D09AAB9E00202A35573A0026EA800488C8C94CCD5CD18190008980798021ABA135573C0042A666AE68C0CC0040380A8D55CE8009BAA001222325333573460626AAE740044C8CC068C014D5D080098021ABA1357440026AAE780040A4DD5000911A8009119198131119A800A4000446A00444A666AE68CDC7801004898038008980300180298129119A800A4000446A00444A666AE68CDC7801003880089803001919A80081100211A800911A80111111111111999A805900B900B900B9199AA981101500B11A80091299A998090010020980C00180B805912999AB9A3371E6A0040346A0020342666AE68CDC39A80100B1A80080B001805003880B91180F11299A80088019109980300118020009299A800900B0019111A801111299A800909A8029111111111299AA99A999AA981001400A11A800912999AB9A3371E00401C2602C00602A0044260286A0020440244260240022C2C2006424460040066601444A66A0044200620020022018446602E44A66A00203C4426A00444A666AE68CDC78010038A99A8008111109A80111299A8018A999AB9A302D00113301400B0020262202813006003002235001222222222200A2350012201C23500122222222220092220032220012220023333300248811C0BE55D262B29F564998FF81EFE21BDC0022621C12F15AF08D0F2DDB10048811CE4214B7CCE62AC6FBBA385D164DF48E157EAE5863521B4B67CA71D8600330014891C13AA2ACCF2E1561723AA26871E071FDF32C867CFF7E7D50AD470D62F004881074D494E535741500048811C2F2E0404310C106E2A260E8EB5A7E43F00CFF42C667489D30E179816004881054F574E455200221233001003002222221233333001006005004003002300B22112225335001135003006221333500500C300400233355300700F0050040012200130092211222533500110022213300500233355300700D005004001300822112253350010052213300F30040023355300600B00400111001220023005221225333573466E20005200013005490103505436001533500213005491035054370022153335734602C0062004266A600C01000266E0400D2002253357380022C240026004444A66A00220044426A004446600E66601000400C00200660024444A66A00220044426A00444A666AE68C0500044CCC02001C01800C4CCC02001CCC028CCC02C01C00800401800C8C8C00400488CC00CC00800800488488CC00401000C88848CCC00401000C00854CD5CE2490350543100162215335001100200715335738921001622222222007220053704904D0F910B111110021B8748000DC3A40046E1D2004370E90031B8748020DC3A40146E1D200C01049FD8799FD8799FD8799F581CB6A399BB1A6598ADD297EB8724911C41FB720F6D17F6221636B458E3FFD8799FD8799FD8799F581CB84DC1F29279A96CD8D21B1F81A63B10D01103A9EB86FFC79D1AB1B2FFFFFFFFD8799FD8799F581CB6A399BB1A6598ADD297EB8724911C41FB720F6D17F6221636B458E3FFD8799FD8799FD8799F581CB84DC1F29279A96CD8D21B1F81A63B10D01103A9EB86FFC79D1AB1B2FFFFFFFFD87A80D8799FD8799F4040FF1A18E0E563FF1A001E84801A001E8480FFD8799FD8799F4040FFD8799F581CCE5B9E0F8A88255B65F2E4D065C6E716E9FA9A8A86DFB86423DD1AC04444494E47FF1B0000016902C758161B0000018B9265F3F5D8799FD8799FD8799FD8799F581CAAFB1196434CB837FD6F21323CA37B302DFF6387E8A84B3FA28FAF56FFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFFD87A80FFFFFFFF0582840001D879808219A44D1A00E33567840000D8799FD8799FD8799F581CBCB15EA0CCDE1A3E6BCA4472724E4017E173F94E97A60D3E682A6E9DFFD8799FD8799FD8799F581C52563C5410BFF6A0D43CCEBB7C37E1F69F5EB260552521ADFF33B9C2FFFFFFFF02FF821A00280F711A2EE1ABA7A30081825820F91F45CD2DC870AE7F65186C74C6A183A540898E61D51A3126A6F00BB950B27958402BBF458FCC9ADBBDB5990BA91606CEFABAEE1439BDCB498D1FCC2C9E936A6361A126BE17E9D2955276F5FF66D855C1AFB3FE7B8B1BE0B4CAA9D60ABE3F4D8E08049F80D8799F582083835D62DE24C15056AB445A01E093F621ECD85675EFC2BE4E8257C98B59B9B3D8799F4040FF1A26BE3680D8799F4040FF1A015B23309FD8799FD8799F581C4523C5E21D409B81C95B45B0AEA275B8EA1406E6CAFEA5583B9F8A5F4B000DE14042756431383833FF01FFFF1A48190800582083835D62DE24C15056AB445A01E093F621ECD85675EFC2BE4E8257C98B59B9B31B0000019051AF7A480100FFD8799F582083835D62DE24C15056AB445A01E093F621ECD85675EFC2BE4E8257C98B59B9B3D87A80FFFF058284000501821A00279C441A2F128CEB840100D8799FD8799F5820BAF4F9A24D72868698BDD2FCCCF1C00E3990252F239AFAA031FEA146B8E7942EFF01FF821A001F69F81A260DE8FAA1008182582006E05CFF0C72A3EF4E2853C351BD122FE7E5049A37737983394F012EAB37C8515840725086D5F44100A22705E0BC545C4B24F77266DC6C8154EB1B7FAE989C87566E7CDAECDB4AFB5EDDE2050AFFBA426E27457F2CDF1EC26C31B0AFD2AC61C6680BA1008282582004F3E99F60B98399C5420DBEC2BEECFE5F7E2DB477962BBDB1EAB4FB5C87BE3258402678886A86150F1314C65211E57639FB4B37E45A38E15CB894F27D3EA3B9AE23E32AF0FD551F89C6C13ED156A8CCAFDE94E7568BCE26CCFE7A0A8B40B2D243028258206BB92A20014AF583D1ECB932D8C6FC284274CB5DF043EC36546F0FC8B10C27DE58408A5CCCD412A974E67341364E431BB349C1138A8AE61BF7689E949D7A555A1E14B5CFBC006B66497C4B230F247E433D2F453115011081359258925218972AA50DA10082825820B2C6CA24ECEEAA1D8E3F4E7B7D08582EB988CFCA33ACE149D97D13292D79CEDF58401758913ADDC471E9E53570E72B5778B6E9C7D3D47A4EBB1E64B8959BC70847DA6E1A5B86061C772135C3C7B6BED6B10F4A6A192F59B7653A45FAA64F9B6463048258203A2680B177DBB362922FA79A4C944D79221AC55CA6C3A0C11B60AEC9898BBC1E5840920288EFF6A54E2FB20C25B4F040024926FF0708713E68ED7779582927A1CA4D9EB05D133CE92AADA7F4AD3BD5E704A85AC2F68809569762F25D09937AE42F01A2008182582045E7EE2749DD98AC23244FF99D31DF8C64CBBC17D246B02DE9612268740B7D3558402271B7EB17EBBCB5119D0E41A953FC1344AC69C7B690599404DEDED7193852C175A6C8D7912E8DCA3E3AA87512308C3CA430CE9B5488047282A8BD3105372B090581840001D87980821A0012C8941A15F9CDB0A101A11902A2A1636D736781774D696E737761703A204F7264657220457865637574656480")] public async Task DeserializeBabbageBlock(string cbor) { @@ -78,7 +55,7 @@ public async Task DeserializeBabbageBlock(string cbor) const int concurrencyLevel = 1; // Number of parallel tasks const int iterationsPerTask = 2; // Number of deserializations per task - List tasks = Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => + IEnumerable tasks = [.. Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => { for (int i = 0; i < iterationsPerTask; i++) { @@ -89,23 +66,23 @@ public async Task DeserializeBabbageBlock(string cbor) // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue Assert.NotNull(block); } - })).ToList(); + }))]; // Await all tasks to complete; if any fail, the test will fail await Task.WhenAll(tasks); } [Theory] - // conway - [InlineData("85828f1a006daa351a038f87a5582065941821aed592f317342c55c82f14dc62a6f1f64037df55b14e8ece8faa98ed58206f548211a4216db59480732c8fbe4999caf2fae8f3af876cd4d1ba9b070e94f05820d76beb45ac09b20f2a0a3b871b72f0bc57d058dce8db1ec6f8b7df5df7ff27cc825840803d335754c5fd00c735f06b534f7e082ffa89c9eeb27de07f76125f43f23f0d525b97b965b3398c054431bee9049d9b4757b5fefe82912f5f8509b20f8d331d5850abfac6767000ab4abe0395f13ba74c29726f20df066ef86818cc13c09b1046794b3d7c8257c5bf9b937810b3b0d7d348097e9ae645512ffff9c95d3b32d055ec2bc98944cfbc3374fa932f8e12592d0382584000023891df312ee3f91a4ce8d4e3acf23c189b9860164d248b57fad3601ed7111d3a8b5d4c692a5e8a4a28a7a8e42189d50e12f0da6a1244f4239339080a0c8a5850acd785a146b96a2a8306f2c1fae3b03719f2ae571caed351c73c4a074b990a903a842ade87489540300da5deb5ac363e8fcf4dfe1b2dc5461983d22ff777e733f3d64107067e5afc1d3e4220e60fb1021a000156a458207119161cffd41a7e68ced33bcf0ec2d698b18865c7a6b1d6f90406a9edb025a0582051de6695a017853041715fd93295dbd04fbaf51ea89f679e06e14ed0545482290119019a58400aa580babf904f571e372089247ae64a2159511822e3b6720ea63c8eb5f9b66c7a3cd98acccdda27a7ae959cb6e85082580c962199bf860183355ae8eb2a860006005901c0f424a73e2d7a0f97083a143232b6dc905a7118156af50272761938fe939cf6546dd13779e26cf8184a738eaca4eaffc83963ea971e83525076c3d48d52107902ebd593e2a693e851a0b70c53a3e448b64953326cc09e5e16da6fbb903f082520a9e1b8c0734ecb3517ae1b4e62f6a1826ea5331a2ed04fe19b9fd09aa5333339564e2c591d182ef391bae62ee54defbeddbfaa707bd210271b753fdbef1bb17f693360c94fe100ad021c389aaef1fc2a6123e9d194e552bf367ec21d079fb4100194d778daa5c16963e871c1eefeae8190608e2b45a1207f9bad319d02da705551e1a3da2f55c58351be145dc35b9446ca5abde490b46bb9ddacfa67f1995d37516538bcc04388f456f7813ff261d02c1217de7d6f9e457cbec8875f64da73ecc2cc8d83ea3545978bc7259b1972ee3c221500f4cc1301fac7f911c2e88ea82b1f08b1c7ab3394c077dbc369ebc573a4c8ed1c24fd2389a276750ba2925396054d565b643de2ea7ffb47a88479c49f67f3be3149ef3213f13092c4fc032de59719f8ce5cf6262aa7c995ae550d9119fce5258f627f0199a259dcbcc436378b1febba5ec708291f488d8d582ab2fe184d8f25e56d94d18a298814a210f5c3e7069fa9008482582008a09116f20c748b9c9314a39035a89f8082c3da76a8b76f07ef2db31e018064038258201a186157707f93cd3ac9e3f862eee39186940dcef7b7e5946764b3e78ebc13c40182582082582cfe587c39d8d5ff31ad3422573acd259f6d7d2bb1b6ce920f2580e2a04300825820ee798b2656dd9d37cb79f537041b51673a5d81268734536aae7abc5c5338a6bb000d8182582082582cfe587c39d8d5ff31ad3422573acd259f6d7d2bb1b6ce920f2580e2a04300018482581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d1a3045c62f82581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d821a00161934a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d313635323631383130363338370182583901f17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef688340ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853821a001e8480a2581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d03581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa61a1667d71283583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330952563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821b00000187651a6980a3581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa601581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0a1581e436f726e75636f70696173205b76696120436861696e506f72742e696f5d1b00000ab207d424c05820d2a73711b0f913fa08b8fee5cc6c46b3db82aaf5ee1b6885640e07c52e4d40c5021a000dbbd9031a038f8b0a0e81581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d09a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158207925263b1aff069a191db67d5ac185c029f7f43e084a4ef6e5fa2848a56e2aa61a1667d7120b5820dc5fa6ed5ceb0b2f9582d20ddd055b07f599986be7e0deff99328a2b01c7c18207582007a0a5f883f6b1433dea02ef916312c1d82f1043093c92a048336ccfa2e6a4daa90084825820084365adeb284626d8a13262149a2d45f35833ef8493d7ed6b65c5cef420d1c803825820c20b57990a28be4bb340b54872444f875ee634b1c7aaa523a225a998081dad8c00825820e69f793381266c1f9e0351e7985c4bd8bf5e0b7da5e9a808f025b56a8baeeeec01825820fda54170be26d895bd5e95e510c4cf836270d2eab0e823732befaffc476e800d000d81825820c20b57990a28be4bb340b54872444f875ee634b1c7aaa523a225a998081dad8c00018482581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d1a2a037ed982581d612ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d821a00161934a1581c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816a14d313635323631383130363338370182583901810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701e8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51821a001e8480a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21a39893f4483583911e1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec1330952563c5410bff6a0d43ccebb7c37e1f69f5eb260552521adff33b9c2821b0000165e9e65c4c1a3581c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb1a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a201581c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62fa1474d494e5357415001581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6a1434d494e1b0000b07b242994ef582066ad7ee3215bed62074be1b4a4c0acd519973bfac4793f0a0cf161164d7dc242021a000df85f031a038f8b0a0e81581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7d09a1581ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d86a158206aa2153e1ae896a95539c9d62f76cedcdabdcdf144e564b8955f609d660cf6a21a39893f440b5820495a5f4a20b4015b3280ff76a49bae59a5103fac61652ddbe42023cc5849a4070758200943791b8e7676f93fc4a382a3e2e9400ae1e0c032a5a28055c7f9e48dc54ebfa4008182582053b4284f9759a2ecad078cfd6ede245074635a326dd1294c544b2da3326af96b010182825839018b73b8e00786dbd2aeb678f562ccea3960860b13876b91a7703fa0822247d90cfda3ddc0fc8bfe31e0364d3a9b10f8d9b163df4f1d84c8b91a01c9c380825839016a499634e20ed82a45d2ffe14c2851c10d5a37a95c807843dd8ad3f38e8ef7a0fe1cb17356e9311268c5d843aced9115b263028ad2369bb71a18790bfb021a0002917d031a038fb172a4008182582056f371f2257d8e6472b12ec422663b20400d65f3d7091360045dce966af19d6001018282581d614d06ccf4e1f9253e7f5317807eba65d6f1fa990e4d1a6e2340638b261a02279c1282583901dcef158ac0c0fb2599d5a00cf9bd1f73e2928ae24e9b3c2df3cf998595985a0fccc4d75c8f87c35f40898bf5e0b4feb2eb983ad5a177e51c1b00000030c761eccd021a00028ff1031a038fa342a500818258202d432375d98e9c851ddd37a9145af99ed252d9f59123fe25c3d758b62169306a01018283581d71a65ca58a4e9c755fa830173d2a5caed458ac0c73f97db7faae2e7e3b1a0c52887d58202f454ce0049bfdd9cb85e700f1557b0c3657c1f59c2c7f7abe52fcd9e3ac5c2682583901d612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecb6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3f1a6c832365021a0002cb95075820bca1e43b910e4009ef56e8dc102ffbfacf0ac473595d3777303f95b094b82dd00b5820b09f43f41223b7e457e2411cdc33c63c45aef80136950441aefcf46c23e9ae83a70082825820a9269956b4e287ed96e995677761f98ca62ebde1d4d653d899bb7a5ca71ad0e4018258202c66665a78a3cb4175dc3b227fbf7c8f8ec93d7e5c236b909d7e65afa4c07ae702018383581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a0019c812a1581ce282271ec9251ba23fb123b0f53618b35cf5a6cde4170c003a0ebf13a148424a53303535393401582067fdf73329aec3e72c95f1a7074b7715d3d1946488b245230538998c1d2ea0e482583901e935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7807a4d7256e864b7581b3e087a9d2810813d16a173e97c0ac4842acd1a004c4b4082583901e935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7807a4d7256e864b7581b3e087a9d2810813d16a173e97c0ac4842acd821a02369dc2b83b581c0029cb7c88c7567b63d1a512c0ed626aa169688ec980730c0473b913a1446c7020091a0003b608581c101dcbab5b3c6d18f9121613cb999d12600e5e7e77c147d455b51443a153634e6332314c504144726163616e6f3230353701581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e1a00e4e1c0581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b000000052c8c338c581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a001e8480581c22ae625b40e8e91aa49310301dcd4a82706838e2431ecc03ff847133a1581c41616461476f6c64656e526566657272616c3136333838303830383401581c22d843e9e8b39d105c645944cc848abee2673d64e60f1f022791ec85a156457175696e6550696f6e656572536b696e313038383101581c23a000a839f04bb71b59b4ae74bf8cf5ed21ee0be520690e665ae4b4a15818457175696e6550696f6e6565724a6f636b6579313038383101581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e1a00e4e1c0581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a05f5e100581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a00061a80581c3c2cfd4f1ad33678039cfd0347cca8df363c710067d739624218abc0a251576f726c647357697468696e30333039340151576f726c647357697468696e303530373101581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e04581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567dae525061766961506c7573313133506c7573373601525061766961506c7573313939506c7573353701535061766961506c7573313033506c757331313501545061766961506c75733136304d696e7573313632015550617669614d696e75733136374d696e7573313533015550617669614d696e75733139314d696e7573313833015550617669614d696e75733139314d696e7573313834015550617669614d696e75733139314d696e7573313835015550617669614d696e75733139324d696e7573313833015550617669614d696e75733139324d696e7573313834015550617669614d696e75733139324d696e7573313835015550617669614d696e75733139334d696e7573313833015550617669614d696e75733139334d696e7573313834015550617669614d696e75733139334d696e757331383501581c4bfd50bbc70f3b294d94e8ae7e73ee63e834182f3751a0163805435ba24d526562656c6c696f6e31363435014d526562656c6c696f6e3631363801581c4eec31fba006e35a9e64018ad51967ab5cf2eba07b1cf3832ee2fe6fa1581c4161646153696c766572526566657272616c3136333937333733363401581c4f790fb0d3181ef4026deeb913bc748d7671666a07be8065c1a3a9aaa1505341434669677572696e65303232333501581c4fd6d8b1eac12b029cd68acd25220c20dd13b9c4b0d0b585d49135d3a1445341435414581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431896581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f5703581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b791901f4581c5a46271a9b32a4517ced20be4ba1f184c2f91b1a5dd480ab639eee57a14d42726967687450616c3336393101581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a017d7840581c6262bf5e4444415eb579212d67c071db9449f0059251019d06be25d0a15243617264616e6f466967687465723136383501581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d424945190bb8581c6cfbfedd8c8ea23d264f5ae3ef039217100c210bb66de8711f21c903a144434e46541907d0581c6e5103651199d2938643fc4fab5d4a61c0950752443cd8794cd3792da14d4d4f42436974794d617031363601581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a194e20581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521a000f4240581c86f2bf5e9fbfe6d9a3cd2bfc8e4a9890093db5792ea7425a294356c6a1444c415a59191388581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea1455041564941197a03581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a002fb0e0581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e14581c9cc83ea54377108dd022f18095040e8d5808a3061c4fe54f3fd64a7aa24f48616c6c6f7765656e41706532373401524d6f73744162756e64616e7442616e616e6101581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591a8aee60de581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451903e8581ca5bb0e5bb275a573d744a021f9b3bff73595468e002755b447e01559a156484f534b59436173684772616230303030393338343201581ca8231c25a8ccc1430359b4bf255b055366401258474834e6906a95aaa14b53616e74614d4f4231393301581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501aee6b2800581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421ab2d05e00581cb1066e840346478fbe01a7c278275c77929e5d5435d5650fcf963c7ba1544164614e617574546f5468654d6f6f6e3233303601581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a05f5e100581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1aa1d27b23581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a144524553491896581cbd3602618dc1d4aec509e3532032ef204e0583ff6d5ad4ea81e96145a14a73656164696e6f34333801581cbea41cde225159466664b35dc93e7c5c76458a4a7cc9f7aceb645788a24b4d4f424c4f524530343732014b4d4f424c4f52453333343701581cc001c001f524dccec5d2d48341837305f1f161d95fa1c6d999a205c2a1581843617264616e6f4c6f756e67655469636b6574303432393701581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe7a14f756e77616e7465646f6e653238373701581cc7fe3a3c3443a2a3d453efb7df0c276712bb22f8470f12965f5cae42a150477265656e466f756e6465723139323801581ccea514eda3ce871c316fdb1f0931baa678d2fa5d373a109dbbcc905ea14b4e6562756c61536572756d02581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1904ec581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e02581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba14442454147187d581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e730c581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a00989680581ce282271ec9251ba23fb123b0f53618b35cf5a6cde4170c003a0ebf13a248424a5330353539370148424a53303735313401581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1907d0581cebfd4159e5b3f357a1a6c92e89c2008ec4fa0e3a2d53c6312fbedbcca1574c434e465444656c656761746f7241697264726f70373301581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a144444546531819021a00051b5c031a038f9532075820c84588e25b869582d70db5da2b92e5e5d2d09b0b17a54c22c36b736ab297f892081a038f87220e81581ce935623e99f8638056599d491accd10ee7405ddd5fbd8f1cf27e10e7a40082825820d433d15c59159e5e017f1927a318efd0d3a7c1f05fea93f2cd6e1614bb38215f00825820cff3d92ccca360dca6b8c1280b79272baf70cb3bb4569b9e7a9d18ec7f4b5b1701018282581d61dfd1c0dd2d636dca0b86d6b3fc6dd48cd86c098c7c6e4eb4b9e4d6831a002df12082583901f7768a4087ef55df5150a87a08707da243aa191287e26765c124e0f8cf4deb97a2a10280c1ce14514017443b7dca2bc35e4ef0f5cd913be2821a0047f1b9a4581c18f59066d205b9ffc4208d9b6cfad2dbdee84dc4a0097e0b9de7db26a24e586d617332303231443030383334014e586d61733230323154303038393301581c2c763e2db8337324df122fffa38e0d97ecdf53d139025a0e1b6d6b97a64e43564c616e645331583937593733014f43564c616e64533158343459313333015043564c616e6453315831313959313130015243617264616e6f56696c6c61676531313731015243617264616e6f56696c6c61676533383033015343617264616e6f56696c6c616765313030303601581c33540028ad4ade822c82d61ed2d55388422c3db0bfcd11e5e1c92e2aad4947756d695261726537014a446f6269526172653531014c446f6269436f6d6d6f6e3439014c47756d69436f6d6d6f6e3236014d446f6269533252617265303533014d47756d69533252617265303636014d47756d69533252617265303637014f446f62695332436f6d6d6f6e313138014f446f62695332436f6d6d6f6e313139014f47756d695332436f6d6d6f6e313036014f47756d695332436f6d6d6f6e313037014f47756d695332436f6d6d6f6e31303801504b696d4368617361556e69717565323801581cc9f955eeffa84e42363b4992281d32dd2f9239153d6c66420a9acc15a1434c4f471a41adda52021a0002e505031a038fdb82a40084825820388a40133243a447b722e334e2802d275306baf944e989e5853f0c65e660294d01825820c57ad3c64a0f5cf4a2de653a2637658aef98a93a78c5c1603398950bc35ac63a0182582039e4828e40a7969387e6338b5d5aa8bb29f80227ef025eb9642b31285ef1264e018258201022dfc12bcc35a6a16e12209f864fed9c5802860cede3850a7a500f204dcc0d01018382581d61b19f52773e6fde215217979d98a363023218228bceaf9e28e97f1c23821a003d0900a1581c162ce9d46a21900149027edf2f6ace391d6d1db9450b3c479b857adaa1494964696f74636f696e1a3b9aca0082583901f10edabf9cc0e807ae5a5b95691f2314378a5b63e53fe8b74cd7beb84637f55651101085916e6ddf86e07d129c50396a78578cc3eac8c88f821a02031ab6ab581c162ce9d46a21900149027edf2f6ace391d6d1db9450b3c479b857adaa1494964696f74636f696e1a164496a1581c29f769f580d515a35a6ef190d22c41609cae13c28dfc22062a1eec81ac4a48616e64793030313134014a48616e64793030373730014a48616e64793030373938014a48616e64793031323038014a48616e64793031373930014a48616e64793031383339014a48616e64793031383737014a48616e64793032303637014a48616e64793032333732014a48616e64793035353033014a48616e64793036373735014a48616e6479303739363601581c2a1b8a7471d0b4fd854d8b56e8a3c47d697c2b6db8b278c545b5d70fa24b466972616b6f6e31313432014b466972616b6f6e3132363801581c40ea63e9243017418174dbc6664a555bc3c50cb483162ea5c7ea76d3b8c64c53706174756c6142726f3238014c53706174756c6142726f3636014c53706174756c6142726f3936014d53706174756c6142726f333935014d53706174756c6142726f343135014d53706174756c6142726f343732014d53706174756c6142726f343834014d53706174756c6142726f353234014d53706174756c6142726f353237014d53706174756c6142726f353535014d53706174756c6142726f353735014d53706174756c6142726f363231014d53706174756c6142726f363535014d53706174756c6142726f363539014d53706174756c6142726f363937014d53706174756c6142726f383435014d53706174756c6142726f383837014d53706174756c6142726f393338014d53706174756c6142726f393637014e53706174756c6142726f31303932014e53706174756c6142726f31323134014e53706174756c6142726f31333430014e53706174756c6142726f31343131014e53706174756c6142726f31343231014e53706174756c6142726f31343335014e53706174756c6142726f31343834014e53706174756c6142726f31363139014e53706174756c6142726f31363938014e53706174756c6142726f31373938014e53706174756c6142726f31393833014e53706174756c6142726f32303237014e53706174756c6142726f32303332014e53706174756c6142726f32303735014e53706174756c6142726f32313136014e53706174756c6142726f32313337014e53706174756c6142726f32323531014e53706174756c6142726f32333834014e53706174756c6142726f32343631014e53706174756c6142726f32353132014e53706174756c6142726f32353135014e53706174756c6142726f32353933014e53706174756c6142726f32353935014e53706174756c6142726f32363433014e53706174756c6142726f32363633014e53706174756c6142726f32363837014e53706174756c6142726f32373037014e53706174756c6142726f32383639014e53706174756c6142726f33313239014e53706174756c6142726f33313438014e53706174756c6142726f33313831014e53706174756c6142726f33333539014e53706174756c6142726f33333733014e53706174756c6142726f33343438014e53706174756c6142726f33343739014e53706174756c6142726f33343934014e53706174756c6142726f33353035014e53706174756c6142726f33363131014e53706174756c6142726f33373138014e53706174756c6142726f33373735014e53706174756c6142726f33373935014e53706174756c6142726f33383936014e53706174756c6142726f33393636014e53706174756c6142726f33393932014e53706174756c6142726f34303230014e53706174756c6142726f34303633014e53706174756c6142726f34303638014e53706174756c6142726f34313138014e53706174756c6142726f34313230014e53706174756c6142726f34323033014e53706174756c6142726f34333730014e53706174756c6142726f34343135014e53706174756c6142726f34343437014e53706174756c6142726f34343638014e53706174756c6142726f34343938014e53706174756c6142726f34353937014e53706174756c6142726f34363634014e53706174756c6142726f34363636014e53706174756c6142726f34373635014e53706174756c6142726f34373639014e53706174756c6142726f34383130014e53706174756c6142726f34383532014e53706174756c6142726f34393130014e53706174756c6142726f34393636014e53706174756c6142726f35313539014e53706174756c6142726f35313634014e53706174756c6142726f35313735014e53706174756c6142726f35313938014e53706174756c6142726f35323030014e53706174756c6142726f35333133014e53706174756c6142726f35343731014e53706174756c6142726f35353132014e53706174756c6142726f35353136014e53706174756c6142726f35353137014e53706174756c6142726f35353335014e53706174756c6142726f35363038014e53706174756c6142726f35363338014e53706174756c6142726f35363438014e53706174756c6142726f35373538014e53706174756c6142726f35373631014e53706174756c6142726f35373736014e53706174756c6142726f35383139014e53706174756c6142726f35383430014e53706174756c6142726f35383532014e53706174756c6142726f35383933014e53706174756c6142726f35393434014e53706174756c6142726f36303233014e53706174756c6142726f36303934014e53706174756c6142726f36313339014e53706174756c6142726f36313833014e53706174756c6142726f36323035014e53706174756c6142726f36333332014e53706174756c6142726f36343037014e53706174756c6142726f36343134014e53706174756c6142726f36343232014e53706174756c6142726f36343739014e53706174756c6142726f36343835014e53706174756c6142726f36353034014e53706174756c6142726f36363930014e53706174756c6142726f36373433014e53706174756c6142726f36373737014e53706174756c6142726f36373933014e53706174756c6142726f36383032014e53706174756c6142726f36383439014e53706174756c6142726f36383735014e53706174756c6142726f36383832014e53706174756c6142726f36383837014e53706174756c6142726f36393031014e53706174756c6142726f36393335014e53706174756c6142726f36393533014e53706174756c6142726f36393538014e53706174756c6142726f37303434014e53706174756c6142726f37303830014e53706174756c6142726f37303934014e53706174756c6142726f37313238014e53706174756c6142726f37313339014e53706174756c6142726f37313532014e53706174756c6142726f37313733014e53706174756c6142726f37323037014e53706174756c6142726f37333630014e53706174756c6142726f37333933014e53706174756c6142726f37343137014e53706174756c6142726f37353031014e53706174756c6142726f37353033014e53706174756c6142726f37353237014e53706174756c6142726f37353332014e53706174756c6142726f37353738014e53706174756c6142726f37363232014e53706174756c6142726f37363332014e53706174756c6142726f37363334014e53706174756c6142726f37373930014e53706174756c6142726f37383936014e53706174756c6142726f37393931014e53706174756c6142726f38303038014e53706174756c6142726f38303039014e53706174756c6142726f38313232014e53706174756c6142726f38313737014e53706174756c6142726f38323239014e53706174756c6142726f38323439014e53706174756c6142726f38333231014e53706174756c6142726f38333635014e53706174756c6142726f38333838014e53706174756c6142726f38343036014e53706174756c6142726f38343438014e53706174756c6142726f38343730014e53706174756c6142726f38343732014e53706174756c6142726f38353238014e53706174756c6142726f38353333014e53706174756c6142726f38353337014e53706174756c6142726f38353437014e53706174756c6142726f38353839014e53706174756c6142726f38363130014e53706174756c6142726f38363430014e53706174756c6142726f38363436014e53706174756c6142726f38363935014e53706174756c6142726f38373036014e53706174756c6142726f38373636014e53706174756c6142726f38373733014e53706174756c6142726f38373839014e53706174756c6142726f38393137014e53706174756c6142726f38393238014e53706174756c6142726f38393330014e53706174756c6142726f38393738014e53706174756c6142726f38393838014e53706174756c6142726f39303436014e53706174756c6142726f39313430014e53706174756c6142726f39313538014e53706174756c6142726f39333236014e53706174756c6142726f39333334014e53706174756c6142726f39333838014e53706174756c6142726f39353238014e53706174756c6142726f39353332014e53706174756c6142726f39353338014e53706174756c6142726f39353638014e53706174756c6142726f39353731014e53706174756c6142726f39353937014e53706174756c6142726f39363038014e53706174756c6142726f39393736014e53706174756c6142726f3939383501581c43647af85d68093da3895ce31d1e8c4aeb20f3c2dfee8b0536d55b21a45443617264616e6f436c616e6e734d656e31313832015443617264616e6f436c616e6e734d656e31313833015443617264616e6f436c616e6e734d656e31313836015443617264616e6f436c616e6e734d656e3131393101581c95ab9a125c900c14cf7d39093e3577b0c8e39c9f7548a8301a28ee2db44a4164614964696f743130014b4164614964696f74383633014c4164614964696f7431373732014c4164614964696f7432313835014c4164614964696f7432333630014c4164614964696f7433353334014c4164614964696f7434373237014c4164614964696f7434383739014c4164614964696f7436303634014c4164614964696f7436353637014c4164614964696f7437303635014c4164614964696f7437313831014c4164614964696f7437323633014c4164614964696f7437363131014c4164614964696f7437363737014c4164614964696f7438373330014c4164614964696f7438373730014c4164614964696f7439303639014c4164614964696f7439303832014c4164614964696f743935393501581ca66ae3debc862552f0f183f6bfa7d00b91aeb8c2fadad5ba6e89bf15b81e5046616e6379466f7274756e6531353730015046616e6379466f7274756e6535303938015046616e6379466f7274756e6535333437015146616e6379466f7274756e653130343930015146616e6379466f7274756e653232393439015146616e6379466f7274756e653233383431015146616e6379466f7274756e653235353330015146616e6379466f7274756e653236343030015146616e6379466f7274756e653236353239015146616e6379466f7274756e653239343939015146616e6379466f7274756e653438393331015146616e6379466f7274756e653531313830015146616e6379466f7274756e653531363638015146616e6379466f7274756e653533343133015146616e6379466f7274756e653534393232015146616e6379466f7274756e653535333537015146616e6379466f7274756e653538373433015146616e6379466f7274756e653538393033015146616e6379466f7274756e653630323235015146616e6379466f7274756e653639363738015146616e6379466f7274756e653731333638015146616e6379466f7274756e653735343734015146616e6379466f7274756e653735393539015146616e6379466f7274756e653833343439015146616e6379466f7274756e653833353933015146616e6379466f7274756e653838343532015146616e6379466f7274756e653839323030015146616e6379466f7274756e653930313331015146616e6379466f7274756e653935373732015146616e6379466f7274756e65393930333601581cd4162cfa26718e8a4357226ffbfc3df6a210b2a4d5727ecbfd1e8eaca14a4655444255443438313801581cdbc31b04d90b37332813cb4cee3e8f79994643d899a5366797e745eea1434655441b0000001a8d88305f581cde2340edc45629456bf695200e8ea32f948a653b21ada10bc6f0c554a24844525253343434390148445252533538333701581ce79441eb549e1561893723f82e1e3d3726f75949e60a6bcabb5803a9a85354726970707941646153314e756d6265723139015354726970707941646153314e756d6265723934015454726970707941646153314e756d626572323138015454726970707941646153314e756d626572323733015454726970707941646153314e756d626572333233015454726970707941646153314e756d626572333331015454726970707941646156616c656e74696e653234015454726970707941646156616c656e74696e6536340182583901f10edabf9cc0e807ae5a5b95691f2314378a5b63e53fe8b74cd7beb84637f55651101085916e6ddf86e07d129c50396a78578cc3eac8c88f1a0afda095021a0005f04d031a038fdb82a400828258208ff7998aef11d495ac964abf0a9c36d9cbd04e3e3797ea977aecd0022d1f867c01825820c60aedad00e50860d4631bdd09e6e3d8059d3d03d7da4f26937585bcd60cd72704018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab00825839014dd1bf0594cd6333774fa664b322a060456a23823489a6b6e9731f251f36eac04ef86721d3e3e8e2c3260682fdf712e273785408ab2286291a006e890f021a0002b06d031a038fb17fa8008182582055ceabdcb229cb8f52c921d40c2afa75f7c4fb044e810452c2f0e036e2950f32000182825839015c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3b9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c521a0024db3f825839015c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3b9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c52821a0014851ea1581c869fc72c11977e4be3e8e1cc63cca008a925886332795c9601f965caa144555344431b00000001fa9fb149021a0003a8a3031a038f92e7081a038f84d70b5820b1a74d3067a71f192bfa9df32b8750c69c6d7d10b4d51e5c96f37afd21b17de10d81825820777e043b163e0f4c0da57a894ee14e7f6ca87eaf6b3fa4faee3ba039774f6fff000e81581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3a500818258209507e2675c776b34487a5b005447e1495abc09d24624dc22dcd77049b365ea32000181825839017f411b580b2452276b425ad4e59ca6a4ccb32335885e8c307c8c8b9654c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b1a013625f3021a0002a82d031a038fa371048282008200581c54c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b83028200581c54c109272d2be6674e2f6e3954d295b5320c756246344fcbc618287b581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a90082825820972f6b46cc2c14220b36da39c65462e8082020698c73a1914385dc5f9e09f4f20082582060dd5a762d89f645b8409706b9de36b5cc0204a3d0e6a0a2d24921d5e7bc060002018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001ad576a1581c7e605894cdcbe8d1933f0a8760d93bd121aca583cf21ad1c25e51fd3a1514d6164446f67436172436c7562383133310158202139e5da3ef0b42b369766776504d9d6b4d5dcf6f182f4c1922198b78a0883f682583901eb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a04f1f9c1068689d6441eaec95ec01cddfcdcd43bae0481993bbb2e0421a0044bf6c021a00078bd4031a038f9532075820125ba9159077ed7fdab944710348ec14f8b45862ab19e2de15a5bc34f92e17b4081a038f87220b5820b71d59ab5c77f25a053ecedce76731115cd7c8fc4760504daa880dc6141bbcc20d81825820c0662502e61ee2f58d4d20b1dddb82ae8b92b24cbdb7fb8d8755b269a6abd9f6000e81581ceb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a0a400818258201906e535589b4db9c3de9e20e8eee8794cfb4ff34df7ff74d6e0249585a3474b01018282584c82d818584283581ce8eae9e96ea5a4a634ac3ac0a33280527edccad7beb62e80b8558708a101581e581cc5d949b02e2323e44b483a69474eb1f3800cc89ebb5dc2b394a87ff5001a12658d031a8a1a9d4082581d61f73d3776f2d25e2b561bcbd7d3fb660b2ad8ad2d5fd39d7d8ddb81011b00000004c6d97579021a00030305031a038fa46ea900828258203cd3a191d42a9635c909064757bdf1330af5b18863768a1ede2690aa20592c0500825820cf5e7183a89cc56ba31def6367100e305cfe85a22951641964ffee0ac994efad02018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe7a14f756e77616e7465646f6e6532323637015820947e09389fd38c3f39d3d16223c71f839e853ffe018460c11dbd242686f54bd6825839011514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a363d4c4b05adc3079a711dca1eb608489c24d51ba14025b409c7c46b61a0044c024021a00078b1c031a038f9532075820019017216bb6326fe1057704978869bfecbbd9f04d07df412a16969f5fc56768081a038f87220b5820b17616e42c0949ddd2d907cfe0549f9314ee0fe6ce4afe893f57f323a6ecacd90d81825820f0802335a92d05daead033fc01ba000e640ad0df7d38910b71a20f21e32d7905000e81581c1514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a3a40083825820571d0c7dab8933070becc24fad347b825cee2d654f4f2a632d0443558085c192008258201dbae3a1b3569a4bf47ab795cdb9707fd2c1bae94c1cfa70f992f89d0ef17986008258202019500b946e5dff821da617a40eb6fe58c62556240f115ae9ddc63f80474548000181825839015902a4dbba231298437802fe2267ec92302270573e13a411702032fd3533f2cc4a19d0e33c410faed704ff559046383faad98ba25ae512a61b0000000288076737021a0005f500031a038fdb82a400828258202d5676e52e3c9a11478ca9b2bcc667045d8b85c4ceb1aee84231f3bc8ac60bee01825820f36de36dc21e8d91983b1060d96d20275ef8b0130cfdec0126def147465af7ae04018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a3b9aca00825839016fa2d7bf96ef21ad621cf62eea095773656e56f829d7c1b11892dbcc121f3953c88cc44c0f11a84f61d8501a36c27cc8ed13506b9fcb70561a006e890f021a0002b06d031a038fb189a90082825820f8db90ecafdd263320e5a084881d3709e19163d6ab469dc2c361dba9a6507f02008258209ad363c35e7744a576d9c0246c8e16bdef4771e113e91d26b440b897fcaec51602018383581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001b5c28a1581cd4e087164acf8314f1203f0b0996f14908e2a199a296d065f14b8b09a1581c636162696e31373241646469736f6e4176656e75654745333352333701582098a6d4c095600583b89c06b1bb979bf01a286832cf4bece2b64724f990ee1dd8825839015f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee8b44e72048d5cff347256b7a1b75e84c3bbd1135c4eb68b4f3d33a631a004c4b40825839015f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee8b44e72048d5cff347256b7a1b75e84c3bbd1135c4eb68b4f3d33a631a078b2e81021a0007bd2f031a038f9532075820350e1ba520aabbfbe0fe8e320af169cd4e0a55fb92ae21f6ea2d294db3a83d3e081a038f87220b582089971aa4f4056ff9eeea018db9b4bd535c80008ce27e110e8c7d1d0978bd227f0d81825820e00e38595f648795d472dd56b3703c157ef351921d996418d218764378fdea3b000e81581c5f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfceea80087825820e9c84b354d084c3a2ab93d9813ecf13b7ee31a7f24dc094a36e2459663d5d139008258207c6b4fab7b36d2b4ff75090391320963e81cfd68d424b37f4d71e1a072b7cc29018258205493c0c019b8b6c00f6f4270813e3e6c1d3c5c27dd984f254431ca9677145411008258207f866cf144c091eb0ab816cc684c89b57d35fcd25db9e3d32124a560e0339d0803825820b1ccc221c2acc6cdcd730958e85b647eb626b07d465ae658fdf1046c096e35640182582042980f6727fbc74a0428b35680ca9299f0b8257ee78e48510ea63100aeed5422008258207076256ab325a80ac8b8be90dccd994789c163c9e326339034857d2eb66fd1d705018a8258390170e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a721e78aae7c90cc36d624f7b3bb6d86b52696dc84e490f343eba89005f1a0328b74082583901f2ec7a984a0c4a3031ffedf5023d7c4a096cfeb36f9d5cdb62a3a60b5a3e49928622e4df54710f60d7138f58e80da503819b1b8d084ec5fd1a04bd12e082583901083583e222e251c427cc9e18f941ac569ab7382b953f15b226083b38df29973b55c77daa57d86ea1ebcf25827392aac5383e41d57b5846621a960e00608258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc8644821a004bd198ab581c1d7f33bd23d85e1a25d87d86fac4f199c3197a2f7afeb662a0f34e1ea150776f726c646d6f62696c65746f6b656e1a0066baa2581c2437b5d59bcdc45f7e3b58f3028c733e5680812a20c831179a9aaa3ba14341574201581c380db8204c61dde65bbebc0030a791ab3ad41c6424183636dd13b234a148756b7261696e653001581c64fbfd3dff606ab050ce91c4449f6ad7a5400232c283c20b1911c52aa14f5348414d524f434b477265656e393201581c6ac8ef33b510ec004fe11585f7c5a9f0c07f0c23428ab4f29c1d7d10a1444d454c441b0000000f51480fdf581c8cea09a81ddf9707fd2c80f544d984bd0e8f16898bba852c53bc1048a2464c414349453201494c414349453136393201581ca554f654df7fd2d2112271df6ef594cef5040d640d9828ac22db1a09a1581d43727970746f53616d7572616957686974655374616e6365733039303601581cae2a0aa5a24b27d9868c4a73b7c08077ac21baade5eca0fa467a2bbda1445852415918a3581caf4bb09f61b227e0043b50b37a2b4254208caa71c9e6c54653b0614ea148756b7261696e653001581cb34b3ea80060ace9427bda98690a73d33840e27aaa8d6edb7f0c757aa145634e45544119f670581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bda94f4368696c6c65644b6f6e6730333035014f4368696c6c65644b6f6e6731313039014f4368696c6c65644b6f6e6731363331014f4368696c6c65644b6f6e6731393035014f4368696c6c65644b6f6e6732303831014f4368696c6c65644b6f6e6732333630014f4368696c6c65644b6f6e6732393536014f4368696c6c65644b6f6e6733343831014f4368696c6c65644b6f6e6733363832018258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc8644821a003382aba2581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bdae4f4368696c6c65644b6f6e6733383939014f4368696c6c65644b6f6e6734323339014f4368696c6c65644b6f6e6734343535014f4368696c6c65644b6f6e6734373939014f4368696c6c65644b6f6e6735313630014f4368696c6c65644b6f6e6735323135014f4368696c6c65644b6f6e6735353533014f4368696c6c65644b6f6e6735363033014f4368696c6c65644b6f6e6735363439014f4368696c6c65644b6f6e6736373033014f4368696c6c65644b6f6e6736383437014f4368696c6c65644b6f6e6737323633014f4368696c6c65644b6f6e6737333632014f4368696c6c65644b6f6e673834313301581cda8c30857834c6ae7203935b89278c532b3995245295456f993e1d24a1424c511a0016ee588258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a004c4b408258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a1ff46b4a8258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a0ffa35a58258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a07fd1ad28258390130d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdce15b6d59e7775b3d4f5b6f360b99aef26dadd9a3057e29799bcc86441a07e47655021a0018a47e031a038f9532081a038f87220b58207d514ffa5b877e7850460e67ce3c05eb1acc4c9f715500214374e899a84503880d81825820ca41b4c2b21cb2cd2928728b032396d8b81459138c2e180a9b79cf72356d30ec000e81581c30d13d9266cde66f5e2b41cc5fa64d20d5683e41ce1ffc1881d63bdca50081825820230d8a098ecb915d7a49a65ed0fe6a4d52ca4de653da24c693048889642e25dc0001818258390151aa9a1df1bd1fd47871770566569f505f0677734e4fd63e1d7b14f02d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e401a013625f3021a0002a82d031a038fa380048282008200581c2d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e4083028200581c2d6ae8ccc77710c43c37f5d8cd913ec2b5a13511f4bf3efe35492e40581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a900828258209f0d1c4ca7e22134e80f02d2b87aa4c2e6a9ea4006087ef0d9611948118976fe0082582057964d6707a6d5443da3cbadbcd5a5e91bb13bae826671f9b650a88ade7a3f2604018483581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581cffa56051fda3d106a96f09c3d209d4bf24a117406fb813fb8b4548e3a14c4d656b616e69736d3334303001582062015913df6e17b940cf56e7a59a6d7abe34a55c2181d5d4b256a8920edbdd3782583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a004c4b4082583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a084dd36d82583901409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43266b67f81cb72ab84f0fdfa0eb56e7a297550d39c28170f5f3f2b6cfef1a0845ef22021a0007e44b031a038f9532075820f2ded6aa6c4381df084da2f96d569f0e1e6c105627bf3ee29d9ca7479639bd11081a038f87220b5820b947448e8fd369ed5c8c2fe2ceb083b60d4c9f8a42e7cd864613d4dd87b23e950d818258209285833a0ae7ec1eed9446ec8580ef1029d30d60b4c2a6d5d06a932c88bb77eb000e81581c409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a4326a400828258203d54aaa1a827cde425680818bb7b51de0a78fb0fffd6c8b6fe5d7fa6001cb7f90182582006647bee00bafd3f6cfd88aab95c75a406daae174c833d2fb7e99e825f3ab08602018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab008258390109f67aa2e80864a44b937b93b155612b540d4f78636ef8586f7f7a23dd1f01f7e45adc5786c7efda411428fbba2d2fab79196705065678511a006e890f021a0002b06d031a038fb198a50081825820f766eb98fc31e9791d6eb627c735d26b9920a4f3815b46b81763ebf9a75d8fc100018182583901234edd3bb4232d3d4ec9af6a30c0535b7a0d3aa4fae1a2fe3effcf68750101d937f627b2c8d02617d38233092758c90306315685422d2dc81a013625f3021a0002a82d031a038fa38f048282008200581c750101d937f627b2c8d02617d38233092758c90306315685422d2dc883028200581c750101d937f627b2c8d02617d38233092758c90306315685422d2dc8581c7e3a1ed8f2085923debacc6866aefaba941edd638ff0886061ebf521a90082825820ed43684aa53531eddf70b651da04d0d3a1caae32dab96cec1d5c4ae1aae60326008258203378d0eac02e639fc7f95f039d1370ab0b0a9073530f88cc11e3973c5f2e18b804018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001b5c28a1581cdf44bef5a988e0b135145c505d734130f545dc959e764ac14c9ce983a1581a576f726c646f6643617264616e6f50617263656c3030313034330158207b7a3741743b206ce1a97ccf8cd17dfd3fbd6e72ba2d209c936ef5d2f639de1a825839011c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe8764015d0c47792a77d809ef5c2091bd8a508596a9ec0c6ceefcdb449151a0044bbd4021a00078f6c031a038f9532075820a10de9db89968fbfdb737431c19ff64ae10a2eba56fd38bc308e7c807ff0a947081a038f87220b5820f23a1875ce82b0e7c922d4a51d42a162537ee2de1eed4d669c123486863b280e0d81825820b3bfda7acde8142b40bae4bc2e484644ba9ef99b7112f77fb82499b5a0ec4881000e81581c1c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe876a40082825820d7e118287544a6c314a83acc9a07e98ce33b16212ad18a362ee6ec761335877d02825820d7e118287544a6c314a83acc9a07e98ce33b16212ad18a362ee6ec761335877d01018382583901a7395936e9d22ed02907e486203f99a06111ede53838cdb659d696236631d89f02ffdfcfe2e3c59374e0bc0c4f5db820cb551ccbef52b3aa1a02aea540825839012f2c5d0e79dda76b36e9042980400c244c98af9eb14d6d45a7d520c79f537ded22c54c52b3813272bbe32ebca1cd464aad3c085cd05837ed821a0014851ea1581c721f96b81933b34957d05bb050de2f1119e8379cb6223a36073e1a84a1434170651906f2825839012f2c5d0e79dda76b36e9042980400c244c98af9eb14d6d45a7d520c79f537ded22c54c52b3813272bbe32ebca1cd464aad3c085cd05837ed1a00809b6a021a0002a9b9031a038fdb82a4008182582035f72134c9403bd16f13ff07de3a6e26ae4b880f8f3682dbb6115ed01c23c58b0101828258390140c8c0dfd02233b721f5df56f9d6eb50eca4fe9c77eccafd70b6bd44bf7c1eada191ffac1913c949f361716becd5c7e67f6c7b35d78157021a1dbe22c082584c82d818584283581c776eb96b96e2cbce528a47278a736ab725dd13ce98c027ccb548ed70a101581e581c1afbc57540db1561adeaccd7f4894065965cd230f6bdc70722aecd8b001a6a14bf9a1b0000000356f30fff021a0004aba1031a038fa342a50082825820c408205ec74b918413dd68a28edea5a97161527f16af5d5f08a218e826a36b4f0182582091072ffdbb76c8e0b6d84a8e830f3a65278451c24a80c1535bf03ab3d19e8c4d01018282583901bff3aec4276ff91795df17846e6e02f75a6c9d55f63d6f227cf8e357d35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc0821a00161934a1581c026a18d04a0c642759bb3d83b12e3344894e5c1c7b2aeb1a2113a570a15820a08d4691c4c330a15bc2b96f3e4e4ae4f77373a01c4120479c34ca8b077b69571a0048b82682583901bff3aec4276ff91795df17846e6e02f75a6c9d55f63d6f227cf8e357d35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc01a00125a33021a0002c699031a038fdb51048282008200581cd35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc083028200581cd35dcb80a750dd7b882467984cd58ac9ac68fdee570f46ae52fccdc0581c2a748e3885f6f73320ad16a8331247b81fe01b8d39f57eec9caa5091a90084825820349e8177bbb029afaf9e75cbdc14c87afa4df2a58c68534fe079444d29fc4855028258206d20057b67af696d68fc4d96fb21d55e379db4d9cf7b8594945b9f6c9ddacacd018258206d20057b67af696d68fc4d96fb21d55e379db4d9cf7b8594945b9f6c9ddacacd028258207fd937a8d123a00af180f5349a07bfaf2e8ae733b5f7f13f8ac593ceed39ae4601018283581d71ba158766c1bae60e2117ee8987621441fac66a5e0fb9c7aca58cf20a821a0044aa20a1581c9a9693a9a37912a5097918f97918d15240c92ab729a0b7c4aa144d77a14653554e4441451a0d8bc806582032bf880b151bb2fef6146fa91ded0088b5a0a45afb0b7d3ce579a0ac665709f482583901e82071bf8bf1b23bb0342474025dc364bd941cdcacd3aee3ba7edde5ae254322c32914496dcc712b63a2b03181eb432b103a0879ca691c291a04555071021a00034a65031a038fbeed07582068c09da87243e0be2be7d69b3379d2b5a850f1954696e153d822ba5719349671081a038f86ae0b5820187c580d283eff82d4b2bca65b7ae0bdc17bd8f2a7c4f3caef119294fc4223f40d800e80a40082825820de3c537ce0c38ae88af92054a12ee1b295a85847cb50277e663bb69f4adbc25d018258205343abe99fde3e3bf3ab0381d7b8ce73ef3123679784e9dbba9181baba6c835004018282583901e5800387d95bcf5deb90f808903e5be7e429c126d054023b4fa904592dd4110079d206bd642cb5d53d85b6f6e2d6e8b9b1b6cad0d15ecc68821a0014851ea1581caf2e27f580f7f08e93190a81f72462f153026d06450924726645891ba144445249501a4190ab0082583901c87375648b4564812032271c381d2cabba04a8d637c1b5dc2b0f2f7b27a0599a122ab8c40ed9a266240dc39c7210581b0212dd9df531b57f1a005e8a15021a0002b06d031a038fb1a4a30081825820c25efb810672a57d27b620dc95897feeec41ab7cb62fdc0057349ee042f6d42a00018282581d617534f67a28eccb47b41e47a0de11e0628564cbb833b2e3ed065bc22d1a001e848082583901eeca19727937266ce80edbc6ce8d6518597c6a440d51f722fcd16f83cb37341431e1467867d14ac6fd58cf88f63487db7f667f4b23a08fbc821a0208d27fab581c0357ddfcd058650e6ef5f299b821482f9bfbaa4783bc5dffbd3c246ba24d4e656f6e526163657230323638014d4e656f6e52616365723037313501581c093b80c2d0fca1e50d06e6fff5d22ea06c37a70a36fca1999cb34da8a2477374696b32333901477374696b34373601581c48766b78dbb52c7fc4617acf4503a9f40b2f0fb3448ba0ab0e1fda09a14c5374696b4672696b3432383801581c6cfbfedd8c8ea23d264f5ae3ef039217100c210bb66de8711f21c903a144434e46541907d0581c7a5a5c3757d33c2b2ff0b09405676e61f93d28b5d12805dd3320e31fa34f43727970746f44696e6f3033323235014f43727970746f44696e6f3034353334014f43727970746f44696e6f303937383801581c7baf77830c4daca79423b3dd4c89462b24b959c143f1f1762b1a91cca14c42617246696768743035363301581c7e206036ca4345a7c45d37d2dff0d7280a0854ce26d279e06f7d94f1a14f4e696674795465646479303633313401581c887e4d7b2e7d574484f8c780abef1599ce0bad1c751fb14ccdf9d410a24f44696e6f536176696f723038313434014f44696e6f536176696f72303831373901581cd05264552c50565fd705256b5b2a8d7faeec622b9a13678a9e5dbf4da15043617264616e6f4265616e303532333601581cdb9092a340fa079b9ec6066b646046efc0f846e96abf7eeb5f3959e0a15153757065724f47486f6c6465723133303101581cf4bc41c3e4a92943bf87752be1230960ff3eed2f88645a20ecda0faba24e48696768537465616b7332323537014e48696768537465616b733338303901021a0002f26da600818258203b67241d8340805b2346466ca33d07b98fe9dd0547ef611eff648bef80f69cc300018282583901c1fe07dc6d292de403f127297e26ebcda40bf65952bb96a9742902173651e6ca8542c78818b7fff0d5c075a03ceaa9826c6694399c7ef937821a00200b20a3581c4c3f8a1773b7813e537a75f7b1b2897996bdc0e1d6d7d0c11252e252a1504d6f636f73736949746f32313630333701581c5d5b205252b9f5016422d0eace869d7fd45074a4ea4b6c1dc78d1705a24e4d6f636f73736949746f39333533014e4d6f636f73736949746f3938363001581cd4473a78ae992ed6d95299e7177b45c8053d5db5495467a29ff0c780a1554d6f636f7373694d6167696350696c6c30383036330182581d6104df95ba9c9726b4ca3e5b1a59d3b04c6f5feb90840573d81c8949241a01ebebc7021a0003fd59031a038fa388075820698683d4d4e60368506630e1e8ce0a173de6c099d1f303cd50f81d3f027ee83409a2581c4c3f8a1773b7813e537a75f7b1b2897996bdc0e1d6d7d0c11252e252a1504d6f636f73736949746f32313630333701581cd4473a78ae992ed6d95299e7177b45c8053d5db5495467a29ff0c780a1554d6f636f7373694d6167696350696c6c303830363301a50081825820de034f70bb7be6424036cafdbab0145e31ee25d330534d43a04f90ec98139cb201018182583901b0a829369d268f9e5ff663ee2eed9627b0e946c0e46dbd695f49c5877850e39a8d898d870895fc7856c6241a9afbdccf92048ee6e3d3973d821a00562ec8a2581c4bf184e01e0f163296ab253edd60774e2d34367d0e7b6cbc689b567daa525061766961506c757334374d696e7573343401525061766961506c757334374d696e7573343501525061766961506c757334374d696e7573343601525061766961506c757334384d696e7573343401525061766961506c757334384d696e7573343501525061766961506c757334384d696e7573343601525061766961506c757334394d696e7573343401525061766961506c757334394d696e7573343501525061766961506c757334394d696e75733436015350617669614d696e757334344d696e7573393901581c884892bcdc360bcef87d6b3f806e7f9cd5ac30d999d49970e7a903aea14550415649411a00014582021a0002d275031a038fa35e048183028200581c7850e39a8d898d870895fc7856c6241a9afbdccf92048ee6e3d3973d581cdf1750df9b2df285fcfb50f4740657a18ee3af42727d410c37b86207a70082825820753171c1c1e1ac4250eec363ec654eedf4cb22bc4b46ea70f7aec04835b322ff00825820cef395be4d3c084e767df232fa7ada12100464e699aeb1c9e15ac1cc972f8fd501018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001ad576a1581cc364930bd612f42e14d156e1c5410511e77f64cab8f2367a9df544d1a155426f7373436174526f636b6574436c756232393130015820fbd4e01191c77b4a86bed064f26f5fb206310cf9e9d616a0633334464de4ba6b825839014171a3c5d9ba4903da966f28b64b34047c05fcbb823ff3b2318eea9502fcdcd286eab6c9208b926d44a949a15cd189248b77463c45f7a9211a0044154c021a0002f300031a038f95780758203f9924bc4c61807f438a53ec99c43d318f4c0c4b15fd382addcc73556c85828d081a038f87680e81581c4171a3c5d9ba4903da966f28b64b34047c05fcbb823ff3b2318eea95a9008282582021e2766e588db76d6a5270f6878e9aa2a1f0f6b38e6c65f9d274a444b6ec22ef008258204cb88157c6ec0c5acb3a6abf5b88526c7dbfe18f7a0201799891070bec9dd3e502018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581ca587ce7893ec56fa6136e483499d2a8210e29c34b7dc673446128875a150436861696e734f66576172303130363301582072ced45253405a64f4b18d98e7899f0bee782afb81d5d2b753f284d15802a47b82583901c5457eb1c10330527b63686115cf590cd8e3d4747612608434877f21d0981f3a0c4e89369765e3954e7d7fdde59b4366afc940844a7e979d1a0044bfc8021a00078b78031a038f9578075820ddb8c2750592496dabab0acaea643978fb229a1edae06c349c5adefe47b7f6c5081a038f87680b582063d1b4767500305cdb5551647d10fe3815abd3420ffc885e95b32821cfbe72440d818258205e4cf8b192825b529e0aa01506ad1f8fbc346db0f45d01c06c48e2e80df74682000e81581cc5457eb1c10330527b63686115cf590cd8e3d4747612608434877f21a700818258207a352df38355c7430a32b20da7c8f29df1651ed1c27f8f8e1e74df37041f6e5301018283581d714a59ebd93ea53d1bbf7f82232c7b012700a0cf4bb78d879dabb1a20a821a001a4ec4a1581c9cc83ea54377108dd022f18095040e8d5808a3061c4fe54f3fd64a7aa15048616c6c6f7765656e417065333035360158201567758fa3f080420bcedab6772e26082edaea3c970aee2dc6b2fe4a42831f9b8258390175a811ef1ec0b52e5cf428cdaf9bdeea9521c6dab3cf9edaa5860f2cbab07dd07eb77bb06494a07c060c8c7fba6a6b9bb156ccd9c6ad79e3821a0115c692b83e581c0171c997b8853fde686763d93b36ab8e04ce947bb6aa09a9ee5c4401a145544f4b454e190682581c025146866af908340247fe4e9672d5ac7059f1e8534696b5f920c9e6a14563625448431a00030d40581c1079cdd8bf9c146f7703aa19f26c6726134e2bcfce9fe0572d7c5864a554414441446967696573536561736f6e34313033370154414441446967696573536561736f6e34313638300154414441446967696573536561736f6e34323130330154414441446967696573536561736f6e34323731340154414441446967696573536561736f6e343338383301581c1774343241680e4daef7cbfe3536fc857ce23fb66cd0b66320b2e3dda1454249534f4e192710581c1a71dc14baa0b4fcfb34464adc6656d0e562571e2ac1bc990c9ce5f6a144574f4c461b000000041d03f0a9581c1f4b1b277c9c001c1522727506a2cfb401a0d0ade069b0241f16f07da14248491a002dc6c0581c26737d4f7e75669b71490fbacc4521a7027ca2d70e0a4603097686d8a147245345435245541926d4581c2afb448ef716bfbed1dcb676102194c3009bee5399e93b90def9db6aa1454249534f4e192710581c2b8822f7799f325e278991a244e7715591945b1c2a3589cc76035ca9a147736372617463681a07735940581c2d7444cf9e317a12e3eb72bf424fd2a0c8fbafedf10e20bfdb4ad8aba1464348454444411a000927c0581c2eb3e6eac64b7119f948b5529909e45a8e29c88563fa6a3deb78519ca143484159190dd3581c300ec0d82a79acdc0616fdc0ef615e7deeddb03275e834685e9ee8a6a14258541828581c4247d5091db82330100904963ab8d0850976c80d3f1b927e052e07bda146546f6b68756e10581c443726318f7a3995686a79f65ed48fdb79aaf576aecaee354d8ba018a1444e49444f1832581c4d742ef81dfba15faed09f1fa68723e283633c65ef1e1a0a0cd766c2a25042616279456c657068616e7430393034015042616279456c657068616e743135373901581c4fd0d998dc0700ca6ef89fafff05fbf523a3a25c1fc8314bf7e4d1c2a14647726f7774680a581c4fd6d8b1eac12b029cd68acd25220c20dd13b9c4b0d0b585d49135d3a144534143540a581c5029eeccd52fef299509d509a8318fd7930c3dffcce1f9f39ff11ef9a1434647431896581c544571c086d0e5c5022aca9717dd0f438e21190abb48f37b3ae129f0a14447524f5705581c547ceed647f57e64dc40a29b16be4f36b0d38b5aa3cd7afb286fc094a1476262486f736b79190dac581c56673962a054070732569178ba2b3e1cb591e3413ecd7b57a9e3f18ba1454245414e53197530581c5ad8deb64bfec21ad2d96e1270b5873d0c4d0f231b928b4c39eb2435a14661646f7369611a0daaae20581c5fa72fbeecbe80a3e15de1cacab54ba5e310e2c36ae85351132ed4ada14e4c6567616379506173733234363301581c641f0571d02b45b868ac1c479fc8118c5be6744ec3d2c5e13bd888b6a1465a4f4d424945190bb8581c6787a47e9f73efe4002d763337140da27afa8eb9a39413d2c39d4286a149524144546f6b656e731a00035778581c6954264b15bc92d6d592febeac84f14645e1ed46ca5ebb9acdb5c15fa1455354524950191388581c6f91ee54902dbe0615b1e6de69538d1cbbebe4a9d913643291e81035a14e496e76616e64657273506574333101581c7f376e3d1cf52e6c4350a1a91c8f8d0f0b63baedd443999ebe8fe57aa145424f52475a1a00013880581c8654e8b350e298c80d2451beb5ed80fc9eee9f38ce6b039fb8706bc3a1474c4f42535445521b0000001196167c20581c88691a70bb0fe49cf9124b4f78553c36c09fa6264844e2b294119173a1454575736b6f1832581c8a3e9f98aee1972b2841fd43802266d595ea8d0f823bbcdd3c44e7dea150496e736f6d6e69756d4172743134393801581c8d0ae3c5b13b47907b16511a540d47436d12dcc96453c0f59089b451a14542524f4f4d1a035c4fa9581c95ef7829379af37336b98b487c03c389c288cf938f54ddccd10185c2a14d536b756c6c4c5056536b756c6c02581c99cca2c1a06dce51069d7e401af25f9dd06c44fc16eaeadcfc84f959a150414441706f63616c797073653333353901581c9c54bb728df9847b0358c84c942500646326a1b581a2b8c43689d220a14c5374726970706572436f696e14581ca0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235a145484f534b591ad4d0d592581ca3914cb7a564d010c7b67774ac8720a8ece3a758279b51d8a1c05cc5a1495745444e45534441591864581ca4da8764a57e66a0085b5bfcde96c89b798d92ee83a75f59237e375ba144464952451914b4581ca89568bb399d0cdc38367e47831c95186f5c79e58174e08a18232396a14a4554424643546f6b656e1a02fafb55581cafc910d7a306d20c12903979d4935ae4307241d03245743548e76783a14541534849421aee6b2800581cb0446f1c9105f0cc5bb6bd092f5c3e523e13f8a999b31c870298fa40a144515549440c581cb24a29b9c16d349df16d9b5553b119e399e46ae19d6150c1a843ef61a1466469646974731a389fd980581cb788fbee71a32d2efc5ee7d151f3917d99160f78fb1e41a1bbf80d8fa1494c454146544f4b454e1b0000000d0ffb9026581cb7c783f6304eddbdf8f0dece4715d63cb9f453be89d97c8fba155d57a1445245534919015e581cc68307e7ca850513507f1498862a57c7f4fae7ba8e84b8bc074093a9a144444942531961a8581cc9f955eeffa84e42363b4992281d32dd2f9239153d6c66420a9acc15a1434c4f471a78696596581cd030b626219d81673bd32932d2245e0c71ae5193281f971022b23a78a148436172646f67656f1904ec581cd1333653aa3ac24adfa9c6d09c1a2cc8e2b7b86ad334c17f2acb8647a14842696f546f6b656e05581cd3558649b7874a1a596378515f9b80da63e73f324439ea113d34c9bba14442454147190113581cd6fe6efa7788cb70e57a91891605e3694352cabb4837e870610300e9a84b41646141726d7934373734014b41646141726d7934393034014b41646141726d7935303135014b41646141726d7935353139014b41646141726d7935353537014b41646141726d7935353737014b41646141726d7935363335014b41646141726d793633373601581cd894897411707efa755a76deb66d26dfd50593f2e70863e1661e98a0a14a7370616365636f696e73182d581cd9589c1a401765c82dd3536bf8f9f4337e15dfbf708e3a7f7e2f37e4a34d436f736d696350616c343739350157436f736d696350616c7350726f746f7479706531323837015818436f736d696350616c73563250726f746f7479706532303901581cdcb16550b3831a9c675b5bd827ad0ffced2dc0310b0d839c5c1dcd5ea14d4375746544756465733334393201581cdd2bebba256099ddbc70d691935215d6dfd73cef054a087207947e89a1424d4d03581cdd69528872e351a402d3edbc6d484cdc45119d6aa5d1869a09473daaa2474d61783238303001474d61783431313901581ce14fe3ab348f9a6198359481472601f4557b9f86984f40a186a3b1e8a1464348455252591a02625a00581ce5768de32bf1f5ee36035217e79466739eafbbbe6a7348afc3fc593ba14c4672616b74616c44414f383301581cea2d23f1fa631b414252824c153f2d6ba833506477a929770a4dd9c2a1464d414442554c1a000f481c581cf0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9aa1496d3833676962736f6e01581cf28f457472e539dc75e1598a2beddf49ce5a717998c708f05f5de610a1444445465319015e581cf2eb8567e5df9167a40561f4c69e47d809138b2269e01e512aec2d8da1581c746f6e79726f6765727364657369676e4a6f6b6572436c756230303401581cff97c85de383ebf0b047667ef23c697967719def58d380caf7f04b64a144534f554c1914d0021a0004f378031a038f9578075820b99fd21a4a11a73e21f85d77b6b8de0b200920f6848fe2bc1b87c8456386dd4b081a038f87680e81581c75a811ef1ec0b52e5cf428cdaf9bdeea9521c6dab3cf9edaa5860f2ca40081825820747a6a1db4f8736c9c5c95bb2b61df8cc33e953d4e715812aa02f985223842b000018282584c82d818584283581c29c92990e371d5f2add93b1569a42a68f971c2aad6c5f0b94a2205e8a101581e581cbe2051244aa9875a75e59415f371ddae995c0d9d576fc30954621fb2001a5a4b22241a08ee124b82581d616904e8b2c26f3dda6c4a5db4b3ec9e31d581c9960977cfe9c6917a431b00000003a1848268021a00029cd5031a038f9578ff9fa40081825820d2beea31ad3bbc59b0d50a84a9395e9f55dca859ac7a78da7b0c1ea946fdd3635840862fa2a74c6b0873f8d22c5db5557c334df0470d773813a7c349772475bbbd6232b68cd2535a0b9774a6999446fffb197062812d3b60406fa2c753eb60099a02038359014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c0159030b590308010000323232323232323232323232323232322232323232323253353300a53353301322533500100b2213232325335533553335734603c002260286eb8d5d09aab9e002153335734603e002026038402202626603600a00620066aae74004dd51a801911000980200098081bac35500222222222220091622153350011533533300d00c48811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10033301075c0066a00444400442a66a0022c4426a00444a66a0062a666ae68c07c004400858074580614cd4ccc02c028cccd54ccd5cd19b874801800c4c848888c010014d5d09aab9e00415333573466e1d2004003132122223002005357426aae7801054ccd5cd180c0018990911118008029aba135573c0082a666ae68c05c00c4c848888c00c014d5d09aab9e0040152675c4c4c66601ceb8004d54008888888888801c854cd400458884d4008894cd400c400806c5844800458cc035d73ad13253335734602c6aae740044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c848cccccccccc00404c04403c03402c02401c01400c008d5d09aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026aae78004050dd51a801910011aab9d00137546a00244002a666ae68c048d55ce800899198059aba1001357426ae88004d55cf0008081baa001100922333573466e3c00800402848800488c028894cd4004014884d4008894cd4cc02000801c4c0280044c01800c44880048488c00800c88c88c008dd58009803911999aab9f00120092323300c33007300635573a002600a6aae78004c010d5d10019aba100200722123300100300230032233335573e002400a46466010a666ae68c02cd55ce80089919191919091998008028018011aba1357440046ae84004d5d10011aba100135573c00201260086ae8800cdd51aba1002003120011220022323001001223300330020020012212233001004003153357389210350543100162216370e90001b874800810483d8799fd8799fd8799f581cf17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef68834ffd8799fd8799fd8799f581c0ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853ffffffffd8799fd8799f581cf17b776425e1f266638f511e4f3edf6871e99dd2be6e6025aef68834ffd8799fd8799fd8799f581c0ac17733cc0978c6d7ce98994b37c5313b01406262f85ff46e8b3853ffffffffd87a80d87b9f01ff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0581e436f726e75636f70696173205b76696120436861696e506f72742e696f5dff1b000004052630985a00d87a80ffd8799fd8799f4040ffd8799f581cb6a7467ea1deb012808ef4e87b5ff371e85f7142d7b356a40d9b42a0581e436f726e75636f70696173205b76696120436861696e506f72742e696f5dff1b000004053c986f6c00d87a80ff0583840000d8799fd8799fd8799f581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7dffd87a80ff01ff821a002b53291a3f518324840003d879808219c7841a01a0f8a5840100d87980821a000468ac1a070b470aa40081825820d2beea31ad3bbc59b0d50a84a9395e9f55dca859ac7a78da7b0c1ea946fdd363584096b10ebf20ea7d705db9cd8bab939d2b8ef242e0fda9762e497badffd5484050b1e56cc456e63cb48d13f497600ce05740d1f0da450b97816841c16284779e00038359014f59014c01000032323232323232322223232325333009300e30070021323233533300b3370e9000180480109118011bae30100031225001232533300d3300e22533301300114a02a66601e66ebcc04800400c5288980118070009bac3010300c300c300c300c300c300c300c007149858dd48008b18060009baa300c300b3754601860166ea80184ccccc0288894ccc04000440084c8c94ccc038cd4ccc038c04cc030008488c008dd718098018912800919b8f0014891ce1317b152faac13426e6a83e06ff88a4d62cce3c1634ab0a5ec133090014a0266008444a00226600a446004602600a601a00626600a008601a006601e0026ea8c03cc038dd5180798071baa300f300b300e3754601e00244a0026eb0c03000c92616300a001375400660106ea8c024c020dd5000aab9d5744ae688c8c0088cc0080080048c0088cc00800800555cf2ba15573e6e1d200201591e1b591e1801000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232222323232533533355333573460cc0042646424446600200a0086eb4d5d09aba25002375a6ae85400454ccd5cd1832801099091118010021bad357426aae7800c54ccd5cd1832001099190911198018028021bad357426ae894008c0ccd5d0a80082e1119191a827911111a80391191111aa99a9824806108008b1119191a9a9a80103102d91191919191919191aa99a982a89119982d91299a99820a8071a80103409980200100088008008020b03c9111919191919191919191919191982a299a8050a99aa8100999ab9a3094013303a307908101330820106700b06706e0060063305433355307908101305c05a305953353502b2233500206e2071210011635014222222207a33054353501422208e0122350012322533355333500a2153335004215333500c2130054984c011261533350052130054984c0112603c04f15333500b2130044984c00d261533350042130044984c00d2603b153335003205003a04f153335003215333500b2130044984c00d261533350042130044984c00d2603b04e15333500a2130034984c009261533350032130034984c0092603a153350010700820108201070253335002215333500a21533350042133303a03b00200116161604e15333500921533350032133303903a00200116161604d04e33054330500153306f00b02733054330533306301602548008cc150cc14ccc18c02c0952002330543305333063001010002330543333084012222533500315335002135001222223305d3305c0053306c01402b3305d3305c0043306c01402a3305d3305c00300c3305d3305c0023306c0140193305c001304800d0910122153350041622153350071622153350081622133300c003001323232323232323533307d0050070272222225335330743305100248000cc1440052000161333335003235500b2222223501d222223501b22235051222223232323232323232323253353308b013308b013306e00848000cc1b802920003308b013306d00201e3308b0153353306e00a00315335330870100e07013308b013308a013309a010110703370066e0402800c060cc22804cc2680404411c0084cc22c04cc22804cc268040441c0060cc22c04cc22804cc2680404411c008cc22804cdc08050019984d008088070a99a998370041a802055008a99a99843808078380998458099845009984d0080883819b80337020106a008154020306611402661340202208e00426611602661140266134020220e003066116026611402661340202208e004661140266e04020d40102a804cc2680404403c4cc22c04cc22804cc2680404411c008cc22804cc268040441c0060cc22c04cc20c04048070cc2080404006c4c8c8c8ccccc2c80400c008cdc019b800180050013370002e002a66a0082605466e0800c00840594cd400c4cccc0a005406406005c520003370002e00866e0005cd40102a80458c27c04028d40082a404d40042a404d54cd54ccd5cd19b8900148000278044c94ccd5cd19b890014800027c044c94ccd5cd19b8900148000280044c28404ccc2ec0400c0080054ccd5cd19b8900400610041006350020ad0121001160b901350010b0015333573466e2400400c54ccd5cd19b880010031330a8010023370666e080080400444cc2a0040080104cc2a004cdc199b820040110100043370666e080040380414cd4cc1fc01c1a04cdc0998490081100399b80011010133092010220073370666e080040300354cd4cc1f40101984cdc0998480081000219b8000f00e133090010200042235500c2222223501e222223501c222350522222232323232323232323253353308b013306e00748000cc22c04cc1b4008074cc22c04cc22c04cc22804cc2680404011c008cc22804cc268040401c005ccc22c04cc20c0404406ccc2080403c0684c8c8c8c8ccccc2cc0400c008cdc019b800180060013370002e002a66a00a2605666e0800c00840594cd40104cccc0a405406406005c52000350020b301350010b60153353330690870100e01e1330ae013370002c00e02a26615c0202c66e0005401c58c27c04024cdc199b820010123370200400266604400600266e0ccdc0981219b803370400400466e08cdc119b82337049004241941e90680780200198600080199b824801120ca0f350050a70130be01001350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4009200033086013306800101833086015335330820101906b13308501330950100b0193370000202426610c026610a026612a020160320026610a026612a020160d60246610c02660fc01802c660fa01402a2a66a6660c8104020120322666661540266e00044008cdc08080008078070068999998550099b810110013370002000401e01c01a2c66603e6a00614c026a00614a02002a66a66100020020d2266e04cc24c0408c004cdc0008808099849808118009a800851009aa99a99983003f00280a899985a00802806806099985a008020060069111a8019119985c80802802001911aa8061111111a80f111111a80e1111a82911111191919191919299a998440099835802240006611002660d80020086611002a66a66108020360da266110026610e026612e0201a03666e00068050cc21c04cc25c04034014cdc08020008a99a99842008028368998440099843809984b8080680d80d19843809984b8080680299b8033702008002028266110026610e026612e0201a03603466110026610e026612e0201a00a66e04010004cc21c04cc25c040341b4050cc22004cc20004038060cc1fc03005c54cd4ccc1982100402c06c4ccccc2b004cdc000980099b8101201a01101000f1333330ac013370202603466e0004800404404003c594cd54ccd5cd19b880190011309f013370066e0ccdc119b82002019483403ccdc119b81001019483283d200209e012100116350040a601350030a60153353308001001069133702661260204600266e000440404cc24c0408c004d400428804d54cd4ccc1801f80140544ccc2d0040140340304ccc2d004010030034888d400c88ccc2e40401401000c88d54030888888d407888888d4070888d414888888c8c8c8c94cd4cc21804cc1a4011200033086013308601330680030193306800201833086015335330820100906b133086013308501330950100b009337000060246610a026612a020160100042a66a66104020100d626610c026610a026612a0201601066e00008048cc21404cc2540402c02400c4cc21804cc21404cc2540402c02400ccc21804cc21404cc2540402c020008cc21404cc2540402c1ac048cc21804cc1f8030058cc1f40280544c8c8c8ccccc2b40400800ccdc019b8101200700133700022002a66a0082604a66e0800800c40414cd400c4cccc08c03c04c048044520003370202400866e0404000858c26804010cdc199b8200200e00d3370666e08004038030cc244040840f8888c8cdc199b820010033370066e0801120d00f0013370400290650791112999ab9a3371200890000a4000264a666ae68cdc48008028a4000264a666ae68cdc4800a400029000080099b833370400466e04004014cdc019b8200148028014c014cdc10018011192999ab9a33710004900004d808a999ab9a30a10100214800054ccd5cd1851008010a40042a666ae68c28c04008520021330010023370066e0c009200448008c254048894ccd5cd19b880010021330030013370666e00cdc1802000800a4008200426660f2002006046464a666ae68c27c04d55ce80089919191919191919191919191919091999998008050048040028018011bad357426ae88008dd69aba100135744010a666ae68c2b4040084c8c8488888cc01001c018dd69aba135744a0046660f8eb9d71aba15001153335734615802004264642444446600200e00c6eb4d5d09aba25002375a6ae85400454ccd5cd18558080109909111118028031bad357426aae7801854ccd5cd18550080109919091111198010038031bad357426ae894008ccc1f1d73ae35742a0022a666ae68c2a4040084c8c8488888cc00c01c018dd69aba135744a0046660f8eb9d71aba150010a101135573c00a6aae74010cc1e1d71aba100530743574200a60e66ae84014dd51aba1001357440026ae88004d5d10009aab9e0010970137540026a002104026a00810c0260c82446660d444a66a660b066606c0d46a004104026a03c1040266606c0a06a6a0040fc0ee05e266008004002200200202a60c82446660d444a66a660b066606c0a06a0040ee6a0200ee66606c0a06a0040ee05e2660080040022002002026666660f0660c602c044660c602c04203e660c602c02003c660a8660a0044607a008660a8660a0042607c008660a8024660a8a66a60c82446660d444a66a660a66aa03a104026a6a0040ee1040226600800400220020020260d6442a66a0020fe440dea66a6660640a600490000998299981d183c840809984100833800a40042660a66607460f21020266104020ce0029000183800999b8100101d303d001333066059008010305333307f22322325333573466e1c010dc680488010a999ab9a308f0100415333573466e1d205a500313370290001980299b800044800800800400454ccd5cd19b885002481805854ccd5cd19b8950023370090302402426600866e0000d20023370066e08005201433702a00490300b099b8e0060014800120001533500400115335501a13335734611a026606860e60f6660f80c200a0c20d00022a66a0062a66aa0320022666ae68c23804cc0ccc1c81e8cc1ec18001018019c0044ccd5cd18460099819183883c9983d02f80182f833299a9983d91299a8008321109a80111299a9982b00101089834800898030019a9a99a983b03c00501083883610a99a8008b1109a80111299a8018a99a99827800a400420042c112022c666ae68cdc49982c800803240000c80ba6a0020d4a66a60b02446660bc44a66a66088a0226a0040d6266008004002200200200e2c0f8660ce02c6a00a0d460c2006a66a60a42446660b044a66a660826aa0160e06a6a6a0040d80ca0e026600800400220020020060b2442a66a0020da440ba60ba0026a0280d4660b40020246a6a0080c80be26a6a0020c20b4a66a609601c420022c2a66a660600040320ba266060002032603200e6068010464646a09c4444464646464646464660706606a00c0066607066068660a600c018660a6006018660706606e6608e6a6a66a60c60ca00401e0bc0b2660b601201090011981c1981f998188070009981c1981b9811800a40006607066068604201c60420026607066068604401c60440026606e604801c6048002660706606a60aa00a09666070a66a609024466609c44a66a60a26a6a0040c40b8266008004002200200200809e442a66a0020c6440a6a66a609024466609c44a66a60a26a0040b8266008004002200200260b000e09e442a66a0020c6440a666609a08000600860a40066a0020aca66a608824466609444a66a660666a6a6a00e0bc0ae0c46a6a0040ae0c4266008004002200200260a80062c0d06a0100ba6a6a0020b00a6a66a608400c420022c603000c606600e4464646a09e44444a66a6a00e440a8426464646464646464646464646607e660700286660aa09000800c6607e66076014660b40060246607e6607e6607c6609c6a0040c00120106607e6606e6a0040bc6a01a0d26606c6a0040be6a01a0ca6607e6607866aa60ce0d846a00244660ca00466aa60d40de46a00244660d0004666a0026e012000700466e0000520000013304000b3500922330723306400233072330640010090540540033303f3303e3304e3535335306a06c0010160650603306200f00e48008cc0fccc0f0c1700181494cd4c13c488ccc154894cd4c160d4d40081a418c4cc010008004400400400c1588854cd40041a888168c168014cd4c1a01a800c04cd40041754cd4c12c488ccc144894cd4cc0dcd4d4030194178d40081784cc010008004400400400c581bcc160004d403418cccd4080178d4d4080188178004cc11800c004cc164020d4004170cc140004020d4d40041681554cd4c11001c8400458124c06401cc0d0020448004584d55cf0011aab9d0013754004444a66a6600600400207809c46a0020b0246666666600204044a666ae68cdc38010008020a999ab9a3371200400203203044666ae68cdc400100081b01e802802001912999ab9a337120040022002200444a666ae68cdc4801000880108008881f11199ab9a3371000400207406644666ae68cdc480100081c81911199ab9a337120040020620706607c91100488100223333550023303f2233350050480010023500304222337000029001000a4000660784446006600400240026607666076e01200070246a0024444400a46a0020a246a0024407246a0024406c464a666ae68c140d55ce8008991919191981e2999ab9a305435573a00626464646464646464646464646464646464646464646424666666666600201a01801601401201000e00a00600460446ae84d5d10011980f1981dbae2001357420026ae88008cc071d71aba100135744016a666ae68c190d55ce804899191919827a999ab9a306735573a004264660a066038eb4d5d0800980d9aba1357440026aae7800817d4ccd5cd18339aab9d001132330503301c75a6ae84004c06cd5d09aba200135573c0020be6ea8d5d09aba200237546ae84004d55cf00482e1980c9981b019bad35742014660300326ae84028ccc059d70029aba100a33301575c0086ae84028cc054008d5d08051980a1192999ab9a306035573a0022646609260326ae84004c010d5d09aba200135573c0020b06ea8004d5d08051192999ab9a305f35573a002264646660b060606ae84008ccc059d70029aba10013303375c6ae84d5d10009aba200135573c0020ae6ea8004cc045d73ad37546ae84004d5d10009aba2001357440026ae88004d5d10009aba200135573c006098a666ae68c15c0044c848888c010014c02cd5d09aab9e00215333573460ac00226424444600400a60486ae84d55cf0010a999ab9a3055001132122223001005300c357426aae7800854ccd5cd182a0008990911118018029bae357426aae78008130d55ce8009baa357426ae88008dd51aba100135573c0020906ea80048c94ccd5cd182800081e8a999ab9a304f00102b04735573a6ea800488c8c94ccd5cd18290008058a999ab9a3051001130193004357426aae7800854ccd5cd18280008050241aab9d00137540024464460046eac004c10888cccd55cf8009014119198239981c98031aab9d001300535573c00260086ae8800cd5d0801020919118011bac00130402233335573e002404c46608860086ae84008c00cd5d100101f91919192999ab9a305300211222203515333573460a4004220922a666ae68c1440084c8c848888888cc004024020dd69aba135744a0046eb8d5d0a8008a999ab9a3050002132321222222233002009008375c6ae84d5d128011bae35742a0022a666ae68c13c0084c8c848888888cc018024020dd71aba135744a004603a6ae85400454ccd5cd1827001099091111111803804180e9aba135573c0062a666ae68c1340084c848888888c014020c074d5d09aab9e003045135573c0046aae74004dd50009192999ab9a304a35573a0022646606660086ae84004dd69aba1357440026aae78004108dd50009192999ab9a304935573a00226eb8d5d09aab9e0010413754002220582205444a66a00442a66a00442660240040020462a66a0024046068446a004446a006446666010008006004002446a004444446a00c44444a66a6601e01400a2a66a6601e0120082a666ae68cdc38040018a999ab9a3370e00e0042a66a00c42a66a004426a004446a004446a00a446a00444a66a666602e00c00a0040022a66a00e42a66a008426604800400206a2a66a006406a08c0680562a66a002405607805405405405444446466a00a466a0084a666ae68cdc78010008018121013919a802101392999ab9a3371e0040020060482a66a00642a66a0044266a004466a00446601200400244405444466a0084054444a666ae68cdc38030018a999ab9a3370e00a0042660220080020520520442a66a00240440664466a004466a00446601c0040024046466a004404646601c004002446a004446a00644a666ae68cdc780200109980780180081091199aa9815019180680191a80091199aa981681a980800311a80091199a800919805a40000020144660160029000000998030010009981280100a91199ab9a3370e00400202c03a44a66a00420020324466aa605205c46a002446604e004666a002466aa605a06446a0024466056004601800200244666010016004002466aa605a06446a0024466056004601600200266600600c004002444666aa605005c06466aa605205c46a002446604e0046010002666aa605005c446a00444a66a666aa6054064601a01646a002446601400400a00c200626606c00800602800266aa605205c46a002446604e0046606844a66a002260120064426a00444a66a6601800401022444660040140082600c00600800442444600200842444600600844666ae68cdc780100080800b9980e80080a11299a801012080091980e11199a8018128010009a80080f9192999ab9a303435573a00226464646466666042666016eb9d71aba100433300b75ceb8d5d08019bad357420046eb4d5d0800998051192999ab9a303a35573a0022646604660146ae84004cc035d71aba1357440026aae780040c8dd50009aba1357440026ae88004d5d10009aba200135573c0020586ea80048c94ccd5cd18199aab9d0011323301c3005357420026600c0086ae84d5d10009aab9e00102b375400246464a666ae68c0d00044c8c8c8c8c8488ccc00401801000cdd69aba1357440046eb4d5d08009aba2002375a6ae84004d55cf0010a999ab9a3033001130103004357426aae780080acd55ce8009baa0012323253335734606600226424460020066eb8d5d09aab9e00215333573460640022601e6eb8d5d09aab9e00202a35573a0026ea800488c8c94ccd5cd18190008980798021aba135573c0042a666ae68c0cc0040380a8d55ce8009baa001222325333573460626aae740044c8cc068c014d5d080098021aba1357440026aae780040a4dd5000911a8009119198131119a800a4000446a00444a666ae68cdc7801004898038008980300180298129119a800a4000446a00444a666ae68cdc7801003880089803001919a80081100211a800911a80111111111111999a805900b900b900b9199aa981101500b11a80091299a998090010020980c00180b805912999ab9a3371e6a0040346a0020342666ae68cdc39a80100b1a80080b001805003880b91180f11299a80088019109980300118020009299a800900b0019111a801111299a800909a8029111111111299aa99a999aa981001400a11a800912999ab9a3371e00401c2602c00602a0044260286a0020440244260240022c2c2006424460040066601444a66a0044200620020022018446602e44a66a00203c4426a00444a666ae68cdc78010038a99a8008111109a80111299a8018a999ab9a302d00113301400b0020262202813006003002235001222222222200a2350012201c23500122222222220092220032220012220023333300248811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10048811ce4214b7cce62ac6fbba385d164df48e157eae5863521b4b67ca71d8600330014891c13aa2accf2e1561723aa26871e071fdf32c867cff7e7d50ad470d62f004881074d494e535741500048811c2f2e0404310c106e2a260e8eb5a7e43f00cff42c667489d30e179816004881054f574e455200221233001003002222221233333001006005004003002300b22112225335001135003006221333500500c300400233355300700f0050040012200130092211222533500110022213300500233355300700d005004001300822112253350010052213300f30040023355300600b00400111001220023005221225333573466e20005200013005490103505436001533500213005491035054370022153335734602c0062004266a600c01000266e0400d2002253357380022c240026004444a66a00220044426a004446600e66601000400c00200660024444a66a00220044426a00444a666ae68c0500044ccc02001c01800c4ccc02001ccc028ccc02c01c00800401800c8c8c00400488cc00cc00800800488488cc00401000c88848ccc00401000c00854cd5ce2490350543100162215335001100200715335738921001622222222007220053704904d0f910b111110021b8748000dc3a40046e1d2004370e90031b8748020dc3a40146e1d200c0159030b590308010000323232323232323232323232323232322232323232323253353300a53353301322533500100b2213232325335533553335734603c002260286eb8d5d09aab9e002153335734603e002026038402202626603600a00620066aae74004dd51a801911000980200098081bac35500222222222220091622153350011533533300d00c48811c0be55d262b29f564998ff81efe21bdc0022621c12f15af08d0f2ddb10033301075c0066a00444400442a66a0022c4426a00444a66a0062a666ae68c07c004400858074580614cd4ccc02c028cccd54ccd5cd19b874801800c4c848888c010014d5d09aab9e00415333573466e1d2004003132122223002005357426aae7801054ccd5cd180c0018990911118008029aba135573c0082a666ae68c05c00c4c848888c00c014d5d09aab9e0040152675c4c4c66601ceb8004d54008888888888801c854cd400458884d4008894cd400c400806c5844800458cc035d73ad13253335734602c6aae740044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c848cccccccccc00404c04403c03402c02401c01400c008d5d09aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026ae88008d5d08009aba2002357420026aae78004050dd51a801910011aab9d00137546a00244002a666ae68c048d55ce800899198059aba1001357426ae88004d55cf0008081baa001100922333573466e3c00800402848800488c028894cd4004014884d4008894cd4cc02000801c4c0280044c01800c44880048488c00800c88c88c008dd58009803911999aab9f00120092323300c33007300635573a002600a6aae78004c010d5d10019aba100200722123300100300230032233335573e002400a46466010a666ae68c02cd55ce80089919191919091998008028018011aba1357440046ae84004d5d10011aba100135573c00201260086ae8800cdd51aba1002003120011220022323001001223300330020020012212233001004003153357389210350543100162216370e90001b874800810483d8799fd8799fd8799f581c810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701ffd8799fd8799fd8799f581ce8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51ffffffffd8799fd8799f581c810cd4be2140e35190ac4a1995ca9aa3323dd1fcb259913b00892701ffd8799fd8799fd8799f581ce8e06a567910c961fba800327ee80ef17d8c13b19700c21aa9f84c51ffffffffd87a80d87d9fd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1a393eea2dff1a001e84801a001e8480ffd8799fd8799f4040ffd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1b00003eaed6ee89f100d87a80ffd8799fd8799f4040ffd8799f581c29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6434d494eff1b00003eae9d654aad00d87a80ff0583840000d8799fd8799fd8799f581c2ebacbaf16275a0184357de07c81d4a895f29343c235974f3b4c1d7dffd87a80ff02ff821a002e31c21a47031f98840003d879808219c7841a01a0f8a5840100d87980821a000468ac1a070b470aa10081825820fb3489db31b38c778630731b325decff64b5e61b84dda1373919e2dd60581fa05840e28e18b7036cff92909f410e38afafeb0d5ec576c15abbd24ec0ebcc3606c15ff56ecffd487bfe3e55d86234e2499a860f623df5e9378d18ca6486c860d0d60fa1008182582035c82179e6ecca4d76c9eda5373f8311343031169f69df83b0b35df96d682e7358400b00dadc6add4efe756f01911a0203ae9c9fa29508e6241052038e44d5652bae7351f93e4553eefcb1c89db0469740785e6838f9ff4beaeec28a4de0412ed906a200818258205b4078fc270bc5ff67a69b06bb79fbe11785f89e7566992d16b4bb8a3af2fd045840158e623d6c44cb42386357514c0d0da4dd68c429a4d699aaa1bae52912a61ca6f136b6023bef92d11a6aa0bfdab394b377a535992ea50517199674cc98011008049fd8799fd8799fd8799f581cd612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecbffd8799fd8799fd8799f581c6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3fffffffffd8799fd8799f581cd612b59da4691528ce7f195da36183dc1dff72749412260bd83e3ecbffd8799fd8799fd8799f581c6490f470e70cbf0bec584176a38d5430a60e95e1179b51888ace5e3fffffffffd87a80d87a9fd8799f581cc88bbd1848db5ea665b1fffbefba86e8dcd723b5085348e8a8d2260f4444414e41ff1a05f5e100ff1a001e84801a001e8480ffffa10081825820ce447a05ec6a264b285c487d571dbbbb27b9ad2e3f78ae0eedb0b80b303f89035840ffda7ea9c47c921da1617b8c953617b95b6ba32a61b04374e52e906ae04a548fc0da9a7c46665d8a5b897fb29ba783cace2aa4dfca3fb193b6048cf9043afe09a10081825820e4f5392a6ce18c5dda7df23f01e4567506f03d3d06b635a9d50e310aad1872ef5840ac164319ade11d0523614727cdab2b9c71f4dfb4ed4362f2653ec2adfd69a767b85caef2c3f40b79b9cfdc5b985e83d2755e14fb528a73af84d4fb87e6b4d101a10081825820bbcab2f33ba4b54187c62af0a738024274991166cd16eeddc63021aa8194e6355840aeb984db220555ac1d2fa2a6f9d5881630fbf3d97c564f3eb1ddd3bb608b29ad8a84f3305dc1861f74104e1a010f37227056452c57c0bb62a01cef3e7c52d703a10082825820e18372f98a9e5466724d62bbdf28cf004eae1e41461121dd890475e572e290b258408ad98c8cd86936b3bc78e03706468b3f886dbe10d1c0c9322ccebfdf242c9c7e942e581d5a6e3d363649b10306a95c68d4d44fd648adaaacbc28dc4914e3f603825820c0df7514cc214a06f3a0c0ed0b405a000610e559d6aa826bbf0b5dfc2d58baa35840c0cb9f0965d986992f8aa0d6977d302811f04d8ae88aa193d3abe6c0618af8b436c86b6e65b9b4918f9c243f7c4098a200a3a3006f83f0fd99ffb605aa5a860ba40081825820638b21486e07dfc3d181079df45519833da3ce02e9e63f9ce18971eb5154f1575840a40f75f7635529d2adfbfb9ec46059d0e4ebab1670e59b4bb3786acfcceab67d3a69db30c87e231c447e6147b6567a70c3f46eec11c9a4e23ac29774c367440c0381590373590370010000332332233322232323332223332223233223232323232332233222232322323225335301533225335301a00221333573466e3c02cdd7299a9a8101980924004a66a6a040660249000299a9a8101980924000a66a6a04066024900019a980b8900098099bac5335350203301248000d4d54054c0440088800858884008004588854cd4d4088004588854cd4d409000440088858588854cd4d4088004588854cd4d4090004588854cd4d409800440188858588854cd4d4088004588854cd4d409000440108858588854cd4d4088004400888580680644cc88d4c03400888d4c0440088888cc05cdd70019918139bac0015335350273301948000d4d54070c06001c88008588854cd4d40a4004588854cd4d40ac004588854cd4d40b4004588854cd4d40bc004588854cd4d40c4004588854cd4d40cc004588854cd4d40d400458884008cccd5cd19b8735573aa010900011980699191919191999ab9a3370e6aae75401120002333301535742a0086ae85400cd5d0a8011aba135744a004464c6a605266ae700900a80680644d5d1280089aba25001135573ca00226ea8004d5d0a8041aba135744a010464c6a604666ae7007809005004c004cccd5cd19b8750024800880688cccd5cd19b875003480008c8c074004dd69aba135573ca00a464c6a604466ae7007408c04c0480440044084584d55cea80089baa001135573ca00226ea80048848cc00400c0088004888848cccc00401401000c0088004c8004d540548894cd4d404c00440308854cd4c034ccd5cd19b8f00400200f00e100f13300500400125335350103300248000004588854cd4d4048004588854cd4d40500044cd54028010008885888c8d4d54018cd5401cd55cea80098021aab9e5001225335300b333573466e1c0140080340304004584dd5000990009aa809111999aab9f0012501223350113574200460066ae8800800d26112212330010030021120013200135500e2212253353500d0021622153353007333573466e1c00d2000009008100213353006120010013370200690010910010910009000909118010018910009000a490350543100320013550062233335573e0024a00c466a00a6eb8d5d080118019aba2002007112200212212233001004003120011200120011123230010012233003300200200148811ce6c90a5923713af5786963dee0fdffd830ca7e0c86a041d9e5833e9100010481d8799fd8799fd8799fd8799f581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a3ffd8799fd8799fd8799f581cb9698d06520bb69f27eab58edc1595e61a8a341b98f559b8d0478c52ffffffff581c5c8243ec7e41c50c26a15a6b42b8f314eee1e1cf877dfa0d8a3812a31b000001807994d97bd8799fd8799f4040ffd8799f581c869fc72c11977e4be3e8e1cc63cca008a925886332795c9601f965ca4455534443ffffffd8799fd87a801b00000002731a757effff0581840000d87a80821a000271001a03938700a10082825820acad41ba2c170813aafaba25f0e3053f891cb156e4b62424505313552cae64145840501a43e58da4b8a51145b1f5879405a60203a1d874ad676009384f1380e6202659df10b22965fa03fcd14718e5b740ba058935553bd99e17ec996a5a987a100682582036ca45fd31120d18b3ae2d02997b0ef86973218aad613e5be2a4b6d376c64f1558409ef310ea9677e87ab273347c25e3298c4dec5040bf0e8c8fe3ec330b1fc2a0731571684f61c904d72fa529933a3338dde7fd49330263350c273725f668a2cf01a400818258206bbc0507086cb8c7ce2e6c45c72875e18c4aa05580c61b8448c3c556f4e40dd85840bbc0f5bd612b6330256336666491c30e178cb79288163f2aa211b42c7e32679c522c393e081af160af7650e48351b8dd794f197c78ee67bfa02199df8a1e7a0003815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581ceb68ce53dae9c853d749df00ffbfd704621d02c01b05212ca90ce4a01a1443fd00581c7e605894cdcbe8d1933f0a8760d93bd121aca583cf21ad1c25e51fd3514d6164446f67436172436c756238313331581ca037e568c8268f9661753b323d73e009247cb0048b513cd1d979b1311832ffff0581840001d87a80821a000c94ca1a1555eae2a100818258205f8bda213103ea2e2c2daeb31c9c41fb867c4b081c1f6cfecd02c2f33b884d295840132326f4834623ead4fccf6cf97f5a8b7b5eb7fc18c70624a4588882a4dc20846145d3a476dbd732270b002203e7d8e732682c6c79f23e89a19a25f530a1e507a40081825820a900e690cf0459e20c01b857647905e321843d20f75e17f97d78b0ed1026c2ff5840c3ca19c13e76b018587ce32d55ede8ca1a47ec7160b6a9f2d29632a058393fc05e830076316acefe0f46e43ed4a85fe893cfba22ba44eed8a9d2f8a57cdef90f03815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c1514df383eb131e0207ee20b9f3000960aa7bdd8100bdfffca6bb4a31a0bdc7fc0581cc001facec0dc28c1a286be35b9ddb8b47fd9d0da1564e7db81e2fbe74f756e77616e7465646f6e6532323637581cbca70d25accc9aade71b3733520522e1485f2fe4ec792bf47535a9131832ffff0581840000d87a80821a000c94ca1a1555eae2a10082825820c6ba8e7798d11fa1244e9037c9c63ce90c45b810f126fe5ea8391e5fa171e3f0584001db8b7b18c778307eb16cd8ca296314667386a84d4e9611aa7275d624ef16546c214a632864c6a83a602cd11359cb57101853892c47d918af39f9895369f80f825820883b9c6ac4af92b5c1ce772ebb5e3ae48b33c21a6fbef6d623050862f82b85705840ec51204b1d4276c26ef4458233a2c127967ee055694b9d13054c57a18fbac24708163d6c5bbeeec9b66496347981771a207cc1cbd5d4f5898ceb04ec5aa4ed04a100828258200779c1f8bfebda065ae9addf2bad902a607f9e90f3f05d02fe46ec9e597cf7225840851f415a84adee3c45ed3d3b45128c6f3e35edc31362a023ebed36f72de97478c03fb7c6cd89bcef2159c0542ebdf45e13185cb98bd5c5d15504ca6db8920d08825820d88d4d7db21e9af90cfd034cbe6695cf4d8b0fd1d4c7bf7473d95688a28ebbf0584056efd37af9cb507e5ee8c1d4de6393764c3fdb634c7a1589e63c1300e7344d482c75f130f4b5425a381b1650448c866c70d29ab082d1f49c39862247bfd8fa09a40081825820b12fe05fb163d99284fd131c2f0ddb392974e56be18910d7c04bbca528e7ffd0584069d07334b87bf8ef65768426770023769ed06275576a23a305c9f77444356165177a69dd3ff8b03126605fd3a878853c30f73ea5edc5fa9a28410c36e0cc440203815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c5f1339f3bbc81698690d7bff467ca91a5be3854245aab5f8bd8bfcee1a173eed80581cd4e087164acf8314f1203f0b0996f14908e2a199a296d065f14b8b09581c636162696e31373241646469736f6e4176656e756547453333523337581c4b031cbfd476d7efd6ec84012aeaa11a5ec9aa4ce53973764f5099bf1846ffff0581840001d87a80821a000e07c81a17ddaec8a400818258201798930d74e173d30c8da0156ebc9c1c628c672cc492b2176ba66cde91c8a71458400cf01e1a3c3a9d59e232ea861f41dbeae873574077266143b2d7fd36ba7d23ce190db3ca5a2a2707258d76bd426c06951284a6de539032b34fc3da72cb1e1e0d03815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c083583e222e251c427cc9e18f941ac569ab7382b953f15b226083b381a9df3ca80581cc56d4cceb8a8550534968e1bf165137ca41e908d2d780cc1402079bd4f4368696c6c65644b6f6e6737323633581cf2ec7a984a0c4a3031ffedf5023d7c4a096cfeb36f9d5cdb62a3a60b181effff0581840006d87980821a00d1a2771b00000001191ddab9a1008282582086821f8fec915fe673d20f2b6e92cdbfd4ce41ebc8e9113f5a5380a7df76144d5840e859d15380028c31a65f8b8df7e1b5a76f894c31fbdf442b61da5b590ff0613209e838f4a646935cbaf8bb02a706c10fa9678a211c6f0ca3b29302b09609e0018258209d2d2e2620fa6fc2abc566d4134612b0d8dbabc995c499e69c1f4f0b130937d2584042c338da9f9bc9a961c61c03fa12552edd0ede976b9987834462f6a9a76867f1c99c6aec8940f2350cdb2844c483d4975ff2242b4b7482afe58cd29326d6df0ca400818258202ef78a1f92a2f5a2874e68b627ab7e4e5c335374514bb54dfdafcb8a5c30e06558400731d17332140bf96187841e8a96c1a7dbadc1ff11201de7fbd466a373c254e1cd3d5e10b0f9e144e7607d530c4975cc5d1771727eac02a6044a94eb5e0f620403815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c409e1554dc54dd08b8063de02d5666140ba2e89da3f8c5381e1a43261a52d9b780581cffa56051fda3d106a96f09c3d209d4bf24a117406fb813fb8b4548e34c4d656b616e69736d33343030581cf32d80def34c2b88fcf3e35d105d52ccc80f06d39f12c1fd7e511ed91846ffff0581840001d87a80821a000f7ac61a1a6572aea1008282582027958568d4782414f5ab55c3430e4152a96285bf646f1737d5ee19c36288e4d45840dc03065bda688d77b603ee379d3a373d0398b0516b70cb0636dd853f386cd4da8a670e37649a2659bc10bc84059547752239c8e7a476071e5368aa745bcfc702825820dac0f11f6428347f48b4af35d8d75c1aa66d0c9bdbe8a05d0e650cd305169991584032fc72e77e4ad449ac000936d4a62256fcd784f280316a3dee0b79afee484a2ea56041f931f725fad2eb4e267d9fd8f47e6f4517942e75885596d376c1396d05a100828258204a67890e9eade252307d164a82ce301bd46415fbca95691a4883d319760a02ff5840e73c2d47ee3bf91f9be46e26a6bff7007dfc8263fe82cce372c27280cb644ac21a02ee6354851c576b7eb87cb7dc5ead6d7a1365330a6a5a25712cb2555afe0b8258201e3dc1afe28b25c85b810ee1f4a0593b444d851a9df40d558808a48c6e380c1f5840017675fc47efb232d1362c5b4cb2215a3f59031b7f4f2135df8ff2eeb55ccde02776f2a4b1773801da3b80fa67afa4ce8bf06c8e6b9ac7c1d5bf3397e352b50ca40081825820109df4e67da956585ed5d99fd9589a964a40e5682d126dd010e41064aec98cb658408fe5eb09b8ac269e5aedb276a2c3f9b7a03220e036d58fc1ab36862a780884b1fabbf28159952932b9c958432eec2438dee8cefebe7f12fe4ba28f474aff7b0703815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581c1c65995e77a417c021bd5dbd5714e4f6a951abf9b9ef7193f4abe8761a10642ac0581cdf44bef5a988e0b135145c505d734130f545dc959e764ac14c9ce983581a576f726c646f6643617264616e6f50617263656c303031303433581c66852b646783d742ee167a163e5e648fcf06df16b5688d1e42cd2c3a1832ffff0581840001d87a80821a000c94ca1a1555eae2a10081825820e7df8ecd4ff7069579fed70da54bc7e3e47c5b9c943b19cfd3e5a30851903ee758402f5c35d410f92cb637892e40b0e28413196cb8e1c990c9d20446a1dc36653e91795f231810e41c8331cbaf46d886c503b6573c62889fde882fdaac5fb3dd2600a102818458208b66d7f3bf0629a3cf791984bf0fa4568b83106c9257818e63edf63142e9bf2a5840663e1738484b39fc8cc7a459be5f8f5611ff12595c03895aa797df1d963813a6d751376c52dfa4f7080d964c311a3d2448367d22e72b220f146eee763494230e582022cc1a6495cb1639e562a07c9aa86a4cf54e3dbb6839aa4ee6f0b6a20dc349ad5822a101581e581c1afbc57540db1561adeaccd7f4894065965cd230f6bdc70722aecd8ba100828258200dc9f84d2881aa478375fed96aad49535e630e29968f8b245c24366a0d7632495840e6f02fbccf7587b84919b3b906437d36710095c40395fcb894f8f032b0a28555586dc314b6d235e02dcc33406b010d337fd67aacd0b4cab3c5d6a48b7f1091068258201d26e9065a29875095ef033d4dcd5b5830fca1316b5d5663988358de764946455840844a6552c3e301a8db049026f1a7ef97e1d840a51191d1b17c38e62eb45b78084ffb319ba31f16237b6a1f022ebe241c991e8892793454483859e45db5f65a0ca200818258204022566b27944548c7ca15d82c41d739720d3d1575e265e4c8efaa8dfd06006958402ef05f6e195ffa395b97832f431a7ff9ef9566e668b33783cbc11851e74e39d75d0fd73fb3eaeed7dd31934ee6639dd2f54d698a02c078bcf5672c8885b7c3060481d8799f4108d8799fd8799fd8799fd8799f581ce82071bf8bf1b23bb0342474025dc364bd941cdcacd3aee3ba7edde5ffd8799fd8799fd8799f581cae254322c32914496dcc712b63a2b03181eb432b103a0879ca691c29ffffffffd87a80ffd87a80ff1a002625a0d8799fd87a801a0d8bc806d8799f1a01e5e4bcffffffa100828258208d753228c6941fb5d49ce589f14d52713dcbe4973f3c6dc09b11cad6da0eec5158404d2263d0605c191fc8454a4bcdc99626e92447305ce19d6ee714e0d49af033156b3de56cc9062e20c285f519277d2aa794649524f83bf099e36903494a97550d825820cadf8f39dd5f31ce983a9fa1035342b1895202393f86b11939e404817e0be2575840850cd638d118fb26da56aea0f0e3cca68f1451ca9e70e98e6db2f942613841a95fe61bfa81ccafde3c0a2fe9e7a466b30cd1a4e923b222aa1b7eb1c3bb9f970ba100818258206ffe60302fbd0d26ee3d9600e1b8821da995bcd24846a0d0107893744c1804905840e998ca7033ba046ebb312d88d952c8e44b7ac52dae5d19522708525be3b5eb6f8bf9e8fc9d44d43d5cfffcd458c84adc581f301519387f57e1fb4a84d7dcdc02a20083825820f14b486ef4a8727e70762f8934a0c4f3d762effd51c918aa18e668877691cc105840bfa1299e90648857a83976ac074652abec87cef3fe0f8428ac38d9e31ffc36f9e79fca6ef338eb7378234ed4edbb0e42484ea648ae1f99d3fe8dd603e3e80909825820ab27338de0ba9e080c17ffa6cc62fc2708220328e86300fccc9142303fd478a6584023d4298c739f3f1f854ca39ba88aa0ab9b2693bdd257a7030afb48b14682556810a0888d83d37806a000e2fbd55eedcc835e44840caed8b53c7923c456e5410982582068f128b4960cb5230e9d2a1095a36420bdc16dcbe4b96a89d378236806bbe0195840bbabfc98c12311ebc4907905ed9e0c4a0d413c501e1738d75bfddf05becd2d94239173bf00f82a50d74bec09c72c732ad6e6d0ad1d4b01616f693a8b4e518c04018282018282051a0930821c8200581c7261329c8aae4fa032fa8e35a7a94e15771271606b947e41777ab9ce82018282051a0930824f8200581c7148953e189335953142a436822bac2653df066fd8852949f0d7be4ba100828258209bbecd8099a124e5d21310623afdedad8e0687663a86e229f6c745ec14b8a6a6584019d437ee0e907a7664962e4be2cb0001c45854467a9e2a539fc8d3ee26baccc96e7294012899d635a91be2995221bda70e6e7187e285d3c4a4d41c258be69c0d825820f9e60a76de7bc5f9f47da80e0bf1495ac939251b399ee610c059366b67af58515840463735b0dd7840955d1c1717d9051104c9fb12b7458a803655cb35602df73188b85eb4f7eab70a675b9ce9c228d0b94e62b0041b53df5a8c2e792ab45275ab0ca10081825820a6cf1fdfa2d880f1a0d653ed0bf5b9b40bbcbb84ca879fb20c88994413a98f4e584022c8a8a4260f6d3712936d0b0a44c597ddf721a56cb7acdfbedd9d77e3afc74581b5778aa6e8857de397af77dc98e68dd71e64d9e4ba4011d247856872910102a400818258203c06fd15150414de67ba79f996ce54a2bf1f2e8bb14021c38fd4466e21d48cf65840027f3e8674953fa10198a848cac11ccbffb5599bf76b3041d0a200916b06b7278d66ef5c91d4b3a329934c4516998b3d62efcd2aa4808e691afe674688e63a0603815912585912550100003323322333222332233223232333222323332223233333333222222223233322232333322223232332232333222323332223232332233223232333332222233223322332233223322332222323232323232232232325335303833300d3333573466e1cd55cea805a400046666664444446666660ba00c00a0080060040026eb8d5d0a8059bad35742a0146eb8d5d0a8049bae35742a0106eb8d5d0a8039bad357426ae89401c8d4138d4c13ccd5ce2490350543100050499263333573466e1d40112002205423333573466e1d40152000205623504f353050335738921035054310005149926498cccd5cd19b8735573aa004900011980819191919191919191919191999ab9a3370e6aae75402920002333333333301e33502c232323333573466e1cd55cea80124000466048607e6ae854008c0c4d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80519a8160169aba150093335503375ca0646ae854020ccd540cdd728191aba1500733502c04835742a00c66a05866aa0b20a2eb4d5d0a8029919191999ab9a3370e6aae754009200023350263232323333573466e1cd55cea80124000466a05c66a08eeb4d5d0a80118261aba135744a00446a0c46a60c666ae712401035054310006449926135573ca00226ea8004d5d0a8011919191999ab9a3370e6aae7540092000233502c33504775a6ae854008c130d5d09aba250022350623530633357389201035054310006449926135573ca00226ea8004d5d09aba2500223505e35305f3357389201035054310006049926135573ca00226ea8004d5d0a80219a8163ae35742a00666a05866aa0b2eb88004d5d0a801181f1aba135744a00446a0b46a60b666ae71241035054310005c49926135744a00226ae8940044d5d1280089aba25001135744a00226ae8940044d5d1280089aba25001135573ca00226ea8004d5d0a8011919191999ab9a3370ea00290031181198201aba135573ca00646666ae68cdc3a801240084604460946ae84d55cf280211999ab9a3370ea006900111811181a9aba135573ca00a46666ae68cdc3a802240004604a6eb8d5d09aab9e50062350553530563357389201035054310005749926499264984d55cea80089baa001357426ae8940088d4138d4c13ccd5ce249035054310005049926104f13504d35304e3357389201035054350004f4984d55cf280089baa001135573a6ea80044d5d1280089aba25001135744a00226ae8940044d55cf280089baa0012212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001122123300100300212001122123300100300212001122123300100300212001212222300400521222230030052122223002005212222300100520011232230023758002640026aa072446666aae7c004940388cd4034c010d5d080118019aba200203323232323333573466e1cd55cea801a4000466600e6464646666ae68cdc39aab9d5002480008cc034c0c4d5d0a80119a8098169aba135744a00446a06c6a606e66ae71241035054310003849926135573ca00226ea8004d5d0a801999aa805bae500a35742a00466a01eeb8d5d09aba25002235032353033335738921035054310003449926135744a00226aae7940044dd50009110919980080200180110009109198008018011000899aa800bae75a224464460046eac004c8004d540cc88c8cccd55cf80112804919a80419aa81898031aab9d5002300535573ca00460086ae8800c0b84d5d08008891001091091198008020018900089119191999ab9a3370ea002900011a80418029aba135573ca00646666ae68cdc3a801240044a01046a0526a605466ae712401035054310002b499264984d55cea80089baa001121223002003112200112001232323333573466e1cd55cea8012400046600c600e6ae854008dd69aba135744a00446a0466a604866ae71241035054310002549926135573ca00226ea80048848cc00400c00880048c8cccd5cd19b8735573aa002900011bae357426aae7940088d407cd4c080cd5ce24810350543100021499261375400224464646666ae68cdc3a800a40084a00e46666ae68cdc3a8012400446a014600c6ae84d55cf280211999ab9a3370ea00690001280511a8111a981199ab9c490103505431000244992649926135573aa00226ea8004484888c00c0104488800844888004480048c8cccd5cd19b8750014800880188cccd5cd19b8750024800080188d4068d4c06ccd5ce249035054310001c499264984d55ce9baa0011220021220012001232323232323333573466e1d4005200c200b23333573466e1d4009200a200d23333573466e1d400d200823300b375c6ae854014dd69aba135744a00a46666ae68cdc3a8022400c46601a6eb8d5d0a8039bae357426ae89401c8cccd5cd19b875005480108cc048c050d5d0a8049bae357426ae8940248cccd5cd19b875006480088c050c054d5d09aab9e500b23333573466e1d401d2000230133016357426aae7940308d407cd4c080cd5ce2481035054310002149926499264992649926135573aa00826aae79400c4d55cf280109aab9e500113754002424444444600e01044244444446600c012010424444444600a010244444440082444444400644244444446600401201044244444446600201201040024646464646666ae68cdc3a800a400446660106eb4d5d0a8021bad35742a0066eb4d5d09aba2500323333573466e1d400920002300a300b357426aae7940188d4040d4c044cd5ce2490350543100012499264984d55cea80189aba25001135573ca00226ea80048488c00800c888488ccc00401401000c80048c8c8cccd5cd19b875001480088c018dd71aba135573ca00646666ae68cdc3a80124000460106eb8d5d09aab9e500423500a35300b3357389201035054310000c499264984d55cea80089baa001212230020032122300100320011122232323333573466e1cd55cea80124000466aa016600c6ae854008c014d5d09aba25002235007353008335738921035054310000949926135573ca00226ea8004498480048004448848cc00400c008448004488008488004800488888848cccccc00401c01801401000c0088004448c8c00400488cc00cc008008004cc8ccc888c8cc88c8cc88c8c8c8c8c8c8c8c8c8c8cc88ccc888ccc888ccc888cccccccc88888888cc88ccccc88888cccc8888cc88cc88cc88ccc888cc88cc88ccc888cc88cc88cc88cc88c8c8c8cc88c8c8c8c8cccc8888c8cc88c8c8c888c8c8c8c8c888c94cd4c13c00c54cd4c1914cd4c190ccd5cd19b8733301c33355301012001500c50283300b533535026353020500122222222220031350604988854cd4d40a00044008884d41912650013530520092222220043530520092222220034800819819441984cd5ce2481154e4654206e6f742073656e7420746f206275796572000651533530645335306433054301d33301c33355301012001500c50283300b35305200922222200650014881004881003305833058301d500850045006106613357389210f53656c6c6572206e6f742070616964000651533530645335306433054301d33301c332233355301212001500e502a3300d001002500100a489004881005004106613357389210c466565206e6f742070616964000651533530645335306453353064333573466e24d4c1480248888880052000065066133054301d33301c33355301012001500c50283300b353052009222222002500148900488100500610661066133573892113526f79616c6974696573206e6f74207061696400065153353064333573466e24c8cc8004c8004ccd54c05c48004c8cd407088ccd407000c004008d4064004cd406c888c00cc008004800488cdc0000a40040029000199aa98080900091299a9833299a9a8179a98131a981200111000911000908348833899a8148010008800a8141a98101a980f001110011111111111005240040cc0ca20cc266ae7124011a4d6f7265207468616e206f6e652073637269707420696e70757400065106510651065106515335306433223530220022222222222533535039333553022120013350262253353503b002210031001503a253353071333573466e3c0300041cc1c84d40f0004540ec00c841cc41c54004d4c14802488888801841984cd5ce2481204e6f2072696768747320746f20706572666f726d207468697320616374696f6e00065135301d001220021533530603305150565001150011505613305233057480a120d00f3018500315335305e3304f5055500115001150551330503305535304b002222222001483403cc05940044d4c12800488888801488d4c05c0048888888888ccd54c0444800488d4c09c008888d4c0c400c88cd4c15000894cd4c1b4ccd5cd19b8f01400106f06e13350300050071007200750290091223355300b120012353550200012233550230023355300e12001235355023001223355026002333535500d0012330564800000488cc15c0080048cc15800520000013355300b12001235355020001223355023002333535500a00123355300f120012353550240012233550270023550110010012233355500801600200123355300f1200123535502400122335502700235500f00100133355500301100200111122233355300612001501d3355300b1200123535502000122335502300235500d001333553006120012235355021002225335305e33355301012001323350152233353500b0032200200200135350090012200133500922533530600021062100105f235355024001223300a00200500610031335021004003501e0013355300b120012353550200012232335502400330010053200135506022533535021001135500d0032213535502600222533530633300c002008133550120070011300600300212212330010030021200132001355057221122253353501b00110022213300500233355300712001005004001112122230030041122122233002005004112122230010041120013200135505222112253353501500115017221335018300400233553006120010040013200135505122112225335350150011350060032213335009005300400233355300712001005004001123535003001220011235350020012200212212330010030021200122333573466e3c008004134130888c8c8c004014c8004d5413c88cd4d4040005200022353550150022253353052333573466e3c00802415014c4c01c0044c01800cc8004d5413888cd4d403c005200022353550140022253353051333573466e3c00801c14c14840044c01800c8cd411800520022212330010030022001222222222212333333333300100b00a00900800700600500400300220012212330010030022001222123330010040030022001112200212212233001004003120011122123300100300211200122123300100300220011212230020031122001120011221233001003002120011221233001003002120011221233001003002120011212223003004112220021122200112001212222300400521222230030052122223002005212222300100520012212330010030022001212222222300700822122222223300600900821222222230050081222222200412222222003221222222233002009008221222222233001009008200121223002003222122333001005004003200121223002003212230010032001122002122001200122222212333333001007006005004003002200122353500f002223535011003223253353017333573466e1c01400c06406054cd4c05cccd5cd19b870040020190181019150011500115335301633330080040030020011017101822353500e0022235350100032233330070040030020012222333573466e24cdc100200099b8200200301401322353500c00222353500e003223300c3370400800466e0800c00488d4d402c00888d4d403400c88cc02ccdc099b820040013370400400666e0800c00488cdc00010008998012410112f49001099800a410112f49001111980199b820025335300a333573466e1c005200000c00b14800054cd4c028ccd5cd19b890014800002c03052002133702900024004a66a6014666ae68cdc4000a4000018016266e052000001100122325335300a333573466e1c009200000c00b135006353004335738920103505433000054984cd4020cdc2001a80099b84002500113300853353009333573466e20009200000b00a13370290000010801299a9804999ab9a337100029000005805099b8148000004400448004800449848848cc00400c00848004c8004d540108894cd4c010ccd5cd19b870014800001801440084cc00c004cdc2801000891001091000900088919180080091198019801001000a451c70e60f3b5ea7153e0acc7a803e4401d44b8ed1bae1c7baaad1a62a720001049fd8799f581cc5457eb1c10330527b63686115cf590cd8e3d4747612608434877f211a11d260c0581ca587ce7893ec56fa6136e483499d2a8210e29c34b7dc67344612887550436861696e734f665761723031303633581c09234c6af55ff7f7b7429f73bd8dd6ac9ebe1348ebefa345e9758666181effff0581840000d87a80821a000c94ca1a1555eae2a10081825820b4d9e333f9a823738242fe3550e18b959e93429e491d68e79a7d7924967762f1584009865750b6dddaa04f2de9b0d26798d00274529b2c0f5669abc14431e479ed8c75a320b4a2725f365235690166acf79c7aff9e7984c56160f37a08ac704eb40aa1008182582067cfa131e284e6a4d794dd86f04d4ed904eace4f17ec54ff086a0dafaf8e005758400d0a55c7b48b74c690c1965bbb1f45c8809b670dbaed75048d17df4ae699bf71a3504bfde1095bcbff5d43b5c73787fbfcf4b8b2a87de408837e345a9c13ca0effae00d90103a100a11902a2a1636d7367826f4c616d696e61722052656c6179657278403062656139626632633131626565363661353331623163316434643636396238373164666531386330613336393132363232323562336439613634346431326201d90103a100a11902a2a1636d7367826f4c616d696e61722052656c6179657278406130343330353363633633373139616633343639646266616637333734396537376233363861643436393138633531343863353536343830373363663030306204a11902a2a1636d736781781d4d696e737761703a2053776170204578616374204f7574204f7264657205a601693930393030303030300362353006784061646472317138356e326333376e38757838717a6b747877356a786b763679387777737a616d34306d6d72637537666c70706575713066786879346867766a6d07782734737865377070616636327173737937336467746e61393771343379793974787333386d35676608784061646472317139643337656865656534326e6b356a716730333275747874656132736c34326c777a6d6e3674363861346c61736c37376c77327839793770617909782768716d6b746375736534757676386a7a6578646b6636616132687a6b636e7633717770333572370ba601693234303030303030300362353006784061646472317138346b336e6a6e6d7435757335376866383073706c616c36757a787938677a63716473326766763479787766677a3072377770713672676e346a07782779723668766a686b71726e776c6568783538776871667176653877616a757070716361753071630878406164647231717873723065746765716e676c396e707735616e7930746e7571796a676c3973716a39347a3078336d39756d7a76307732767a6378726e6e6561330978276c7a6733796563786c77736e61713872727270746c78786b756b766c33713678733736326a39630da6016931333930303030303003623530067840616464723171793233666865633836636e72637071306d337168386573717a7471346661616d71677168686c6c6566346d66676d72366e7a74716b6b7578707507782736777977753538346b707079666366783472777335716664357038727567366d7130383032737a08784061646472317178373277726639346e78663474303872766d6e783573397974733573686530756e6b386a326c35773536366a79617a66656c39326a647667657209782772657273636834367035707a74647071356863346e6c78746774763576366e3471366a6637727810a60169333730303030303030036237300678406164647231713930337877306e68307970647872667034616c37336e75347964396863753967667a3634643063686b396c656d3574676e6e6a716a7834656c6507782735776674743067646874367a76387737337a647779616435746675376e3866337364616a386e710878406164647231713939737838396c36336d64306d376b616a7a717a32683235796439616a6432666e6a6e6a756d6b666167666e306c7037766c32326d3975763877097827726c7932657a61677a746d6174336532616a677571667134357763706b71717571676d356b776513a6016a3133353030303030303003623730067840616464723171397166753932356d333264367a3963716337377174326b76633271686768676e6b336c333366637263647978666e74766c757065646532687038077827736c68617161647477306735683235786e6e7335707772366c3875346b656c687370333975356508784061646472317138656a6d7178373764787a687a38753730333436797a613274787673726378367730333973306130656733616b64797864386c7566656330723409782770643833616a7a6e6a7739336575666738796a377439307978636a637a6e68397375637933736516a60169323630303030303030036235300678406164647231717977787478323777376a70307370706834776d36346335756e6d326a3564746c7875373775766e376a343773616a717a6867766761756a356137077827637038683463677933686b39397070766b34386b71636d38776c6e643566793273656b3371646e087840616464723171396e6732326d7976377061777368777a65617076306a37766a387537706b6c7a36366b337267376774786a637773653573376b333668716c757a097827337777336132756c643475733877616a346d7570306a7938717470703432326373306578366877181aa11902a2a1636d736781715353503a20537761702052657175657374181d82a11902d1a278383463336638613137373362373831336535333761373566376231623238393739393662646330653164366437643063313132353265323532a1704d6f636f73736949746f323136303337a76a61747472696275746573a76a4261636b67726f756e646470696e6b64426f64796e736b656c65746f6e20636c6f616b644661636565616e6772796347656e0268486561647765617269636c6f776e2068617467506172656e74738219248919268467537065636965736349746f69636f707972696768746c32303232204d6f636f7373696b6465736372697074696f6e78245468697320697320616e204e46542066726f6d204d6f636f7373692070726f6a6563742e626964193ea565696d6167657835697066733a2f2f516d63686a6e5a7345764c6f563250486e4858526b7577614b76684a316b387978504a686f53514d507470544734696d656469615479706569696d6167652f706e67646e616d65734d6f636f7373692d49746f2d322d313630333778386434343733613738616539393265643664393532393965373137376234356338303533643564623534393534363761323966663063373830a1754d6f636f7373694d6167696350696c6c3038303633a76a61747472696275746573a36a4170706c6965642d746f684272656564696e676746656174757265781b52656475636520312064617920636f6f6c2d646f776e2074696d656450696c6c68466c61736869746f69636f707972696768746c32303232204d6f636f7373696b6465736372697074696f6e781b4d6f636f737369204e465420666f72204d616769632050696c6c73626964191f7f65696d6167657835697066733a2f2f516d5a45527574573353466e4475596a4a38557048735a73624857366f61754b73353134384e62654e3141424361696d656469615479706569696d6167652f706e67646e616d6578184d6f636f7373692d4d616769632d50696c6c2d303830363380181fa6016a3134343930303030303003623330067840616464723171397168726737396d7861796a7137366a65686a33646a7478737a3863703075687770726c75616a787838773439677a6c6e7764397068326b6d790778276a707a756a64347a326a6a6470746e67636a667974776172726333306834797373757930776374087840616464723171386373767a7a39723234647863746b726e6d6476747577616833796572636b6c64706b79636777326d647a3234666b37667279646676776661640978276566666a36767776336e356372647367616e6b30667038647434787264746730716c30376c35641820a6016931323030303030303003623330067840616464723171387a35326c34336379706e71356e6d766435787a397730747978643363373577336d7079637979786a7268376777736e71306e35727a7733796d07782766776530726a343838366c3761756b64357865343065397167676a6e376a37777364786864676b08784061646472317179796a786e72323734306c30616168673230683830766436366b666130736e667234376c673639613936637665356d6d72343336723238686379097827726338346b71787737726a686c6e61647a6d36796d733638336a64756e77307671716e6a6e77321821a601673630303030303003613006784061646472317139363673793030726d717432746a75377335766d74756d6d6d3466326777786d3265756c386b36356b7271377439366b703761716c34683077630778277866393971307372716572726c6866347868786133326d78646e333464303833736d76786b6a38087840616464723171387767686e3664737a74723675686e70346b30676c336d366a397538327179686a71727732336e3634743839347232326d707763786830656e7009782779653970686d7434656e6b73796a7734663963653564756a716a6b6c7234736c716734726b786880")] + // Alonzo + [InlineData("84828f1a0057d7e81a01cd568058205f484b951f012ed53fdb9e30da0660902354c705f112745bf3b19ec31bc9bb005820e1806a6af0eb0931ebdf8b766229cf9323f2252573aa6c6998dd1522ffdfbcc858204a20392bb23cef3777dc1e9fa9b0719ec829b4b87c9e4295141dfb7c6783c3108258408c6059b6952e68edcd6431f6edb191705d29cdf82f8a9b855cee856c8b33df96b2f567107b4637f6e1feca3585c9cb1066088bb8496dea4260c344e2595c997b58508e39d072957817e7d89c19f78e2bb288553e215e81e435d88ce5b3869d10923982e8253112948035d7697762fbf555005d7682e3d5fdb09fe3edbbdf65ce72514490882cbc89dd5f0a6cfb205ee52408825840000030ed0d10485c31937741cab13b3d0c247bf9ff8155bf649c6fb314c40788c68f71e5064920c4964893225a77f8efe65c19c0110da27dad4b72582880748f58500272d91e01c1c6c43c51fd1b1651acd45ecb841bb2762c569c15e90b65d2515f669538c4f41c19ce20b01bb61d685a2b102124525d2f385a8b04283eeff3c80017d430a075790dfae7ba3bf1f3c1a90b192e515820a82d45674a1274786d8b9534f9f1f5887d4cb5103ef76e2d8e60abbb9e2be02d5820ed46bc0f963545debd5fdc3379d01c1ea7922685a4b823cb4de51ffc63358b140418e0584052de2d342719f78585e2b0a6959eb54e1d14385a0b04dac45ca8aae062094e7dffd18ab533c0314779c91474a28d47a57fe085290ec2e422953860764ced0c0304005901c005b77ffdf89651681b6dff5b1f54ae9824d589fe38de8b9e0cfba98b1002ac3013ed3b53ee39910c3ad7226a2d438f35d29b7bf4c8215dd379b9187e6622880a197df65334198b5b195dc470550cd84d466f08e5b4aca7b9f06ce4a748db9c1da29af843ed989d7e814e2b778e3b713e5c6e7323531d1782ac3d01be00b19ec65314e3015d71812389883c1b4c49064e20c3dfff2745d028a7c336e21e4eedbf73d048b86f7df61b3dc2fa412f4bfa21c47cb4485dd1c432fdf562b31604dd3c4fd94f062c6269f74ac840a7a0f66539f84d0fa83520a78fd66779936b8b10c05fa29e3551d554696a95e6f62c240eddd4ccddd5e06e8c3876b100d94ba3217bd191b8d3bbd381dcd100e1bdf69d8f48cd3d9004fbc3b22e44546dac068acf85b04b6571155d469cec8e9745d2e4a6f63e6982e65c4db0f36b95caf815fe535a45aba199f9cdbd9a2be400a49a0a4951ef4e8b423d920964bfb571b2c112f1fa66535424c4ea8caf91791d4fdbeba7309013826041c4eaa0fb8c958b0fe39b94353d81a6f788a90b9661770a168a713bf604eeae769249e22298b86a6afa27fa3104c1e27f1bbb914483a0686bbf24862f77a5e5b04e22f1d499a8883128fd6686a400818258204965d8b3c4824c86dd438840ac1a6c4d6fd2c1b6c0b58a2c14a845956d60fc4a01018282583901150e57fae6104a97667e71ee10c3f55df30add6b9c6d9b6189637681a51a1f56eb82fe568b7d57366ba2c8ba379889dd648220334812bcb61a0602410682583901e55d850d4dc5e611b740a5f61f836fb777e496a7a65abdb3779d9017e28c1958bd7614d1c1a32fe155a47ff88ce2c0889a04e61983af01831b00000015486acc6c021a00029361031a01cd729da40081825820f2cfe413fcc190c6a7424e542430572b0556ab71d16debdca9a711af1f0285f301018282584c82d818584283581ca74249849532514e2b1cecb943df5cfa5919b0a8e2d7a1b9e0ab53c1a101581e581c12f1dae7310d0837c2ad675b952bf5ea75b37fa7f258deda6c1301f6001aa4bc56581b000000012a059c1082582b82d818582183581c8e1238576c088d5088017715a77b8903b57eb282289b3f5d0a6c483aa0001a99cc1c161b000000043dab7e7d021a0002a544031a01cd6451a4008282582095f34f20f95e4e97bb1695c0de4ff9123fbaabf5bea3199785dadac4d40d4ce30182582038f022e851dc49640541d938383a5f63a5cd88b30daecb651509953e70935cdd01018282582b82d818582183581c4ce47f03ffea34a3d3316cddc715acce37fea271fd5079fdb5769543a0001af669df521a0119fa4c82581d616904e8b2c26f3dda6c4a5db4b3ec9e31d581c9960977cfe9c6917a431a001426ba021a0002bf35031a01cd5709a6008382582000e56b08de6a647b6f6155ef64a1bc253c532735cbb54ff0f585aac3a3cc17a0008258205b14e7ecff7b6aad407570397359eb4da84e298285728267c475463a1b0345dd01825820f4d06b5da11ec1bdf57a72caa8c3a1ddd5de3727f9011fb6924c44cd4ba2cc450101828258390148d9f60950cec0b5f5ba4ca2a305f8d16f23bfb1d2b780fdb199b3f9cbe310a3070e37d57355e49f94e21a4f659c1ad8c9996dd410f4ae1c821a007270e0a1581c2f633081f8b95c9a0160fcafc2ff18f2676634633ccc9ddd0a7cb25dbf494c464331306f66323501494c464331316f66323501494c464331326f66323501494c464331336f66323501494c464331346f66323501494c464331356f66323501494c464331366f66323501494c464331376f66323501494c464331386f66323501494c464331396f66323501484c4643316f66323501494c464332306f66323501494c464332316f66323501494c464332326f66323501494c464332336f66323501494c464332346f66323501494c464332356f66323501484c4643326f66323501484c4643336f66323501484c4643346f66323501484c4643356f66323501484c4643366f66323501484c4643376f66323501484c4643386f66323501484c4643396f66323501534c6f7665466f7243727970746f31306f66323501534c6f7665466f7243727970746f31316f66323501534c6f7665466f7243727970746f31326f66323501534c6f7665466f7243727970746f31336f66323501534c6f7665466f7243727970746f31346f66323501534c6f7665466f7243727970746f31356f66323501534c6f7665466f7243727970746f31366f66323501534c6f7665466f7243727970746f31376f66323501534c6f7665466f7243727970746f31386f66323501534c6f7665466f7243727970746f31396f66323501524c6f7665466f7243727970746f316f66323501534c6f7665466f7243727970746f32306f66323501534c6f7665466f7243727970746f32316f66323501534c6f7665466f7243727970746f32326f66323501534c6f7665466f7243727970746f32336f66323501534c6f7665466f7243727970746f32346f66323501534c6f7665466f7243727970746f32356f66323501524c6f7665466f7243727970746f326f66323501524c6f7665466f7243727970746f336f66323501524c6f7665466f7243727970746f346f66323501524c6f7665466f7243727970746f356f66323501524c6f7665466f7243727970746f366f66323501524c6f7665466f7243727970746f376f66323501524c6f7665466f7243727970746f386f66323501524c6f7665466f7243727970746f396f66323501ff82581d610cf2d472123546c1d59e974da3dc0662b3233990ebc212eea91f2ebe1a008192fb021a0009339d031a01cd56e1075820fa0a2db8b6d6e5d62d2cbbe16c7d6bd3899138f769c10ebd671654910e8a27c909a1581c2f633081f8b95c9a0160fcafc2ff18f2676634633ccc9ddd0a7cb25dbf494c464331306f66323501494c464331316f66323501494c464331326f66323501494c464331336f66323501494c464331346f66323501494c464331356f66323501494c464331366f66323501494c464331376f66323501494c464331386f66323501494c464331396f66323501484c4643316f66323501494c464332306f66323501494c464332316f66323501494c464332326f66323501494c464332336f66323501494c464332346f66323501494c464332356f66323501484c4643326f66323501484c4643336f66323501484c4643346f66323501484c4643356f66323501484c4643366f66323501484c4643376f66323501484c4643386f66323501484c4643396f66323501534c6f7665466f7243727970746f31306f66323501534c6f7665466f7243727970746f31316f66323501534c6f7665466f7243727970746f31326f66323501534c6f7665466f7243727970746f31336f66323501534c6f7665466f7243727970746f31346f66323501534c6f7665466f7243727970746f31356f66323501534c6f7665466f7243727970746f31366f66323501534c6f7665466f7243727970746f31376f66323501534c6f7665466f7243727970746f31386f66323501534c6f7665466f7243727970746f31396f66323501524c6f7665466f7243727970746f316f66323501534c6f7665466f7243727970746f32306f66323501534c6f7665466f7243727970746f32316f66323501534c6f7665466f7243727970746f32326f66323501534c6f7665466f7243727970746f32336f66323501534c6f7665466f7243727970746f32346f66323501534c6f7665466f7243727970746f32356f66323501524c6f7665466f7243727970746f326f66323501524c6f7665466f7243727970746f336f66323501524c6f7665466f7243727970746f346f66323501524c6f7665466f7243727970746f356f66323501524c6f7665466f7243727970746f366f66323501524c6f7665466f7243727970746f376f66323501524c6f7665466f7243727970746f386f66323501524c6f7665466f7243727970746f396f66323501ffa400838258206afc8c499da5c42c53ea442a8051b3081031f171eeea4432991506381e2d8eb800825820d3aeffea2371a3ef2f195f40246fa89e20c6e349ab24b715e38e0f51d0e7e63601825820ecc73f986b568b27a052a4c0790b44582fdd584744d86f43dc6aaa5f9686ac3601018282583901d9ed3e385682557b35884980dc1721ff24bc2dea1e22a311831afb5ce38b3fba9b40fed456199d3775f4afddf380b146336ae517925c554c1b000000015ac7129382584c82d818584283581ca1030e3b880d76789ec6b808e209ae56e827a4f57462b8fec6802527a101581e581c2b0b011ba3683d173e253c2ac6d394b5300a9cb53f650eaa06fc6e19001a15bf798e1b00000001fb31ca1d021a0002f1bd031a01cd7297a40081825820c6c4eb1417ff576769b8f3ff6cbe2996d4a5cdc4e4b45ec30eb4e7577ed1ee2400018282581d61894d3315af10374e5d1438c9b4108de597245b7bc681bfe67c7204731a002dc6c082583901d5311050fc69536704ce36efc076b515c1ccf8a13baa820d30fca8d04b4f2b1786e68840b7aa1c71827992ffb04d7d9c197d2e5b6847f82e1a0316e87f021a00028c81031a01cd728c86a10081825820fdaf2f6ef24890889f502de09ecdec7c9f676ab206e87613486f56f9799d605e5840cc1d70b7acf2ce7281c21fbdb6559c8c1327499a1c4a6e8cebb7072615ebfe0e51a4bfc2795bf692f9b4388831475fd7f1e9bdbf895efc9fe83d87ad6e89fa0ba10281845820f4bca00671176355c1dbe65f0afbb2baac60d4f4762563c53014528f53d4984758409e078f6e746c8c25bf71e322c6ae15c67b28b2e2361aa3b2ae215525697746d592386443f6690d5556a5a550785b001e0f88dd86558d41172fc976dbe1ccb50a582061d1e3d6f0036146fa182d137ebd354a1dc7347829cf5308e166838af163dced41a0a10081825820393b3d3cab6be0897cbc87143cc3a24825dc1d8249df4d37969502931cf856ff584063aac1c764bbea7851086bb765006d0209b36c15465547777881201140363e81153a18a7740c43a3e5377c111df6c4fb773caa30e8e36f45b05b6e15ade34507a20081825820fd23af269d1c2fd6bc66414b0ad239d3c6a843736fae547a3eac84bfce301dab5840df212c60fd973b40094791b3258abd26941852fc58ff5ae5d93eaa4027e7e94024cf0f1b792b81bcdb4475558d263e625d5564931610f3244adc533cf9cae60801818201828200581c0cf2d472123546c1d59e974da3dc0662b3233990ebc212eea91f2ebe82051a01ce9fb8a10283845820372a30b3c7a74189ad37bd55d35cb23722f5796693d983418ffb651e7f6164b158404499f9b35646e7f0844745f06b230305c474bb8e62ed91ae81c0d608f6d6adda7819be1924bdc3bf4877dc912d13301e53cf51b614ecacc79f740379cb39300c582085551602903bc9bb1e393c8f797916ee01ae73272d5f43ad03e0aeb949ea69e55822a101581e581c2b0b011ba3683d5e4f72362a1243bcb5295cd8b1a82df9e0dd758ee3845820c8354629e05665f031b2d1c4dc939c875d6a8166105a0d1452ad18ae2ed2231d5840459af05a287ffabbf7d357d58f960292afd89e4a303bdf1c45490d9853eb8f829c99677557d271712c5b52d5b5d63822f4592fc59d6d111587f827589a9f6e045820292b6546849392c190f00be1161430aad58a7281ccdcb491eaef2818f66d99635822a101581e581c2b0b011ba3683d33ac3b7c2af8c6af7ff97376aba498597192928abf845820e49a56a62860a3689afea7e2e7d9cdf15d40f4958acf0f5e9220a5063a36c8fb58401ef3f6f373d5b6e34a3c1dcfedc67b436efe46f2b363318731f51bcee65013ef9cf2ebec16d4a15deb4c5ff4f882241987c660b00abd03ba99ee7e1f162cf60158201db2fa3f78a86ecb6e3acb6237ca09e8bcc11d39eae9e41a54f3217dc8578f2d5822a101581e581c2b0b011ba3683d1c06c49f2a0fe17210e840e52fd4bb52a5bfc5667ba100818258205b1f1b34e11ea7676a23d2773ee79a3446c3d2d488c0f50cab2c41b6535d3d955840a5161e51190d98cf6df88d70c2c7c4749fab9822d92b1fd282b7b0857788e6ee1fb4756643375e726e99f2aae0bc5cedcf83540902f762c7a1d1a7dc646e6007a10382a11902d1a278383266363333303831663862393563396130313630666361666332666631386632363736363334363333636363396464643061376362323564b832684c4643316f663235a3646e616d656b4c46432031206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643326f663235a3646e616d656b4c46432032206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643336f663235a3646e616d656b4c46432033206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643346f663235a3646e616d656b4c46432034206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643356f663235a3646e616d656b4c46432035206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643366f663235a3646e616d656b4c46432036206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643376f663235a3646e616d656b4c46432037206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643386f663235a3646e616d656b4c46432038206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643396f663235a3646e616d656b4c46432039206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331306f663235a3646e616d656c4c4643203130206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331316f663235a3646e616d656c4c4643203131206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331326f663235a3646e616d656c4c4643203132206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331336f663235a3646e616d656c4c4643203133206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331346f663235a3646e616d656c4c4643203134206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331356f663235a3646e616d656c4c4643203135206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331366f663235a3646e616d656c4c4643203136206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331376f663235a3646e616d656c4c4643203137206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331386f663235a3646e616d656c4c4643203138206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331396f663235a3646e616d656c4c4643203139206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332306f663235a3646e616d656c4c4643203230206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332316f663235a3646e616d656c4c4643203231206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332326f663235a3646e616d656c4c4643203232206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332336f663235a3646e616d656c4c4643203233206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332346f663235a3646e616d656c4c4643203234206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332356f663235a3646e616d656c4c4643203235206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f724c6f7665466f7243727970746f316f663235a3646e616d65754c6f7665466f7243727970746f2031206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f326f663235a3646e616d65754c6f7665466f7243727970746f2032206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f336f663235a3646e616d65754c6f7665466f7243727970746f2033206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f346f663235a3646e616d65754c6f7665466f7243727970746f2034206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f356f663235a3646e616d65754c6f7665466f7243727970746f2035206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f366f663235a3646e616d65754c6f7665466f7243727970746f2036206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f376f663235a3646e616d65754c6f7665466f7243727970746f2037206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f386f663235a3646e616d65754c6f7665466f7243727970746f2038206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f396f663235a3646e616d65754c6f7665466f7243727970746f2039206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31306f663235a3646e616d65764c6f7665466f7243727970746f203130206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31316f663235a3646e616d65764c6f7665466f7243727970746f203131206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31326f663235a3646e616d65764c6f7665466f7243727970746f203132206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31336f663235a3646e616d65764c6f7665466f7243727970746f203133206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31346f663235a3646e616d65764c6f7665466f7243727970746f203134206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31356f663235a3646e616d65764c6f7665466f7243727970746f203135206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31366f663235a3646e616d65764c6f7665466f7243727970746f203136206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31376f663235a3646e616d65764c6f7665466f7243727970746f203137206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31386f663235a3646e616d65764c6f7665466f7243727970746f203138206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31396f663235a3646e616d65764c6f7665466f7243727970746f203139206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f32306f663235a3646e616d65764c6f7665466f7243727970746f203230206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f32316f663235a3646e616d65764c6f7665466f7243727970746f203231206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f32326f663235a3646e616d65764c6f7665466f7243727970746f203232206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f32336f663235a3646e616d65764c6f7665466f7243727970746f203233206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f32346f663235a3646e616d65764c6f7665466f7243727970746f203234206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f316f663235a3646e616d65764c6f7665466f7243727970746f203235206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a7175353638665677346a706f6c6963794c696e6b7835697066733a2f2f516d61774a655957577176675439515876754d476858394e76683552745933316e4c674a7646445a57314c74517780")] public async Task DeserializeAlonzoBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); const int concurrencyLevel = 1; // Number of parallel tasks - const int iterationsPerTask = 2; // Number of deserializations per task + const int iterationsPerTask = 1; // Number of deserializations per task - List tasks = Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => + IEnumerable tasks = [.. Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => { for (int i = 0; i < iterationsPerTask; i++) { @@ -116,14 +93,14 @@ public async Task DeserializeAlonzoBlock(string cbor) // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue Assert.NotNull(block); } - })).ToList(); + }))]; // Await all tasks to complete; if any fail, the test will fail await Task.WhenAll(tasks); } [Theory] - // conway + // Conway [InlineData("85828a1a00aab3351a087627515820e13008ed2878e76bec0a7d8b9cce09bf0954b1de7df25e529a9fbb727d00a8fe5820884bda542e411996a77aa9eae42bb7135bf318f21223272e0ba8f6531c8fc6f758207939de8b59dcc48dc96903763bc544cb145c72f57c1ff6aa2d954938e92c2182825840030d6c4da9a6d75239d89d7c4d393505ff6e46c5a8281b8fbfd35a373f3587959794ccd903831a82795cb894f2d104ce397ce0e6538062b01aee71521b8fe6de5850004131777b6bd82b9d65ebf3e586ba7ea193cfc16887724a56aeaddbcce3cffc40217595bfe78cbfb26b8f4521548f8073189e82b3fdeb0a0c1099e7787cb4b166fdc6cdf0ca7041aadab8cfed55530919093358208c420c878f10208c6ea8e219c9ccf10710b8323d00581028a5246bdc6f6eb893845820dbbafa8dd141507d22f03dcbb034f32a52233ab77560476239aac53d1a19be5a1619042d5840ef364b08ab30ca2d6731fb5edb2a86d520315cedddd724b2b7ef4646d1f60ef8ade88f32e79d4beb58cec04dfc214d4743ad2f9b232a2ebfbb0e8915a8a1e70d8209015901c0261b318072ac4bee9670513ea46b31cd45a8b9af8499ad79e9b42fb5a974cefd2338981b6dd8f126541cf2d3a6bb83aff9e062124c8cbe3b6d203ea5401c0b06cc401a42831e535ed2beb69199a11aa883c07a3e4ffe3365b3828cb97abb5be0f48ed8aaa8a0d998dd337d7c893d992e8e475e9db3639afbda80a87acc5f4ba215126835530f42f69481514721a8d91de863ef6dc51c053e4846081ff6984e9833faae8ea0f1fe1896cd687099807c6915c8eeddfef74c313499d7544d61f4d8790a23c4817d53fb5d1ca22e57d4958d6dd0443626ab4446debd98e21f070793f0051c2655eff26ca34a7c5ac7bb6b129af95b73ad3b071d0297fb3b422f3c6d20f35f2131d513811f40a861dc7ba8d2f4bdb2be2113b219a05f326d635709edf49c119cc929a3728c91886e3b781a241893103c8063c98203fc7139dfa119b4b66d2ff8d796f2c53c1ac91fb3bc1ad9f18b2d58c2360820ebf5e3f40514dd10f8d54413ef3c14d2825c6eef2ffebf6771653736e13685969751d3cd31f293944d85c6c025349262e479ef4aa9531d7de3bc57ce599afdc6ec4f452e7fc89f20b076f24ea3aac036c0bc0c163c262839b1d854556570316451b20e05feadb88d84a4008182582033c0049e3b1c8a47c9c0879aa595da1eedcedb99876baa9398138fe7e5cdaf86000182a300583911464eeee89f05aff787d40045af2a40a83fd96c513197d32fbc54ff02160445e0993401c21bfcc5958fe7523c582b4036be914ce854307df5011a0c136e40028201d818590102d8798c4100581c9607a38a73da1c6c104aba3edbad7bf6ae820816407539ecf540eaf7d8798240401a0bebc2001a000927c01a00802dc3d87982581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536a4b5341442054484520434154d879821a1908f02f1b00000002540be4001a0007a120d87982d87981581c8d9913a5d5e98c6aab297d090dd0cb4e850cf238c534b6a9dd907213d87981d87981d87981581c160445e0993401c21bfcc5958fe7523c582b4036be914ce854307df5581c8d9913a5d5e98c6aab297d090dd0cb4e850cf238c534b6a9dd90721381581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e4776825839018d9913a5d5e98c6aab297d090dd0cb4e850cf238c534b6a9dd907213160445e0993401c21bfcc5958fe7523c582b4036be914ce854307df51a0023394c021a0002d09107582010b3cd99c9eb9ddfb67964a72cea96cd80be25fe7c8b161f3c999dc1d3358378a70081825820f8e308859e29fc128d0b70188ff5747aa7abc7dd0d339839d499ec4a03aabda9000181825839015455a2fd7ea563dbcf4dacf267d9d2326b7b7ce2b82140f536a1b8883219ec303b9f9facd2c6f49ad14a4ed5982b6553da4e90e3196a1b881a11ed14b0021a0003d0900b5820a5b75a3d7bf7ebc7e003f09fd99add064f71cc0f45035e3d80ce02c9b02bd9100d818258209349ed1f38b09100a5eaac0f4ad42441af53e70ce06bf57b566395f74a2ec1cb000e81581c5455a2fd7ea563dbcf4dacf267d9d2326b7b7ce2b82140f536a1b88812818258205ec56338104fcbfe32288c649d9633f0d9060abce8b8608b156294f0a81d29e201a800828258208f6646b372d3232eecffb9ef2cfba7b1dff3247b5fdccda22bdc4ecd7bd8042500825820f1b5a90ad9e754577b51dd476de8fbfa0d951e82cdf693346cc30fb7503b159b000183a2005839018d9913a5d5e98c6aab297d090dd0cb4e850cf238c534b6a9dd907213160445e0993401c21bfcc5958fe7523c582b4036be914ce854307df501821a0016e360a1581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536aa14b53414420544845204341541a01005b87a300583931905ab869961b094f1b8197278cfe15b45cbe49fa8f32c6b014f85a2db2f6abf60ccde92eae1a2f4fdf65f2eaf6208d872c6f0e597cc10b0701821a70fb3dd7a2581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536aa14b53414420544845204341541a24c0e7cc581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b8a15820e216425600a641a314c19a32fff56f751f5bff81740f2232693d607379f3bee401028201d81858e9d87989d87982581c63f947b8d9535bc4e4ce6919e3dc056547e8d30ada12f29aa5f826b85820e216425600a641a314c19a32fff56f751f5bff81740f2232693d607379f3bee4d879824040d87982581c161e4f460b61d1a78248af3f8a181a6b476e4197d7f9def3453f536a4b53414420544845204341541b0000001166b125ce1a001373c2581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761b000000028f200558581c8807fbe6e36b1c35ad6f36f0993e2fc67ab6f2db06041cfa3a53c04a581c554daf3e27e50c8c779713be6ba70f95c35f23f0552a28e5a7a340148258390122aea2da15e494e01767145d48bda16b6d437f1c449823a044193daf299a82ef56311aa10adf04c0072d4870eb9f4d5ff315132434841b741a00297bc7021a0005d19905a1581df196f5c1bee23481335ff4aece32fe1dfa1aa40a944a66d2d6edc9a9a5000b58203a98f88216e5025db28f06e90c56b3def9f35e3ac2beef37aef7f09ace7a60c00d8182582006f24741c2cbc3f59096046de95fcd5d90a77e5378d95fd60f2ec261aa5c7981000e81581cedbf33f5d6e083970648e39175c49ec1c093df76b6e6a0f1473e47761283825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f00825820c4a540ac2e06c217dd4fb3f39ca3863da394ba134677dafa9b98830ca71d584d03825820b91eda29d145ab6c0bc0d6b7093cb24b131440b7b015033205476f39c690a51f01a400818258203f43134f45bcadea987e8dccbb569a4526d764787a2adb4045da6543142c8fde01018182583901b610bfca05d92c04eb6a460c2570d6d467813052608c7390daf0017d3afa303ff7969d061294da7def04496d6a87a7c6dde3acbf78a81d131a418b90e9021a00028774031a087627f484a1008182582020c38545a0a4dc453f98da0390d2dd5236bb81a7c11a73415262396cac156eeb5840c5af8bd8a617e7a07a5ae9a1babf6ff10c8ebd63d24866421eb0d597cf680f99492b144b08592ec408c1d2cf87bbe0f095e5b2d1a59839a511791ea4b1d7bd09a200818258201e2fd4178008a65e0d7d67c5fe29886dc825c48dd6be93afa90152106b9a93115840e39d41754c543a562b2664326f12369b3ee7f1088460aae06aa24a0b51b4a8f77d399fdb16f8e25cc5462a3b4fa5cce2c9c263946ff5a93ba56f0f169e76e60d0581840000d87a808219c3501a00989680a2008182582014585da9857b30cf57edccac19d3012b602bb5650c7726a5f1504d9614d205225840811625a2dd2b98db4a8ab7679d6f0e96dc8221ed925699e5e137db3e98099f4512df97e2a593a20c4acbc259e686e6838723cfc8580aae7e8648596d7e4d66060583840000d87a80821a000186a01a01c9c380840001d879830101d87980821a000864701a0d1cef0084030080821a000668a01a09896800a100818258207c344966b70455b888ed29a70cae086e24fab05e53ada41706c91a2f4ba9202f5840e4926495d6fb2d57746ffd9cb183a48f92d2836bb064631407dd5728a3cf222947153eed9ce05e7fc15541e27bc463f97cd726a3d45fb2cd4c9cef614deea409a100a10782582084d7eaaeeaaba1163a821a8b2e65865f8255a7d8d70197bcaa90465ac0559bc658202cd2d799d8afed19fb68ae8aba25178d4cb2ab4efa6536bd60afabb30560560c80")] public async Task DeserializeConwayBlock(string cbor) { @@ -132,7 +109,7 @@ public async Task DeserializeConwayBlock(string cbor) const int concurrencyLevel = 1; // Number of parallel tasks const int iterationsPerTask = 2; // Number of deserializations per task - List tasks = Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => + IEnumerable tasks = [.. Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => { for (int i = 0; i < iterationsPerTask; i++) { @@ -143,7 +120,7 @@ public async Task DeserializeConwayBlock(string cbor) // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue Assert.NotNull(block); } - })).ToList(); + }))]; // Await all tasks to complete; if any fail, the test will fail await Task.WhenAll(tasks); diff --git a/src/Chrysalis.Test/Types/TestData.cs b/src/Chrysalis.Test/Types/TestData.cs index 23cb383a..7634ef59 100644 --- a/src/Chrysalis.Test/Types/TestData.cs +++ b/src/Chrysalis.Test/Types/TestData.cs @@ -24,8 +24,8 @@ public void Deserialize(IXunitSerializationInfo info) Serialized = info.GetValue(nameof(Serialized)); var typeName = info.GetValue("DeserializedType"); var json = info.GetValue(nameof(Deserialized)); - var type = Type.GetType(typeName); - Deserialized = (CborBase)JsonConvert.DeserializeObject(json, type); + var type = Type.GetType(typeName) ?? throw new InvalidOperationException("Failed to get type."); + Deserialized = (CborBase?)JsonConvert.DeserializeObject(json, type) ?? throw new InvalidOperationException("Failed to deserialize object."); } public void Serialize(IXunitSerializationInfo info) diff --git a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs index 70077a02..2f704675 100644 --- a/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs +++ b/src/Chrysalis/Cardano/Core/Extensions/BlockExtension.cs @@ -20,7 +20,7 @@ public static class BlockExtension }; public static string Hash(this Block block) - => Convert.ToHexString(block.Header().Raw?.ToBlake2b256() ?? []).ToLowerInvariant(); + => Convert.ToHexString(block.Header()?.Raw?.ToBlake2b256() ?? []).ToLowerInvariant(); public static ulong? Slot(this Block block) => block.HeaderBody() switch diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Block.cs b/src/Chrysalis/Cardano/Core/Types/Block/Block.cs index 6c196b44..7c13a840 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Block.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Block.cs @@ -1,7 +1,5 @@ using Chrysalis.Cardano.Core.Types.Block.Header; -using Chrysalis.Cardano.Core.Types.Block.Transaction; using Chrysalis.Cardano.Core.Types.Block.Transaction.Body; -using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; using Chrysalis.Cardano.Core.Types.Block.Transaction.WitnessSet; using Chrysalis.Cbor.Attributes; using Chrysalis.Cbor.Converters.Primitives; diff --git a/src/Chrysalis/Cbor/Converters/CborSerializer.cs b/src/Chrysalis/Cbor/Converters/CborSerializer.cs index 6bfb78a3..c9f5a6e0 100644 --- a/src/Chrysalis/Cbor/Converters/CborSerializer.cs +++ b/src/Chrysalis/Cbor/Converters/CborSerializer.cs @@ -1,4 +1,5 @@ using System.Collections.Concurrent; +using System.Formats.Cbor; using System.Reflection; using Chrysalis.Cbor.Attributes; using Chrysalis.Cbor.Types; @@ -29,9 +30,10 @@ public static T Deserialize(byte[] data) where T : CborBase MethodInfo deserializeMethod = typeof(ICborConverter).GetMethod(nameof(ICborConverter.Deserialize)) ?.MakeGenericMethod(type) ?? throw new InvalidOperationException("The ICborConverter does not implement Deserialize."); + return (byte[] inputData) => { - return deserializeMethod.Invoke(converter, new object[] { inputData })!; + return deserializeMethod.Invoke(converter, [inputData])!; }; }); @@ -78,7 +80,7 @@ private static ICborConverter GetConverter(Type type) where T : ICbor else { // If the type isn't generic but converter is, use T as the generic argument - genericArgs = new[] { typeof(T) }; + genericArgs = [typeof(T)]; } try @@ -119,4 +121,9 @@ private static ICborConverter GetConverter(Type type) where T : ICbor throw new InvalidOperationException( $"No valid converter found for {type}. Please ensure a [CborConverter] attribute is defined."); } + + public static CborReader CreateReader(byte[] data) + { + return new(data, CborConformanceMode.Lax); + } } \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/BoolConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/BoolConverter.cs index 66a83879..ae03db37 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/BoolConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/BoolConverter.cs @@ -10,7 +10,7 @@ public class BoolConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); bool value = reader.ReadBoolean(); // Read and verify the tag diff --git a/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs index 1a0f8fa5..83014351 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs @@ -10,7 +10,7 @@ public class BytesConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); byte[] value = []; diff --git a/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs index 4d06ddfa..bc79575c 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs @@ -10,7 +10,7 @@ public class ConstrConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); Type targetType = typeof(T); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomConstrConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomConstrConverter.cs index 98640e07..533d6389 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/CustomConstrConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomConstrConverter.cs @@ -11,7 +11,7 @@ public class CustomConstrConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); Type targetType = typeof(T); // Read the tag diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs index 153dadbf..5a0b9db2 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs @@ -10,7 +10,7 @@ public class CustomListConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); Type targetType = typeof(T); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs index 175bdd86..2d5f3f85 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs @@ -10,7 +10,7 @@ public class CustomMapConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); Type targetType = typeof(T); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/EncodedValueConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/EncodedValueConverter.cs index 31fb6e32..2b49ba20 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/EncodedValueConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/EncodedValueConverter.cs @@ -9,7 +9,7 @@ public class EncodedValueConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); CborTag tag = reader.ReadTag(); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/IntConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/IntConverter.cs index 9b44fdd7..2a745dbe 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/IntConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/IntConverter.cs @@ -9,7 +9,7 @@ public class IntConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); int value = reader.ReadInt32(); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/ListConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/ListConverter.cs index 564b774f..bd62796d 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/ListConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/ListConverter.cs @@ -11,7 +11,7 @@ public class ListConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); reader.ReadStartArray(); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/LongConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/LongConverter.cs index e56c7f84..9bcd7a6a 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/LongConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/LongConverter.cs @@ -10,7 +10,7 @@ public class LongConverter : ICborConverter public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); long value = reader.ReadInt64(); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/MapConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/MapConverter.cs index 74729e1d..c631abef 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/MapConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/MapConverter.cs @@ -10,12 +10,13 @@ public class MapConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); reader.ReadStartMap(); Type targetType = typeof(T); + string targetTypeName = targetType.Name; ConstructorInfo constructor = targetType.GetConstructors().FirstOrDefault() ?? throw new InvalidOperationException($"Type {targetType.Name} must have a constructor."); // Determine the key and value types of the dictionary diff --git a/src/Chrysalis/Cbor/Converters/Primitives/MaybeConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/MaybeConverter.cs deleted file mode 100644 index f44056f6..00000000 --- a/src/Chrysalis/Cbor/Converters/Primitives/MaybeConverter.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Chrysalis.Cbor.Types; - -namespace Chrysalis.Cbor.Converters.Primitives; - -public class MaybeConverter : ICborConverter -{ - public T Deserialize(byte[] data) where T : CborBase - { - throw new NotImplementedException(); - } - - public byte[] Serialize(CborBase data) - { - throw new NotImplementedException(); - } -} \ No newline at end of file diff --git a/src/Chrysalis/Cbor/Converters/Primitives/NullableConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/NullableConverter.cs index bac2a1cc..1e2f2865 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/NullableConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/NullableConverter.cs @@ -9,7 +9,7 @@ public class NullableConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); Type targetType = typeof(T); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/RationalNumberConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/RationalNumberConverter.cs index 4aceebc8..11a4cf66 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/RationalNumberConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/RationalNumberConverter.cs @@ -9,7 +9,7 @@ public class RationalNumberConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); // Expect array of 2 elements diff --git a/src/Chrysalis/Cbor/Converters/Primitives/TextConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/TextConverter.cs index 718fe7ba..641dafa7 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/TextConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/TextConverter.cs @@ -9,7 +9,7 @@ public class TextConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); string value = reader.ReadTextString(); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/UlongConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/UlongConverter.cs index 363f4026..ee0dfbac 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/UlongConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/UlongConverter.cs @@ -9,7 +9,7 @@ public class UlongConverter : ICborConverter { public T Deserialize(byte[] data) where T : CborBase { - CborReader reader = new(data); + CborReader reader = CborSerializer.CreateReader(data); CborTagUtils.ReadAndVerifyTag(reader); ulong value = reader.ReadUInt64(); diff --git a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs index 1c3b6ccf..67f6c370 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs @@ -46,13 +46,13 @@ public T Deserialize(byte[] data) where T : CborBase private static async Task ParallelDeserializeAsync(byte[] data, Type[] concreteTypes, Type baseType) where T : CborBase { - TaskCompletionSource successTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + TaskCompletionSource successTcs = new(TaskCreationOptions.RunContinuationsAsynchronously); // Create a list of tasks that attempt to deserialize in parallel - Task[] tasks = concreteTypes.Select(async concreteType => + Task[] tasks = [.. concreteTypes.Select(concreteType => { if (successTcs.Task.IsCompleted) - return; // If already succeeded, just return early. + return successTcs.Task; // If already succeeded, just return early. try { @@ -68,7 +68,9 @@ private static async Task ParallelDeserializeAsync(byte[] data, Type[] con // Ignore failures - if all fail, we handle that after all tasks complete. // But do not throw here, since we only want to fail if NO type works. } - }).ToArray(); + + return Task.CompletedTask; + })]; // Wait until either one task succeeds (successTcs.Task) or all tasks finish (Task.WhenAll) Task completed = await Task.WhenAny(successTcs.Task, Task.WhenAll(tasks)).ConfigureAwait(false); From 93664a0588324991984892e6562c9a79b146c2a0 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Sun, 22 Dec 2024 16:37:50 +0800 Subject: [PATCH 097/162] chore: bump version to 0.5.21 (#113) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 7f06d7c5..c9f08edd 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.20 + 0.5.21 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From cac0f6373630ba554dc4a1eea1259a753a62ba1e Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Tue, 24 Dec 2024 00:44:16 +0800 Subject: [PATCH 098/162] fix: instantaneus rewards was using CborInt instead of CborUlong for lovelace reward amount (#114) --- src/Chrysalis.Test/CborTests.cs | 2 +- .../Transaction/Body/Certificates/MoveInstantaneousReward.cs | 2 +- .../Core/Types/Block/Transaction/Body/TransactionBody.cs | 1 - src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs | 2 +- src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index dee2c1e6..8afc862a 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -74,7 +74,7 @@ public async Task DeserializeBabbageBlock(string cbor) [Theory] // Alonzo - [InlineData("84828f1a0057d7e81a01cd568058205f484b951f012ed53fdb9e30da0660902354c705f112745bf3b19ec31bc9bb005820e1806a6af0eb0931ebdf8b766229cf9323f2252573aa6c6998dd1522ffdfbcc858204a20392bb23cef3777dc1e9fa9b0719ec829b4b87c9e4295141dfb7c6783c3108258408c6059b6952e68edcd6431f6edb191705d29cdf82f8a9b855cee856c8b33df96b2f567107b4637f6e1feca3585c9cb1066088bb8496dea4260c344e2595c997b58508e39d072957817e7d89c19f78e2bb288553e215e81e435d88ce5b3869d10923982e8253112948035d7697762fbf555005d7682e3d5fdb09fe3edbbdf65ce72514490882cbc89dd5f0a6cfb205ee52408825840000030ed0d10485c31937741cab13b3d0c247bf9ff8155bf649c6fb314c40788c68f71e5064920c4964893225a77f8efe65c19c0110da27dad4b72582880748f58500272d91e01c1c6c43c51fd1b1651acd45ecb841bb2762c569c15e90b65d2515f669538c4f41c19ce20b01bb61d685a2b102124525d2f385a8b04283eeff3c80017d430a075790dfae7ba3bf1f3c1a90b192e515820a82d45674a1274786d8b9534f9f1f5887d4cb5103ef76e2d8e60abbb9e2be02d5820ed46bc0f963545debd5fdc3379d01c1ea7922685a4b823cb4de51ffc63358b140418e0584052de2d342719f78585e2b0a6959eb54e1d14385a0b04dac45ca8aae062094e7dffd18ab533c0314779c91474a28d47a57fe085290ec2e422953860764ced0c0304005901c005b77ffdf89651681b6dff5b1f54ae9824d589fe38de8b9e0cfba98b1002ac3013ed3b53ee39910c3ad7226a2d438f35d29b7bf4c8215dd379b9187e6622880a197df65334198b5b195dc470550cd84d466f08e5b4aca7b9f06ce4a748db9c1da29af843ed989d7e814e2b778e3b713e5c6e7323531d1782ac3d01be00b19ec65314e3015d71812389883c1b4c49064e20c3dfff2745d028a7c336e21e4eedbf73d048b86f7df61b3dc2fa412f4bfa21c47cb4485dd1c432fdf562b31604dd3c4fd94f062c6269f74ac840a7a0f66539f84d0fa83520a78fd66779936b8b10c05fa29e3551d554696a95e6f62c240eddd4ccddd5e06e8c3876b100d94ba3217bd191b8d3bbd381dcd100e1bdf69d8f48cd3d9004fbc3b22e44546dac068acf85b04b6571155d469cec8e9745d2e4a6f63e6982e65c4db0f36b95caf815fe535a45aba199f9cdbd9a2be400a49a0a4951ef4e8b423d920964bfb571b2c112f1fa66535424c4ea8caf91791d4fdbeba7309013826041c4eaa0fb8c958b0fe39b94353d81a6f788a90b9661770a168a713bf604eeae769249e22298b86a6afa27fa3104c1e27f1bbb914483a0686bbf24862f77a5e5b04e22f1d499a8883128fd6686a400818258204965d8b3c4824c86dd438840ac1a6c4d6fd2c1b6c0b58a2c14a845956d60fc4a01018282583901150e57fae6104a97667e71ee10c3f55df30add6b9c6d9b6189637681a51a1f56eb82fe568b7d57366ba2c8ba379889dd648220334812bcb61a0602410682583901e55d850d4dc5e611b740a5f61f836fb777e496a7a65abdb3779d9017e28c1958bd7614d1c1a32fe155a47ff88ce2c0889a04e61983af01831b00000015486acc6c021a00029361031a01cd729da40081825820f2cfe413fcc190c6a7424e542430572b0556ab71d16debdca9a711af1f0285f301018282584c82d818584283581ca74249849532514e2b1cecb943df5cfa5919b0a8e2d7a1b9e0ab53c1a101581e581c12f1dae7310d0837c2ad675b952bf5ea75b37fa7f258deda6c1301f6001aa4bc56581b000000012a059c1082582b82d818582183581c8e1238576c088d5088017715a77b8903b57eb282289b3f5d0a6c483aa0001a99cc1c161b000000043dab7e7d021a0002a544031a01cd6451a4008282582095f34f20f95e4e97bb1695c0de4ff9123fbaabf5bea3199785dadac4d40d4ce30182582038f022e851dc49640541d938383a5f63a5cd88b30daecb651509953e70935cdd01018282582b82d818582183581c4ce47f03ffea34a3d3316cddc715acce37fea271fd5079fdb5769543a0001af669df521a0119fa4c82581d616904e8b2c26f3dda6c4a5db4b3ec9e31d581c9960977cfe9c6917a431a001426ba021a0002bf35031a01cd5709a6008382582000e56b08de6a647b6f6155ef64a1bc253c532735cbb54ff0f585aac3a3cc17a0008258205b14e7ecff7b6aad407570397359eb4da84e298285728267c475463a1b0345dd01825820f4d06b5da11ec1bdf57a72caa8c3a1ddd5de3727f9011fb6924c44cd4ba2cc450101828258390148d9f60950cec0b5f5ba4ca2a305f8d16f23bfb1d2b780fdb199b3f9cbe310a3070e37d57355e49f94e21a4f659c1ad8c9996dd410f4ae1c821a007270e0a1581c2f633081f8b95c9a0160fcafc2ff18f2676634633ccc9ddd0a7cb25dbf494c464331306f66323501494c464331316f66323501494c464331326f66323501494c464331336f66323501494c464331346f66323501494c464331356f66323501494c464331366f66323501494c464331376f66323501494c464331386f66323501494c464331396f66323501484c4643316f66323501494c464332306f66323501494c464332316f66323501494c464332326f66323501494c464332336f66323501494c464332346f66323501494c464332356f66323501484c4643326f66323501484c4643336f66323501484c4643346f66323501484c4643356f66323501484c4643366f66323501484c4643376f66323501484c4643386f66323501484c4643396f66323501534c6f7665466f7243727970746f31306f66323501534c6f7665466f7243727970746f31316f66323501534c6f7665466f7243727970746f31326f66323501534c6f7665466f7243727970746f31336f66323501534c6f7665466f7243727970746f31346f66323501534c6f7665466f7243727970746f31356f66323501534c6f7665466f7243727970746f31366f66323501534c6f7665466f7243727970746f31376f66323501534c6f7665466f7243727970746f31386f66323501534c6f7665466f7243727970746f31396f66323501524c6f7665466f7243727970746f316f66323501534c6f7665466f7243727970746f32306f66323501534c6f7665466f7243727970746f32316f66323501534c6f7665466f7243727970746f32326f66323501534c6f7665466f7243727970746f32336f66323501534c6f7665466f7243727970746f32346f66323501534c6f7665466f7243727970746f32356f66323501524c6f7665466f7243727970746f326f66323501524c6f7665466f7243727970746f336f66323501524c6f7665466f7243727970746f346f66323501524c6f7665466f7243727970746f356f66323501524c6f7665466f7243727970746f366f66323501524c6f7665466f7243727970746f376f66323501524c6f7665466f7243727970746f386f66323501524c6f7665466f7243727970746f396f66323501ff82581d610cf2d472123546c1d59e974da3dc0662b3233990ebc212eea91f2ebe1a008192fb021a0009339d031a01cd56e1075820fa0a2db8b6d6e5d62d2cbbe16c7d6bd3899138f769c10ebd671654910e8a27c909a1581c2f633081f8b95c9a0160fcafc2ff18f2676634633ccc9ddd0a7cb25dbf494c464331306f66323501494c464331316f66323501494c464331326f66323501494c464331336f66323501494c464331346f66323501494c464331356f66323501494c464331366f66323501494c464331376f66323501494c464331386f66323501494c464331396f66323501484c4643316f66323501494c464332306f66323501494c464332316f66323501494c464332326f66323501494c464332336f66323501494c464332346f66323501494c464332356f66323501484c4643326f66323501484c4643336f66323501484c4643346f66323501484c4643356f66323501484c4643366f66323501484c4643376f66323501484c4643386f66323501484c4643396f66323501534c6f7665466f7243727970746f31306f66323501534c6f7665466f7243727970746f31316f66323501534c6f7665466f7243727970746f31326f66323501534c6f7665466f7243727970746f31336f66323501534c6f7665466f7243727970746f31346f66323501534c6f7665466f7243727970746f31356f66323501534c6f7665466f7243727970746f31366f66323501534c6f7665466f7243727970746f31376f66323501534c6f7665466f7243727970746f31386f66323501534c6f7665466f7243727970746f31396f66323501524c6f7665466f7243727970746f316f66323501534c6f7665466f7243727970746f32306f66323501534c6f7665466f7243727970746f32316f66323501534c6f7665466f7243727970746f32326f66323501534c6f7665466f7243727970746f32336f66323501534c6f7665466f7243727970746f32346f66323501534c6f7665466f7243727970746f32356f66323501524c6f7665466f7243727970746f326f66323501524c6f7665466f7243727970746f336f66323501524c6f7665466f7243727970746f346f66323501524c6f7665466f7243727970746f356f66323501524c6f7665466f7243727970746f366f66323501524c6f7665466f7243727970746f376f66323501524c6f7665466f7243727970746f386f66323501524c6f7665466f7243727970746f396f66323501ffa400838258206afc8c499da5c42c53ea442a8051b3081031f171eeea4432991506381e2d8eb800825820d3aeffea2371a3ef2f195f40246fa89e20c6e349ab24b715e38e0f51d0e7e63601825820ecc73f986b568b27a052a4c0790b44582fdd584744d86f43dc6aaa5f9686ac3601018282583901d9ed3e385682557b35884980dc1721ff24bc2dea1e22a311831afb5ce38b3fba9b40fed456199d3775f4afddf380b146336ae517925c554c1b000000015ac7129382584c82d818584283581ca1030e3b880d76789ec6b808e209ae56e827a4f57462b8fec6802527a101581e581c2b0b011ba3683d173e253c2ac6d394b5300a9cb53f650eaa06fc6e19001a15bf798e1b00000001fb31ca1d021a0002f1bd031a01cd7297a40081825820c6c4eb1417ff576769b8f3ff6cbe2996d4a5cdc4e4b45ec30eb4e7577ed1ee2400018282581d61894d3315af10374e5d1438c9b4108de597245b7bc681bfe67c7204731a002dc6c082583901d5311050fc69536704ce36efc076b515c1ccf8a13baa820d30fca8d04b4f2b1786e68840b7aa1c71827992ffb04d7d9c197d2e5b6847f82e1a0316e87f021a00028c81031a01cd728c86a10081825820fdaf2f6ef24890889f502de09ecdec7c9f676ab206e87613486f56f9799d605e5840cc1d70b7acf2ce7281c21fbdb6559c8c1327499a1c4a6e8cebb7072615ebfe0e51a4bfc2795bf692f9b4388831475fd7f1e9bdbf895efc9fe83d87ad6e89fa0ba10281845820f4bca00671176355c1dbe65f0afbb2baac60d4f4762563c53014528f53d4984758409e078f6e746c8c25bf71e322c6ae15c67b28b2e2361aa3b2ae215525697746d592386443f6690d5556a5a550785b001e0f88dd86558d41172fc976dbe1ccb50a582061d1e3d6f0036146fa182d137ebd354a1dc7347829cf5308e166838af163dced41a0a10081825820393b3d3cab6be0897cbc87143cc3a24825dc1d8249df4d37969502931cf856ff584063aac1c764bbea7851086bb765006d0209b36c15465547777881201140363e81153a18a7740c43a3e5377c111df6c4fb773caa30e8e36f45b05b6e15ade34507a20081825820fd23af269d1c2fd6bc66414b0ad239d3c6a843736fae547a3eac84bfce301dab5840df212c60fd973b40094791b3258abd26941852fc58ff5ae5d93eaa4027e7e94024cf0f1b792b81bcdb4475558d263e625d5564931610f3244adc533cf9cae60801818201828200581c0cf2d472123546c1d59e974da3dc0662b3233990ebc212eea91f2ebe82051a01ce9fb8a10283845820372a30b3c7a74189ad37bd55d35cb23722f5796693d983418ffb651e7f6164b158404499f9b35646e7f0844745f06b230305c474bb8e62ed91ae81c0d608f6d6adda7819be1924bdc3bf4877dc912d13301e53cf51b614ecacc79f740379cb39300c582085551602903bc9bb1e393c8f797916ee01ae73272d5f43ad03e0aeb949ea69e55822a101581e581c2b0b011ba3683d5e4f72362a1243bcb5295cd8b1a82df9e0dd758ee3845820c8354629e05665f031b2d1c4dc939c875d6a8166105a0d1452ad18ae2ed2231d5840459af05a287ffabbf7d357d58f960292afd89e4a303bdf1c45490d9853eb8f829c99677557d271712c5b52d5b5d63822f4592fc59d6d111587f827589a9f6e045820292b6546849392c190f00be1161430aad58a7281ccdcb491eaef2818f66d99635822a101581e581c2b0b011ba3683d33ac3b7c2af8c6af7ff97376aba498597192928abf845820e49a56a62860a3689afea7e2e7d9cdf15d40f4958acf0f5e9220a5063a36c8fb58401ef3f6f373d5b6e34a3c1dcfedc67b436efe46f2b363318731f51bcee65013ef9cf2ebec16d4a15deb4c5ff4f882241987c660b00abd03ba99ee7e1f162cf60158201db2fa3f78a86ecb6e3acb6237ca09e8bcc11d39eae9e41a54f3217dc8578f2d5822a101581e581c2b0b011ba3683d1c06c49f2a0fe17210e840e52fd4bb52a5bfc5667ba100818258205b1f1b34e11ea7676a23d2773ee79a3446c3d2d488c0f50cab2c41b6535d3d955840a5161e51190d98cf6df88d70c2c7c4749fab9822d92b1fd282b7b0857788e6ee1fb4756643375e726e99f2aae0bc5cedcf83540902f762c7a1d1a7dc646e6007a10382a11902d1a278383266363333303831663862393563396130313630666361666332666631386632363736363334363333636363396464643061376362323564b832684c4643316f663235a3646e616d656b4c46432031206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643326f663235a3646e616d656b4c46432032206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643336f663235a3646e616d656b4c46432033206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643346f663235a3646e616d656b4c46432034206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643356f663235a3646e616d656b4c46432035206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643366f663235a3646e616d656b4c46432036206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643376f663235a3646e616d656b4c46432037206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643386f663235a3646e616d656b4c46432038206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f684c4643396f663235a3646e616d656b4c46432039206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331306f663235a3646e616d656c4c4643203130206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331316f663235a3646e616d656c4c4643203131206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331326f663235a3646e616d656c4c4643203132206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331336f663235a3646e616d656c4c4643203133206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331346f663235a3646e616d656c4c4643203134206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331356f663235a3646e616d656c4c4643203135206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331366f663235a3646e616d656c4c4643203136206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331376f663235a3646e616d656c4c4643203137206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331386f663235a3646e616d656c4c4643203138206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464331396f663235a3646e616d656c4c4643203139206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332306f663235a3646e616d656c4c4643203230206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332316f663235a3646e616d656c4c4643203231206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332326f663235a3646e616d656c4c4643203232206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332336f663235a3646e616d656c4c4643203233206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332346f663235a3646e616d656c4c4643203234206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f694c464332356f663235a3646e616d656c4c4643203235206f6620323565696d6167657835697066733a2f2f516d5a477a5a39793967576d53356d616d33324771694373475066473134436332357745464a477a59506f656a4569617277656176654964782b4c5530746d516758744843737a3778733661477432507a3768477a58774a70314739386b75515a6c72306f724c6f7665466f7243727970746f316f663235a3646e616d65754c6f7665466f7243727970746f2031206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f326f663235a3646e616d65754c6f7665466f7243727970746f2032206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f336f663235a3646e616d65754c6f7665466f7243727970746f2033206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f346f663235a3646e616d65754c6f7665466f7243727970746f2034206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f356f663235a3646e616d65754c6f7665466f7243727970746f2035206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f366f663235a3646e616d65754c6f7665466f7243727970746f2036206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f376f663235a3646e616d65754c6f7665466f7243727970746f2037206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f386f663235a3646e616d65754c6f7665466f7243727970746f2038206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f396f663235a3646e616d65754c6f7665466f7243727970746f2039206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31306f663235a3646e616d65764c6f7665466f7243727970746f203130206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31316f663235a3646e616d65764c6f7665466f7243727970746f203131206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31326f663235a3646e616d65764c6f7665466f7243727970746f203132206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31336f663235a3646e616d65764c6f7665466f7243727970746f203133206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31346f663235a3646e616d65764c6f7665466f7243727970746f203134206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31356f663235a3646e616d65764c6f7665466f7243727970746f203135206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31366f663235a3646e616d65764c6f7665466f7243727970746f203136206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31376f663235a3646e616d65764c6f7665466f7243727970746f203137206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31386f663235a3646e616d65764c6f7665466f7243727970746f203138206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f31396f663235a3646e616d65764c6f7665466f7243727970746f203139206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f32306f663235a3646e616d65764c6f7665466f7243727970746f203230206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f32316f663235a3646e616d65764c6f7665466f7243727970746f203231206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f32326f663235a3646e616d65764c6f7665466f7243727970746f203232206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f32336f663235a3646e616d65764c6f7665466f7243727970746f203233206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734734c6f7665466f7243727970746f32346f663235a3646e616d65764c6f7665466f7243727970746f203234206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a717535363866567734724c6f7665466f7243727970746f316f663235a3646e616d65764c6f7665466f7243727970746f203235206f6620323565696d6167657835697066733a2f2f516d57645a764872584366314a6b525566724e3569414b6a32674534627a58657171666d48436451356f424c376769617277656176654964782b72314e6849674a33623942683259663752747254314233383569744c5a487649357a7175353638665677346a706f6c6963794c696e6b7835697066733a2f2f516d61774a655957577176675439515876754d476858394e76683552745933316e4c674a7646445a57314c74517780")] + [InlineData("84828f1a005904061a01e4f6a5582021c3111a9a7bc94c4473232472fc13cdc2d28ffdd23d9ed7b717eafcaf3cfebd58202f3cc6c3b7f0e0c9ded59042ed973ac7aa4031167f0943c36d33bdf9bce73df15820d31eef88456a81532b2e3542edc12efefb74ad83c60d60448b70f3b0c285b885825840d9921e2e598048e8af42cce072c6e74d22dc0064e94c1b32115ea494065135b167fef63ccb12c5940eae27c726a68dc92db5f473b26a446ca495e23a4d3105b058501273dd72bc5091c6b7c34563576d011a5f61033211ea2ff0cc1976df837898d2084ed7f6f0284bc368b304fccef948c87b536db46af1e47141070fba9ba4788cb9bcaa9726f685ca4a953379c5e4f80d8258400006925d0fcc5b11fcf3d6303510b705e704ef5c1cd71bee6feb58f0895b2feaae9c843966b5e769f74b7937154ae767986ca553110dcff8b69c05961095656058508bd080d854b522a284d558adbd4516909c9ad7bb105bacd150f15c35aa82e2139aa8260a93a0e80287579fe46dd1c16577195d0aa5c861f4af85bed4b69c423587b191346e9a684781555e34a7c91b091924a85820df0c914fe93ecc076b9fa077390a4cd3ecf0413e5f71b88801cdd4d292b169be58208e825442eb570280bbcd1b554cc293231a7872bb05b3cc6ed2d16db6204b14ae0618c75840e7694afdec5e9edd646e5f5bc78362c1b079d0d62ef2c20f94b861cb8792222a3d98ac0fa94152e40a4f78a7bdab89b9c338e2da837725f3f0e4e4b6d67d890b04005901c0cf880816e236766340725d07aa598ebc56b7999a5d2dff8be576bb8c06ff66a5027c1cfda2b0b1c8e32413edd5e592b9adc9e74fcfd2017afe2fe98d1455b4098a0c89711bd71afb2f5e10a1265768f2c84d98d6acd1cf052bcc616a0255e0b867766a7723e99955687dd389c7864394ae1400836d9c38ac1fd467db5e9c11bb1dc787e0eee92473b93b48b09eaaa6d3a160d869895e37c300c2583161878aad6b06c0fe46e0b0d28fa1028047874ff4e70d23c5f453e4687b658311c42640ab8e6a1bdd02719ae72feb428627fed163b58c33f8a7d56ad0945009abb8253beb5e5dff60cf9afc15c910962fe4c34480f06fb8950afdbdde8281b1140e5e3265aca7020a3e3fd0aeaacb75fc9f933737f233cde6c03a7eb92742e028bbecc40969e0b68f08e53bd39362cb9d4226014c2ad89d425c754c1abb11ea9a54480aa4bcfe57ad62b77903cd90eb8e3374f40a7a11beda3c76c9cda5bb05ac5f00f0f868f07eaf1b1a9f5dde8ea19284caeec8e0f4d3cb9e14a676cf1f79adb31428bc910468877a200bd233e78b367b5ee667c29c2a0caeaa3936955e997bb02637975b47b75a0fae0bbe874d16fea05dfaecd87c9870bfce0d4ce1dab6320fed49da8da600818258206384be115440a4398bee154a03b0660cde77866ee87d668213242d8e52f813b300018282581d61b09810bf167ee557da7955bc8135b0a9c9e51fad323acc4b6841abd31b0000000107828e7582583901f0ba8e195c38a3be42b81959060f5e6a9a0cd3d328d8195bbbd7b1990e49deba7d017723225dc1779de91e4d19038609d69c6ab6f684ed0b821a001e8480a1581cb7ef0cfb14f588740d02ce8a53879ff96ab03c7b21ec1c459ac2bddaa15048617368477561726469616e3137333201021a00031a21031a02dc6c00075820449031012be3ce0052199538f0c2db90726f8d36eb11b00db6b510a8c9243cd609a1581cb7ef0cfb14f588740d02ce8a53879ff96ab03c7b21ec1c459ac2bddaa15048617368477561726469616e3137333201a4008182582005f2aef69abfcf78a67779b6e6b0cbc5592724fc53ee6ea0b8f4649eb9bca73000018282583901d5645f643be8735fb35c85c220c5bf521411a310bda81b4208462c3357de49b84973da8064a5867c2ea82a60abb7a010ff88b9e59fadfc221a003d090082581d61d91ef01b73f3010bb173945cf5417257c00c002715a13052015ab54f1a5b4d3873021a00029cd5031a01e4f753a400818258208760b7bb6c2f9c5cc340cd2c62ec3ab27b40777cb079e1b7fe01fe6123dee58501018282581d615fc1436b582a50ff4c5fdbf7e20942bdd45eb3aeaa7abdf442a6a34a1a1dc1b06c82582b82d818582183581c05b073f36ee030589a31148838cd47e8d8c8f82fec9fe091c7d53cd8a0001a0c5f26b11b0000000b9eaf4d11021a00034059031a01e4f7dda400838258209d9c7d4ea2dfbc730fe955b7c0b684123ed86f0054b7dc943727ac7bc7c2c7d200825820190a4421872e886d45325b1c2bbef914d98f11522ea81ed92a8839a87ad9a4b80182582005ede2bc0420a37dec63e032603b03e4a365831e5671aaada2ba6344c0234a7d010182825839010421800176834399c971e71972d5c85d1b45ee9c71242b6fc25cb84dcb4023d8148d86a8072f39cdb21628f2691e7a89f38ed158aa5d27bd1a3b9aca0082581d616904e8b2c26f3dda6c4a5db4b3ec9e31d581c9960977cfe9c6917a431a1c5f0591021a0002e195031a01e4f753a60081825820bdb86187627fde6eee1601c88a792cb9f3a459f6cab26ab281362f9751f0ae4900018182581d61d80fe69ded1ff90f41e526d0332a2ff98ba8a0d85ceb8941b51784201a05f11c47021a0004c4b9031a01e63c82048182068200bf8200581c001ec42376196df0b85b6ad660e7419e77b51b16fda8b931d559562e1a01f9d2708200581c0122c6ccb1533c9992ff08a9029b7b5a016d5c08d31a4963cd027afc1a012661c28200581c01fad190adc72e0884adb77aa72ef9d95d3adb75f782bad63b53a5b71a02c7c0c48200581c0a57686dc0d73abbf6ba8d1310dcf6887b2daa4693d94bc170fc08551a00ecbf328200581c1176b053d803161ca3ac7295f5ea78171b91650dc558d852e4547b601a0008ab5e8200581c125fa8bc3a9acda7a2e3646d6ecfaea925758378ad18011ef7164f461a05bb79a68200581c153d28771d39b9852db013519d4ac5542f6e7ff61c5b5327a129d7681a001ac34e8200581c158cfda322ce2afdebefdf65f9cf1bc671472a470552ee2f55c8837a1a0091b6e68200581c199231d9529171c85390273df7dc21d787883ab3cde9f8ebae107a891a0124b99e8200581c2142e4997ca5f537199575019d277554c0aa14841af61d275978a4dc1a0004dda68200581c22f8366b4ec72f3c0be8b13a2f1360426229f44db187d0534e68c7141a002359898200581c24f1b3791037e55363815fc4b788b886cd1d82a2f2d39e17196cd1a41a001663a58200581c27f1b09428918e1454bf6e7c6cb88e3444f6e6a73f5d0ee644174d491a004b24038200581c350d09ffe65fec05b5cfea6672a16711ed3266ae608cdc6c4a75bae71a04c71cb38200581c3c775aaea2b5571a7f930c0375255d05f21deb42605ee66fd88ca3961a051bb2108200581c417e75dd8b721053008dc50169b08a8c5070db24718e6c1e8b83a0c81a0187281d8200581c42ad1acfc4e58c415d9c410de920c763c006392d7fa69b9a09986b101a2cb1e7d68200581c43a85f2839f1df18abfc04d12a55ec6eefb96f85d1c96236eba8159e19232b8200581c45aaea6b8f8056eb52b26c4115026452bfa4e4cf33a931b0eb85f9711a04ce773c8200581c45b6ff95bf046f3ed0a047e6968e1374d67aa39354965688952fd2171a079227888200581c460417506c1a3042e133cdef4a7dabdd02bda35c14eb43cce13516841903f98200581c46679d60511973cd756322e6fdd1b0d6224eebec681f065a704e753e1a0195a52d8200581c4697386c4e3dc2b43f49564e6361935280f1f751c80a6c9cadbfb33b1a0c85fe408200581c46a31eb43ac7d42255b74f24945badfc5da0014a2e37e6bcb69ce4d91a08b943518200581c4a8b1947b2cf3acdc443a89022a453683c783bf864f8b07a59d943671b000000012bad4bcd8200581c4e049d9d384b6795237264bb400d0174a4c6dc808bdfd70ee692ad2c1a0374aaf08200581c52662fdac99229b8f9682f47c2d3ba181f33e79b429a2a08d0f54d091a0064f8398200581c52f28ebdf268ae3eef783dcac001657502d8fccafa9d8158493f65331a0010daa88200581c59cc53d2aaed4384323b2358333fd607ed9928064b10459af4ec59771a07937e108200581c6877dcb866858b2a4941351c98cd67202262bfd82a016cbbaa0739271b0000011a95bafbed8200581c6cb47c86575faca5f0c555f30b5c45f291aa5d6eeb28d7eed82178491a0048d0198200581c6eab73f5febbfc54243d035bd3df1986a6b88149f6c8178b341dfbc01a00c1e5c38200581c73d2af07d180c46a40ea6f63a04a947588033a401706bc80f72037e51a09017b278200581c745f6af3a90cf0f2bb23f8ab3ae3978ced39a56b31cfacc6b746258b1a01749d798200581c785f7b5357d18f1a887f5b1e114b96071ccccbff253e4b6b01574ae91a0116eac48200581c7ff0ce382f9fc3f12bc0d23749a7d6690b5bca1521a1c83cb78b5e211a0311471d8200581c83b2f390520f69d98a374e391a48da191418e10be9e1f33583ab51771a00945ab98200581c8723dba003e8c3b8d31e20f92d1cab0952b67d4405f64b5957f790c01a00bb80bd8200581c876c8abaa636168c7d43623be103c6bfffcfb0337c05ffd1a7ea72e51b0000000150dda2428200581c98f137b818ec3c13cb9fa89e116af481bc6e80879de23450e714c0f21a00e21bcc8200581c9d6b6319e2e79b0ea46f3a6ed27414ca9563f2fdc1969fd12751ad941a0078fb848200581ca545012a07d0fe8a284fd159753857d3b7ca1f8bfd6a389b0086c73b1a0c64df948200581caaab46ce0889442fe83e74489970ef6337721fe8761478825ec7701e1a16dd0fe38200581cb3877745120a10b5e302cc27303e91fe2a387dcb189a74aacb6493d81a050db0c18200581cbc000424731d5cfdb41da8bbb2e8bfbdcf05becd055a3f831a0ccdfa1a0b46a4c98200581cbfb28b26bc5e5c844e8322889cdb801fbbf0d00a2bfebb67c05367b0192a688200581cc127f4d4d4d729b3a8ba129764c366c7a96c99080546d41f3b18a51b1b000000026b353c4a8200581ccd38f8c900b24bdb5b0d9808b3b781f2c63639ddfe56407291448ced1a009923c88200581cd72821377163a04744a937d9c883ad37f835d53d010377c405a3a76f1a00c6f0ed8200581cdb0de66e9113e8ddecc3642124a557fe0d7753d642162cc1ec85292c1a00b505898200581ce10b3c4fd7b13a5d3b03d0f8f5dac81823e7e25c521b9535eb99f8221a000df4958200581cefb8d63c37774aee85b731f53300e920d0cdfc2fb5e84f6a0ebe678f1969978200581cf1ad22aeae767f9fffccc3c14c271e893c5479bee5e59e673a5ecaed1978008200581cf469490ab5e6ec3f7889b29759e4a40b473c02da521547b1c3027e0f1a00157e568200581cf51bd635bddf367cf9ffc0726f0c492cde7a1b1640c1727d54a7446d1a02d80dda8200581cf8b0dada0c9d9ffeee95d7f536799a4034886e6d60a7367f81948a021a018065828200581cfc19a4302b9fe7b337e6f5a767efc5c875cd874768a19b0c535b9b8c1a000bc7f28200581cfe49dc3325b96a75c098406c0063e9560fc903df998d2b14736f9f2e1a00fb0f8d8200581cfef6bdfbf412da5de3c8d5aa4d9b1e30eef8c44be91b1eeb3afb279a1a0059dfbe8200581cff7893d54dfceeff87c5f298ed1bb1435878ce694a3884eb6619f2b71a013581d3ff07582099f2c2a11bb310d2fc48d394b0946f10eeb0c97614f29d4e23d26694d9212bc7a5008282582045cae0be92fc3798cd1ce05496bc1439728d42f9a8262cc34d7f543f7f5a8c8f01825820fbde6fe2ab20d17e7701a277e3f6f9c426278155ea9b66d58b8b1ad0c9e1bc261841018282583901f33a98483aa3f8e7968b444a5e3dc00e1adea6bcea66b57ed0e94094e512e0225710f61b5cc54df075c02d8b8a56a9a50ae78f5cff08672b1a000f4240825839018ea03c582adafe939362748a746af8cc5956265a1bd725e7a2de86d0e512e0225710f61b5cc54df075c02d8b8a56a9a50ae78f5cff08672b1ab2c6b355021a0002d115031a01e512b70758207bd96a772eadcede1be69dbf670e089a9c84d894b706f6af2e30e238b70bc3fda500818258207da8e470075fad15fdc1e6491c6243f227c8293b45d0bd851701f2ea452bcf9f010181825839015f55d092a48e116c8de09bb9f98b37e76ab59c7459d03d47f8fb60c1e638092504459177f7ca7d69ff356f28abf49805b99265f14aebaebf1a1fdcc802021a0002ab9d031a01e512a9075820f95046da8aee6914b6f42e6fd50a38c17730e8880cfaac5cee91347474280c6aa60081825820a01b9fe136e5703668c9c7776a76cc8541b84824635d237e270670a8ca56a39200018182581d61d80fe69ded1ff90f41e526d0332a2ff98ba8a0d85ceb8941b51784201a05739382021a000376c5031a01e63c82048582068200a48200581c0af10f4a5d365af01f0ca7651713a8a073263b61bbd1f69623097bd71a0fca5cf98200581c14bb4165052cb5bd0ca51869db388610c9ee92ca67e44a239759d0591a04c796e88200581c854139fc8987990fd89699beb1b59b09c047ace356870dcaadc93b221a0052a2268200581cd5b9ca34735343fcfc01d804180c8cfd20c45df317c44dec278ecdf61a0123a66f82008200581c0af10f4a5d365af01f0ca7651713a8a073263b61bbd1f69623097bd782008200581c14bb4165052cb5bd0ca51869db388610c9ee92ca67e44a239759d05982008200581c854139fc8987990fd89699beb1b59b09c047ace356870dcaadc93b2282008200581cd5b9ca34735343fcfc01d804180c8cfd20c45df317c44dec278ecdf607582099f2c2a11bb310d2fc48d394b0946f10eeb0c97614f29d4e23d26694d9212bc7a50081825820269fb6b97199568fd06b86c6dd8270f83150d7d40c215f2ba8f8e457d7bb245000018282583901c6c9a751f0eab448ae680c7606bf4b2384ae9a71295cfb08c17a64ec8603a5a749947b55e82c3ca023c427efed03380884e489835d5bed691a000f424082583901c070231d446324730fde9452e04796492b1929b9673145d01ca9d5458603a5a749947b55e82c3ca023c427efed03380884e489835d5bed691a60e37dc7021a0002b8d9031a01e512be07582070830ca599509b5c16e2ade57f1940041d44cb4261670d2e354199164d112e12a40081825820c0f8e704ffc3d13ba2e4d09a4919f32ae6fcee035b6fda43eb9e9ca17ccd8a4f010181825839012e38ef6f6dae9baa3fa9b2acd8fc2c4f107d7434e51525a00adf110e8a2cf13c17ac2bb9b259e319f57313cecf912ccc0a9e0c8e2f3b9a91821a001c1f69a2581c21514b6c51f0aaa0c9c337329ce93c52fad208cfd0b4ccd51074d9dca14e50494e4b44494e4f43344944353401581cd5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cca14c53706163654275643137303201021a0002964d031a01e512aea4008182582071149f420d83e79cb197334a53498459bb212088f8ec2d173f5c87a83122dc9401018282582b82d818582183581cc0f1996bab57bd968f3cb5f6c52b0b7f3b37a937661d9a3440a7c517a0001ae951ab841b0000002e90edd00082582b82d818582183581cef15b91c9a8943935b925f188ae69d93b1fb3778287e0df8ebad82e8a0001ad69ba11a1b0000003ec066bc87021a0002a3b5031a01e5127ba40081825820697eb1e4e80920aa55dff603bf7e8df6d315e6fd621c99001a25862080a443f501018282583901fe196271973f89a9abb453c5f44581d3cab2ad3dae125f23c65b481caecbe3dc3fa606f16069de1d7013317100de7f2fee422c613712f3251a26def39782581d616904e8b2c26f3dda6c4a5db4b3ec9e31d581c9960977cfe9c6917a431a23b2abff021a00029cd5031a01e4f753a500818258204f00b22bf5e786cea6dcbed8740eda5a7dd26a88ee920674a01e032e56865d7a00018182583901f18d6a760e1b546680e78e4ec2b63c0f625f085b8925ff1ae40f5480973a4d96aa61a3b3af82dbdbfd15d5998f49fca582f4c617103b6fd71a8acad8f6021a0002b104031a01e5045d048183028200581c973a4d96aa61a3b3af82dbdbfd15d5998f49fca582f4c617103b6fd7581cafb33d38e92e03f9ce86f0175cc33e487b8def0ee25235f1e40183d18da2008282582014117c01278cbe88656a15738fa5e01ef899cf23c425ac3ace6c7042a48cf5b0584092bc3b8ba635ad72fb2cd1ef9b904d0651efe9adc5e8d4dda2063e4f9c8e780e3801524b7b047832db5875237751f51492fef8867dd9fa4ed5d9535713d41b008258207e80cc664e8e06f09351542237eba50a14083803f5d71e46d199046ab6d10ca858404854b2990692d016989742b78a0b51823671d7c09f36dc72f748613cca53f4d0b1084bb8ef4ec981bd063be93e1042038da84db130db8c1d41d257cdba27900001818201828200581c43475dd8f7ff3f4bffb1c0675d7e380b6fc4cd01fe4cc6ab6dc799fd82051a02dc6c00a10081825820991fc8c992024656460d6be0ac794b60050a66eeb8c1a673cb3f6cd476aea60958403171975fb103dea7995f85559fd74d4af4eedb58d4f602b62463052a75a541f952414e532562576893a797ee568e21a6ff5211a206313458491f6a18c94cf40ea10281845820f129f07bbfd87fd1d3ff5fb32e9a5566e02208f89518e9994048add22074f4335840faee03bae826b0b75f9b5ac383100098ade25e92b52c77804e9297321c564416efe7543a823d4fe14f4e94cc2f3f6351062775fb0ed002f04cc4825f24ba610f5820424e682a392581268c7544e34e9c54378a8820bdcf7dddce30490bbb2d363b4b41a0a1008282582073099bfb77940ff95733beca81b062d2355c5938e8c0931444b10af9facbf66f5840bab8e6f8412bea5e8ff61f5d0690043013dd4a14c582f0a23572dd444f797d271ed61017a5b5d7632fef01312c5251daa8dfd1bba2e0737808a18fe9d90ac109825820393b3d3cab6be0897cbc87143cc3a24825dc1d8249df4d37969502931cf856ff5840a96042cae910c15af4d7fdef81172665d5e9ebfbee7f965621859ff06128fe350b8d717fff9109fa9007208cc822ca34b42362d9f46f3e9e067779b2cd0c5309a1008882582061261a95b7613ee6bf2067dad77b70349729b0c50d57bc1cf30de0db4a1e73a85840ee884e65a0218cfedb1cd7fb33dd67c1a8483cde46e990a2b07cdf1b2a02429bcaa26705fb905dd0dc7d00f4b0aa76084de11d9142c0d51f623a39d6797609028258209180d818e69cd997e34663c418a648c076f2e19cd4194e486e159d8580bc6cda5840940aa59d5f5b42a414e8a498f3854c2a3dc358f20e5f13315f96ba54ac846394656bbb3cb29c8bac8fb85bc323a0eea55e42090f5169657974ecadc278b6c10b82582089c29f8c4af27b7accbe589747820134ebbaa1caf3ce949270a3d0c7dcfd541b5840507b4bb892b3412cc67ae4c1200111ab4a3092d36542f1c672eea555807da2e5a8f4788a7f696ac83a014c5d0adeae73c976611838a21490b7cd8930ffbef004825820f14f712dc600d793052d4842d50cefa4e65884ea6cf83707079eb8ce302efc855840f08279536d20eef4d5a1b8bc2b068c7c9901577541a62a5adb462596c8707f5efd16a193f9216fb95fcc307116a9d0f756a4cd1525139448aea2a7f828441b068258208b53207629f9a30e4b2015044f337c01735abe67243c19470c9dae8c7b732798584063bf278a2e77401c8fafaf2d53d7ecf6ba5dbfabfce432d56d9c189f1572507a5158a6aa01d33be4355388f7e850b00aff53dafef5fe0154491f688bdd639a038258205fddeedade2714d6db2f9e1104743d2d8d818ecddc306e176108db14caadd44158407d6b15a4ef09f819f9d2498a316cb3269842878200bedf5550b495772bb20880094950cd3cbb8669dbff863a32555401778df131103bb603b96a9f5b28606004825820cbc6b506e94fbefe442eecee376f3b3ebaf89415ef5cd2efb666e06ddae483935840fab6a4d5b9c19d32202ce689c82aed2a89c02a62ef780694937f4196e65656fd3e4ca0679ca8ca1a83025d1afe8fe2d8e3e6b0db6e9cdd491eaa2ec866604b08825820e8c03a03c0b2ddbea4195caf39f41e669f7d251ecf221fbb2f275c0a5d7e05d158404ddc3610fd5b52e310c52e52fbe8e873a831ab91e525b0733dfed21615b412d17ae77421e645b875bab25378c424c7c2471f674e45cfa1dd2b846b17cb7fe300a100828258204d5a7408218b85ba016167e1fcc5e8d0624ac8171de065b2842feaf4c051d5b9584086d8648acf6e8d3eb75fc56113aa29fc5814fc76fc8b06d583563724cd9c5c6cc097b335b2a2095dfa8c344066ca45d74511545c733e85d0fef5ab8e115de10282582071df0e0628e75eb9d6c891c8a4dc38f81ed8cf757ef424fb7ab651ab4cca2e6f5840083d3fb001c8e68b1cf9bec2d645bdf76636cd3bf3b7250597c09d26f2b0587be0eb69e279a8ad9d6f5e747fbce18a53c0da03e264f2fc794cad73be542a7704a10081825820e6fc61be738e242a1e21459b4e4847d739551dcee94b1f9b64fef42d19812887584068839e96ed4962ba56e0e0ad256d13f2980eb433d3879c9d32683034da65f6fa288b06e02e603741dc1f973ffcb8209da5b4cfd06885d9c78ddca1238f418d00a1008882582061261a95b7613ee6bf2067dad77b70349729b0c50d57bc1cf30de0db4a1e73a85840cfe660cdaff7bc3b24b64c80a3792884f56a84c9cbda089a81a6f01d5174598d1227639eb614ab36eb1fd217e212480acb8f7b109e7490e93bdecd4eb764a90f8258209180d818e69cd997e34663c418a648c076f2e19cd4194e486e159d8580bc6cda58403be9de37031ba2784bbfd08945d9cf8e02d30cde58a2feef5df12f901dca43d6b23bc294e7fd3d5cbcd4eef054dd872b48b477b601eec3e6d623c4cc9b97b10f82582089c29f8c4af27b7accbe589747820134ebbaa1caf3ce949270a3d0c7dcfd541b5840061b8f2c0771b3a7e281222bd11f1e26465e6441cef4957d961a1fafe5406fb5e21351a437177dafe2cb02e79c44466f63220eea6d0096763747469d179fe604825820f14f712dc600d793052d4842d50cefa4e65884ea6cf83707079eb8ce302efc8558400fa377081dd0adc26a806788ad60a71b82bf8057b6785c7b6c6307f03640469105f8f55b46e2c0cf4c5ebc8e8bbba2c5741442e30ece4842e875840a4705080c8258208b53207629f9a30e4b2015044f337c01735abe67243c19470c9dae8c7b7327985840ad8c64b2bb2985e5edf89625c70ffb3484104757675f2d8262ec6318cf9bd4716d3ab39d5a8f914ba1743ac69e16e142055620475dfcdd1389c50cb14c4e060c8258205fddeedade2714d6db2f9e1104743d2d8d818ecddc306e176108db14caadd4415840bb4c5cbd67d83698069c6bce1fc976f007abd15f792783c3e2a83135c6c082ce592e7a17ba5dcf70abaa6605a72d28e46d71ffa084984fc23b7e590578bf8e08825820cbc6b506e94fbefe442eecee376f3b3ebaf89415ef5cd2efb666e06ddae4839358405164f088b9005d1293d2dfc355ae8d64646aafe91d59cd5f5ea215ced68da3d47ef92e3185a3e6db2deeef99620a9df196dea1fc7a622cb6984d12840a3beb0d825820e8c03a03c0b2ddbea4195caf39f41e669f7d251ecf221fbb2f275c0a5d7e05d158407c10de828d07245f566237c8b3fc4fe0364480425ed4ee0439e94e57f87a526b2e581593c04b563bfe7fa423993c967fc8fc968fc1965eb51ca69368a2d7eb06a100818258200b68eb8e7438599681f732bda6eb942d32692cff2e0b43f9b944d67031bc493258405715f38cbdac7f18da841251f206b0d75df29f74269d2a6ed4a25884ad9c67fc15dead361482c4b16a51689de08efd54d9985df84fb49d1ca387070ac732e703a1008182582048d87ba1c9b6369754f9fddb76993befb16914f3b495078baff05fa0ad2ea934584021829192ecccffadb0ac65c33d142ef81627f5e7c9ccc6d40c87356390da85bbe0136b912c85102b9a38558eeaadddeecdbd9b677b6a68b90f6ae46583dac303a10281845820e87aefbe36826ed5f12341b167730b0b4cd6aa7cdd55709d9e675e684b15eadf5840ccc01472bb6017068a0c967b01813b0e4a489c390d4fdcc750eab073f806d82909e34ad7d920a679138e9edc2c5f9e44e5196281f8ab4b49c1f99819e8da520a582094a2c075ed1bf539b9972561edfac666d7c0669676bb98c21bed66a67bdd5bbe41a0a10081825820393b3d3cab6be0897cbc87143cc3a24825dc1d8249df4d37969502931cf856ff58407d647699068327b80e8881e1c93b7a5966863d12cb12e0bdf8261fb5f65f31534571cd0075a547c68057e4be9e72815a49ed08b3dad782c2b8f031deeca9a206a1008282582064bf0b03a9391aea875c6b5e258e26626e97e2279f53dbc9c8e853245f93d51b5840731721e1803e3eedf6866bec354e4122db21b404b89e3f34aa2076519e39262c6bcbec568fc3fafef66e79215497e7b7c461ff6f049e4fca9a4b4cb1b07622098258206951036ecb873cf248486656fafc2583350e2c173f5f3b6bcf1b199ab047179858402c213d314de43c42c6a687e7e088a2583989a7cb85e2c5aedf7baa86aa80cc983f2f92c50a362635cf26992e224bb6bf93530c3cf5a972d134a9b3beaf86f20fa60082a11902d1a178386237656630636662313466353838373430643032636538613533383739666639366162303363376232316563316334353961633262646461a17048617368477561726469616e31373332a96a6261636b67726f756e6464426c756563636964783b6261666b726569656973797734767766756e6d703264356b6263363279646e6333746e646737766433687335647537626b72343267686963323765626964782436613932346364642d346537362d346262362d613037312d31313863393562626462653065696d616765783b6261666b726569656973797734767766756e6d703264356b6263363279646e6333746e646737766433687335647537626b72343267686963323765646e616d657248617368477561726469616e202331373332666e756d6265721906c467737065636965736746616e74617379667472616974738a6657697a617264724c6f6e67626f77205370656369616c6973746e4368616d70696f6e2041726d6f726e476c6f72696f75732053776f7264684f6c642043617065654c65616b7968467269656e646c7967416e6e6f7965646642616e6469746e5769636b656420476c6173736573647479706568477561726469616e800482a100a165697373756578396769746875622e636f6d2f696e7075742d6f75747075742d686b2f63617264616e6f2d6c65646765722d73706563732f70756c6c2f32303130800582a219ef64a40158207c76d90d83e9989d67a520dbe6f3817dd8afa84f5932e622238008253479a66d0258202a85741ebd1076759c4a14649b30cddf1abd9014062b6616d3ca90d7b93aba5003581de1e512e0225710f61b5cc54df075c02d8b8a56a9a50ae78f5cff08672b041a01e4f69519ef65a1015840720ab14d84aaa87369eadaf68898b794c65580742263ba36cb1b757a3e4e6aaff0ced6bd8247fddc4950e9c1bcf8bcbf7e66e3f8008ab70aa2b4ff8f741046078006a219ef64a401582069179a00a3a6aefad3e6821df68ccd916a93dddae8947eebcfab929484f51082025820c2cc2477d19a048c3aceb048cb1b0cd81f80abc328fc2386fb8d87041965d53503581de1e638092504459177f7ca7d69ff356f28abf49805b99265f14aebaebf041a01e4f69019ef65a101584072eb8b90a33fdc9693df74470c6e9a1b0eb3a09ae10d8e9184113e43d1b6b93c2b9732147f3062ef61b997d46a3dc760c8618b4e8fbb4ace04b46f20ce77e70f0782a100a165697373756578396769746875622e636f6d2f696e7075742d6f75747075742d686b2f63617264616e6f2d6c65646765722d73706563732f70756c6c2f32303130800882a219ef64a4015820ba5706b0c36a61eb0ddaad50360d879f8283592475598303b288515a5cfcf49d0258207a995be7ad4ad8e1d6b3c50022d9d55777daaf4c3d6046f2bc74fe63ff70597d03581de18603a5a749947b55e82c3ca023c427efed03380884e489835d5bed69041a01e4f69b19ef65a1015840853aa89563db088d1a8411bd6bb30800ab130396f74c2f230297db31e7d3fe510e690578c775652b30b57a328cd8a8115182792dbfa8eb592e0a72cbeaca500480")] public async Task DeserializeAlonzoBlock(string cbor) { byte[] cborRaw = Convert.FromHexString(cbor); diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs index bbdfc4a9..fee550d1 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs @@ -17,7 +17,7 @@ public abstract record Target : CborBase; [CborConverter(typeof(MapConverter))] -public record StakeCredentials(Dictionary Value) : Target; +public record StakeCredentials(Dictionary Value) : Target; [CborConverter(typeof(UlongConverter))] diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs index e3e6e977..1143099d 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs @@ -13,7 +13,6 @@ namespace Chrysalis.Cardano.Core.Types.Block.Transaction.Body; [CborConverter(typeof(UnionConverter))] public abstract record TransactionBody : CborBase; - [CborConverter(typeof(CustomMapConverter))] public record AlonzoTransactionBody( [CborProperty(0)] CborMaybeIndefList Inputs, diff --git a/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs index 83014351..34948083 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs @@ -23,7 +23,7 @@ public T Deserialize(byte[] data) where T : CborBase while (reader.PeekState() != CborReaderState.EndIndefiniteLengthByteString) chunks.Add(reader.ReadByteString()); reader.ReadEndIndefiniteLengthByteString(); - value = chunks.SelectMany(x => x).ToArray(); + value = [.. chunks.SelectMany(x => x)]; } else { diff --git a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs index 5a0b9db2..347e7e57 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs @@ -16,7 +16,7 @@ public T Deserialize(byte[] data) where T : CborBase Type targetType = typeof(T); // Use the helper to get constructor parameters or properties - List<(int? Index, string Name, Type Type)> parametersOrProperties = AssemblyUtils.GetCborPropertiesOrParameters(targetType).ToList(); + List<(int? Index, string Name, Type Type)> parametersOrProperties = [.. AssemblyUtils.GetCborPropertiesOrParameters(targetType)]; object?[] constructorArgs = new object[parametersOrProperties.Count]; // Read array start From 6ab9ebcc77d5636149b083652011f147bb285ea2 Mon Sep 17 00:00:00 2001 From: Clark Alesna Date: Tue, 24 Dec 2024 00:44:39 +0800 Subject: [PATCH 099/162] chore: bump version to 0.5.22 (#115) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index c9f08edd..8a3186d3 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.21 + 0.5.22 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From ea8d31cd692ab511a1da511e34b71ac8af554ea1 Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Thu, 9 Jan 2025 20:08:17 -0500 Subject: [PATCH 100/162] fix: constr serializer property discovery (#116) --- src/Chrysalis.Test/CborTests.cs | 56 +++++++++++++++++++ .../Cbor/Cache/RuntimeMetadataCache.cs | 2 + .../Converters/Primitives/ConstrConverter.cs | 18 +++--- 3 files changed, 67 insertions(+), 9 deletions(-) diff --git a/src/Chrysalis.Test/CborTests.cs b/src/Chrysalis.Test/CborTests.cs index 8afc862a..6748ba02 100644 --- a/src/Chrysalis.Test/CborTests.cs +++ b/src/Chrysalis.Test/CborTests.cs @@ -1,16 +1,21 @@ using System.Reflection; using System.Text.Json; using Chrysalis.Cardano.Core.Types.Block; +using Chrysalis.Cardano.Core.Types.Block.Transaction.Output; using Chrysalis.Cardano.Core.Types.Block.Transaction.Script; +using Chrysalis.Cardano.Crashr.Types.Common; using Chrysalis.Cardano.Crashr.Types.Datums; using Chrysalis.Cbor.Converters; using Chrysalis.Cbor.Types; using Chrysalis.Cbor.Types.Collections; +using Chrysalis.Cbor.Types.Functional; using Chrysalis.Plutus.Types; +using Chrysalis.Plutus.Types.Address; using Chrysalis.Test.Types; using Chrysalis.Test.Types.Cardano.Crashr; using Chrysalis.Test.Types.Primitives; using Xunit; +using Address = Chrysalis.Plutus.Types.Address.Address; namespace Chrysalis.Test; @@ -125,4 +130,55 @@ public async Task DeserializeConwayBlock(string cbor) // Await all tasks to complete; if any fail, the test will fail await Task.WhenAll(tasks); } + + [Theory] + // Conway + [InlineData("84828F1A0057D7E81A01CD568058205F484B951F012ED53FDB9E30DA0660902354C705F112745BF3B19EC31BC9BB005820E1806A6AF0EB0931EBDF8B766229CF9323F2252573AA6C6998DD1522FFDFBCC858204A20392BB23CEF3777DC1E9FA9B0719EC829B4B87C9E4295141DFB7C6783C3108258408C6059B6952E68EDCD6431F6EDB191705D29CDF82F8A9B855CEE856C8B33DF96B2F567107B4637F6E1FECA3585C9CB1066088BB8496DEA4260C344E2595C997B58508E39D072957817E7D89C19F78E2BB288553E215E81E435D88CE5B3869D10923982E8253112948035D7697762FBF555005D7682E3D5FDB09FE3EDBBDF65CE72514490882CBC89DD5F0A6CFB205EE52408825840000030ED0D10485C31937741CAB13B3D0C247BF9FF8155BF649C6FB314C40788C68F71E5064920C4964893225A77F8EFE65C19C0110DA27DAD4B72582880748F58500272D91E01C1C6C43C51FD1B1651ACD45ECB841BB2762C569C15E90B65D2515F669538C4F41C19CE20B01BB61D685A2B102124525D2F385A8B04283EEFF3C80017D430A075790DFAE7BA3BF1F3C1A90B192E515820A82D45674A1274786D8B9534F9F1F5887D4CB5103EF76E2D8E60ABBB9E2BE02D5820ED46BC0F963545DEBD5FDC3379D01C1EA7922685A4B823CB4DE51FFC63358B140418E0584052DE2D342719F78585E2B0A6959EB54E1D14385A0B04DAC45CA8AAE062094E7DFFD18AB533C0314779C91474A28D47A57FE085290EC2E422953860764CED0C0304005901C005B77FFDF89651681B6DFF5B1F54AE9824D589FE38DE8B9E0CFBA98B1002AC3013ED3B53EE39910C3AD7226A2D438F35D29B7BF4C8215DD379B9187E6622880A197DF65334198B5B195DC470550CD84D466F08E5B4ACA7B9F06CE4A748DB9C1DA29AF843ED989D7E814E2B778E3B713E5C6E7323531D1782AC3D01BE00B19EC65314E3015D71812389883C1B4C49064E20C3DFFF2745D028A7C336E21E4EEDBF73D048B86F7DF61B3DC2FA412F4BFA21C47CB4485DD1C432FDF562B31604DD3C4FD94F062C6269F74AC840A7A0F66539F84D0FA83520A78FD66779936B8B10C05FA29E3551D554696A95E6F62C240EDDD4CCDDD5E06E8C3876B100D94BA3217BD191B8D3BBD381DCD100E1BDF69D8F48CD3D9004FBC3B22E44546DAC068ACF85B04B6571155D469CEC8E9745D2E4A6F63E6982E65C4DB0F36B95CAF815FE535A45ABA199F9CDBD9A2BE400A49A0A4951EF4E8B423D920964BFB571B2C112F1FA66535424C4EA8CAF91791D4FDBEBA7309013826041C4EAA0FB8C958B0FE39B94353D81A6F788A90B9661770A168A713BF604EEAE769249E22298B86A6AFA27FA3104C1E27F1BBB914483A0686BBF24862F77A5E5B04E22F1D499A8883128FD6686A400818258204965D8B3C4824C86DD438840AC1A6C4D6FD2C1B6C0B58A2C14A845956D60FC4A01018282583901150E57FAE6104A97667E71EE10C3F55DF30ADD6B9C6D9B6189637681A51A1F56EB82FE568B7D57366BA2C8BA379889DD648220334812BCB61A0602410682583901E55D850D4DC5E611B740A5F61F836FB777E496A7A65ABDB3779D9017E28C1958BD7614D1C1A32FE155A47FF88CE2C0889A04E61983AF01831B00000015486ACC6C021A00029361031A01CD729DA40081825820F2CFE413FCC190C6A7424E542430572B0556AB71D16DEBDCA9A711AF1F0285F301018282584C82D818584283581CA74249849532514E2B1CECB943DF5CFA5919B0A8E2D7A1B9E0AB53C1A101581E581C12F1DAE7310D0837C2AD675B952BF5EA75B37FA7F258DEDA6C1301F6001AA4BC56581B000000012A059C1082582B82D818582183581C8E1238576C088D5088017715A77B8903B57EB282289B3F5D0A6C483AA0001A99CC1C161B000000043DAB7E7D021A0002A544031A01CD6451A4008282582095F34F20F95E4E97BB1695C0DE4FF9123FBAABF5BEA3199785DADAC4D40D4CE30182582038F022E851DC49640541D938383A5F63A5CD88B30DAECB651509953E70935CDD01018282582B82D818582183581C4CE47F03FFEA34A3D3316CDDC715ACCE37FEA271FD5079FDB5769543A0001AF669DF521A0119FA4C82581D616904E8B2C26F3DDA6C4A5DB4B3EC9E31D581C9960977CFE9C6917A431A001426BA021A0002BF35031A01CD5709A6008382582000E56B08DE6A647B6F6155EF64A1BC253C532735CBB54FF0F585AAC3A3CC17A0008258205B14E7ECFF7B6AAD407570397359EB4DA84E298285728267C475463A1B0345DD01825820F4D06B5DA11EC1BDF57A72CAA8C3A1DDD5DE3727F9011FB6924C44CD4BA2CC450101828258390148D9F60950CEC0B5F5BA4CA2A305F8D16F23BFB1D2B780FDB199B3F9CBE310A3070E37D57355E49F94E21A4F659C1AD8C9996DD410F4AE1C821A007270E0A1581C2F633081F8B95C9A0160FCAFC2FF18F2676634633CCC9DDD0A7CB25DBF494C464331306F66323501494C464331316F66323501494C464331326F66323501494C464331336F66323501494C464331346F66323501494C464331356F66323501494C464331366F66323501494C464331376F66323501494C464331386F66323501494C464331396F66323501484C4643316F66323501494C464332306F66323501494C464332316F66323501494C464332326F66323501494C464332336F66323501494C464332346F66323501494C464332356F66323501484C4643326F66323501484C4643336F66323501484C4643346F66323501484C4643356F66323501484C4643366F66323501484C4643376F66323501484C4643386F66323501484C4643396F66323501534C6F7665466F7243727970746F31306F66323501534C6F7665466F7243727970746F31316F66323501534C6F7665466F7243727970746F31326F66323501534C6F7665466F7243727970746F31336F66323501534C6F7665466F7243727970746F31346F66323501534C6F7665466F7243727970746F31356F66323501534C6F7665466F7243727970746F31366F66323501534C6F7665466F7243727970746F31376F66323501534C6F7665466F7243727970746F31386F66323501534C6F7665466F7243727970746F31396F66323501524C6F7665466F7243727970746F316F66323501534C6F7665466F7243727970746F32306F66323501534C6F7665466F7243727970746F32316F66323501534C6F7665466F7243727970746F32326F66323501534C6F7665466F7243727970746F32336F66323501534C6F7665466F7243727970746F32346F66323501534C6F7665466F7243727970746F32356F66323501524C6F7665466F7243727970746F326F66323501524C6F7665466F7243727970746F336F66323501524C6F7665466F7243727970746F346F66323501524C6F7665466F7243727970746F356F66323501524C6F7665466F7243727970746F366F66323501524C6F7665466F7243727970746F376F66323501524C6F7665466F7243727970746F386F66323501524C6F7665466F7243727970746F396F66323501FF82581D610CF2D472123546C1D59E974DA3DC0662B3233990EBC212EEA91F2EBE1A008192FB021A0009339D031A01CD56E1075820FA0A2DB8B6D6E5D62D2CBBE16C7D6BD3899138F769C10EBD671654910E8A27C909A1581C2F633081F8B95C9A0160FCAFC2FF18F2676634633CCC9DDD0A7CB25DBF494C464331306F66323501494C464331316F66323501494C464331326F66323501494C464331336F66323501494C464331346F66323501494C464331356F66323501494C464331366F66323501494C464331376F66323501494C464331386F66323501494C464331396F66323501484C4643316F66323501494C464332306F66323501494C464332316F66323501494C464332326F66323501494C464332336F66323501494C464332346F66323501494C464332356F66323501484C4643326F66323501484C4643336F66323501484C4643346F66323501484C4643356F66323501484C4643366F66323501484C4643376F66323501484C4643386F66323501484C4643396F66323501534C6F7665466F7243727970746F31306F66323501534C6F7665466F7243727970746F31316F66323501534C6F7665466F7243727970746F31326F66323501534C6F7665466F7243727970746F31336F66323501534C6F7665466F7243727970746F31346F66323501534C6F7665466F7243727970746F31356F66323501534C6F7665466F7243727970746F31366F66323501534C6F7665466F7243727970746F31376F66323501534C6F7665466F7243727970746F31386F66323501534C6F7665466F7243727970746F31396F66323501524C6F7665466F7243727970746F316F66323501534C6F7665466F7243727970746F32306F66323501534C6F7665466F7243727970746F32316F66323501534C6F7665466F7243727970746F32326F66323501534C6F7665466F7243727970746F32336F66323501534C6F7665466F7243727970746F32346F66323501534C6F7665466F7243727970746F32356F66323501524C6F7665466F7243727970746F326F66323501524C6F7665466F7243727970746F336F66323501524C6F7665466F7243727970746F346F66323501524C6F7665466F7243727970746F356F66323501524C6F7665466F7243727970746F366F66323501524C6F7665466F7243727970746F376F66323501524C6F7665466F7243727970746F386F66323501524C6F7665466F7243727970746F396F66323501FFA400838258206AFC8C499DA5C42C53EA442A8051B3081031F171EEEA4432991506381E2D8EB800825820D3AEFFEA2371A3EF2F195F40246FA89E20C6E349AB24B715E38E0F51D0E7E63601825820ECC73F986B568B27A052A4C0790B44582FDD584744D86F43DC6AAA5F9686AC3601018282583901D9ED3E385682557B35884980DC1721FF24BC2DEA1E22A311831AFB5CE38B3FBA9B40FED456199D3775F4AFDDF380B146336AE517925C554C1B000000015AC7129382584C82D818584283581CA1030E3B880D76789EC6B808E209AE56E827A4F57462B8FEC6802527A101581E581C2B0B011BA3683D173E253C2AC6D394B5300A9CB53F650EAA06FC6E19001A15BF798E1B00000001FB31CA1D021A0002F1BD031A01CD7297A40081825820C6C4EB1417FF576769B8F3FF6CBE2996D4A5CDC4E4B45EC30EB4E7577ED1EE2400018282581D61894D3315AF10374E5D1438C9B4108DE597245B7BC681BFE67C7204731A002DC6C082583901D5311050FC69536704CE36EFC076B515C1CCF8A13BAA820D30FCA8D04B4F2B1786E68840B7AA1C71827992FFB04D7D9C197D2E5B6847F82E1A0316E87F021A00028C81031A01CD728C86A10081825820FDAF2F6EF24890889F502DE09ECDEC7C9F676AB206E87613486F56F9799D605E5840CC1D70B7ACF2CE7281C21FBDB6559C8C1327499A1C4A6E8CEBB7072615EBFE0E51A4BFC2795BF692F9B4388831475FD7F1E9BDBF895EFC9FE83D87AD6E89FA0BA10281845820F4BCA00671176355C1DBE65F0AFBB2BAAC60D4F4762563C53014528F53D4984758409E078F6E746C8C25BF71E322C6AE15C67B28B2E2361AA3B2AE215525697746D592386443F6690D5556A5A550785B001E0F88DD86558D41172FC976DBE1CCB50A582061D1E3D6F0036146FA182D137EBD354A1DC7347829CF5308E166838AF163DCED41A0A10081825820393B3D3CAB6BE0897CBC87143CC3A24825DC1D8249DF4D37969502931CF856FF584063AAC1C764BBEA7851086BB765006D0209B36C15465547777881201140363E81153A18A7740C43A3E5377C111DF6C4FB773CAA30E8E36F45B05B6E15ADE34507A20081825820FD23AF269D1C2FD6BC66414B0AD239D3C6A843736FAE547A3EAC84BFCE301DAB5840DF212C60FD973B40094791B3258ABD26941852FC58FF5AE5D93EAA4027E7E94024CF0F1B792B81BCDB4475558D263E625D5564931610F3244ADC533CF9CAE60801818201828200581C0CF2D472123546C1D59E974DA3DC0662B3233990EBC212EEA91F2EBE82051A01CE9FB8A10283845820372A30B3C7A74189AD37BD55D35CB23722F5796693D983418FFB651E7F6164B158404499F9B35646E7F0844745F06B230305C474BB8E62ED91AE81C0D608F6D6ADDA7819BE1924BDC3BF4877DC912D13301E53CF51B614ECACC79F740379CB39300C582085551602903BC9BB1E393C8F797916EE01AE73272D5F43AD03E0AEB949EA69E55822A101581E581C2B0B011BA3683D5E4F72362A1243BCB5295CD8B1A82DF9E0DD758EE3845820C8354629E05665F031B2D1C4DC939C875D6A8166105A0D1452AD18AE2ED2231D5840459AF05A287FFABBF7D357D58F960292AFD89E4A303BDF1C45490D9853EB8F829C99677557D271712C5B52D5B5D63822F4592FC59D6D111587F827589A9F6E045820292B6546849392C190F00BE1161430AAD58A7281CCDCB491EAEF2818F66D99635822A101581E581C2B0B011BA3683D33AC3B7C2AF8C6AF7FF97376ABA498597192928ABF845820E49A56A62860A3689AFEA7E2E7D9CDF15D40F4958ACF0F5E9220A5063A36C8FB58401EF3F6F373D5B6E34A3C1DCFEDC67B436EFE46F2B363318731F51BCEE65013EF9CF2EBEC16D4A15DEB4C5FF4F882241987C660B00ABD03BA99EE7E1F162CF60158201DB2FA3F78A86ECB6E3ACB6237CA09E8BCC11D39EAE9E41A54F3217DC8578F2D5822A101581E581C2B0B011BA3683D1C06C49F2A0FE17210E840E52FD4BB52A5BFC5667BA100818258205B1F1B34E11EA7676A23D2773EE79A3446C3D2D488C0F50CAB2C41B6535D3D955840A5161E51190D98CF6DF88D70C2C7C4749FAB9822D92B1FD282B7B0857788E6EE1FB4756643375E726E99F2AAE0BC5CEDCF83540902F762C7A1D1A7DC646E6007A10382A11902D1A278383266363333303831663862393563396130313630666361666332666631386632363736363334363333636363396464643061376362323564B832684C4643316F663235A3646E616D656B4C46432031206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F684C4643326F663235A3646E616D656B4C46432032206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F684C4643336F663235A3646E616D656B4C46432033206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F684C4643346F663235A3646E616D656B4C46432034206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F684C4643356F663235A3646E616D656B4C46432035206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F684C4643366F663235A3646E616D656B4C46432036206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F684C4643376F663235A3646E616D656B4C46432037206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F684C4643386F663235A3646E616D656B4C46432038206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F684C4643396F663235A3646E616D656B4C46432039206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464331306F663235A3646E616D656C4C4643203130206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464331316F663235A3646E616D656C4C4643203131206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464331326F663235A3646E616D656C4C4643203132206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464331336F663235A3646E616D656C4C4643203133206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464331346F663235A3646E616D656C4C4643203134206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464331356F663235A3646E616D656C4C4643203135206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464331366F663235A3646E616D656C4C4643203136206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464331376F663235A3646E616D656C4C4643203137206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464331386F663235A3646E616D656C4C4643203138206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464331396F663235A3646E616D656C4C4643203139206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464332306F663235A3646E616D656C4C4643203230206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464332316F663235A3646E616D656C4C4643203231206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464332326F663235A3646E616D656C4C4643203232206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464332336F663235A3646E616D656C4C4643203233206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464332346F663235A3646E616D656C4C4643203234206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F694C464332356F663235A3646E616D656C4C4643203235206F6620323565696D6167657835697066733A2F2F516D5A477A5A39793967576D53356D616D33324771694373475066473134436332357745464A477A59506F656A4569617277656176654964782B4C5530746D516758744843737A3778733661477432507A3768477A58774A70314739386B75515A6C72306F724C6F7665466F7243727970746F316F663235A3646E616D65754C6F7665466F7243727970746F2031206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734724C6F7665466F7243727970746F326F663235A3646E616D65754C6F7665466F7243727970746F2032206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734724C6F7665466F7243727970746F336F663235A3646E616D65754C6F7665466F7243727970746F2033206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734724C6F7665466F7243727970746F346F663235A3646E616D65754C6F7665466F7243727970746F2034206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734724C6F7665466F7243727970746F356F663235A3646E616D65754C6F7665466F7243727970746F2035206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734724C6F7665466F7243727970746F366F663235A3646E616D65754C6F7665466F7243727970746F2036206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734724C6F7665466F7243727970746F376F663235A3646E616D65754C6F7665466F7243727970746F2037206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734724C6F7665466F7243727970746F386F663235A3646E616D65754C6F7665466F7243727970746F2038206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734724C6F7665466F7243727970746F396F663235A3646E616D65754C6F7665466F7243727970746F2039206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F31306F663235A3646E616D65764C6F7665466F7243727970746F203130206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F31316F663235A3646E616D65764C6F7665466F7243727970746F203131206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F31326F663235A3646E616D65764C6F7665466F7243727970746F203132206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F31336F663235A3646E616D65764C6F7665466F7243727970746F203133206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F31346F663235A3646E616D65764C6F7665466F7243727970746F203134206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F31356F663235A3646E616D65764C6F7665466F7243727970746F203135206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F31366F663235A3646E616D65764C6F7665466F7243727970746F203136206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F31376F663235A3646E616D65764C6F7665466F7243727970746F203137206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F31386F663235A3646E616D65764C6F7665466F7243727970746F203138206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F31396F663235A3646E616D65764C6F7665466F7243727970746F203139206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F32306F663235A3646E616D65764C6F7665466F7243727970746F203230206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F32316F663235A3646E616D65764C6F7665466F7243727970746F203231206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F32326F663235A3646E616D65764C6F7665466F7243727970746F203232206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F32336F663235A3646E616D65764C6F7665466F7243727970746F203233206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734734C6F7665466F7243727970746F32346F663235A3646E616D65764C6F7665466F7243727970746F203234206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A717535363866567734724C6F7665466F7243727970746F316F663235A3646E616D65764C6F7665466F7243727970746F203235206F6620323565696D6167657835697066733A2F2F516D57645A764872584366314A6B525566724E3569414B6A32674534627A58657171666D48436451356F424C376769617277656176654964782B72314E6849674A33623942683259663752747254314233383569744C5A487649357A7175353638665677346A706F6C6963794C696E6B7835697066733A2F2F516D61774A655957577176675439515876754D476858394E76683552745933316E4C674A7646445A57314C74517780")] + public async Task DeserializeAlonzoWithDuplicateKey(string cbor) + { + byte[] cborRaw = Convert.FromHexString(cbor); + + const int concurrencyLevel = 1; // Number of parallel tasks + const int iterationsPerTask = 2; // Number of deserializations per task + + IEnumerable tasks = [.. Enumerable.Range(0, concurrencyLevel).Select(_ => Task.Run(() => + { + for (int i = 0; i < iterationsPerTask; i++) + { + // This call should be thread-safe and never fail if the code is correct + + Block block = CborSerializer.Deserialize(cborRaw); + + // If block is occasionally null or exceptions occur, it's a sign of a concurrency issue + Assert.NotNull(block); + } + }))]; + + // Await all tasks to complete; if any fail, the test will fail + await Task.WhenAll(tasks); + } + + [Fact] + public void SerializeDatum() + { + List<(string, string)> addresses = [ + ("1234", "1234"), + ("5678", "5678") + ]; + + List payouts = addresses.Select(payout => + { + + return new Payout( + new Address( + new VerificationKey(new(Convert.FromHexString(payout.Item1))), + new Some>(new Inline(new VerificationKey(new(Convert.FromHexString(payout.Item2))))) + ), + new([])); + }).ToList(); + + ListingDatum datum = new(new(payouts), new(Convert.FromHexString("1234"))); + var res = CborSerializer.Serialize(datum); + Assert.NotNull(res); + } } diff --git a/src/Chrysalis/Cbor/Cache/RuntimeMetadataCache.cs b/src/Chrysalis/Cbor/Cache/RuntimeMetadataCache.cs index a29ea793..8d73ba96 100644 --- a/src/Chrysalis/Cbor/Cache/RuntimeMetadataCache.cs +++ b/src/Chrysalis/Cbor/Cache/RuntimeMetadataCache.cs @@ -1,5 +1,7 @@ using System.Collections.Concurrent; using System.Reflection; +using Chrysalis.Cbor.Attributes; +using Chrysalis.Cbor.Types; public static class RuntimeMetadataCache { diff --git a/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs b/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs index bc79575c..28db6187 100644 --- a/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs +++ b/src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs @@ -55,28 +55,28 @@ public T Deserialize(byte[] data) where T : CborBase return instance; } - public byte[] Serialize(CborBase value) { Type type = value.GetType(); int index = type.GetCustomAttribute()?.Index ?? 0; - bool isDefinite = type.GetCustomAttribute() != null; - PropertyInfo[] properties = [.. type.GetProperties(BindingFlags.Public | BindingFlags.Instance) - .Where(p => p.GetCustomAttribute() != null) - .OrderBy(p => p.GetCustomAttribute()?.PropertyName)]; + // Get the first constructor and its parameters + ConstructorInfo constructor = type.GetConstructors(BindingFlags.Public | BindingFlags.Instance).First(); + ParameterInfo[] parameters = constructor.GetParameters(); + + // Map parameters to properties + PropertyInfo?[] properties = parameters + .Select(param => type.GetProperty(param.Name!, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase)) + .Where(prop => prop != null) + .ToArray()!; CborWriter writer = new(); CborTagUtils.WriteTagIfPresent(writer, type); - // Write the tag writer.WriteTag(GetTag(index)); - - // Write array start writer.WriteStartArray(isDefinite ? properties.Length : null); - // Serialize properties foreach (PropertyInfo property in properties) { object? propertyValue = property.GetValue(value); From 5bba9dc451cbd235a9b9462ffbe19decfcca0fec Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Thu, 9 Jan 2025 20:08:29 -0500 Subject: [PATCH 101/162] chore: bump version to `0.5.23` (#117) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 8a3186d3..93c766fb 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.22 + 0.5.23 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From e5bcd8e347f2036da911a78295c44628df3f1c0e Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Mon, 20 Jan 2025 15:56:25 +0800 Subject: [PATCH 102/162] fix: change NewMembers property type to CborMaybeIndefList from CborDefList (#118) --- .../Core/Types/Block/Transaction/Governance/GovAction.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovAction.cs b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovAction.cs index 45018694..cf00ad58 100644 --- a/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovAction.cs +++ b/src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovAction.cs @@ -48,7 +48,7 @@ public record NoConfidence( public record UpdateCommittee( [CborProperty(0)] CborInt ActionType, [CborProperty(1)] CborNullable GovActionId, - [CborProperty(2)] CborDefList NewMembers, + [CborProperty(2)] CborMaybeIndefList NewMembers, [CborProperty(3)] MemberTermLimits MemberTermLimits, [CborProperty(4)] CborRationalNumber QuorumThreshold ) : GovAction; From 058761b990888419cc3ba5df17104b8534cbbff8 Mon Sep 17 00:00:00 2001 From: Kathea Mari Mayol <114815547+Katteu@users.noreply.github.com> Date: Mon, 20 Jan 2025 16:21:26 +0800 Subject: [PATCH 103/162] chore: bump Chrysalis version to 0.5.24 (#119) --- src/Chrysalis/Chrysalis.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Chrysalis/Chrysalis.csproj b/src/Chrysalis/Chrysalis.csproj index 93c766fb..f618ab80 100644 --- a/src/Chrysalis/Chrysalis.csproj +++ b/src/Chrysalis/Chrysalis.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.5.23 + 0.5.24 Chrysalis clark@saib.dev, rjlacanlale@saib.dev, kathea.mayol@saib.dev SAIB Inc From af10c74bf7d5cd959b33b69a1cf471a80b45818c Mon Sep 17 00:00:00 2001 From: Rj Lacanlale Date: Thu, 20 Feb 2025 19:05:56 -0500 Subject: [PATCH 104/162] refactor: overhaul library design and optimize serialization logic (#120) * partial converter cleanup * reworked registry service * partially fixed up until transaction body * full implementation of re-workd converters * further cleanup of registry * feat: implement new simplified serialization converters and attributes * refactor: move serde logic to their respective converter class * feat: partially working serialization implementation * fix: serializer implementation * add some logging * feat: benchmarking app and initial benchmark report * refactor: finalize extensions, types and imports * fix: migrate to new namespace * chore: add documentation * chore: remove unnecessary imports * chore: change return type of serializer to readonlyspan of byte * chore: re-order the properties * chore: remove aggressive inlining attribute as this is a rarely used function * chore: convert back to byte return type for public serialize * chore: add n2c-stdout CLI project with initial configuration and input handling * fix: multiera block deserializer generic type resolution * fix: deserialization issue for voters * fix: remove logs * refactor: keep raw cbor for each subtype upon deserialization * refactor: improve raw value preservation algorithm --------- Co-authored-by: Mercurial --- .gitignore | 3 +- .vscode/settings.json | 3 + Chrysalis.sln | 47 ++- .../results/BuildPlots.R | 186 ++++++++++ ...lonzoBenchmarks-New-Job-BZGSBA-cummean.png | Bin 0 -> 129310 bytes ...lonzoBenchmarks-New-Job-BZGSBA-density.png | Bin 0 -> 27025 bytes ...onzoBenchmarks-New-Job-BZGSBA-timeline.png | Bin 0 -> 136828 bytes ...nchmarks-New-Job-BZGSBA-timelineSmooth.png | Bin 0 -> 138890 bytes ...rializers.AlonzoBenchmarks-New-cummean.png | Bin 0 -> 131808 bytes ...rializers.AlonzoBenchmarks-New-density.png | Bin 0 -> 27025 bytes ...zers.AlonzoBenchmarks-New-facetDensity.png | Bin 0 -> 29262 bytes ...ers.AlonzoBenchmarks-New-facetTimeline.png | Bin 0 -> 140717 bytes ...onzoBenchmarks-New-facetTimelineSmooth.png | Bin 0 -> 146849 bytes ...lonzoBenchmarks-Old-Job-BZGSBA-cummean.png | Bin 0 -> 134963 bytes ...lonzoBenchmarks-Old-Job-BZGSBA-density.png | Bin 0 -> 27025 bytes ...onzoBenchmarks-Old-Job-BZGSBA-timeline.png | Bin 0 -> 140098 bytes ...nchmarks-Old-Job-BZGSBA-timelineSmooth.png | Bin 0 -> 145865 bytes ...rializers.AlonzoBenchmarks-Old-cummean.png | Bin 0 -> 140243 bytes ...rializers.AlonzoBenchmarks-Old-density.png | Bin 0 -> 27025 bytes ...zers.AlonzoBenchmarks-Old-facetDensity.png | Bin 0 -> 29262 bytes ...ers.AlonzoBenchmarks-Old-facetTimeline.png | Bin 0 -> 140155 bytes ...onzoBenchmarks-Old-facetTimelineSmooth.png | Bin 0 -> 147462 bytes ...arks.Deserializers.AlonzoBenchmarks-asm.md | 180 ++++++++++ ...Deserializers.AlonzoBenchmarks-barplot.png | Bin 0 -> 66129 bytes ...Deserializers.AlonzoBenchmarks-boxplot.png | Bin 0 -> 67665 bytes ...ializers.AlonzoBenchmarks-measurements.csv | 135 ++++++++ ...ializers.AlonzoBenchmarks-report-github.md | 16 + ....Deserializers.AlonzoBenchmarks-report.csv | 3 + ...Deserializers.AlonzoBenchmarks-report.html | 33 ++ ....Deserializers.AlonzoBenchmarks-report.txt | 323 ++++++++++++++++++ ...teKeyBenchmarks-New-Job-BZGSBA-cummean.png | Bin 0 -> 123847 bytes ...teKeyBenchmarks-New-Job-BZGSBA-density.png | Bin 0 -> 28829 bytes ...eKeyBenchmarks-New-Job-BZGSBA-timeline.png | Bin 0 -> 148959 bytes ...nchmarks-New-Job-BZGSBA-timelineSmooth.png | Bin 0 -> 144817 bytes ...onzoDuplicateKeyBenchmarks-New-cummean.png | Bin 0 -> 129141 bytes ...onzoDuplicateKeyBenchmarks-New-density.png | Bin 0 -> 28829 bytes ...uplicateKeyBenchmarks-New-facetDensity.png | Bin 0 -> 31052 bytes ...plicateKeyBenchmarks-New-facetTimeline.png | Bin 0 -> 152645 bytes ...eKeyBenchmarks-New-facetTimelineSmooth.png | Bin 0 -> 148272 bytes ...teKeyBenchmarks-Old-Job-BZGSBA-cummean.png | Bin 0 -> 122981 bytes ...teKeyBenchmarks-Old-Job-BZGSBA-density.png | Bin 0 -> 28829 bytes ...eKeyBenchmarks-Old-Job-BZGSBA-timeline.png | Bin 0 -> 126787 bytes ...nchmarks-Old-Job-BZGSBA-timelineSmooth.png | Bin 0 -> 145804 bytes ...onzoDuplicateKeyBenchmarks-Old-cummean.png | Bin 0 -> 130691 bytes ...onzoDuplicateKeyBenchmarks-Old-density.png | Bin 0 -> 28829 bytes ...uplicateKeyBenchmarks-Old-facetDensity.png | Bin 0 -> 31052 bytes ...plicateKeyBenchmarks-Old-facetTimeline.png | Bin 0 -> 130303 bytes ...eKeyBenchmarks-Old-facetTimelineSmooth.png | Bin 0 -> 152007 bytes ...lizers.AlonzoDuplicateKeyBenchmarks-asm.md | 180 ++++++++++ ...s.AlonzoDuplicateKeyBenchmarks-barplot.png | Bin 0 -> 70117 bytes ...s.AlonzoDuplicateKeyBenchmarks-boxplot.png | Bin 0 -> 70393 bytes ...nzoDuplicateKeyBenchmarks-measurements.csv | 136 ++++++++ ...nzoDuplicateKeyBenchmarks-report-github.md | 16 + ...rs.AlonzoDuplicateKeyBenchmarks-report.csv | 3 + ...s.AlonzoDuplicateKeyBenchmarks-report.html | 33 ++ ...rs.AlonzoDuplicateKeyBenchmarks-report.txt | 318 +++++++++++++++++ ...bbageBenchmarks-New-Job-BZGSBA-cummean.png | Bin 0 -> 112050 bytes ...bbageBenchmarks-New-Job-BZGSBA-density.png | Bin 0 -> 27183 bytes ...bageBenchmarks-New-Job-BZGSBA-timeline.png | Bin 0 -> 133870 bytes ...nchmarks-New-Job-BZGSBA-timelineSmooth.png | Bin 0 -> 141290 bytes ...ializers.BabbageBenchmarks-New-cummean.png | Bin 0 -> 116102 bytes ...ializers.BabbageBenchmarks-New-density.png | Bin 0 -> 27183 bytes ...ers.BabbageBenchmarks-New-facetDensity.png | Bin 0 -> 29440 bytes ...rs.BabbageBenchmarks-New-facetTimeline.png | Bin 0 -> 137863 bytes ...bageBenchmarks-New-facetTimelineSmooth.png | Bin 0 -> 142159 bytes ...bbageBenchmarks-Old-Job-BZGSBA-cummean.png | Bin 0 -> 122336 bytes ...bbageBenchmarks-Old-Job-BZGSBA-density.png | Bin 0 -> 27183 bytes ...bageBenchmarks-Old-Job-BZGSBA-timeline.png | Bin 0 -> 135985 bytes ...nchmarks-Old-Job-BZGSBA-timelineSmooth.png | Bin 0 -> 148874 bytes ...ializers.BabbageBenchmarks-Old-cummean.png | Bin 0 -> 126446 bytes ...ializers.BabbageBenchmarks-Old-density.png | Bin 0 -> 27183 bytes ...ers.BabbageBenchmarks-Old-facetDensity.png | Bin 0 -> 29440 bytes ...rs.BabbageBenchmarks-Old-facetTimeline.png | Bin 0 -> 142828 bytes ...bageBenchmarks-Old-facetTimelineSmooth.png | Bin 0 -> 147494 bytes ...rks.Deserializers.BabbageBenchmarks-asm.md | 180 ++++++++++ ...eserializers.BabbageBenchmarks-barplot.png | Bin 0 -> 67623 bytes ...eserializers.BabbageBenchmarks-boxplot.png | Bin 0 -> 69493 bytes ...alizers.BabbageBenchmarks-measurements.csv | 134 ++++++++ ...alizers.BabbageBenchmarks-report-github.md | 16 + ...Deserializers.BabbageBenchmarks-report.csv | 3 + ...eserializers.BabbageBenchmarks-report.html | 33 ++ ...Deserializers.BabbageBenchmarks-report.txt | 321 +++++++++++++++++ ...onwayBenchmarks-New-Job-BZGSBA-cummean.png | Bin 0 -> 133022 bytes ...onwayBenchmarks-New-Job-BZGSBA-density.png | Bin 0 -> 27325 bytes ...nwayBenchmarks-New-Job-BZGSBA-timeline.png | Bin 0 -> 138411 bytes ...nchmarks-New-Job-BZGSBA-timelineSmooth.png | Bin 0 -> 135086 bytes ...rializers.ConwayBenchmarks-New-cummean.png | Bin 0 -> 136704 bytes ...rializers.ConwayBenchmarks-New-density.png | Bin 0 -> 27325 bytes ...zers.ConwayBenchmarks-New-facetDensity.png | Bin 0 -> 29557 bytes ...ers.ConwayBenchmarks-New-facetTimeline.png | Bin 0 -> 143790 bytes ...nwayBenchmarks-New-facetTimelineSmooth.png | Bin 0 -> 142145 bytes ...onwayBenchmarks-Old-Job-BZGSBA-cummean.png | Bin 0 -> 131452 bytes ...onwayBenchmarks-Old-Job-BZGSBA-density.png | Bin 0 -> 27325 bytes ...nwayBenchmarks-Old-Job-BZGSBA-timeline.png | Bin 0 -> 149437 bytes ...nchmarks-Old-Job-BZGSBA-timelineSmooth.png | Bin 0 -> 145272 bytes ...rializers.ConwayBenchmarks-Old-cummean.png | Bin 0 -> 134496 bytes ...rializers.ConwayBenchmarks-Old-density.png | Bin 0 -> 27325 bytes ...zers.ConwayBenchmarks-Old-facetDensity.png | Bin 0 -> 29557 bytes ...ers.ConwayBenchmarks-Old-facetTimeline.png | Bin 0 -> 149017 bytes ...nwayBenchmarks-Old-facetTimelineSmooth.png | Bin 0 -> 148808 bytes ...arks.Deserializers.ConwayBenchmarks-asm.md | 180 ++++++++++ ...Deserializers.ConwayBenchmarks-barplot.png | Bin 0 -> 66069 bytes ...Deserializers.ConwayBenchmarks-boxplot.png | Bin 0 -> 71119 bytes ...ializers.ConwayBenchmarks-measurements.csv | 134 ++++++++ ...ializers.ConwayBenchmarks-report-github.md | 16 + ....Deserializers.ConwayBenchmarks-report.csv | 3 + ...Deserializers.ConwayBenchmarks-report.html | 33 ++ ....Deserializers.ConwayBenchmarks-report.txt | 323 ++++++++++++++++++ .../Deserializers/AlonzoBenchmarks.cs | 47 +++ .../AlonzoDuplicateKeyBenchmarks.cs | 47 +++ .../Deserializers/BabbageBenchmarks.cs | 47 +++ .../Deserializers/ConwayBenchmarks.cs | 47 +++ .../Chrysalis.Cbor.Benchmark.csproj | 25 ++ src/Chrysalis.Cbor.Benchmark/Program.cs | 30 ++ .../data/alonzo_block.cbor | 1 + .../data/alonzo_with_duplicate_key_block.cbor | 1 + .../data/babbage_block.cbor | 1 + .../data/conway_block.cbor | 1 + .../Chrysalis.Cbor.Cli.csproj | 14 + src/Chrysalis.Cbor.Cli/Program.cs | 55 +++ .../rust/n2c-stdout/Cargo.toml | 9 + .../rust/n2c-stdout/src/main.rs | 68 ++++ .../CborTests.cs | 127 +++---- .../Chrysalis.Test.csproj | 3 +- .../Attributes/CborConverterAttribute.cs | 3 + .../Attributes/CborIndexAttribute.cs | 10 + .../Attributes/CborOptionsAttribute.cs | 13 + .../Attributes/CborPropertyAttribute.cs | 10 + .../Coinecta/Types/Common/ClaimEntry.cs | 20 +- .../Cardano/Coinecta/Types/Datums/Treasury.cs | 21 ++ .../Types/Redeemers/TreasuryRedeemer.cs | 17 +- .../Cardano/Crashr/Types/Common/Payout.cs | 14 + .../Crashr/Types/Datums/ListingDatum.cs | 14 + .../Cardano/Extensions/AddressExtension.cs | 8 + .../Extensions/AuxiliaryDataExtension.cs | 8 +- .../Cardano}/Extensions/Blake2bExtension.cs | 8 +- .../Cardano}/Extensions/BlockExtension.cs | 14 +- .../Cardano}/Extensions/DatumExtension.cs | 5 +- .../Extensions/MultiAssetExtension.cs | 4 +- .../Extensions/TokenBundleExtension.cs | 4 +- .../Extensions/TransactionBodyExtension.cs | 12 +- .../Extensions/TransactionInputExtension.cs | 4 +- .../Extensions/TransactionOutputExtension.cs | 6 +- .../TransactionWitnessSetExtension.cs | 10 +- .../Cardano}/Extensions/ValueExtension.cs | 5 +- .../Cardano/Jpg/Types/Common/ListingPayout.cs | 12 +- .../Cardano/Jpg/Types/Common/OfferPayout.cs | 12 +- .../Cardano/Jpg/Types/Common/Token.cs | 11 +- .../Cardano/Jpg/Types/Datums/Listing.cs | 21 ++ .../Cardano/Jpg/Types/Datums/Offer.cs | 18 + .../Types/Redeemers/AcceptOfferRedeemer.cs | 6 +- .../Jpg/Types/Redeemers/BuyRedeemer.cs | 8 +- .../Levvy/TokenV2/Types/Datums/NftDatum.cs | 57 ++-- .../TokenV2/Types/Datums/PaymentDatum.cs | 10 + .../Levvy/TokenV2/Types/Datums/TokenDatum.cs | 67 ++-- .../TokenV2/Types/Redeemers/TokenRedeemer.cs | 17 +- .../Cardano/MPF/Types/Common/Proof.cs | 38 +-- .../Minswap}/Types/Common/AssetClass.cs | 10 +- .../Cardano/Minswap/Types/Common/Bool.cs | 17 + .../Types/Datums/MinswapLiquidityPool.cs | 57 ++++ .../Splash}/Types/Common/AssetClass.cs | 10 +- .../Types/Datums/SplashLiquidityPool.cs | 47 +++ .../Cardano/Sundae/Types/Common/AssetClass.cs | 13 +- .../Sundae/Types/Common/MultisigScript.cs | 23 +- .../Types/Datums/SundaeSwapLiquidityPool.cs | 39 ++- .../Cardano}/Types/Block/AuxiliaryDataSet.cs | 8 +- .../Cardano/Types/Block/Block.cs | 43 +++ .../Cardano}/Types/Block/BlockWithEra.cs | 8 +- .../Types/Block/Header/Body/HeaderBody.cs | 44 +++ .../Block/Header/Body/OperationalCert.cs | 14 + .../Block/Header/Body/ProtocolVersion.cs | 12 + .../Types/Block/Header/Body/VrfCert.cs | 12 + .../Cardano/Types/Block/Header/Header.cs | 14 + .../Cardano/Types/Block/Transaction/Anchor.cs | 12 + .../Body/Certificates/Certificate.cs | 175 ++++++++++ .../Certificates/MoveInstantaneousReward.cs | 9 +- .../Body/Certificates/PoolMetadata.cs | 8 +- .../Transaction/Body/Certificates/Relay.cs | 33 ++ .../Body/ProposalProcedures/RewardAccount.cs | 4 +- .../Block/Transaction/Body/TransactionBody.cs | 81 +++++ .../Types/Block/Transaction/Body/Update.cs | 13 + .../Block/Transaction/Body/Withdrawals.cs | 8 +- .../Types/Block/Transaction/Credential.cs | 12 + .../Transaction/Governance/Constituion.cs | 12 + .../Block/Transaction/Governance/DRep.cs | 16 +- .../Governance/DRepVotingThresholds.cs | 20 ++ .../Block/Transaction/Governance/GovAction.cs | 66 ++++ .../Transaction/Governance/GovActionId.cs | 12 + .../Governance/MemberTermLimits.cs | 4 +- .../Governance/ProposalProcedure.cs | 15 + .../Block/Transaction/Governance/Voter.cs | 8 +- .../Transaction/Governance/VotingProcedure.cs | 12 + .../Governance/VotingProcedures.cs | 6 +- .../Transaction/Input/TransactionInput.cs | 12 + .../Types/Block/Transaction/Output/Address.cs | 4 +- .../Block/Transaction/Output/DatumOption.cs | 12 +- .../Block/Transaction/Output/MultiAsset.cs | 9 +- .../Block/Transaction/Output/TokenBundle.cs | 5 +- .../Transaction/Output/TransactionOutput.cs | 18 +- .../Types/Block/Transaction/Output/Value.cs | 10 +- .../Block/Transaction/Protocol/CostMdls.cs | 7 +- .../Transaction/Protocol/ExUnitPrices.cs | 12 + .../Block/Transaction/Protocol/ExUnits.cs | 8 +- .../Types/Block/Transaction/Protocol/Nonce.cs | 11 +- .../Protocol/PoolVotingThresholds.cs | 15 + .../Protocol/ProtocolParamUpdate.cs | 127 +++++++ .../Block/Transaction/Script/NativeScript.cs | 32 +- .../Block/Transaction/Script/PlutusData.cs | 16 +- .../Block/Transaction/Script/PlutusOption.cs | 6 +- .../Types/Block/Transaction/Transaction.cs | 35 ++ .../Block/Transaction/TransactionMetadatum.cs | 7 +- .../Transaction/WitnessSet/AuxiliaryData.cs | 34 ++ .../WitnessSet/AuxiliaryScripts.cs | 0 .../WitnessSet/BootstrapWitness.cs | 15 + .../Block/Transaction/WitnessSet/Redeemers.cs | 32 +- .../WitnessSet/TransactionWitnessSet.cs | 33 ++ .../Transaction/WitnessSet/VKeyWitness.cs | 12 + .../Types/Primitives/CborBoundedBytes.cs | 6 +- .../Cardano}/Types/Primitives/PosixTime.cs | 2 +- .../Chrysalis.Cbor.csproj} | 2 +- .../Extensions/TypeExtension.cs | 10 + .../Plutus/Types/Address/Address.cs | 13 + .../Plutus/Types/Address/Credential.cs | 13 +- .../Plutus/Types/Address/Referenced.cs | 15 +- .../Plutus/Types/CIP68.cs | 24 +- .../Plutus/Types/OutputReference.cs | 12 +- .../Serialization/CborOptions.cs | 49 +++ .../Serialization/CborSerializer.cs | 123 +++++++ .../Custom/CustomConstrConverter.cs | 62 ++++ .../Converters/Custom/CustomListConverter.cs | 23 ++ .../Converters/Custom/CustomMapConverter.cs | 66 ++++ .../Custom/RationalNumberConverter.cs | 35 ++ .../Converters/Custom/UnionConverter.cs | 46 +++ .../Converters/Primitives/BoolConverter.cs | 23 ++ .../Converters/Primitives/BytesConverter.cs | 42 +++ .../Converters/Primitives/ConstrConverter.cs | 68 ++++ .../Primitives/EncodedValueConverter.cs | 23 ++ .../Converters/Primitives/IntConverter.cs | 24 ++ .../Converters/Primitives/ListConverter.cs | 61 ++++ .../Converters/Primitives/LongConverter.cs | 23 ++ .../Converters/Primitives/MapConverter.cs | 55 +++ .../Primitives/NullableConverter.cs | 37 ++ .../Converters/Primitives/TextConverter.cs | 23 ++ .../Converters/Primitives/UlongConverter.cs | 23 ++ .../CborDeserializationException.cs | 10 + .../Serialization/Exceptions/CborException.cs | 10 + .../Exceptions/CborSerializationException.cs | 10 + .../Exceptions/CborTypeMismatchException.cs | 10 + .../Serialization/ICborConverter.cs | 9 + .../Registry/CborConverterRegistry.cs | 28 ++ .../Registry/CborOptionsRegistry.cs | 54 +++ .../Serialization/Registry/CborRegistry.cs | 67 ++++ src/Chrysalis.Cbor/Types/CborBase.cs | 16 + .../Types/Custom}/CborMaybeIndefList.cs | 12 +- .../Types/Primitives/CborBool.cs | 2 +- .../Types/Primitives/CborBytes.cs | 3 +- .../Types/Primitives/CborConstr.cs | 2 +- .../Types/Primitives/CborEncodedValue.cs | 2 +- .../Types/Primitives/CborInt.cs | 2 +- .../Types/Primitives/CborList.cs | 4 +- .../Types/Primitives/CborLong.cs | 2 +- .../Types/Primitives/CborMap.cs | 4 +- .../Types/Primitives/CborNullable.cs | 3 +- .../Types/Primitives/CborRationalNumber.cs | 4 +- .../Types/Primitives/CborText.cs | 2 +- .../Types/Primitives/CborUlong.cs | 2 +- src/Chrysalis.Cbor/Types/Primitives/Option.cs | 18 + src/Chrysalis.Cbor/Utils/ActivatorUtil.cs | 228 +++++++++++++ src/Chrysalis.Cbor/Utils/AttributeResolver.cs | 22 ++ src/Chrysalis.Cbor/Utils/CborUtil.cs | 36 ++ .../Utils/CustomListSerializationUtil.cs | 70 ++++ .../Utils/CustomMapSerializationUtil.cs | 69 ++++ .../Utils/MapSerializationUtil.cs | 174 ++++++++++ src/Chrysalis.Cbor/Utils/PropertyResolver.cs | 144 ++++++++ src/Chrysalis.Cbor/Utils/UnionResolver.cs | 46 +++ .../Utils/UnionSerializationUtil.cs | 24 ++ .../Types/Cardano/Crashr/CrashrTestData.cs | 176 ---------- .../Types/Primitives/BoolTestData.cs | 33 -- .../Types/Primitives/BytesTestData.cs | 49 --- .../Types/Primitives/IntTestData.cs | 53 --- .../Types/Primitives/LongTestData.cs | 85 ----- .../Types/Primitives/NullableTestData.cs | 35 -- .../Types/Primitives/TextTestData.cs | 38 --- .../Types/Primitives/UlongTestData.cs | 82 ----- src/Chrysalis.Test/Types/TestData.cs | 38 --- .../Cardano/Coinecta/Types/Datums/Treasury.cs | 21 -- .../Core/Extensions/AddressExtension.cs | 8 - .../Core/Extensions/MetadataExtension.cs | 0 .../Cardano/Core/Types/Block/Block.cs | 42 --- .../Types/Block/Header/Body/HeaderBody.cs | 42 --- .../Block/Header/Body/OperationalCert.cs | 14 - .../Block/Header/Body/ProtocolVersion.cs | 12 - .../Core/Types/Block/Header/Body/VrfCert.cs | 12 - .../Cardano/Core/Types/Block/Header/Header.cs | 13 - .../Core/Types/Block/Transaction/Anchor.cs | 12 - .../Body/Certificates/Certificate.cs | 175 ---------- .../Transaction/Body/Certificates/Relay.cs | 34 -- .../Block/Transaction/Body/TransactionBody.cs | 78 ----- .../Types/Block/Transaction/Body/Update.cs | 13 - .../Types/Block/Transaction/Credential.cs | 12 - .../Transaction/Governance/Constituion.cs | 12 - .../Governance/DRepVotingThresholds.cs | 20 -- .../Block/Transaction/Governance/GovAction.cs | 66 ---- .../Transaction/Governance/GovActionId.cs | 12 - .../Governance/ProposalProcedure.cs | 15 - .../Transaction/Governance/VotingProcedure.cs | 12 - .../Transaction/Input/TransactionInput.cs | 12 - .../Transaction/Protocol/ExUnitPrices.cs | 12 - .../Protocol/PoolVotingThresholds.cs | 15 - .../Protocol/ProtocolParamUpdate.cs | 127 ------- .../Types/Block/Transaction/Transaction.cs | 35 -- .../Transaction/WitnessSet/AuxiliaryData.cs | 33 -- .../WitnessSet/BootstrapWitness.cs | 16 - .../WitnessSet/TransactionWitnessSet.cs | 33 -- .../Transaction/WitnessSet/VKeyWitness.cs | 12 - .../Cardano/Crashr/Types/Common/Payout.cs | 14 - .../Crashr/Types/Datums/ListingDatum.cs | 15 - .../Cardano/Jpg/Types/Datums/Listing.cs | 21 -- .../Cardano/Jpg/Types/Datums/Offer.cs | 19 -- .../TokenV2/Types/Datums/PaymentDatum.cs | 11 - .../Cardano/Minswap/Types/Common/Bool.cs | 16 - .../Types/Datums/MinswapLiquidityPool.cs | 58 ---- .../Types/Datums/SplashLiquidityPool.cs | 47 --- .../Cbor/Attributes/CborDefiniteAttribute.cs | 4 - .../Attributes/CborIndefiniteAttribute.cs | 4 - .../Cbor/Attributes/CborIndexAttribute.cs | 7 - .../Cbor/Attributes/CborPropertyAttribute.cs | 29 -- .../Cbor/Attributes/CborSizeAttribute.cs | 7 - .../Cbor/Attributes/CborTagAttribute.cs | 7 - .../Cbor/Cache/RuntimeMetadataCache.cs | 32 -- .../Cbor/Converters/CborSerializer.cs | 129 ------- .../Cbor/Converters/ICborConverter.cs | 9 - .../Converters/Primitives/BoolConverter.cs | 48 --- .../Converters/Primitives/BytesConverter.cs | 71 ---- .../Converters/Primitives/ConstrConverter.cs | 96 ------ .../Primitives/CustomConstrConverter.cs | 111 ------ .../Primitives/CustomListConverter.cs | 128 ------- .../Primitives/CustomMapConverter.cs | 133 -------- .../Primitives/EncodedValueConverter.cs | 49 --- .../Converters/Primitives/IntConverter.cs | 43 --- .../Converters/Primitives/ListConverter.cs | 80 ----- .../Converters/Primitives/LongConverter.cs | 44 --- .../Converters/Primitives/MapConverter.cs | 87 ----- .../Primitives/NullableConverter.cs | 61 ---- .../Primitives/RationalNumberConverter.cs | 57 ---- .../Converters/Primitives/TextConverter.cs | 41 --- .../Converters/Primitives/UlongConverter.cs | 43 --- .../Converters/Primitives/UnionConverter.cs | 147 -------- src/Chrysalis/Cbor/Types/CborBase.cs | 8 - src/Chrysalis/Cbor/Types/Primitives/Option.cs | 17 - src/Chrysalis/Cbor/Utils/AssemblyUtils.cs | 95 ------ src/Chrysalis/Cbor/Utils/CborTagUtils.cs | 42 --- src/Chrysalis/Plutus/Types/Address/Address.cs | 13 - 353 files changed, 6863 insertions(+), 3851 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/BuildPlots.R create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-Job-BZGSBA-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-Job-BZGSBA-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-Job-BZGSBA-timeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-Job-BZGSBA-timelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-facetDensity.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-facetTimeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-facetTimelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-Job-BZGSBA-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-Job-BZGSBA-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-Job-BZGSBA-timeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-Job-BZGSBA-timelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-facetDensity.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-facetTimeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-facetTimelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-asm.md create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-barplot.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-boxplot.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-measurements.csv create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report-github.md create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.csv create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.html create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.txt create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-Job-BZGSBA-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-Job-BZGSBA-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-Job-BZGSBA-timeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-Job-BZGSBA-timelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-facetDensity.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-facetTimeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-facetTimelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-Job-BZGSBA-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-Job-BZGSBA-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-Job-BZGSBA-timeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-Job-BZGSBA-timelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-facetDensity.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-facetTimeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-facetTimelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-asm.md create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-barplot.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-boxplot.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-measurements.csv create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-report-github.md create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-report.csv create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-report.html create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-report.txt create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-Job-BZGSBA-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-Job-BZGSBA-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-Job-BZGSBA-timeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-Job-BZGSBA-timelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-facetDensity.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-facetTimeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-facetTimelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-Job-BZGSBA-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-Job-BZGSBA-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-Job-BZGSBA-timeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-Job-BZGSBA-timelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-facetDensity.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-facetTimeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-facetTimelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-asm.md create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-barplot.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-boxplot.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-measurements.csv create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-report-github.md create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-report.csv create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-report.html create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-report.txt create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-New-Job-BZGSBA-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-New-Job-BZGSBA-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-New-Job-BZGSBA-timeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-New-Job-BZGSBA-timelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-New-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-New-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-New-facetDensity.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-New-facetTimeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-New-facetTimelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-Old-Job-BZGSBA-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-Old-Job-BZGSBA-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-Old-Job-BZGSBA-timeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-Old-Job-BZGSBA-timelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-Old-cummean.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-Old-density.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-Old-facetDensity.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-Old-facetTimeline.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-Old-facetTimelineSmooth.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-asm.md create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-barplot.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-boxplot.png create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-measurements.csv create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-report-github.md create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-report.csv create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-report.html create mode 100644 src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.ConwayBenchmarks-report.txt create mode 100644 src/Chrysalis.Cbor.Benchmark/Benchmarks/Deserializers/AlonzoBenchmarks.cs create mode 100644 src/Chrysalis.Cbor.Benchmark/Benchmarks/Deserializers/AlonzoDuplicateKeyBenchmarks.cs create mode 100644 src/Chrysalis.Cbor.Benchmark/Benchmarks/Deserializers/BabbageBenchmarks.cs create mode 100644 src/Chrysalis.Cbor.Benchmark/Benchmarks/Deserializers/ConwayBenchmarks.cs create mode 100644 src/Chrysalis.Cbor.Benchmark/Chrysalis.Cbor.Benchmark.csproj create mode 100644 src/Chrysalis.Cbor.Benchmark/Program.cs create mode 100644 src/Chrysalis.Cbor.Benchmark/data/alonzo_block.cbor create mode 100644 src/Chrysalis.Cbor.Benchmark/data/alonzo_with_duplicate_key_block.cbor create mode 100644 src/Chrysalis.Cbor.Benchmark/data/babbage_block.cbor create mode 100644 src/Chrysalis.Cbor.Benchmark/data/conway_block.cbor create mode 100644 src/Chrysalis.Cbor.Cli/Chrysalis.Cbor.Cli.csproj create mode 100644 src/Chrysalis.Cbor.Cli/Program.cs create mode 100644 src/Chrysalis.Cbor.Cli/rust/n2c-stdout/Cargo.toml create mode 100644 src/Chrysalis.Cbor.Cli/rust/n2c-stdout/src/main.rs rename src/{Chrysalis.Test => Chrysalis.Cbor.Test}/CborTests.cs (95%) rename src/{Chrysalis.Test => Chrysalis.Cbor.Test}/Chrysalis.Test.csproj (86%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Attributes/CborConverterAttribute.cs (75%) create mode 100644 src/Chrysalis.Cbor/Attributes/CborIndexAttribute.cs create mode 100644 src/Chrysalis.Cbor/Attributes/CborOptionsAttribute.cs create mode 100644 src/Chrysalis.Cbor/Attributes/CborPropertyAttribute.cs rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Coinecta/Types/Common/ClaimEntry.cs (50%) create mode 100644 src/Chrysalis.Cbor/Cardano/Coinecta/Types/Datums/Treasury.cs rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Coinecta/Types/Redeemers/TreasuryRedeemer.cs (52%) create mode 100644 src/Chrysalis.Cbor/Cardano/Crashr/Types/Common/Payout.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Crashr/Types/Datums/ListingDatum.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Extensions/AddressExtension.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/AuxiliaryDataExtension.cs (94%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/Blake2bExtension.cs (57%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/BlockExtension.cs (94%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/DatumExtension.cs (87%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/MultiAssetExtension.cs (97%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/TokenBundleExtension.cs (84%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/TransactionBodyExtension.cs (93%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/TransactionInputExtension.cs (82%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/TransactionOutputExtension.cs (93%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/TransactionWitnessSetExtension.cs (96%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Extensions/ValueExtension.cs (92%) rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Jpg/Types/Common/ListingPayout.cs (51%) rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Jpg/Types/Common/OfferPayout.cs (61%) rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Jpg/Types/Common/Token.cs (56%) create mode 100644 src/Chrysalis.Cbor/Cardano/Jpg/Types/Datums/Listing.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Jpg/Types/Datums/Offer.cs rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Jpg/Types/Redeemers/AcceptOfferRedeemer.cs (52%) rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Jpg/Types/Redeemers/BuyRedeemer.cs (56%) rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Levvy/TokenV2/Types/Datums/NftDatum.cs (61%) create mode 100644 src/Chrysalis.Cbor/Cardano/Levvy/TokenV2/Types/Datums/PaymentDatum.cs rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Levvy/TokenV2/Types/Datums/TokenDatum.cs (62%) rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Levvy/TokenV2/Types/Redeemers/TokenRedeemer.cs (66%) rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/MPF/Types/Common/Proof.cs (61%) rename src/{Chrysalis/Cardano/Splash => Chrysalis.Cbor/Cardano/Minswap}/Types/Common/AssetClass.cs (56%) create mode 100644 src/Chrysalis.Cbor/Cardano/Minswap/Types/Common/Bool.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Minswap/Types/Datums/MinswapLiquidityPool.cs rename src/{Chrysalis/Cardano/Minswap => Chrysalis.Cbor/Cardano/Splash}/Types/Common/AssetClass.cs (56%) create mode 100644 src/Chrysalis.Cbor/Cardano/Splash/Types/Datums/SplashLiquidityPool.cs rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Sundae/Types/Common/AssetClass.cs (76%) rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Sundae/Types/Common/MultisigScript.cs (69%) rename src/{Chrysalis => Chrysalis.Cbor}/Cardano/Sundae/Types/Datums/SundaeSwapLiquidityPool.cs (52%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/AuxiliaryDataSet.cs (57%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Block.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/BlockWithEra.cs (55%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Header/Body/HeaderBody.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Header/Body/OperationalCert.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Header/Body/ProtocolVersion.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Header/Body/VrfCert.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Header/Header.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Anchor.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Body/Certificates/Certificate.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Body/Certificates/MoveInstantaneousReward.cs (64%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Body/Certificates/PoolMetadata.cs (50%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Body/Certificates/Relay.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Body/ProposalProcedures/RewardAccount.cs (58%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Body/TransactionBody.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Body/Update.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Body/Withdrawals.cs (55%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Credential.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Governance/Constituion.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Governance/DRep.cs (61%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Governance/DRepVotingThresholds.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Governance/GovAction.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Governance/GovActionId.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Governance/MemberTermLimits.cs (65%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Governance/ProposalProcedure.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Governance/Voter.cs (50%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Governance/VotingProcedure.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Governance/VotingProcedures.cs (68%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Input/TransactionInput.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Output/Address.cs (55%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Output/DatumOption.cs (58%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Output/MultiAsset.cs (65%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Output/TokenBundle.cs (71%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Output/TransactionOutput.cs (51%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Output/Value.cs (55%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Protocol/CostMdls.cs (52%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Protocol/ExUnitPrices.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Protocol/ExUnits.cs (50%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Protocol/Nonce.cs (61%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Protocol/PoolVotingThresholds.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Protocol/ProtocolParamUpdate.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Script/NativeScript.cs (52%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Script/PlutusData.cs (73%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/Script/PlutusOption.cs (51%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/Transaction.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/TransactionMetadatum.cs (82%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/WitnessSet/AuxiliaryData.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/WitnessSet/AuxiliaryScripts.cs (100%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/WitnessSet/BootstrapWitness.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Block/Transaction/WitnessSet/Redeemers.cs (51%) create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs create mode 100644 src/Chrysalis.Cbor/Cardano/Types/Block/Transaction/WitnessSet/VKeyWitness.cs rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Primitives/CborBoundedBytes.cs (50%) rename src/{Chrysalis/Cardano/Core => Chrysalis.Cbor/Cardano}/Types/Primitives/PosixTime.cs (65%) rename src/{Chrysalis/Chrysalis.csproj => Chrysalis.Cbor/Chrysalis.Cbor.csproj} (92%) create mode 100644 src/Chrysalis.Cbor/Extensions/TypeExtension.cs create mode 100644 src/Chrysalis.Cbor/Plutus/Types/Address/Address.cs rename src/{Chrysalis => Chrysalis.Cbor}/Plutus/Types/Address/Credential.cs (54%) rename src/{Chrysalis => Chrysalis.Cbor}/Plutus/Types/Address/Referenced.cs (63%) rename src/{Chrysalis => Chrysalis.Cbor}/Plutus/Types/CIP68.cs (58%) rename src/{Chrysalis => Chrysalis.Cbor}/Plutus/Types/OutputReference.cs (64%) create mode 100644 src/Chrysalis.Cbor/Serialization/CborOptions.cs create mode 100644 src/Chrysalis.Cbor/Serialization/CborSerializer.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Custom/CustomConstrConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Custom/CustomListConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Custom/CustomMapConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Custom/RationalNumberConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Custom/UnionConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/BoolConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/BytesConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/ConstrConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/EncodedValueConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/IntConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/ListConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/LongConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/MapConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/NullableConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/TextConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Converters/Primitives/UlongConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Exceptions/CborDeserializationException.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Exceptions/CborException.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Exceptions/CborSerializationException.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Exceptions/CborTypeMismatchException.cs create mode 100644 src/Chrysalis.Cbor/Serialization/ICborConverter.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Registry/CborConverterRegistry.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Registry/CborOptionsRegistry.cs create mode 100644 src/Chrysalis.Cbor/Serialization/Registry/CborRegistry.cs create mode 100644 src/Chrysalis.Cbor/Types/CborBase.cs rename src/{Chrysalis/Cbor/Types/Collections => Chrysalis.Cbor/Types/Custom}/CborMaybeIndefList.cs (71%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborBool.cs (73%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborBytes.cs (64%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborConstr.cs (73%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborEncodedValue.cs (75%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborInt.cs (73%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborList.cs (59%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborLong.cs (73%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborMap.cs (67%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborNullable.cs (76%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborRationalNumber.cs (72%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborText.cs (73%) rename src/{Chrysalis/Cbor => Chrysalis.Cbor}/Types/Primitives/CborUlong.cs (74%) create mode 100644 src/Chrysalis.Cbor/Types/Primitives/Option.cs create mode 100644 src/Chrysalis.Cbor/Utils/ActivatorUtil.cs create mode 100644 src/Chrysalis.Cbor/Utils/AttributeResolver.cs create mode 100644 src/Chrysalis.Cbor/Utils/CborUtil.cs create mode 100644 src/Chrysalis.Cbor/Utils/CustomListSerializationUtil.cs create mode 100644 src/Chrysalis.Cbor/Utils/CustomMapSerializationUtil.cs create mode 100644 src/Chrysalis.Cbor/Utils/MapSerializationUtil.cs create mode 100644 src/Chrysalis.Cbor/Utils/PropertyResolver.cs create mode 100644 src/Chrysalis.Cbor/Utils/UnionResolver.cs create mode 100644 src/Chrysalis.Cbor/Utils/UnionSerializationUtil.cs delete mode 100644 src/Chrysalis.Test/Types/Cardano/Crashr/CrashrTestData.cs delete mode 100644 src/Chrysalis.Test/Types/Primitives/BoolTestData.cs delete mode 100644 src/Chrysalis.Test/Types/Primitives/BytesTestData.cs delete mode 100644 src/Chrysalis.Test/Types/Primitives/IntTestData.cs delete mode 100644 src/Chrysalis.Test/Types/Primitives/LongTestData.cs delete mode 100644 src/Chrysalis.Test/Types/Primitives/NullableTestData.cs delete mode 100644 src/Chrysalis.Test/Types/Primitives/TextTestData.cs delete mode 100644 src/Chrysalis.Test/Types/Primitives/UlongTestData.cs delete mode 100644 src/Chrysalis.Test/Types/TestData.cs delete mode 100644 src/Chrysalis/Cardano/Coinecta/Types/Datums/Treasury.cs delete mode 100644 src/Chrysalis/Cardano/Core/Extensions/AddressExtension.cs delete mode 100644 src/Chrysalis/Cardano/Core/Extensions/MetadataExtension.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Block.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Header/Body/HeaderBody.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Header/Body/OperationalCert.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Header/Body/ProtocolVersion.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Header/Body/VrfCert.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Header/Header.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Anchor.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/Certificate.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Certificates/Relay.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/TransactionBody.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Body/Update.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Credential.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/Constituion.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/DRepVotingThresholds.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovAction.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/GovActionId.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/ProposalProcedure.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Governance/VotingProcedure.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Input/TransactionInput.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ExUnitPrices.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/PoolVotingThresholds.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Protocol/ProtocolParamUpdate.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/Transaction.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/AuxiliaryData.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/BootstrapWitness.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/TransactionWitnessSet.cs delete mode 100644 src/Chrysalis/Cardano/Core/Types/Block/Transaction/WitnessSet/VKeyWitness.cs delete mode 100644 src/Chrysalis/Cardano/Crashr/Types/Common/Payout.cs delete mode 100644 src/Chrysalis/Cardano/Crashr/Types/Datums/ListingDatum.cs delete mode 100644 src/Chrysalis/Cardano/Jpg/Types/Datums/Listing.cs delete mode 100644 src/Chrysalis/Cardano/Jpg/Types/Datums/Offer.cs delete mode 100644 src/Chrysalis/Cardano/Levvy/TokenV2/Types/Datums/PaymentDatum.cs delete mode 100644 src/Chrysalis/Cardano/Minswap/Types/Common/Bool.cs delete mode 100644 src/Chrysalis/Cardano/Minswap/Types/Datums/MinswapLiquidityPool.cs delete mode 100644 src/Chrysalis/Cardano/Splash/Types/Datums/SplashLiquidityPool.cs delete mode 100644 src/Chrysalis/Cbor/Attributes/CborDefiniteAttribute.cs delete mode 100644 src/Chrysalis/Cbor/Attributes/CborIndefiniteAttribute.cs delete mode 100644 src/Chrysalis/Cbor/Attributes/CborIndexAttribute.cs delete mode 100644 src/Chrysalis/Cbor/Attributes/CborPropertyAttribute.cs delete mode 100644 src/Chrysalis/Cbor/Attributes/CborSizeAttribute.cs delete mode 100644 src/Chrysalis/Cbor/Attributes/CborTagAttribute.cs delete mode 100644 src/Chrysalis/Cbor/Cache/RuntimeMetadataCache.cs delete mode 100644 src/Chrysalis/Cbor/Converters/CborSerializer.cs delete mode 100644 src/Chrysalis/Cbor/Converters/ICborConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/BoolConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/BytesConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/ConstrConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/CustomConstrConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/CustomListConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/CustomMapConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/EncodedValueConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/IntConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/ListConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/LongConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/MapConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/NullableConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/RationalNumberConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/TextConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/UlongConverter.cs delete mode 100644 src/Chrysalis/Cbor/Converters/Primitives/UnionConverter.cs delete mode 100644 src/Chrysalis/Cbor/Types/CborBase.cs delete mode 100644 src/Chrysalis/Cbor/Types/Primitives/Option.cs delete mode 100644 src/Chrysalis/Cbor/Utils/AssemblyUtils.cs delete mode 100644 src/Chrysalis/Cbor/Utils/CborTagUtils.cs delete mode 100644 src/Chrysalis/Plutus/Types/Address/Address.cs diff --git a/.gitignore b/.gitignore index 99bf8c17..7b2aab91 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ **/obj/ **/bin-debug/ **/obj-debug/ -.DS_Store \ No newline at end of file +.DS_Store +**/target \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..55d43f0c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "deno.enable": false +} diff --git a/Chrysalis.sln b/Chrysalis.sln index 2ae0578d..b1df7156 100644 --- a/Chrysalis.sln +++ b/Chrysalis.sln @@ -1,13 +1,16 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 -VisualStudioVersion = 17.5.002.0 +VisualStudioVersion = 17.5.2.0 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{11F07A82-20F5-4C10-8B88-93A683A47F0D}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis", "src\Chrysalis\Chrysalis.csproj", "{59CEEE6D-F821-4967-BAEC-6122E75170A5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chrysalis.Cbor", "src\Chrysalis.Cbor\Chrysalis.Cbor.csproj", "{75E9FD85-74D0-AEF7-712E-4AE33F9AF441}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chrysalis.Test", "src\Chrysalis.Test\Chrysalis.Test.csproj", "{F6FBE714-F705-4198-B888-C9603B40D0EB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chrysalis.Test", "src\Chrysalis.Cbor.Test\Chrysalis.Test.csproj", "{B6D86DA9-6597-0A6F-88F9-740F3B44DD6A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chrysalis.Cbor.Benchmark", "src\Chrysalis.Cbor.Benchmark\Chrysalis.Cbor.Benchmark.csproj", "{070067AA-3F9C-FB4F-0890-CD5D5C2098E1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Chrysalis.Cbor.Cli", "src\Chrysalis.Cbor.Cli\Chrysalis.Cbor.Cli.csproj", "{64B54EE9-674B-458B-A40E-CCCECE4EE9BF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -15,23 +18,33 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {59CEEE6D-F821-4967-BAEC-6122E75170A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {59CEEE6D-F821-4967-BAEC-6122E75170A5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {59CEEE6D-F821-4967-BAEC-6122E75170A5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {59CEEE6D-F821-4967-BAEC-6122E75170A5}.Release|Any CPU.Build.0 = Release|Any CPU - {F6FBE714-F705-4198-B888-C9603B40D0EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F6FBE714-F705-4198-B888-C9603B40D0EB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F6FBE714-F705-4198-B888-C9603B40D0EB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F6FBE714-F705-4198-B888-C9603B40D0EB}.Release|Any CPU.Build.0 = Release|Any CPU + {75E9FD85-74D0-AEF7-712E-4AE33F9AF441}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {75E9FD85-74D0-AEF7-712E-4AE33F9AF441}.Debug|Any CPU.Build.0 = Debug|Any CPU + {75E9FD85-74D0-AEF7-712E-4AE33F9AF441}.Release|Any CPU.ActiveCfg = Release|Any CPU + {75E9FD85-74D0-AEF7-712E-4AE33F9AF441}.Release|Any CPU.Build.0 = Release|Any CPU + {B6D86DA9-6597-0A6F-88F9-740F3B44DD6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B6D86DA9-6597-0A6F-88F9-740F3B44DD6A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B6D86DA9-6597-0A6F-88F9-740F3B44DD6A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B6D86DA9-6597-0A6F-88F9-740F3B44DD6A}.Release|Any CPU.Build.0 = Release|Any CPU + {070067AA-3F9C-FB4F-0890-CD5D5C2098E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {070067AA-3F9C-FB4F-0890-CD5D5C2098E1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {070067AA-3F9C-FB4F-0890-CD5D5C2098E1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {070067AA-3F9C-FB4F-0890-CD5D5C2098E1}.Release|Any CPU.Build.0 = Release|Any CPU + {64B54EE9-674B-458B-A40E-CCCECE4EE9BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {64B54EE9-674B-458B-A40E-CCCECE4EE9BF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64B54EE9-674B-458B-A40E-CCCECE4EE9BF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {64B54EE9-674B-458B-A40E-CCCECE4EE9BF}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {59CEEE6D-F821-4967-BAEC-6122E75170A5} = {11F07A82-20F5-4C10-8B88-93A683A47F0D} - {F6FBE714-F705-4198-B888-C9603B40D0EB} = {11F07A82-20F5-4C10-8B88-93A683A47F0D} + {75E9FD85-74D0-AEF7-712E-4AE33F9AF441} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} + {B6D86DA9-6597-0A6F-88F9-740F3B44DD6A} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} + {070067AA-3F9C-FB4F-0890-CD5D5C2098E1} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} + {64B54EE9-674B-458B-A40E-CCCECE4EE9BF} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {FE86E409-0486-4282-B363-AB88B621356C} + SolutionGuid = {561F3AAE-A6D8-4F94-88AE-58AC76DD87A0} EndGlobalSection EndGlobal diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/BuildPlots.R b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/BuildPlots.R new file mode 100644 index 00000000..a1fed607 --- /dev/null +++ b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/BuildPlots.R @@ -0,0 +1,186 @@ +BenchmarkDotNetVersion <- "BenchmarkDotNet v0.14.0 " +dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE, showWarnings = FALSE) +list.of.packages <- c("ggplot2", "dplyr", "gdata", "tidyr", "grid", "gridExtra", "Rcpp", "R.devices") +new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])] +if(length(new.packages)) install.packages(new.packages, lib = Sys.getenv("R_LIBS_USER"), repos = "https://cran.rstudio.com/") +library(ggplot2) +library(dplyr) +library(gdata) +library(tidyr) +library(grid) +library(gridExtra) +library(R.devices) + +isEmpty <- function(val){ + is.null(val) | val == "" +} + +createPrefix <- function(params){ + separator <- "-" + values <- params[!isEmpty(params)] + paste(replace(values, TRUE, paste0(separator, values)), collapse = "") +} + +ends_with <- function(vars, match, ignore.case = TRUE) { + if (ignore.case) + match <- tolower(match) + n <- nchar(match) + + if (ignore.case) + vars <- tolower(vars) + length <- nchar(vars) + + substr(vars, pmax(1, length - n + 1), length) == match +} +std.error <- function(x) sqrt(var(x)/length(x)) +cummean <- function(x) cumsum(x)/(1:length(x)) +BenchmarkDotNetVersionGrob <- textGrob(BenchmarkDotNetVersion, gp = gpar(fontface=3, fontsize=10), hjust=1, x=1) +nicePlot <- function(p) grid.arrange(p, bottom = BenchmarkDotNetVersionGrob) +printNice <- function(p) {} # print(nicePlot(p)) +ggsaveNice <- function(fileName, p, ...) { + cat(paste0("*** Plot: ", fileName, " ***\n")) + # See https://stackoverflow.com/a/51655831/184842 + suppressGraphics(ggsave(fileName, plot = nicePlot(p), ...)) + cat("------------------------------\n") +} + +args <- commandArgs(trailingOnly = TRUE) +files <- if (length(args) > 0) args else list.files()[list.files() %>% ends_with("-measurements.csv")] +for (file in files) { + title <- gsub("-measurements.csv", "", basename(file)) + measurements <- read.csv(file, sep = ",") + + result <- measurements %>% filter(Measurement_IterationStage == "Result") + if (nrow(result[is.na(result$Job_Id),]) > 0) + result[is.na(result$Job_Id),]$Job_Id <- "" + if (nrow(result[is.na(result$Params),]) > 0) { + result[is.na(result$Params),]$Params <- "" + } else { + result$Job_Id <- trim(paste(result$Job_Id, result$Params)) + } + result$Job_Id <- factor(result$Job_Id, levels = unique(result$Job_Id)) + + timeUnit <- "ns" + if (min(result$Measurement_Value) > 1000) { + result$Measurement_Value <- result$Measurement_Value / 1000 + timeUnit <- "us" + } + if (min(result$Measurement_Value) > 1000) { + result$Measurement_Value <- result$Measurement_Value / 1000 + timeUnit <- "ms" + } + if (min(result$Measurement_Value) > 1000) { + result$Measurement_Value <- result$Measurement_Value / 1000 + timeUnit <- "sec" + } + + resultStats <- result %>% + group_by_(.dots = c("Target_Method", "Job_Id")) %>% + summarise(se = std.error(Measurement_Value), Value = mean(Measurement_Value)) + + benchmarkBoxplot <- ggplot(result, aes(x=Target_Method, y=Measurement_Value, fill=Job_Id)) + + guides(fill=guide_legend(title="Job")) + + xlab("Target") + + ylab(paste("Time,", timeUnit)) + + ggtitle(title) + + geom_boxplot() + benchmarkBarplot <- ggplot(resultStats, aes(x=Target_Method, y=Value, fill=Job_Id)) + + guides(fill=guide_legend(title="Job")) + + xlab("Target") + + ylab(paste("Time,", timeUnit)) + + ggtitle(title) + + geom_bar(position=position_dodge(), stat="identity") + #geom_errorbar(aes(ymin=Value-1.96*se, ymax=Value+1.96*se), width=.2, position=position_dodge(.9)) + + printNice(benchmarkBoxplot) + printNice(benchmarkBarplot) + ggsaveNice(gsub("-measurements.csv", "-boxplot.png", file), benchmarkBoxplot) + ggsaveNice(gsub("-measurements.csv", "-barplot.png", file), benchmarkBarplot) + + for (target in unique(result$Target_Method)) { + df <- result %>% filter(Target_Method == target) + df$Launch <- factor(df$Measurement_LaunchIndex) + df <- df %>% group_by(Job_Id, Launch) %>% mutate(cm = cummean(Measurement_Value)) + + densityPlot <- ggplot(df, aes(x=Measurement_Value, fill=Job_Id)) + + ggtitle(paste(title, "/", target)) + + xlab(paste("Time,", timeUnit)) + + geom_density(alpha=.5, bw="SJ") + printNice(densityPlot) + ggsaveNice(gsub("-measurements.csv", paste0("-", target, "-density.png"), file), densityPlot) + + facetDensityPlot <- densityPlot + facet_wrap(~Job_Id) + printNice(facetDensityPlot) + ggsaveNice(gsub("-measurements.csv", paste0("-", target, "-facetDensity.png"), file), facetDensityPlot) + + for (params in unique(df$Params)) { + paramsDf <- df %>% filter(Params == params) + paramsDensityPlot <- ggplot(paramsDf, aes(x=Measurement_Value, fill=Job_Id)) + + ggtitle(paste(title, "/", target, "/", params)) + + xlab(paste("Time,", timeUnit)) + + geom_density(alpha=.5, bw="SJ") + printNice(paramsDensityPlot) + prefix <- createPrefix(c(target,params)) + ggsaveNice(gsub("-measurements.csv", paste0(prefix, "-density.png"), file), paramsDensityPlot) + + paramsFacetDensityPlot <- paramsDensityPlot + facet_wrap(~Job_Id) + printNice(paramsFacetDensityPlot) + ggsaveNice(gsub("-measurements.csv", paste0(prefix, "-facetDensity.png"), file), paramsFacetDensityPlot) + } + + for (job in unique(df$Job_Id)) { + jobDf <- df %>% filter(Job_Id == job) + timelinePlot <- ggplot(jobDf, aes(x = Measurement_IterationIndex, y=Measurement_Value, group=Launch, color=Launch)) + + ggtitle(paste(title, "/", target, "/", job)) + + xlab("IterationIndex") + + ylab(paste("Time,", timeUnit)) + + geom_line() + + geom_point() + printNice(timelinePlot) + ggsaveNice(gsub("-measurements.csv", paste0("-", target, "-", job, "-timeline.png"), file), timelinePlot) + timelinePlotSmooth <- timelinePlot + geom_smooth() + printNice(timelinePlotSmooth) + ggsaveNice(gsub("-measurements.csv", paste0("-", target, "-", job, "-timelineSmooth.png"), file), timelinePlotSmooth) + + cummeanPlot <- ggplot(jobDf, aes(x = Measurement_IterationIndex, y=cm, group=Launch, color=Launch)) + + ggtitle(paste(title, "/", target, "/", job)) + + xlab("IterationIndex") + + ylab(paste("Cumulative mean time,", timeUnit)) + + geom_line() + + geom_point() + printNice(cummeanPlot) + ggsaveNice(gsub("-measurements.csv", paste0("-", target, "-", job, "-cummean.png"), file), cummeanPlot) + + + densityPlotJob <- ggplot(jobDf, aes(x=Measurement_Value, fill="red")) + + ggtitle(paste(title, "/", target, "/", job)) + + xlab(paste("Time,", timeUnit)) + + geom_density(alpha=.5, bw="SJ") + printNice(densityPlotJob) + ggsaveNice(gsub("-measurements.csv", paste0("-", target, "-", job, "-density.png"), file), densityPlotJob) + } + + timelinePlot <- ggplot(df, aes(x = Measurement_IterationIndex, y=Measurement_Value, group=Launch, color=Launch)) + + ggtitle(paste(title, "/", target)) + + xlab("IterationIndex") + + ylab(paste("Time,", timeUnit)) + + geom_line() + + geom_point() + + facet_wrap(~Job_Id) + printNice(timelinePlot) + ggsaveNice(gsub("-measurements.csv", paste0("-", target, "-facetTimeline.png"), file), timelinePlot) + timelinePlotSmooth <- timelinePlot + geom_smooth() + printNice(timelinePlotSmooth) + ggsaveNice(gsub("-measurements.csv", paste0("-", target, "-facetTimelineSmooth.png"), file), timelinePlotSmooth) + + facetCummeanPlot <- ggplot(df, aes(x = Measurement_IterationIndex, y=cm, group=Launch, color=Launch)) + + ggtitle(paste(title, "/", target)) + + xlab("IterationIndex") + + ylab(paste("Cumulative mean time,", timeUnit)) + + geom_line() + + geom_point() + + facet_wrap(~Job_Id) + printNice(facetCummeanPlot) + ggsaveNice(gsub("-measurements.csv", paste0("-", target, "-cummean.png"), file), facetCummeanPlot) + } +} diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-Job-BZGSBA-cummean.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-Job-BZGSBA-cummean.png new file mode 100644 index 0000000000000000000000000000000000000000..ec6363caa8e4b07d0e6b7b17f198fef711259eac GIT binary patch literal 129310 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 WGtbm{Or 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-Job-BZGSBA-density.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-Job-BZGSBA-density.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b8e66c7f057905a6c68ff23f5357c89e8bc1b4 GIT binary patch literal 27025 zcmeFZcT|(<-Y$$49ojgKAR=Vc85yNSrAdv7iVgxQ(wm6%5|k21AW>0J5mAvYL_vD* zLP!E4pg`yylF&m#x5a zIB-B(T3SX%=HS7Dva+&=4jqz{lRJF)u)Msyf`S4F1p4i_-;NwPa`foYW5EL z{PD-}
h761J6&l4w3oIH6_Nl8grSy@FzMO9T53S6A22 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-Job-BZGSBA-timelineSmooth.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-Job-BZGSBA-timelineSmooth.png new file mode 100644 index 0000000000000000000000000000000000000000..8b23293cad8696818afac7d001935377d67f3260 GIT binary patch literal 138890 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

ILJYdVj&m8?gCqWtTFK2C$A$AP4$l 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-density.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-density.png new file mode 100644 index 0000000000000000000000000000000000000000..b8b8e66c7f057905a6c68ff23f5357c89e8bc1b4 GIT binary patch literal 27025 zcmeFZcT|(<-Y$$49ojgKAR=Vc85yNSrAdv7iVgxQ(wm6%5|k21AW>0J5mAvYL_vD* zLP!E4pg`yylF&m#x5a zIB-B(T3SX%=HS7Dva+&=4jqz{lRJF)u)Msyf`S4F1p4i_-;NwPa`foYW5EL z{PD-}


h761J6&l4w3oIH6_Nl8grSy@FzMO9T53S6A22 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-facetTimelineSmooth.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-New-facetTimelineSmooth.png new file mode 100644 index 0000000000000000000000000000000000000000..71cddc9e3ddd8a4a5c404b60db045009ee07ff2e GIT binary patch literal 146849 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 z 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 z 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 MT2#%vgLaqy2M_RS`~Uy| literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-Job-BZGSBA-cummean.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-Job-BZGSBA-cummean.png new file mode 100644 index 0000000000000000000000000000000000000000..af093387166702df9b3909668596210b2e9bba68 GIT binary patch literal 134963 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 z

VvUDbUU9~ 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

  • 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
    TK1#$6;7qo+m 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
    h761J6&l4w3oIH6_Nl8grSy@FzMO9T53S6A22 z(9qP>)Y8&Ad-klhwziIrj;^k*o}Qk*zP^Eh0R#d$ckbNz^XD&IxL{~#c=6)JOP4NP zzI@rp$mq(ID_5^x{p+v4jE#-2UAtytVq$7)YG!73{rdGAH*Va#dDGn7{MM~o78Vwk zmX=mlR@TV zLPA4B;cz$tfd~r=3l9%RB9SN*>cN8t4<9~!^ypDUM8xCAkDokw5*Zm86&3aL>C({T}ym=EB7x(t<+xYnSgoK2|#Kfeeq~zq} zl$4az)YNzH-le6brKhK((dhT@-+%b-Q7JsJ-xlXeSLlX{rv+21A~KuLqkKu!^0yZBcr3EV`F3EfQNiOI>ysi~>y>FJr7nc3Odxw$zCg)%=szp${dxVX5qw6wguyt1-FrBZ1$+Un}+ z+S(eOPG>L}>+9c#W7Lf$PC_tq=9hHnXKndMGDzdHH!=t=$;`CIlsD{aZx z*!$-N6E{_v<@;*$Njdn$uj@83^Z9?*Jwa$@_hH!hw#H*%Na$8t~q zozijb_&2S%!)F!i$t8(zuH8Qq=iaGC3Fx|d+(t~~cIEOQNkruK)oyW-bC2CbM2@QO z5c&CotjL2s1QC&o9=k<;y8tkGU&=O-r~m0I_m(sa2dgKGsyCg3+q71==dENuPsvB` zD&I<9of^x?ZLXP(hDJ*d4jVnS1>ru!2rPI>jug?cDJfZ@t+(i|$YjDhcZG~G_^VM2Xov3nBay_zUY;GF@H<703 zq+ex(j!gE8Y|sGY`%THNnj$0S?HK4XS|OqafBm9atQ@(d zKdD&LkfJ0_?nIZ$zHn{)tYO$i7X^h;`z=qE0abB=E_2CCes+)L{A?vF=Tj%=w5(8n z9mnu|{0Py0*AUqTnKA_Hev{nIZChDdI?s@zdXC+1gcJC-_e`ExE(1xnfuiaNX&Z9YR#R6H(<-I(jOH3f zE9t0x8EW3YsJe9hb?t!(}HWdF8jzFO+2PnXoCJueW~CW^JNcWC%UzfmQ>hw(Bh zxHNJh5Q4N_9+A{@_!W~9_}noqH0OLNftgdCaP>v_<0Se%w{65vm!O4CwgF3be0TSi zcTV|58donZ=d^~El=>54=t`dxnoWa3i4Z?qZG@wX?_>R-j65NzsWn00>3b#`U zLDKJKpYI^*EQMpqgTw%a%GaDzs~nUsJ4z@-fIGto zdsl-@AvhIb*P^i~e=rWn=G--FdzTxCt(E$=g#`U|RiN5o@!YiS-KWBrza z?KXg&OFTQ=hb}*dbWn4GQ$LJxG)y6T_FQzWYgcl7S@y5gESmb?GLRinfAzo6dX z{2Hug`0E>)lKL}W@9}>RT9Gn9emN4QaBsP$vmia_v_9#?iXAyVTlEQ~M$lDeKUT4@1nnlCN4oQqxL&UF_3-W<@XcKE~Pb}fq`%UT! zMz{8&s*%Ly2a{oK6sx}kqNU^J*Rf~ z&0t7(E+z=w_yjjH-$s&x3J{?TU;j0{uev?E>0cu)zn|hB*v?JOO1K292Ga zO-+Dc?jIlBM>w_Is3;drBUY`xXKG{NB@hVA=3Y@MsH&KH{;y1n8@eA1lBxE|2r>q> zAWLOKf(lNqV8)mN-t1e^_*T!6fGGWQyiN!r=d*)j{3vWARSeAJ^7wyhp4~>f#2~3^fX!>O-`Q_I_*B2Q@hmRcB{k#+Dr8)X_Z8!Fq z1kZa^#?Q25&zAGXCg1I;eCBRcMJ#gj*x+qj)vZeV2X0p~KV=AFodz^=+*k2172jz% znuc#bQIm>cH5Uz{W&~LGjUl~OigArYA2#^*MxOgf&Kwm`O>A41X1#2r!PZ5WwJiF` zQ7!G-upG7Of?_7rZyEK9?qShynrk&HMzgoAq&{$sxA5g=@hvPiiEM!da=Z#!Xz-Pr z?+tqIM-c?J_d3ua^zrpCy%|MK1~!2~eRd_yvv@U!k^ z36>j(wQN+>SZTlNsm*iy^t;5g<1t!ddSlkY%w?r&94$>3?9rylG2Bq45OIk1a`kkr z97Q%cUeuVD9U8!F%c(O9!RT*tQn3ovmuA1gjNHc3n8Qo^U{n%=nsr@nRJ;ik_NMIY zFfn@2NQuCT*{XF$Ah( zi=?rlA)EE5ch0>eVRl5GP)WxR?Ukd5QEgSjT(slM4txJ3;Tu_#UBdGZDK#q8t}bDt zq2X%kdY=pJZ^SE1H0;&7-*Mio7t#fKrJ9~HXw6dzt&+Xdn(Itn&P?Zh)ksPZGf>GP zi!Y$LBX&k4uzo~ql>mwc&z8v7E)JW%)-Qr5a%1-~Lz&uIHI_W;Q&^P@&cKPiOn2cO z5%?153|*^YW8KLTNqi|{dKWr$aHWk}TTuzj~-`VAQd`1oT>l=>#r|{#$sag{9huK?5!Q>kC6KiLvEl zg8udB)BvYA5~s{&vg=_0$FF2RJsdXMTD=5nMy-U2Qt1nw*PVETL}J;Q58HK7v77xY z4s9;=9=k$UZ8n=ZXFk(}>HyJ`iu%f@^1zpA#BEKt(ytq3I|){}t+;*a3HxJbL(Dxq z)VQa7d&A^n4=&&Eez{V>r;L%s_aAm<*K36HZp8V{e2PfdJ1$6}Mww^1-{3uJixiE$ zaSS&SrO)a4TWC!2vO0>tpY@#K=}f2jZqAY(74(k8TH24p5?!OD4e2#3=C{biL1nkHhACy6gMbCz7Z^7Fj2}Oyg_H;v*{x6XodKSSqVO)u_}W7d;hc zTj9jsjd>5_!4~GXCO(^$L9?tN%cIQS;(JbB-M?r`qroZLP&I}WZv`uE+(g~F)s#Hn z-a62dUGYupWWnhB)tWeR4x&DQ%Fcf~tAtlu-zyr-Z*wAmL+zQe(j+N*QRVwpna4c{ zSi`9U$NNpvoV2NsPuTk{<&)MgwVp(38ZIfYe6f&Qv4@u@y(MV{IEtP2?Q6l0^R`Ug zQ<%8C6h9$ejPW~ZJmcj@T+x|waw6>pX?69q*RU4CW_CpMZ;gJ3RMR`@#C+b65_jx* zv|}7N^yY?YSAN(eYF5k`L|_kueH+ATDQ3&$JIatJBz9a{@5_PX<`CGvowCPUfR$KmGD9#nZ z_K>#mf!G{G*e8v1Arw@pe=HOxP0R_I;`}NA9iqSGYyuLUg1&CGl1^PqSkyoH!nLXF zFbpZ_9oe~aNs{%oQ2{r%`dyw)YfcUB%U)hyAI(N|@S5rtgh23J>gC`dL`CpCf?7WHxlN|nlxD&^@BGc2u?xEF zFjf`r8tU{yVog8?gSme0!!HzQjje~G3&W5L5q-Az7E1-YU( zb$hE!Hm?1QN&^FBM+jq;i7J@F%6#2;gEt1)D~rVeR94nhT~kWxb(xQl3DDW)OnBvn9Mn(j{Ot4Hne#Ox45`Czyv7q)6QYJUDs#oZ`A$}wpaJ~GWt{=hPT=#pZLE%?b zdRVY8^-0WP^gghkq*?9dPIEVm=~juVsfgAA9E&g=c7=+XbGp8#_V1i~E1%4{#xi7k zkI1GerO6;HI)`83Eatj03~pCGUpy9;GyUA?5hUAnARs&Iq5-ZlA9aE_IkztJnFJO= z#Zhm-88@#6QW9xz_!hOEo(kx<;L-32xGhfz^o`^F3kw>9se|Zc%vWp8!|nGdlv1~O z?pg_h*4-1KA4r%C9}t8YX*QiTO3IMy)rM&%2`-Me$Z2n$FB@QUxW=1k4BQ03EDPJ3 zB_RdMj0~@k+0f^FJ#?*o7doL28d-UsDOIS=B+$zdv+b%U$g^K@CH1FJ;q{YzTo7HXs+S)?D z6>lZ1*n~thxHER?TH(*|G-+t#g8X*|N7LM@nY}SCbR|2f;=%b&!Q}-7fiaLHn9r|C^UWx1ELpBMqwY9Gx}hWv>5^kL_p1`Sk- zR{I#nhoCdVqRoRE3njECT2(oH6EvqfGtZ``@4f3T-oH}4otHjI1rn{Q1U5$1Y3GC` zn%jk^zXc1<(MIb6H49kG!Qf6wSQJbgu`v0EfK_5Pvhomy4|vnLb^UBIAbIkktD!D2 z%`zv&oD#sx>6d4rjCPb$ZBu^W_P4d>K@x|G9?>UZM5j*3nnYUME0PPp(j44X!b}Th zzYAL!cjA=OnaDSr4z!tL3wEdm&5a(CT?3;Pl0i?YO&np2Vw4mj`z3r%4N{P z`4cK=7hxEHE-^$6SR1sY>_laXBIZ+?IQatBAg==&_V~mV0i7V3-Xf$r5&dlJ06&z! z5!Tq&>wfaBre4^KLz@K0Zo%@gzxzc}TZwxvH|+#gefkC6!K;m;#G==lUMrESHJlvM zUa+#Ysph_hvRa(Hta!Eh828~nLt3~5L-+NsqToZ`%AG~ZTz}l^y|nfPU!8D@U5Gy} zkou$^n2^1nTg9+_7Z4sfwfbd7$PMg3N&QhL9VUI|HOH@p+x8(s>-RcFJ1o=?m&?_T zw3>~sKB01`3??dWo^l;(qGgaTFpu>**q;4;@JSL++s_DgJS}~2*;y#*zyLs?hI(_X zsvI<1clOk6Cb z43bpvla1zNuT-xwW^z$roooPNp%V zmV0a8A(b|h7ZbD8UTk(Ewf!r9@{+f}R~Zz@bxbT?u+C6kjs$FfAt znFT*y&_2Pl5ApE~A_zx}(6m%4JosJ@gkr3qzxvEbILNWWET)IwmB^lbWY)f*Wk^Xw zmj(Q?vn4R1uEYeiMB=%2%r3ypv&g<_cI@oosY_X?MnO3(;_REx#+M_z=05;qnNI7w z1CW?3tvOOffHrS);mcwo&jCmz%x8y@wiiVXYmLV-SEG5z8a zx#U={o9|HVI|G?2+DCg&WC!-7=Y)p^?mhHEmXpU_teKgO4M#pX9(T`(imAlL%ZMD% z7-MBB-nvbbJeXan)CaNa6J^D?DW`s)_yU7b)$mYeY}@Nbh4Q&SQhn3j=E&Ba_|iM(rlUJLYVd1%mH$-IBQ;3f4;GxMK&5&BbR068%Pd( zo!z~60F1bdTeoNy_3Rh7${rAqsZ|7q5^Ur{=dsA5{7PEyKKHLzo29)j?AoNh+FLal zFJ)r5*1Oo6J$O1{e~fFOaH8VUCj)ajE+e~q#M`f~#CG7=ms>ASp{@$%#%3xlM|R3- z&*Tkl!8N}+i0M{VPMXBt&>)LlvE!N87ePV9vAm~tB~NtK95}3tU`s=vZA2m z94!&-KCCM5kLkWFPB?N|R)3 zLI0Yg7O2=QyvQZbW6a2#l0;aZ8^o4Zep=!E$m8eBMCbka8;R>byk_N4~$?86>lxowPuH}6;7fxUaKYa9c=G0_qd{FpWgYp!iK40 z{x6JaU${2Ar;qh7#BJt~^o(QDHBq-IQOLkQ+MIn=&>fBus3oJSTv+Plu>@msb7-RAMTHyw1e$6StwJaF58vK$s=mOB^| zYoaaHTR5rTy;RvCdRrrt+TykkQ;%iDOwZL+A&*_+B*WfYC@seIKfF0%g zB9ONE=YE@b*@Ry|<8_b1J zlgY6^!&?GpAER|&XlIHVgy2uN97VuGM^e`5!_*~3NQx8AFiX5oOd+9*Fwsz!fxO_5 zZi$C7ZFLgctD6KFko)AUfPCLGTfR6k^$$l8urH6jh~wJ4aa<;puOmYVo*XN3sPaiXwCRm$#3)69);7>43Yo$8G{+lQCV;#&sbRp<| zcma8*oXzRLZd97)))G&v{*;q};9Fmo1Qh-vKdeMD^q*oZlOfw_jGld+b_+30L7=k- ze6CSG4jJ$_JXr$h>17i`*5(XsG(R9zz@_(OrGg+Nq5cMGMYU$YZ(( z|30Vd9nOW|ej?EHlpbtznjWd8cR3z!6=lF__tc`{q7K%<|C=rvh=ZsStQ5k2YlAtut4CYo(A0#Fh9 zjKNRkgc}ayK2B99MPKZVJ+;uaeb(&JNnqarSZswq8xO83*~h(F=R*7QR;Yr>_c+|> zLaqbgev+Kf+?r>jxeHIk>E^*g2r{Ukfkg|ecl_kUU{tVafovUZYK0?dmjo@pmwH4HM1^g&lDDBhi7yB0>_Wm=%NiYgXjpF1&E)^SW97Lq0y0YU55 zdMogO-TN7dxio{j7CbPDe;*!my?T-y&VHw4>4e<8SAw&1R@DMVU}kTmhcP>FdHK=g zo)Omo_Y#c+^F!@rIo%BpJ2lVNmrqSb=z9?en-&Fd;d&S2U1vH~jhWmXqj|sZJnh}) z6qoZshn){%T*j^uVD82^H0n>w6?v(3@B}S#rU~ zp=MB?VxYLl7PWxt`n;%Uj15^Gb$j}6-CQAy#h3O3K>$hvp!B6QR1ChdypsBjwn<@)f$OanvR$Dd%Kp2T^+SBsF1Ak9 zDZceXy3IZw9s-scH{=qW48|a~jZHK-cu|)xR%`svvj9a~Ho8OO(5@o|`MPOi-(a~0 zpC6g!Hjs+!f>x$ndbdrQx(5}@wx5WZ9X8KJzOM=4%kq>I3;?j|O|^?c$ZgwPGLCi3 zyLprYp1|Q-h=CZt0;Xn%RKG#&@z&hasm?S10;z+}0Sfj#JMKP~_Y;)m3%Ie+e>hyf zp87TXq@n?~y(bGo;LU2c&p|O=sMw9XfJ}vYoNR_m+2+%tIY08|G|z0SZ%hW{OsibFEd^jmiHkN-iRq#tAY5%ZU1 zV4aVHqdL2eyJ%;X9Y*}LA+;_Y3!nZLVR}dFZmE%iY$S>`L9yfYXn)&xyjxsC^ZvW@ zkW6U!9}5A}!Fi~uqP5r?)0$1W!byvoN_4C_K17Gl{SaQ0H1=49sm+aTmMifpXdzdz zKC^0ep^ALJCTsO-{|3veos6U%W><1@;{I}1f`zkc*qwg{4;E0-v2410Ix{}ZT2;5Y zX!R!1n_iS8$N3bV8Xd-Kwc|aFiO+(up zyQ~E3ZM+m!zm(J^@ELf|Ddr6-DfDaCUJPzE5|H=*MVl$I8!)3k8QAaWi0t2ACtFEK zk2*ji_xex-P+TFG^{IeyX*Mn+7T{l`=Y+I_1uQr@q3m$wN>g>Nu5i`)^EnXxB~u~% zb1YaEDR7REw`P3ef)|4{OO%b*vfgU=8UyQ}0b#?2Rh&a+A0N z0O5(g`{z?X_!4UsK|E>=Xf3bgo&Mle2SbH75DboasumYaY%$0-kq3is{2~))2&+?e z2qlpT%{vR4P3T@HN91YtOOb|Om5FX4uIb_!@~GW5k(vX>)v~yh&Lez+9YRfHqWaEW z&8B8|G>-w+gC#qui8QEq0#DQ^rU9jsHZ_~oA`QMRK=q9j;Gj#k&t9#jwoD_kj7ZX( zKSsrss^R@({Il$0k%mg;M&Jd%UH_d!FaOEWnQOJO#Vj?E(n`<&$uXP%q{aWyd7d8) z{kM-o{RrKU(EVRNUH1c0KOpr3QvdT)sy}%2gGWDj^n*wLtt0L~#N&r}{J$(7PqPWD zDFMKhkMRU`-$-S|dX8VexQKshPrYpU@@5G;-c97e*wd>iA68z2@aKUEweR^pw~*^v zhsp^~$ZX)tk)cXi+Z?P%g`=k4a?%n|Q^%(kLbsO#tfL7rP&yKg%9a(moo&)B?u!qZ zO~Cque2psZ5f?dyIqn^4xzu8&UuPwuHQLD0xFyyulK^4zT1 zufW_rq0UpI35Kq?VOhGd27GpFyOlC&7DX-?`$;LioJJ3H9^nYfzWE01lWXyVd48wI zXB(nzi=s&>jw7XxYm5TGALXDpU{N7zyhu*GebWGG;yz+Ra~#3(?*JC7-OX^b4wynJ z)iwLKYH^GGo0y}<)GWa8$ZOr=cvO2D0vtNd`;^*Vvl8!`3e3Kfj+mr656Emfk|ZKk zoPvVMgc4uy5D*W;6wM}i1pZFQR+(1+cvz`0w!M|IaP-6Q%RGY6`i|cTr3_Jy=`X~9 zxw2M;0%0raevvVPwbo2(Ch#d3NFmc+7Q7p<%-E^V?O-fWNtUVb`VP=2XQc*G1fArJ z84G>>m`!-)I>O{gTaujfgk}G=GGOi-8By+23lvROA8-rtP4F!SzCUhKC99C=I_3?y zaJA1TvTv}xJp6k__fjX_jbN3jlM+TU;S=w3e7YS&UVSg^r*=3=qKaE1G`{z3>SWA@ zlQ1-Ssa|S6!NWSjjC+o|oegHb3_h}4k7!ij=rJVF7{6{SU_HcovBfvCR<|EJbpJP@ zKWW0dNkEMJFe{s4z=Iljz$ZOnmW37l?-!L0mdKLgIK1&Jo$pPD0Q;~%^Qvl%gM{$> z{hzPjsdo#xPo)GTE(-H)!{Wd|x{4Teo0O9g|;rRKEXUomm^!0SH1>j?Le?4ckq9?9?MF#||; zD)o?N(Q$lm4bmw|jO#lPc@|@M)5j!I?>k`RBxUeorrR@@(tfl7w zRCdj4SX{A+F~I@K5pmoB?&ms(a-Ympp>r9Lgw+qhirlh*HTFh@4<~40%4pR1I|rpT zd?HcMp~j80XtI}6m@8$fWK0GkOo;HCnyRJSCX}hhmFQNOsv{W}0;t*poBmQ+QcrP& zw~h>G2sf;o*jKKsdl4`}88CshB&(D29OvnpurllbcK{A&34?v3$!+U0M)Kv=L^|wx zeJN)B^XG3zggAK%Se6qkuXn})ev{MdUT2IS!G*o~MSmFmNNmk*2YzEhj!;dm5>h`5)UCC) zqGsz^1u}RR0cvo&=sSR~s(ty6L?E*N`<1vmp8?v>vfLAauamCEsW&m5>KSYsp;{*Q z*UNT}XO+kZ(^1$$@Tc#t`X)3$6L5v0xuE&ET%uk09l*fVno#igWK52|BdXj(nDuOD zHTyXH);)5;QLM0xw7O5^{;_ZVOu5YOb$s(47B{L&oz$Pa3xKk821uOYDB-(!*2qhw zPNuE6owWjj<7)(@;SNUDv=0#Tv7S;{Rflv}G*IOG2V0KYh&d3caiL%cY+kEG3+@5k zc*9MhmPfgc1fzs++Vy;rwS|5w$FqIrJ9>o7z-1Hsr=BSqfZNM4*cn4Kq)do~YXG)4 zK#x}{O1Is%{MSMzK+e|l|8Vn^0^r-<1pYrGS?=~}Zl-1#PgcO7g+eoE(ko7>_iyS9 zeTR!H=DQ_E>CI>ek=3`8u$sPspdgpk4ZUlW$L3Fd=Siqqy+1#!hv>Ft&zU+ceDUVA z+gbJ4C$6z@hA1UuSWVrWjTNfLB_Q~5 zD>_>@oYc6r;Vg%LP$9$$BdNOJ9f_|5gEGFi;}gkEOR!qkXkx9j8wuejEIA)6&&@88 zr4OA$T7HN2u(*@gP@@bxWwL=~r7dhg1$b==pbvgjynvSAsw9+1Vc8EG4}ef){H0cp z55GqnMF9G2y_lkD$UpkEwfLk)(+QTM3#bHW`Z(a?Qq4D1p8rUgTA}tyfCl}@aUsk9 zDDhOQW7AOD)n0fuecdz)hPS<#%m3D7zAJ?Yr>X4MOQx z4g#1H^!0h64|bHHEwpFXes#ko1QYy66A!1mnl8jl9WZvNqAHn@%H_o6Akko2wKBR-$VM_N(LN}2-dYn+yk(-@_{&rI0I#sTjILN1Mj92<9!~4W))Q&V3B%6sNy#P_WfVDY5Zdv_G23MA5O!z1Y;Olh|S_>ep7&$z0Q?5X|X*r zS1*>`u=wrd?}vUh{_r{)D@A zaoe`@I(wK@C=TNeb7wB6bF>v}k^<5xvF&ful8H?q28l@PJSWV}UVxpy1IqPEIGFse zKKRm982!()0RN5RKZ^XP0sj%P9})YH82SS+KLGOsF#q))?FV0e@Z|?ze(>eLJ0kx7 zRX?mX2>!G*kp_Wp0kDbjz~-<2s?`CX8Tt8e$|CX?plr%Ew1M{a1uWE_G`2=gn0SxmqaBE=5p4+b(7dd|m?0X(&?+-;y(Sr$6p(8o%GO z&aOpeVmmvM1~s<-m@D$AB@4-jS|R8{i3lf0p<}g!jfA z2)5MFBB-{Qz9SX=(hS{NDanY=k#sbls+YwE-gfO3Kecq1u-Y;w%Qh(*JV9XTCumgb zd#(C7Vl~4Q`m{S%#w6q~sx?4CfR(2G;^2aO4N2Y%tQfc2CDR`uR$PDA*SAuOJ*!BNWdw)QP`4ENsv2T zFZ*7S*-#w#ug$%MmjNK9<;qt3))$a*>1Y9i&uw314Vhen;L{C!Zd)M+j8(6tx2j7r zSZ97aGon~}$P<7}hFge(%WS|RD@~3u8}$pAdQBB!t(>c&#qBuga%jHm%XH|moA{9Y!uV*IQWj5qz1Fzb=29})X-9jz{l?{j&ffU9I zBE8bIV(ZPMOW{KQEbpqlHP(l4mEyv5Llydjdy3UkczBebh919qW>3S(tbf#Es$bh8 z4mHsyy8Y?Lo>>C*yo`jTjGTTLe+6*5;%Mq*Z+Qu=YdN&zqpVkZ=UDaObvrfPKTGLC z-T{q_=btrSNS$Hg#b3y4Fj;i?baPJD8RB)h^gM zUzg3F3N?kPKLD)Jfx*f>t0aEZUS=9*C=S!7lrQ_zK5TS_cK~Iz2_HzpZZC)dVC~)v z{P@PqCKLqX4T1&hopz}8_&CRUM+^NtjNcOtLyMv^fv##DKYcLV3Uzy^yl;N7{~wWR zBy{V9I%|9!5(k3=ri<70ux|57T5IGL=ueJ+mU?{;d7xUQD#`Pd>>xXpnv%9u3pvOX z0<}i`(l^j}{kYZM!u#J1CW#lhQVhJ)s0(3nGFZIU`oti;tYLOqh@pyg;L2fT6~@Rq zaAH?G;#tGud)WtHb|i+c>l>l{TXsQw`JX4p+2Vrn13`~P1;DK*1gD3l!}*Ds^N4&i zWm{6&&=6sjFu?o$fyE^?5w&V_3w=}&MD%uik9fm1;w=jXuA&aTv$V})_w8&0M+>k$ zv1^;Pa0BrFz2Qe`xr3F(Kx4(aM?r@fB%rO#7{^T=2>p{FatcPoUmnna@_f@nzc4L( z?-^KtCcea1(zqTxD~v~zFZ1mB7pQXD;fg%u0HM2k5-u3ROs{I zkUP9#GgDGeY?Snh!HRq{j`f9Kfus*BhA;aq1%d**Keg7EW7(_8@<6BA;gBPVzEsdk z#-4dufwCZATwIq!Y>iU6UIjs@9n$ZZ>3Wg|T&M7LPhh zbxvJ(8s6)oaQ~M3Myq@9cdxN^1}gQ-`?6C_1uI@^Fg$SXxxq6a>c z9SZnNrA!dLCv+fk7R9Ji(|zkEl7vaWjy}N0YQcI&H&MEHr3C$3XYKWq3KWF5Yc&{kye_Q5Tlqau>d;-Xv|Iq2WZB*K?_MtInPl$%j7m zql1PeClvV`P)Cv^xEQp-G}N_4;Ng>}Bcc;@cis;%`rtm0$_s+cWx(ACx<&?6YNw!1 zY0=0BLf4A`x#o`X>v>CW9X*>JAs#tugvujZmL zs{w&GHqVilEvq2Ry3MT1BE+i$8;Ofy>~&8pL2 z0r-U@UMA@g@A&RNUXHyVsAC1>C23b64JNb36g66EUROfsVf^b&a*X8&ns zct2j_UgZtwmnbLSl}Ng7gu8m8GH=d^v{9|ri7%*Kb{&|2{@(VIw6&zMghCD5tDoI@ zzaQimV)WV-BOaF3dlK@P+i^>-9)3-fh_~Xg6RS6itx!IZQNVsufTcEuYwp5FFR`pN z=RkVi%w1_vDhL@iy&aNTW2DX>5*t0XRIm{%x1~9)1wxLd>~~^97NLr!oYWZN`-%ea zGQJe+HUxU>DwT%&q_0Jbm4k5W1@%@?NZFWIY8=SpaA`#}SfQK5;@BD*{ss!^tIr=@ zufI`Jz10LCf%8VZ9joq9evWqRR!P^gG!cct0^OEk7g4cZ{67+}@uK9)GI3zjLps+D z;z9zFx5D(x%w3w*mRQW1?9%pmv!Dcddy80nL6uJvd_yC%#-92?eMiGPixzs?5Zb}E z6F7fD0f$_i{=LSIR>bLAtc^f2tQhcu6liG|Cv7fyjkw}E1bBiiKsfc-m9aL824m6V zsl*DlbI{ z!yV{hVvj`;sz|`YQjxo(&b{O|#SGsdt88SDJyk!2X6BFP1HU|BU!s#$mR;F4Qnc10 z@ldZkzdBcrn&QR%`RnX=Fj=gef2g%iA>ZgS$b;$Fz^%2vb&*-2qL2XI{e-a+%v9e- z2mWp2{n$`;dYaO9E(|shf$B*oPbGuHCmojt_9s>)BE6P(yIKhLGb#oh)juu_0kJq?$1|5&=4tb|L#_-Bq$C8e`GG25K3FVPbM4nR> z2$i__(BWT0$aah7#5(dyr>c^BQA{kp>KYlfUf+UPKhxsh?v_>l*6Qq`XGFj9`|(jOr@M$Bvr2TN)ly z{mX>cnuPr|GwK}DGscUg?Rw|=kyq^yq1G0(HDDDTyEpU99kDk0H6zW~cxbUZn%_c<3S}K9u`EUE}nd4q-h|Zhwh+mM98yHy#<&X11?nQN^~` zMz>igekK&j`t>(w_RHjk-5uaP&zWY^Jv(j*E<;kGz^KLb+eNzzY7rQtPAR@Bxp&l>D&4Z+Y;tkyy zekl(zXE8uyTJaYPtyXXwyBV0!KHjBEBh8*oMx0oDp}GbiW6`e7t~L_RCv z&9}?q5A_Q3HMyiOfwJ2}hv!uy3_W*0(Dw4UKGAz-r(XqPv`>p!lGUxXmW>jy3qug7 z3N?&kf}A40ab+0VvAYRlTSsaz+AXk%SCTi|`lci!X^?Dei*>jK0qNLUAn&iec$no9 zc`kuc?#SxqN9L>jl#vq_xtasSV4)SrbW!Jq_{)RV>H|VNN06?U=ohH5qGE=abU0f+ zCQ5~vn?n8hD|jKQ}I}ay>8v62(!mlCTtaY54!erC2&M=~wx{qc^uu7tq4=UbC zHRu$*r56aOBLfR>_GVYm3fv(&r+IlBx@OKqlj>3UQqj;n|4c?jbffM)zroNMww4NI zpgLY{9+dd(%=~H)L8J8+u|V(Tq3yLF)mYD-U0VdFEJ|q&{QT8&X$SV=NzlE+y$uW>ES{l|e$4t1VFPx3XFcqlF@9FXN+jo1z{52A_l*l@3CBguvFqpZ3)*`jJA ziy|U_85;&#ZQK_ni)ma<`9(fP>43m<0E2D{WfXXk0t^BNzHEI}VdtG*P#tq^RG8h~ zjUi&*S=n*W_b=m1IWwXLk&x0cGgzmb*3R;QIv6pZ7jqf4XXaPbr>nY$)(PV>7RO-~xi0!GzxOTC{ zGW7-e7R9I52|cMA;0kMmM;d#5JYDDZmIRe9jA-IO!>dPWh#g!g>3zP!Al`hIDfivZ zm0gJm#_9@ZSCtySl~fO~OqyP{xiNeF_H=r%6>ZRN8G2QXAf{2(k!jpE3E4&f2^e zvtt>x6Vx+z-v`JwDZUWwM9iD^Sy>QE=ZIaC6TVgT!oDoWMC)Wohh6E=Y&;NbtS}6TF2sC_uQSXyIzDUp`b_74?%#ao_On< zYWQ2uR+Gv9>g-yhk}$(?i?TK>+dRwC2t7Mx({Qf=X`@Z+Nyyv{< z^|PLGVg%;(sP_)V|NJ0XCSaC)0nvx&u7+EnOSStqgJph8}T!F`HX^STG*-o>hz#urDw(O*3@jAZHE+ zedzXuL;lz8^(sHE)?NJ-$EQ(vJ7d9xi*9^9t|0 zOQr9;J84JwiZx{i?W&J=f2;}MT80k zg~X?)WLr*V?0>n)E~o-KK9Vk6f1#vcX26k6W9BEglw<9`-o5XLaK?am2 z;Qj38$1O|22xmEv!2q6blIDxy8_CRWzJi?D2st;v2njzpdMP`%12FRdHtb|;DqQ|J za)~3Wc{q1adeO^l2gL>TcE=Fbr+x|hy&*v6&EV?LZ>rWZV*Qu+!lx-pqM8mhH=MvK z=*_OSnC(BrIb1l<5MuQR!B%r?!tYb8vwpH2th~eT95|q&t{$?lQIzd_^H=8w(#aGbkBS}aj$}p_v`4h3lff3hNVp4DJEbi z@HA@h=-a%>4{8v*q$X};Z<0JX&`SFCAnju_N0I{*M25-*f! zoAz@sz68siK=zkp=nJdj83iYvXR}kbGCjhp$g7F>Yl_+ z9tK#ZYGdDJnobjvvz|V7xs@urO$qhYS7$Vlmh8MI^fhwH^~M_GkU*?-V++#Wb9|b4 zPj)Log1Q!Eb`?<&knqnNX|77f>)2lCk?t6Sx6$`9jYMD8-N}C0m3XWQ_Ln|(jHTI6 zGlCV*R}p%wRg-b6fumB7xf4jsI~)yPbE<_pY>q3u_ajy#xFk%J&+cuysIsBq`}c^1 zZwI@186h%S!GuWY5+T`%$4trvi-Z{XW5W^X(*_QR zck@H>JL?EY=8y;7{_WwLm@5Md*9sX`eEdpLIIx#O~%q(|CQhQ zb1*`*#7cNpw4Up2CYM`}+)48qqSC>79iM!^LSJ8y6gyB`y9%LRnE5U}cRYiKm{_YQ zuyZ}tZPJu@&dxT0AG<$md}7 z_hL>VE%SHL{{UhRCwrg!V6+_#IIbzqWa>&k-W$3cg+vy;v19%O0uf;larr= z=H_O01(8hb{1qYg?+Oyj=hnAIZQ%6BxV9%9AN zdpNTaTfP0>d!;s@#em~vXHYvbGID5WNK{nx_3PK)zkmPq_ho5md6&=T$C7X4)H^Yv ze}m|OO~H0yPNU4~b$_~IhH}n$jk~+7tgLD4qsNacY*z+yv}+_ns5#BYHNIcGcu$N- zHuRf(s@w6-pqw1x^>?{{Ul9=z4Gj&_v3vmptcjL0O;+JIJQxgSP+~}vSFZhgp`#o1 zrO7HNC}?PCJbLuV2kWlW_TtTZ_p+sUFZ_vcKVH#hsoZ#L5%B#5kNb&>jZI`>s5R7&!5zK z8c=9um6!9eAYbdNLj{MsYrO^>S3O^DOn$eX?^qhhicXb8tyL_vM8W!&hJ4X7GIq4K z^12xEL;RWjkmpeC=WS!J`-bBA5e;j6#~`gNTI zw+_^cj*3c3T~VAFkA1NG@tA@)S(M2_S_@ydhaLW^$dQQ`syW_`mZG{W;LkN3lAe(< zn4>*Wpx;ds=TL{px$SX)Xu81j9j0t|#2nr>>rLtWk?`1leSB>R=fVaS3=^N_wAapo zs6QT^Hh}}@)x76KW-##&E2^CL?AC^DVg7#66MVrbyg8xAK`4B< zS|FPw78)MzT+WCx8pMTF%S#<%IMWp1dboR+-_Ar@IxyA$(t|Z4{|7Mwj++}(_2~Fl zg*+ZI_IVD)kcNNw@ZrrR)Hr_ot^=7Y^^$v>MhZDvRl|jbz3}hL7t)Ycn97*Y(9p23 zV&lQ=os~iT*RRpISqTHenKk9oS2wUQ@EB=nX>%FHL`5BQ?@NCPa0qV-AQC>_?&UgF zP*PG-QE^!A`<5ggq*Y<}YoiczMfUh&S=^@q4mlxX!CrS=}WUE?r$6Ei35i3=o?Myvr~4fgqvZh-rjbCAU^j=jF+T z3m1L~-J)F{P&dErmZ0Ai^V`O6_7Rb6jSq>Nii+*pNJ)-$NP2oYEI`}E9}l;SmTk)6 zHt3(v6J3TKDmPUkMx@MiJB}%>H()D^7hxMAl@dZD*BqS{B2bQ+dl%rN7+r-D9%`6KRVYIBCUt z_2JR}R$b`Ma{uAMN=}LC$Uuqt1fTT}qoU)39rX&kwQAQxKKoyc>Jk^azXbfD_xyg} zugcE-dU0=X{Tkt_1_C;NNn2bR7bXu+8E}i)RJ~i@R$hr@JLJ zyitll_XM$sc{aM;Pvlc)G`!d0B8ojcJg6kYM8w3^kPvdLr}6PcbpXw{Fc^EunNL1&m%Jr=V#5aEC%8 zBsR9Qh6pA8A*?QrETzK^_U=rLGPzqZPh@1=_r~l673ooyx5w-!?gWUnPp8Qy)z#HC z1(B>TEac|7$cooqj6Hus3DQc2JX9&l%!S)QNo? z*AlaKwaaYFr`}Wb}g=p#NdscQHK79D{<;%Rhyv}HDb3~$d@7}O>l@q6+pddSY zZ;bVe7cX>mbv>_Q;^5+%RzG~GIGYj1_boTz2rowg==8N(gbcNhil=?vzz?9&+iAR_XHtMV!Jln z?}mzxgVR&vehOCZ9_oh6Pl##LDCb;W_8jj1d z8vIS|tGpr+9X-9%;aZ6?(c41f!Cx>C-!e08oN8cEz!!{v=DsxD8O?ju3^|TpSa^cT zM_ymj=CgH9X<@D#{qFWsFV@@(4#L4qRqJlSy}n%zsTVIMb6?ggWvWa)FD_F2(rOle z=k8s>S4|%(D+PRZsW#hLYNTR#^4yLOiehp2VzZt1enH;dU&*N%b-QM^y34@8Q1fTn z9|G^NzUpRXkR8n zDGTT18-#c1+4VM}+}qUy>}BQzNwbkG@=UD0w{>o;?0Bk(vtLHQmhY)&Z+*Zg|1i##`d&Q>Ag!3e%y}_Y?plKjCCIc8d-jJ8gA)| z<&WkxR$7>%p`;|{x9dO%0%Y8IgL>~H!7es7_UU%7On_JtgAYX>6<1H1zKt zQ^5D^?I2}6y<)@>6({I?kJm~>r;Cf>xla6@J9o-n)?f8m{%!(kvt-OJx}hFnz@e74 zi#+Vi4UP5P-kzS-7!y4A)58g4BO|XeMMcG`qs?~P-9%V?G}192RUW-|(u>}iG)O9l z^m9#>jx~aGW>CLgbE@Ukx|S56o)i#mFhg%PV?@vrIZ7CLKT>L>*cA6R4;k6R>EcaW z3hI62-u!{s8cN8xzFzfIZuPW){s=)bm4c$lk z#)5lTuRil`z0RV#nm0hu5LIb^gMn520lKX7z{(B;KCAV<@`n(|;^j`}jP&jk1c!vg zjvycnL2zHyJy}c&iYhsVY(=3lk*>(FRKuqSASL9!PecSk`x*{8V9Zd5RdSf2Jb9GV z0zjTc+aqsh{iRwIm;&V_h*S&o0%~e%8VIkUqXRw)*&a*&`jzMRmjlCi#%4#E(mwi2GZ9K!z@(M${s(vt5nW>qC7KC;;< zG9BUa!LnZbkx*RM&$biIx#6D_?k2UUW+`fI=@1B*@ z#&^_Y6PQrsf-i7`MFlAs6_c>9!rok#ML%V5#r@Be51&0*`U9GSj*X2C01;1kW1^y> zfGQ0M5XVXn=D%)-TuVtsWxGBuC?urS$M+Tc&#jf+g8Y1uz25!|Wfo@UY`Byn!Tk!8 zAvS9z$cDGG2aSp#SsB0TZ^+LhQ zC$yZ>r|4K%1N_o9*X&M&S8i*Uq?hC0Lfw)Bl#LFX1>29oXBcjD?bI{4^`m0%? zt=nm^2CnOf@^AivMZj|X<0BjS8nGnDxlrX>KXcL^jyo>IhBcBsewV3Qkdl_x63hd@ z5|Jo6a8q(?#Pja(CyTc!US3{%6Yj!-g0KK!kpjii)6;Wy zk{O8OUfmCtZ1|!*-vPRi)$fDk1nD7O*nM2DSXEWEJ&cKn+bm|k8prRGAD8KHCFCAJ z4pnw*QMUQ89)pBWN?~Xd2?2d%ex?Y0)xl(3#3O=f+AuKzDIJmT0C|sCz~OmBX@0)d z+Hlc8kbYBhb9h+T@PsTJ9{{%q5n#JTAfb4%OmuW~kX8$-1z$o=!MYoW%OuN}it572 z$%!qn;j#FGQb7%t)+Fw)K0R#YtF8-mn;(cGWK3ypPm%S7;Sa1?e)JQBT4yUHFC z91JjmX_b9zbF+GXo@hngjk0(V0*+xOFwxhLZU*kQzz*j&A3tiqm5CtA+`bU6Gv;=B za@-kTq_*}|A_O2N*^wM1TQ0XF2ZWZ6j!s*9`|0tzyZS((0b<&prMlGNcj88E&A~DQ zgbG*4XtrUlhcF2 zn#^9`E?RN_*&pAgKN$b9)8P2{i7a*Qmrhk$+WNZv^MQqGYe+gkl?lASa4JXo!2^#@J;RVi z9}8grTp?L1d5HzEuPCJ0e)?PXa}PydjmI93N_zStS>5s~4Nx z6imn*T-jS2S%AQA;@88=J;@Io>9xuWvfo0VFQH=jUbXoB`!~QZJFfk;k_nMZ-jKY9 zCj2|muVY~qZ!Je19UVd7yw*!}{heeu^UwqWXtU_!H3**|1N1xkh$<@fCyM&7UT-nE z_ZDUwKtHTC`4MWMhS{{o89CL2#Ka~iM-Zi>S%R`+h25(GHr8SC+y64DaiC5<%h9;8 zXk5Jn0b;VZw384Jdv4?5JstIbY%qgYXh}9)8tF7#>U7mg&n!slb6D8>N1TGryO~UR zqhr3AMQh*xC22_6tUcI`+tog2pANtIe8QS(HoC%Fd5N&x_0*)<*`ymav*=pMT68IXBZ z)xHezuUF12267N~Dr>t^Ri!~XsWTP+GkJ+ly}z%|_iY-3a&}>)+_uRW2v}dkv!siv z2I>O!<6V_h;^^d4`pW!>Uzw?9G?FbFQpicyEH5u3$t^cxWe0X|QF3=j$1P1|dypc! zPHD`B@!e~Dk)Y|tx<7P^01m4XLQUDq*b)m^nPq_)Oi`36(j{#;G zq%4Ioslyx=bzuUErHhJNf$dxrGG6X=a<ZHDJ5Ds*2DWciq$EUjpze%AI=|71bP2 zZ&&@Nx`P`K=RG|=PyftdAF8972i$a;_M=%fFMZvPhoH9Y(*7#dZL(!SY-*FZ-p=>X z(XniYq94=*JM#uvUoK`5q7vdOrlV4VrW%5mc-c$Dsimmpf!y8i9!@z@`a<+6r&#bO zDxakgzm3Fnm9hlZP_=8t&X=m39CTNfK->fE_(27 z`n$0p?>p8WUYmIaCCTeL-UJP5fpurI1>5UpTncQv$YV9`bZp_H=WXwhMAwW{r{S8o zJ%`ySkI(x9h=}Oi=7ZU>pR>43ev*#T)6=Kt=lAHf0Z7J>$HT|xR}d&+U}C!66;D7+ ztf4LljME*#`Z%KJ#r-ESw@#28>Gt{}A_?Ma z5|b=B!lN4vfj|JxbbIzJ;PY4(z+~I1JNS$$q@#d&6YOx*!{w(sCZ4$X=}4T! zRiRBO(5g@$@2)@Knh4LunlRYBiD-_PS3QZbANl>AfkI36q9V(k>$4rRzEZwohlBxQ zJlI9v7sq^Eiq^gf{V3Z~{ng?naaUOaN3+^Rbz6J0rKM$i+lD{dp?xr`_*bJ2K&iSJ zbWF^mEu$6l>V2^Y9spx)?S`F{arE~p2SN-9D7=&OtAmRgNR_-EW-4Rr*b>%015Mh? ze`;##9$gbMGi*)tQ?s(l{`oNq2}8u^#l%Ol$5C9S%g=|dU-ew{L%_Sk6O=SG3k&h? z#f(NpYO+|5>X@4hIDSpkOe9RVCV=cw*XW6gO|N}*N5TK;@DmWaMJN34Vhe76+_*3W z@bL&z@<40gJ;A8(a2kzQ3nI7Cu(0BIEE6p{b81fLE!6|$nPe}3Y9k}GuM2dp=Jdo_ zo=GMOL$ln*aPQYx9cSW-;^EQpF^yEj3ssItDG69DP&%G z9(zeNfG<1vD=h;95wF!Oq!LDBxKj6nC7KmwM|B6pVAk-j*8mvn8bM;0;ZP0u0g=Gl zy|bfZw8%Kzxqaqe;F9C9oOjL*Bd#M2dzfhvKzQ|UngPMOuJPl?8$q|~4`hE2|JmR7 z8=sbY{+!fR+HYd^&z zUrd(j3u=jMa`N)cK_u~?KLd=TI;0aF#P;*^OXRm%?gPnaDiKiJwovcHgtksR;9Kb_ z9R&p>tfle<33p^5@=4RsTEEE{-gSZAY8HWY0A#i)l5`cJ;3P0@do7EAgKWdDZf zGbGkLtV+gr9a~=2djI~tNWlY0xSn=BKJVVWkE_U!%WM)w?uSo|G)(H}h z=qb7TTG610y`B12Vvc(3So{0i3|@nNApa(EOQ_&_GlPiX@9#gRLirCdDC$Q;Cm*4u>4=zE?NjbC%+H*bBEC4-#ZF z9n=rvKmt%T=}SWZ8D5`*g#Gx@U zM|0uYW`JZ;QkoE^f>uhj@=S6-uX(mt(((vz=)QifntC(KW^wlhD5(nzgHV~6a69bG zp9cjRr^L3Ls{E5u1||mbWjtQF4>c%l_v4+Cai^7jW$mKTjfludUZ`Ev`(O|5GNu~1 z43yg%i?{z3Hgw$Fsv9tgI1ET#SrUZ`ifN?0?}j)1wk$)2C{g+5VKS%b@g>Y;;ra~S z?$t0cph%UWdo;b)-t(o+@#`YdB1PJ}+G~KMmo9 zn?x;S3@;f&2%*HhRtS_n4B z%3w}TTAD@LEC>2VY6T=V`hL_KNXEKz$;o`NW`2%y&lj-wDeV zBT7XMyy)n7lOo&4kRSuLfQ=0cL~H@!m5Q6ZMkDgBU&Ow>N!-(->eqvkR=2>`2a8V7 zWk5B?pc`=-MCR%_C_x}uXLg=&Xh@`VD()C!eH<-Tz&0y&w#L3ggLg~NL6q^XrwSk@ zBZ9v)(pQU1QC@yV5?j^(&*35e*rqMt7)6i(xyGw4!JnYcBSk-p00V|-7-YxE+6(;H zx_1Ja`uh5if+sA&puj+62~Q@Lk1F}6`_XT4h(#g=o4jp)-`}XWC^KQnN)TCYALAuf zc$tj%P^m371c)X+qYSLqF!ZyE2DR+2{V18n)^}8rKD!yuZ3bpPf!lj*xB=SU=J;OD zFjnn-i)tlirpFgmLP0D2(KPp%h+Dq(fiyLBh{T^@#ejZagjAlHNZ|0U0!doO0|eAB zO!$D`|IB;keJW}+QGE;qh*BxV-gV4qMN8zSH|T5c_3FNLKE@WL)EI>_F$kz*iu5v? zD|8)=>=XV*5H7BGs_Z{GwWI_*S++kPEouy?V);`r?F03}OQE}hM;rBZ@g;NZ;p#G% z_n|I^X5O|qm=oWyFmDD)0%RyAjne1aVl2i`*ggg6f27EGuTNfP$o#Y zM~UzA)V~g**-c7Gig&KX@}B zs31#e-iFm6zDy+^+iUwT?i_%>0*Zh;EuScefHgtL1o~{`{|11FJ75o3^kaFi#7%1| zpr`^x@jOPbVF2Ge{+1et^UO;>D?eY(DQ|9m7b*pW!%v<)dj^#8@gCEAGoxHpBB&tN zEk@zyXy9swWLN}J)2P&BnZXf(z86ay-aqQ@MplusQY|ff4X~KK`*XCl9k3jBs|iTv zs{{+QazILM1{D;WM94&S|KxBzJT%l5E{Z;g2OZJWX)wc<5TLHVGV~@!D$|?>S!1_l z^RBqLH&7h3^XAd`h_op^BO@`FNd!nMAmh-|E&>J)^!E>m^W%0KqhHd3cohsFNu$91 z)NLu}A>KZW?m}nuLfFgDZtaz_xsJVTq;Akeszi--%!3q%wn6#G=tn0Jfnr-cYI~AZ zkl=0v6wSj8R^gf;@!2ZYw`hxBlO6Mz|p4+>!dRClhfgO2ga}F4jYwdx-9m?%m6b=J;q)w3&Ln6Jm)w@WTBAs7ibqnSXra#^s2V(;Ly~4JiVp1L&W!IK2stH26sw#jJ{s5J^iX%qoAx zp`K=-CF%e3r^-|!QL6XOHAMS(l|jBa%k(8dYZaBB01`#;I{;us@mT6Wr7rd99PM!F zJ1%DI;nG{^*t4@AqoWU@6oN4bwTf||p#yY+;{l~|BllP;rCh$mq6?n{%duK{dUo!iwEmIjz1VXJ^!Q-dPi>ef{@+Lw%Bj13{ybPCPt- z!dLalfw9bOvEzHL+p<%MRD`m?9$aD`QLK#(_FTDgB>%f`y51#89}5dh3&Nj)Tm?uTC$J5b7dY?-kP<|xfWb_l zoF3_d9a0NSqyJTXXy)$jzVbPJS&TT#RPpwBfJ;(rR24+}#8$6(r28(;vB@vfWqm~{ z#aXr5#nE(2oOcasl{W3VoI);H3r*}3E6A7zuu_2d7?~&RqX5|~&Xq$cCfOigKt(D} zK$YiP7i_9dmS;$SvQZ=e`p~B(Zo@h+v_ulk=nxDf-!3H}Az^XFPj@YezKfI5$ZKRk zfi*TPFE3AVfCGrqELMtRtro%^ars>#oEp%E&Tf<%&y6EG+dssFvVl-vRas%Vbi+ ztop##SofC}9*Y*E26(0NTP=Y`f}<`>3aCGnB~S<3=Q9SKehF?>WrY1DLZO~#O9ngv zGtEKx*<}vDr(rXU1(zWVY$S!2Z{E2>=hFBCxSMje#)2)}UFi)*40WL)fiu>r)B_rlFnhrcbz$RSxVo}>?LR`M-@9yoL z!gx?iMUZNgK~)NNd>9b8bOpH|$f$1hC7|L_^_v(X(8fU}A8=6*ZuGct$)sBMQPQ-T z$Wzmd;tl4_0K0MsVOzrAnT)}HR0%6TbpmxJL%SqWYOK9Aga-RAAEgFGx!&g%D0A32 z=c`lOY_=K;mc;*`k%%1Eq5yz;BYdcI9^#-{ja!xfP_{-{Pu04ooF9_Al$Kgd)q$bu zTKr)KcqESZCRnsDh!m_2eQ@(1cW^m5a`cNlUC}urOY5YSCjLps zZq?p6E;H60HW3A0J=l7QG|rjp7cx7Mkia^fZ?D?^_5oCcMT|3P(m4J7{O)iVe6$Ey zJh{7$bLS2(sGCz!5Cb2~o$BoJ2@SA=Mi0Iw0VGTc1tCl3=~KBaSE)ivjN#G|M3W}j z%7ZQ@aIZjor;fTWpEC&i^{~h^arnPcdt>JW(la>q&}c534`f2*L;)77gC)`ZA% ze1xqAgxFX&>mu5(dG4nt!ly^Q`@!HK(+2)MbCwUklMbx?+nn6SL-}*yz+hD4H5)Aj z$j2A{($;ndN+?MGQ+aX=_cjnah&EwJ6AIFYQFj>%(&*Q(f6hSx(`a2IRAg0B%aGOt zf50CfgSUdIBq>uA$msfY?566xl}=ZnXi*$rMmXF8J}XOji!TIOvQ8u-hxn|du7jAp zgp9Eb_N9VAO6vBBK`Rx>d0~k`Q%#5O3d{m3W;ofb1lJSGioHdGx`@GT19UGm!(tQH z_BC7syI#kJ!b_Ln^_>pBSTi_*jNr~^i#Z4lSFwmA!o!sp<_j&o5lwSqME2g9mv{$} zC3&b7420}=M02x1&93X+@~Rl+KrtW2Iyq!Wh$cjQHfbA0C7{y5O+lWsW7Us8D({?K z)B@{O7!E~YYuC6XMo)-tiSUZg4LV_cTJP8k1JJ>sp?hP+4(pVMkJa|> z3+>mhlMU$k0>p4{+}MCz#~0NP*JoC-#$}B(KITS>LBV4azmwH|^(QO8pXSh~yCm*M zd9ip%fkUz*wY(fT?Mq8bSZl6O#jhI^+-#v3FcdlVRmu>Ay6UkBkn(#tI6AI8_3tnX zY7!P*ML-9)WX*Gdd6@6GgJ3tR8(la#zn(Ob$?o#3DAtt@wPlaT1>_RcAtX|sCoGtz4$d+*0W~|TKe$G z*PmoORTKz^Jx^?*kEIEVh(Yky4$ILGu~*1VN$YObVX*iz3-6{dAj+ezn9_;|BTeogO z%|?ANR4i!;^3S#l7~wih-N1SP$OmHSZZ9BV)tZ;)Ah`|D0dy3Rc?AF;+}166#Zdc& zgi|)hi|zTHboBW?YYEKZyoPSwY#CQ#?-HZ6#F$k(Q&H?zdpHYzwLqta&wPp15Lx+9 zvrD?kXemN(8l?A?(`QgsDeXEHM(@p_WP^eMh$i3<7|2rJ1A%5ZCaK_|=T*p)yL%C# zp;Si3gaLXWz=EyE_TCHd=U7=GExtu+rhw2^zuIJ9>?B@hNBRpMTL*~2j*EZ-(4q4X ztU6Fr&CBNSf=J%>^2@!bO$GVnsW*RkD`+;N`qHqrSTsss=;IETdNWMmn`)2`m-~tw@_=9e*DSUJyPcVy&U6+G5bFg;1^k+$R4+CT4O2JE`-(6sLYgcr7-U4Lb<^=e zFg~G$EDZZ@NJ0>V-F-M8ZEp8#G%_j*xN%K2U>A_-^SX{8UwyWEo)}&ii3vdqj+`nJ z&&9x}X5dwUybfC;|3E%tH`` zg$hv#>7fNS(+;n;HY+PD*wO<~f&pa=_$fxJt9+|Rw=P?jW`z=gK*6dFpf})2&tzn} zJ3F($u4cEUrlvN$IoBQ!Q5>|K=#Zg1FB$BvNv}V7b0J>hd)!bcx;r== z){xKv_6&$b$;7fRUncB`DB>VLE@wx^N9?D#_T60&qB766$SzCGktu^T2NTfXVpex`M zn-KCO#1XpWY!Th%^YN1U_CUAJIVU*tRCtB>Q2tBW{)&>sp3ZUbEK+DqxRfWctyK@s z0q|z7=mv^WD>!HABSR0bU6;!hB(8^+0-SFaH`8;>+Moh9!?o!wuJ=gdA;NO}D&R zDIMEC%@CGLj+FETr1^2TIu&+; z>mWezJ8tTNy7tvP6e=W8&pceOEtHuKPyQf&&ruh4OaLM0rp-f_kKKD6fDQUU$o9s+ z4xx7iAefq36sjbZ2vTpK6Ctwybnz1JLLZ1zP_9%5au2FhvU|-V`c<*7gT?3=>*(?3 zsmz;sIU{ueW9{Io@bZUl2RrhC*QT)i>l&f>0peFh9MhnaoP+2Y9}IbntBNgVvBIfEb^Ha~uM{hM-5 z+;$d}1k$1inl{yP7cr%O3|^r)+yUME#kk7EMvuopIBIIKrj*p zw0RYi@TUYGE^Yzv3Lt^w32(iQtm+bJ&;!&))Dn$CeoEGtCM+uz|SQ z+3n(MyFlB`F9R$%fp{SCK5V9$nVDqsKltPbBT1@zEM-NgJ1UuwS=_Xe=9Vj5lDJf353Wb(8hf7@yW|m1>BorXc2)Q0q zZudyeJ6=apW<*w7U~m$VY-X`*CieEe-7x|<>b7Kkv4m$V#0tFxYjzf z1`Z{%8>yCAG~PzYqQKrBupP%F_x?}?4@qkuhMb{LFVa%Y%HLfUYdB9 zp8TI63xW2>AFimXIs_I4Y+@b@z-9nu8Q9qi3JVn?NO^evKtx~a`_>ECmi)X zq@?5_WZ+`6F{kMUG)YuQ>1trDf=r4?5}$ykfUxWZFfKy~&ov<;BH{-PhCdQo0>HeY zf>#d~)LY;MaRujiSR)MO&_3^{3boNk`&@ErYUQwRz)PQ!lA@=t559o`C`^Gb9;wrZAA}aJOU`n7A%gKR# zy0*3!e2DOZIvQBR%2)JmBq2(nF$k=N>mZmx&dhaNt^_6sXb6m7l{10-SFaP?fLN&? zm#r`f{18YDqd)KqEKJPMYDY-;P@sZlF?Z-A86DL?XeT8lb?P@lu@7*R0S(EH{o%ZH zQ+~w9kEFlzzrq!RJ`&alfeCtXo(w%7_^a9mOhiEma&HeC9o;IC0P2>;g_eHKASs4a z1Z3!wD(eqIpU&~o5tK{bdU_IZ8r_0XgoM1fXb{;(A`}lAh4@fCuTRB}xLckVp1UCwVBBz~YSSL{Nd2(m!o4lLb39Q(sl9HHL z9~&4LB#8x7?x`p=jyTT~-7zHw>dw?B@Nw(be)-KSMkC<|4~7k66;5n>t9afU3(~oi zhAE6E-faXWwFs%Cq6n~Xaw_sDYC}CAj!J-X)?>LLQK^4%qq1B0RHGCEok$(dSe-*i{q?C)upxO5dcE|6b$v7J><^Rm4tf_izQVE& zgl<779Omn7&3A%_ZS%#avyVJbf-cQDjY@|+D6B&5Dm3)9o*o!kordyX*Kz%Xz6kK2 zI%K+>eVkO79M{7NSzmxApuXKfSXDr9!P!i!N_qB?=LGAKD1AEL-(K;eI(zGn0DNoV z3MwkV*^N))_kP+`3aQvuL|4C2Ss?bOpAofa2D=xMDqBgjpp%%pG56c)d zw0n%$E?N!_rSb9FP!lpV{D%Ap9x*X70fE6uM-bht-aae9U3S6%=!bPtg+)@RmbK3= zoboYxzqv3!KR-A3NAK%5EbOOy_4$h#!YKem;1$PwX)00tZ2 z{M?*ojhkl9AjBgsC~E^Afuy(7@r=3`a0`^WV?i(Z7lLlyM1Z&iw52SL_k1}RO}2mX z14kq@U&Zm+(o-N`GXMdBvd#-&M2xT0?7{-lwhXwUJeC7EX1vR0 zE0i>}oR*TI;395+KHDBne@t|dTB{kFBt&jdFD$^_6vheb0ys&gc1<%B~{3wb_mG^4bidq zYUoZLaPMETu^+V**U%UR54eF_O(UpxKmc?#uP1NPv#O9YG!aLZ`n!M;A|xhSn7 zI6ow9y*>qQHVoVmaNdr17#t$Vk>BfVRt7pZ_W>{6WBjj!Kbw?IHUruoqlLk*g$bQ4 z1>QHCL_2!<&gXnGz*nk|o|CixC;}GLH9k4`2mPE(Gf-GAlINHHK+{+1ryclzLt1rDh>3`z$q*BYoFsQ^x$QWXOxz9%~G~X&sxDlD#iGv1m05A$D$o3f(AzcIDc8lUR z&+a$M(J0FY5DG4Ws0r~Z_zCnr01kC)RLEK*K)a53WJw%I+b|N@A{*fW41;n5|KRL! z#7aO-P#XoF5FZEx&O8<3m`0%>hLECmO&S zK=|PfBLngVaSQZQXyXIj8%P5t78Y1=wQ}&isYKkNjnqm`F4!?IGt&epwHYJ*`LS_+ zcX*k?b<~OS_i|tYkpSswzBwO=+8AeoJcJpBoJt)x8wwsC2XHCdR{trN25agMaGP{E zLPw!4aC}=c99ZlhKfVxt2z6TjE1sNLO2%${(aYYMjQUZk&z@mgJ3UeY|9D0}EU6^K z;!=KXI5hE0#WWs8JW{$o@`YeZ(&i7V_h^T33Ux@UO9dqRc~% zk^Nb)Ac~T&qocnM3gWJzJ^*RXZ0Ha?qw`&{#%_b6&=si#okxHEI1CnGVq&iS%$tF5 z#7X!}Ozd5&E>6|a!0?AV?8_ay5R9|KG07o7CnO{Q2?5|2$Bf|;sg)Dt>zm66)v$=v z)JwWJ5Th0rl(n>&UE*;k?cm88VR^(zI5O8gV%CNzV2XWbO}hhHMCanoQNYxOv`K z4NI_40z;0ZAa-+eJ3U$uhAxyzow!GJ*RocUubh3iR#t@C1acGz#Pi*ajg7mw(edW6 z7a@dZuWo~`0)iBq49}Or73dFZ1Zk=)IH3smUHd|A?)^PIth2*Bh=ur@4r1XvHdMfY z;n>NkX|a&STxydA6EYm5t-E^=wA@%TXvl`FXwAnREk)f6yRtJLcrmR@q3bnO!)y+Q4nRWnq^jVP;225{_&;X2q{8BHsTKty$e?MGMD}Q{jIE$ z@#Wp4^Q@2-QiabyF*!Xm1Gl~bHEjcqsM*f)vi}?%%?~>fo{AF1?s%}2nzfaeQ&?D-m`F}eUMC#|9#R*0H>?qS67>n1 z=XWrP2RWLSg$2Kg1o;?;ODn&wKRmfO%E(*Br$ z>&oTJ$llCBjVdQwXf%h;;dMy)@azzgUJd}+rqEXmI~Z!W^PI^3--F-h(}tokRq)9V zn3!6eUM{r8aZKsJhJnuRm$8}9{ftW^tx<0CO)Lp{kznp00$vC^36v8M>)?4Os^hL> z5af{0GV!xYNlw-*wfLSN0WEbgF(&RIP-jMF5d19YbRGth4lMEb_!!!jVVx&|00DwL z46NQ?R)*034r6hNoK3a_iV@J@V+hC!mQ$iIK)W$$&P6^FO)LOaRA}I78jwbaSan3;`8!2wS({Yn&lakcGG>bu(7c+198|Ds z&CSm%DJ%PUd&Bk_bJ^-lKM;3^SyNIPfZ^KQ+5)j1`1zA3PoRto(CqH5Ta>-hYc;no zb+OhwYcSvd1n-EE`%Eh%k$k3BF(}` zdO_1gM$YNla883CwO0GB$eeq^ngx{{M#gO$)yZ~|b-A5>66E7r_D@()9a!QbEgpa* zp`h?NRq|yJur5&1Kr@_MdV4SSnBJNWzwZ+=oy!f1i0l!a` zqnNcf`9pt|=sPQ}c)fS?l$zQRRC$DgPI~@Ws|RQ&HFvRop7=Kz6dvn`w61rDytCGC z`*lwqmnhW)fkOL!@BG14A7izb5gu7Y#+Z^v!ltUKlWnJqEZTA@3Mc|^|9cvi<5G@B zc8P6BL&NZLdTl>LVZUNN9-0U0>n!k>+^Bs&jC1_VgNKU>pSzf6fs=5r7B0oZar7 zrR;^J?l?OehMEa1Ln&(BwoA1$|2;eF*Nf7AZwY{OPHCA761ojr*7%iUZky zD^OP#9n;#XKG$L|?6Swx|M^BzRH=hLSMQ2(6qmKVDoWbL|2ciSpYcod>sB@y%kxan zb}r7*Vxt7XH5yRnjcrpiyg2#V1?Wj0DTt>~+^=5m_d5|M8 z?Ef5+$fcdv_Cc&%MvPRZiX*$XU9YxilB3)cIe!|N$EwtuH_5msO8qIZRU%HVuh&oJ z>eu@Xik^mIc%Tvp{Ff}aFNf5)@3$Zn7YZ)gnf7aUoW$2$xvE%XBtMiCl;`H<^Az=e zJ+q89m6|JivzYnK+ZL~hzSL}S5kf%~YLqq|E^uf6eZB9wef!w{VMc$ENiyPh(9_AQ zk37#Lxi7S)62IMreY|kOP|P?A9sm0V-t7~6vdZcO^ozCZ|4r-j&)I)!3V03c>jYJB zQ0_ha@6Hl!>V|-hqj2B*Z)R@kvKgK%MEc#w4!hzZ{@=`eAvSf4EKZrPX$LK4)Zu>) z9k@Y-3$TxTDtqpSA7Iqm87h1{T^{3ZUh}P#o*(Z$&h~`72|Ej z2uHn6%6Gqwhv~zm`t6SU?5kYR@_5+gHCY~TQvQ9mT3G@_T1QX0f~ey8>Cj=oP?q#G4-3HN^f*|mFoCCa7x-@iIjQ~s}C8+4=OBluM{ zDISELeSx%LX9t?$Rl7PBe_nr1c6QinOSGvkqHsUlKmR>%Xf+Lvn|}T+-K;>}I=DL3 zvwOV3H=x~2puZOBag*v_D7udwz(BW)clRl9gLa<2H{;WGzLs(6^r)Gut##;SUSVD8qV+zUiv z5&tG=v4W}9%TW4$+rNW6n0W0Uj5c}o-_886SIsC=?K66rq6L%Qc>a;(-kA4J6b&jb z*&h_0zh_H{i@B2X^6U9|{5!oj`NE}Y4MP6SqieWXZ5L4h+z&m?zdJn0qy^)ro}#_p zMX{)}i-E`Q5NuX5KC^y%^ZZi`l3`MpiE>|_FPfA0S$b+usb4glo#|vaN~!~XKR+}4 zUCB}NLjZn={B5pF3ex|U&9?Hu@F@FK?Pb!llQYE5D{#!yuU_UsKf49@>0W6lo( zXZNmMWYaB@B>R%4R`&c$w8bMYUzagr{I4}E1eZhmKL4{6%D?IT64XP5OXlS=aMgss z_WZ5yP&hlEn*^MXedpu8H|6_ zqDHvH1LGH-XQvGRIXcQt7Ky@jc8n9+_lq5uEpX4S0N>J)u5jeFVfW?S^D~QvW!7Mk zA@7Uy{5om!iav&=@LnJ~ABYAecBZXz-HX@Gza$Yxi7RTF84;D9duMX-EC{)Nii@Nr z4EP(E#C^^#$p5EQ2wGB%$A8Cy=(Rai25U0#*7-%KkNCe*Qy+Zu)2up&PH(W@1&1LqD=~)-RyWfUx;7g%S&7q=ZC7w?0+iR8{-jt zb~RNtQSz+3iXUVYeqOiudj2)ZRNmVV|4^dO?svVhkuoy(gz(Av2ap@9JWZ0?<1A)= z+0)6tz|Y-@cK(Tb{wv1651y*>v0wOlc95V(Js32xq;zSI^KicX|4{YS0a0z;+oSl3 zUQzHx1x3IF6v-h3B(A8a3?)*Ml7fVEhp$PAg2aG?D4;Y*w@QdeNXXC#(j_fJeQTc? z?)`oDugf@d&OUpueActp(X`}wYhq0!@|?P3l3}^x4TJ-*^>Ae9Keuzb-mHe_#$off z786wU>)Ry(Nk)s@zoNE1J3`$vqpZS0GmuS#JzF1)#rPUJrGNUrcLV3~_%x#o?bcUp zZS85CZbvdUQSJId>)Z_;eLik?4j&%ss`=W2X&67ko^nukIUL(%w5d&7hkwJ;=@et( zUXlza^}_O6Zl>|-+=*t%6aP8yw{<0Cv8pYfW_>dKcLSP#7;ldYp&mwp5b;hs4-uC~ zHJ+s}#qirEuTynVF{UP=D*Nma&@gSP9K`s_`yX$t6SVmT&fuQV)~DCx#QpvRU#;35nIJ)EPe+MqwU=}Sw^>q6xElvp`B`5>yKGq5o2{)N{2&DHh7Iam6r*|+eu;6 zbp$%pUdlAvPP)JKcWUADFnGMKt>^!4YkHzO{`x9GSq#lxJ_K)EhwEE~Ri5-m?ZjDIEWbEgn`T}$zkSd866xSfhkdaZDo11;^ zNFWj`LF!Y|WOWeaK^(TO!*&(+7Ip!@_3yB?$jlnJQ}0ZhEkyj1ZRnPW%%}qO(Pi>T zXEXfWB#ph6cUd-SU_oIVZL_(e>t`-b1G%lA!UsR}X^OXWf#Eb`#Rhf#vfO?V(?s|e z3F`8n91IV?Sgaf73eEvvvE``taq9~1zxZVWHc^7QH%|^m?J+lpqoFFsJve|e zg4-skLDf-pLZa9~BcrNT2Z*5LUQtfte5ym^L$IvV6!ERNU4^z39=$j#nZ;lf$a%@* zhn~G=HrjQ(PH@xp@Y^eIR1REj)4lh~MC;H+=tqxv^(wW9>DhKkc3%;xE864zgwu45^;(!w|x@7}!& zw>!A>IZISn_~1oNef{OCz_KGOU2BKh{m-ncmqnzfr<47!l9RvRdD%|A=Y>Yk#4PXG z&Nkmu8k$j&dJ_F3jc_N)bhE$vpVLhv{l@J(ohPn%^_PeNP4Six+|Zt6eys%|icim$ zM0MDi#v>E{&j;5+d<`v zJ1x>;9FM{iWvbLZ`7e`bh;JUAu|kh(_m&4bElRvf&-oX@hiqFPf))J;YQz42{yzS& zTZq$ukE#vs+Knir@{y#jciO~UaKDj&YDPMf!TGJv63jUKh;HxN&RXtd{%h-p=7Pvh zv2Xo3CX{p$gni2c>Oqu5OO0=f)DC2|b*7$TtdOE!k+&)|l%&UpRDPZMM7r0*2|LW- zZ>pux^`n|oQK}6{Al^jfnQ~CIrEPIL-QIt`WD(l#TDspbHS@56=GNU3 z+_BxH+FXY-BBIL#O<3%fN4QaB79SA}X3O9y^(X1STy^x$ro{KY%VhfJL+i?_s^=pn z#Ky?s9h3f4YkCDDD0#^8JgG9!^RzbDm*L`fWO13Os|t(?-VKlDNqw}Qs~`d%@evX4 zV3AvQv^ItfT^G)@p>8Nkhha)d9++|It&2P}SA<|;m4hM^Mf;S>i0Y*Fr4D|(6mYpGX175( z)gs-8SXn?=x77lIpntClZi!`R$I*vWE0&pBsH~?gxb5iEtq(|W5LKzh+t1@D>%V7U z`(21LPM*39gMqKtb+ozBfznX7g_co!kNFuQZr>$}JwHmY6m9|6_RlpV9M&CSThAY( zUXed{;oGIKgDrR@0qk2Jf*{8C?jq{rx6}5^@5I!J-&WunhiRbQ_I+2jE*pPmT1KxJ8(nVb2|?LD!^)W$xDrLyID26bTqyrQUu0ItpE3!9COkuZCJzh~W_47||EP<~VN3Ga2ZE#nRE`K_W0sRXb1LdX(_}`}Z|4 z3bi|$c&L})8$-I)8uZ+S@l?vi`r<)5-?T&o$mYN{!S>;SMxTKfnEZM|#;?-~ZtPT>hSA25}OYgsq#G zR)r3ctiux|8D-k3`T~vdkQBz>Zrssyn!4=#0%77k(|>QGjUriyigc+_hC9jxa&HL; zt3i;V{C__T?7-3*S*ngtTHO`g_RntQ3t=)$w{@3qu(@*7Rp`xKfMiDP`<p7Y8Nkb{@|=)C{Q0zh4;uue?JGP00OX|Q~~J0aF-h>Jbgm- z9!?=_5xXFRZK5vE8e5)IsfrqB#Vl29okD~qFcT|F)rMjSqxTzuaBkh$DFg!A1%gTn z3gPLt?)J9!QZF(C=crp4bxsn0`z7POJ5&)BWo>zddFG?^Tc1R?yaIjMM-8_pxzf+o zEG}jX)$cw}1rsvgkSr5TP&T-A6*(}$3>O9NHtx8mNxh6*haor56kKO(hq>e%3C3Ci zl7P5X2vD;!rQd%;WGb^O-{z%oj= zZvMiNgAoMhpRZ&MeY>QRzl~*-8XaT?3K6*yll-%?(1ud63H0HYi7R5;B&i~r_hK5U z)#!2RGX#<#l=0lU$9I8xbI^>10IKqw)hlOfSFg){Ckp2LyeW0x)ortgVO5hlYSFkF zDmqF!3pv9i5$8rtG%Z812MFFB=e+eJt-Ht1WE&#l zpU*g0G9lY`qoQ*TPoYDJu@G)1OxfV3*G7$%lRA%JtEfi!YEGA}>-$tcw>O{ke2l13 zo24HGjQIu*c!3INk`9EZD1MCD9Y;^y!o*ZOKtUiAlGG?k#3W7q7D7dR*r;YTYG7cP z2w8YCb1Z~k{hCyR5tVHkOgPWKZGoC4lUi*}4S&GtEN@*p!m@&Q`~x_&qZ(ALQH6wV z2xO~?nw9oHE+{*ck@3<5&Vo!u0K1=q^*WA{1W&51vc3vF4P<)*4h8)uY7CnT_G6T) z;rC=MbAwMDa)ht+Qr9f{7BG!5qB3T@bf~As(u_dDI3?=(_G*E1L&hMMs^%=>iDLEO zOUt(IQ(0BNm*fhF#KI$r@a{VPu%P5^g4jU!Rj>wtbYUAPg5ruz(gh z-F_G9ijF^Ih++lfdFN)^?t3NF6){}=(u`*WKZaQ`Tj~*9gh=IPD+@&^1Sn_D@F~m~ z+g*Li>ScCC*Ip_{o|(@`O_bjlNSGUo`kRZ;i3Kh0X>ArTW~&aUKCUp(pr)7Aira4h zrkKF!w_m`T8eb#>9R}L)%76*c8K?Ig=jMXaW=>I2(U1ZjkLUAVsq-c$d6VHa zD^JV|xcsCy=cPAEHBwH%SYPPl43*~COgvwo9B2g)qw$`*d8F8R)%)BkPa zs}Ui(OlbF!;l8OE8SEP>t}*4yr8DcJa?+6_D|w>lcz8U?EwLN-+5g=Ce2Nij=`$W9 z5}QN%8$-jQKzv=d*<7+=cj>>MUpi$4oDG|Dc4P!9cKHD)wX&$u3lZ^XxKR{gZMA&U zUCGclp37@<*?Ti2cFlN&4;}$JlpBE^Fn^&O#)23HN#>!c+Cg*0<*UUe@%(r^>I#+~ z5o^@a)ciBRRQ?C1>^@|GH#@97b1oUwopEblTl3gt!|r+KI>0iJ$asn8)m}1(RvRGt zl|qjO%!&Apno{CsHe!}bk^)Yn0cL26`&LW)v{Tx?vdmpT^jhh~_eu(iicUSh;OX=? z2BkL!s~4TUMw~asGd3(r_4>H_)`mslMA*IhR(qK)7C>_d`^Hc9jcS{qGJg1<4P2_@+^<*hRu{pfVVbIXTWQbdT<$5DU zq`3U+g^2v%SWebfK4bIv{V~uV?G~`tl-P%0_|7e88Y=MmxJNIuF1l})wNFJ)dWmEt z>5VPm&AI5|myKX=q{Q=BGU4xc za~O<;Qz5<@hH`Jh949MRptDjA_h8oqD*1p7)xXA(hX&@%k--AN`n>PKoTNa(y6jtN zdA5_s9%dF5k?+%c^uwl*L-kied8L}>=7u%aB+agbioTs`OL<~BQK!E#2cqO$cpJJ{ zVESmsyx7s!>g?ytgTHb6kqoZ*3A6e-IS!wbcX*Xmznb9;9C656{_Kn|9VAzuEuGl}7oG>vphJACEU3!%E z`rv)Q;(Ba&ZMgEUFZ@2<<+fbhw+_Z+xw!i`2qt;iYi4=LV_%Q2KttsC7aTOsYV>SB zc^mp{g9_*Zm{fNrdZ&!_n}R`g-x#HRA}S&>Y~t|tS9pxB{MRx2eA5T(JI<%`B@Xq8 z(wuqGv(((zX=6-}nN<1m1^K=utG>Kh+A3h`dwyo={oUYP_F>KGHx2tAnMkuqRdTMm zyt2m!*s+|1UMcLzzB^7?+^Q;MR1@AFu)Vf&>8pO9jY}1`-t1@Twa=n`OaEgk>ECPP z^0|5u8iD)Pd-_<1Y0@$>X1wf)GM45Uob-q&VPJf4Pt=Ec*#KMXbbylwl?1a&c}^-g z9d21TDLr>`DB}-1=)z}@I7xbem!kjYX8?@6irHcdDf}R2L@ocbtrJWju>5vt-*Fd#gg)?&K&KoZxA@QjIPp%ixel|sbMZZQ==zzY z;GD*ILk7u);*ye9cDuU?@Z>3$WBk!&!8zH!M?yHd*BrZ{S#sBFuQ3|*SROR zu6{`VVy7N@0+?nYIWxQ0R{Fr@tfB4X+jX3pDhH&7m~pY@bP8RoG)t55lH%6_#r6?2al+hx2v zd`jPhmrk0nFu@p(Vvm(MUgxlh(@S`EbANcbNN{+G@gO;Nb0t<((cE%EUZ31tT?Hgf zxKsQ56Y%7j5r2~STKiVZtJzla)3Pq@dd*c`w(;eg`(}G3(?*%!51av4)daV#mHmu? z?eFrk|D0z4`>eO}RU@n&`5EV;DR=-TKE3V&Fz@=^RkY-?nbopDe`rJYgh^R_OEJ&{ z(C9IY2L}L7qi#i|)Dvv>QBQDFt-m-o8byeglDRlG%gdwIe(BREpTRL(XW1J+HCL1= zzsBLTP%nrAPAKP^{PpuJRYwX@w?#~VU1w-JfHLg;lZ%Y|@my+wLG zrJS4+ICq-QwKk6v?=}ZS-Sb}u$Yj_VB`&}9^19ZfO%dy54GEmg*}O<|Vq+(M+d_L* zkIyUcVoJ*#Ro@W}uD7;A-FI21WVx*Q)eAI_mV6&|bp) zli5nf&ENE!%F|_1K<(vQ`^4waGZnN>3X=R?K?AQ*klFPUrYL&UY4^@0Ym}n*v{{Kn z>8}kiK`URTZ5PCI-YenWg&Ejh-kp36r0UBfF$2v5f25@|$#WVD?@!~-v;ChU*^7IY zA-;O9JrjEQIXMe2f;`@G`Q_&3HhNCm$F6pdpGXNPuavqPi;hKhnd)T!dA^b zbG`rp(D8>LK;;_~X(w%AHss>n@};{lsby>e!rlHaM^?vIta~T!j+|!1Wfm6{5Ha!q zYnK>z#s1?&Qdd;(LgLKE^o$qGn1t8c{a}9x!Hm}&3bnlkI5{{u=~q0$gXfu$05+D?=Moi(2&U<#A+K767u202iKUHoE`shi&sxUWw>)p&>O6w!9DrJXa+(vXeo!b z=rO@lqlG~7_v#v~S~%}}_io_kN>@**%>>g%Y<%yil{Cv&rWP1_GUD1BM8AziF;+@< zy`1@Gat81#Kq&+QPYj8KN_-UQ|>mJ^^lJDXBpW@E+ z#nIq!pKnj~ZnoCDd%BCx{0H~ur2Ia@Lx#B`FbjPsDA}V>hfZ7;ajJ(my&nq zHXoxCA`GI6-aCn)=R2ARUU1{7sI)~J9Ho(b~xB(~Mk5X=f2%XK0jKU4?^<{=ZYtgC# za_o%0YyBqkO;sF!B?Uo$AfWCDOUKcEAWLo*dag!?#Qy2a-4kRpKRi2|(7s7n6>DU5 z(Z}(>j5prSd>%S@;W=8QmS45axK=IMXlvJvDAMJz;+PGyatpUf08~zcK|hagOf`Ry zC^et-ooawL%XZZU?DqMBlYv@8i|?9M5S{W9)MiOwUkjI*g+W zP0a;<2oQq|C|`Vk8fZ5wA6S^6s@OR-`JQuU_dy(8G|*wbBbtB##)a{@9WpXIhaOtW zesJJfv24Ild61UyHk|tyf#V1uE&&*2hu=7xJKPA0@l|Vq#_2N*v1m>~Z3%qcUDiz6~glfE{OPgUS>c~9@AK+{Y1H&nK#p?=M2miYFI z->+AdZovfLC3NEZju;!^_;s3rjRG|=AM7cf`!a#*G?`Yl3*D~@4Gdi%e8QXhcVxAMM4+xm-AG_UD+ zR6amN2DFrlE!}fWQ8_xQ>c&#X z<%cGyfm6I(WOgD$6!?eCe`9iR-Z-2OJ#|kb*wY_2w{N_rTz z%IA1f)`s}QwQps?zJ_k%(vtdNxu~AOaM4UqB|zx_BO?@|1F#w}{|<}r7@iFOTRhUX z7O^uC`y9UVUSR8-Vsi$$<+=-%OJs`rF_C2W!fVaJxWY4kylbXWaH96VlLcjAlIv-d z@Amju!6vz2$Fs}0Rw&8Cdm;mA6gN)|9jFvf%d2zn%ov7!)G@0xhDV3H&d^I=p2NEP zf<$;@G*?|Dk_sY5&7{E`?6acDW>jeDkh+T4LLo+sxqJHPE`R^ffHT-t1^nU?ov_Oo zujmeT*mAmrD`Jlr=4dz=SyMRF!&*!_as2q|q`RsZe}KriN)CV9fqRpN)&EOT4dN+fRkw8X>kg%dnz(zF`9JwJmh4-l z?zDKFUYy3~=gWUdVg{76JIPb*AaLNa*063g@lN0OEQ?Q|SXZ>bHtz)v%wL!pImsin zO1L$g)aWq#d}*x%VuEvbnP8I*9Dt_*yL=Y&sn2pc6a0r91w>+E&v(?TW~Z*d>Jp7z zDZn%00@6`Q<{$<|%iSv402yI7oSYV$GH$yBUa@9Q3CDceR)9Dx1WxcQ7Gpfi0kCbj z`0!B9?Yd;&EKatWGEN-xEnAb*>1m+}ct)Ain2>xw*#0AX_@Y)`@hw5yK~I~~G-eh) zc~B2#1#QK>U$x~4@(H2axfpv9HT#w-B-jFO3On|_VOj%+2v(t=5gDc&>pD(0&uChj5 zR%wmNvDohOLKUjRCe+g4DCJBv+)PizN;4W>_|`Hv(z_r0QYxzY^V?y?4UGOkzy09v z1fam3FR}>d3u~{s9Y(Oca2xaOTF-P{CZE&q@Od3FjqtvAe#ix!k4N?R0`;(|mM01v z7k5obh-fGnD@nta?As*Zm``X4*1wMkCE(hyf`Z&lr`Zl*$GU!5Y-j1r?;{=n_rB+e zHwTXH1=P@0AaeTWi(?%*ma#F?YxpiO5W4Cr?rTxl7X#x*NytAc??+{UdzTU>GN7Vt zI9>TOR*RrCQhW1V)*evFD_3=Ht!;J`FO!P0SEUy2PI+>@IPsq8Ontzm>x}M4S*&Xm z*LQcKMO4|H|L1{OfkB`SW<0JqN6mb8L0q-g$70tMjdS6!TSvINMuY3W3H3 zC(~>~qK+5^v2y0wtUtAx40!y~^vbEl6K8ImSnge>?_51+vGCTVpg{~?k5o&(_T)nO zo&TPiIqQJK9m8F_^!H8HS&v5Y`bD)|RQu;eh9getpg&WWy`<-f(uv>v&G!|n9<40w zJp#!z=BXqFUZgM@#9~tGnXGfmvT@NmwY)c&gVEOhjmzvx54i!?G%~Pc{7H!O7{=ad z3K|Gxv0b^P{iCHAPOssWLS4gJA?16gpwNSz!#Wo)&%;FXI$Z)sWNj_^%lEucxv3?e!U5q5tQ*%rtJ?+|KPq2=*679{l`*_AB50GzZ3r`bpE0_kBsh;CW z)P6rPrdx*JfAO7Jk$mRh_;uT%=5*=*;1)s)vR{>zfVu`Ct%htxPV5mI!Tv8kE#cd7 zj5yg0P2FpCojWa$VKvGoXTK`r^~H}5O8+REISv@(#XG}>fS&1dJRFs1g%Dr9gL+q9 zp1cuLvhh>f<=B(e)ZfA)Z>mkZr{N$0!|F`z#GB5#5?<*Eje^o4qH06T`J6B_>sOmU5GoDQPAA;?q<~R z4r8ojOqM4S?30s}78VMVTY8L72q}zw@=%K1hqLo#5gn|LvH~9e^KfJ{;I=|ZdYp`l zV;#z2R_5SeKA+{7$N&=H7p!!=@B%8L8XBG1G2>Q(-va_}a8H0Zfj7`ahS-^sp`p8R;|Ohq~EXhfy`2q9AuV@4vlhR zR_{$4oLCC@*^@17VwiACgsg6e8`g!NV@#S+CR-~WJ$NdiYv3dg{(>FlRRrLKB7 z5`HY&*K`iF3y0-eqwM*q<>`sbhLNhfZrd+e-f~JsA|#}sGiAD2{}2#GtXU&YzdM*P z*#STGh?la<;oGSukjZhvHbnoWynm13q_X`TkH(my>*)$FM@BB{&UC2K z$YdPkZf|am*-d>4zUIaDwpO-4JMxc~)1WPZi+1KedFglhd<3zeN;wfb46hf8_MIP8 z6t$aAla4>MYXA@aSWc%m40VVZQ^fY7jy9l+UD=URS>cU(>=H50^00Fv3&1Q5Jkrj6ZL# zczabQsi5eFPFYUPUYtx2oGjiP$n(Dn1uU^I68kTXB0V* zG0n6DT^=>oB>l+Tc~oo zm6j3-^d8%nIe9QNM<+7!En}oYkSc3+;(T-ugoh)3RUA8JL)N}lRporc*PnSv{;sNE z_LfIJg#*Xz0WJc<05V3O{lZs@|9`w0#@nmOzH?P0U@KrDK2IP{%#~o2 z@uuAF;59G>N^ppWqju+~M!uUE_#ZL|$pwXn+lx;!LL<{Zcbwz^%^ThW$27hGEgd{{ zuAq?*&Zg_g%L7*cV>!u~0-b3|XNV0Fr8`$@l208QLz-RzrRqlv$+NyX(KxI%Mn=)r zL@eDgiSSF;yC>PKA#Y@0WkpjBt&f#EEdMkk_!duKFynB)Zl2R4)Oke=AIQsyd>R#1 zwTB5jC{7}8s^L-qKq?CuQRBI4VNOKY;_R4C^ji_L#zYe_Z(a>f95{aC_`|GszY2m} zV+5V&s%~cS#0bmkYC(|}i)zmCH#J?^D6sno+p_o;j-ede7qJ9q4zh7=Wtc;ps;ie& zt7Ek(&cMuXp#je6%s4w)Cs= zpDHB20=37B%-qL;suIY==z;-b!V4TW{6?aa!6;Y1UOcn=%hT2Dgr&Z) zicaZ&Gj!`obhr!8r)rVOWyjRY^??61pugjVqcg%KI$w3o+8f=1^}FM2uzk7U2c4yD;Y<)tzvdcO zP3lU{*}>xT_je&%$Aq+TTcG$zVOGZOPNWd=U6PXNS z_Jkqrk;Ybdxbm(Ba>4MxgRnVKu-wS%T-ce5fOsJWAJzi<{BKM+Z*GEwy+^JYXw?SC zDj`UL{~=@H{+Bq-5)zN$eBLz(oijwo*fY2)r$YzO0Ym=*T00&C)u*=Y+Qm^7$?Kuwg#KwG`-zmPWX$C|CczEj=M|(1NptG&u zJL}V%O0nNa-_{{;QLp6)04NN%PzvFSk1phsQdqRL)S0)~{@|Y3iHFLKF;wtF8% zXbpK1MMEnnVjn9K0zJse4bgRNyK&vBI$HY_TCf5YcD|*Dz~Zi#8ym{wrBv7@dczRj zvyesMsgFY6CEVIZSi#mjD{bd#;;t^Vg~Jzh&Cu%NNinc3PwXAH-_ypvsB};xqcSis zFEw$e0hj@c#Nr(iy#*?~B@tPNaRvU`(*&VGM$nf6%&cT4`5B{lNlf6pGlywoBJzU^ zX$4@i!RIBm)WW&QWA;E&?VR4^A%Pz?w8IUTJb&G>|8rIQ5ZsWgrc?MMCJi`J7y?LA z9Wu-|9{Byj)EMGZdW-p1g8THh=sgM{=lD|9CO?qyjfFYwJ7{VM%^@ zj=a_u&QGM*c|gFxEyTJEUMX??z!Np=8&Hqy#(LRE5>*2iZ;3o`GCNUO;Odr_)=k94 z(O0z%b~AeR7s@bQP_#&R%fxPmmqlYh+yIjkr3tA?|N?ra5%?b^w5Y@0|RcMOV8NZb&U>W!0=qc`&&)Tt97RQN#N8( z%tF){6E(!r0$S7hjws?s_0y|6c6; zErr-SkpEJ?r&Aaf*7oO8x*~2G^VyS+?A{j}pEz*Y)8ni@U-6qrv91{Zk;WPeJh-6D zgsbiP;U>(ib)Xc{6vbs|S!|aJ5;h@b5p`7>okDyw3$-qIAJ>O-;(?sT)KIVz)Xs;} zx9EPn6fZFP=2af#;Me-50a^9&V$e|U`~Z%l4?CYyjrQ5*8`^5BoYQlpzae?KcaFkYgQ@ZHK%r`7r7qiUYQmXT;F6{N(!|pej#-ky$fHD}>HRBr5q)ml zq_eHIAdvT)u*M}Bn}hz~qZYFUU!TK^wCov!oWg@guQV8}+0uup+RC2+(YS6(;+BRi z{!LZc+zq$7v=oj8meCzDZ03S0#ZXAa2&+x>X3r!kI#1ho?hYP}P#;^;c|Q+!OKW zX=&Tih~ec=^RLsp#w*4;Ui>8UHJ3#^gW+~c9%g^OC6z6*I7)h%pD7s#?GQJ5=PHoU zo~K8Uh<+CS{o{Yz)AL8>Mzc0H8#S!U+koKME2NNa>NXO_UV5J=csJV*n3Fwy=&^dh zcXmE^bC|hmY<$X@iLP8RDWuGnPI9P9sF?gUA@J=5es_+2W8N=d*5zZ3lJP4lIoAjy zpL9lQ+lQz8ZVy$xELA!12ySR+zjAA}%*%B_)2wM@p7nwYzw;hRctfr24DH8_!C1iy zsf&*Jt?1cdJeNWXj3GPe%t!Zu*@(d<~k48alrvD=-zulsH|f-qfmRsD`yCXoOKg@)@21heg>juZO*i1MUY*SJeY@ac|J$=p*dxN+G-X5?uo&ye2)m_O_}fj(dBf`&R;3Zv*4A!^S&!LTS)Ew1+z5O? zD@xvw?)y>9ZdJHw7?~BzCgw1zJbfsR{V)MSp@r*NE?JW8vZY}6CG8U>Ym(3EosUHd z8EWV##=`<#lp7dn-0g&VR8MD4ocTrx^8<@Zb#o~a{$$pX7YtaoUutgfFM*n=d0^Jz+tXFC8* z;<^lR^q7l`;W`9hr>BSbfz^SeAUD8s!caJy$pm@Wk|iu*bE&FvCsfUQyTS;Q4Ye4CwqT6yn{XpbDRdvQDxBeCGzak6|p`0uE-mk#SX&8!>v zRF#vu+$WTze4y?9bh59V9)xZ5R>i0(iGLRsF7k3CsIcYm`=F!sBm(c^WCz&eTYf3r z=)4Q6hO7luAl3LAE7CY=6>Sv7MD7zXwd4q|CwAmazKTVOfouk0ZpIXlkgfYdT-f1_ zLfW8uA(JE?e=NK)cv@wFPtC{$vt1!WIm0v7mIvzEJF_D@lWH%ihAkQ;bt3oeb}Bs; zKz#r?_!+Q8TAvL&)VwS=zU~HTPA0rELoyt!@!}$g27f9bdx)$cgGDwyH_!3D1^8T0 zgR`Rz-*cMu+WhODd59DZ?jRoy(Zzkrqo`)J!pSsT_55?S+H@}2)KvESIMIeNI*sAHBn5z%-N+bP=PG=XHkmOf$3)BqVCZ7L^mGUR?^%hHzb5|EkM$J$ z^xVW?a(0OPZzQB}=oK)CiXtge_N(hLS8N01sltHr_)t9!Xitau|1|M@$N{z4H54xL zzk)oX{w>52)Ndtf>gqc!z)fQqB1yQ)P!yzUA7r=2mWfITqo22bos5?F+*kC+V0C?- zB?q)>?ZnVH_&T^u9i`Z-w1=m(QNk^19kz!L3Gs184fSS#_6(GiBz9KW<%b%D#-(=>qCHr?SI|T4g*9q(;aJUgjkVo7p7nm z1I-ujL_%ho11S7`#i5mvX6e&77v?I9V8VgR_IEBouu6}$8BIR3Ge6G5-SVo;3i6%Y zT*FoN1Gq^|z?}}W(?41!`+V%T;f7Sy`G9|qXm`{L8c^hb`h`%7CBiKfOjutNHE17% z+?z%g0brBQs6`#XW<3+6L_(jn!*OM5e+4WGPNko6c5eVb0C=#Iqx$S&DAP!XXEEU( z*XEfkT61rIK)KHUT#P)sWPCyUqsC-`0TdqYpQ3?n^PR|oPS06Kv+c|jY7El>OsBJB zoXiZP0NFo&z&>38_d9c-b5U6hzz%}3<<9>5lwE!fAyT4P=_SX37l6QMBlNug^}$-M zr2d8-{K^!a<~jt79a?%f`(NspRiedv)M0~v|AyjPJlpcX9y+XLHgnHcKn}YJv2>u$ ziPCL&vo3p>Qxr|N4=2G84nW9GY(N9)KadYtScn^Odfv5PP2LUcDVM7d)F(~~y?Nv8 z$}gjjxgvV*^o%5%XOP1}xS2m*qbQ2>-W5^+7cNv?GyL@EvVjlw1W(k?@w`otV9alO zX|hgwpNGJ}Cpl9Mm2fK2xC>ZM`tMAn)zQ8Z@+k0Pg5h3Z+nF7@c+VjL!T3<{mD2$C zs<51&c^fkYMpHpmFQTq}58!>PLY#bMR3Ay70(GZ0NJyQUN0M7UydK>+UYwDQH7RM*Z4#9ew{4ZmY3|${sZ! z12Dw~MX?}Dc@LGqpfJR*iJgFKp~<@AP(!7zT2kYw%W693V>6g=J2i+fT*k`r%wTGd1fKxYN)ZIfW?nL$$?_(N#^ z01M40yLl!uQp{UkO{Wnr=&(yQha~{+c%c9g4p5RfOeiEYC?~!AUJ*(&^No)Z0hhti za9UedvWRwOv&F)FEB0YR5zP(r-EN~w4(Rm*W60I_`+f#^h=d`4nf7BbF#l>=-*eK%t-KQKCEHb0!x2J# z=QI?EP5GZH&WkMKHbx`yruTylJ8<;zS7!*7B&cdojwusz2B_c2bFf{CPLI^oJ(I43 z($xp2qla4qSpR|)`mhfxW)mb{VoQ~bvv7hk8YoJEH>6QYNMhMAlP3F5^(LU6?v(|Z zQfn;%=&Cyd!)u9Ij6Ttnt%H)R>>0oDEMnf-5eO{$y)J_{q;Prm9hC2pU<~$UeHX08 zSQRQi)&qg11~r+klL5^J)2~k!V~2Q2$t5fPw;DW_Bujd1kKW z78gLGO}(o7!^*8~1_s@N>(J6ocLIA{MhfDCcj7X_Ke%h32)U|`&Q)6DZ538M!GJLW z>+?6|@UMpKX5s)#Mnw6YUM3g>cP{mGM}H`!)yyq!&y=OC(oY^7C`6H(o^B#9O#pI+ zkEan6Ez-A^!3Zpb6Lzu}G7E}=8(5RE2XBgeLDS|d*O`s?<^?c>?x6#kBv|2t;TH6% znmSkIojKU92zTiUtCall=q4duSm#sVfZ_?5qe%=6b}<-gUNScP8si(CV%h)-eL)&i zXc;Jh;(vnOjl;B_M!sENbda$=q9;m1BU&ot*)G137!;VTr>6r>h$e2)U}(gJOgL`I zsZW)%=GE2B@|@8~pPdgtPm*rF33LnZ#H!jZ23T$9@X$gNg-)T2>NRn(2UF_II}l2A zA47@QfIIi>?p-VM^~KM?c_=7E&jFh;YK9nSh(w6Nhc5h3WHX3tu_nC|i$X}mJx*Jb z)o5Q^kgMm|@*hCexFuUkDmo?P^>>2e54mS~CIFcC??W{mv8JOJ5G2HkMb-2iP@|(( zu?`bue@D@vSq*I1~>ipP^KOe5LEyQ^xg5JK&yM!z;8;`vvg6;H4*hfPMO>`;4qS2KB{ z=LUNel#{S{(VDvykKhVAY>>fk929s|ACH4=a#8@L#*ctj=livpl2?384F{m;JBrak z`nMhET4o2R(9TiNW1Kh*lsG867QRHQQ`XT#NH^d@4=4-tK?tZd2WQlG$cpHQ+Ug3( z9`Yc)fdJ?^W_xLYGAQ`f+*yrNQRK}VE3F3jl$40!+#&`v53rN(&Zic4w7g4G3{w^B zbJWCa+IHZ&EQ?`c170d7gURO!=8>i~;8|@Pm~4Ku1pDfS0aBK(Q)Xg8i(Azp7c~Vu z6EWcgd8WrgjqVJDAN3GPj%|~J<{ep}K$jx1L_i2>;=OX@X{t>v#P#_;zjynUm56Uf zG1v3!P@2F_0W;~{8HQQK8%4wm-A9j>);;L(1wEJOQLlOhu&6`T5cm)<7#NeX-wRBT zalGB_cu^6v;uMar36CLBLBQ!`wAN-6sr#9>FWdILlMMV1H)1mPCe(VI~A=q_-D znqj6=WoT$lDwu*})GMNb57a##(1N+_ZZT;{V&1=BBQ0}ouCSF}4XnOakg6}4CTEbc1 zUfpR4vl;)!issX41x~^}PRdxF$4j~X6;{HbXgd3W+MSjV<5RzB)kVJR%;CnTE4*J+ z)SrnLyuObYOb`JzdVukky0sBr47HA=`NeEL%Z3<*I#e-Q)oH0z11-ORX?bZVI=UD* zcg6E6QeXe#25**Q!vsZBk3XGZTn)ep0ST z3L{i%vOAj@23f{H>5COTLzdytEq5mfcD7^IhwW<>6qSFTtp5UO-cl$OmvwZ{@algB zqkI@fB?6SfKzRfPC}sW7pGm+F46u%q8sNJj8u~~%rDStI`P%5+wUuniiAo|yJ=X@% zceJbQ?92=?Zi^EJhhdb6M^BgXzR?e)H*zdH}9ah za=SBF=@{uHM&9kWHU!5i_e|vE$-_|{PoS8 zXW95e-%L4d@jcPn5ukz0nM#;Ch8)6g?EItKP)$QyOYp_#VS;mB- zG-B0%Yk4Oo zs=|vg9277Ui&va){#&}q_7?t!W|7$kK=HUQ=8O+v+a?F&tj15uMJa*-T-5?5zQ^o} z%e*Q09+HtQoPIhaFOMQPT|p%WS+G0hIfZqQxcVOOdu8a@jQur zkK^C(g=0C|ka{E1=J|Q^J3A^EB@3t|Ub2!U*6ef>by2!g<4 z&NNFf3Wy9cg0Ue9V=}xn015lMAhx?-6{}4F4UB@+`UCOEHUlM?Be&Fj^a%YU=Xsyo z{WF3P-7mq3ZSt73c0^E9~igD&)zt~jOwkpei2|vT!YeF;@sk={8qW31p5nqVld6;x&OpO zR;Oj18-fz9VgX^-)7rOj`w4D3HJ5x?4INAlbZF{k~SA&%O-SZ$o;g^ zE_1(X^_JnG9MsfoS8jlYe3u^Ym`dRojse}G%K|NO19;Ei>VijP%M+=E*UnyD=u$mP z0x*veUR2v<<9j-9tzl-Z0cKQfZE7E!2k%e!p#UmT6SF`JK%ujWO^9z%daM_DENxz*clH@Hnukl7LT_o` z=BjsJ7&QFNcr6!u|C00i1wE!FtN!T4yqwZ2wJ~|{y0;vNFkYXl-!smwmc666!0ohN zaU=v%ZfAL&MGasw9$iQ;2c!Nbxjnqxb8M1z#-+xJeO|kKQ5yzf_K8bFLnxXgg62c4 z!?cTPXtrSVmwwej^1@yW>h>f*rL~|tc$v$X$#xOp%Lp&B< z&IE%;R$KZ41vYxhSDo`4py?7uAB4OAID^CewxU+fa*X2}p*lP6pdE^KKBedx@CTC- zp1r4H8j(X$-Rr2B-LC}tKMP6HrBGyX^lC5eJ*b~uJ;Jx1P~I9-4!yh!adLoTMg5;D z+vBdzJPSkfYush$%=&F1bY!Qq$6MN1(=2wy-UBVFzDO{?5 zwuarN5#AHlSw9SIO4?x;}4vgyd(V61+A?=n82aI#al{XI++khW|@ zsqz0g+%U@b44gw_waprMIJT`5ZSiFa$Et}1(m7iz-@>VvA|@7=&2GG=Nd^;+SA+{(AtoVZ0 zCjtw8h)#9_>Zhj}J(DBF82zT{9fn*1NqDS)s>Z-Zd`tidXZRGf`6noU1a+KyqInOZ z8`XV(dS}*q%h&TaomMBH@!b6xo1|M8-=_ZNgtrwdyv7#J1gr=)i|sUVRHOdmcZVP9 z$bG#Iv97SD6Qg}B-x%Txt?H#2-s=-xb1+_{8jX=bV@swo0-inF_|~}g&8mC}W`e-@ z85k&(mE%f}hG#=)f{uS=;*tA1vqoSRe)32aLB1?qewok;h|%YS5g=t80DDzaHYiax zs93%lyV2t921~c?>RZp)Tr9V?w6u(#$vMFSB$CTR&ET}3DJ0DQZ&b96;Jn)jHvJLi z9jE=Gq9BYyCFjTA^wuH-@c4Q3wmj5M&B?*htnXcaS8v`IrhLeGFUZ-fswuRrb$PGa zbj>OHbNxS}zB>@h_lx_c5)z_mt56wb?-3%OjYKId~j*XO|A(gshtJUELM$H61^Se4_Tjmjy2jA*jk znlXiG$y@Y?KRtK&k7h>UdNIroetU_OMqsr?z4GrgoPX`gDVTcX+2J~pZ_m;C7rp2n zZwC=@Pd$SV_+1bkhyf+E{0+s`w6{5Q2XCPgS6`X`1ZpI4qK}vhVKpnkG^w)Vbb^rm zyzXJE=RlVSe7z^RKhDpWvUike{-?=nDh;Vp~KhDU2wuYE>>H~a|t4GE# z!Kc#bSRVmAkcWD^-ABDfYW|kDm(XSBc;DL0lY03LpvPCo&}vkfjs3^$SGI*~ja+;` z57Pdpmy)`c1?m>NP@L|M?enIFp?eg?Fn+ir6oTX$M))f-JNbJ^fGx~spH&@ZioQe#Qg(xZ(avPZ_6E9=v^SzI{#Tux_zJR4?&I`hpIT4c&irlX^XJ>&O ztp523`Ztt*+z$A^u0ix=4u8B|N3>mo2Un6Tv^=3l`_h-1XVZXNUbE21`4~;DhQ8MV zYLg@mQd2fK<_xZ*bJ73G0Hc`%9alEYWeNFI74g3s&;|fTo+RU|Kal>aAs{3nNrayn zT^AkY=Hkk;KNLTjJ%WoOh(nes2u51}&9<0SX|g>FjEO0s#`hAvz|Z%7+8k=$hs*@Z zsDg~+l1?ChFI*0&#sa$zDv&$}DBh&w;yt!uq;!HL{2S2mpPG-eozGuW-zqW^nhl zKXxRHy6sO3Qse7AKzS+@k8W;Z?-7pc?gw~Uua4D_*RqJM`5*lgKQhTqARRlT-I?qN z@?8B$y5DK?TLWg#@bd}j9?d6`9qj&DapM^&$E1tGeGY4DM)rldh!Uak=TA~iBs&kz zW#9P)H~8zdB8Wi5aC#j)J8pU4R1`%&l*Qo|oVnIe^Q4a+a~}(_p6gbJ?I!WgGs_{T z`>B%>_Umen_9(3lCOJZ`{OigNJebL@FIaHxy?_`haoEERE^cLdF;FczWPk*YXT*Er(^Rtg;d+=mJdbc)9hfACT?N1tXAX*Nj#`oyRMj` z%I*`ey@t6vcU?VKRz&|zMXb1v?o}RcW*_Z$9POhfCL-`Z!Fj_x1V-@kF3frC4|N|4*_Sqs=ccHk4Jf@6;Hpq1giM;BljimDl?1B{dMt$`{GEbc5d;n$}n1R zsCWf32`JPG*=EoXC}N#bX7UBy(aKO%MSuMV=5^z`J8yN<7E1d%PQ6mBe_K*!RZ$s% zEfF8xG)6uH!?nARQ(*G?u3Edp?T2uE=QVvDLLi?TzKFRD?I9wG6|{uPMji5ctq#<7 zSvebE9N~m;)w*y9ov4tRA6ZV(M1lFX$1gs4LQWs@Z0))KzF|w_;hVR&$WoIo}4gKZY&dkJKoX)2_$fz*v8 z9RdZKJFp4jN0}z`c4FYFR|OU`D|6iVL)zS8mHD?bv=dM1$$V($VM&VhmH1DcT-H-A zB7SLPb*7vh@6{1Xw&j?-KKO1LZ2|)^!LF`lXlMwcRm@jGhsAz>N|upTU;bDa;5ee2 z&;f&=HjO-FdavQ_&zRo=H_5A=gX|3 zBaTV!2z<8ZS%d{bBGL5OTfEEXi>`wRIwu=ORc=-tZ6Coid+wt)N$79f`vem;%U9f2 z_VzrFR_KKt7MDjYV0fv6Lm@kur3uBkmR~virszJ;ZspwC`ww#1`ucj2dq3*+<2^HyECvd(fkM z&;dct6U?BhmJVkg&^b?`H5+&=ZdYz*T2*wcl$6nmm5*3f!vfj39xiwuWN$-EUw#1B zA>F6`C{(WcuMELHvqjFG5@x z32~dc=J=jTlCVQ`dkA$xLM^iBk9Hcj^D4^r{(&JDf5n_U>OiLxeHFm38*2Obx0&S# z&EMPqhQ;>B$*T6JZy%jL8l!guo1!ucwsVqB@a{Y(`8_59AmG@AuVyx!P z(m!B79G$OM#}Dje^@;!a_#`Bb@ADO}#Q$k32}$3Y8RH_~z|~V|t*m|q2YOe_hK6WY z_d06d2C(Y08rlx-fV^A29=EdJKDyr?Uuc)$F=OH}lj<>_`u%%pt3j4-)gjo@t)nhp z!&RzXJV%QO2l-W-MTfm_&sm|q&Toa@itI}&H}iXU_uj*&i`3VClu zrdwHb*{Xbr)|detXn-*Q4J>*y(72y{v)doQ$Fs6ZRfm}boYT_6-@=pC?%=ata;HY@ zyum*D-ocQQ77ec`rlS}4aI>+oad$tMs1HC*A`elRk5Ur7sfP=thyDpW{%DlUcIipy z;@d~x3^+JdRrVZvcU5im9S)|$=fK2!4t93bHnD0apvno%g)$$&$m4Z)i0vlgdjn-| zMcYuo9iipghB}xi_8t5pJNSi?HjQ+yFM)i4LFT9}+^pDk3GDRAqdnN!!oz8QwEfD` z07k`(4h{ds||4DYqq13_plh`z2^Lgh*xp=q9@fyxtx$#0qco`qjk?iO7S&HFh{z5FpQE` z@cHc_`%NKku+7oxWPLHe!`>?_of*Azg*@^BCEgb?I*%R;n_q%`0gFv z-NL&PpS&@11*I;dW$DYJRpQ@gd%wkxlzm^${NA^oZCh%k>VCO#E^Bva-IY*5mbUw&JLHNx zJE9?2#wlXo*=T>KxXoS}8~duI%~hf8krIM9No;PHm`e*zQ?6GM3-aB1;48{TfaKVO zb5q`Ua!K2+bF)vkN>8iy2aKDC!NTP*5;*q&%D;im&ai*;Q53{)<6Y)&u1k5U-?>~q z8}BNa7`peNp84@W;Q`d6IxC7^thaA_!n9#=h=8s2D>P=7mWLm~wam6dlwbJ5S8Zcq zO38N%S!Eo##}Rub#>#ki8qs^ZSQr%Hxry0f^tSWX>(L*h}=I`&$^VWm%Gv znQ4)`(%aLc?J}3LyahQxb2SgVYaL;(`tp|W=szrHBh6$waTmwrO(7JVsj6$+ueb9z z>gU4O-7cy+u#l39vaEmKI0<%b&hR&=J1FX}x3^VtlYX_y!R`NQ0l;y#BOoB)qsPw1 z#>NAn-!4@4E)|VdzLc`!gsS=Q5%X(IB_u(sfxPRzo(8rD=Vyu(rA3h(_Xa(NAeY&0pf09Bf!I}{Z(VGdIm|S1br&9(`>?9K3 zslL{dXK?{xO(r;fQ8p%L_nIBp1O02K`omu&XWPR1NU+_aH@-x8C4&?zhe(iyQX0%e zVNVjr_Li2FxjH#HL9{nEmZmQ1{zMt8NpI>vOj>$1CG)to1Siq zOVJ!=)3@rVXlb#g*a@?O7JOZ7+w<_>EcinYFM&zyd=W7><7Aw_Emm;0`u6fj#oiXq zN_R;GW0CtIJtJc%&!`oKM~}KJWWpBlINQPCgIX~=fo1Y->l&BC)ZKA1&*DYTK{S2h zEX&w)#UNmRtQ1JnoHf#1$liMUu z(F<0FrIMs6*i6+&k>@P zh+0Xhb2p*uLlk^5D`83$QIvBqT1ZPv4`J)dMm9MVL=e+S0W(i}Ny6v+yut!F@PLYW1tYe&&>#u3{{RH5e4X zd8d`Y_yV0g93QhVW#_wCOfQpIg()e*pe#(Oz?2mGSi%yVQ`L3dd2LR zdyn`BrX}?B_wV6Hp7e_CG0g^7R^-YLcNZ`o{^i?nq?s?mf}wqk3U-1fmh~B4!SS=D zrP4Atw-mX5>|R}K_j6LBLXaz|yDCDI3Zf8qLWc+AhXjIqhA)V}$akDZkf`VK*TuuG zA5xu~My-2?H_-|VHIkIo73blJ^ykWp$bR*?v~(&iFDWT0SA(tMMBKi=)bn)mfO>c- z6KhUP)@Zv>N;Ax#gc19nkrGmbwim%DZ zbwgRn3wkr6hHxrl%6gwxZTyyvj|?+%j^Pf|0mtwa_M)NRef--qnP0w4KOpSl1Mv*0qA<-ARN^-aPC#X6!58`S)2_9FE#rTDZZ%(nTpqnBR=DIUignVk9_y z`eV>5lv#~(ACz-~Mu)17juv9RW z-0%ICy)C-*ql;^!6ig~nLv8&Eqt+-${8>{v%+H5*2Y>OaAZlgHOQ zADbH-4$gFlOQpI;Kt!wx&|T!e zgnFmKzYtnETB*)XUf|;6+lpIpGg%p_`1s7`A#?l@#8I2cXCp_4+u7>_y^ojBh78-V zH_ACw0bfhRaZ|Jh=Dz-&c~cPvpLuFJ4E9& zWN}#-8kN%)YlYV{=*8v2Xu-{S|8hI?u&71+%k-C)N~gAFS8()S7tRONM^&Ze^mKO@ zFTCIp;^I=))~=}ABSk3zsf+V6nuE zFL8%ZW0&6Rt^=#uS9?oE*{c}Tq#eFFOdXg)9p$B@e!fvsD0}(gZE6>AdE@L_ zg^Pm)thp6`TUcS%0t6$m!Jpw=K_?gQ!~PhyZlp!0G;ox!)&d5|D=i(&%h0>iKQeMy z16v~sP~2+mnc)B^G3Y~rg4owynv?tA({Y~uP`6t=84O@^+qOUg+o?_4EdS7-r2W7! z{KAJkF2Q$?x9y;_{5Lo_*?~FwkK7cyrq1|b{579fTZ>ycmyv3U8GGis@a@18|B^E@ z7Ly|sY>J?_bhHD2oWp4v9WDT;bpD{|8QTKn7N0UYI=af8iGX3Y(_Pp&VMT%QliLlJ ziZ@bV=7E~y>#m)hotvq#f7cU^-2DAEHaFdY#x6NJ+{;(i+wH_?L>g(fx3|l>ZHLQp z2(GtrQ{uoj7|=dL#VHY3lI5fJDB9^MXLu6M4!N`_2ktEus>zsGj@zDWct|MYAfXmT z4Oc#E$i6|amCaT;J53`R2m`2S6|zp?U13|#IkYH4v#|MT!Axj0yvgjNE4M~f#c)0-G=_C`2OlobgTsm zG^{HB&7jDmY`Jt{BH;E&p@r5&4!T$8ejHe5j6lN(wOKC40UkOoBBA!O1&CY)@2jGs z0{Z4)bc;3tkCwph95%g~scFf$FSW0q-$y3}af9ftQnz`Pgxw`8Phn9}b{{7QbsVt7 zcB1*cyO2s{GpMPkf`#VOHpOSDzE{B7e~iBhr)#RAi6IEzTf)@zTdzxvG{^7i!T^`j zVQrBi9)o>(wM6NKj%=o0q2JtMTvypxaTko=Du2&l``5Y*!2EaOcD2x{H+Ng}j7>}^ zQ|-J-Zo*mN;84i;_q_Czgkvf$qA!uaBT0*U+i$L}uCB#uw3VwQk?CK9m4mT+c8}b@bN}my$jI{-F4Rx1)tL}Bk(%pOSG>_se-eDDdgYG4qWDl|g6F5K z2MpvlZr%D@`u=5qg{%Do?sna7@tqnn9k;c5r~^AFa6m;tos4o<{FmIu(B30!cKP3| zvgN1E>2AQ+j22qN>^-HWrR@XM{8}B|{HT>bIxr(^qKa`C{$(j(l*u6eQr&+)(Z3Sk zuYn`xhpj7pqNZj!T*_-*{sK(OpDx%LeXW9(?0msbfuN}JZbzkN_ObeKoY?k)1XeB=)c{UE} zeXwXB{ryqf;iTU?tu3=kSMb_SF37ykLDlv|F43edV9dQ6-xbF*qK$cn~! zDy;9Bt^9Qg%|krNDa%n{d>48Kg&d2*EO4gf*E-rOqm<)8{xRn=NTPaXilzr=VY$@Z zuP8iZXqh6o0zEj9JG?hpBC3dm5~az^?_Ly8?HPQhR1k=XLXe}-$!597sb7Boe1s^T zd{cu;AYfq4ENbID=9m%*)fqZs#s$j$llbXnxI>t;0#44eOdp>qD=X)Xb-^&32&lW< zOP2+7s}w!{MgZ(RM4Qa^3%&JOFi)doF|QRh(N48~uNVc>i7JLP@g(1Auoc#QVC9Ed zAD{=g-V3@C;o9*Z!x?e@X5P;XH<=B@?H_(qQ8D-E`}VEtemxhTqf7PtLQnvY+>;YX zHA@EI%mS$)v4o?E%%%I;%b=OSR!EwU$83)vUMG3^=CgR?h^Ag=du*a?k$Tr&EM((m z_|ks|&9g=K7W3WR-Qkr0`h^>%9&qw0xjf88XFeII@$RJ;6l_8oD~BpF-tBL5(Wr;( zt5-S2#l;mB2e8#%txR2%jJ5mykkxq*eQ?zyC1{t%zrJ<*_7RLHf#ECe-%?Xq)*gg? z(o%uZBO@aob>|+u94Q~b5%+~)>s-!~kQ6U`|GshkGzyxQB|dOt1+KAoU_#MHPrllW z^`RWOa}-w+sUVfqBl^+ZVl(s41`UFgNN%RuF$-`j5xz{~W=#FsEm1{jwpw@{ksxji zQ;Ap(hFW!K+>ajYl)VtQxT%O?bggxV()=0z82!3!r-#S9BS zXJARm0`L$Tnc$EZE$xRU_!99Db!)+U9V$FCbMueIGblxIu!S35LOJ0R*_i0)(#>8i z%7ykAepCR^TDbv9c_K?)pyj4^5B{lIn(6Bog}FOFQM}H)TA^SsZ`_KHFlasTOeiys zR7ni|ZE10)oRi;Lpc+GjtX|<2Gqc3ZoMc#;wlL9mad8nTz`gW!A|WM>zOwx2TWP7# z`os$!m(3n^RFwquxGU;B-$w1m!^^ul_J(W(NEp~;{@E`_E8T0-Hh>cV1NYJps4UNg zG@{~>y3)+drBEqS&E4G%wKM16MeZ#8{;ZQl{tAvlV0q(4PLEKhGle z4^}*nTIl~gERYCRt{7e(G&PH-_hk1Wm(;>b&CK?;Vu>qUI-|QI zX%yXXR5H*PWdsq&)ZEGUrP`UPtERYKFV1JKiJ|@{Qxlv2$ZZ&xgIF@JmIOmCDG-af zaoNEj0!9Vq=lffHHrGXK&>dectQ-vUlVJSJotxw9>x&Zl&|aBX9xk)EcC(KuMP%aL zH6S!%Cqu+_IP89IQo#$Ygrx7k32d5*O8)P}t@tNrrf&4~v9|3jtbU0jD&wSavbSV^ z@L;Mtl9Yg38!iY#wumF5C5isl)MWc;pxwe-w2V?X-8P{JDowd?>`5>Dh@v?EGaSWZ zug`F3tp9}5DE6-zjgJYi&=1?F_!R1SG$+AE;L;;e0IWS?*$QrKIgCC!BReIn4)%ecB$uiE^ zzY;=}h*$aNz;C{G%*68L1?@CibbsdG(b^Q7^dJZc@RTrK)C>P}IR`9%iwJjaoi`Dq z4`GyPlGR;8K7@g+shLQSciM7kHxxL|z1XvvgO5hyz6x!*XpkV)Op}~~qD$ym`b@sF z(dJ`;>-;m+{>)o~;rs+Ur58`A!w?nCtD>z5MoQaDJU%CquK5?dr+9r9X>y*q!BT_q zuT5fa9r(4#EJqIh>SBzI4Q-iOdfjwh`?D~Z6P>Z*dq71+g#|(%x^2A+Uyv!00bB%? zXT=nTh;i{1mzm_*4O!v%Z!NH5#OYO|LqdrJ*|)saA$u$jzL##(vcp4kI3EZSF}{@a zLe3)z4$L#ot2L*ApKwe7`U?PPd0zq2^c-q>@>%(e-&?B29?yy%!2isND~ChKo&eKenL+;cFGdE8v&4KBloxC{(SOaZfFFZ@v1 zIDel#m>dVS2nv=K?HLi9kO52%KO1+;L&EVVstdpM{*JrflSdGn7~as>nR`w5p8vjI zUub=+d;U6{*K!jFX1g3YjVQl*M8aW*2e0h=cNEJ$(O(k4%HFO3nouFreuDMs0@|q_ zQ9aGT((EL6g}$+0zSWW0=QuNQZU<|3!r0*{EOE;}_@S~yzu<+zj? ziF`eAe8y}3%5)E0NGV4LwL^r9{djLY*zeGgNzYN+p;g*l#&8L^2<*f zjC)o;t7s+69PbNrh5~LSMeIFqV6TX7)*oJ*^Tt-76{VKV%Wmy14Dy)4=C+9>;W<)2 zz_=kU+NZo|A}Bnyb#iM*x7x6t?5wdRJQN%#E3-J z9VuoXa)q?c^haZ-OYsTV>)YZ^~k2KWOduUz(4$a=q4x(>x zaIje>TCQ2(3XQ5RBc~)GxN2*rw6dxlYLs!lw9KrO+5fC60w72{hhP^-;7fnMQ|$N* z|E9ZqMIj?I%U#l(F{OwJPvW`qWW%skRLUEpksf?xAfg9bmvFQ{8)I2Ihf1DNjh59} zGO~`n7Eq3hfoj<_^DTL5tW66v5h7D=fe|jNew}W%abyH}t?3I2W#UXqt)9MXq=T{8 z3D|#-6@56ef7N{UtFI=5*x{|NtB^6>9ZB`hCY%5fc@E_D^o0$7yz}oC?U^m%fuP;R zcQGJybr)i9WMrfWjE0hY2Nfu^zZH+3K(bj(LdGO)jE#fV`oL1&?jdwlGPg#br0u=~ zMsA7@eqUGh>0jgyT4f~#LfhzhQ%tsFzC3+$bYW#h_wWnNd1C8i0bE`r_ZkM0JtWfF z790f;6j?_4oT8!!0lNEFPuSz#ApD-)D7wa=c7=-*rjUF(#n_K{J-dGT%kp3r%OO?m zx6D4H>E$TsNv*!8p|eu=H2z?&-gx7L>)J9FLVmvpxe6;)*J08iv8M4}L23L5<5$m56z8B>O%MflGB z8CrPGjy!Ja1|I$OV=3hARp>H+BpY-pNBL!<%f*vub;*+8_7^y!U7(pNHw^xVXEo5_ zeS^i*R}eLYO=c-(JJkYb*D>OOAo=E?-f*~*>lLeisp9Ua{x zCgtk-mm}VNZ|DA%>hIr108H*g3sGJzNJ+dJiw0^6+i1$9*wEz2;h~9T!Wsgv#fWtw z$`7jWG>B#td}NGOc4@vC36T{Dy<9Ouc*<$g|Tr`##FUJe^v1Mn-*@p|Lk)|_N8K~McoPDg!ZL^gIX}Ajtf421&J_0Lo(#A7JRPdR)NeCXU5Rj*yl2xpLcE`cRJ+y&1t8v`@B+?%2B0< zCWzON-q~ckE(n(q`HACUP!$z3ySm{lXEX?WOYif(>S(@soR-giuex0lrrftK%Nq_xBGl2t?C^U+jb?aQ zwC^@SW`_3y>5WTgCFP^e)1Tb?TSZm&ea2LLNQTe+5+B6cSL>i=-G0_$DsvcPd>_6V z^nkyM3qDs>SL0;HUxzT9@ggBMUI$h}!sX$$Cq3WL_l6gJ95s6G zKhW3K(XkYxhEF&0kt4hrXD^3FBGy`n)e@GEPe3)^OEk{c2&Gpe4a*p=)ne*eQ!e(o6AVMPnjyw; z?X!;j0psqv?qr^sdw9s0%F~!QB9`vrx`G>W4zd7M_|axdGC8tWfvIfD zg9G71jxuqS0nn8LnUG4Z#>=;4P+PNPm&{N(y8fH~m|7)({NvEGV_y7fA87MPL`tfE zhzmx6jCtDF-NRx_wfuI>X(TRPh$+(5p!Lx^ArXaEJcl`1*P-aaYlcP@N?odS4P}=c zfk?;|06wso><8qyLNs1MiEUtP%)Is?Q>!Q*_zevEd5MuQ6%`x9{^2ZJc+rx6G0Mv~ zP;4~j+AC32QZOf{$5?oU_uO3A+J_NE0z`uhvS%oy-fF{gZY4FfE#Uodp!Qk)3Anw9 zx9{1yC(N&f(S$P}f+x#&=hH!IQWOlLBG#U2!z<3CxO68zI`>wK?4Ra1T)OY>;-(BquobV9yB~LeG|e*be&V!-jm+VgO1=Nl7^b7Un>ffRYROk6FA#B7S2+e{-r_?QO9n zNv|o1QEVp%W$u16mn5^D(Fcy3YdM#9q7b4spZ}``7%o(jnNv7VWVf7;<9B{~4ms}= z$xW#|PizC>Ei^CzBU22NDypD_fomR0)JYpx!Bk{zerxV^qdo58$?uXtT&(+CRbE3fa<(H>U#V`g+{>5scUJK zjq%p#twL|J7}`}jK+&lv2r|V?<2A8BJ3TlE#aI<gl3&mZq-cwlRR!;zJ9k7x zXh;a85+B>zuA@a~?S>Yzz$bnv6dRBA;b85XzF?y-lB){o1QCm(@NCBru{B%bURa*c z-ZPHTD!&Cm7R{VH=E&QId^`u`7TDH6llG+JBUAk8eeY5gRQBy((^?XjL*wErM446Y z{~|=`uZg}dzvfzQrG9@J6nwoBaScW3&K-c#(fsu(L%|l#F#7f~`{slLjY#eC z2zD{GBw#VwN`gtt_+4L5ck#rLZJ+@q{CHvkitk1uxVvV4-3JKy&jbc6L(>l>WE`Qu zf$}~xElp;bUsQC--X7FVFs{WgQn0=GA^H{hLUj8Jd4E~)`*!W@BS>-p&sV{7T;4|Y zTDTLQE`qsHT`Ij2-80!|5yLSmjdib}fdqp3DI{q)_drfxO}^80>JaFa&c@ZhG8oZb}$i#V{}ilFq* z>?yhJu#tPbc5=Z%(OPgiKE}r8xRg%S6_ZPTRPU#LYNuJ!cRy1bqzPM){jEk1YtP(9 zCll&?oJ7SZQ;fXu&NI8BlIu&;Fyv*2(p(wQ2g2M zZ7rRqwR=3l3Ka6$I3g8rZ$QZqZXkI6w%&e_1bUTDRU>zx?yH(Lw2{A$9yQ%_f5Y*} zb}W^0WXys23D4CZ7nQ$mGa-mZY9tm)KUx#!9Ff!lZ6F+){H=LKrnoJR-Hp|mg_<%?p3P2KJ5y5! zVkv2(BzkB+DvGStwcf6ZEj;PP7HW{>ujxbNAP~n$Nu(gadol)~9&!}cpd~z!oh#{( z*6EgRWsfE!u6nKxxnCFw#x9|qqXYec!h5eTES(uS3W(HHY|;eDLSRTp0mS#a(W9kWQ#9pZ&l4hqN*uoGRl^x7o$CkAH3#jNKCk=+0 z&meQD1cQgN28{Z=ltpXxIUI zU5^e&kfzH}plH*#{L-+XwWL79l}E~M(u^7mYhvZQZFcon&pF`@!tD2WUT#dO%x^8q zv{J+A?%2e{V$Ka}{ydTS;@(-Z%q=A|ryIX=Va#b)W}5O`czA&b`5X#I(WX*!b8{U` zwcmBD+8YLq9M|r9MDKpMJ3h+^cv%hxDr1VbS$b_=K2eaL)4L;;eF~{I(=;}be3Z&D zrOn>N>7bHNdcN6-E%(3T$?Jzo!wr_Z*poK8t0PCT{93}3**p0O8B5*{PCut~wWCJ# zbNDdr7$?YMLz|$cyRU^W@wGYZxuD>3my z%m^+~Xv;~R7@1;6nd+L>mnQm7PW{^G@M=`jNG_@IjTT?nz=S!rf!X$R;sum99lK_B z)O458htg~#hhplBlex|3h#vY6Dk>0Q5oc2!=qIHD^hY=J zT&pSJ@dS3p-VARxHOWZpoSaMy2Uw$>oy0wLjv7&4F(fWpPB_K)0?C!bjUdOzdYi;tMG#APE@+zqg^eu%xyB6u8YsszpW1NSpcjiu6+@Etay<@@X<5f!WLJ_(=8dwpb#- zq37?=64n)F?&@sy7aF{fo$@{gxG;!T`{6@>@(Hwc1}r<*fei#QR})>yub?0M7DrYO zg^ZWD4EJGasc(^m#)+~56yue3mBHaB`(_QrSsc;%9|PO5$*rtWRhHt~I-IUU4>9Sd zH6zxr&_bfIh5^~vdqEKV0HmH6xvHyPuRl~<=$!T=wR>VsPC#v0 z4;XzMcEDMH49Cf72f7u9sNy~=D~qk1!%Na29+M*#G?>S==b{|lPR7~-sn?4P_8rYD zM+f(&pHD-}?C$)zJTP|==mQyg;01p;6qV{KHGV*A#q zCA_Tn87K4X^7h`dX7!iaFF@6_+dyrF3P=`;K;jRmh7L55_V)Jvnu@H}&>%McA%m32 zn;XSGeHG0`%@wA{&!@S!b-gz)Tm6N_h&IrGTi?bRO>xUnJLVY}pwHr~l(ge&3-5om z+C#i*^?coLTJ5f^hss(+guD0iOVsb3@P{}?jt3%7 z#U3WYCsMh+eW19$R~=}PUr&!OVSyGfV(t?D8qc&3fBW`6?S z{S0oaUBE|jE)OICX5=kkZKF6zn#{@?H&4aOwH-V-Kg2TP{u-s@Jiz&VE?imr$rQkF zt|=6EqpG|5$}*$Yi?&*z9g82#XFGYtGwCl7f}T2Bl8;J26DCC}m<+S8fBfL-I)&UI zSGx{sOH)DeW;>}DKw(G3ONTbf94sK&mg}gF>yq` zGbe65!7R!37rH~SRE7%=4?n&iwP+%a8*I6$hnS+!%avs;wjl?H$q5AU;HuYTQw^S@ zNnaPHy0i`eXm(r5iI%yW>EdSmq0jJ<1*XOa!@Nnc$a%I8ohF`e8@{Zxlwv`G0iAsf zDyg$Sn2_W+NUB|3%e`2@QLno`xv>K^#6rBhN{dvBcmMhfozHats)pVE%%vGM`{m8= z(4b+t*%kXo4so83HqYv0Rr5-Uz4!GPrF|)b+yCMRaI^b%((Tiq^)#iMe43Uq(2j~# zCTc|AJb-lLXv*Gppzo$HEceb2&B8i|@&gX?L+iy4kVJp|3N1ssTim-(Aso%i6NtQE z)$4nkxAj{=s-LDf<0`s^;*}2E8>9sbHb;71i=4AEwe9mpHPF>A%^Gsp>x%or(kCt> z#E&3|gIZ$QWwId%O=)l2py}~bUh{pGLisabF0~gdFPNZTE9?MTOY(8p39@@rtf}n( z#1s?))5q_kQAh+mf^dcNh910}A4M#U;n=n|!;J#ud{+04xo|*I?2Jz5ExUf<2cMGaN4Dd=5n2VBuu}#{(EMZiIdU8?OL^iOFy#Emj9D zEp(L5l10}eNT_IGrf>LmJ|&m;j~r?$d(&@a1wydk)un0O*pu*u&u73#@mUW2;bTGd z0{{Cg*dDkz|48zenW~WnP@a>eCE`8DEvxxa0m=1G>QPxq&#-13^jNA(n>c}GPhp0% zpV;yejiNBQo9QA-^NzZ$x64)0c;Oq~58PRhPy!B!a?zLBRu*{vYRY4xVIlwE#JPVh zmhz-?sz0UHXF?G~?Y=@_nK><6tMQ|&$j+k%VaorB`FI*5pxMdlD9h`gQ_NTSJ+Pv67mldjD4db=+M9o=) z2ytSiP8db01DG)G$?D?-rv$C9(OVn6Pff<{@y?%YT;n@*$$J0lZ@&-P*cdz2Gdi0U zHz>4RbFZ|2{49vKEm1;k^NuYuA+#f!@G&0Vdn;ACgt;KkN=!@ySxETtkgx0Xx7znpuHbE7*6#Gg3> zDzyfVdd@%->w7WXKv6$c2xUVHB5uYJNy6L93Up*f`?)8oilMKHv#N40P^^D=205)< zAv)8$Hs9uR?lrrG)>%@4vs1zNNM2K6&uVB{7o!lROsbO>h~{$$zUZ4NpKKM$B!mV? zugy>s=9qPhS~6WkLUq)xU*Sp&cpoQZWo(8E0`3VZhZ_Vw0A^Y4y`h;iEV?e0^S0M} zSplWip7Dt?Efts9!v4AeY!)(AC~$k|Gk z3bI?wBtL@xrDu`hZ*7~-DpO7HxR^_Kae(o*Bt#6UNhbA`}d(4-ow3}uJGA*C9voe9!#GzfGZ593J9?#?4j(cLzl0* z08OEsHyYZ5R#xGL=9bg)>NQjjOO$(fJ(g@VS$>St0gyTFHGpC_Qo8yp;K<_pF^9z7fo?yPEEsR z6WL*S4zgv=bddmXHBLaSk(D+TE9xaF4M&YM|7tTgr9$xlZgk$xpucSt~)1T~+;CO-ahkdHHUo zriuV-{#YQx+r!bKuQ#UalsC`&A`6}(Jakj2(mYU5C>DlOP5i7HvaVi`@a%NDGARMk@!z9Cb1wq9O90a)yBKD+Ww z^O71pET2TfL*Zo)Wi}tUqd^vMcO?H<=C4g#Yb}s;0xs4tH?*;%0kxRNj=6I6?d?yv zpQOTVi*jvy%PzpTgc{weHnLz^AC&+2L|xh1;%nUy+L3wX$Rd|m;)5iip|s2#5u z7Fn{nOsCX6#mZ@&P%2|A-;hEOA_#WmlIj3w9{(z?fVO$w?q0G*8P3`7f`}ohUHCaz zBd;HYFgh$quS4&&yZYAerMs_J%7 zTsnc|DEtmi?|kl;K<(J~IqH0TD?aS@_)-CCHRf7D8eUrhmV zVbus-bD24w>nrL7yI1LY@sTE1v(LH$!DYaZGpsK@P9h~3W(TJmy|>C8a!=6AvU8W} zE4%|zxM5PKzdq9rLZ3&iw)oZhPp(fhy!M=c4A_uUaKv8vUfQSk@Cx54C?xZ$I);RR zoCtLW9?Qae*y_5&_c!SJh?q7`Z~Q3hxo`nJh91=rc1l>74u$?CLBvSqboQ0PwxxxQ zGjR|gdZHPJ9*&urUMkv?&pB_?Q8CaUutP=~$n4sy7h8|JaOtf2l zsE8$k>b1q@ri&^O!mx4^aJ-7{?ekS5*Qh6;dgA-lGp@>ngt9_xD?xwOX#t<1QAXJE zEb|Ikf%^q6n8a91%1hj8Qv{+Pguy^rh%&K(DeL6#CR4Lsv~z?uj#`xfxj{-n&@*6b zc%Aof&=WSF(SZGCv$hZVbJq+-z6RbDf*0e;)@o`gzg&s}6fQL0G6_;55)ki#a|2=1 zendB|P;5radpHM(p$}YMV^I@^T-FqS%pS~#y#MwPRm~l73saW&wiTQdR&@hHx=39hO$!z2Q;xVC#=Wm_cxMG6YCjxENChH6{9Oi_&DWU(q<4 zSJH1?(0)4qgn8w)lDj(^q^k$hywl2hVXYS0pwspHnu!T|LfwKP(cK|~C{<$Uv2Wj> zYQlWatgmiYf02_qT$vheI!r6EmkiQTef>H`_KibY&3mkTCW+mmK`bT0 z_QJ#DOZdr`h#m+phd|?D_Nsb#(BmvdMrKZq@cDf}W=L{`k+0mz_pxY9x?6MHrS0ju zX@Ns|pdz?G&;(luE(l7HV(2}Grxu{?{Jpp4a~XQj;jlG{f3ND$7EUB!O!2G#tcOve zBzNaZsg^5#0(FHs&dXUY4FajYmU6zA; zZE^O!nse?7hz!~peqKfYiToS-1S(Q*6abpIAc(Wn|9fZU21SJ|!j#%^L+|kbH=+$< zkozEvXrVDhEGV4rOE8?-A;nB#_dj~ri$@81@#M8cybw3^imoV8a(AhD+W80IeZJFd zZGcia@UqeU&-x@8S1#Cnger8(IFd7`I(g8J7lVA{+ITj{Er(m_ko`exBOeqEstAZR z&{b_Ef@pjPO}HgB^GlpX4g#mKa)c?dzEkoUYQT9RUK@`O+?NNxkrCa5t$zyp?HjMS zkqRw96Nb03(dP@7ESoW)gN9GBd4sn3R0}v*w{t#yu%-IB{4|A69msrc^UtH&lw5cn z;Qn$V4nJKLJeQ`Un9`kwhra2#W^_hqGiQS}ZJRzV~@Wb-W`ni!0nK z4`ip;hJME~iZMW0ye|7CWB5&co3??o)UheCcrlrU(x2wg6{;bX=3!kk>SfkWC| z5KHj=0-6;GhpQ+;O(ihtCNJNE`$A^*Uxsb&4<>Kt4J;RBP1NXc0J?P|Au~6n03|g9Ku`&(L9#?QL7(P{12k)_hD4_Md#A-l zZ=ef81ZwaRWk^`aGgz0Mxc8UW`g(YUE^p*~D&RaV1n3LN@IwoP(qtbpfiZdr#ZPTt z;v@IWP-W$}snh&O8|=L56?|!vtFr(WXbhl}yFz)~$@Pjg28mUoG#Zf*=F}2-ji|B| zNF0)c=K4cJHnMofFL0GtkeBI!@2~|H80A-i+?2lyGi#3X;1thszXF;pdUOE%8|1IU zca)%cWi0s-&inr%>bnDK{=ffU4V0(|p-4t4DwXz>C`~PqCQVH(q;XM_v{Z8IHnfL^ z5{ibj_tIY4Q_>!{`#aC;{rUd>@dsY7`+7c~=XuWKJkI0!JUB7*#gXLm6UhVs`~fCT z=K{3gyzhGgAx2nc$bklrYl5qGL8Vb_C?+uji#xPyoWaiEX#15b$YmDGK|AK`TOsXh zGnMcH(fsAY)UJNLmKP{5a*R0oBJ%cd_Ae1v>)VbaqUjkwfchg?0NQFm~KwO-C$aVMd`uDvUA~d&@ z)l`vtjY?Q}x|_!7e_DV}+D}KGN=eynKcK*JNV+g;V|8A%H+_(;Z#I723Hgl%vXw1I1G$aPXY;#iLXCKkniY#huNcM(T$ye9u%TVJu-+&YVM<%J` zjB6H5Wy5&Si6rczz_y}jN>jA$1x!zNB5ujyp2bs0mP_xU!?27Agdrm}mw>Ev*Uv8z zA!rszaRM6tjiU{gqAABQ&EkCjgKtHm0?Nh;Br<|(K%sFkDl#mT33&i_-hsa9EUIIV z|JjkD##IYBv`@6jgC?7*qgR;LQ?cf2M@dgG?0f?R8*fI}7vL0xAp25NO@Bw;ciGh+ zOdF|Tf!_iziOIaao8Wj-EJTn2wl`o)p)S6;FXSEaVp@Gl1?t?=7NAyw?Dqgi=9v87 zZ>Rq6$z07QrY_Y6L!H-#h5Up*(Z+8<;81S9GTW*KRVE5@hmCKkrCy@0>$Andh|5l; zq%=Hk0ic6>gmy?m*qSxO(LckT*M@iLX9?ERX=|^Q7wd+JKi&;^@Cj?_(k;&mZ4}ed^$%P6u)Z{u_ zH6yPQghqP|DVxgZCtC235p|MX(Xn}AU|#XCF^s@_#uV z08r@=iWns~xfVJDdTKLJPW$1S;*^~Z$_kCie*0YKcL6lXb#_(Qg>vUejVeWF<>J*!o>14wAm3xtN=VLdf^EnL0QRmWZpI|6h3IjFW42}4UMId zdC3RtN%3}nzIeg(B>S1Yuh9n&1LT0rin%+Jr9Xdq>a}YhN}eTPm-6y7RdYhE@3pu`+uwcB8Fwzrp^`R?;$qq|^@fal0T zYvhhHwC#Z-_k2M)m1*|TegP)mM|oMH!S*=GRQ|aC=TA|zw;^m?r$PCGIfTda$eP&T zbTP<9ZEqbv6sqy*zB!2AQGR{%g%CRK!f8QSpb!x*Aq0G$3#ctlkZSlB>yg{Ji6MJ> zmyh2ucX7;?ys>p=jGO!Sqlbf!cxBd|tB*Yx z$@L%49Nl{Qd)A@uICPO?mpB(JJ9g-fnvs#5Zm!D5dFbN1-Un$_El9di!_(D*t zl%M)bPAdnIVex^&$aitQ9&nB@C}U|v7$`CN#GRY{LJOVM2Ie%M-~horN?Aie28eIY zXFx)mgCT>KTjm(a&Ocba*<>_ZX^Ke2pF=q0FWuo}Tus{Ov50b`QxC*`3KgdJ^aCvr zJczuH3vzlsfH8-dZg%*1pxx;DRMODYM~S@yIar{G8EZBe{gx$8Fz!4d(fa0 z+Sk4moS|UB4#`^#lPu;N@0jw_di;k2|iCan5^yAdaUQaIbEoaWJQpJf}tTKv9j0HJV zSK3qMqy$ZbhAfja4wih>q8;Rr&&3NGwwI4{^u}ZR-%mw`hK<5j)Zxct%}nibI(GI7 zX2T;W72uMo(-wqKadGhhM_+Yn-58}X6>F#ro{`m=GT3t4v~2H~e(O91CTsmx1)HQz zZ)f$AirR{%ZE_j4LsxgSmugjkZz&JpD4)tG(4G_Ii|B=JQ)kaO`kG|+l95sE7Lme0_OQz&v29G_Q#zr$9_ zOetj_rt7^~*3*t0#>!D`!C~rSG~uOE4Ve1SvGi6+{M%aJX=+PmLBSaTeCla1%#$^l zs<*Ng&PV_+$IQWmm1#Mt{%Ue{z0Lu-?TD{2n%{3fVpYC;;1>y_>)O+NT&Y{jvz;1d ziuQC-Fzt7M9xIjTmkSU0s(jJzp})GdOh4meoH2H$peVm7lmdJ9qh!3Ci}UnzF(!46 z_B%Ru?|0ek#KfOK{|MIo@Sa~uN())IXeqH13!M_PuRfm`CU7&sCT1)XyOk*)Uc=-S z;B84*i02@*p@kK#^)ESuEMj2icU)eFj1Npp(g}Tr5=>syaSwV$FP^b-(x-NyX$Q84S|@;$2`swot(FC`mt%T33SNc#q@~(PsHAeG#H0dY zIB~B+49D}1eA5EAA*i*a3}ZHK7MoD#cu{h-?2Apu0rPkP7g!z~^?kLh?24Z>oq%1` zVaB`@GY)oJ$|v#A-+)Dae5W=^kZhWJL<@4yTj!^K9I*Z(E3l@)bnkaAss9AFBvkN$ z_kDoU48-BYE6f;0jy_dRF-h`@<=4p>nb-5rq;tk3V?gO z|EP=6f~3RPi2Sq4Q2ceRj(H2?mEF#L!5!i41mnWIleib}vnSOt!xTBokIV{re!Mwd zb{h>@`1My#rdhC(7}$?AHG}w^ic7Cb27W21R%i0$=d$J;!DMgt(BU26w%e$^VAr&~ zA~u{U@tQ_=V3F7dgzzW8U#^scWs6p(=CXN7yE<`}jSA%k~F3u8IDyK4`&Bns>Fv?ctJm5MgKIn0)X)TxhwN;>Ay)$&=b*w~m# z7iB2zX{{eYk*S^4-IT$5?){8X$+-X(B_$s_%!9Aa=Lx-HlBOIDmsu`pS-8LDkX-E7 z8)r6Rp~Z6qU-kND5yjT<+}YZa-AR$-ZBx#A^wXDkoU0nya=Q;xYWDIDFt`_D=BmC{5nbtoO6mx zm2OKn)l~l2&&x_=d&*8*^S@+X+=vn`p@}hdj!p9Z13uZ z7TJ@BHfpJZ(`7M^39>So=Das zQ)Rx(5vN}hC-xQ@GfL;ZW1iI`O=rtEy8d?5SLE6)Nc>4M9uB>2J^DDysY&MRVpq{Z zWS(pAV4~w;4`R(;56+Fn%Gi$yw{E>WUb{fMJ$G!UOeiIle+_kDhF<1#JN75J-LqX? zZ}VMEOxT_IqE7}KSvGXB{;gc$e_LXZp-?h+}m!gcj8kA3rs|$ z_vvgz*F&<3-B;t$j(=H0{kmbC&Q7%0AdSzkYoZ2g-W=^oH`0UMk;8}LO|z43d=+m* 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 c%AneDyb#I1(*2~+<~#cM1nd) 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 DIWdO% literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-Job-BZGSBA-timelineSmooth.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-Job-BZGSBA-timelineSmooth.png new file mode 100644 index 0000000000000000000000000000000000000000..dd74ec66b285973f8fc0f803a747e95857e2d0e8 GIT binary patch literal 145865 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
    h761J6&l4w3oIH6_Nl8grSy@FzMO9T53S6A22 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�P<~;4_67092Cx>2#Xx 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
    7Y;`U?XYB1uaWSxI5znMHRRW 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 Nv@ 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-facetTimelineSmooth.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-Old-facetTimelineSmooth.png new file mode 100644 index 0000000000000000000000000000000000000000..3c142430c5316dd7f7e2281b955e63e73bf3a6f0 GIT binary patch literal 147462 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

      HQbn~TRPFd&@b|RAp^Piw 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-asm.md b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-asm.md new file mode 100644 index 00000000..10fa7296 --- /dev/null +++ b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-asm.md @@ -0,0 +1,180 @@ +## .NET 9.0.1 (9.0.124.61010), X64 RyuJIT AVX2 +```assembly +; Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks.New() + push rbp + sub rsp,20 + lea rbp,[rsp+20] + vxorps xmm8,xmm8,xmm8 + vmovdqu ymmword ptr [rbp-20],ymm8 + mov [rbp-20],rdi + mov dword ptr [rbp-18],0FFFFFFFF + lea rdi,[rbp-20] + call qword ptr [7F8F41704C18] + mov rax,[rbp-10] + test rax,rax + je short M00_L01 +M00_L00: + add rsp,20 + pop rbp + ret +M00_L01: + lea rdi,[rbp-10] + call qword ptr [7F8F418CE3B8] + jmp short M00_L00 +; Total bytes of code 68 +``` +```assembly +; BenchmarkDotNet.Helpers.AwaitHelper.GetResult(System.Threading.Tasks.Task) + push rax + mov esi,[rdi+34] + and esi,11000000 + cmp esi,1000000 + jne short M01_L01 +M01_L00: + add rsp,8 + ret +M01_L01: + xor esi,esi + call qword ptr [7F8F41706D78]; System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task, System.Threading.Tasks.ConfigureAwaitOptions) + jmp short M01_L00 +; Total bytes of code 33 +``` +```assembly +; System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task, System.Threading.Tasks.ConfigureAwaitOptions) + push rbp + push r15 + push rbx + lea rbp,[rsp+10] + mov rbx,rdi + mov r15d,esi + test dword ptr [rbx+34],1600000 + jne short M02_L00 + mov rdi,rbx + xor edx,edx + mov esi,0FFFFFFFF + call qword ptr [7F8F41706D90]; System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken) +M02_L00: + test dword ptr [rbx+34],10000000 + jne short M02_L03 +M02_L01: + mov edi,[rbx+34] + and edi,1600000 + cmp edi,1000000 + jne short M02_L04 +M02_L02: + pop rbx + pop r15 + pop rbp + ret +M02_L03: + mov rdi,rbx + mov rax,[rbx] + mov rax,[rax+40] + call qword ptr [rax+20] + test eax,eax + je short M02_L01 + mov rdi,rbx + call qword ptr [7F8F418CDB30] + jmp short M02_L01 +M02_L04: + test r15b,2 + jne short M02_L05 + mov rdi,rbx + call qword ptr [7F8F418CE3D0] +M02_L05: + mov rdi,rbx + call qword ptr [7F8F418CFFC0] + jmp short M02_L02 +; Total bytes of code 125 +``` + +## .NET 9.0.1 (9.0.124.61010), X64 RyuJIT AVX2 +```assembly +; Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks.Old() + push rbp + sub rsp,20 + lea rbp,[rsp+20] + vxorps xmm8,xmm8,xmm8 + vmovdqu ymmword ptr [rbp-20],ymm8 + mov [rbp-20],rdi + mov dword ptr [rbp-18],0FFFFFFFF + lea rdi,[rbp-20] + call qword ptr [7FA2850D4B40] + mov rax,[rbp-10] + test rax,rax + je short M00_L01 +M00_L00: + add rsp,20 + pop rbp + ret +M00_L01: + lea rdi,[rbp-10] + call qword ptr [7FA286035290] + jmp short M00_L00 +; Total bytes of code 68 +``` +```assembly +; BenchmarkDotNet.Helpers.AwaitHelper.GetResult(System.Threading.Tasks.Task) + push rax + mov esi,[rdi+34] + and esi,11000000 + cmp esi,1000000 + jne short M01_L01 +M01_L00: + add rsp,8 + ret +M01_L01: + xor esi,esi + call qword ptr [7FA2850D6AC0]; System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task, System.Threading.Tasks.ConfigureAwaitOptions) + jmp short M01_L00 +; Total bytes of code 33 +``` +```assembly +; System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task, System.Threading.Tasks.ConfigureAwaitOptions) + push rbp + push r15 + push rbx + lea rbp,[rsp+10] + mov rbx,rdi + mov r15d,esi + test dword ptr [rbx+34],1600000 + jne short M02_L00 + mov rdi,rbx + xor edx,edx + mov esi,0FFFFFFFF + call qword ptr [7FA2850D6AD8]; System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken) +M02_L00: + test dword ptr [rbx+34],10000000 + jne short M02_L03 +M02_L01: + mov edi,[rbx+34] + and edi,1600000 + cmp edi,1000000 + jne short M02_L04 +M02_L02: + pop rbx + pop r15 + pop rbp + ret +M02_L03: + mov rdi,rbx + mov rax,[rbx] + mov rax,[rax+40] + call qword ptr [rax+20] + test eax,eax + je short M02_L01 + mov rdi,rbx + call qword ptr [7FA286034B58] + jmp short M02_L01 +M02_L04: + test r15b,2 + jne short M02_L05 + mov rdi,rbx + call qword ptr [7FA2860352A8] +M02_L05: + mov rdi,rbx + call qword ptr [7FA286035A40] + jmp short M02_L02 +; Total bytes of code 125 +``` + diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-barplot.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-barplot.png new file mode 100644 index 0000000000000000000000000000000000000000..754363fb5ceed1f2a977299c619c517382b293bb GIT binary patch literal 66129 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

      dTS(n8X=D@&h7J(z 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 V)Y{%sen9XMni@Ll`Ks1e{s(MnTQ2|r literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-boxplot.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-boxplot.png new file mode 100644 index 0000000000000000000000000000000000000000..599a8e60f42f689d121a924499741a9da6c137c3 GIT binary patch literal 67665 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-measurements.csv b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-measurements.csv new file mode 100644 index 00000000..42b2818e --- /dev/null +++ b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-measurements.csv @@ -0,0 +1,135 @@ +Target,Target_Namespace,Target_Type,Target_Method,Job_Id,Job_AnalyzeLaunchVariance,Job_EvaluateOverhead,Job_MaxAbsoluteError,Job_MaxRelativeError,Job_MinInvokeCount,Job_MinIterationTime,Job_OutlierMode,Job_Affinity,Job_EnvironmentVariables,Job_Jit,Job_LargeAddressAware,Job_Platform,Job_PowerPlanMode,Job_Runtime,Job_AllowVeryLargeObjects,Job_Concurrent,Job_CpuGroups,Job_Force,Job_HeapAffinitizeMask,Job_HeapCount,Job_NoAffinitize,Job_RetainVm,Job_Server,Job_Arguments,Job_BuildConfiguration,Job_Clock,Job_EngineFactory,Job_NuGetReferences,Job_Toolchain,Job_IsMutator,Job_InvocationCount,Job_IterationCount,Job_IterationTime,Job_LaunchCount,Job_MaxIterationCount,Job_MaxWarmupIterationCount,Job_MemoryRandomization,Job_MinIterationCount,Job_MinWarmupIterationCount,Job_RunStrategy,Job_UnrollFactor,Job_WarmupCount,Job_Display,Params,Measurement_LaunchIndex,Measurement_IterationMode,Measurement_IterationStage,Measurement_IterationIndex,Measurement_Nanoseconds,Measurement_Operations,Measurement_Value,Gen_0,Gen_1,Gen_2,Allocated_Bytes +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Jitting,1,156508,1,156508,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Jitting,1,63976547,1,63976547,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,1,33132516,4,8283129,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,2,39602090,5,7920418,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,3,44343565,6,7390594.17,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,4,58318299,7,8331185.57,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,5,69576404,8,8697050.5,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,6,79835661,9,8870629,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,7,100019560,10,10001956,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,8,104685308,11,9516846.18,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,9,110805507,12,9233792.25,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,10,120530787,13,9271599,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,11,130644503,14,9331750.21,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,12,141701514,15,9446767.6,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,13,150587260,16,9411703.75,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,14,284936409,32,8904262.78,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,15,480325766,64,7505090.09,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,16,651648966,128,5091007.55,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,1,1935,128,15.12,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,2,567,128,4.43,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,3,684,128,5.34,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,4,558,128,4.36,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,5,567,128,4.43,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,6,576,128,4.5,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,7,585,128,4.57,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,8,585,128,4.57,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,1,576,128,4.5,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,2,603,128,4.71,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,3,585,128,4.57,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,4,567,128,4.43,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,5,684,128,5.34,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,6,558,128,4.36,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,7,576,128,4.5,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,8,558,128,4.36,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,9,1440,128,11.25,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,10,684,128,5.34,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,11,558,128,4.36,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,12,684,128,5.34,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,13,585,128,4.57,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,14,1143,128,8.93,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,15,630,128,4.92,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,16,576,128,4.5,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,17,540,128,4.22,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,18,585,128,4.57,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,19,567,128,4.43,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,20,558,128,4.36,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Warmup,1,522264613,128,4080192.29,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Warmup,2,501505905,128,3918014.88,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Warmup,3,503342311,128,3932361.8,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,1,502045956,128,3922234.03,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,2,517835885,128,4045592.85,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,3,544859177,128,4256712.32,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,4,524452883,128,4097288.15,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,5,528481187,128,4128759.27,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,6,523453632,128,4089481.5,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,7,531526231,128,4152548.68,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,8,520204007,128,4064093.8,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,9,525023991,128,4101749.93,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,10,528067805,128,4125529.73,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,1,502045375.5,128,3922229.5,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,2,517835304.5,128,4045588.32,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,3,524452302.5,128,4097283.61,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,4,528480606.5,128,4128754.74,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,5,523453051.5,128,4089476.96,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,6,531525650.5,128,4152544.14,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,7,520203426.5,128,4064089.27,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,8,525023410.5,128,4101745.39,37,15,0,4866608 +AlonzoBenchmarks.New,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,New,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,9,528067224.5,128,4125525.19,37,15,0,4866608 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Jitting,1,162274,1,162274,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Jitting,1,317857251,1,317857251,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,1,106183047,4,26545761.75,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,2,146936806,5,29387361.2,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,3,175365946,6,29227657.67,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,4,206443897,7,29491985.29,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,5,226671650,8,28333956.25,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,6,257814124,9,28646013.78,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,7,286598319,10,28659831.9,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,8,313721392,11,28520126.55,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,9,341489123,12,28457426.92,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,10,355006337,13,27308179.77,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,11,347697251,14,24835517.93,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,12,305266728,15,20351115.2,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,13,264018087,16,16501130.44,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,14,486990525,32,15218453.91,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Pilot,15,963550381,64,15055474.7,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,1,1403,64,21.92,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,2,650,64,10.16,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,3,669,64,10.45,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,4,697,64,10.89,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,5,556,64,8.69,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,6,565,64,8.83,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Warmup,7,499,64,7.8,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,1,668,64,10.44,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,2,706,64,11.03,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,3,725,64,11.33,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,4,621,64,9.7,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,5,594,64,9.28,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,6,565,64,8.83,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,7,621,64,9.7,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,8,2156,64,33.69,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,9,744,64,11.63,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,10,961,64,15.02,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,11,687,64,10.73,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,12,555,64,8.67,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,13,650,64,10.16,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,14,631,64,9.86,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,15,612,64,9.56,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,16,480,64,7.5,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,17,537,64,8.39,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,18,593,64,9.27,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,19,555,64,8.67,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Overhead,Actual,20,857,64,13.39,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Warmup,1,982348622,64,15349197.22,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Warmup,2,969743196,64,15152237.44,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Warmup,3,947818192,64,14809659.25,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,1,962975427,64,15046491.05,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,2,953979032,64,14905922.38,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,3,962249756,64,15035152.44,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,4,989814085,64,15465845.08,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,5,953274878,64,14894919.97,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,6,969491389,64,15148302.95,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,7,952848870,64,14888263.59,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,8,959780063,64,14996563.48,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,9,953514078,64,14898657.47,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Actual,10,951547885,64,14867935.7,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,1,962974801,64,15046481.27,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,2,953978406,64,14905912.59,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,3,962249130,64,15035142.66,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,4,953274252,64,14894910.19,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,5,969490763,64,15148293.17,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,6,952848244,64,14888253.81,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,7,959779437,64,14996553.7,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,8,953513452,64,14898647.69,32,13,0,8429744 +AlonzoBenchmarks.Old,Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers,AlonzoBenchmarks,Old,Job-ONJMYK,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,"Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3)",,1,Workload,Result,9,951547259,64,14867925.92,32,13,0,8429744 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report-github.md b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report-github.md new file mode 100644 index 00000000..c88ca538 --- /dev/null +++ b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report-github.md @@ -0,0 +1,16 @@ +``` + +BenchmarkDotNet v0.14.0, Ubuntu 24.04.1 LTS (Noble Numbat) WSL +AMD Ryzen 9 5950X, 1 CPU, 32 logical and 16 physical cores +.NET SDK 9.0.102 + [Host] : .NET 9.0.1 (9.0.124.61010), X64 RyuJIT AVX2 DEBUG + Job-ONJMYK : .NET 9.0.1 (9.0.124.61010), X64 RyuJIT AVX2 + +IterationCount=10 MaxIterationCount=20 UnrollFactor=1 +WarmupCount=3 + +``` +| Method | Mean | Error | StdDev | Min | Max | Code Size | Gen0 | Gen1 | Allocated | +|------- |----------:|----------:|----------:|----------:|----------:|----------:|---------:|---------:|----------:| +| New | 4.081 ms | 0.1141 ms | 0.0679 ms | 3.922 ms | 4.153 ms | 226 B | 289.0625 | 117.1875 | 4.64 MB | +| Old | 14.965 ms | 0.1619 ms | 0.0964 ms | 14.868 ms | 15.148 ms | 226 B | 500.0000 | 203.1250 | 8.04 MB | diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.csv b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.csv new file mode 100644 index 00000000..10c5fc79 --- /dev/null +++ b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.csv @@ -0,0 +1,3 @@ +Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,LargeAddressAware,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Mean,Error,StdDev,Min,Max,Code Size,Gen0,Gen1,Allocated +New,Job-ONJMYK,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,4.081 ms,0.1141 ms,0.0679 ms,3.922 ms,4.153 ms,226 B,289.0625,117.1875,4.64 MB +Old,Job-ONJMYK,False,Default,Default,Default,Default,Default,Default,11111111111111111111111111111111,Empty,RyuJit,Default,X64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 9.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,10,Default,Default,20,Default,Default,Default,Default,Default,1,3,14.965 ms,0.1619 ms,0.0964 ms,14.868 ms,15.148 ms,226 B,500.0000,203.1250,8.04 MB diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.html b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.html new file mode 100644 index 00000000..9bfc05a6 --- /dev/null +++ b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.html @@ -0,0 +1,33 @@ + + + + +Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-20250220-033532 + + + + +

      
      +BenchmarkDotNet v0.14.0, Ubuntu 24.04.1 LTS (Noble Numbat) WSL
      +AMD Ryzen 9 5950X, 1 CPU, 32 logical and 16 physical cores
      +.NET SDK 9.0.102
      +  [Host]     : .NET 9.0.1 (9.0.124.61010), X64 RyuJIT AVX2 DEBUG
      +  Job-ONJMYK : .NET 9.0.1 (9.0.124.61010), X64 RyuJIT AVX2
      +
      +
      IterationCount=10  MaxIterationCount=20  UnrollFactor=1  
      +WarmupCount=3  
      +
      + + + + + + +
      MethodMeanErrorStdDevMinMaxCode SizeGen0Gen1Allocated
      New4.081 ms0.1141 ms0.0679 ms3.922 ms4.153 ms226 B289.0625117.18754.64 MB
      Old14.965 ms0.1619 ms0.0964 ms14.868 ms15.148 ms226 B500.0000203.12508.04 MB
      + + diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.txt b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.txt new file mode 100644 index 00000000..cd341ed0 --- /dev/null +++ b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoBenchmarks-report.txt @@ -0,0 +1,323 @@ +*** AlonzoBenchmarks.New: Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3) *** +* Raw * +OverheadJitting 1: 1 op, 156508.00 ns, 156.5080 us/op +WorkloadJitting 1: 1 op, 63976547.00 ns, 63.9765 ms/op +WorkloadPilot 1: 4 op, 33132516.00 ns, 8.2831 ms/op +WorkloadPilot 2: 5 op, 39602090.00 ns, 7.9204 ms/op +WorkloadPilot 3: 6 op, 44343565.00 ns, 7.3906 ms/op +WorkloadPilot 4: 7 op, 58318299.00 ns, 8.3312 ms/op +WorkloadPilot 5: 8 op, 69576404.00 ns, 8.6971 ms/op +WorkloadPilot 6: 9 op, 79835661.00 ns, 8.8706 ms/op +WorkloadPilot 7: 10 op, 100019560.00 ns, 10.0020 ms/op +WorkloadPilot 8: 11 op, 104685308.00 ns, 9.5168 ms/op +WorkloadPilot 9: 12 op, 110805507.00 ns, 9.2338 ms/op +WorkloadPilot 10: 13 op, 120530787.00 ns, 9.2716 ms/op +WorkloadPilot 11: 14 op, 130644503.00 ns, 9.3318 ms/op +WorkloadPilot 12: 15 op, 141701514.00 ns, 9.4468 ms/op +WorkloadPilot 13: 16 op, 150587260.00 ns, 9.4117 ms/op +WorkloadPilot 14: 32 op, 284936409.00 ns, 8.9043 ms/op +WorkloadPilot 15: 64 op, 480325766.00 ns, 7.5051 ms/op +WorkloadPilot 16: 128 op, 651648966.00 ns, 5.0910 ms/op +OverheadWarmup 1: 128 op, 1935.00 ns, 15.1172 ns/op +OverheadWarmup 2: 128 op, 567.00 ns, 4.4297 ns/op +OverheadWarmup 3: 128 op, 684.00 ns, 5.3438 ns/op +OverheadWarmup 4: 128 op, 558.00 ns, 4.3594 ns/op +OverheadWarmup 5: 128 op, 567.00 ns, 4.4297 ns/op +OverheadWarmup 6: 128 op, 576.00 ns, 4.5000 ns/op +OverheadWarmup 7: 128 op, 585.00 ns, 4.5703 ns/op +OverheadWarmup 8: 128 op, 585.00 ns, 4.5703 ns/op +OverheadActual 1: 128 op, 576.00 ns, 4.5000 ns/op +OverheadActual 2: 128 op, 603.00 ns, 4.7109 ns/op +OverheadActual 3: 128 op, 585.00 ns, 4.5703 ns/op +OverheadActual 4: 128 op, 567.00 ns, 4.4297 ns/op +OverheadActual 5: 128 op, 684.00 ns, 5.3438 ns/op +OverheadActual 6: 128 op, 558.00 ns, 4.3594 ns/op +OverheadActual 7: 128 op, 576.00 ns, 4.5000 ns/op +OverheadActual 8: 128 op, 558.00 ns, 4.3594 ns/op +OverheadActual 9: 128 op, 1440.00 ns, 11.2500 ns/op +OverheadActual 10: 128 op, 684.00 ns, 5.3438 ns/op +OverheadActual 11: 128 op, 558.00 ns, 4.3594 ns/op +OverheadActual 12: 128 op, 684.00 ns, 5.3438 ns/op +OverheadActual 13: 128 op, 585.00 ns, 4.5703 ns/op +OverheadActual 14: 128 op, 1143.00 ns, 8.9297 ns/op +OverheadActual 15: 128 op, 630.00 ns, 4.9219 ns/op +OverheadActual 16: 128 op, 576.00 ns, 4.5000 ns/op +OverheadActual 17: 128 op, 540.00 ns, 4.2188 ns/op +OverheadActual 18: 128 op, 585.00 ns, 4.5703 ns/op +OverheadActual 19: 128 op, 567.00 ns, 4.4297 ns/op +OverheadActual 20: 128 op, 558.00 ns, 4.3594 ns/op +WorkloadWarmup 1: 128 op, 522264613.00 ns, 4.0802 ms/op +WorkloadWarmup 2: 128 op, 501505905.00 ns, 3.9180 ms/op +WorkloadWarmup 3: 128 op, 503342311.00 ns, 3.9324 ms/op +WorkloadActual 1: 128 op, 502045956.00 ns, 3.9222 ms/op +WorkloadActual 2: 128 op, 517835885.00 ns, 4.0456 ms/op +WorkloadActual 3: 128 op, 544859177.00 ns, 4.2567 ms/op +WorkloadActual 4: 128 op, 524452883.00 ns, 4.0973 ms/op +WorkloadActual 5: 128 op, 528481187.00 ns, 4.1288 ms/op +WorkloadActual 6: 128 op, 523453632.00 ns, 4.0895 ms/op +WorkloadActual 7: 128 op, 531526231.00 ns, 4.1525 ms/op +WorkloadActual 8: 128 op, 520204007.00 ns, 4.0641 ms/op +WorkloadActual 9: 128 op, 525023991.00 ns, 4.1017 ms/op +WorkloadActual 10: 128 op, 528067805.00 ns, 4.1255 ms/op +WorkloadResult 1: 128 op, 502045375.50 ns, 3.9222 ms/op +WorkloadResult 2: 128 op, 517835304.50 ns, 4.0456 ms/op +WorkloadResult 3: 128 op, 524452302.50 ns, 4.0973 ms/op +WorkloadResult 4: 128 op, 528480606.50 ns, 4.1288 ms/op +WorkloadResult 5: 128 op, 523453051.50 ns, 4.0895 ms/op +WorkloadResult 6: 128 op, 531525650.50 ns, 4.1525 ms/op +WorkloadResult 7: 128 op, 520203426.50 ns, 4.0641 ms/op +WorkloadResult 8: 128 op, 525023410.50 ns, 4.1017 ms/op +WorkloadResult 9: 128 op, 528067224.50 ns, 4.1255 ms/op + +* Statistics for OverheadJitting +Mean = 156.508 μs, StdErr = 0.000 μs (0.00%), N = 1, StdDev = 0.000 μs +Min = 156.508 μs, Q1 = 156.508 μs, Median = 156.508 μs, Q3 = 156.508 μs, Max = 156.508 μs +IQR = 0.000 μs, LowerFence = 156.508 μs, UpperFence = 156.508 μs +ConfidenceInterval = [NaN μs; NaN μs] (CI 99.9%), Margin = NaN μs (NaN% of Mean) +Skewness = NaN, Kurtosis = NaN, MValue = 2 +-------------------- Histogram -------------------- +[156.507 μs ; 156.508 μs) | @ +--------------------------------------------------- + +* Statistics for WorkloadJitting +Mean = 63.977 ms, StdErr = 0.000 ms (0.00%), N = 1, StdDev = 0.000 ms +Min = 63.977 ms, Q1 = 63.977 ms, Median = 63.977 ms, Q3 = 63.977 ms, Max = 63.977 ms +IQR = 0.000 ms, LowerFence = 63.977 ms, UpperFence = 63.977 ms +ConfidenceInterval = [NaN ms; NaN ms] (CI 99.9%), Margin = NaN ms (NaN% of Mean) +Skewness = NaN, Kurtosis = NaN, MValue = 2 +-------------------- Histogram -------------------- +[63.977 ms ; 63.977 ms) | @ +--------------------------------------------------- + +* Statistics for WorkloadPilot +Mean = 8.575 ms, StdErr = 0.298 ms (3.48%), N = 16, StdDev = 1.193 ms +Min = 5.091 ms, Q1 = 8.192 ms, Median = 8.887 ms, Q3 = 9.352 ms, Max = 10.002 ms +IQR = 1.159 ms, LowerFence = 6.454 ms, UpperFence = 11.091 ms +ConfidenceInterval = [7.361 ms; 9.790 ms] (CI 99.9%), Margin = 1.215 ms (14.16% of Mean) +Skewness = -1.45, Kurtosis = 4.87, MValue = 2 +-------------------- Histogram -------------------- +[4.470 ms ; 5.712 ms) | @ +[5.712 ms ; 7.034 ms) | +[7.034 ms ; 8.279 ms) | @@@ +[8.279 ms ; 9.521 ms) | @@@@@@@@@@@ +[9.521 ms ; 10.623 ms) | @ +--------------------------------------------------- + +* Statistics for OverheadWarmup +Mean = 5.915 ns, StdErr = 1.319 ns (22.30%), N = 8, StdDev = 3.731 ns +Min = 4.359 ns, Q1 = 4.430 ns, Median = 4.535 ns, Q3 = 4.764 ns, Max = 15.117 ns +IQR = 0.334 ns, LowerFence = 3.929 ns, UpperFence = 5.265 ns +ConfidenceInterval = [-1.219 ns; 13.049 ns] (CI 99.9%), Margin = 7.134 ns (120.61% of Mean) +Skewness = 1.83, Kurtosis = 4.64, MValue = 2 +-------------------- Histogram -------------------- +[ 2.403 ns ; 7.300 ns) | @@@@@@@ +[ 7.300 ns ; 12.668 ns) | +[12.668 ns ; 17.566 ns) | @ +--------------------------------------------------- + +* Statistics for OverheadActual +Mean = 5.179 ns, StdErr = 0.392 ns (7.58%), N = 20, StdDev = 1.755 ns +Min = 4.219 ns, Q1 = 4.412 ns, Median = 4.535 ns, Q3 = 5.027 ns, Max = 11.250 ns +IQR = 0.615 ns, LowerFence = 3.489 ns, UpperFence = 5.950 ns +ConfidenceInterval = [3.655 ns; 6.702 ns] (CI 99.9%), Margin = 1.524 ns (29.43% of Mean) +Skewness = 2.51, Kurtosis = 8.23, MValue = 2.46 +-------------------- Histogram -------------------- +[ 3.933 ns ; 5.630 ns) | @@@@@@@@@@@@@@@@@@ +[ 5.630 ns ; 7.327 ns) | +[ 7.327 ns ; 8.081 ns) | +[ 8.081 ns ; 9.778 ns) | @ +[ 9.778 ns ; 10.401 ns) | +[10.401 ns ; 12.099 ns) | @ +--------------------------------------------------- + +* Statistics for WorkloadWarmup +Mean = 3.977 ms, StdErr = 0.052 ms (1.30%), N = 3, StdDev = 0.090 ms +Min = 3.918 ms, Q1 = 3.925 ms, Median = 3.932 ms, Q3 = 4.006 ms, Max = 4.080 ms +IQR = 0.081 ms, LowerFence = 3.804 ms, UpperFence = 4.128 ms +ConfidenceInterval = [2.339 ms; 5.615 ms] (CI 99.9%), Margin = 1.638 ms (41.19% of Mean) +Skewness = 0.37, Kurtosis = 0.67, MValue = 2 +-------------------- Histogram -------------------- +[3.917 ms ; 4.081 ms) | @@@ +--------------------------------------------------- + +* Statistics for WorkloadActual +Mean = 4.098 ms, StdErr = 0.027 ms (0.65%), N = 10, StdDev = 0.085 ms +Min = 3.922 ms, Q1 = 4.070 ms, Median = 4.100 ms, Q3 = 4.128 ms, Max = 4.257 ms +IQR = 0.058 ms, LowerFence = 3.984 ms, UpperFence = 4.214 ms +ConfidenceInterval = [3.970 ms; 4.227 ms] (CI 99.9%), Margin = 0.128 ms (3.13% of Mean) +Skewness = -0.24, Kurtosis = 3.11, MValue = 2 +-------------------- Histogram -------------------- +[3.871 ms ; 3.974 ms) | @ +[3.974 ms ; 4.139 ms) | @@@@@@@ +[4.139 ms ; 4.308 ms) | @@ +--------------------------------------------------- + +* Statistics for WorkloadResult +Mean = 4.081 ms, StdErr = 0.023 ms (0.55%), N = 9, StdDev = 0.068 ms +Min = 3.922 ms, Q1 = 4.064 ms, Median = 4.097 ms, Q3 = 4.126 ms, Max = 4.153 ms +IQR = 0.061 ms, LowerFence = 3.972 ms, UpperFence = 4.218 ms +ConfidenceInterval = [3.967 ms; 4.195 ms] (CI 99.9%), Margin = 0.114 ms (2.80% of Mean) +Skewness = -1.22, Kurtosis = 3.5, MValue = 2 +-------------------- Histogram -------------------- +[3.879 ms ; 3.965 ms) | @ +[3.965 ms ; 4.044 ms) | +[4.044 ms ; 4.195 ms) | @@@@@@@@ +--------------------------------------------------- +*** AlonzoBenchmarks.Old: Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3) *** +* Raw * +OverheadJitting 1: 1 op, 162274.00 ns, 162.2740 us/op +WorkloadJitting 1: 1 op, 317857251.00 ns, 317.8573 ms/op +WorkloadPilot 1: 4 op, 106183047.00 ns, 26.5458 ms/op +WorkloadPilot 2: 5 op, 146936806.00 ns, 29.3874 ms/op +WorkloadPilot 3: 6 op, 175365946.00 ns, 29.2277 ms/op +WorkloadPilot 4: 7 op, 206443897.00 ns, 29.4920 ms/op +WorkloadPilot 5: 8 op, 226671650.00 ns, 28.3340 ms/op +WorkloadPilot 6: 9 op, 257814124.00 ns, 28.6460 ms/op +WorkloadPilot 7: 10 op, 286598319.00 ns, 28.6598 ms/op +WorkloadPilot 8: 11 op, 313721392.00 ns, 28.5201 ms/op +WorkloadPilot 9: 12 op, 341489123.00 ns, 28.4574 ms/op +WorkloadPilot 10: 13 op, 355006337.00 ns, 27.3082 ms/op +WorkloadPilot 11: 14 op, 347697251.00 ns, 24.8355 ms/op +WorkloadPilot 12: 15 op, 305266728.00 ns, 20.3511 ms/op +WorkloadPilot 13: 16 op, 264018087.00 ns, 16.5011 ms/op +WorkloadPilot 14: 32 op, 486990525.00 ns, 15.2185 ms/op +WorkloadPilot 15: 64 op, 963550381.00 ns, 15.0555 ms/op +OverheadWarmup 1: 64 op, 1403.00 ns, 21.9219 ns/op +OverheadWarmup 2: 64 op, 650.00 ns, 10.1563 ns/op +OverheadWarmup 3: 64 op, 669.00 ns, 10.4531 ns/op +OverheadWarmup 4: 64 op, 697.00 ns, 10.8906 ns/op +OverheadWarmup 5: 64 op, 556.00 ns, 8.6875 ns/op +OverheadWarmup 6: 64 op, 565.00 ns, 8.8281 ns/op +OverheadWarmup 7: 64 op, 499.00 ns, 7.7969 ns/op +OverheadActual 1: 64 op, 668.00 ns, 10.4375 ns/op +OverheadActual 2: 64 op, 706.00 ns, 11.0313 ns/op +OverheadActual 3: 64 op, 725.00 ns, 11.3281 ns/op +OverheadActual 4: 64 op, 621.00 ns, 9.7031 ns/op +OverheadActual 5: 64 op, 594.00 ns, 9.2813 ns/op +OverheadActual 6: 64 op, 565.00 ns, 8.8281 ns/op +OverheadActual 7: 64 op, 621.00 ns, 9.7031 ns/op +OverheadActual 8: 64 op, 2156.00 ns, 33.6875 ns/op +OverheadActual 9: 64 op, 744.00 ns, 11.6250 ns/op +OverheadActual 10: 64 op, 961.00 ns, 15.0156 ns/op +OverheadActual 11: 64 op, 687.00 ns, 10.7344 ns/op +OverheadActual 12: 64 op, 555.00 ns, 8.6719 ns/op +OverheadActual 13: 64 op, 650.00 ns, 10.1563 ns/op +OverheadActual 14: 64 op, 631.00 ns, 9.8594 ns/op +OverheadActual 15: 64 op, 612.00 ns, 9.5625 ns/op +OverheadActual 16: 64 op, 480.00 ns, 7.5000 ns/op +OverheadActual 17: 64 op, 537.00 ns, 8.3906 ns/op +OverheadActual 18: 64 op, 593.00 ns, 9.2656 ns/op +OverheadActual 19: 64 op, 555.00 ns, 8.6719 ns/op +OverheadActual 20: 64 op, 857.00 ns, 13.3906 ns/op +WorkloadWarmup 1: 64 op, 982348622.00 ns, 15.3492 ms/op +WorkloadWarmup 2: 64 op, 969743196.00 ns, 15.1522 ms/op +WorkloadWarmup 3: 64 op, 947818192.00 ns, 14.8097 ms/op +WorkloadActual 1: 64 op, 962975427.00 ns, 15.0465 ms/op +WorkloadActual 2: 64 op, 953979032.00 ns, 14.9059 ms/op +WorkloadActual 3: 64 op, 962249756.00 ns, 15.0352 ms/op +WorkloadActual 4: 64 op, 989814085.00 ns, 15.4658 ms/op +WorkloadActual 5: 64 op, 953274878.00 ns, 14.8949 ms/op +WorkloadActual 6: 64 op, 969491389.00 ns, 15.1483 ms/op +WorkloadActual 7: 64 op, 952848870.00 ns, 14.8883 ms/op +WorkloadActual 8: 64 op, 959780063.00 ns, 14.9966 ms/op +WorkloadActual 9: 64 op, 953514078.00 ns, 14.8987 ms/op +WorkloadActual 10: 64 op, 951547885.00 ns, 14.8679 ms/op +WorkloadResult 1: 64 op, 962974801.00 ns, 15.0465 ms/op +WorkloadResult 2: 64 op, 953978406.00 ns, 14.9059 ms/op +WorkloadResult 3: 64 op, 962249130.00 ns, 15.0351 ms/op +WorkloadResult 4: 64 op, 953274252.00 ns, 14.8949 ms/op +WorkloadResult 5: 64 op, 969490763.00 ns, 15.1483 ms/op +WorkloadResult 6: 64 op, 952848244.00 ns, 14.8883 ms/op +WorkloadResult 7: 64 op, 959779437.00 ns, 14.9966 ms/op +WorkloadResult 8: 64 op, 953513452.00 ns, 14.8986 ms/op +WorkloadResult 9: 64 op, 951547259.00 ns, 14.8679 ms/op + +* Statistics for OverheadJitting +Mean = 162.274 μs, StdErr = 0.000 μs (0.00%), N = 1, StdDev = 0.000 μs +Min = 162.274 μs, Q1 = 162.274 μs, Median = 162.274 μs, Q3 = 162.274 μs, Max = 162.274 μs +IQR = 0.000 μs, LowerFence = 162.274 μs, UpperFence = 162.274 μs +ConfidenceInterval = [NaN μs; NaN μs] (CI 99.9%), Margin = NaN μs (NaN% of Mean) +Skewness = NaN, Kurtosis = NaN, MValue = 2 +-------------------- Histogram -------------------- +[162.274 μs ; 162.274 μs) | @ +--------------------------------------------------- + +* Statistics for WorkloadJitting +Mean = 317.857 ms, StdErr = 0.000 ms (0.00%), N = 1, StdDev = 0.000 ms +Min = 317.857 ms, Q1 = 317.857 ms, Median = 317.857 ms, Q3 = 317.857 ms, Max = 317.857 ms +IQR = 0.000 ms, LowerFence = 317.857 ms, UpperFence = 317.857 ms +ConfidenceInterval = [NaN ms; NaN ms] (CI 99.9%), Margin = NaN ms (NaN% of Mean) +Skewness = NaN, Kurtosis = NaN, MValue = 2 +-------------------- Histogram -------------------- +[317.857 ms ; 317.857 ms) | @ +--------------------------------------------------- + +* Statistics for WorkloadPilot +Mean = 25.103 ms, StdErr = 1.407 ms (5.60%), N = 15, StdDev = 5.447 ms +Min = 15.055 ms, Q1 = 22.593 ms, Median = 28.334 ms, Q3 = 28.653 ms, Max = 29.492 ms +IQR = 6.060 ms, LowerFence = 13.504 ms, UpperFence = 37.742 ms +ConfidenceInterval = [19.279 ms; 30.926 ms] (CI 99.9%), Margin = 5.824 ms (23.20% of Mean) +Skewness = -0.94, Kurtosis = 2.08, MValue = 2.73 +-------------------- Histogram -------------------- +[14.804 ms ; 20.602 ms) | @@@@ +[20.602 ms ; 24.265 ms) | +[24.265 ms ; 30.063 ms) | @@@@@@@@@@@ +--------------------------------------------------- + +* Statistics for OverheadWarmup +Mean = 11.248 ns, StdErr = 1.827 ns (16.24%), N = 7, StdDev = 4.834 ns +Min = 7.797 ns, Q1 = 8.758 ns, Median = 10.156 ns, Q3 = 10.672 ns, Max = 21.922 ns +IQR = 1.914 ns, LowerFence = 5.887 ns, UpperFence = 13.543 ns +ConfidenceInterval = [0.361 ns; 22.135 ns] (CI 99.9%), Margin = 10.887 ns (96.79% of Mean) +Skewness = 1.44, Kurtosis = 3.45, MValue = 2 +-------------------- Histogram -------------------- +[ 6.027 ns ; 12.661 ns) | @@@@@@ +[12.661 ns ; 18.605 ns) | +[18.605 ns ; 25.239 ns) | @ +--------------------------------------------------- + +* Statistics for OverheadActual +Mean = 11.342 ns, StdErr = 1.239 ns (10.92%), N = 20, StdDev = 5.540 ns +Min = 7.500 ns, Q1 = 9.156 ns, Median = 9.781 ns, Q3 = 11.105 ns, Max = 33.688 ns +IQR = 1.949 ns, LowerFence = 6.232 ns, UpperFence = 14.029 ns +ConfidenceInterval = [6.532 ns; 16.153 ns] (CI 99.9%), Margin = 4.811 ns (42.41% of Mean) +Skewness = 3.25, Kurtosis = 13.27, MValue = 2 +-------------------- Histogram -------------------- +[ 6.884 ns ; 12.241 ns) | @@@@@@@@@@@@@@@@@ +[12.241 ns ; 16.882 ns) | @@ +[16.882 ns ; 22.239 ns) | +[22.239 ns ; 27.597 ns) | +[27.597 ns ; 31.009 ns) | +[31.009 ns ; 36.366 ns) | @ +--------------------------------------------------- + +* Statistics for WorkloadWarmup +Mean = 15.104 ms, StdErr = 0.158 ms (1.04%), N = 3, StdDev = 0.273 ms +Min = 14.810 ms, Q1 = 14.981 ms, Median = 15.152 ms, Q3 = 15.251 ms, Max = 15.349 ms +IQR = 0.270 ms, LowerFence = 14.576 ms, UpperFence = 15.655 ms +ConfidenceInterval = [10.123 ms; 20.085 ms] (CI 99.9%), Margin = 4.981 ms (32.98% of Mean) +Skewness = -0.17, Kurtosis = 0.67, MValue = 2 +-------------------- Histogram -------------------- +[14.561 ms ; 15.002 ms) | @ +[15.002 ms ; 15.598 ms) | @@ +--------------------------------------------------- + +* Statistics for WorkloadActual +Mean = 15.015 ms, StdErr = 0.058 ms (0.38%), N = 10, StdDev = 0.183 ms +Min = 14.868 ms, Q1 = 14.896 ms, Median = 14.951 ms, Q3 = 15.044 ms, Max = 15.466 ms +IQR = 0.148 ms, LowerFence = 14.674 ms, UpperFence = 15.265 ms +ConfidenceInterval = [14.739 ms; 15.291 ms] (CI 99.9%), Margin = 0.276 ms (1.84% of Mean) +Skewness = 1.38, Kurtosis = 3.86, MValue = 2 +-------------------- Histogram -------------------- +[14.808 ms ; 15.577 ms) | @@@@@@@@@@ +--------------------------------------------------- + +* Statistics for WorkloadResult +Mean = 14.965 ms, StdErr = 0.032 ms (0.21%), N = 9, StdDev = 0.096 ms +Min = 14.868 ms, Q1 = 14.895 ms, Median = 14.906 ms, Q3 = 15.035 ms, Max = 15.148 ms +IQR = 0.140 ms, LowerFence = 14.685 ms, UpperFence = 15.245 ms +ConfidenceInterval = [14.803 ms; 15.127 ms] (CI 99.9%), Margin = 0.162 ms (1.08% of Mean) +Skewness = 0.61, Kurtosis = 1.78, MValue = 2 +-------------------- Histogram -------------------- +[14.807 ms ; 15.209 ms) | @@@@@@@@@ +--------------------------------------------------- diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-Job-BZGSBA-cummean.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-Job-BZGSBA-cummean.png new file mode 100644 index 0000000000000000000000000000000000000000..99c4c4d49f200b25b493fc588778cbbe42d8cea0 GIT binary patch literal 123847 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
    1. o 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-Job-BZGSBA-timeline.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-Job-BZGSBA-timeline.png new file mode 100644 index 0000000000000000000000000000000000000000..58d501ad93b8f2c6d2fa8e2e00350e2318bd74ef GIT binary patch literal 148959 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 z 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 z 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

      mD_UcSdVM9nz??qax$t$;7HlC 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-Job-BZGSBA-cummean.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-Job-BZGSBA-cummean.png new file mode 100644 index 0000000000000000000000000000000000000000..abaa8675d40ea95b8b1539b322a5ae5951347e73 GIT binary patch literal 122981 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

      #R3&qIa|Gb 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]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

      ~@*td!7Mn_g}(2i2c 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-Job-BZGSBA-timeline.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-Job-BZGSBA-timeline.png new file mode 100644 index 0000000000000000000000000000000000000000..47628c56e72be2a8289be16db26bc60ad82dc59a GIT binary patch literal 126787 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%0AF@5Nr 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 zïk~i68psTifqeL`5e-TP2|P#&v;V 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 CbOSH| literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-Job-BZGSBA-timelineSmooth.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-Job-BZGSBA-timelineSmooth.png new file mode 100644 index 0000000000000000000000000000000000000000..270e49748b2eca30b2cc19e5c0e07ceb5a95cd72 GIT binary patch literal 145804 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ÐZT$k8 zba;61D16{Xev8E`jh@^}x8m`35$tS;n=#@&_bCSuvWP`I{Zz

      wLE)veE-^@W@uG zOP2%_kHp(ADPEN88_OyW46C&pvZrkG{$D@E>l-Cy;2(T>n3QGp&+Vaj$ z)8qTxlSQrMsh^6?V*H3l7hpR0hzxiiWoB6DTR$lfkZB_4wlxYo9jcFqL$WO&Zt(tN zi}$f%ty&1LkH|%EhR+#7qTHI%5wT=trDM(#M`M#2*+UkuY;nC`oa%Gk_t|ks0_llU z9nhoz9Z1?*_-vP|-zoMyShR~9ovqt+iKHG;jQ837(e^#UTv1NFoc8RsdvB#po(;b# z*~HC#X=V0!m%DV_gTKfqVresrRVvLU07!E$Fg|u z_l3ELn}5SJAMs70TQ=ZLDeBYDuf9f&Z)S9?YgRP`U$dlN2C2km&5@6RKFS72{nqt& zU;0+rYS2UWdD@tyit{IUCdKoXQ>)L z`cJp8OMJ)t*#hVMoKLsQdJAYB@9#m&qAE$=2IoEnmyl7x5b+}=^R%kAejW8c0OMk~ za!fw4yeD`UeKf968($W*d3)As$!GR~uN|)JgZ4Lkm22J1$|dmj1ahxyLsRY+_q`&2 z&&waRZI8Ghe$l`}Os8unm!|0!A1^NOpU)k=T$uKq+{tByy`Y_7;2S4r*<%d22TC*X z(_?TCdV5v*or4q8&#seh^Hk~Fiypt+#}z=*a#G{U=Y3gq(?&%Myt3FY@|477`GY&i z0)ii(bdd*(cHBF>tc9I*!kZR0bp;7?D~0={N{#!;Rt^ff9A<+1{)mfaN0;##I@4cd#7HB%}M6@}4Iu{CywE$o&F&2WzV$ zpoL$7)T(SpNAZ_H(9cfcoIau-A=5IpTGfZlGFQWLk8k5uRu<2rzRPOf68(LM%^W1z zAb!NHU8NLctdh<1HG3-goS{k@R8sPb>>3`9U!p`Ty%Q>tJkZY0M(Sj;2iI+ne7Q0F zAzRdOcel&h{#hJVEBDKvCW3girv1MdYh!?QQPDNtc3*#IS!_?c^i1Dsf2MfidmZ6T zsw>xX{~YSknMXw~qtgkPlvai505G)efR`VdW+DvDo7&N$!nE4jQFnf=IB@fodT$^F zUq8Dfr#bowj}^p+n}BE^T97R<(TuV73y8qB@m?F|CPveOIP>$#?iL=3I6c&@~BoZA%(|Pi%tO~tcgq!%a z;^tfURP*oFL%*NT1PqXwusk7;TKrx#aaRmdv>MY3X%hn)+09k^zLsePm@58zl5`(C1$xtulr`c(Z+g!84op*}XFC5CL#6|TE zCpB8&W{-T2uN4=(R4nwFr3R*PnXI<97W~NF$@vCcicsUN?q*%LWBPA1d)xdc?p({8^JO(;3mFD}y`vT4I!C^8HYmC=4&pNZG9dF+&^vI^|RyV?F9Z{gR`|+GWy=i z;peH2OR?tfMJnrh?Elgi$!=nMfXE7fixVGH>gx?m#Hg7h{O$f9Q(plU<@3G2C?bf2 zgdj*uNH@G$v=Y+Y-5@O8&3|_B^Z$MKcn%(UoqcEK#&e&0 zXKr1UR+fXYM%?rk*=rDfb6+K_6!S&6a@K9wLmRYz#~`0^$Ttm&K!=FQTOFknt8-e9 zw?)0I6Xzb*9Si6QJM=1q?%PKI@=y1f4_ten`WH)iq--4|XN&~!pLA=<*Pb*u^9*=PY+4Q9 z(<8id4sY3IARE%jDUJp70HO_rjIa;S;%EYP8p$2#h+H-uLOHT1wd zOo^rdplW$`q!U}%TiQg|K&ZbAu%l;QHR4uCO zSk-$vUzW8tq63R!!D&ZQGN(U1b3zulYq*XeH9GGbLvlwEP|dmHO>N#(;6t=D=`#8BuE^O8&XVpEvLgN z;TM-2#E|)V!WO((BL1}N+Lh34kkX$UbSmxp6C91NVG@N5w)<|h+swvA)k#@cY}TKb zS9x(cvTAyH@_A6dhPilUm70sLH4YPa^Q#)SK0-C+;mxb>U=+sn{kUDC=!4ZQd7ie8& z1+jo~SW`+*bOh$1T$})P^za>eDvIeguzKwn@D?0VYUzOPk$j0D+)*zwACoc;e5JVLr zv||2)u3}-CZCQu9n{%Tb`c_Mb8P5Plja^T1JD`!wB^^vp4N5j9IHr?!?pBQ6rP5C2 zF^o}ZwusP*|L;|JX6vT#+olMHAKnNY|M@-1rvoJU)XprH zcWPSj;><_f*{WU^Mb-Hx6^B!#RXPZZ2pspnf75~(q0?1M5_fD>K7O^*h+a$S+hFM9 z;R=Y&>=0<5N0RZzb;AiA-bnm$ZykNw7nAkgbzCbCM~!~$@k-P@<3DVokY{)M1~IDr zSh~1*Sxw$9GsYE4l0lEKMa0@9_zEf{4VcT&a7q@E))*eH<)7|vcD?CSm>47y`AeEw z4u7`;$*ty>T>PB9xWuJNidoH$@Xs@R=7%ZdSAH&~+ilS&`#KxvTQmF1#nkkakf5|G z66My5OtOa4m)6)G;mC+q$*0>~ML{vEXiV`j95-BZobPNzRe(x_*Iy*y7<5PZt;mLQ zr2t)A3)O0bus*nxk&bt@E|q{J7-c4JE%;kidi^kZn^6rxf|s00H`k$%Ne!Sj>wsR; zWQp7`^l7H#(E$G7gLl1>ChHgBDUa*zMW(jWs7(`2&>C-IGp*UMc|E*~&J+8eOQXK; zd?xq@p6c|)|Dk_R0xv=TCzF@qVUgHp4W-J`de0V(R9MLObz+=xbgwFiQC~x{=V2*U zlB2bcs~X}}f5Z2@fVxSa3x@m(t3!nl4ks^LFFl^;k@7aW+U7i$Zhc2akFk*=%zJT-&j!X@6<_fg$@OWP%cIB0p1t9dT4} zI2Bu=lZt&SW`FQlg`9K+45c&w$$vywW|ri5bHV$IdDnKwF>wKw zj*h+!59lY5i?E(kmRjGo%_p9jQ|W@R-o=KH4*Ca%Eh-qhB4P3NEA&ujQH3uTNG7`X zJyJGoVrv;HK%UoM{{;)l)|cqbza`5D=e_rPjO9`Q>HF(L%aF}WR)|02J zdsXOOtfK?z~_}D+F`7w~M&DFKS-fi#7Q;sN=EVqlnsGM-G6L zkpJHI0+Jk=I~;W)ZF)S%Xxx%v=@EPTOaHbsij|8iz?KVS&Kdvphah|R=vh7$W8GeF4Z)>+lcCMHL>wFcr0XIb-~q+aAtzXH zNp{r$cqF&qZGE~vXb>48t9QqI#*`L%NZnJrot<)TLOLTWerIh!Q9X-uAhFf6BrPl?8h zCwO*IDKKy9l{tRoj`|#+X(%W8va3pW)y|)P5U@=QtKITH2i#!A{vyJj!Ci!{$3#a! zT(DV>$8B=7x340Lmrs{wDr0)x-7otf!Z{<4Ad~@W**$bgKFSdZX=Xj%p+2#UYt14$ z?>UgV-KhSOrAql>e&VM7Dy3Rr?`fPEx&u7}XY%z-V}0~D5U~+?55UsGzWj8iCS7jV zW#qgWHBy_8;e0CP>7s{ zh88d%Dh+(&VnLoJomGS{Cubhx`)QARlAtgFxPW1*Kb-Xjt9WPfN$3?MUu#pMM^dE4 zh9Al`G^i`#am$<*a_F3qd)QF1Xdp=7!FQ)b8YXRE|DbWtpA^5ia5x0%J8Sa<0}WWp zA#IXd)!gk$2{EGCk2$e9OO{6Qhc&svNT%pzb=+}wxSzS7022oct*3ep)6z?++9XQK z5_(=2x~UniF!!#*$icoIW%0DI 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-cummean.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-cummean.png new file mode 100644 index 0000000000000000000000000000000000000000..2c771b4c420d4140e8e765e29eb9320723f9879f GIT binary patch literal 130691 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-density.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-density.png new file mode 100644 index 0000000000000000000000000000000000000000..caa25eab38998787c1df3749678154d7d4f7bb22 GIT binary patch literal 28829 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-facetDensity.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-facetDensity.png new file mode 100644 index 0000000000000000000000000000000000000000..229144577884a7a2698883047bfb9a030a84f531 GIT binary patch literal 31052 zcmeFZcT`hbw>OM(lyek8j|D?jIf{xD2^}FvQ4nb&y@ZHB=)FV;Br1oXARr>WNk@7Q zEr1}s_ZEnBLJ2hqHFdH#ZLt4=*n-A0OY9D_5>wy?X81HGY2nKmPdR z`t|EKZrl(M5V(2s=B-<|Zr{EwC@6U6&K)5kAz@)*5fKqlQPI11?}~|ufx%#Lad8O= z2}wywDJdywX=xc58Ch9bIXSs|_wLEd%PS}-Kp>Dm|NQg*{re9dJWy0reE9I;qeqXF zl$4Z}l^;KTtfHdw{TU%R4M@LszS5Hq* zUtizAz`)SZ(8$Qh*x1;_!~_b3nwpxzV6f-UpPQMPy?F7$+}zy4!ot$h5)Ox3Sy@?I zTie*!*xK6K+1c6K+dDWoI668yIXO8yJG;2JxVpN!xw*N!yL)(eczSvw5QvvAUwV0Y zd3$>!kw_mOA75Wz6bgk#qhGyx_4@VeH*enf`T70z*I)kr{um4D$jGRusOaeEn3$N@*x0zZ zxcK<^goK2|#Kfeeq|cu}CnqPTq@<*#rlzH(rKhK7WMpJ!W@cq&efjbwJ3BikCnq;I zH!m+QKR>^qprEj@u&Ai0xVX5aq@=X8w5+VGyu2KX#a2{QR9042RaI42SJ%|k;BdIw z+SD2Kx390SzrTNAU|?`?aA;^~czAeZWMp)7bZl&Fe0+RjVgirHPfkuwO-&I9gzw+K zPft(J%*@Qr&d$xv&Cky-EG#T8E-o!C5sAd*<>i%?mDSbNwY4=8iL}1HzOk{fxw*Nu zwY9yyy|c4JCX*=?3YALT-QC^W+uPsYKR7rzJUl!)I-=2NbUJ;e5b6uWz;Div4c(ZS zg!vhN$6lsGJeioTFsVGeuk$i~b@Dg71GxsW;j3|7=dInihpf%F;FOPZw;ivVFU8W^ z=C6IjRbs2EB0k-C$jSN$(|Y#V)rU9z#kDduOti%&PsX;C(2+-!ieXda+WJ(_c6?$9 zvJQrmMbatbcDqL?yS$zf3a9NErdNHo)E!nPCc$4~jxoLc0AhOe>%a4&Vo^*n&t?c| zzpN|S1z(eDoa*-9Gv;u!pb2dp#-(QMNiA+Wg)9t@8o!;d^N-;YTz%h@Xk*iUx6=b& zaj;c@-tlGO-E7kqsjQZs_o_CF$#E>aHr&J=gFbzazHrl)*0l$8Q+XYXN2;r8hnQ)A z8(|^73!G&k612U^x;AyMDMy2aG_KB|s+Z6_LOZ)D^_G(YO{BxDig^Jx8!E57?3y)} zkV*?QB_9iYiKi4G2_SS_Sy2z>OE+r(cAuKmt`HXhuB}0K9NM?*oTeMx!8v5=2vOx7 z;QUFAozC-i>)IX0g-1~b8TZyDJ$T%D&n&1wYw{(n=ND-fGHR92X%aM6uwT_G7!i|f zK7F3O#&!6HsJV6mh*qRKyDoHK&)dDbMG|tG_(b1~&ERUGo7%uD_F}$B>d{H8R<_+@ zjcW%Ns2|%TIovaUh$xvlv!D+Bl=rkt*A_bw)mZBGpH0~c%oiHn3@DL&2Z~+j+z9vd zfRwK`dP&cARAW0GwDTi^N%UsAsUdv#KwDcq*K116$~IrDQP(&E3w4-oOSsijtqyIm zNBHe&b13R%jfY@`1Kv^N(7_N2_m_@jI3fh2>z+sH?`K}e{G8A~~CJFjOyfRc;zkWs549NHZgEk1^_NwCBuL;KcIixV))Cl*fx zbEq_OI795bxzkm+*J*Hoqwmwqe1zbhdo3I@KWe;Ce#=S(d{{*08b}d@D`>lggJ`8$ zLr*m6_hHk;>k#zUz-SQMT4AW^PyMRx9rgZBp_=DQh=p%}yf!hvsykqon5)<$lGLu&h2(j2RC|UL>b1!OSW!@XZ4%Rv-WT^gRU4nm1Y;9Z0jra60|)d*-&YOeDg|@UB>6|1e*ETxWX^*zF^Tq6)51YHPcMsCAph z-2r#zRNXXA&i8fJtDv|>dnfIU?3RRq1}!^WTUmoGmGeIh=PLK~nC}k(29)D+1L-y4FihLJ|WyiU4Mx3Ihpy85r#g6(mH�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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-facetTimeline.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-Old-facetTimeline.png new file mode 100644 index 0000000000000000000000000000000000000000..7e726c1b680f7ebb36ef88e27629f7a5dbb100d3 GIT binary patch literal 130303 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 PTIql8 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�XKPgiuIbp=Ld?az>|U(>72i>s=D(r+ihMIPO=}X5SWz0NK z7HZX8%%1H^v&iw1^(cdK?K=xh}T7P8(X7 z7;_$7Xx4;kppHPbz8LrI=^e+`Wd?r7u)WMundn=|v)mQaGGuNyFrMx26I_g@AO1?6 z*?0}>H@OVeMm^w<7oB^`7Rpz?MPxv6L{xCGUT{4Zyl57+;+&|Z^|?;)9ZWPX*)E^;Np<9HCJA-F07XeoILr*cFa*A9LD}4*oy*7Ur1l^j6Ekh# zH8w#J%+*f0ICdQ|6B83TIXMT14N^J&Tqqw6iKvN5K?Q{pFTDqS`ePFzapViDI^8lpwxB+DEf?;k6+qI_5jS@t5|efRLpi(++M38=9_~Ly2B(rmTDg#iYWVr^MFHi&9 zP@|LEeRnhc3UhYj!c^DraBMg!QihD%Dli4ft_phfs|sgZ^K2ME@BUq})nZXO>O*a> zDiz8LUxY&WpP`Cy!ctb*f=ce=dy@cL0^kX`YL#sf>;uq&2%d!6z^hEGMTZn=>gl%I ze4+68IaJFZ9I^eaIINS=joc6@`3^auy(-r7-_;<9Wgv)mPN_k*M#O)>ylj5!XI%Db z(*aDt8HI+Wp4z^72@w&TJfjZd^LZM=cw;2?7k@MED)^)2w8B3x`iVon zY%pkcUP9bg8n!U0KGGmIGRp(70^K+7;KLnKtV1g|p{}!esXMHxy~~-kwpb|<*qoe> z^mwr|;p%#=k(AcsFS*H2c(X#^0#NR}qh6%urPJ>LL9--@6FGpzk@=<{vdp#cNb#$>2SG2D@D32_LBl7G5&(F6uP!7}tvAg6_p%2|2v?<@WNLpAd$_i~@!5ydoT*#Imbd2#0{9t}OCA8lg z1JhW!S$(4r-4nFo~?mC*_;d6FG!cT^@uYzmUc#1%G08XU*n^X|x{{dYxN~ zQe)}q?d=^I5#n0t&DBXE)Nma2wx#tMwW_C8HaX6eaIOqo0(r6a#>vqi!o0kQHBUJm zenZtB?T?+^{30ow_jPxL+5jrfsUH@3+BH750&oBz74WReAf5R*(;c`L%2qv57C}s+ z{m^i+nFajEPoK}x(C|Zt21ye?boN@nQeRJb+tJr|Tc<7nifBWxhIc=&>@G)Cxqi>k z2vg`?W*RC;|M>A{4gL2AAYo+Lj`xx^4`Q?)_?42U%sTd8lxXTDssW**c?XGxX_VP( z<9(6X>b78`tZw)HyzCPefv^PP06HN-b&H|WKks=A1~|<9I4s!Z!O9ydMYm`PV+s** zTC7mjqT;4Hc4%a8h(Pf769LUCC?ziWCH33ZiLxk&b4rJybnTBHT29=y=`tlBz#++@ zOU$}*r@_iHS061>0|>|JtR|M1c0)z#@SWd-Hm&n(QSaZs@37KT@$FbSpKb)0*fg(1 z@YOh1ju1-4_n_4%CC*6_NB(t=dYmes199IhgOsw=B9WfqGU*=12Cn={dbO|?)o~;E z>4n~6t8tCE<>--J{p_9x)kwYO>iBX`yFsp)(@#M!3g-3tvP7a@O^Yah3g`1gqH)~% zKwcqbHb(GQj%tQ-b|sKa)}0^Szkh$)sAKvzxr-$n43G=SuRmA7r!eVU%Fx_1{(Je( zmUA*1AbX;nNwrzc&jd2wDV!Yt_#yL_hh05ewJ58o$f32zV~jM8l7?n5f{)H&&}!N_ zJF^A?{2gSun#`C+!8>#)-A7g!ayPnR?~J(sv%W0W^|9DCfbXY47{svg%)mT?1c-09 z70n3XG%m#`!q(g!qu5ybmh#qGvUGonyQ&0qN<^780Ks$vlpbm`aJUSK-}%g(r~J$bts>f zvFP832^@wvDPu7Ms!6bdrkf^cyiYQJ6~0?V3!@uq1OoNjN*n0SiikrWg~m$xetk+ z{y;uDIM!8*J#mQv-#}@-a-Fyg7=29}axRN1*D{f#HL_k1DmW;t#~3{Nj0gv%N-m?_yGp&JM)p zQn@)+p|OsjIEWQBTzLu+1GTDk*Eeu9l(BU>8p(oZ`p{TpO4%y0Ehsl zjnt=badAE1`g_t4Oo^CJs>!Bu&{$-C@OyUr1e2zwrcei>a8>i$b2&BkZd^n)oUQyT zP}#d`YbttWYj1$y7jn%z<%IU2qIEvlgrXw1iPz%h#iKrM7JQ8Js3#0E1kh;48p=hp zIm%q{u4ECfHhNUG1WV}u=C`it|82d%~M& zh3!PL#oZB$`)-hW04G~U+~RI}b~5^>XK4uq?zv}~19$;BvoJNKQR&%>w)}-Pd6Yt_ zjS6#Ljdgqs(!RI12Tml&?J#neJL2MK-au@E1Q#MDYHo8=Q&Uu3JuM}c7ksol-K-!; zu9EB}QEn?~4;EWN<@nn(sYz2U)JtVMybwTZ9e!R)9ueprSn>#6*i23RQ&OFI$4pg4 z1&M0jNMWLW^BXIuxvd|Qcxi6xFox~mM44}qwPaNE_%tU@Z(;~U!0gDcyr?yNd4LfBZ!1J$J%ljBb@24lufkb@J?rteazu3gwk4Eo#2slm8P0FGNoJ~qUC^Ze|nBo za;jajuk@Gu?-?@3|GZfOy}7fR)~!A2`!uCPKZ?veU(4WrU2ZCU`k0;84Ape{^j8Y{ zdn1LOG257lmD)%1IH~b`hW~j>PkovfM0H~2zdx&&teMobRKRG&4HaH;q&zVJt~a+M{j##MsIVhlY4=;9^AT*$rCE6l<~zCF z4T+wH;-%WcH2hccQrq<(Uxofqt)SOuP{7eswQtw`2!lzd4;N_HqlMO(?2+iToK)^f?fAxX%0Oo;wrHR#VtPmR% zgZ_a3gMe}yP%)?h6wp9o?M`4kPrNAgL2?x}CZdnCc9=#((OakrRX_Lv-LDevGlC^HmhBQ4lsHBIZL@EfRY3(BUFF)5kCApx=tgnU5m5C9Tz2HjCie7D!3L+vwR z5ZK~u3T8%9G1?DhAh?Ge#}SwgEdyfC&rDDEO*8pZu(}Tn42RQ8oH~pw6#$42lS6@r z@FM)i$uS<<@o!syL?c6ka|!i}DV@!t1`A$4`?ED}q^oNce2$}cenU?d)UGIor(N(U zMtHBuftB`r;Y)gZskwmu0F9bD)UKbPJv?K*QmZhJ<#Dhis7$J+NB(e3~CMW~~I(9-To ztA&vfl?qbbWC6!8^3>J>)HVXq9l34ntTl)yB7dB0qy;6%5aQLj1OeSXav&kUO8gR- z8#^1n2f?+p0VM+A)rqHIanJu1Oixtv;{6fKSEa6x?`)x^J-lZvWh^cd6g2hGqep$Z z5zasd{JVniUJCF&8rvS%_?!gP=9-5f##1Gj)d+43<}P&^;TKUd)s*ve{ZiZ2^B_t5 zPRl4>tE<}^xQ1H(NcW(q<95vfOji_7pvJ>n{C3TRu3AuZ!?W~0#Jql2V|xpxUr}H2 z_;HBt4UiZ2hqa*{$Fwta;n9;iijj9oRAhzfrqevVx4H3Cz8Gf45bLqOW$Om5a?XFE zm23*Qp;{Pvkrb3%qeBD@$7vs{GUSkY@6*8!BcbPque)mczzr`Ol+nP^Ja7u#sy_sp7cKpM6@ zdA1`^d*p_Cscn(NAxtXg)29<1?0!&xyP35r$R*f=S69LJF3_krav(-e?O%W&x-OA3lkR&!U%jV7+Sx zF0CKlr4^ohP#F0JxH?ad5c+f@t|~aqC7N`8e&fXU}#vzaT)O-y~b69yF8NBnbgX9C-N2 zIte!BN)qs=@g0oA(yqTm=y(Bl@acwLR??>+``s%a9v$jS`6ac>^(fNZOY`# z4=n*UQM`2xBW#c2Q?h!wYqC+nxO1PH`huGjd{XQ(D>gU~RPG2OdqP%wA3&86u=CSl zwU3vOhlzOOh#d?ejiQPaI46Vf5p7B(UPg>CLv^**g7+j?j&H4OkYK<(P^mnTy;N9K zVFpnS>O<&TH#|HHboM2{1DS77vjBn!?VuLyvr|x$DCF&D1d(DckhU-DY15?WB-AL$ z!fU$nUwG(0{tCVMu+Z*HPT_2rJG(@%Z3WQT)lK|d1+gd+PtV9o7Zb&J28g2AyF`uu zAFc1CXpHHsOx33s{!*#0rMSN3GP zbO6!l^F8eF*E2o|9$mUk(Ltt8JBp8rb;Qlr8c}5SY8iWcmoI2WYQ%cj<-v&TBCo|= zj){5ksq*8;pI&%AUN^Fzx0EYhW2WlhOiwkyYq@N6s6K{LRDq$L_!B_j4xok6cVl8a zc6HHxhm6Q;iu3woNI&Yl5?F`$5ZG|$VCuj|^ltnV1pXjdlj1Bi5el~RQb@pgrB`Op z1{e=}=^9oauFBLjt4;CXd&vA=rzy9-C~yHg=0X~Lal|6zw#D7Nj<&WR^Wudw`!YN{ zJa6p0PG1-t9N68%l4h#r?}!(fb(H31{lf(?+g_^JO7ZA)Xqdb_`D_ZEl>9*X+4L^y zv;MUx4vO0uM7_pJX37D=ddak}-Tphs;;Y@aCIn>&->M#t%`NgU>v<(PN3T+*KWB!m zoS*jylYa9sM(e?Yn^At?yQu@L0-Oid^xrCL=_x5!XOG!s0h$rlx&Z`f=#3ZStza|I(5=kMeQGzlw4wEhG)u+s`W1uGhZ zH@*tj+(@_Gqi3igP=k(=9qrLUGt|zcAa9wf8_S)-*UCV#-QwaR%ADPo>Fw$Y-Pi6@ zq^xgo*o&*^KI2jDIM6*+R@v!L8`ki(uiG!;{*wM<2x|>uou=|z1y!dh(kp!o5Q`l_vNIB_UaXhVZRpwWP_}Y9|tuyK0 zZncl0VHv$d`Ce*eLR`(e*=={yTeoiM(`UmFK(hh8VArgO3Ni0j(y zO*)kAY8TX`cZ9|eGyP@@8QFp#xp#T34FA+)>no{<$RR(v;S}qEzwmilS1V4FiHu zZHER1RNH$FVkl2no2e$PnRJ5Zgm)td(y(hkkM8Xe{Qff7Pf^eBiao$@RX?50D$6&4 ziG9O$i}q7~suzp~!7m~rH2{2_I*fFw#MPJw?Ga$|-4uF)FGzH>gW~~#6L~AoDkhF6 zMW=aOh;X}bailX!^{5>0?XQaV+!q)#^RPPrXiX>jvz${I0i+R^syTgeq=HNR>dTh| zyE2e5{`57xX{~A|bkFT?Y=*3YRM(RiSUJbNwI1%9H;>#wDAg{wm&(bS5Hh^KBH`X= z$$7e{^$WBu`pZ*|Z&h-u$8vEmc7AWU;Rd%cM8gCUJZDnt>NSQ} zVmDBWy)D;DXfA4(?J_ii-5UW6IPXL@Ax7Q==OYZVvu4o4I6lVnSS_zt73cNdvSW>q zi7KCO9eMPYr-U~xwSaL=3PF?Lw4i(mx>SJ(D_8{KgRKEPY7qLk`mQ_oQ^aj|r7)g5 z10Dy&MlGUNV-x>iS*b^A{Xz;gt@OrO=}a8QevSrK#+;X_<02`a3H=IGV`OTxX^s4zq2#HQ@LZUF^oyd;Y{PCH6Q~YG>ZG>m-H`51T$q7 zj}46M+b3%t!^GE3N|8i9Pjs{w*H?hyq`qNwo0js}aPZi$e)TO*sLGZG`m7pRuuB3U zk5Hq$`_TV#ba!h7WvQWqa3B@u`wnnEjYX%IdX}0WH3-HPg7wC%y~}G6rKtz3ON95< z&6|7kz-fY%@jhHrQe3q=fH9Uax3S1F(BZA4y}Uo(0DobrWldJGgKj1QW1kpe@Ljk= zD754!mwE-`sc=nY+jaUOvj2S1xD?Cost@UR9t z!l{ptf#0Wv2=GlbPFZ|ag7<(A{B9OvzZaF{7~z%|r4d9V+LSm?hO!pk@D|!+PdiU{ zB)dR^zxcq(GM{L_Vl(3oUKU(15tIoh9AG}9+e?5JrlO3ceA0HIxQSBA{lVKpHAvwE zmHhvtlDeXN^we=q{}9e?3@`>YKK$E<8(qGm4L*#~^nR8t6?7#{_a#>No9eK!tu>ZVG=t zt2?*}b^$+_8*KoGJdmWMux1KR*7=NE1bOeFx5#!q*oI`j@%@6wj~-rwBL-`Ui&rm0 z0Ku$MklMith*ET7RLmu1V?JWXU>xrm~~3%FU_T^&o$v2fw7i@{+jow1m3EQPwQ!ZZ)Gb`;=0fsx-x4A#FCd-JN1VKaU$qByun z0jDA%-c*2iIAoxJy=NdK5I@D3Ug(<^|28qJHaSTI`Tkm0^){PDPaPf_8WQn`bQX9K z1rQd1umyftQcZmmJ(z)pEzBSk|MMR8=dQ8;j>-0eaMa zqmHiQrrtx6b1mBN`wL6U3$z3{kP%ac7Ccm@5)VA;;Dl`ME_n9xx035M>pO`hROM#%i%-2yKMMNBRDGrV(aEUd|)4iayZv~ z>HSK5UsVPEv}I5T)uus1dxW0nc;20PvdBzE9EV+fYQin^ovw=irDib3Z_&qymep(i z31Q&^GkSsE*79%`I9vdIvn~qUM|nmjTLX;ev(v=HQ%Wpy^^ObL_%WPQp3;8|R}xTc z?6epu8T{_9!%++mW&4W-wm@)67LWEVdSnXr?dpI2V= zdg8C4Mz+3|3`ZIdL9tyzr;u0;fl18G)A)cb;4E6*Lp|~Uh~}E9{1d2YiK4BiiMJHj zT)+waA5Bhq9f5`f*Q!1+T_cAD8O1F~FCU1;rvon}3#}y+T_GI6O!ykJe;?HldV*^X02Ij?ZL1fy{jUfMoR@Di=VxuB;$xi@7# zBqt_*4-N!=yvk_Od+VUns&m?gBT+^ML#d61uycdahyf5)hL#(6k$8O%Mw{b-^GatC zo`?5J*~ZXfuFG|OL@EuX2XO)~MuS#j|GI$gB_rb(B$1K0ouahDz54PWTy~M@k0-}x(4y8WoA%ziRLCZ6IFGI;|j}I0Tf1Y@R(Yq`BL3~bB zx8bDU@)KGymxx7;sI2iqqlVsYoO;ElJ$n72=^kL&|2s>sWzje&wid47tUUe%S^mJi zKFM_c*tIi7Y#yVBEl|t)=}2w%)LJwjeEz{_U(_O;VpP)8^iM#8kvA! z>AySi>>b*P5G2zv0o0mr2mh$qL+HT>GV&886#rUS%QiFsRwk8PX6Cafbc(>ATN3=U zc7TAsZX(ln&?QIS-;6ix+Yh}-sVKj(0FjWXDZD{(Lx*Tiqgc=l|1q;vNG9!Bkx>g~*LmUF{KvN7pFQh;5_xWHDV$%o>X065{G^vrQC>^;26i+ z|JA{93;)sx^iq$r<|E{ps?q=El09+kgUzH=7l|Nxm@xVTCVm(9Y**Vyh#OCytc}ET zCNOL0Y@LE0pU{cYv^etlz|Vi}98M`+IQA4QsO3QSf3`XoQuXO(T3T8FwL_v3Xxch} zjtj&ej#t2V}s!K`M z_u}`IDk(YgVTtu5Vn6^)$*Nk&95}Ad3VB$b$K{Recg zfH7bD-ro-?HecCT{u01NtE$i)Lf|pW1=AmU$`e=x%;K9|TyG)oz`C(YF9Ch&TLs{f z#WWCIRe*264ZOg|xy8T*0yY5vT#Dmz2Qi@%1?5c4TMv?P$}-+sOp3F8aL{!I08-ly z32|DxuI5Ni2WMNzaw7=j%t1UBRR}z@&H(GZX$_giAqY=DY~qwmk6Z z&^?{QciP}`WC&1BgQZyd)*5U5DX=I8Q9)@R1P4Oq*}jw^qKOuucYv;K`#KI`$if#@ zKyUt!4dA&Q-oz_>vIO`Hov#E@XXxJfo0{7l5kB9-(KSUV&Qoe~12}g)B`p;tGSqmi z1S78y<)@8O=)86_ZO-68mTBa`jjn>+V&Hc&NWYP;vCCA81Y%Pq!^ryldw*&CbFeu@=LfJB#oa)(1BM6(j0^aO=Yg4l+`trQ1K;u+To;sccUb-7 zUB`Eb>2R|1@K8dotQ6!6YU7|D;E?+eSbc)B3Pm0}MP=^viNN2K2u@f7(mJqMY=Qch z^(ddALJMNO=v!va>wN~mBKw9ID^P;Q=odH3f%vI=LvRA`x)|WHG+LpQFI&E#g9UU( zha!@e7`_e2R`3Fs-N7vtI1cI-aF=8y4(o~%HE)_G6R!a`jpiKC+RUr=)`6{{2?6X* z@J|3vw4sIkc@~ISE(hM8dgE3?M!+1=bmUH3TU(IbDKS1k#Jd1pZGBZ|LA2ad)?vqC zw*AJalaq+EUsT}%f*ZDaE+~dq9*>TW&X=jaR?u0sR1R=y0=G6x#L9ZowqzB_haK+G zHj)_6n1DJu;W;HrACGOg0|hZ%M*d2((%JKf``|o-Am&B`&mp(j7Zrn z*t2=yHDO^&DXS?jAX;}ZibL7Zv6U(k$^Ei8zTM||C*&IYIU!CfxXuR%nIh8U9X&lo z#^2K+XTgo~f;rkXP=5gJ5Y!(*<*E2$&g6DpHIutN8EVri;LsCI2Q;e)P4_LN{Vp6U zv>4fktFMllg0~J}bQ3py@70J@UhH9K#lfg-DgiUC(q7uV9UUAV`@2Y-xQA>z0o~+U zU4uNJE)dZ8)XO{954!xK{ssh#f;z|LhO15Is4&-3##R86Ghf*KbP>5<@=i%hoTO#n zJ35w0;8qyYyFiw%y>JZC&0%CktDaFE`iTh%qt7pE*cbUiMjCkM`}-SJBv0crGG-@P zq=o>6F?B~oZc>Xvk!#f=ySflGIBuVny46A#$zV{3cs+DG!a$o!o_8tCl@bL5w3`EknfZFOO6}(9?^%sE~e_bLk9}*OKW0jv^!r7CV8~rxng_U|I zk3q!yphKE|ypHS-9Tp=-((*;>-H^zs!(gUTeESCme7hkbG_>M|R7wG8&>JSgDEuux zmH99>P!Ly_RWT{j5eix>CC>unx3FsHENTxc0$OgvGH%t;uR|anU|#?Qd^~8=SzCARjHvZ1=GP z(f~dbNR36ljxOXTQBn&sTd3GXb7UtF&pSH)W+n$NSGnufvh7OpMN}s2v^Y)fzzz+V zLJPPgU{N+-c;Q%SX(^CmN#26thE0B%XbAQIc!-Y9>uXTPEUR=TT@qUYA#c#4${BhI zfRVs~1S=fd-XZ-CNEL906i||}A;JE^!ChsKHDzE;e>=Zm372He!94+XhGeiVcr$SG z9j*xPuf${-Sy*7ffbxP6=1m^OG+v!Kw=a9)zu}*m*gZ~msNsh0S)=R4K)I`cGc%;Y z3BCg&t?B(*rTOo0$h3XR?zZ4vMlDSd!F5CfzQ*!~o` zxJu0pexS*tI|SLVrx0Y1z;g-mltS*VP%BW|m-d$JDF9fb6K`hJRL=ho$ffj#nY=zx zV+r)&e1le&o|EWpRbfXlL75N|fv1M|s2?b@%)+n~6`g_I+7UYD<%jp+75)P6H{jCf zC*cBTJzjEN92X7q9dX&jUK=_oL%@I!H&X>6ykUC*AutgMTuGSz%8YK=1}MQ^X`Kax zDEhzb94%WE1}EJEXgtf{KD?F&QRFaGC~``=_n;K`OOR${RSCtYh$u zTudxJLjMTv`lnx~>H+B)O|x-7<pbtOC?|Zwswf9p1EA3D6jB*mbhNCGF2h-CM;#l3D za}YOpZsQ_e1dAou;8SEt2-Qk;kT?^@MGA2{{XaX7``M;_+itY`#-C{QD?-~+Z2%?s zJWi50*Z_lmZLPk0aie+}PyEGv#l6k|W}hSfSN+|3JV^ob z1ijGW56<<|79Xe{dnyd`?<#WLfV37J2Pai09%sYBvv$mbdAEzS-QZmPi6)6qlxWAK ziMD|VN7Ba_BZwkZ6-Pb{Fk(5+aTyn1eL95(mhz%@_r-!OV}S$USzEAW!t1+xG?-Mm z5(;HlNC>cStVWFSQ}hzKlS8bxbrahJxp6ry;p^xXak%aM5AVP;6g?|48c196oe5wo zTzVFhN``iacrwD_NbO_ZI`|);2dHqr-BU-Hw1Qx)z*XGP@bC3a)Ps8x&E|5;CvozO zkp!H>(;09*L0q63h!0dT_K6_SGct%7LFw>k%FodVxbagqdzm7Q7myrMG+s>~ zh*^2c*31S~u`u}Gl@s5Tp4s?^3qTR>3qdQT1Kx@m`=b{!!Q?Ly5zfc-=^>G~N2I2% zunrN1G3aa@o{Jx)JwkbA#EZ>L3f#@$c;LzLm|mQ82%(z+0M7n_#!_#i`MXa z>sB47J|4-%Kg=5ZZgmqt6N6LtsOoSZWQw!Hh?N=c^&2*`R+|K(wx< z@;$2k#*Pak_U2Cp^I=XH1kji+`j*3yeoD+H&YSy&YmFVOQ_te34M-@i%1~{Fa+?1c-vzfkHut7$bb6LpsQt-pF;=K;{*{yz^g1X@l=i>bN@^*iNwTS(LLixI`Sx zk&`U4W|V#N@GZ}EygW56acXk3t$uQQS>^7U9dVO?Lz;)J&7nch-u|FgcJ=4agXv_` zl&u2H_{Y!l9Edh<658pi>_W_g2D&Ks{g4+^2jT@qaalt+7lSwt5aSXb8J}KV{o_sC zu47ef$M4>x(W&7RlLz9>L(M18PFVi~uwh)@!Gp`Kg0$vCd75&^3BBt^_!ScPFu+Qv?7>ObSuvn)~S3V$d3)LB)fQ84l9z;xlbJ6&#>%0ttWR-c<8GG zt4xp8K-W7vHJl>ytmuFlJ@chKT_iJ*okD*@hv1b^+Fd8O#`A~5{Kp!&MIBFPBH9_T z+;^un81m@8Eph+;lg~%4uBy9ESGu0Lq_TDw><8JU18jFeApkOHFCN^A z$1-{;qK@Y&yurROQ+Buf?WH{bKJJ+BNVs+a+te`jSn#{_Q4HlpYoP7{oXx&afRph6 zjC*!aGt9`Le1GtFGxvlNbCX$r(Ck1gC_E&iw==d1vyt7A+1g%F zRm1tPYeH4If(CbZ&DEYi#S~;!KY1_0PzNOlg|2H+!NUGH(bwXq6x#gu{;cNf+Ek8* z`%9e%b}(&E6W_%Oxw84&;SxB)(QJ|N_Y}`N7H?hj8(UEK9x6Myejxt)1PN`x%o;NT z-Xz}A=D6c8*(4A~Kxd{g?X;d|XnElQ9Y#fFMM<{AwNlW;yqE<(`AHF8X7`<(C5yHE zwtu_#$|OY`VK0Gac!%q*-MEhtIB1_Z&~ss&k@3kVv-TzXIafp8j};b;J=-}1pS>sg z^V_5l|LfYQOt`9niFbP=-3HE#4%3D}S7>MK%h_lLGJ<$MGUA1nWFvCYdQI@Tgm>Vh z-@k{C1UH}W=jF%x-%nQ7B!aI(2{k%i-AnV+66SBnbBN%5mWt90hE57x#ro8;nT%H8faDC+y}PG4o6l8Zahd(2aQY|kZcw$84Hn?aiBApoA3Vig9`f|t6>T{D>u zy6ovaF0t@lic!t*w);}@p| z9<_MMs-|4AQ~7@In$TL3TCkVN;ZM(>A3ZuYPN&NrS#|+GmlcrOdBy(-PP7IIY~Sls ziz6XYoy^@ozY*f(VUr(T>9OUiH{WAz_4Y=n`|{oWt_Dw-jeRW~_>RZ9>}LA-Q}q)z z@akU-a+$-<2INWf(|tLWTS*@=1w~vhNw{b^*iFp)xq^_4_4_v*rcHEi-FxZRqsK1j znp13M^GOgxl(adq^s9OcK8|;7`rp8Fmyq!68MC~|3tJ|nPO|xVQ0bsn@t2(qE^++% zQ-%Grq31N{3D5kG-1tZ(Ob7YZZ61f!aEPQp!O@Lxx=#cDe)N%nmYc=jyP}M+%;Ct~ zp-(?4zME`a_Raf+OXnLpFp%1Y77X5Z`rSSi7Hbgq;wZu0wF5s^{6QlH)BCU8UO5zw zJRU)zkmI~EW}{=<)wPcTSl+T$ZJNR)TxF{ugDM!;983BEg(_?`(hR?ZpJnvC7pQo| zY(7B4Z6;4F>|!LSd#S|AS!LlkewBC8Q`2v9!*=M58;x3ht|qG7P`ixDQm|bxh4p4; zu)&8&X05tUzdb+_W1xYT7&jy_SuzPuOjq$LK^%5gsKRP+u?5wB!DVmTPQx?|{|{kVkx0iB_dWK<&@75j?@s;LckddgDJBC{rN*36T z%9)Ccb3HPRk6kyl;Mjo`vAmM_`SUJ;c>Y5eB7QEEkBUV2Yufl4hu%PD#HA2p*UwqFy{ z-pBdqL#sV5xnxTW&;8}LU;VGV{6_M!%jul(MMeSYII!^X z(PZn3W`PZZNAOnma=q?B>oCO(oAG)BWSOjRmZ?<9Rm+g0{f(o#PW2a0J@~Na>Bk%g zN(u%^-R6s;l^a_H$xae`%^Yfrfiv&1`WJaf$sZLX1~Z=kQ)Ro-v6~krvQ)jbOxSvK z?ogXI_$!I@4UdO#HkLQE;jrtw-_%tx>#O>?#cnn$?=N8j3gFC%Tnr4M%Exb;SP(o# ze~!B{*LhxEwlmh?k5wv_8noSoEP$8_3jt1`1872yQw9%PtKwBmYp8}ByB3}2!fPQL zUXSeuO=Al=zDf4-IBAB%NKYvB zWQs?q3GZt%&(YBL?OQfWxf}kAbLUiM=Vjgxp2|TMo3`Iwlx}9l zh1PC{U}2B+Y)Zqvs*-ZwHYQ*3-|-*W9RZKn zQ0JxC8g^f(Q}bbq+%vZY3MfKeDsrbkSQI}%N(YwD+&}PYBn^@U0{B@ zC);p^@FB0t5&cyd|1CKNGzj?jIQI>`-@vPOih8SCk-s*hbF#BpZI2k<6SMzKHM2s| zP0sS|vF)fUc)nn`3etWxN1C{ePmh`*6w*tN<3L>I|HIZ>$5oki{lmu?3y^V8Kvd8H z0i{EbW(<@P0qH|1ASGRr2Ll<&kp_W-ARyhHqJVTsm(tyRh<9D*!nyC~cfWq-uW`H2 zwbx#I#dlSfqv^`+KdR<5P&dTzp8QoO+R5prf;#)vfB{(6;x5DZBO9?Ol~c`7^I-eL zyu;y^7u(f4%h!vNHg3EbL|QP~91b{H@MrE`P;JDPS_6LX?o<#}Wyc{yF|dMgKISF! zG)NySOb#O~;|5{>P1mUXq-`Ak(BEP=Y2cwaC32`fCtHwmatbiwc~gowEx&`@z$Str z)ls})UgxviE>=er_j3$kym4GE;~izmd9%UT!F(3vL*;iA>C$e2hz33IluOjIWHq}B z-h&~>tBv%gyXC@q!>4>dKX7tNw(sYO34(v&)@s0gNQEAsp0ewMy=XuJ&Qk;KIkyhI z8=t=nUafTFg`0D`Hy<28uy*uXN8fzilRyTrvA@NsEVgQ6 ztP1NcZ9G~iu%E1bt4+^#_Bb7(QE$D!)rk1dkaHV%IL#wos@KxH+aLkJ>Wz-PBR^Jl ze1?QlbNp&;&iNzzD|Fu}+0N%Gz)w{eUVqJwnPc)9`Fvw$d#?|NxV~WPxeUrq6)ZjW zI+WufLBIE7@?pb7J2T#EWoq+e?P^%AyH|j~%9kL-LXe063VI>hV_CyfL)7unpGl7# z`BLaMQ*q}&q-ii;?52todS6u+LifqFmJ3O=X}Jp}<6WPu_QS_L7)}ue*~+qcKnB~% zcb7Q;OXpVAR}yvcVUSxUfx-2!Ov>6y6kO-040XUUcFX%+=@?in2H>AZr7psL(S4yZ z6}idH+Nv4_H&M@+4^brBr-btFt~pZ9?6RP`^CfK990v>u52R{%y>aP9DZ;e{!@j9K zw(9eV&DzvNPvdtmqMX?ggH_2STm?kppGiu$*A5x#Zv`+7Zw%ExajDJ9d3d55i8h|7 z)H^JiuD%X+-<8Jq>L*V=nRdwl5v9No=Km;2Bc)-bN(yd5t!@9RNP zWHTVBPo#m~w@&FH1~!Y{*B&J;2h*_KawJ=|d&6ugG7@g_^>@Rw_GTBP0^%9?Wk^(s zSJMQ)tgX&YE?NS{Yl)=`FX!(`ab3i}J$MBiST&}m)qLgk6$U5<*G~bvrJ=~J$*=V3W zVU-(KfBObv=Bj(b&ldm+0>r9+;=KHP%OD-xMNS$TpW!Cc+eU4HNjDzXsux?z9-MVN9u?nALx!i3`-37Tr&{vS8OYOE2)srdUk zulZPDb5}4cNf#of4B3Ejq<%5Z%EBdfGY91PzoQ@{J-a^N^u%TUCD{Jxd4j>1jAa1n z75BOK*)xz3FN%ANKAB{& z1>}_qakheH&Xgqo%AUs|VwS?9>#me0UWE3W0QDdrdILT*sm;n^@uzJg%b3qh?28u< zT`+GnGpAm>#j>j`XrE6)f+;QGa6>sA69bPlau~c?E5x_l$$&RV6C`2_Ob8Fdg|7m9 zRUrr~#Ywos+%VU{T`oo3<)J?ohAw1~S6Ez|b>b(Ik{k&GVDP|ehd#RKUQh1)Z~kGg zx}@Q8OH^BubTK03}qQ9 zes3VMkOHN&dD%PMf(1AYctxYGb!N#dL`)I=%xL{E8F5aZC5ohtezCyz9D^_0*mm+Y zOt17~Lhy%{zK{lOYV@~@;I}_co7(fmH#hu;e=Hi8nS5(%2AiMQTHyizm!& z5gg~|qsfKLb;@-dB2$vhxCRMk|CgMWu=M)%4Us_K3;3$aGLb5KJLKoxr9k0G`d9TTpl>1sq*>~pY$4!; zb(JU#7KqXmP$!XBoV$+5=fr%DFq|S0+7-V5iiuJIZ?9dz{16{9cGvwd({DvY@20Ge2CnbciThDhy!1PXG0Fu&9i* zrUnW`iTbM`0^vxfV1G$P|7-k5Q;5Rqw}6v|0*Fo3zoq8g1pYITiOQ89FU%9Y#E_vs zh&r)_U4}9G9GU2jsyeHFCU^{68>ayzSxod4$~*1uT$WcLhJ}{0m}t{b8F3b4M14){ zeTaw`xzIV`&w!;$dfjV}=6w1eHd^G0i|h+$iU)CpD(>FD zVOD3qWeU&+GD~v@TCfn4yB|JyzkB+nQ(=|-8974AvBB>@{*~Z z{NWGq+va8_t8xgdNz_NgJjK3&O>=q&HuxE3o1W}Vz8enaM@acGV=Wb7%Y)Z#2j`B9 zvlL!j)crpkB+f4BDU?qZhY(Zo2znfV{&I?{!9Y5f|C9@{gVGQKEMsE;0kvo9%~3qe zPzc!P7?FMO{}9G7K0E7pgeiC zZ1%ai#wYNmD~T4+Kw^fAAxlDzxeUl&)Qh(Rac)WvdML%Qz#$Igz$az0j^mTJmX^qe zDQZAsWU*2myzeSx?`fx7Y)|#^@z*$(6N3$I$)HC}pXvbH zs@6T3YUE#DxCBym@=r;H{#+Mk*+S49H*_u`N09{)^j?xlCS|ZV3Bi{;`SB7YoVQLn z+21=t1V9u#S*8=y*?eyMeWu$u9)AZCoKL9>P4|EqHdg;9q|9fpr%^{CITT zzzb?P&&BQ3Qh@rr#8LG8Lk3Qcat8PjFdd?(ngdbQtH5m}HHKP03p{=khzyF(K4))c zGI%pB&&C0jD}c+o*(nth_NqVDsx{DwDD;;AR0-?y%xlxy%edAGNl>7zHyn5(8GsmC zS2RX2Mt9Gk`Dn^fo21Qd!qQt^wG=kB&XNyE5m1E^a4%nHsAzWHa3`xokW_Q^8hlt} zQU+rFY^0y)K%j|946x7O|FTas!?pQd(ZKk@P?;#2jMK2PWgd99G;VD9M>wLv4DjB^ z*xyVav56WU8~{D_AH!G>tdX43?ULVe--kTqqM@F2aMcA`dKifk1gUCrt9E}D!FHHP zFqQ=W(qB_)8!Tg`w0m~#VmIio7B1k(@O{z5M(xn`b&y-I(gqW75?})Jg&#>b8d=~H z@8ueQ5*4q3%L$kEXB8wMj7(q#!^C%cau>Pjkf=bADP zaIzsW5+ZNv!cQB#CGwJazJl}I7|KhgNd@-y2vFSHHim+OkzavQvIrwd+Z!Ot%z(Bz z&Zt64TnMp-&ep8`@^J*g5VMKy)!YE|6BR<^vT)_5Ou(HMI_8un2zMf;Cj238`jDpP zh@bNfVz?=8A|~4aA_l$EU^OD|d~jjb1QzOaBj0H(^Il%VL4z{ZI2Yb8kZ4_@n=2Eii!VkzX8g@4WauP?Vz$xmzo4GYRgH0>@j;bCDkT4IF@%hnqD{Y7>6KOUFG|}*gq{4G2!o#A+ z>fl?T#?S=(_GuNh-5`)+UhbDPz`X(H0dFkIKIX*>*3JkQ1jr=i2Trp1A5QXOLFxFO zfC7Mm0YJwx$9>Ojzy^qVY{wZ6Qt!#GW$2ocl&2%#+XuV~8@9kS)o2z{(Gnv6Y;Vbp z#NGoZUR}|W5R8p|S5<@xtTSMQXkc9H8oMy~w` zET>Zdq|W~YVhBJ+$`vMG5JLe#YvlkjM+Q*`V8^|4g(VA!59s!Dg6VY2jhIi%-*gLa zHc?8Ymqv&={Ha499rqOxmD_D&DAXF+sCT&NKFU1&V+WRW+L;z^e}=(AV91*yVY~+n z`3i)aed2(vHaL*1<9@W)%mx7%Z~2o(C~y22`_s&EV%SILD}1EA zy@n~bAUEZIO17#W{yoy$D1AUjaOZ6zt8>oh2IcE>C3Vyh!Qd0@BDl0n!W?TSC2QT< zI(Q0j9vgruCMALhv{E&4-<~|)j~Y&!14ey(W6+tt%Mh5c{6JEVz(?{+NymW&7!HWA z$hjM)T;w)EqZ79$8o|t+wjTeDmAIiWY^bp2KoY+3&hOYU$Ecy-Gsu6J+M9HmLfo7g z?XY^nI{Yw(`Y+d2%s_J1Hj7ca@-navzyV;39F_0Qj1%Y#VJAW5TyrPXNsq7S8-fzf2zlYo7S81!Gks6?F*?5p0uXFaSJ*nx~Ss#2$=s^H9+9^~9Q;1~`0Yhl3O+;2;%4K|MoLuq9B}TyD z!TrCzQT-zc6%(gKJ}`E^|pQa8Rre1;=f!yZ7RV#=?Qx;bWwz;HX-v zpx15$KmMWXRN+ooJ7`jR2B~THe2AxunLOat2OSK1imPyiVczh@H-1VjVe^ttRUX{b zgDp>7D~3zMC+Q^hK>t6zG2pjz+nX2Evq&8Xwk9f(jbmvbhp)@`vIhTJ`sQE^mt9WrNiVkN5GT{>&T24{Cgqo1@U! zGlEe9h7P?QMHekrq?)tk?skAetFWjox4*gnvzE0pIPKe*3lBn1@9SdT7*S1^sby3a zMO`ah23b^*!F)r6^IiRzv2=)sF=F2#$jpx}#Hb~j)GPREqEWON5%W>&xxqck3+)Dc zX?Qfy)e?yupXEO+wK^h?1izix-3QF?y?UjV;;4h{dE&F);ev>1s`5aY_wTB95(DD+ zUH`}+UvxN2G)xK}YUl8x_LE7N3?}5<-B%{%kN}hS&~X=(*$7-`7o(tknuQ^ba)!kG zffIBLL=5$!;M${$=OIj)G-%oU@BvYu-JpS#jjosiUFj8kKS*BGa5Pgsp{bLjl-zOK z<1`ee%tAjzn4I8#>+x)NCej^;-(1Vj&$lvNzI3I&YQWsUPioY!Or^ghalMMe-SjtX z5D|=nsH970|G|!(YyodKpik0N0v<+X^?iPIJU~vUJYSV{5ZW3+c~TeBN_?j58+422 zhdH4vJK8%)2?q2rZg#zt<4$z`bX^x!3VBO&5VqCZtE_(g_Oa6;6=qRK26%ClCekXS z%TezU>#A}x7%v6W&erhI2V`TeZzE9`arTotw4iQ7Y;Qzt4=J61_=xETE>lO-F;g{f zL zRBJ#d-Ig04#vaXUUs`bD$BnPXsdkqq6qsn3E@fq;x;3A@x>gA?D^%uvYk`>p`ocnH zf@|+Uu00g&xb&Ikv#Dk2_2wAS5jtQv%N`U@A*CrCRY=!8r1usy55t9VY$C%bp&ema z14-E;bPa22YB7c+hpcgy(*51zJyOlq&EE~0r3uwXpZ(?>UpcSY`a_4(?16DYsUg>%eQ~*tB?|9)X!#Hk23u?&#=O2M-iumH_ zyn=GTLhd>Ic+$Lb;dtk+++Wg%@IO_W%6v)I?n5uK0g z#p{!VbNJ@w>YqHG=&aPjX+_)KooK2$zG0AAW?|XePC-=ZZna^c-Us;gn}SySFO0Zv*c!WdBcS zu599qbeV*z0VwE#Iw3me8I2)FXw8^b(hSuUCb_-(TAc83yXBnjsh+(XvX{QEqFp$; zUQAPLKjwF_=N z`nIs;#RMaoB+`Lv#V2=v`!-1!9eVL0yd`(%cBmWsfNPJf!O-i*a<$78wm-%8%LoGt zqPwf@_-$#Z$|FF#xl))?Ah+A``SWL_A)(4LjK_jD7Dz=>dPXzy_MtdSbMLpIttR`l z#pKV1QgRoQ_saKG*!x;oeWmwn>|+x7kFovc%-~?6xVx|?O-WL|CbSeXPXzp;Nji*k zpJY-O{gxA9=KOS6@vb~lRksUm{P)J1%Y0)DYyGbx?M0uUY}Sdj0JvK{a)v%y4w8S^Go#+gC39cilv^TW1MhqhCZ+Py6~LZNY{>JAif@k0a0@hW(3&?yIs z^=6?R%iG_4QL{nqJ%pzo*3DEWj=o?u-*2a5@n))Wpw}$rXYsf?f=w%Mw7@-yr z=QP>!L5z?sMi`~Fu)K(S#=4ZLy$g-N9rkv%UHKmkK$QMWY;R$q}w0C z^#f1FZF=A~J)mh#@tbt(`Tj!Oiuqn6G{0gG(a14u)!wPnb{^Nzg6cCUNyCo+2JMVW z8t%M)+}hOz5z9D*MCIfU#W``CQ#B*9=?0lxxW~KNyXl7rIU(a7$^EZMLxwl@h9i#0#-WR&vRyr5x znOlgRhn7urNL%qlCqd0Y=pzs1OweC;7s?suda{{h+vP-^mbhS~MVEnV4@h(^Q;IYx zC?>mDv*uW;kobDOEjY%BZqjLE4vesnC$0_ICyTsfm3|^0Wi3Q4&Lo}hbn9#L;S1L}yZthEhjUUlg zlO>lV#j=W(U%_6Q)RHgN>MmvRf^Z|*L>a=UsbBSmRd~fTI}8PHt|mDHU-qm)H)An# zCPTU)4_aA5wO(d{wFc3Iix#RXwwFN6qP281_47x745Mom%&E>sD%G^UsN8S20pS;d zboSSy7bueI?GxIp2uHKxA|^;w3GAqjlZ6de*$JVw;vZ*6Q6dkt!9}~}i+Z5?Te(BqjEDK3cSCAkCFi*my zXYE(0IedT@-3{X))IbR|wCvU{g3;mo-4aCAP{rYDxs{%QgTeAp>#l}0T23!x%_;rd zVbUJot}JD~%L?~fA=;uO)t5gSZbzTOu1QPuQ7RIqVRtB!hZ0J27i5AO^e^>iz&n42 zc|-fd(C!?mSLUc<_HDM!rf2*jdfWeGkkTN%TRs}g$ zpo7?sEKEi(sbd<3IYU*~N@6*bHxiEH7LWT0FMpfZ z`jbT^Z6`o%D*%4nWiYL!3_`W7>FX~0`(CbFZt`0`D$`z+fD@nWBN5a9pkQ28`w1}& z8hy^TO795_9zx34cVJGZd0!q|pXrotTKV4gaoXoP(C-&auib<)9XQbtw7KDf;y(L@ zLAilHu6xEHjjq;`wM(JVK2$w74PkOVKwcN518KOfRry)@uZpg0y5rUeqMym=8Irmn zsZ*aTj4Ro4AYq>hK}Rm9q=m`^O2r+t;+AP&1ub;X_u>}J34{7+*b{7Spdd2J8myLj z+&d6OFi`{j4~&<^AD=gdaQjHT9!OOvjsv3unsrgKW4pV$_yx=94M{qL7TD$ogTx$m z6dLGU(sLXX*Sxe(^_>z_+G%R~#2s1%QB0zxj$w~wVWbFS_IwI0lcA?;^U7T)yM*p~ z(0i8?n;NZ4bRI9Qz(|fRL##S;=_(d728pKlU-z!hQA5m{?d&uO6`HAKaXwG!kiQ7y;gt7G9%i575d=r(kD9(O%oFeHYn}Pz=sr6 zFd~f4{`?5myQVRES+?Nw(6g{nvLG1+ZG;hn7%#jlrHBPvTTVu)5lg~JiU2k1%3Q?b z*@OhTiocVaH6Ln}JYy#RC6;)XoII8jaPO+7{l_3Rix?>Uu?)UhE9Yhlz0pu8E2X^| z%d7*F4&5X}RXikP%RgE`1Mw|wuuQ(Sj~@{;?oks_zDXSqZKHMX0<_*%Wg)K@{C13LYbOVBBPb=exEiNW7PJw3vs$^Qy9sk67JFh$>fOy}yJru*jV zsqSc^$h{HY{{vh<#Vs!?NHzeMQPfFmWLxsF)2$2F=DNc*6RMuLwECl0mIkQ~oQ`b} z@zZwA*y(SltKyy8r4!riHmQRwa(&~qdh(75HtMyPEl*>35=J0zHk1|XA1w8A8hKXO zGccScHp#Jm4#adwTCDa;IK)^6_m^HpG3{|lO~)#e_R1RpHW~gjv$q_LF}krpXu&&; zxv0|Pif3`&+Rn((1dY!-v!ip@Wl4ncNaNrV!VWH>Kmjh{QyswTu4{2D&Xxc&E!Q{u z8PXYQLw?Ivd-=B~wo}X4)tRU}i1TX*nT!?8Qtg8i_}Z(rLFKVIQ@J~dMSLWt64HHTE*a_qTG0)uyS3hGK5wz5!G2`$R1~Ce~KM&8ZOw5bCQTZorC|R%rZL|RHauvTm6*- zAS>9=0ty%)zV0yD%Iljxyp})Iu~}(L-*voK8dw~u4p1-8PKW2^whp0D@1)T;Mz8#w z*G}bEnah-BLQ?A)V1thi5Qv7NjEV8)57II;vn%}G-6UMZ38Cv{ktM`1* zuSB)MAKy&cM_DP|KJ5D;HG*b@iGkvn#)pL4Nd6zbM2A z)L9w5C{a1QC;+_AcAf1ki%I8=^i^Sk-lOxR9mj9g;zcOv1OltJW8#qV74&!EY3HPE z_iyF8-^P>qLEQi`8|w1km3jGAknOB~5Di?1XkboG-E^)|A(K~JzALd(h>qISNF9JT zX~?LB#9lN)jKqlCf`fg}Yn0k|JT&92YZiWI!u#^v%hq#rqW?hBuGiXL(7%Fsg(nQ7 zuDKT6cY#RBbyuU6_lF3O)r3P#vHrH6^UR0L34PgH}#RJY{FZ;PCp3R{7^n29J`TW=<1P_Go(0 zLUSJ+7mh&coEq!=pi+0SkPaR7Z&k!36jdooHZ;E-i5Xz#uCN6iqjS!2h@0q12p4;B z8lc&6o1MX*texgs{*=;a$cK~)?%eb{)gV?ogV_r*?jeH^oK=ZOkNd_Eq1svgClSqa zdyG&%;Ijv<>0bA9qjr;}C0#i9eaZIWrc^a!nb1%f{5fJwumb86Fujt1wys4HJgj2n z2N&5{<~|$qDNoOV z7dY0x`t$PYPY?`o{JK9rZ$afnhyicw{pAx;0J>|+yk1gDpQMznsyR)JVnxRSnM@O{hHg(4SOPtJwYu{`tx`)=&E3`z zh^tb_S{z4}*qg}OqbEQs?1Wo?8Uov*;rRGsx{=1#lH3X>d&IJ`=Du-&sp z1;}>S+iq~P1?IpY8Tl>MZ6_&A>|Gt0nIs`-+lc4)SpS2rpDt1)plUly!|I@1q2fL# z{JI7N1(^a8AcNHEQ-N;1z7~0E$`+&)omC29M{`khJ|ahFhrCg6rY2x!<1=q|Ey#CB zlYNx;wnTf$UOV_4Z4g9BUrH)QSad!0QZ7_fiqNKEUWmyiBI_a)in#BAJe09 zcuzmtTEue5c?c0b*i&Z|zVcE`nT-Rn!mE5UW3@UN*hA^sv%Ux@v*I&NezF` zb#bQ@_sZ=JX3cDH6Tf`ukNcO`^`AP5EO=Np&*+C?!ta?b2gS*`2>Mv&_Le<%*)6~A(R!_T!DsV(Ew6G>$i0Kma>d_SG8ox7 zo0&_w*A&}BT}-si?#Tf`uPm2BlGeo#N{*AntRkJSYK(5<{*9+o)KvBt8vF3htn&-x z-6xtj*eR`xwWM`z*ZcK`KN7RuFcRVVhYk5U)UsJ@_eX{27tEc;-@3W{*s&6F8j%w4 ziA#$^BSE}wuZ9SsY=-PJ;fO&}aXrUR!}EOc^MD-tkjxF~>qzEx#m`=j4V z;8VZ8?Jcf0TE|RCHh3I8Zy{IH<)_Z{D;)pU!p6bhwOXS-Exz2Nhm=I$~ zT7R@9$5`dTHJ9Z)-s&K!zBiE2P;p#uqwEY`Fsxc?W0~0(m9fO74R!egO2tpCXsn$! zM(xekE_gHi$_0Q#n&~m8{L}6?+1a%IAX+BkBdUyUPlHFTjwI845^G!ks=HJHMUek^ zdR6t$q{n3n8kligqG&mWOc%ZyySD8x=B{bv-5h1)G@t0^qVsS*cd$U=fo`FR(ZT8T zV4b$*n2V&-J(`vG+D#Xqv*^(M9m717El?VnldEK=ipHbF>5+>Kf$oSUD}zN5Ip$b8 zrR1M9t<&5!eou!4{;963Ok)UvuLjaazhk8kmuBWDF67fyrpbns$C7RMuABnr=3r*Y zHr078)O8ns1$%b>UUS5x>u%38$LPgb#V|#tBYZKo&|aO8$J+rKNQ;La<sGDQ2C1kdhvZ89~GOVjVuevMV))`e@ z$s*QB>j)xTUFw6qiKCE_NqWD9E=u>m;3|UyfSTK@1Gfv6P5OXUJ1TF)DCzmqHC}WU z@(FU+lw_wPni=B1!-38PnW@Vc+erX9X&cO41z^`Zu6;yuPOH-pWtliLth)+M=k)QI zhL(+ryoo4JIsEDFzsExuwl4LxJ$f%3XE%2s#cySTm6PPyaU*Ul|05SWWnYw|unt|g zmf6CErNjUuRt`1FDogaGe1LE5R4TI8=YITzW<@A}Vtw{hx5s$!Oph=m9+enMqDt`! za+yJAPgMnNbkG^$hBFJWr#n0tDXETI72C&Wa{m{19)hL8%32wpxXu5f83|xI#UTow zZR7R)Sf;c`ZK_kh_(K&A)IpZAC*#lYF>|rat7qf%Z?m@*udkZPnlqWs1#R)8an0X@ zK|t8newB>tTcD}SRVTdhh=l<3-%kSsTzOZTUhpbY+AFuv8|LO?NGs_-RK_No zTdQc?)o_BCo_YCZ{Za9=cjec@&yVTzCvdT!&JlsCOuBFhvxTV5)kNOl5Z3ge3gAtQ z`ak-Ie@uAVr%F}J-PZ*spB>~sy#7I8)G?0~o;t_DQ?K|0%(+?kF*WshbNDv>+y%O~ z$w3cY3=dmcUe0$ipkc8dze>S~<{ojYj(^SE@oN5U_KRvrUn_;m zo9a}ljV#n`kT_X?w1RN9D+PuP@aFBVZZ)*hA0lwZpL6tJ9}CRMRT&>b-+Bcz$h_zH z-mj8l8VeWeI*fnOGxNIjtl{{N|4Yx<*Knj)p7@efK3jE~Z1aWY4KuQC53cLwrq(X3 z#eqmJ2v8^Zq?`4(r^h=}yoPUzwCt@`7nF18&{s#Pvz6=iJuI@40_vd!0p7I8+D}a- z^Dg_9rRC{!Q?fs&IoC(mL5PY5RWJJ=BprEQN7k_nmNHIV45@Zr2%g=8gvQ6uYS+GN z)?Ev@#-WbN&5Fqw!)> z2SmD;WW$!KW$!}6Q{zYJx(y(O_qoDLB9^)S)l&KB$a+$EKh8NfX;lg0{*7_RmpMcO z1nhX>K(Cz_I#=!52Ia%b(duls)@trU7NWo~Qurc~13eqaaEOJgPT#jA#AQO9hQ+IB zriKmS4^|2cU99s=WG+iWJQtyJaK}UhuBZ+)!S@=gjjV^V$RY_Q_{N(1Sv@auXJT$X z@XHY?yh1xkuKKn$Svk2pP|77|~1PJO%77s%6_bTNiWH$eYlVC$a*m3Et|3 zrB1`y1|W>BDiMFa;yA2h|5i~)@b~rQ9nUZG2Zagi9u!6uNek$6kEO+-V$)jzs7~T< zV{>*vT`44Bos9fmhjD>~x1c2sXSUJAt32KyUG0M^0v#K$8nB<1{pB7RG)U==mws`_ z@7~m*lX%~6B4Rn9sMW-10Se?;J!9$l{(W4UB_p?OuiGax=EP-3=iFo$(A1J{EWEIwFZ@p+I8yn>Grcl?Jid|yaR!Svq8QV}0_ z6;P?GYBmVL&fne=q7nfOX9A{t5i(8})(L)N%KoH}aJh$Q3?TF0-`Uy?6R6liXR?9VkF2E$+XNUSrVwF?04c zQmWzR1%jN~^+>W&~kCtdqy#^~cYNmZeNQd>;x9X4Y^Y;@t6n8z7ZGa3jzp zH_ylKj^rO{XTBtqb7*YzTnQ@Vht`QG?!!4gdW-7EOBllEp4KwT9VT=3ZXvb_XZ)t| z(guT2evQZAd6}Lg=C-qwi7vyzE4X)5KPN*5wxzJCr^m+l`5X7MoJGYp8-J%^eBanv zbL+$63wqABwh(N)Gmimj?bzVPh9$=>8uLXb9masA<=Ca^{pr?Kj$63qm)4#X`){ap z^uDhzu;5lWJRSs1&a&>b;=G{2fVyYB(l*_`w$>4~6}tY%XFi9?qMV)7o^HpGi*JcU=$J$CD4T`L_3Iy^h5$ z&kIelp1CVOPLa>h^Na$UP`@F5cvF|F`ydBlfNgbnD9W>-06(3m1(nx z<|nU&i6K=}&xPh!9F_1lkUZ0(X~?$a>^@qrd9@6Pe+sdpuxOG!Cj!EKl&8e@`;^+tPY4MKMe-b?8|OB_&@&sE&=nZS?!H@> z_4}%{Q0ya{tL}QQ`C&L;so?H3>f2W{!xQ&o&S@r0)O4TU-smTf@dGShcb_ z-w)W-Jag>OQM&j2>f3}YCoMTe{dqEwg9oZ#6WCgUIc?L%w629o(_pAKWM+USgPbZk z!$kv|8lTypdthmEHF6(n`MqbhqSsdbV#0C3s6pzDjpNV0-mP7GMtkZ~WQPO)>ls8M zbLN5EruisnZC7YA^>BW{1S~lV+kz84^d8wBx&cw_PV9mZf8f8gDno?cBxaZy7WSolw!w0T`a*!$|u#bS3ASKy1p{-~~z zBDuX!HXLYkhv+a6pf5c~`X_L4d+j8rnnfasmc+3!rx`GE8-uA1fQsluSa{egy^PVR zru25Ef?40@{R+`L@@F?9p;~Xmm*OBkCy`M`{#u>HfmHJocA=JZ<^~plR>^U z*EcP;7~4Olfb;>td;u$u^VBFwVe_ul?hANh)m1MZ+J0Lj1zU9LqDrAFnu3mzMb=%{ zGs6a|WeNL$R3K_VIhJ~G6$yhtLn@BM{mZ{2Te1g$D$4n`Ta3f!M&|0<4gzz?W3liK4$M3-uLtK$^<0{o88wkrU47xLRDWFidN3I+pg zDz1n~48b@dl}^S7Qo62PzWwt+;2dADv>;ScZPnF=`YGW-aP04r%Ui>x|9XVK`b2!X2@ms#>$GVtJSqierc zBoP9fulTr!;39}7g)B!`cHw`$?S5p(M*yQtwcC@Asi)2@5k1LIiT_2*cvKIzd_~r( zOpVJaC1^)h&lVqF(Qu{AkfW$yKxmn8KudZ=wR-AvR}n-n=)Wmb$ro9<<2-ItA<>w$ zmz^H_U$kTdn~=IANkv;j%g&l+sMgD2ST3ksqEGea|Y4y|d= zC+hSnU-ORJuZ|8r7tz6w2P_QGC?y-E{QDfHKmbV;6aC2EZF*DiBkRW=x`fN6*-t7w zken!}i#TYo#VZ1mpZcLzw^CUCWgmcHR>WNSbns98T{d*qOTQSg+Ozp&^`Hi6cobaF zGip^^oPTpd=3E>V&%HsC?gS%Xj?NmX5Y$2PW`zyA|B)$*v6+dyU8rt4v}h3sUC(Z~ z8{f!BJihJT>70WS@SMZ2HdJ2S(#f`0$*6($Im=M?nDEAg?%2kxCxOteI{ype@B#_s zeJQK~;Y`#muLkl|Na$*&x%SpRW$_9|rGCqGxEx){x!&_*SL@qBHRSIbLXx+xdcQqi zzP%hx{R$<+rAz4Z&N+b`U9rT(7G$SSVH8`B3shI~*nyEG(P2!(G9XGU--$khY$?;$ z%4LE2_V1N;iqn~~7Dai|%fsRa)Y+07`OhP-gO7a}k7fJq+(Wa`9 zI<7TyUJ5uSQcwhy`oZ8zQ73!ii(>iojlmnAtDozp%xI?eA1dXUUy#%7L0>o-@@}(# zd648eVq4F5FU&g!Vt3;rvU=(&=TQS&-4}kEG`T54Q>}#82Ryt!9taEYFn)D00Lb!V zrtp6C$5?t4msbXXPu;h@psBcD?daN<+>^ilCYk3LfV2?tr*R=>p(2PMrnBa0jgdaJ) zxLwa88lE>WUl&tdM)Z7Y5zmJzsy5;#ZAR;-pmd?fe|pA9b+!2wA?_ZA{wt_i(*Fi% ztHEYDAD7gzV^Vs1D*Sv$V*3GuH`-V~%{}h@8w|K@IFqz}gLIJ7y+2%KK>XBJJz_ ziiZf^*DZ&7`Um;jRHJaZ-+zh8dJvPmLBk-Z*1-|yFOLvdgpNnC_sR^cA0@{D)_9Ot zp!^iJybd%Qj@;-R`{)8Si|S-uhB@ENhl0UPsZknlAX7z5wdf!qdbq4ZPh*FPK|Gh! zsKw8Y5I8j%_i=K)L7|9hD}bd(m@dOoaq7X4LxzHu*ph{8dA|3w%)*36<4E=LOO{o$ zM8B~r>088ldc<0Jourr$Vy6DCy5K;0KCbGJ0(_abGc8j7J)a256_g;<3?IY^%_qth z{pkZbVL}VXrh|90N?-6kzTK`mt&X-+!~nU+14oyuZjgVcGaA~wkG*)JgDD!@+yVf= zv$U)X79zrm03@=>;2qb!yo=!4*Gd*;Dn$SK3O#1lOW#%3k?}Lm9XxB~W}YIhPfjjT zcV>GGp6pIof`A3M+CD*MAyx?UoB->zrNQ5FL>gb_#N1_UdZDwcTybc1xzskqibm|i zzsb;d-~;1Tij3}pOfhOGbK)%D8gp}@xn{jM2RIs0K61M*BH`1c<76~$PpN7Um>zep zY_2e2xIN(rpK<7|h0bljTTpj>5l+&W{@(zsGpi21`tRhRev?w86iuOQc)%!PNeUd1 z^SUh(0^$_yp+mX!`35Q#qGbO#xflqy;HwpWDbD+F&+4}nm`PJg()aEY0L-uwc!WRp zZSC0ubEY1w{$mx?*!&1Tof?y+Bd@>bW8^It$y%}rM5MniYAu+*(8#N7R={PnfM$ZY z1?nG;b|+0K604p1S`cRnJ4WIZAM0VQd?8!iHntu6$ z)NAl6EQ`RyuH8Ht)YFA3ZE;XE;wIMytW0dTJAjbZm&?~W+*~AXjaO)d>D~iCN}W=F zrvyRrso6>tkF-1i5Y`3ngP?}%v9e1@4Gvi`N=hvnVktd_4tWX!9m(lz9K`}YmX^@~ z86F~#rWdH!&dti|npUUu1}UO`_>UvV;Xgg^N`i?;pgEt_&ks;!G;`L?IkM4G-`7p7 zM+Ic87aaWDRa4U{r>;(fAq}yq@UXqDL^Rs^B>7YdGY=S26k(v4I+Eh+*5>#Bgd<+=k+9FRAS{NvaBCzi^4zCwFZw<1^rv^iK=m4p`2>_q?OpbX#`-iA9TCdh`JWKNnN{d6Q@hlMZRaqsHD;c}*K)UN< zDrZirGVuqzZL^7WUgh*iwPLFSzH~lYe-tCXG=Bqx5bwBC{?m=}^BK)ozkzv7PWmyk z|3FeIei!@`HXmjLCq@00rrZlX_{xC~(QI43pRb;Ml~ zQ{S9gIYht)Zmv$vmVF2izD`1Ub#4w-oXB@#T+N`wny5Id40vjMkIh>DJXNXzt=D|? z@x*dUPEU9fn}xljEYkRG8=4X0T#%E@l82Rx#0$5j1!O}X;+Bz+6(-h4|FGK?z`H+b z3f%Ak-8HT~bFzElmL7RYkboTn1S9q3tL6A%rCV#g6F-Jj@|W`b7k-`69dpY2UgLRS z|A2{x8B7o~vD0t$=dE@z=!3pGI`|bYmZ1K$Iir-OP$gUw`qQA_-NoRoK>GBA0?A3Rt*6=Qo^-7ei zXubuy?qZ#Eu!=#WBoTE*di6CGRwc+8Y?OypgY1-a0%eAr8w(|UA&6%L&IK5aDy+(HAIDU_c z4m78ewH%oGZZ6aML`w4d#6hU8njEP~apS6Ze-q>Uks*X7%^~_f@ay!L6JJ+N-4j$o zQ(u4=8zJ`};I(~yr~T*jj)sraRTcYn30vapM(yGsmB@8dS1D~U!Bp9X@@<9jAAN@i zcjN;Ha!dEV`+%lHpG^V8$}pl5+-A;8zD@`&fBr;#CT0jNU4o{`Kufe<&&><$sUIUj zAwvr9xmbL_tDw@_GWx{5G^N(s8QnNhG8h$J~D4w_79xNxCrbNK(##2fZbq3DEq8}DxYAT>}Q>y6h(R_eaBx5gAalw{Y&u80G=!$j*< zA17h=ZR1&@Ur?1a&DJck3M-0y-Umc;l98ak()`pL5hrZosNLLsUE6V6fC+eKd(iwJ zQu3ZRchz@ z<`?W;^b6?EJdHIgr{vfZiITnkX zM$8qAt~(svE2Q>pSDF|1ZLvGOQ7+t~E{=Eb*)7F4r2Khch1(FJ7CIeU`lM!^2@tH z4kT^VcwzbHOFfTq!3Ef+x&El?X>YY$7DjSHHnL+2HL_zpLe8yQG$b6Q|F|r)EQ;Q> zn^-S+Bn6oUTZ^K^x99^#`Hw6H3Z@{l@(?zh{jXdAYp_c|YWn)?QR8D;ift#SmbdDB zygZgZBa}7dgi8oXwy8G-+$oOBdQlvV?=NdVmTD^zzH zg7s_!HtTg=z0+@Rr%GGgQXIEO>aDQR_Siuc`Di3Q%t@Nm)xgYAdd+7^97j;R;PKNk z;1_KT8qdG+K+^dxUxc6k68n4uRj7I9jq@%e+;lvI^}U9-BZvk{7UMy*xm)Hp?n4!e z_j`N2Hd4~W5SXGsy)dGtVdL5PQ*F%#n3@fIX$x~a>gM}tL!=PFS=?`htn)q$H}FPr z&Xc7+e^4MWxdVw>Nm`vGSDL(36sYLmtU}3Jw&RE_Jqq@!PUtz6ey#U{Y@i1=CLHs% zW?$(&h-@g!lkg5;!j?Fj1%n#q5?SC&U-TJ(3iod3@HhjvzD3MM6kM%pqv*>H3^Y7)1?ujapi`W9SP}XSaDF!4f1z*jNy=nQVdThiwRW6!t@X z2u!3Au%GW=Ute#TgY=%ZR{0VGSwgJXW@&$^vGcJkZL3i z9|oE2#C828!}_vL$p{29c#AAuOk;{_c0Ry*g4Ny`tCpAr`)QI zgOUYIq3ZNFOh>+8USip#27a1V;SLNoLJ9j-!7+EF|t)luXaX^V&Mm&}`h?8)3s6nyeVzxIai5o$_ayTnFaHkc&; zxGSHlzKhg-HBWS+=IbDXE9T|JuqES`l(;SG<~KK3}^qd5vRQ zbRv=`;lb0P!H{Zr;sLiloPh~`@W=y|3&Yz*Hu_g!u(0XcbO&A3)fnb*D9xnX`AoM{ z$+1(Z!%FD|Q->Pdg^@8n`xE;+c=@xr`T6_v3w!gNl*bHdB>99O!g{u5>Rlcao!{~8 zW`_x2ReAr9t!U^gTn;#ZY8aW1l-)D?V@|W!PV-v`GHb8KkIpYigfUXEd^ zv!+u7)|ey#2C zjC;0xRJROc4yo_JIVq;7veF9L7(yu^GU)KfNeU>U^V^&BtM;SYm)DMBs72~OKi}I# zYFnC`nySAaGd!GY)GnRhufAEk@@gse>04$`EA#m@_GziC)J<#TOQQ>OhlNCuVVAT{ zvzgX=tuQ&Nd}oXUzdtQA)0I9{Xl-!zE;5HM5^AWoT*~&=(#uzxgeD5VAe@Ix##+Yz zz4C1g@;iaCs7|>=}d9$i{_edBzw*-Iexc zCDq|a$EoZ6V;4H|O03>#2Rw>;F1)X?zwnJ05#yKLl(CEomKW{q?3(amFk5g7Scu?N zzUc+C2?dC|*+IQ0{Lkd_6_}cdl+BU3c7y;QJTB?4OU)k?1og4f{}?6^!eG3DC|~Qk ziIp&!c!k7|c;C}xFtsgs&}^CN=eSA?!`m3o=KbvcTz4CO^G-oR!2vtbiN5avo7-)a|pi`r$vu5 z@L^@ioKQYRy(O(>lc!3F49}cLdS9)`L$SLY_W~|OF?+H07k^Jfc|@O~ySyxc-mk&2 z4Ls_i5ozS?Qk;Q?F~+V=Cg+Dd#;1oGF<{wBP*89G;=aQn=4KBS_xQBl7&6W&8Hp#2X36zJ=repCiy9){lxlGWwOf=;q z2b?H!$xxT^=AROC+5DC^D2ryPV4&{g^O_*zRi*>PUTr>mz1L|tEpZyhKi1$$j@vBC zzgk*cbSBTakgqWe5{bsPWa;~dPGTlRAiEadH`#Tc!rugF_tKn5{X?vUufm~cCPZf< z=znm3rYL1Q$iKR;A#D5@h4E4+8ytM7MOiKvJu))di$JxJ~#CM{gXiL*VU|002{{u^ndtEOnE z!yOh4N)l21Hgs{VU-OM`jb{21bQUd*5U53GZ<3eL+87=l{-N{x_wTrohkxi&q{QHa zRp`MqOIOMdM9@FuCNAMo!@fb8!-Ceo%=MN!FpuHS+deNGnA_^|sw@)Y0;U|gm%6g* zM1^Sk&aU>-l(dZpgI9xXZbZwW&uU@)m>x_L;1d{J#E5tMC+z-uB;1Izfsk6e~W1Agv%;#VzcPD z6p5;QOiT$Tn)x7d($(+8o0~jW)i|MqT!mo{1-4_NgAq2?*2}Y&djy9;pE9YM7+tauluUYFzI8iIn8dWm?$ zlvt*KXBS?lTj9(^HnkI^$=Oaz9AnxEzryI)n0Mbj^q>;wE+QGE;UL9o#{l9;L!3VQ zBb{oqi9KwU8zL5LH_Rnh7G(%QqJ-OtIZ*zDT(Y*U(@aN@;$fHNi^S)g=F2JLe(BzK z4`B)|``dLkx-z>*#Ybl~$NF3UmkVI&ztQ|1hs)5{G$Ccehs90`l}rhlI^y{9 zcLfEYnN8l{Xz*V+JN#46C=Qm!vFMLSH+;RMhvUPEbHhJ$;*I8^>>SLc{CY2S;P0jV z|G{DpJxlWWdW1r=W52xcOJ}y?ACC_i*M%R+r94*}iep3j1NG$k+z+swkP9VdKp!7P z%tGLLn0F?q29cta_#)_|W)QG494Cf!*fq-XyNzz(f%;3_aSD^eYIpwr>Hp=9g@25K zcFKoQ0HrGe8;(_O>F!3SuK|A@*z%6CW0Os%7?x4a&o@g4Te#Q&iA0| z;Fw~e;P^U-Q|Hk_uBbN|=&}$vHCR{Dc5>3;uRY>1O6`dDNRGu0e+T~Vk`m37-K+I; z#dAd$Uf;U!-I(6py&Sdm+Do_}l@6mmWz$=zLLU5bCxR#vh|<7UUUY$|?a(&A>-Xlb zjwtBK%XMT&j5AO#9TkU9p|5<__)YP?k^eXDk@M)&>raH z8JXiRVg5+le+M_E{QdiLE2s8;p1?P?EM6D@lv)}Hu?#1;0%PkbpfVi8y!!K`m_~_YlUYt2juzHJ-O=+`21Y!r zp|yssappHp(eD4yc{z|{1p}!1Fr;AD8rMLi zdg8!uW_K?Ju~niRb(y{HVk1zu>DJNJR`Q}A$tRR7Dz?;Kw>n_CYCJv*xWGXst4=Hx0?Okb6IYmugh#=dI&*BjA znUgM)CubP0;kbFul?KiufTkE=;~Dh}ixew(baSec;7j5$&_OSK_)X{OA) z$R3mDoQ^+sV4Oe@z&qZE_ufxpSd9exezJ>$Exlgp49@fYQ_FE^A7cjf%ddag?7cjy zH4>w8IU$!yr%5R#>fPdeq=cy{TTX65L)3hmW{$6W%D#-x`}UpRmw9q-?z5xVAb*5| z<-ix&n;bu8mVeh25tPxu0M{3Xfx=N6@+Z$@3W*uP`zfg0BG%?4)jVc;q?uzTAue9g zzr4JR&Da@ZPBE_Do@W`ME@Fw(h^xpqwwFGkq=~@E_VvzT8(c5EiH&uy5XYz~yO4F~ zSh%s#$H#B&4Pahh@V(@A^j1GJ@e>r08+k3ewEcX2eCQ42DI)y@9p}@v$0sMZ@7Qrh zD-K{MMJq3$nv08Tvf7Mde9vfCk&u{}9tWzEg&#JXDMo5;&RKqAULQmEavKHn`L3?6 zsG41SDAbc8BhMAyQY~?IlKOl>?bwZ`_?OxhRaF?Kku4&)g~F{9rzH~~qa>QRp2Az? zp9`{CyP)sIPFjA|ft;2}#&_=AQC3!-nw+#~{)>W2kF;zmEhAG?RpnESaZIed{u)=) zwDS#0MJZf!di(m)bc_VV+s;$mW5xugqg8y`RnL~rQN%p>_wBoaC|rGf0s?X!=5FQ_8yB&grlb})mSyV7 zw-OgILBYik%VN8Q{y_44pLcH_C5427l}j*&urXB~U{z5_NN5~#baIlNTTdZWU0I1( zmZqHw?guQ>jb`q-`xMff{`)4qaa@^cJ$Ue-)dG%~=B&RK6BmblCC1I2Dek?VLX~AT zBDSVRMsaq0Tp{fgD>Lz~oh2?MZ#Q5zp6?N_3gX_l|9kPOch|5*$`e-pQJ;?PggJ?DlD@|O5-Qr&Ox!U4VqztTF9+gyPo9j!coN!_kfDJA%zVoM-*ESL%ME~LP$Pk2-p`+7OkPf0-1XaD zTPdj92jzVW52x4E*MIa(!qsV4R90rpo}k%lw-?DNEFyxFB=>F0dgi+$e{bN9y#Ui%f+*Dx z`}^lEB5#64x){P(oNF>a{v$Ot)k;86uw%E>MhXvia$IF?t*jrrXwQkY=T*Q(yAug5 zpc<>gq%HlmlUMcsdT7V?Q|O<;^#yZXdmK9TwYm8&q7??-WY@hG5fQ=N;ta%!;G}Qa z;QAzf-X++NeAjWj=e~VE=<1L^n<#AVEYDB;{Arl~E#sP0nB4VG7qeq?*g+4?1a-&LyfrKLUl#?5YM0&Zy zpY=*69)p78vAG<%xZiCV(IS+!#MM9fcgYb~zX9tjjPHh~re-iB37c%JXioRirKe#_ zJtHHhs;X4<5pNDm$t#0kkPzVFQj8hEz@qZYiw2K(Q;ZB?u+S5jUaOBDJ!%ua&?~y< zeRSzRvFHd9i&Ak5h3IfNw-ZgolTR zwwH&8azes#uB0bj3;k9KchkCX5rd8-9CdFaDu^9Of5fK1rB8A%^XO9QFcVPfGIYH*ZB|N3dJSiVuQ&-2C zY%C-5T>IAT+ZkjnbBezLtXP#}WiaG$#Lnc;hIPV9|FwWzqb^HJ+ml!3`kype3x3Ch zv;*|?s|xm+kOnYduhQuDoy`=KfwHSSITr0o9EkZ~EGsO+ohw3k9>2lCm;}%!#}-GVghRAM@xc75pP2EbV>$f`S&xY4jM^US|abbIn`7 z#DDZW#Q(|bNQj@`&*5Rs*B3Sw=~`wlK??xxhzJT|ae5hpxc zHZYN_tcjPf&B!Z8(%e|Lx3{+?A_qdsa>@sN^%Cb5e3_rM;LUf_3%5PKzMX=)zrWuJ z(Y(FA-G}i?isoHpU^-jGxcAX4Y;3==>Z-^!0C~O33saMMVS;z7s;c(s85tQNl^o2` z_gxEvpXtZ2k`&86ebOy)*0ET{oG&r*a@HaTzGV=PsnT9A|B#RZWF`zXJu4)nh81$b zZTroeH}NKwm6aHwSXW)WpBHnags*;lbnNhYie#fYG1uv_o(13swfkJnO4Ld*OQ*P9E!NSrhcC@?N zP4J>svTACr@$t-!X8)}JB4Yg~ARXLUUACJ@c7OTx>sP2SosEr+Uy9a`KgueNI8mf4 zhC+g%cOqO?Uox^BKYnd#c2x2%^5Wd;(wJJj!t1kJ*1I0tlb?3v@ZpX;OT7zHKmI#I zcpyUvH?XS2pEmg#3Am&8_SR7`vF_{#eQf}pK`8jp_{ zriVxV=g%LExIBHO2n>z zUixByL;t*7SN0&6{PUW<_quy(2H8+NQU$4HriVNJHL;dqPmitpZ(Q={Z>F0s5qAu3Z~-q*97sN z*T)H3YW$x2^XK2Pu6t{zD#dJ99_N0%Mr_dw0?82XK)hy4g@_yOx(UO`XhrO^wNth7 z{*;dHB>v2g0GfF1pyM^0PG93#DZDBF` zPt`374h}XuO^f}Y_WFVw0+cFt_p9&B0zpARTPW!ZZALYflzcwu$E#-;AY_(){P^wr zcaQFQ;BmwtVp?Q!a`I$e^b~#69%%sVl1K_A|q*pY2iWL%cl1XJKN~jSujq z;~mCTQZF5*qGFsy#`9hN0b~j;Sf7XYTjco-(N1IE3-a*2?r+$FS$otr)X3N&fFfZ+ zwknGXHCKlkAc9cKx9gu?##mqx`{`SE?wq;NU0xo80#nHLPg8?ed%cI3*B=zo zLuK!LeH$asKg1Y7{R|Bc8YPnLxr#4eRzVd5iW&$iCF*REYFJr5~yqm36w7p4aFz^riS zyhD1|?5yn7dp}k}c8-$^D;vO^UA(S%z4G;)`gW%-CMKpb1VsyG!QQq0$wZL;?{}_+ zp3}1vpBcpFzTLs--*ojeLP8Emg=r=7(PSl3BT)IaZQD9JBS1`m2cMjpx-x8NXoyzb-(dMVLY$b7 zoOPJBz~thlxFsf12UJaQadA00uUWZ{pX*zG&tTc&mwfpdgzq83|CROnL_0EbRCIKI zrd*uI^XJK$If=8PM3j`LqW^&ncn@-PrnvKaN8nb(l|ZpjZX;=N@kgdcYHDhYlt`RY zV2aLJynFk0=Rxi_Al6^MevL3v_vK5m^-u$@o|;qFaq!EL+h38)!CiD2%n@Uyu{SFF zF&`9jxASz1?6KDXxQOE6Roj(@A!|=8e~|K}k9Xm2s39rJ%hzG&Ve2C)kteG;L-;KN zF4AqGt?+0aC~fZ6wCb=(nD*!;>EO9J-i2M^2-6I z@@>b$(X+07(0*m*`~=3mI`zdCZv@jY;B_t4PffqKIx8yFb))0sC` zN-5UVMmnVX9vEFS%UBj`=;w|R0DD~0(w~Ac8A{BPEa6a3KW8EL>hy<^7-Hk}kcCJ3 z-{1%RO`}8W@a88Ikv(OuEg_{Vr;1GhCIW=LO0gUK5{4D)9tCtwr0h_K)qF9hk;2NykYnEb(1?hV8=ZWexoPD~2?=4n-s4o%?Ihpl}m*W+q%LaawKFP^8JrH8u19G9Rw${HI zAWft2UWTsTFBcg^JTapxDt0Hf*E`hHT7l@^DaA-n4&a7hwKK1#bUV%I^qV@P_Nn5( zhi63bN@5N8kgpFl#6&Guv86ptP(QGXj%O<+WneW>8h%Y7ZEScrk?DxU-fYWmT|bO` zRoVAMf#$#grYbPdm}Bc{zk*$Vcce|x!hQM>t65V#7sAhsAb5A0{>C`@q`1V~fE2;; zK5sGi$(|1n*^8;Cz}F^zrZr@;UAMHbfO{wXNFK{%2LD;wCmTf{;(z*dOo)p}a=^l- z8mFaCEn4z}$;q4ScTG<}&F=6lZpMfJAy1zwBrwp?nPt>sCkwXP1LJa+Z5RW3AAPxuE0w#tjGyy-7rbNB9BTgVj{ z)y-Um>t^)JtpdboVpB=e{hqiP$WsI*M@7XYuErF%mE-#X^rJ?4dK6I0usZ;fRDb`z zf^!^VJzw?r^ssq@Qa2mm0uul{e!a?e_1X_o@g$P}4S=QS@FrXb;1y=pim>wU< zsdw{=`URgip`nM9hG`-JCs(*#Lh zzsGgm22@1h_QNbLE@W<_D!jLQ_LlnkdI>GosuOn{6Pk9P1z%WL9pEnoaQ?XJOw7mOr)(EfffeJfxtB}~Nos)RKiq4R*T zepwBojL->?Gg2FewkJire0eqLBF+7{xHx8y=Adi^RaL%8TIJNNH!FIzz47>VqNwZP zKJpYL7)+pAGpwaY$B8{7f8yT{oSd0C(2qcyeWO#g&}&>FSvz0J4>PlQY(~^)7O4X- zuqsv^9L>(o1_kB0Ly)E5MyX1(H+R3fsZ0Hb-jcK<96g{v07ru*l^Yrw!lCyesQ9iU zr2Vf?g^9WVUu*l;t$T=_1Mx+)?8`T>C0LXOjRwRMYin!s8F{%0=AbBqKL#3_IHNR# zI99z)3iv)r+WDEx-EVJSymsqC;W=emA?^2Az{J9x-`(F3zPi@Q^@V1fZY&T%1#mw z1qK7-&b4s#Ki2@Lr1%9SsXCCiL{P;XObE502404nz5oSKML>|>Cr_MMMFy;I$jm8? zdI|OvS*?5k!?d$UVze_75j{}{XJ2ulH$uIOV%OjdD{ECR2k;_fG6b4^MXq4Zgiv;6 zv_qP~|D=7U+pkCDnABfz6g4P&`smR{ts}(Q^!J_<3@ODuVI+`elfYj&BiukWilV5N zkd|(Av)}Mb*y@8^t*qSq+hwxyB!~}9O^%Q0Cey&W&nA)Ru1@4U!$$ejmT}QyjhqRy zD`Sx-ec`FUSNe{pt_`{$P`ZmVKl zG%)bGZy&K9y}AB=aB*?r_R@aW3=FbIxbf=%kM6Zdgbs*P9p3jqfsFb$Hv`%+?*CF( zr-wI{?gxm0AyxfawFE7-CvXmv>V9t8ooU63iLa{p?!sB77%h2#imD<6yh4@KB!k0o z$>+DMtbD2|>4h;3JNbh?bMhpCXptApO>-Y{^yGEf6TsR^<9`xmZzrl($GPve22)5= zs0WH?*Piu1+sHfaglzEB$(9tY=;&znKT)l}OBRROq@<+m0R0OUraoUv{|w| zc^RbO9&~@&VKrg7(uUSsvzLqE7EnlmMP-2D3lg zah8>J7=p;&5Q6nZI`kZ#9_!W%dgBBc424m1!&N+io@f2@=>&1$x(`d96380}h2)c& zm4(280#pI|5{O*8qjV&nssMJOo8Qj%>tY#22-&8-;sppLjyVB%f3oWkjy)*A5)R-SeHGsb>H5H_8Ci^nN)tH*Vj+UtWpEuTdjRPFWa*C!t# zW-#@Th+BDX2mp6yf06dho2k*&g2pxWRmix>Zm@jW3 zAisG7IIIA+3v?1x#)5(Zv5`~}O+a823P>3aQvASvHRU!bI8z7zNaab zs&2US57pj7dKnfrIy4j%5~8KPDNJqr&)Ci-x!QQ|nG`Dv|vAmb8^s`kuV7B% zM?r&v40Bo>ibElN4@_CX%y_-H;YU>qUY}t#D=7J9X2Wp(Vmt3ScyIxhXn2OA5N%*- z`h&0J?)Wt-h~F~&Pf1Ifo@GYyP{I)~UjTBdqqHakpQJy^iJRSnkV{xo@s;?(t^_g; z&5m}WB!Fb&xr@^q`j_yjQ#IAqNuc653&%eqdqZJm$A!w0eF|qg%&XEL-8dBJUq-R- zA3@}v67!%NFHyGuFM}CZ*tf#MUiNm#njn}&zJ2jC%cZM4rd^405J*2&Ba09--5tLj zI}5ds**u7o&%q3S5YOu%jLT14+Q`Wa{?`4pblJY(*(4e|y z1>^ahP?Dp@_{iF3RwfGm2Sj6_LSN=Sx^w@^2*h=95MDT71LhK5+MU35mo8mG4J8J* z*0s~LKkJZhxRAh6iFafrc~f!S#93CLtSR%(#01k;qOXYRI^&hppKxFRkTf+lVbu_K z6kK7|TTMyHPk>t}n6n@T9AhXl(V3Z;*ek%7-K6I3?jFo-p}jEZ)vNgyEz4)`>u?Yh!ui}tRvqw^PznqwNNYZfb`B14F)`1?I`|4Hq;FC@`zP26v!L>kumb@BaLA)|1An)` zW)uvv8mRE)O8gMfRv~`j!UfdQ+RlCqJ6)#RZ!z-fR{AiaFqV*zAk1xow|gJW-@>tH z#EEN#6Oy+VBg>Jz`}+F&Ge0S-h6mrmDRMCW0WWA7NeM}vaKB|XYm0IlyU<-@2GD8* z#}i&r9iN-iL*;H@&yh7}Z0o}hJ->d<1AluTJR`aKt+TTLg-^MKwrbRd3NyLCHd!?(`M*dODmj|CN1Cb zo2JNw6^?kl-~XW_fi2^~6Gjp+NTYKkHU=O%^w;A80;rADlGQU1If(IpU#=BSZm0m} zlO>T@5a)3tIZuy z1eL=Z>Y<$6mx_wwwTjggFu0 zKcS2yfa~Bh*S&Tfq8Z_G-Te157hXq{u*Q#Y#FA;oDu6NbaCK5p5|qQ0A5R!SI@O4# z=_Dw{;QXbZKYzyaE5Qtu?+nkwPk9_%*;L}<(s z9M=e1l9`D~!f8)tW+sX?9x%DE+Gaici=>3|vlwL!QTJaovpSA)jJ?B&asn;*W$BJ1^q*C9SVmDN_e*fD?6?!aK2=1*nili{_2j4a2F zUFg$A$f9wO4dRwqXhw~}Q4FXNULK1e&p6BpF~y-SM_I0g42@30{7qzJ4N-}BBG=j70 zswae*r@xG!Ns{7-iYx}FuXWRD2n`)bX2Wgr<5 z+F#xgCG0AqtK{9}cRrpKl&^NU>3D);06&)X_JogzM>Xmc8C%L7I~vb6VcD~fG=WMt zI!z0ShD8*TBFjjjUsf0BGnIq)4OUe=9L$lFiw5b8u3r}t5U3nQRD%ipKuQ>n8PmI2R#zu4t|Y-~Me->uDnjw+ z-hEYQ=U;28J{Gv}YO*xlDN+NF1`r$@t1ZNZ^k8g1^oxcA&3w>*Ay)r;21FN5mGc7~ zrliz=zwSH*#i13#3($Z_B5|P!?ENlOIjG2uLzGe}l>xs{(72ymJCt+Jo)>E*;>omB z4&n&O%bZ0jZ9|ZofII)7NKOa*^t^b6%-WU z^h07gN%DF4@FG+tHkEh~cCj+FFZ}#?5LWR3QT$o|`KBT2j!T5^EHBU2z`(%5BH82? z_$H{WbX*3H+F!p|wJjpZ1)N(9QXX^~oTCvCket70uG*l!+7xDlBxn>KEYZvtBr z3X1DhrclW^WjUK|1ypTU8g(P;I;Or}wu0S^{Ar zv1;XxNHI8BqXJeu$;ml}E&=6KCm!eJds!*)A_3E6MFs1oG4NTa!#Sv!gY+!6I)4oU z4k%j~);Q}qShRfODqv80tN&qr|Ar>)cYrXeX2dSJ(6dMD8XiA>jE?WLs+a(|aN&fS z7xe%SS)YMRv9zpi-#&<24uA$_L6$94$W~5(9N+pI?rJ4<^Q!$X1Md=lMa;Qy(sTuw z2XG_!yAigFyQ0SY|oEoXa>}38iC%|E{N^uOGU?j6Al=oEMETvjndN6+7>(H8i^w?Hj9y$ zmHWkaZoX(>5H<8flI^bpS(hbGw!t5gwMAB5UQJX<2Sq5!=hO3p*K9Ik@z9vfscmeq zD{@~w{iuI>CmqkF>{y@F_rJuE;;zz7avhUYN^3pDzTX;;ADpIp%jVsO<1<@4C#74$ zU!21kr3__%fHx)gx}kDF24*JT2YRf@&2n6@>fib*jHH%&>q?uEa$5pR>qf02`<(f2 zBkp9k(Rjnoh{T+@ST}APrjjv z?afX=%mwZIgm2%p#l*z&t&p~ATNF1-;L26J=xJz9ng#1P>Yb7}M)FBZv&1f!?p6Ur zkW4{QA#b!=1l6y~#S1Yw$y!N9W7t}-_PTKw=+CnAo=V%<4!Wgnzr68=O(4#hoVe=j zyb8O)30-~`<=7gOrOlm+x|QJWzB(F{r4F96A5MsSUVMdP8O;2f@SX4P$ugzD1i8r8Ju)R$M$$wKBCRP`&$+2`cEf4#|epO%ge`Ba-24gy9AgLx*I_5 zHB!*E_fasF6;C%@CX^+OVG%JgGJ3^eMtZ?mSz6i$50YxC<+ZB%`V6dYs|D0Jh_#Xj z;I3fJ>>0LxhYTKnSSRRXE065$n>YWUUML&DJHnlEWl{ANA;H`wEq3p3`aJ^-!)jj3 z7Pp$Dl8_0kF%CnP`0PowH3RnXCW`}Y@E4{;;& z6c!4TeCT*g_8d8~0!2QaKc>(pMV9+0sR25%xJJI2FCz(!3JAUa)gVlP!iOs<{LJ0L zgzXxBb%J>S2+(M*`zTjiS{jWtv8E=ONErpMYrNLJ9H;q6x$#2K$`VRlw=0+BEQpDm~aWE^Ulz9KyCtcIrlK2G)n8Rm11a z`1m-~?}Jy)x~vvfO!V~k$1HE7@%+B|#Xn5q`)gmAP17Zyv7=qe6qk!b)3w#ZKmwF~ z{#@O^ZU2dl8#k(3s0w#*l9VJRAJ^wqnYJU<+{T8lJntX(WXDG z?`oym%38Ip+rWmzE${(kPeS%=&xZ|)&VymLe(g?ISVKfouZZ8g4iUqTM~pb09cx|oj?f{lcRo2aL3D~XT_$sQ)<7>(9Fz>A+6ylV zG^)gLUhf=|t<~vs*TiaLOQ`*lEDlPXI2Bux`}cZ{$5j|eM1rk<$=OkX%;Wd!6>}hQ zPaE}LPe!~&5QKa}P3bh!#-*5hHCck$YSH}Rhw+a)I4kVLAu=c6hP;yWw+LVDxcQ$g z&V?<0CWPm0WaMA$?CcyI1UGN+Nf=%;)a+Gm%6`T3y*u(FTYvL%9AF9$w!L-hbXbV; zmo&KQE)*p|0eO}=bmk+`n$wTAcB#wVHA-K;B3?F-!+QXl-gE`u%hro)EW&lL@}A-5 zE)!2Fx1|Bao(1;`G&Q1M1bh@KFX+;OoBCNf+;U=tU$*Kx$gVu)?!WZ-(WAnJfe;iq zKGA=nI3qf+!3F_Hu;*U0W~vsb%qhTEN1;+~j4^ znC01dc$$9A1VZ)N%Pi=~I6YD!+gxUYSe9o)16e`KM#%G%{t*opJu3eM;jfLX^ ztGJZ_506UFWl4q9BxAZbE_3LIQK!0SGLFs!YO2Tt^Oyo!tx+p@;u;IAS0)Z|KL5V? zYklHPF!6XrHf5Z>3u8Vs26SQIg`ms_LJ&{CLJwu8DeUo*-gPHWo@6+C>l_CS6%{iL zcS96z$*~+)(~~&En|nuwMpaNdevh@}9dMNiE94EsD)#kScPl$uwr}5F);9&y9Q?Yh z{{6`tSU>v{E^r9+kX8HwD9^j_9*+^WsUeuwOBMy z4MJ}Vhv>&h!gB|i=eB8^itYwhx`JJQtr;h9_k;(MgGq>X;37~h`|tzk%z=hexsK0@ zrF>?7vSBcI)DT6hpGW1Z7~$j5m2bgRKDB~D&ixySlp#*yDlk;}U|@dx_H6*Jz-o5Q zZ03R6ur{V&z4&nRE+~sPsRC}<+RjZ(Y}>juep#=#TPLlRhI(+1RI*M%?x)BHRv9#V z1IDMPiEo_!gz1ez-7_gkNp~x6dJ#WP5oXRq9*WGcWRzplgVA)#uS9eqOv?IwR2Sy$ ze;{{E{Oaw``&JUngn38(5>EJ4wi&^B*p+GIp^b)*_g*+(yxYe^Ap0}E(}C?CKO2>))gZQ~|mGAM;FjVe5vZZ#JA3OUTy)^>kN6<<~~!neh#wIMf;Pyk)%A~QUio5HwF%R&Z>>}7r$Cj4NLZ5!!!d z4t@KD`WUT2rSq}L+bQF1Nvy->drhp{$Ppplt6s<0`%SKt$%iM%0#NziCk2 z(mZ3RS!2utxkXaZs+48ysl9vKHpM#Cu)x4P!^(X#SudzgMmg!wah){?M1l4t=!}#K zVI{_<&CZK%5XnOK;vD8Cxz~bVV2hiV=oZ(gnMuN5xzCKqq#2W>DM{)}K%1wII1O+= z?U5rlZcBxbiE7L|NS2q&w1M%ZUB3rs@hux0RnzkV$J4Z5Rh$wi&$a+R*)pr@aV(ir zZMj1H_5(?qL+Ab#X}zI)I;7Tsial`C6S^inDUne zZ)DVUYB)$Oq544op_k7!oc2y|{syNed`eaQxaK5&v@jPUMO7Gu$*HN&i-%s)*N+Sg z473m7=JKi1!F-&siN4Psf~fjbQny8Sc^TH0{l?lx*Adtre}m`+C5S4e4$JR5O7QkbcrET*<;2X--R`){jMRtJgB?fBMhAhBXhw@o@+J99qp8Yc5<5pFxCnrj+hLYQ&++QJ$37LB zKgPx^-<1WhjK=Z7L#qf1CxZQt35rO=l?07y=501mFfkA8s3ko4n4Z*au%pVQ3IXnb z>L|*uvBD`YZFB;#T8^SanmpiAS=pJxrnzYD2~B{r%M|V5nXecm`ku8pQtbG*A*Uz9 z=t@J6pPwJ>EX)`8LM9nP$B1byVx-3;B+Xh$P8l!&bt9K|whRPQdrt)GsO#k$%wm+|AOC zo-jR^6{B3jeUEWorzRg!((zPGyKN)+h&Q|>%3r>b2a1d4uwlW>dxGA#1nEP4J}Ldk zjU{FOWZ|4+r|qvBpdjw$B}TzXUACHBw_)?sNxUgx3ThOD0`?nU{%H_ctQ2@n+<51) zj~B^-lM)QQG-R$l^^Ro zbTWrGN*H+zrJXr*rnynCHCaR151~g8b}Wcy+CfkH2%;~Ipcm! zIq_IgA1G(gMKH0T;MR`^YhGMDC4!uG+kW7=S)yJgD&vHN1VAFR`J%@tATUQ!70UIR zot--z;$j-0$b}2|UBCcb_Y!zA%zM+|N<`&~$gqOm@G@pMH@6@iT4^6fOi)C7A;||T zfUsGjCjq@%vW8M$hpeGIa66c>4y73(Ng$W-tz4zfjlSWM*b=U}*N;t2Zuw%Un9C|m z0)b*6*D}kQqX{t_UH<#UJn?kJfd?s+R8?D$SYUW%jBsNl>AbTJ0<$Rnkd918lzDQO zQ^EXPRkXQthqzErRyf0E65_%$Z%NY$#xg0zPl#KHy1F%F8WJPS@RB}mBzG-o`gbc@ zKy_jWV{KE4R;x*xtE(%V0lN=!|I8l@2b=(kpE-PlOumyL7{}fg$st!1eeysI3`Fctu zdfU-DP>iP{S*d70_b1HXKc+zi)~Crt=8?For)f`}kme%1n5sK#$!4voVY3tU&c`-~ z?2g?2Ke;UhwWx-Watpjw*qf%N!c0st_@P7VCW`rXo3dnU1%(&o54{fY%kkVpYuLxc z^3R{yx@i@-9OuV<{`kzcl=)2iFc!h@FzipmuF1$s!^fF#*)1B)a#tD7i7$vm?OAb! z3HvUjo2e&v^aJr@oIuoN#KX$EIyKewS!vich=w1?Ey=-rI%s)WWZQvGcmV;~FhO2^ zezlk|RR2%{K5E`W;NBsW0}F%Jh#`Ir+uE~3rMq60fP^U~G7Rr60f=%u3Hhu_-Gc=U zkC5&X$U<~G9~126NEH1G2c)GO@APDN-C*Wz2@g)j1dxM_XCW%4$cY;#ty4K4{q z>*oNgh22@9(6}8PQO9lGNjqM7GJ@!RM(|ONHB(Rojs^{y4BsUPVoA!j?WpQ-`@(ok z8-QTIXc}t1KARsa8?liFgb&d?K^Q9G=QUKfI-B{x^o8vFK%OG{hLI1zrP<;A(H+j85tQ8sj|9yYI-^uraXOpeW*qS z1xux)orvPl3|@ku4+ubG(ZKKDhiGZr(CP{4=1C`)gS&@^5Ed#_fS)oHke+TfC;FGS zvV^N+KOyv{If?*1V@e|E79NwY?+tu@NOeaqE3tE{%R#uX^e(lyZ3=E9xvX3QIF)*(1p#QmY5&nzF z`V|BCB;vN$>yO2qOJc~#K{Hv`@n+*#t<=?M6*Q(3ma{l}3CMZ+* z?^hTvJbJh<{Lk034?8gb=gXkWY()R_k8!~49?420vPcx zwY9aOL{Bij82g=UwsO=Tyb_ejek$g3&@((dtgUjL4txVfVQ`+Iu{*oa(PCu`j`@-&OBhYNCYaV=v65dY z8Fcpr2~ETZZ@G4ID*AQ)tMPSJl|V@P2f6td7cP-<=uebeYgo75z(Bqcxq(p!zX@KX zWMqpd)XDy|f6bv&wFncF#lgl*hIE+Ma#ma(`6G-XLI1NuMlP9r_4SEr=e3Dy^M{nA1#g1?`Kfzvx>UY)`7K_Hp2O|Md`dcuqU%?$Ugfu+8c1z$T~XhpyLA7$ z2JJ7q^{KD^++UtDTer4tg@lG)#wCBiEAQdul_KPt+_r?aS&oJ3VG2;lc=hK$SfXyX8{ED(NUOKwDp?saiu4G{+)MIIB zY-fTn>FDHSHuZ_d`*~WWpT2x~%)dN0XWY^jkKx%|0jpuSw>pY_{!B$hMOW8ne{B+W z3VgVC2kXVgtzzdV+kDnTSEyw$I4RNl^_yXD+Mv}l=4Y@3N=jYd1M%#q>e};4xc^Mn z?!zr6ARvGZMlc>16>_>Z8B4oz-Y$yjeqo}CpGv*je>mQz`84mO%tR|SoxA?4@ z6%e1Fq-qOGzeT*KqZ0AxNteQ*C96A_4aK7pF~ojkuT+r(*VM^B4f~zO`BO&5+(Ks} zoW;pf^KR|oJJIbDj~->Dr_avL3c3EitEq4y?~-R`fhuzhRJ(ew-QOP{zK-AKyVVIl zl~2NgQACV##NbpkH2k$XS~@p3$Dvm#B71qORCx_dLiT6#rBs&7~wJU72BqT06hv(*6 z+t{prxTkhdz$_pjASQN}TUZ~};VAZC@}-DsrJ#Vo>PYeTj*d`49%kmB+M5?JIwaua zMMDKk74tnBHt>JOM2tL~pP#3b3D5iTrAWOQ<3U16NlAJ}hHLch@4?$#M$NVB^&Pmc z9gAL)=?4GubUQuTh3mrSxaPjxHxD1IzP?`4P{g!U*3#0FMLqA1+1cs-^v*9D24&`$ zjyR5ppdbe)CvIUkjG;i0Es>3_ty_Xlcb%1>MlpM0xMHI>uL47~?@q7G@!lUgs;gO_ zJ{4$}|I{wNh+#Qa?^`RK(W`jl_I+e$r!6v`%gxQL2Ju-b*=uJhlF#UJ#Wf9D4>3JB z@EV2s&FEm!3Z|x}UcP+E(Qv|D`r0ql<7mgy$jC@rTN@6bqGDKJpv>dPkD*ks z)soc9$;(GaN3T!TYCL`VR8=)ynJFnLX<}mH6>|rt zYFt_9>EGx#NTfNqyTg$_WGSqp?XgfHY!8MrcKg1KVHfnS=rOv z!J3*HFHg^Ms9tc=*xA_^>?O*K&KqA}4h{~!dGjV*W>;6&+1VNVc1ian?ChsG(6tiz z?H3jo)rjX;R>n(AJD?{d7;I@~nZ!Q+M09hjimPpoc&ln7PcyRg!}ITNPdC2fIWKmZ zcAd-wQk!)pS#C_lCx2`S>d9tvy2;dZXw&a5D-nG*6RW*hVmp3+0R?@WDI~|B;S3Jg z4Jwhx-2)c9Xi=F7*iuWDG3k;UnM^2t<*{TZ)3 zKRaH>xps}UM7VrGvR>h~rh-g^bsV%Bed`_z-phDY6kzongD zj5$yei-0o=H=wh-d$F9YDVT`yN7(JfnVILSAKrJ&Pu95V)Ol;2lB;MT2Mw{Kh9B*Ox%*B=)&{{9pZ(XCzg#T0y` za2jdeE=RYUuxJ#ZYH_e>B6w&b=pt4=zsB6I8f0W77J}Xqm1Q(eX^#Xl-|KPEJlPuE=##sNO<;Cm!MJ`Bk;G=#6kI>_^h%Ogxb% zS7}qF@39;0tvahD*vq!V1(b1^nM}-g@1kHMPz>8}UJ#5$=B2xYJXidwePw*uCBYUuyCx{q!RDjdTlQ#hI0{r zHn|^v!-priF{Y^2dw(sIqy8~#m3cSS8kc#XNCBRwZm047f0p|{ z2Vc32jqRkXUS%Z7;$s!6i@hb9>N#mTvZfbh(QQueS5+Q$Pk)C1t1C&++2uSZFYoS@ zRfESS?euQq-n(Zf-l84q#?6A;Sc>#4`oVcq+>M)p(r`s^Vg#fWl47rR48^{w-MKQ% zO*2vcafkw7Pvh!^i2Ig(clC4%xd0=IO5RsvB8Gx1VgI38s-~>Q_xOHXddR1z%yhK0 z3gbQ1&WljUHPxX#x_FH?oE?PKWx$?#FQhgzZ)e3Wy-?dzMBgR8bdg>c$crUtgI}958J`sxIHwD_zK|( zXIc(3^#if91LK9+uv>hyRUf4@wCX&#rq?4^26Npvem!Jg8GiCW-}F;*@+1_ms?U!U z6+5BWC>+!!&^LBYU^$1J1_WR}dGaLuHjtzQJHR|vZSQF)$aXe2tI?l}JVcF~hm2RS zf4ML~&&Q{(vXbBV9v)r*YKL}B z0p@wL(<@qax9FM>94^dSn{pNoc1xlBiU;qM}2()<*|erf2x#9z`+0 z{Pab_kaV-ogqHbi)*px>E-0H%FBION86{Tr#fX8GYbo5=H?ozs;Zir z9)QT2nk3c;INQ3r3*qomQBm#f?X|SD;8BYWPT4)YPDS$In2g4#cCTx_w)Ir_!(|>^8sG{+gnD zZl{U4IT=1awC~TV+1xxlyWP>J$NO=yu~cF{n%O9ggYBQe>G#;!pxtvgD?vf1V*N5` z^;t1-56b=MTPl%Il~P1J zoht1nM;gepEO`^4L;V>ol{q(Xs)nt$0HDau&Q3~73aV$8wQC)%{TO?^?y9+&*^Qgr z0f>hbl$5?cKJah&K)a#g08!t(eH%_G9Gm_H`U?6|_c;&>3xF{H{Lxcak4;X_SI-R= zO%QN2($!6}q+GbB#~u298IFs98IpYAMW12=Xh zptS*6*Zh#B)$IZ$eN&{VqiZKr!LW#F5eLG z*f50aV|RG?un|h`ZsNpp?`u!npwWkFz#F>7&yx}o0ZL){l2Lzxz`2@bDlG4cOyu+r+c6vC-E{_|Ci`Q!mgx+?aXvI=8c}Z3M1rsW)SJ zUrxY}rx(Z^8sjoBEC5nIY6QwVRG>GW^NfY|jZE0B7SkthEb>TswLBsvsER8q@vdF# zQ@lYfcCt0!f&BLD8JdnBQIBF_Vt$B=E4BZUo-T2YcvV@s4~k20DgC{BmSbg>M^8*h z*|eLj-4)t`ClDvha!|JpHs^x%<_({OseTvVz6JZ_MdhY(HZSKR} z?J5^$C*IJ8Y_H8(so8H_;;p@m7F@J0R-p#i32tJEdz}HDlk|ue9&WNK0|4UeSc`V> zDhEQyE^gA!MTnn$p?)inaUdN$oNW~2E&4E*Yr;`{yG8bIH{0#R+@vrbDSD2bYFuVJ z9y=0AX5dpi#G!)8W{8!;7V5lAGnE1L@LpWj6zZl0rwu#gb$ipLKhJ_I2LF+*~#B||1cVdT96gHExLl&h<2{-%Pwys^G31qB5z zDFrqGS<{6}*yOmvnLhEFlGu!tY8^3dj2 z;cDDzrhnLDG9#txDajE1CNS`}PG(7o(-x||nHG)jr}29$uS%(W_1g8?LIoFZfI!$x z_Vd~sT6XrXGBjAJ=E-l0d;k8UcSY9rTJ5@%)_pOtlq%fIn3#7N8B1BWVEqW6)av{0 zKHJMDS9oA&qTP@H6%EarI@F|I z*WS@CHh_}`h>={!WH9HMt}}z>se9Qo>8fWEL$U~aatKA|Z1?M*9UZ}+ z65hYZH-7o%Z@XlPed*I}u3ve#!aJ^c7)oJKd;~dHlP1ERC{V|$1*adXID$;;jl}aJ ztT^(PA}FkN6-_Hoi)a6qp*4@>!`aLzl0wNLD@0FZyUA^SJKl;QxhyD|w8d>81B~+D z)xE%?YpazcA92V=G^>k)yAV`Zee-S@Bc%(&9j@_Ae}8}Q zm;%sbYu^-*XB2mc+nxBkN`&j2Xl0t`^MUj<^J znx+rY0c(NpK)`}Z^nOxIgu+Z@9xjn~0D#l8#UM2H zYGVIaZ}-_Rp{06Xqe6~A$f#x&fSS3WYG1dBJ$*flN;E;^DISHu0~9H{Jf*1Dhw2Xz z5l^6LG`_!tjcfQeQ@Fn@eQV3f?BT-ds;>3&Jvg~S?X<}veek~QI14BgK3yA|e%*-X zF95*YkCI&M zId`x?tMqO4Do}LIiz}_s#`YS`w;z0ed)@eI9guh<7S{EOjjRTobduwh;le^!7UlO0FtY?Zl6A(~JSh7#9Le**})j%l+I~yV9;xWCMQftWBK23}}uf ztBs;GG&Cc_>A@t}|h9zi>ahS$UQ z)IK>(Qxd^3TM#MV+1=Hvw4-b-2^z|f!CSax)}7MnJNomdoPmMCWC=Hdm7jlD(~vgj z`tAF?L;F`~pzKx~Ml&dCUL?}<+50^hdb~CeGJ-x>{{H^#SV7wPdm9^fV&_NxaBRw+ z?JW0Kv$l{;MQl1Vy1-qt$i<)`FsAOaRyj&aQ@c6RKWA0|3FSorv2ObK)ZCsbMVT>#Q{ zPH+GuC@JAKepzWV+JsAikN<7Hmo02A+o;7`^koj0?uO`gi^AXLInM2PcH$X6PU|IU z5BRL3R`McA(W{|Y#qaxl#%3J>7CO8TPA zWOed)aEf-Wx5)N^fv0P|b6v=&(GmnZXgZ)F)6+}wx3;v<1G758yM_5i zBwVB`>9t5#(+T>_B{=}p4;DQ7Tp-XA^ZVguAODTlb`fCKCB!EE? zapsXDbl;_lUZ>7xvL;6G5H>FnWg=%7IoGSh>7AV&0143Y)$4|d(r0*N%((sb%m3M6n*&;bo^G||I~HurR$Xcx$lCaJ;*@E(v`O3pVV_*qd^I~Khn+@ z=0R<{fJDGD^Uy?*N|v2`{`@(V`ttJKP|2+}06d+dMGX!9z>MOZgZNb~B}MB^J7Sx^ zlesltp#c2=UKDYBY>Xjvf`Xo)Oha4m?&>nblbsL;3zWcqX&?vm7o_Z3ob8(Fr>|c{ zTe-JEoJPu0Q&XoGKItILA7La!V5um(uMCCFiINl>K7UTr%C==>)^5|N;6B?NoFeMY z%@b5uxDNdwE2$9izSXjAu5Ipz=G_SS&$NsbS*o(g=R@a~v&3{4|2C<1edSDtxTh>( z(mbH!%=Qj~E;b@Be_Lpxk5wPM(IEYg)4uz9u^T{&o5$CVeB0vN|LIazreg^EmZv3G z*fnTZW_Kwv02E1*C4d1|?DB3TNLOd!F;YH)q!8-}s_K5P3^k(Yjy8i0uA@AdjbK$eZ5aHHZBg@M~9|izIrWKuM0^adKTv;F)afNn}SXk z!=kaUu#kZN3@xPsDc38r=mk%xc5hAD^WRwj_w}=_4h{f?yhD%bB$#?A1%$bx-y{RE z2BqBN4Jc`J&V7a*m@4*kw|J~bh>20Zetk>&ei}pH@05O3Q!HxGf)@zvJ}?Tn%s2x- zS(h0hYCIBu4Qd$7-xf_T0gW=xyzOxoosgp%b-9uX4^EY6#M69?X69A z)IHhR-)EGL>XG5qla!SF5F4w_2{;0MSkzehyL?zaMM*hS6Kau7<0^^la~@DU5`a@e z@3CAwTmBJm`ojAqc3e*|=^x9thN7f2r|QU4P{o)(l`TFT=bHN5D@I?Y~m{OdJd zya6G=cmIQ#K6Bp%N#)EgYKp_-4^DeWvtIV3fd=2|1n-Qph_NT95zTbk^(a{k$m+kr4DcGW~U%e7L z-RTFr4;1aKkV8<9fHU(sq1r&hAd(XeNe4ossQJ_96$6gDY8%~$DKek(StrpuX54|y zvq2u05y#J3wZFR-fx8z9B)`E=)Y%LKF1RycY*BG>tw|@S=qDy31m$k&(Q3w+%sj#Q zM3>C9Vl7(g1#dgKy7JjRWbY+vFu5<@52gWO1gp$Da>w5T_bl(rFFm4?p<=ufLByJZ z)+32-^wK5O)(USfu+kfG(MnqBwD z?%f-teZ|@3VG--5yxB``JxCqw22Mr`pd2Ytjx#`J?!xK?sprz`qj&`Z3N2cK@Uw06 zxs{Vb(iNxaZ+?i67qA*&T5v9?upM6m1I5^AYzXbPNt7|UEcd-x>TZq)p^TfcJ5@Y2 zHr6a#Q)@;4iHTXt;r(Pe3LvH}`%?Jq-CO~5F1A`naa6g}XKf}W8yg$4(F_FJ{*Z`) zAcwQ=RcH`Md5*7=$ZD|mpBd3!)Uu_1S^{RwetcXd+^Q9KOi-!a7UXZHrKM3c_@Too zghWK&zkd%V__{+vN@_P&mJNlh)U4C!e4x0fs0hgXUy~QG1BIy94iFRg(i6%qblR8? zA3*;!o1Tyyc2d79SrU(b*(m(LQ!-6?lNK^s^4{twcuzLFA^YdiFQMe%3xc%{S6bDB~RDwh=}&6Gb1`ip06wP| z$(vaSXf>{4=Ch4AXUSZv6nCoj*8GDz_~Ki$`@vB==;3h4BlkI@Jcgr@yGd=FO$ zJWQZpp+P|(8Rg~VAnU>7`unL_Jev3mwu|lYJxo(pNCy3EARD|VSWOEX8yoNlipc~A zt#)f%SJ?IIJQk2QjfW>&LeXiWB?eIKz}fqUNXRx7=vJpE9>Su4VFE6w(kxrJLfafK%JJo$h?T;j z8WO>mOAQ;3amQqds>zFOtcHuZ-?zJMXFmi<9`4G}b&UrqAEKlC(;fwaJ@V6+zQUu5 zUbRkAM#kLKlxtD9#-$zg{5=5GZitR)XKFuNT;FANS{Qd>b_BK_shwYtmxp>5ueqN` zR90a_6h{@Ti-U4H1Ox;b4-oqi+i@HQ18qo9gg)g6lOa0S5Ul8 z4TqSeS);~W^Kb`>cYWkQ16Z%y?t)C$=R~@=j&raX;InLNM<`O;t&nmwj|`jrL?T7N zSOd2LY4B{aezl+kBrqlh#TzMBv>HutM^rAtU4;3mLt2$AF#*Sk5?#W z^qzq3fjpe{*$&fXHz+Z=I$mSuoa% zSc+gePBu)i-RL5Kn0mbo!kOUbK|s!fmolSp(&?Vc4yt!P+_95&;m@91U++#TGpsC9 ze~7zh_bAzS{JoGecWrewrMO>G)pJlISAgX~Y@pnzg=|aUjR-p~%8^~NpzSIR2gf?d zXGlQ+t4Tq%#b#CfIq5McJa%C7>9^HGM>bds~RiG*Y&#V%BIXj z49N*Mub8r*%D{O9dyh7We&EBVw0|C}pp>C3C4@eIwt7k2#qC&9kd@W>rWOxDq zIuN&6Apd|YXbV^%4L5|>eL|SpC;W3Y$TaJneM!9ZHP5?(f}=?rfL}`d;=g@+uwY_j zL|do`;1xh+gy82PJAGTM*6#bkr;2iNgbYHoG)hsB64GH|aMhe-LL?_AgNCi(VpRzh z-F?baCSg(+U;%*XH!nrH;si(pLv_lnNFs?r#|2LH)$g$^37wCcj%sA($C}6|mOyVP zdl4Hl)aX1Bkd&Mn_o|kA`flq}wt44F(Ug$?p!IDVnDG|HNja=Yl$$7&{4m8i(CmJ7 z6)ZNzppPc-Yy)hsTMa6d1cX(Z_YbivRR=YzJsY zCq%xxxyeP&4e3KcPly|sy&6gC=}}%l&3DB0UjN!Mh=>~P?cGfEKl6n6Xgm)c9UUYR z%{GsnLt!0hB5*EvPMEw>N3pH|mjQd5g=-u1QeJY+gqAC<1F>ePP7U*|WuTrx#ScK~ zsPWph>K{_qz~iTP_*WVSjGM9(aDuoDa0|bDIe?&NXM~R4*WuDtgndSK^NO70a@f$f z)o(fKkibNd@Lw!6Qp+7AOe8wYBPyt1UC0Ww2%YD{F2^jyy7tBh?1`h-7yWhzHN;Og zUN=es-ts;1>Z9==z&@J5=15?`}HP-p;bxY_z7Eu-mGk z5>(UJr8_Os-~_*opIcls=S0Dg=%Pqj+nj3!v!Y2#!2(XD;hK`C=OL_CK6$E8HhT;b z)D5U{`y<812%ZQ^VTgl%1dYnNB?RX$GQfY|+DW4;)%6M(w{+MosfO50B2rSbJZt-Q zQaW8#osvj?waK>6WbC>hsb8%uxcnZlgqp(;aaj#kS@Gj6q|xX>F%%4}GDo$6qT%s! zjFwVpu-#iUH1)6|UJe|}5BhrhfO{!YB`nIdd5&2^-@QYfDSZdnMJ?vjmSntfU4G_@ zh7Rd=-y=v8)cfj40c-&1BC|nZ(7#7Z{teva%=)zKa8Eg6y+GD06;hCJM+QirfRztjPABo}RbYZzq(x z)(7OWg?cX2Xfpukt>$1EwSK9ZJppM_u$F@k;fz+FF{(lJl?5+bv&irQmordm2LH+| z_1r}O-;fker>V5__)|VSR%u_DC<4qI2zWa#=kuljXbD%zE*L3)ggv$#NF%oa2A`AG zHW*Fn|#yQR4qcDwAkN*9RP zz(h4kKbUbfag}G?^yC@!67vO&3ibiCW*6s)$;k*R(cdd8)(Z(MsF_b!Rq6%?239Ak zqXid}-KS{0Fc#Q(c|UmMCNDAmRaHytU6AV^ zCA<6fYK{MSJ>umXdD1aZ6oY+FR!h6B^cqOEgOp%Y0s3)A0ud1rr1e2~fha}T8;*PT zAd_J7c7JE*1Ps%Wxdxk2ZdxO7zzq!o9`o*f6JnsaH#>;Nj!qNm5aWWi-?e8ngUn97 zA)F(`j4AghtcND3toLwvqJr^LByH>wf1dA{Z2+k8YIWDqWLAC zK7xAC>G*JVP8WEzF-;3AqEps^NPP>I5}#`o5Dh5$$48N^u1G=swmAwoprwTRp1Q9{ z1f4^|p(^h~u<4v!g&3_nBqStgYta7n(B&I&2WC9vjUfL?LP7$TCNocba^AwCMybj}`@m&a)+Cqn$C8a~J{w=Bo_h$DZ_?-lDhSgkF3!ueZoHnPlk&^)m=7 zfU z#V1H{>UQBXI2K@inhyf=B>nMcF6z8A)26rcC={<{pX52l{_5y9Afj^if?f;AifsS5 zZO`dVpPS1@1d1aBWsfYSRGxw{u)hl_3l8`FPy*nw(SSM5xlCU4kdyRKohJ2xvmCzOt@MJ&hxR@PX_W zep$NQ>dSB{zN5dF_9Vu*HT))So@(|^sv^t}d>mSgKyDCPB0!9Q{R%=l#Ej5V>UB3> zv@2d$C$h%|wk5u2So#-;I8M~M7Yj~E16haXHz z{}M?j13yz_PtVS72W*Z~$ff9rJ-&{HAVoVwi#sv;*Qb1w_9*&hL_fe@w7$yvN~FNJ zYg2-1@rvgJGRC2Mjxevy@tzRxEk#%(=;?BDKcU}h<0A;He(}{ zHw(Are(rnmvb$nHq{mUUy+$J)^1tcPsZcR(r|TyTe}Qc|>Af%cHBzGkbGy3r+sjLk zB)HD*bhtGSk`{g~>CKz%^)xfu3;|!z<-2$N1q&-HD>wHRG>z3TQ6w?`jJBbZj-IJ$ zR^yYY;d~vL%MUsNY~|(UtwFIkyYPuA2Mi1#v7-}NDHM61P=ETm?#i}DfJr}A~PGi8VYglHkx)5v{z_tretRbQTn$aWx;q1ZR@RM-&(6!|36c4A93iS+tI5Rc$jC@Lw5fv^eA<3P2u`Dsjdl3;X)62a@HUTi$7IygIJ zWo2*;fXrYX3ZlQ^2b}LoNl2cpFa$x8V{Ad(i!(4ZR9;t?BF^JSbMwgfI8kWF{1#Ae zP@oq8QNyQ!BL>GBcm$LgA>f%%hyrnMHm&X{(mr7;*S3B7l(>{IdwdCi74TvN6o$As z4L!Y6AjRkzm8q}C(NDxIhw^SxzRMD$fgIZ3U1ufrxB5hDYypnN_a25q4+c9qPJ~Fo zcm8ZJO#~&V`2FcAwyQ8%oJd)PK!2{RG^lnm&2MkHtBa2A;N0@0Tu69hhv*sG((41N z78EZWj{=6yM|wS&+Af%w15PQO>M|%1i{*6K1bF5^1uQwqVWY7ClR(#;E9UiAvQ2hb zA{z_ZApo^KA7}73Fc7Sd6~H)&kTl#D`Oq;B%V_#`agZA(%QhghyTSm1EQ}!%K~Ov~ zQAbM)fk1eIW&~{Ew}1Z$AgzHK;ihs0i#OS9p>E5)w~ki7$B&F?zPA3m|Il0KS@u)t z=6BN>qubFXL#jiP@_kGU3Ah%UcOkfFZl3qT3_E(^k99t%!#NEdpvwSunb44UntuQh z|7S`{;l(j=F)_@8$&)03=NmfmYnj^v;7@{hC(F)n`in`VJk!eC z>YjGHjnb>c(kPgZz~4Q90LH{u?_onj&@9a!qa0C=KY#plhkU5ewF^k9vnD2p3~-Q8N3F_X|4J6B5lcb$2G;i+(N29fmk*I zBN0ivxD)~#;1$sQC@+);aV_&a_6T;=yWK4l$HK3BW8fV4`1riTf|(dlYOF>}=vzr3 zG=e@+RrZyFimS zl1^34PP%WaEhiV!7|s{AJl)_gAt8}Z7g7Anqo{ckb{Sy4f${P2F@o&ZzkS+8tcUV8 zHXO`E#dvt&vQv&yNpx`jY7%!*jy%E2kvuTz(h3trkf;ua)_HosEn7rBlQKs5u1@f` zj~JgCrSOChDXV^k-Q>?C8xWJO;!*5|LEuvm4AE-nN!uEs-lFU_v@ys!!h6Ia(34z2 zQ%?p|(@hpiS;{t470IBw`bB2nyM z-T- zsD*c1jgK7`5^B%o8x%`ROKrZ{z?lLA1Hnx{L+4`oP+&j8fBJk*e~Si^^$ZMVP+TW6 zXeiR6TYS{p>7W)v+!08!H4Hszy*fNRgn>?5xVk#ph1uB>|MN4LlDM^!8^US$?L}th zU1Q&bQCe^BV|KloJl$$;78Ywr8m_Ia`3%FrjR&NxAa8+*iRoY8OFkD1Lq{e++%zjFw=JT7*M1CR;y)Al4E?RB0B3jh7sKz6^=OCZvAq&HZa&ksp zH+jt79p+{+<-ithzNDLewb`U4WmnahCTH$}Wsz#*URkyV0+5 zcn+-m=<9thK_MY_&7xl*U9Lt5H=AsZmBh!Tz(r40InpsRTb&$i!XVXZa5v#~OMM&* zmpMtuBOrLnweuCMO_&T>;LHQ~Z9_HM3ppm- zHw!OgLcy{s*XCdT{rhKBD`e>lj`JbMu*b`D3cDMUqXUX=YZHgi?mp$`K)x9|=jP@n zh~OZsDtURqFq0t9i_%hO5Hp0_Rs~?Ruc(N#J~amBT+p`%Vo2ywQ&ZJy-6;q>gYXd! zDikFNn>)Kx+P8pwWg zYwP0tJi+3Iint1qh~9tV|YY zC)K<$Lt5nnXmBtIceU40f@(NWq|1?|ZSE+bYpyT5ZBW~#&4e5F?B&asp%H;sOHG{$ z-ofF~(KTXfnh=6sRUIqSk2eZyaVc+ql_v}{!K)+*jYCiOa9ksnQcMv+%wc7zGb+(Z z86p3j1xTuLS&p)U7YwtDHz))gU<<;+g4A4A zS2qEu2;dl`u;`@Ufny!WZUXsN1%-EZeUJn_Gq&TQ1P6oai76XF+D5vV$T5k|1GY>5*K0w4DkmBOvqK3Mp#iVZ}u?`0!)x2%)8`f4;_y-oJAzFY;5>~@m-1vuO z>V)DGO!@~+U#Z9*)7NWiGq^w;6ecN__*s2@eGvxFakBW{) zP!?2IRl#sW#>M|UIidSDJ3Kex6^v7F)It9FlCu*S9~QCyeUbt`bv@$6ViQCfV7~Il zYR48hBZmm(2dYl11SjG ztW4eH-#?Clk>Xszn=XVw1~3(d9s$6or_%yDPSRnrAON>oega7%u`E~5o|M?OhPn+R?zWjebjDfMqluvo#7kWr{ zDEz-Gx1k2?88)DfFeygVYy1DVX#YpMtmpy^+_-9@Un9_?^C`*x*=(GlePjRH_(U*G z48UL9dk<#Ozd+@N48`DJIfODGi;JN1k+#8v_J&#^Ye2O zoch;kkcVP}e)o6~S*!qe?W{wBsob*vN6jYJWoLsOm@5?!7KY&+z#IUbra)BSC3S+) zIT&hVkeLGk3yQ#xGstR#2nUq9gmypFam+$9fx5^ME{+pFSM` zhIAbpPO}{dt57q*9)lTG`IBMQc2guwPQpV2mZojT%CsOaHqH0%Z-4G1{_v=Px);p3?W2?7L?yhH_A+4i>OcTiv&fwI5z`V{O8SeRi&?8}$Irl|n5d+p7uD`=7pFdt|$_yuaj zrko7$V2wdO`7+QxVL}HsM7dux^eIq4KxkE4(T|VT#fCZ0cW1pY*I!eb4Gm5yS?HO+ z|KB42t>Rxr^&2N3f4FF_MFBxU*q@N|T>}`ID(Gwm!A>a^h+$P%S3@WR`5q=07wgl2 z2rnhj16yNwl9ETg0I|m!v#T;Ptw0g$_r|P$sE>ft274dvx&i^xsj%tA+W@g1Aa73t ze02!(Ot6oaF2g)4Tpz?p=3pgxxVcC6o03p{?#Fw!HGC56aU9xZ7O;h3j2#FJ2)BP= zM)J7i?{eR9{MXSf7KJn)r2XN#V`5;^ECu%1{exNme26OBPgHH9+KIxX;Sm@vG-cpK z=rO$Vg3-pt=kP!ny&4y^H@8^`L#&hQ5FWZ|6Kj~>+F0Nk`Xm0mZVeuTzTe?ITooWl zbOJgh;$QtrC-9%Y;CI7WxlKit0yA<*cUM>6?N0ty7-a{pXDSLG1)aZwXh-}UK8&XT zq3%lH>-c5SO*&j*t24R&>ea=5btmZRu!#_7e^970pF<}=s;7n^(SkU0f|X18G!3aLf63oCmZ)M;_2s+L-1LccL zPPQ%fxZO&TnPB|-TH42thL9a`iGHoXa176uN#M0ir&h>P1@Scqec`+i-ie+)7Kfwn z+5qR}kR^|#5LE-ya+a3&q*TDKga^m`odFN9bAU?^4-Y5h{`Aid5cuc7y PTIql8 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-cummean.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-cummean.png new file mode 100644 index 0000000000000000000000000000000000000000..a4d35bbb66bd5c9b14d42b08fb0dbf95aa85a797 GIT binary patch literal 129141 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-facetDensity.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-facetDensity.png new file mode 100644 index 0000000000000000000000000000000000000000..229144577884a7a2698883047bfb9a030a84f531 GIT binary patch literal 31052 zcmeFZcT`hbw>OM(lyek8j|D?jIf{xD2^}FvQ4nb&y@ZHB=)FV;Br1oXARr>WNk@7Q zEr1}s_ZEnBLJ2hqHFdH#ZLt4=*n-A0OY9D_5>wy?X81HGY2nKmPdR z`t|EKZrl(M5V(2s=B-<|Zr{EwC@6U6&K)5kAz@)*5fKqlQPI11?}~|ufx%#Lad8O= z2}wywDJdywX=xc58Ch9bIXSs|_wLEd%PS}-Kp>Dm|NQg*{re9dJWy0reE9I;qeqXF zl$4Z}l^;KTtfHdw{TU%R4M@LszS5Hq* zUtizAz`)SZ(8$Qh*x1;_!~_b3nwpxzV6f-UpPQMPy?F7$+}zy4!ot$h5)Ox3Sy@?I zTie*!*xK6K+1c6K+dDWoI668yIXO8yJG;2JxVpN!xw*N!yL)(eczSvw5QvvAUwV0Y zd3$>!kw_mOA75Wz6bgk#qhGyx_4@VeH*enf`T70z*I)kr{um4D$jGRusOaeEn3$N@*x0zZ zxcK<^goK2|#Kfeeq|cu}CnqPTq@<*#rlzH(rKhK7WMpJ!W@cq&efjbwJ3BikCnq;I zH!m+QKR>^qprEj@u&Ai0xVX5aq@=X8w5+VGyu2KX#a2{QR9042RaI42SJ%|k;BdIw z+SD2Kx390SzrTNAU|?`?aA;^~czAeZWMp)7bZl&Fe0+RjVgirHPfkuwO-&I9gzw+K zPft(J%*@Qr&d$xv&Cky-EG#T8E-o!C5sAd*<>i%?mDSbNwY4=8iL}1HzOk{fxw*Nu zwY9yyy|c4JCX*=?3YALT-QC^W+uPsYKR7rzJUl!)I-=2NbUJ;e5b6uWz;Div4c(ZS zg!vhN$6lsGJeioTFsVGeuk$i~b@Dg71GxsW;j3|7=dInihpf%F;FOPZw;ivVFU8W^ z=C6IjRbs2EB0k-C$jSN$(|Y#V)rU9z#kDduOti%&PsX;C(2+-!ieXda+WJ(_c6?$9 zvJQrmMbatbcDqL?yS$zf3a9NErdNHo)E!nPCc$4~jxoLc0AhOe>%a4&Vo^*n&t?c| zzpN|S1z(eDoa*-9Gv;u!pb2dp#-(QMNiA+Wg)9t@8o!;d^N-;YTz%h@Xk*iUx6=b& zaj;c@-tlGO-E7kqsjQZs_o_CF$#E>aHr&J=gFbzazHrl)*0l$8Q+XYXN2;r8hnQ)A z8(|^73!G&k612U^x;AyMDMy2aG_KB|s+Z6_LOZ)D^_G(YO{BxDig^Jx8!E57?3y)} zkV*?QB_9iYiKi4G2_SS_Sy2z>OE+r(cAuKmt`HXhuB}0K9NM?*oTeMx!8v5=2vOx7 z;QUFAozC-i>)IX0g-1~b8TZyDJ$T%D&n&1wYw{(n=ND-fGHR92X%aM6uwT_G7!i|f zK7F3O#&!6HsJV6mh*qRKyDoHK&)dDbMG|tG_(b1~&ERUGo7%uD_F}$B>d{H8R<_+@ zjcW%Ns2|%TIovaUh$xvlv!D+Bl=rkt*A_bw)mZBGpH0~c%oiHn3@DL&2Z~+j+z9vd zfRwK`dP&cARAW0GwDTi^N%UsAsUdv#KwDcq*K116$~IrDQP(&E3w4-oOSsijtqyIm zNBHe&b13R%jfY@`1Kv^N(7_N2_m_@jI3fh2>z+sH?`K}e{G8A~~CJFjOyfRc;zkWs549NHZgEk1^_NwCBuL;KcIixV))Cl*fx zbEq_OI795bxzkm+*J*Hoqwmwqe1zbhdo3I@KWe;Ce#=S(d{{*08b}d@D`>lggJ`8$ zLr*m6_hHk;>k#zUz-SQMT4AW^PyMRx9rgZBp_=DQh=p%}yf!hvsykqon5)<$lGLu&h2(j2RC|UL>b1!OSW!@XZ4%Rv-WT^gRU4nm1Y;9Z0jra60|)d*-&YOeDg|@UB>6|1e*ETxWX^*zF^Tq6)51YHPcMsCAph z-2r#zRNXXA&i8fJtDv|>dnfIU?3RRq1}!^WTUmoGmGeIh=PLK~nC}k(29)D+1L-y4FihLJ|WyiU4Mx3Ihpy85r#g6(mH�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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-facetTimeline.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-facetTimeline.png new file mode 100644 index 0000000000000000000000000000000000000000..53e637e81b4a130354f8afb7f71ba0ae62e64301 GIT binary patch literal 152645 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 Pu8XqW)~tM+`-%Sm@?|pn literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-facetTimelineSmooth.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-New-facetTimelineSmooth.png new file mode 100644 index 0000000000000000000000000000000000000000..2f17baaf76de7513bcbe00ad035989f85cf1da5a GIT binary patch literal 148272 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 z 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%0DA4rjJfw6m4taRO!BEC0&$6f{Y@n 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

    2. NqKZMOFiK{3H8Dt_HH~*K!JCwu`7F-ELNKBxU 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
    3. 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�r1rz+2@eGC4;j7Yfjyi%B%Wedar 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-boxplot.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-boxplot.png new file mode 100644 index 0000000000000000000000000000000000000000..2881517fc4211edf5e5e1651f3e35afc248c899c GIT binary patch literal 70393 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

      u5IpSgKL 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 + + + +Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-20250220-033611 + + + + +

      
      +BenchmarkDotNet v0.14.0, Ubuntu 24.04.1 LTS (Noble Numbat) WSL
      +AMD Ryzen 9 5950X, 1 CPU, 32 logical and 16 physical cores
      +.NET SDK 9.0.102
      +  [Host]     : .NET 9.0.1 (9.0.124.61010), X64 RyuJIT AVX2 DEBUG
      +  Job-ONJMYK : .NET 9.0.1 (9.0.124.61010), X64 RyuJIT AVX2
      +
      +
      IterationCount=10  MaxIterationCount=20  UnrollFactor=1  
      +WarmupCount=3  
      +
      + + + + + + +
      MethodMeanErrorStdDevMinMaxCode SizeGen0Gen1Allocated
      New11.23 ms0.070 ms0.046 ms11.18 ms11.32 ms226 B531.2500250.00008.5 MB
      Old30.86 ms0.469 ms0.310 ms30.50 ms31.45 ms226 B812.5000-13 MB
      + + diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-report.txt b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-report.txt new file mode 100644 index 00000000..209f3040 --- /dev/null +++ b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.AlonzoDuplicateKeyBenchmarks-report.txt @@ -0,0 +1,318 @@ +*** AlonzoDuplicateKeyBenchmarks.New: Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3) *** +* Raw * +OverheadJitting 1: 1 op, 163315.00 ns, 163.3150 us/op +WorkloadJitting 1: 1 op, 75045589.00 ns, 75.0456 ms/op +WorkloadPilot 1: 4 op, 73585733.00 ns, 18.3964 ms/op +WorkloadPilot 2: 5 op, 90344490.00 ns, 18.0689 ms/op +WorkloadPilot 3: 6 op, 122450206.00 ns, 20.4084 ms/op +WorkloadPilot 4: 7 op, 143155833.00 ns, 20.4508 ms/op +WorkloadPilot 5: 8 op, 160669090.00 ns, 20.0836 ms/op +WorkloadPilot 6: 9 op, 186772516.00 ns, 20.7525 ms/op +WorkloadPilot 7: 10 op, 203439100.00 ns, 20.3439 ms/op +WorkloadPilot 8: 11 op, 229867851.00 ns, 20.8971 ms/op +WorkloadPilot 9: 12 op, 235865663.00 ns, 19.6555 ms/op +WorkloadPilot 10: 13 op, 248795833.00 ns, 19.1381 ms/op +WorkloadPilot 11: 14 op, 240415137.00 ns, 17.1725 ms/op +WorkloadPilot 12: 15 op, 240843032.00 ns, 16.0562 ms/op +WorkloadPilot 13: 16 op, 213923108.00 ns, 13.3702 ms/op +WorkloadPilot 14: 32 op, 370358431.00 ns, 11.5737 ms/op +WorkloadPilot 15: 64 op, 715927878.00 ns, 11.1864 ms/op +OverheadWarmup 1: 64 op, 1542.00 ns, 24.0938 ns/op +OverheadWarmup 2: 64 op, 440.00 ns, 6.8750 ns/op +OverheadWarmup 3: 64 op, 421.00 ns, 6.5781 ns/op +OverheadWarmup 4: 64 op, 411.00 ns, 6.4219 ns/op +OverheadWarmup 5: 64 op, 430.00 ns, 6.7188 ns/op +OverheadWarmup 6: 64 op, 458.00 ns, 7.1563 ns/op +OverheadWarmup 7: 64 op, 402.00 ns, 6.2813 ns/op +OverheadWarmup 8: 64 op, 412.00 ns, 6.4375 ns/op +OverheadWarmup 9: 64 op, 440.00 ns, 6.8750 ns/op +OverheadWarmup 10: 64 op, 449.00 ns, 7.0156 ns/op +OverheadActual 1: 64 op, 448.00 ns, 7.0000 ns/op +OverheadActual 2: 64 op, 439.00 ns, 6.8594 ns/op +OverheadActual 3: 64 op, 552.00 ns, 8.6250 ns/op +OverheadActual 4: 64 op, 430.00 ns, 6.7188 ns/op +OverheadActual 5: 64 op, 439.00 ns, 6.8594 ns/op +OverheadActual 6: 64 op, 439.00 ns, 6.8594 ns/op +OverheadActual 7: 64 op, 1412.00 ns, 22.0625 ns/op +OverheadActual 8: 64 op, 588.00 ns, 9.1875 ns/op +OverheadActual 9: 64 op, 411.00 ns, 6.4219 ns/op +OverheadActual 10: 64 op, 402.00 ns, 6.2813 ns/op +OverheadActual 11: 64 op, 392.00 ns, 6.1250 ns/op +OverheadActual 12: 64 op, 458.00 ns, 7.1563 ns/op +OverheadActual 13: 64 op, 402.00 ns, 6.2813 ns/op +OverheadActual 14: 64 op, 420.00 ns, 6.5625 ns/op +OverheadActual 15: 64 op, 449.00 ns, 7.0156 ns/op +OverheadActual 16: 64 op, 439.00 ns, 6.8594 ns/op +OverheadActual 17: 64 op, 420.00 ns, 6.5625 ns/op +OverheadActual 18: 64 op, 421.00 ns, 6.5781 ns/op +WorkloadWarmup 1: 64 op, 728584510.00 ns, 11.3841 ms/op +WorkloadWarmup 2: 64 op, 720836671.00 ns, 11.2631 ms/op +WorkloadWarmup 3: 64 op, 729443886.00 ns, 11.3976 ms/op +WorkloadActual 1: 64 op, 717436956.00 ns, 11.2100 ms/op +WorkloadActual 2: 64 op, 722612266.00 ns, 11.2908 ms/op +WorkloadActual 3: 64 op, 724592926.00 ns, 11.3218 ms/op +WorkloadActual 4: 64 op, 720022193.00 ns, 11.2503 ms/op +WorkloadActual 5: 64 op, 716161544.00 ns, 11.1900 ms/op +WorkloadActual 6: 64 op, 717104520.00 ns, 11.2048 ms/op +WorkloadActual 7: 64 op, 718367247.00 ns, 11.2245 ms/op +WorkloadActual 8: 64 op, 715810029.00 ns, 11.1845 ms/op +WorkloadActual 9: 64 op, 716361194.00 ns, 11.1931 ms/op +WorkloadActual 10: 64 op, 720064789.00 ns, 11.2510 ms/op +WorkloadResult 1: 64 op, 717436517.00 ns, 11.2099 ms/op +WorkloadResult 2: 64 op, 722611827.00 ns, 11.2908 ms/op +WorkloadResult 3: 64 op, 724592487.00 ns, 11.3218 ms/op +WorkloadResult 4: 64 op, 720021754.00 ns, 11.2503 ms/op +WorkloadResult 5: 64 op, 716161105.00 ns, 11.1900 ms/op +WorkloadResult 6: 64 op, 717104081.00 ns, 11.2048 ms/op +WorkloadResult 7: 64 op, 718366808.00 ns, 11.2245 ms/op +WorkloadResult 8: 64 op, 715809590.00 ns, 11.1845 ms/op +WorkloadResult 9: 64 op, 716360755.00 ns, 11.1931 ms/op +WorkloadResult 10: 64 op, 720064350.00 ns, 11.2510 ms/op + +* Statistics for OverheadJitting +Mean = 163.315 μs, StdErr = 0.000 μs (0.00%), N = 1, StdDev = 0.000 μs +Min = 163.315 μs, Q1 = 163.315 μs, Median = 163.315 μs, Q3 = 163.315 μs, Max = 163.315 μs +IQR = 0.000 μs, LowerFence = 163.315 μs, UpperFence = 163.315 μs +ConfidenceInterval = [NaN μs; NaN μs] (CI 99.9%), Margin = NaN μs (NaN% of Mean) +Skewness = NaN, Kurtosis = NaN, MValue = 2 +-------------------- Histogram -------------------- +[163.315 μs ; 163.315 μs) | @ +--------------------------------------------------- + +* Statistics for WorkloadJitting +Mean = 75.046 ms, StdErr = 0.000 ms (0.00%), N = 1, StdDev = 0.000 ms +Min = 75.046 ms, Q1 = 75.046 ms, Median = 75.046 ms, Q3 = 75.046 ms, Max = 75.046 ms +IQR = 0.000 ms, LowerFence = 75.046 ms, UpperFence = 75.046 ms +ConfidenceInterval = [NaN ms; NaN ms] (CI 99.9%), Margin = NaN ms (NaN% of Mean) +Skewness = NaN, Kurtosis = NaN, MValue = 2 +-------------------- Histogram -------------------- +[75.046 ms ; 75.046 ms) | @ +--------------------------------------------------- + +* Statistics for WorkloadPilot +Mean = 17.837 ms, StdErr = 0.859 ms (4.82%), N = 15, StdDev = 3.328 ms +Min = 11.186 ms, Q1 = 16.614 ms, Median = 19.138 ms, Q3 = 20.376 ms, Max = 20.897 ms +IQR = 3.762 ms, LowerFence = 10.972 ms, UpperFence = 26.019 ms +ConfidenceInterval = [14.279 ms; 21.394 ms] (CI 99.9%), Margin = 3.558 ms (19.94% of Mean) +Skewness = -0.92, Kurtosis = 2.3, MValue = 2.2 +-------------------- Histogram -------------------- +[10.507 ms ; 14.049 ms) | @@@ +[14.049 ms ; 17.712 ms) | @@ +[17.712 ms ; 21.254 ms) | @@@@@@@@@@ +--------------------------------------------------- + +* Statistics for OverheadWarmup +Mean = 8.445 ns, StdErr = 1.741 ns (20.61%), N = 10, StdDev = 5.505 ns +Min = 6.281 ns, Q1 = 6.473 ns, Median = 6.797 ns, Q3 = 6.980 ns, Max = 24.094 ns +IQR = 0.508 ns, LowerFence = 5.711 ns, UpperFence = 7.742 ns +ConfidenceInterval = [0.122 ns; 16.769 ns] (CI 99.9%), Margin = 8.323 ns (98.56% of Mean) +Skewness = 2.27, Kurtosis = 6.54, MValue = 3.5 +-------------------- Histogram -------------------- +[ 2.927 ns ; 10.073 ns) | @@@@@@@@@ +[10.073 ns ; 16.781 ns) | +[16.781 ns ; 20.740 ns) | +[20.740 ns ; 27.448 ns) | @ +--------------------------------------------------- + +* Statistics for OverheadActual +Mean = 7.779 ns, StdErr = 0.860 ns (11.05%), N = 18, StdDev = 3.648 ns +Min = 6.125 ns, Q1 = 6.562 ns, Median = 6.859 ns, Q3 = 7.012 ns, Max = 22.062 ns +IQR = 0.449 ns, LowerFence = 5.889 ns, UpperFence = 7.686 ns +ConfidenceInterval = [4.369 ns; 11.188 ns] (CI 99.9%), Margin = 3.410 ns (43.83% of Mean) +Skewness = 3.31, Kurtosis = 13.07, MValue = 2 +-------------------- Histogram -------------------- +[ 5.829 ns ; 9.483 ns) | @@@@@@@@@@@@@@@@@ +[ 9.483 ns ; 13.138 ns) | +[13.138 ns ; 16.792 ns) | +[16.792 ns ; 20.235 ns) | +[20.235 ns ; 23.890 ns) | @ +--------------------------------------------------- + +* Statistics for WorkloadWarmup +Mean = 11.348 ms, StdErr = 0.043 ms (0.38%), N = 3, StdDev = 0.074 ms +Min = 11.263 ms, Q1 = 11.324 ms, Median = 11.384 ms, Q3 = 11.391 ms, Max = 11.398 ms +IQR = 0.067 ms, LowerFence = 11.223 ms, UpperFence = 11.492 ms +ConfidenceInterval = [9.997 ms; 12.700 ms] (CI 99.9%), Margin = 1.351 ms (11.91% of Mean) +Skewness = -0.37, Kurtosis = 0.67, MValue = 2 +-------------------- Histogram -------------------- +[11.263 ms ; 11.398 ms) | @@@ +--------------------------------------------------- + +* Statistics for WorkloadActual +Mean = 11.232 ms, StdErr = 0.015 ms (0.13%), N = 10, StdDev = 0.046 ms +Min = 11.185 ms, Q1 = 11.196 ms, Median = 11.217 ms, Q3 = 11.251 ms, Max = 11.322 ms +IQR = 0.055 ms, LowerFence = 11.114 ms, UpperFence = 11.333 ms +ConfidenceInterval = [11.163 ms; 11.302 ms] (CI 99.9%), Margin = 0.070 ms (0.62% of Mean) +Skewness = 0.68, Kurtosis = 1.97, MValue = 2 +-------------------- Histogram -------------------- +[11.157 ms ; 11.350 ms) | @@@@@@@@@@ +--------------------------------------------------- + +* Statistics for WorkloadResult +Mean = 11.232 ms, StdErr = 0.015 ms (0.13%), N = 10, StdDev = 0.046 ms +Min = 11.185 ms, Q1 = 11.196 ms, Median = 11.217 ms, Q3 = 11.251 ms, Max = 11.322 ms +IQR = 0.055 ms, LowerFence = 11.114 ms, UpperFence = 11.333 ms +ConfidenceInterval = [11.163 ms; 11.302 ms] (CI 99.9%), Margin = 0.070 ms (0.62% of Mean) +Skewness = 0.68, Kurtosis = 1.97, MValue = 2 +-------------------- Histogram -------------------- +[11.157 ms ; 11.350 ms) | @@@@@@@@@@ +--------------------------------------------------- +*** AlonzoDuplicateKeyBenchmarks.Old: Job-ONJMYK(IterationCount=10, MaxIterationCount=20, UnrollFactor=1, WarmupCount=3) *** +* Raw * +OverheadJitting 1: 1 op, 163026.00 ns, 163.0260 us/op +WorkloadJitting 1: 1 op, 344338888.00 ns, 344.3389 ms/op +WorkloadPilot 1: 4 op, 178830641.00 ns, 44.7077 ms/op +WorkloadPilot 2: 5 op, 229970002.00 ns, 45.9940 ms/op +WorkloadPilot 3: 6 op, 300778387.00 ns, 50.1297 ms/op +WorkloadPilot 4: 7 op, 330568003.00 ns, 47.2240 ms/op +WorkloadPilot 5: 8 op, 377093580.00 ns, 47.1367 ms/op +WorkloadPilot 6: 9 op, 415616243.00 ns, 46.1796 ms/op +WorkloadPilot 7: 10 op, 454481132.00 ns, 45.4481 ms/op +WorkloadPilot 8: 11 op, 444894899.00 ns, 40.4450 ms/op +WorkloadPilot 9: 12 op, 405568943.00 ns, 33.7974 ms/op +WorkloadPilot 10: 13 op, 413822005.00 ns, 31.8325 ms/op +WorkloadPilot 11: 14 op, 435045945.00 ns, 31.0747 ms/op +WorkloadPilot 12: 15 op, 458891076.00 ns, 30.5927 ms/op +WorkloadPilot 13: 16 op, 487642766.00 ns, 30.4777 ms/op +WorkloadPilot 14: 32 op, 993491175.00 ns, 31.0466 ms/op +OverheadWarmup 1: 32 op, 2212.00 ns, 69.1250 ns/op +OverheadWarmup 2: 32 op, 427.00 ns, 13.3438 ns/op +OverheadWarmup 3: 32 op, 390.00 ns, 12.1875 ns/op +OverheadWarmup 4: 32 op, 363.00 ns, 11.3438 ns/op +OverheadWarmup 5: 32 op, 437.00 ns, 13.6563 ns/op +OverheadWarmup 6: 32 op, 400.00 ns, 12.5000 ns/op +OverheadWarmup 7: 32 op, 437.00 ns, 13.6563 ns/op +OverheadWarmup 8: 32 op, 390.00 ns, 12.1875 ns/op +OverheadActual 1: 32 op, 428.00 ns, 13.3750 ns/op +OverheadActual 2: 32 op, 400.00 ns, 12.5000 ns/op +OverheadActual 3: 32 op, 409.00 ns, 12.7813 ns/op +OverheadActual 4: 32 op, 455.00 ns, 14.2188 ns/op +OverheadActual 5: 32 op, 428.00 ns, 13.3750 ns/op +OverheadActual 6: 32 op, 372.00 ns, 11.6250 ns/op +OverheadActual 7: 32 op, 799.00 ns, 24.9688 ns/op +OverheadActual 8: 32 op, 418.00 ns, 13.0625 ns/op +OverheadActual 9: 32 op, 1841.00 ns, 57.5313 ns/op +OverheadActual 10: 32 op, 613.00 ns, 19.1563 ns/op +OverheadActual 11: 32 op, 325.00 ns, 10.1563 ns/op +OverheadActual 12: 32 op, 381.00 ns, 11.9063 ns/op +OverheadActual 13: 32 op, 418.00 ns, 13.0625 ns/op +OverheadActual 14: 32 op, 437.00 ns, 13.6563 ns/op +OverheadActual 15: 32 op, 353.00 ns, 11.0313 ns/op +OverheadActual 16: 32 op, 419.00 ns, 13.0938 ns/op +OverheadActual 17: 32 op, 353.00 ns, 11.0313 ns/op +OverheadActual 18: 32 op, 419.00 ns, 13.0938 ns/op +OverheadActual 19: 32 op, 381.00 ns, 11.9063 ns/op +OverheadActual 20: 32 op, 456.00 ns, 14.2500 ns/op +WorkloadWarmup 1: 32 op, 996557844.00 ns, 31.1424 ms/op +WorkloadWarmup 2: 32 op, 992011391.00 ns, 31.0004 ms/op +WorkloadWarmup 3: 32 op, 989977628.00 ns, 30.9368 ms/op +WorkloadActual 1: 32 op, 981453849.00 ns, 30.6704 ms/op +WorkloadActual 2: 32 op, 994001899.00 ns, 31.0626 ms/op +WorkloadActual 3: 32 op, 976046384.00 ns, 30.5014 ms/op +WorkloadActual 4: 32 op, 981320301.00 ns, 30.6663 ms/op +WorkloadActual 5: 32 op, 983741536.00 ns, 30.7419 ms/op +WorkloadActual 6: 32 op, 983681285.00 ns, 30.7400 ms/op +WorkloadActual 7: 32 op, 985411541.00 ns, 30.7941 ms/op +WorkloadActual 8: 32 op, 982001227.00 ns, 30.6875 ms/op +WorkloadActual 9: 32 op, 1006290051.00 ns, 31.4466 ms/op +WorkloadActual 10: 32 op, 1002454841.00 ns, 31.3267 ms/op +WorkloadResult 1: 32 op, 981453430.50 ns, 30.6704 ms/op +WorkloadResult 2: 32 op, 994001480.50 ns, 31.0625 ms/op +WorkloadResult 3: 32 op, 976045965.50 ns, 30.5014 ms/op +WorkloadResult 4: 32 op, 981319882.50 ns, 30.6662 ms/op +WorkloadResult 5: 32 op, 983741117.50 ns, 30.7419 ms/op +WorkloadResult 6: 32 op, 983680866.50 ns, 30.7400 ms/op +WorkloadResult 7: 32 op, 985411122.50 ns, 30.7941 ms/op +WorkloadResult 8: 32 op, 982000808.50 ns, 30.6875 ms/op +WorkloadResult 9: 32 op, 1006289632.50 ns, 31.4466 ms/op +WorkloadResult 10: 32 op, 1002454422.50 ns, 31.3267 ms/op + +* Statistics for OverheadJitting +Mean = 163.026 μs, StdErr = 0.000 μs (0.00%), N = 1, StdDev = 0.000 μs +Min = 163.026 μs, Q1 = 163.026 μs, Median = 163.026 μs, Q3 = 163.026 μs, Max = 163.026 μs +IQR = 0.000 μs, LowerFence = 163.026 μs, UpperFence = 163.026 μs +ConfidenceInterval = [NaN μs; NaN μs] (CI 99.9%), Margin = NaN μs (NaN% of Mean) +Skewness = NaN, Kurtosis = NaN, MValue = 2 +-------------------- Histogram -------------------- +[163.025 μs ; 163.026 μs) | @ +--------------------------------------------------- + +* Statistics for WorkloadJitting +Mean = 344.339 ms, StdErr = 0.000 ms (0.00%), N = 1, StdDev = 0.000 ms +Min = 344.339 ms, Q1 = 344.339 ms, Median = 344.339 ms, Q3 = 344.339 ms, Max = 344.339 ms +IQR = 0.000 ms, LowerFence = 344.339 ms, UpperFence = 344.339 ms +ConfidenceInterval = [NaN ms; NaN ms] (CI 99.9%), Margin = NaN ms (NaN% of Mean) +Skewness = NaN, Kurtosis = NaN, MValue = 2 +-------------------- Histogram -------------------- +[344.339 ms ; 344.339 ms) | @ +--------------------------------------------------- + +* Statistics for WorkloadPilot +Mean = 39.720 ms, StdErr = 2.064 ms (5.20%), N = 14, StdDev = 7.721 ms +Min = 30.478 ms, Q1 = 31.264 ms, Median = 42.576 ms, Q3 = 46.133 ms, Max = 50.130 ms +IQR = 14.869 ms, LowerFence = 8.961 ms, UpperFence = 68.437 ms +ConfidenceInterval = [31.011 ms; 48.430 ms] (CI 99.9%), Margin = 8.710 ms (21.93% of Mean) +Skewness = -0.12, Kurtosis = 1.08, MValue = 3.43 +-------------------- Histogram -------------------- +[27.933 ms ; 36.342 ms) | @@@@@@ +[36.342 ms ; 43.214 ms) | @ +[43.214 ms ; 51.623 ms) | @@@@@@@ +--------------------------------------------------- + +* Statistics for OverheadWarmup +Mean = 19.750 ns, StdErr = 7.059 ns (35.74%), N = 8, StdDev = 19.967 ns +Min = 11.344 ns, Q1 = 12.188 ns, Median = 12.922 ns, Q3 = 13.656 ns, Max = 69.125 ns +IQR = 1.469 ns, LowerFence = 9.984 ns, UpperFence = 15.859 ns +ConfidenceInterval = [-18.427 ns; 57.927 ns] (CI 99.9%), Margin = 38.177 ns (193.30% of Mean) +Skewness = 1.85, Kurtosis = 4.69, MValue = 2 +-------------------- Histogram -------------------- +[-1.760 ns ; 25.603 ns) | @@@@@@@ +[25.603 ns ; 56.022 ns) | +[56.022 ns ; 82.229 ns) | @ +--------------------------------------------------- + +* Statistics for OverheadActual +Mean = 15.789 ns, StdErr = 2.313 ns (14.65%), N = 20, StdDev = 10.344 ns +Min = 10.156 ns, Q1 = 11.906 ns, Median = 13.078 ns, Q3 = 13.797 ns, Max = 57.531 ns +IQR = 1.891 ns, LowerFence = 9.070 ns, UpperFence = 16.633 ns +ConfidenceInterval = [6.807 ns; 24.771 ns] (CI 99.9%), Margin = 8.982 ns (56.89% of Mean) +Skewness = 3.29, Kurtosis = 13.31, MValue = 3.11 +-------------------- Histogram -------------------- +[ 9.655 ns ; 19.658 ns) | @@@@@@@@@@@@@@@@@@ +[19.658 ns ; 29.970 ns) | @ +[29.970 ns ; 39.973 ns) | +[39.973 ns ; 52.530 ns) | +[52.530 ns ; 62.533 ns) | @ +--------------------------------------------------- + +* Statistics for WorkloadWarmup +Mean = 31.027 ms, StdErr = 0.061 ms (0.20%), N = 3, StdDev = 0.105 ms +Min = 30.937 ms, Q1 = 30.969 ms, Median = 31.000 ms, Q3 = 31.071 ms, Max = 31.142 ms +IQR = 0.103 ms, LowerFence = 30.814 ms, UpperFence = 31.226 ms +ConfidenceInterval = [29.106 ms; 32.947 ms] (CI 99.9%), Margin = 1.921 ms (6.19% of Mean) +Skewness = 0.23, Kurtosis = 0.67, MValue = 2 +-------------------- Histogram -------------------- +[30.841 ms ; 31.238 ms) | @@@ +--------------------------------------------------- + +* Statistics for WorkloadActual +Mean = 30.864 ms, StdErr = 0.098 ms (0.32%), N = 10, StdDev = 0.310 ms +Min = 30.501 ms, Q1 = 30.675 ms, Median = 30.741 ms, Q3 = 30.995 ms, Max = 31.447 ms +IQR = 0.321 ms, LowerFence = 30.194 ms, UpperFence = 31.477 ms +ConfidenceInterval = [30.394 ms; 31.333 ms] (CI 99.9%), Margin = 0.469 ms (1.52% of Mean) +Skewness = 0.78, Kurtosis = 1.99, MValue = 2 +-------------------- Histogram -------------------- +[30.312 ms ; 30.954 ms) | @@@@@@@ +[30.954 ms ; 31.636 ms) | @@@ +--------------------------------------------------- + +* Statistics for WorkloadResult +Mean = 30.864 ms, StdErr = 0.098 ms (0.32%), N = 10, StdDev = 0.310 ms +Min = 30.501 ms, Q1 = 30.675 ms, Median = 30.741 ms, Q3 = 30.995 ms, Max = 31.447 ms +IQR = 0.321 ms, LowerFence = 30.194 ms, UpperFence = 31.477 ms +ConfidenceInterval = [30.394 ms; 31.333 ms] (CI 99.9%), Margin = 0.469 ms (1.52% of Mean) +Skewness = 0.78, Kurtosis = 1.99, MValue = 2 +-------------------- Histogram -------------------- +[30.312 ms ; 30.954 ms) | @@@@@@@ +[30.954 ms ; 31.636 ms) | @@@ +--------------------------------------------------- diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-Job-BZGSBA-cummean.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-Job-BZGSBA-cummean.png new file mode 100644 index 0000000000000000000000000000000000000000..d74eb2d49af63c7c28787935e7dac03667f954c8 GIT binary patch literal 112050 zcmdqJWmJ`K^frhIiVBK!3eqLrASx)SfOJWBNw5+93`xVgKg7-udCyNa#nKd*V;>sIFpC zkcotl6MUkgk=^UZDu^nIb4brHSTx|lAk;qbi=)AL>_@InOOE$M%md{;%B9f9P9v$uw{ie=ox)8ynaE{qPPQE&9g4AHEQ? zV*UI6F`q8gzwh7K{gnLoJ<8gr=>PeC^a0zYe?JsI)klu^&t>S{arNK#zwZ2R@&P|C zZ0>c&aO~JyPe<(T+AQNb?Jmh^V%L1SOM%8h)LZ9cal6f`_$oyW$H!0<{`P5x8+8&z zLYSwNm-#Uf?{#+VuV99MQ!sIJJD+Lr_V@Fnqo+49F-b{D!TNLY*{<|g+FMj7q~bCe zHlqC<{x3XMEX#&yHiMe;<5j)(NVBP$>cYap0_}o=f-Bc=;c=P{cXCaQf44TcO^9}g z&vNgTerL?yj5jGAtr0uH>~G{XT51-XkT6+hF|{?@Qf5A(vW9bc^E%6&A6LY^f_(m5 z85tQ0IVzNtlyDEUjEp(<8*J$478xHquHNTy*qoMNt}b@i z`t9ZAMTM@YppdIs>vnd$_fqI=_h$&jM$O6kYF@2|hv;RuX8~6^ibm8FkeA)=QjghK z>5UI>*a@Bo5^&hBk6*fS{jky&rAj2=ilv0>pG!nU#L8-`#`OfzzUSoXv~+X?yf#bd%vIC#!v(ghgY8U}2pHnNe8W2w;ed~v z*#pPxl^fD=+y%M0T~lV4rkxwPQM!GS%V8~&o_b5i^OlsC4^MSo!X*D3P4>~sp@BAG z;iD)quZ`i{&ybcNV(Zhq@bGY7ENTt6qxsCt%(bzyU_ZZmA_ZAlS^4>osHqLwBN?+5 za_ATs!gIAtR9?pOrpb@pC0giC)YQ;0zxW&;KG)Lh@DA?=Q;up`&Bggi{JEl;nVE=4 zQ=JDYET+1wEcwY4hshxS{;p%MSXo(ttuosZOv-Kf zm{%|2c)Ojs%ygvCX1VvlQ?HCEB^qpm0e;=2+wdbcVYJyzuWp}rZ0XYRE5DLFW-qa6 zH~MtOa&djH7%-kFHtIXvnziMPcbz!eS>$76m~eac>|>t&wU~;zP>EE{r4WkerxWBQ zm=y0f_Qx!u?9}r#s$pQ67)re{Z| zz4GSGn~>;qbaYfpj3Xi=?OG|LUXcFUz%uAg=gEr;*6!}^wl+FCx~$yXpnw3xaDfhFs|vfd6}>RiXEGhF zt*u>MrDjua9yPYK*f00a_ewC!FWb6Yy5|ei?6gsRkSgKl?_X)N{JZX}Bvs#JwKE0@ zzr#v@W=u@X=g*%9A>ho$?0&qv6cQ35XuLtHtE0a1p~;+ zqLaA~GXd#dPEO8wcj+z`)~qXb%ZfdaSDtczAdyDfQsYnU7E; zaov?!u2
      oS$^wh)~DR`k2+=Gg_Uqg_lvcMbvK~W{iHC$LHXUo7f?F`gS+Vi8D(| zBxY~y{OqKtuuwXIf8^IMOe`$O58hDhIF7}C@vEro{GPz0nyk7+=>GP13|ofLIzCWgcKhOMXSB>FFQugR~sG1rB_YKgY*2 zs^j6{D5$9+>Jqx5*`8O#7wEK9(72qR9$lO+3Pq{gMX%P8Q&H(3Zq9TIo|xL%m4 za^6QAL6+fSXLnGuP*4~|j1<9LjwlIfx@m_}#BD5md>)8xczJJ5C+Fb%C=V}*U*`24z<&rSxkrX0|~h}OFIz=MD6K3 zv-F}5%-013e^z#OMAQ5O_}eBL)Mx{mXT(5D_vdq8vDhb}$JS zP!Fpz4I!EfqZ9il?5E7=shrcd+L>z+>*g_%UpdW2UvL#dd1=1MtWul-d0T3|CSdh} z!_GoygExl#>dm{=8bXjjpjOdONy)Qe8Qb_*UZxi1w3r-+okC?V#K_3V#@07M(48RQ z+$Y6FE1A^N(o(zA#ix)x5IZ4*=WD+8c6)a@J+UojM&XV={NZZn1BKrAAINS&{0`-+ z-z-BEU%?KFhWwhXm}i$wY6{!p?Q&Wa-8iu@CKLiGu8GuUCI=zJ;@n(0_b`IQWmDL{ ziF_iaRrh#N=wf7!W;9bS9afsgG>Ma??t9hBVC-=UNe;br3-+T(Xw znC{J9BAR{wCzB$qd{a$tq%&EgVxI4`T6zd_HRvhwYSS{m$ft-vP0JFFY<#y-owRR)Sk7UbWAs!xHvzk z?VX>fv{yXm`_@@DX)^$!j@mGZSw^e}2jCm^S8d1Y<1 zM6Nt}z&M`IKDV+=6fTG`wbp%NzF#>kYzzztsAw{i7&!iVU2!}l+(edn+%fth=Khr;?i68NA`W=tvqarMXczK;*0TcA7`hygxCZ$=n_Ujr|9S8A}a&$kSQIArnL6@bdGc881Tf zpFe-%J$mzQRzQT|!EVm_@sBy3T`;Pg*pPK#w(ge1f=) zyoYg8G6Cwi9v9EqJhQt@A#xcxOd|Wvef|9D17*I9l2 zlaW0eXtGxOGv$npjdkpMm^7+}OEV$R#G_ViDj*d>ACdCZ`;KTzSee~z0`?bTmsMj! zlm{^quEm>D;&VtzD8a1`}$(nCGq7*f-@;D+vTzC8;1r&07oKKu3AU?IDX^N~psgn~#fDtlU5 zS~awMP}}zQ_L6Bh+1ZI;eWBNL0hoozzBt=(k22Q+jL~+m1(>E+_1d0Ob>ESmynF;h zJ`^|}i^(cL^L!JgT3R!|oBY$IV)ZL?pK0lnb8zf!wU9#3<|-!Ut5X1|s%+AUo`XYv zut6?eTD~ydxZ}J08cx~OCjlS5z0=dv$AqL~*q5U;-9m884GonFv^{5Yg48SRaxycm z)McQ}fS}i-FEt)m$tjx*C1!+*8!g~ms*`n*nV#_0#Gc>h**t#&zcNE)ta*i4sflWt zxqRU|%$F`bL1440MYS#L!NRfB?VTMY7Ket%Xa+)pinN?|_3`rO=#Y>C(-GF?&&mo4 z`%rOtCauQ^(f zisclm4e#jaSnf-2H#UL{r>;IxdvRuQ5(;UNK`DQFt~IQe_+r`vgGdwY0vc$}ktb%N z`pQBMI5vfW5#%-`Z8g z^Dodk!&@5JLMZE#FLj0TPk(;lyclm!Ku>h2Y5(&UGfB5(@dbU#%72^c=;#PGeOQh& zEG{&#@^)4Y(3euhC#%_w==I8n>r%1%K&Bzb+7MEl%l74pzHzFxKK{MXLw~+4f}npD zFZu&nV{>z^QbBToJhG0z`GI2O=u!7eH?r4Agg1U2x&Ya?N%q3R?|1EoeSFZ;-K*n5 zr7l4uK3_ZxOH0c*2qD%?CC`eDjg71cLpiF8$sN|+0$jE$uRVjuvh(uX=R%(Ax~9#2 z5B#@7UI#4MRCuD}a+Zp_x}KSpO;D-M!wT7|hahkygfYD^NZkMwHMixdmN9X1DyU4p zd1N|P+F67w&uxyJj-%hL)6ZUhi?27~1$6Zw_LlA1C=oWt8T7 z#LGL{lx+ed8>)48H*!qr0R&Dvgq@>YBpT@g@aFJvHaNCQa#)wu^>nL+iHb|wUbslB zR>U7i=;G8`C%X#rQ{nc-@lb7YN{ZP9a1@nh=`BG)q(YOxohi3U`VqjWQ4pvmS^ zP+HS^HZZwAi?_7Cg&3q2+f1PR-oCZ}p*4(}i*o_BX^5Dh!Jmr_>*73O>*&wA|FTfX zmftUwg-#0)YNgUV4A;gfRzEEIhFNliZy7O`1?|Qkw1wJYqhMuKaD9)LWaRGMyO1ty zss{lFA)Xg?LK^yQF7koQWwQ>oEjA`3H8=Ry2x0=!cG(4vr`a2(QV5Mf`-SVohuWxQ66?9Ru)0hDA zh|2w?TA6t~q9>85t63cpq#Ba($#lCP65&yx19XXtusS-;0kC~}O4njca%Hw}-i9f3 z?zI8VsVhNXY|d|FWTfyU9I)4Fa+MBxLqkJsmDv%b^FkF3*FAaMc|rmLU0jc6&!1b2 zmlw27$kbcmvJ>tDLw2w+wc*6LtVbn#Fm4^ZiVeGyS~ab85!Z-~m2ZOB-a~rdl?Nvy zJKMTS;Al|QV$ZBu#t$!wym`%8IAH9mbO37Cv##dF=o>Qkk>zGWUnjVG@C}|!UfCJ< zbtg;yN?Y-JRR&__Bjr{pv#HeuLhg0jwy1}j$@?A8c2_m=6B7fCl|!zdl{)Pij|6qZ za^i5s*!d~i@l)D+1suCe1=>m!23nTYdhxl?oM@A|rDh|z66t){cZz(`|GLM5H zs^2oPMYfch&3A6>2&qY{!K>9+X4`?w0&|wNvHWqs#mmP{e^O=tPf2d+yYY7z2yRiV z?3I$XJjMtz*h}!z#Ue8hYnz{&`$^I^Rbrxu%O#51K14j-;Ey^U6YbDU?XK6)O*l|U zj!`~lF{ExEUo3ETa-euv5=6|WFnA-E4J$^39?JrsYVt!c6|zO~CJ}IYff4@k<5jbj z2;wh*K1~qb&d~rS+Z1fF$vx`6Z0f({3v2B!HB(&{RU0qS3#8n zt`!CKgjT+Q#hXAXMQlii=~jLj$)8Gkib{FKXT)^> zkk}X5h}q=uZB)s%s;s}Y*Nt5BHxQp?#826z>7^IU)V5A&;cHfNd` zNjfC?7v?qbg*}U80_nE{w%zENm?EnU4!ud;UMWc^C`5k4`WF?fl2xu8TZ8C7E}$O} z7iw;4IZ4AWo3M*TD8CI9d-*bIGQ<}POzEMi)UlbV_smtKWnwyq zRuVx9Y@#W;Y_DaBO3qlBg?+Z8F&?|&r`=iT$dg?OFQ=Q? zi&{EvxYoT^rvQ4JsE7!$sB-RCdXW4Ly5eZn3+>iaJXdd$h$LSJatBDBN#Jx%TSF;> z+&zc^#IFDk9Lf~ZsiuyOfsx3f<8_uo;|HKYt{jO2=qkBtS)w$YGHq-G><~)OCijH` zlIOLYerMyWS~<%ENLJPSyNF%rba>sHPt}slKxDLq)8162Ir|(Nn_cDD=E%c(!np(; z0h{5kF9?L`Nhokh*z^hx?&=X)K33Xl6(8~J>rU`6;(X(rh^DMo9F~mP0y6r?+=#AR zu}-GB+N>OUucV{|i%OFF?VOLRn1jP1G;gbivYM4-#}!YF9IWj1f8S;f)_~UWOf}?5 z+ld*_QaJui=LL{`D4qwsR+2~*bk+SXhI@*aW3KhPvr)C;8Rr%i+j}8)cJ>!S&5ezR zY4|~9eq2-x43hhF_1oKT=dslRp|qioO<1)M_YSL8*krDX3mwg26^)o)I1I=u^0*Er z1R|V@oj0n>Qd1i}M2|lqR1Tq|H<|MKu^frw8v@+Cu;UD}5h3D!Rq-qmuPmf5?xi<1xz;gPrC)?{0zs2rEMWqzgDxzptJR70Y z&4yn|Ptz`i#>D{&U3eU1LaROQ1*8h$Y}mgUSEh@<7&H8zDc{EsCyS%xXf-aGwCR&7 zoO&sAyhJgSqKD}^k;GL+lNjyL(4L|gSR`|ykosxcE$rF^l(mS{cP3os*7tL5va>p~yvW+V!W5RMxuAemoPrRLNZX;MgijlLg9WZ;>HEj%(Z zGnK0xwgA@77U$FW0X|N$X$1;P-P8p#L|*lN%-JkZl1P$kDJ6LFZ95}0#U#apo&f6^ zRZ9^NEP#=LYt8wFyu#16nYd4J@_O;hO;qgsO)lM|Kq8-P7hr1A>Su>%<>%v@vkfrw;)lM9CGXXSyz_aP;>75*GTpTSX z;xek(Y|n|ET;u}82LT4!kPtzY*P?b(E%Q;D>*hPU-8aM37}+=P1;B7z$bJ||MgJvk=l<8&J>hI+plA8qaT{Hf<;v5!wo>?obN zqD%@ETe<9Z!sVFO)h*X@E7wB>zZgNP3e=x393r^*|yXC<1vz+?HP$vL;G^i$9ohcb{zz>?OQ~z1=R8BvnRpmyG52 zpe8}xOt6WTR+0|>$P;_&ms(m{)lPe%T|c1YeYI2%rs(mu;Z;}ra{>Hn2_!r?-RZ8~ z?Ug_xU4&2z^o$O$PioJPO>_=K+7@_eX=&F>ljO4%dV}E&a^*b&L7`EP|p4-QE~foitLt+E6Z#A*Hm$ghaE^C9Cv4J5(k(?66axCV>Xp8@#S@ zZ2=2#@Xd=|-ub~R_yTTXKOo-HaQ)YS=>U8wEzvgl#HyXKjQ!}_yC#2JKCdzmrb^Am zprMHZqW;sTPYDUcuM+%tNs0Yn@E+n&;SVQE35q0;swzgo*g{(2RDU5eZYnvYnXZvbzCM?~v zc>2!^K*^yG1H$0nd}q@NS}ZPu(ih!{X{ZM}4qI>ZwbRdfvYSUT_OUZZEecaTXII_T z_Rnu`5(q5`g(e2CsP+BT;^&3bmD!?xY zS>phwiQiBI?%GdTJg5}^x!got=t-ic^iWk~CZI3&#p^MU@Nz3w=$1pdCLK}={Lx$l zy>}ER+eJBXZR}ZZ&li(M%ipX37P1BR$8~P)@gO`!3;;A_SUeFv$uzFj`O}YdihE4) zWKzn`IIbJB$=q5gdYI12hSVwP&I(Et^E5Qw&r0gMZsq3jg?r(a=~HpK{Yd}=<>VzN zo$X;J^U=O!F<)4>N_BoSf*--Xd@0#qR|4qVwWvtL$LW2JMaOGpQ%v!kt{~&d%gYzC zCb}JG?j{ES-leTVT}$?7YU}7wE4NHS1Zo6zB?_Eq9ea8PD_-sw=R>;py;jZ9+eoB;p!!e zyDATqpYsTQ_###)e_z9CR_|ff8vN-nHwH#V_3v-f`a%V3J*SLIj_o|mLtI@+h%jE& zGgB13{Lp2{-nO3S4yl#YaqjL$**6ws$y2<+!i0?m^G77$^m?D2x&=Sw%i5#gJCplE zAQL@fx!M(~3q7(R6tU%#&Cswg#T=Ei)3UBFCrF4PBgl65)Mhu!hBHe~gkU$e=P;dm zF;{LI%YXC{oYPmP9G#HAAL?lBr z(22zzsH84rXG_NuL#)?5v<6{A=yxJzu$6&qsHEjOEkVuOt@=erun3bCwyV&562w|T z<5>m*`+1KcyWqv?&cTFzA|mN+5Yg1h+;hPV9Q$ie0+bjcD=K))a#h3C$)=0BpgN|G zaI{FOhUqTOT{;Y)!nj2$s8%`$urG$+u~0{B1W^QRUQn==r9VPnH;}_(QqAes;Q>Jy zCQcPaQQezi5VK~wLtM7MwBtt{TWeV4) zDm9;oiH|qC0A%R^guKHm34j7ns)a!00q+JdcxI5Rz*!K>Y4$cwADKFVt&z6w0${RH zdr@Q4N}cG!YP}#ydHdBYkH_SWSeXOaW9`)BcM*V`zY&3vplFlU(#O~}*lwJh8w;U6yeTv(HGLv($J1DDc8DHv%8Vm0+?*ci>;lmTs+qaEGn9=0Nh#^B#>9o*k`37R3;bRFW036eO%4-kwa_3O*&`MRCVYhQc3ly z@7m}xJ7Wx|Z(T3J#ES+W57N{Dz6o($H^32W23_p2o#)08l}HSvh{}@tu^EepBOLNG zOkgi1n1ew0P16yp#h{qnEuA9F3&r%2%dFg}afU9qm(rqYs~Psn;=0|F+0{FfGa@q` zjls|J2nO&RBxZ6mx`Q8pJ5o$SBFqigS(|J>kp6+)7mH#)`aJX|X;VXDn`yXgiHtOSBz2g6k4ob3!$Zn*a)?;1!M{G* zm-J8D^ha?c1d(NT7JLlhL%$V{z95;N%UBkuNCosy8_W0<87hdat^CTpLDe*STsKfe zOAibgHL8@3{bG^cnO*v|0DLyxKB;sJTwd4X;$0m;C=rTx^Ed3Qg|*5Ys4%q~b0nM@ zaQqPxNKB~1GNOYDF}*N2|LG5eo)ga-YS-5h&MGc`z26p?n))!E67@F0!?QzRWyJU% zE`g{cdAtQQ?u^lAL0nb}Ysi{4XZvGFFGhtW5I*1uFhv}7z4yQ?d(b@aIKWwQz&Flf zety3CXd$-H6G^J|)xYNnph2wtFs(XxLM0u=pu7znka(0N=uJQ;Zkn1T9owSUJwm3Z z!>uLxS<}}=e#OgN$^&4Ekv}iiEgCt63`oa7qy|Fqn3r$aEnum|plMEjnFzpdd#)Au zfnjRGGL;;`5$S30oP^ipE&^|_>ADv&y}52OHTmcPn_k=f<>w=$Dum1JQCEduovUR+ zyLxTe)mprwiS0cm1-)YK>jd;8P%zTU;yEMPKIu^bw@6=!KVAZ4ub9yO%7BDjqW-7R zVxurqwoZ$DU1}Z&G zLRT^OS`?&uuoOx}K{_G4bdF{H>qbGy2nfw8#Y;$I7t?sTl@6%9WSUsd0>fjS9pI+^3~Q-GMcYTsGu z=-Ot@yjF(Huz(KS{yzn%zmHG(e57isM1tc2J|*+7-0bWVz@oWT$$t{Oon%$oPszu~ zjudGu(L)CztkiZ@p_|i?GZxv8(aL@O$wYhewxXIBS*f>b(qNo3*ZP zs?%+5m&5#B9bk@$+M(`?9$W3L42YLjfh_AudF4~6c>#~r?`H=>&Y%vfTkvCQ&w1i% zaKo>{nm~FY9BH~%WYBH?Egvy+1!5%vXzm?oJ*1BLy+P|5p;vOL_poS_KpH0_8DSv6 z*CCY0WD8Xd?AFJR^4!lPa+)(=a)uLw00`>Jo}$hZ*`>e^r)oE7Jdt3>W(Kl_Xb@56 zoMZsr5FSe|r}j8umh@az893PBi$`#9cEli2>g7xO0_`_BoTt*bCStdn>!ED|sdFs5IW%Zvi2w**}>rERYqh-iuYPHG0g>->X z3vGtE{Cx(bIpjFR_aM>dod?j^BRUgTg~3|taB+4pF#!zg7*qAG>=+I>7B`9mzTuRW zGCOOi>g#{?ub+H9R}UC?p1g5?eInbE53HJi`#|_KA3)+xBU}4%D{p9kNoC@t%XC`q z48=~swvv<#m|YJb<{RAeE3`i$;(6QHUcX}NA2>^T{+z@ywRP=;MHB&Eu=e(LbyFTT zHo5&5X}|}6?p$bY1I-oe1TWgDA3g+vq}%o+(f!;}xdC)S{h{oiyq&gMd>A#fBWdx_ zY|AP|wdx{WE_%%O?_Qk&GSaSETU6AmxJo+R83=rA1>>l&FtD9$l+#QrqmGty=-&Y- zId}zWp4hHH`lyE8jY`o;6d%U&)j*uwR1BYZkPsf;uO!C!T;GCs+#`@%V`Tu6B>0*t zCk0u|7dsC`0_dLwI2YY5)8(HV&kb-u*c z%Y}Xsl*r1-sfG%f)&$B8_|g_D@Y}AP4-soO_*b%Fxt~Q8?11jXiET7u5!CHM!eQJG z!h9SK6C-0h2=mqQy(Qo*nW-TEqdiejP2T*T;1Cx5&bq0o3DoraM7O}O3SzfZu6c1BrKFmA>!xM3xE`SErA9f-6k2ln?%h$>29DmEq-_ui(Tp-#&P5bcE6>sgyGa z1{j!!2zo_92xjR-`;lZ3|K48NAr2fIoHlJK%#R?I%2KJYSuVGl{cHbJ z3*Y^A#cZ5_4ILd_ua)l4jLRx1EmcH9`jblF{|@)#HgzqSzIR$t;_o6B1@fQm_7zg3 zgOe{X-gg9~!bum+#_}hP8_V)II@e5$XIi&J)oezFXqVx7qTT&olj@uxsR;L-pEoQrEeP+vYdGu=m0nmvG~ca|z` zz;!TGgt_KeSy^EKbcUt~ww zeecrD2z48qU8qC{_2|ql5bvlMBn-5)EU}#&930>$zJOW{iS|azmMa)f0?kgpFD8Ux z-$6%50w$P*6WI6Q&I1E9Fnk8kk$~;1AgX8C25Mh`4Wqjr)$0|U9{-MyOSO0*ZnUB) zR={Y1;MD^TA8;xT=Bl5Jn&j*>of?njqcl3V8bke7K(CB4NMUZ4&|n{U_R5T{|N47a3P<7GXUx( zY+wikXlvS|nB5^C0NFha6z8C~D~OdLNx zPjFuU-W+pxTGQSTgIQc3>GDImS0L~Q!My@pO;bw?A7`&8z>jt+!W@+nV`wvxdh>sq zVi6(-DB1D;jN}(eN=iCH%GcfQa~J_=4XPx<#Z{D-PjjIt%#5g%m6HPzl5orcX6GzK zxDA3$V>F4NZ_cMMYzt-KT(j4rs#MjGuxcB`Ha`l|=saYi_{|@g%^j%3|1s z6EedCZv0$^W2I}5GgI^9lWERDE0wl5lxMP}dYMdvY<--nsV&lO&a{T1o1YnHj{HPO zc{>+{zyh^XO+j+vci8;WSKnA3U;L0oIsjexPr&WWSkQwY-3kV{UPV?qV9gFnvjWS) zBKyhM?te;i#dQWtZvv*dy>;%9u$H&JDfb=|XqNl5i z82{e4$M;BG?oiKY7D#=iYNwLjbL~U%pTQjf8m8clX<-{csN5#zWv8ZY3C;=q(>zH* z#$x~c)A1`PBkpIbnm}F^0q~rk%6pA+hoa4y4~1|e@KdlHv*+-T8E$@qzbe!g;_9q~ zK;u^-&1Zw)6ab+CR7@TX24-v=oc*5^!KNVR13HI(qxVAAVMt{9IS94yeaqN%seXOT z&(B9v%ish92EMYgwi--9H?XKcq``pHE+!=aZ%R@quCEG)nh?!i3`4i{zVf(fn!rnWi32q&Pvp@F#) zQ3x{wE*VCp{2vp1me+(|NJxwUMFpDI5Xjc^Ciu6!pz(A9>prZSWtpfvoOYq(;yM5( zFlrKeRRy$`E4sICSPJv9(%S={3J%y8$4Zl6zPe4w$pH43;2iR1J+O0Q&O*N}mjNI5 z)aw?U0Sa2PB1I}dh%7t%OqKw{K_s8#e#-r# z`fTdD#|+W~q9GGD2^;}(Zq5tfgF%VNHi!kFat0gREO3fQv6F>~sY_%B)>lDBM(cvxbodeO)1uLd-&mt9FQlY8p_M9uLprcw z!JZF>e)!%N4D4Wz1MgfSyHV(@4t@k%Y$q(_As8Hy24PUEm)&8BVOEh53OzzmrNKg$ zXmWp+d^T{+5#jyIHXtzoTMrkIY}H_fbhXv;1OWmNMxkCi@NyOI7j7+;U6Al6p!eF{ z-Gx~-hISGvxRiNc>>cERE@kEDvsr9KwY!9b*)DsqkCBFUVE4h{O2fz)ac1%MZQ)u5 z9+VttTM*iO?}ZR!*YQtUV4XdEd5cD>K*%_00StbZLX<{XW*}sQT6nR+0)Wrv<|Z8e zz=(Mu62M2^j6L`yfKQgM`HBJg(A=-2zGXm7ythW`I8)$Qe4eg$*U91$|RID~MjbngC$4p{{j8_F~2RWRckf_mLux~%Xkc?AV%K4Hyz+ZXQ| zy-YLT^8Mu>($>}nYYh;zT7#67bP7yV?<#0nX#kpqQNN6gh!_|e;xZXzU}9nd-nG?~ z_7V6+)p_*}0h7S|!O8cjvH zs9>I(@k|+FyEI?{+20WkWFSZvJ7W)qb%GtMN>G9of<1@b)PG`GuwuQ#0HIrq)EO5G z%NnK!-T3l;Xy=INp;2fp?>DD0+xXa0NT^b=d#J=cQ?YIRoNTFNxkQLe(N&39#h z8hDoJOM$jqI9_A_d-@Pf3;fm3gNS65AUgGd5doiKuP4$tesk^eWjOfxgC0^e#J4@P z-(bje=lJhjs9O{qSqTk&3)$@gD7##Vb09*HXHopH=~K}G6uLvJoIUdR$A!Zc&S@{0 zd4<=n(LTIVRdt2~AHX~y=`(_7&~1zXk25uj`uBd^RSR`ncbEIjF4kdRfqhsnN<9*K z*w3Hw@bQra7fBVtrZaRj&dyG7{`R*5s`?*W+y}vKpd@L^B26A6i zXz1?^FBFw&0a!vXtud>WZ$hEnvgfc%~N%KRonJQ8hr`18Yz1*a!3{ zup!qja^cF!+0)UnoH6W4_LNSiXJ+P#mOM8{f09`D=EaK_`R?B`G7Jq3H+7sX-$R*# zlO-R>fa_AuQE=x%O=9Nf=ZA81z6IGGYE$r<%*)rvE4)_q(p94M|7FGgzjP}4|Jefk z?|82J|3@R3k8qXx=LPux>^b}Ym)9fU-2Cq+ynDkfXZo|7C4r`Q;Pnj!nSh|uVk3){ z1Z}gSx+$qEC@6xW|2>i5Fs$a=L+x3W*_o&ADk=)v+!}Z_*4b%K(~q-7l~t%uGHp>% zejGT&{C)VrCZUe7TYoafoY9RN4O{g;y9HVGHwFsjA^pn#_e_L$?s!4OzG^kEhki|0 zeD2Z?QmY>SoR}h&je_!S^nd=&6?HSSe!skH{vt9)GNz?Y%2Kj~CN9%GL1v)3^)~($U^~(mu&7&K4aP)fU`tulw{bZKD47`HxM!>M5jZ zH0p0;54^H`<+*_JDt_ygMiI8=a>rMywt>NCZhPNnc4?&uuKlq1_kf6;Wr=R5(&V~6 z>`R9sHOW;YZ5G#LUdt*OaEiE{cv81YpwxN%_iTt?F}W3OMc8`@xoAIv$=yaX*uIAt z{gPMscvc}*y^pfV_wPRBD*WC)ZN^G!C zA!WrO+I`saN>zv3s-rilXoK)78OpzBT+sC<3LQLuQvY7n$ahMap_$?ud?nYtS?-+( zAMNWEkiUg-P?3i6I_Y4SgtlR%NSEr}E0KS@E}k>hLHz#!jyMK=zqh-}AO?k=~DQ(Gs65GP>s(yIb zYa3rL;j+87;_GNgE4h`{WO^5KOT9R)dy`S^=G3@gJ5#%M|C_?eZ=s03Wl7xhAx+mD z!^7F?XSZKwTH0G*XMHC+ zFo=hK$7_BOF9>Ie0Y}qpVDxJ|9_~hV&LuSVzY}zoJbr|z^dxFCe$2+U@ zkq8=c+r5rawh<5T?UDa}K!T{C_i~=(M!6LHCp_Q1OUeEgptkRsbeOtxfg>_|{%z?r zuEJ_4wld9djD7maF5KY3yP6JrxUZs8Q*|!8&^HBm;@vBB^jC#3Q*^#Ds``tj390!s zKaw+k318~!IWw=^l-#6KX#LvSHmB^oE=r4hPk2zcQMv_S|-w)K^M3gA&e@_1G9yebw36>~V(a%iA!o2DRsEayNVr7Zy;?g*5|C zDMYk7x^M7(8W^UWtk~Wuz3*9~M=vM-(prVtL|bBw@YYqL>;cP_k1Pj|mE3}IvwCfn z3zXTc({mScag}9z8#gVfDalie^~VQI_gH6>szl3@`=WbKh5~<1yY4;yS^1a^3yx5` zfsYWu7bxPoP$9I446qKr)?qd)DaM0X})cN zvSM|4Ng~SU)Un0G=I_nRtdqIsq zU-VJBN=5As$cK9qcW^A|aYZKoii!)Q86he#+u5M?OQ_Dd!B}kZXj+qZ=R$))^HUxi z4^lr2wr{szAJpX)4)Do{XCJUkCHp;O<~8ft8yo%1qo+4bwPF4#qnMdXJ_gF=Nzc#G zz_oy~^U}4X1V}T1!)XujlH1FC&ClONdeGo89B@GY-o1M+@*HsUm`?R}=GM*;Rfyvx z3K8>I6n^A#I47RFz;Z<9NYV;0PRM;Yuz$+JRFgFI!^`c8ySuf8hMi94D@VU%MN$)M z>BYOhO)(xLGg5hy-UqZK6Igz!sJ>=pt-y&Epe;);+FDy3S2EL~8;<~j zMwAoTv#b5uonO3dAYEA;D(kPW_q-_(>oOA7US~d*^U$_DPXA>IU zh21~~*~nB*WD%HfR#Gk5FVtXRl}!xaZE3MyjH@Xmd7M!(&58w`L86Emv z*YbIAo2vuW1`mZ$R#S^}P5S$c86dE;v$L-Wb3r5EYaCI>7=!nJgruaA_a| z` zeIp?gXTKe;FMR(tbr7L6QSk6)b($-+TyVldzlOGM>cZMJ7g5c(oQPKmGjDPM!K7nw zh20-e9WCWbPmN|?(F*h*%6gCTWZW|%IwLn%Bmd2NGBhx)$HD`6!d?n4pK;pqPQ1Hx zWPz4>%v1IKls=QhF<1LI#F}k{07s zsjp*`W?+j`WLTarZHbZw)%y2m7G^#Mp|V!{VHFkXSUKkyIcF8DdnHEd@A8Yq3yZ~# z%eU#CZi(rvzt68SU9=DLNuD{BY1m4sKi*)BulOwM9L+3_9UGGT_!FiGyl%FRf3}Xu zRT(R<9QXEh2}lLuBn#`A+Ns&3g(yF+;0`vP!B7gSlbnDS0u5=ql`||XEVjeaW_8dE zd>>OTJAq_qaFibo2ZPY_{iQLI!+GMDj`5lEeqzAUL3^ZvSfm{>gP0iuF`vI$|Bc~| zPd~ejSRZVijNR{b^4=%DC$1DarV=_fh*1l(O~v4>IsCr5%emW_gNXJK5iRE63L`Ne zSE{<{_Y7~myGf4Dm#%#q6e5`(>_3xDX6fk7^rxi^d`j>xi|I>8BTyrt6w;$TiDFW3 z2L5TG1E0}^6wFrG|L0rN2z-f;JfFd2dVHl{LJyy;DYa<9dXCnsOp$)ezD>F zdOOd1GW`+)zncx)Zv&2aDq@TkDQ$TrWC^W}V|YrUBJ6+ib-m@miMY}BaRCu_FQZ9~$I=Fz_(AtS5_hl>bqx&+RxmM$ zio{l?$H+M;@!H+Jecen2ZTg8_k}efIeFl6Ilzz$5>BwVdw_}3yx3=8X3iO=6VWCW4 z6xpZOS*dxCY;-TLD;Ic>`KXgUzI?Sj?4F)nID>d3gDiT9tQ%I;+CyndD@t1|McGX8 z@Zn6Cw)Fm-^50cl-yL1^rs$t1GlmqtP$4god;6?4{DmJG%H@YXp3|4_@#!zmk7Hc9 zjY{TY`$z!gy!K@ussI~C#vsa4`Uw#VN^^lkyXRM_@23kkhOS)2HH6L4VNcNJcg85w zq>aAI%dUrq(*@hF=V7E0xAcsS@pl>oE)-!UJ`N7+rDb97LAO0yUSj* z$GI3#QxBIk%9zN|9adR9`02$RsUk&%G5YMLhM>ubc^>OtLy$c~RPDpR zE*tUB8u6#x3YM=PRjI7Y`i7(SG02hXDTUK2&&wUn)(N3bsGc&qh>GK?#u(r9(O;luqdmm6jGh8dO3WrCVAWNof#~?(XjHhBxPYc<){B z{hy1aF3vd{+lZ@7ZR6$?!t~$90GCTh~9Q zwKFgXDwOkj`=nN9x`h(_JU|;z$Y>q1H=d=^YpYQ=;8F5R$rm!Va{QP)yq-Q-mkc$f z2G$@NL7eu`g~?)Lq9!Hf8Oa}z?zL92uc^d%GF){!+|aO~^{Q%{tBPs4ACG|GWZva$ z-Uo-?dB1EtW=;-di1&g>aU%wZS%Xtuan@uKQr*lXZaTOlE1!A-Z?a8VPLSxnxe;4m z%NSsODbCu*!}nFemE(fBd?u%at>YLo=V7)r#tq+)DgO`wG;y@Serh_+4mz!Gk8x&a z#e@0@yBK$~F)A`%Mzhno$&}b7By>^c$j?3?<<$~d+_jghdiOY#*kt9VaZZ26O_DOs z0*~$?9P&DOcQ>jG^QAtH-DN?=qGxVq&b3qG#%w>=>e zTj1*Fw#dRZ58CuhQpve4uXC2k?Zcki;%}0^$mZp1u*UV`w>LcMPaPPXwxG(0DYZ^0 z(mXshJTPQf6HafRxBB+8Lmt2D2gye-nk~JA)YN%>-s6b7zn6E7jp$$Z_b zewF~c(@M?G{*1UI3AB5=$Aw#5+(`LDs*Hjrsv1m{BoAGVd3-;)xJD29Kd;2;#>tXx z>cvb>pPAI^H74|}H8tZztz*Xrj+zf~oR)Mu+Dze{3kwxs#Tk&l_{vc-RO&b6(K_^) zx;rTW6pAtDy8Jg!V*az^?n))tEZn{13>|{5cR3MWv3UKuGwy6LZp>6Vpnf|j?gZp8 zkXbO?MT3Ib^77nU4NrKF2iqa44jf3k9Cd@;i+2_;>42O*WS`$2kE}W=!R6vDQ&iD) zT;A7JEb9Ky_rkuxu!?<6g^^siYX8z{#y8M1LWiw(YlX1@&R+3NtI~SvT*g+g61GoS@hy@bzA7WGb--sDkEQDCyy(rPM6ydcSF-&FLR*?bsWS?> z6pg4ebVXGn)wg`FE$Wdx?^O{&_qs-g>#Klm^lpH|;qT!JR%)`{?}%CXb-zw;QkRG# zo&3sOQBYA0fh11cxPV-??*oTyk+qbB)`9RI#@?hoC}N7gQWp`=e~_ z%f9n{xzs|tmLHSPV;!ZcmZ_(0LQCw9=E~++0$SR>K4LX~#CnV574ww(lJ|oLZFSpk z-g&bW^iH^P?nYQGF_E}!92I<%RZ&T}(=11n z+5Y|e0UD)W4E$&avbqG5XJ^~I=lMA~(rBBYWDGbSz*@HsC80nI{ZkPN)830GeDhlhwR$@&pk(?RM73g|sB(KP*NDVh!(DkxR zD}Jca-#7vQE_NRq!4lowSn0Dvb*csAgANl$7 zX92XF{^Na@^L>yMU}abH3Y<{>srS2R6=ctWGbWAu`^TrwRW4gjZ^SLM&nS|6W~ww1 zqTg(j0I}=XXC@wElwYg2+HyP3s+~>|&!eV#8Ni$P2~RFMSd@oyRks=Z?CLh(raUg= zRM0OQ>y1Yi8Hbf6^DL4*@=x4V@3zmjlZw47@WWT4?8hHE+Tv!a=!E-qWE0{FnSmS3 zEDNoEUC{}FUq(rut7~BG+6v$3UOm6p^0BGO-?W0Obl246`#5{QK{Q9Q)?%!=GyrGC z^BU`(>zvn`TaWI{4c##!G>!B+7n$8JwMz|l-pw29S}{BkD0?ng`29m|c4i(x$i0P$ zqe;rqMAryxt7Y@qqr48%_CQVw?_m&cgylIfZy?)D%a;ez=OB-ft?ej_i<48+cG6wB zeR9+GY|iXV52TdlI~S_iRg4|H?Pd--XaX`?UH+|TmCL>XD{6OP?uW1GFyY`&IY+x; zE!E~0sM{rc61QBFiurVaFRiU{S4|k1>yo4`Z5s?sSl?hNFP3V^7=(p#={``b6MKNx z;_~5_gldZO=I;;aH^u zcK=35|D(ae`ph&d>fY#u(u#xu&DS(VW5C`V9T)if9EF$ytW;%h=bfQqqE^+FrM38w z-2WCybhLVE=5Ni{@52-Z+y!ZLO2f&p@9WPd^@mbw6jNukMshk>XFY5|o10ChA?xy# zlfk8>@EzMO?DS5UEa*eN{d5}KRmQoKjWNz;=C6oty={eoE@s2N2fAvsN28_OrzkT*jE$|)tdv$KJ0#@n7K!%kjs{E8T z%?hDIM@sQ8%xskj>{hbN>rvWOwt|~$_sV|tsF!uB%H=r9Ni6#I1jYxB4ZV-%)sN<7 zJDhjD`@6BR5O5KTF<9IqLxlLBsS_3?$an%tUPCj-ACSoNPNLJ-E1T=5W9vM-J#tod z^&sqcwmN=hvf^=_ayIV#Fm4>2@CGt}6Uvxq3Zed4Zxvw)c?cr+lFP~ckH>gO|I(!x zWu@O)AIn#kj-!lg2NFY_ks$D=ucNPw(=Xd5YdV3|W^`SxQRI~wS59#Z&eR23{67Ax!>EAukxAB@^xbHnCiNsMD$@UIzK)KxMFhS8-1+rYyvzcq|7)>g z0Wx%epX0RrqCZE=Wzro7*q3K+fwE_Vai@cz&LVFj5|kM9dPQm%G?wiEtPaG=er7K= zs;@BF-vW~*u1mt(eeB%Y-NT?K-%YAj!d7}(nQSTfBZcFdyA*$XiG|Ny0gOBN8jn@= z%bb(dsvHfygA|K1<4r;o*pp{%UVCZC|E3{YeChGhUOYeba3z?WG(=|rDR0q-%k(T6 zb^wJ54FXKD1T3@-ioP*lL=7(Fe19SQ9FUmj?X>4q) zsAl*4Hc;VD{nfzk{vD`t0#XIzn)jh# zatn3VzL55Lvub$<&O)BmRM5fpP6*`!Wv|b3~d`H22 zXf?YL2p}Od3mQpq{W5lTZZp*za_W#cmI4hvl1n&$sJ&w_1G1AH_jcUk2)l}esJ)-u zSmjF3EPRxyQ0OhhG$@ohY{Z$U5x4Rx@UFn3hn%L4LYCgBCE`nbM0f@`31nkEs$LJJ zDS<5Es1r&M%30Ss?bY&o#4NcDPSb#Vt4;d~5UB-;=9pJ6rxoMkP*yQtNN8npelJ9d$i0(X{-Tc$WfKHk%j4)C`5*G8Lme=UfcRPZ*%e$`x;p{`5Qek5=g$tNQlLz#mz1gy=WP zLQ?8p@Fnc?CKVUjN8;~T`7z>GSPL6Esk}ZowXwbMr5-jyDH`%`!a|32A4t8v874yBEP?Jt zFa3(q2V*X-%NpXY?5{=OT;TqNmHm-`=IO_j>dTZG%&V=G!)m;o6_VkWlKf)(@>5#z zD%&w&m)ck)*+Udb|M~D`d6Dfpi153uuT+&Q9iiM=P(W_GuTRk-Vca4)7!+d!`PT#YzAZQfh`oizt_^g`k^Z4VHCNH`%Shm@fK7V0AYD;#nQZ`>sZM2l-V%M=)7J;bw{LEEG~}De>`Y`Y z3y8C5ycS))f(QyS+S0WPR0V8QZu_&WtgN`0jR5132S|NW0m=Pxa#*+9`nB!_<#>NA zX=rQPv#*GkF|f7uUZ!+SYG`iup_i}y=o#$w*cO}wnf%#ZgxF5{{+;;D*4CDtxwq#; z1n+bS)C&wNIIH}_9}>c{b&xOh{&#{qDDA5&+jMs3+#Nl^tVK1d{;~{ZEUgvmAw!dg z?jZP6Ls19kp#`bseYW+$Umc_b`rmloGR-K1(eEz38-0+pY_F-Q>1d^`P0ZPQC^MnR zc)zcmMKVLFxrtRN=jU?YZ1y-sQn|&n2h*ZX6?Q|%mlqX^vS^doGy%N=Hllb$S>5xy z_MlGubW}w}1(s%385#hPhg?}VXw;dpzDI-$Gh>N7kG%Qolip=YA*Qdfz8>9YY??$! zi);;5!lCVvDdl-4r%10?jQG8D)=L_XA(Nl4A*8p#k@>$ya4i+*&7AumZpmH&rjIkF zC922rH;P(XyZcOW(=&_2nq(i+XZ^1-OgIYZqN9QEQmM7nS)Tkgb$Nqlu222PUqA?? z<>T~$f5r6aL9IpY++W(s8_1sxOXaefIT|XuN{S##H*LUXzmqMMn4z)!o(Q?!l=Y4* zp*W_0xb4>SQja2_n?r)R9)w8Qw4LZn(_5NXcRTj6yGWUtMWqKGSblQuyZiTd{K+L? z=Z#1IM&$>MrXl_Q7VK+A}Lp9 zuM$8jX_59)iseQm0pS)i%a@evByL-_F~1+!sJKIBFF1pb_`%{lp8M7Bd3gzH>j1Jl zG@U;#h&8T^-FGCaU{ihFlY;~nj)>hW$;9ySDu^_urs<3X7U8LHR1GQSNsI`d2>*logCnX5>;)DG;-V$*Zp4S+B3>rfnr0^vT-9H{U;D+IcUn1+&=H%TO0M~tKW*TSLM3vHAd6zD zFHKvhXi&Q2#~*r8tKt^O2YCv zd_JZOQhTpHsC%<>6PKWoDa)NrFCA@q&8|oD(=8tq07j< z<)df5_)~TabA0#l`9j~*vSeL+5LdMF(>pzCs0|o3{kd3`uO8P?dm{q|P$BFp9U)P?*#6S8f|^StNkJj2!NEhw%;>rp z<$umS_b!iYBx__*il(k^>y94+VI_>35|x-;fXfWmUfVBf=`4l9$x&&lxb`gda9%2= z=FBXd!d(G0JU^o_PQc!$V#Q;FbWbK5<1%*l4NsjCgI*juN?D{S$bzj0F5TIn)`l7O zGp*Au5c=H0*=LUK%ied}bEdWs!~$;07s)|vwfk?sty5DEt5yfWR6W32kF zz6}VQ_{_)}I4qJBe0qACVptkeXX2j-iprr}lzgWt;~!?i-O(qyHt_D6ygcV1hnLn) z#dgYm_j&9bHNd$~+D|Y|%(YA1U)lJVq}#+}-!ILcpPj8^yK((`Lg(hZ$;TuRpyB1! zLIc;3+|mDr7Z}_{Z;kJ#&+VuGEN)M7(F2&AzMjEC>*9yERo8c`sn1#L!X{?sJY&!1 z{uIx0fGsXv=GYPwxo_cr{_AfCBh%Bbq)q+T^6tqSf25JA0jbr|-Q1ql39pzgMS9u2 zV)}@k7~x87@GS5RGZtmat|sP+i^_5dup*Z~cD!vL2vIOi7UPNZ8vgq7Gs@Xsf8S59 zRcie(MHIwVGQcJkZLyD-+ufSD^AFyGN`EauQ1s&&<=7kk2lp+QvCQi}M0x$PWi#Kq z6_HETlJy2j6%H&zB#6YxskRqRw4aAXx0wZeoY+`Ds|*Sw8vYiVrd2*+Xw;z=nOg3$ zJeOobV;mO>o94l22((JH7?|u4jqtAZ1XLujpUjL|D3!f!l#NhP)C+~SngUbOG%7NY zMavqG|0YX4UyKkVar>_s2^{h@x=HeftnkleS~AybLfvrmjXQ5!r=p^D*j&ua@Y~mh zEH1HTM%5_4KE2(&M|6~!qE;%FoSPd+N08NXXE-T_!|dmjAE$lv)H6lAQ> zzX5LGGW3Vj2CHca>X9pt!EV^!7#dc#_x_Gf#Zygk60hvIe|858pv4FGSxHv)=zOp? z0^Z-aUs^1;->rhwshK&I!dx^vgEvO$n#HEaxb#L1eu$oo`1j6&D^~*q78z`0P%FZvFZ*2+R^7@@XR!QR; zA?u;j*8|LXmoGkTD~Rr#3S<;yy(`}_F}f+4FHW5q$ugI&TG#4`$o<{{+tXj7Rb7wS zbEW+?`jmBbJ@>fval%SN&~L?{>nUgSgC8`KBopH>dcTJc!Z^vb_>q=2HCwjF157l%b)CXFrAapv4@_5ifa}joj(Jz;eZ;!}<@4YztQUkSJ-|OG!+#+iJ_K z0An@DG_dzC7;+|Rl{0h;>i#WP?KLXX^DE3#wJUG*Lq|Z+6yiF8fui$OHtskVPE&UK zc_mV<^2uKq}zQ==DiZkR(Cj#uhuVYs4k;#M-6-zj(>tsrh)CFYqAu^o$Ff1?tQ&q*?(}yHaw9IH|_(p60esC%TTb~aeTHs za`~3@iKb^n&wT+ja`G_M%ZP_q@R+nkyURE)-`H!MjQ_(=&c=JvqgnR7BTHUcc4bQT z0a{Z>1M_}BTzf&f@f_uSS3AaKwHSFlMN4qZW<(IS1vDCCSoKcpgm}eNX$l%xW2Z@5 z$D?BIPldY^qSkg!=T7l>8q>2aEG_3L@44E&2?=dA{rKfziW%Wr_Yo$$vUifn;TZSK z;neoeM8;ARhncY(Zqbu8kE%z)hl?DfU7mSfPc5nH+HG*cY%wN7Y}e3b$<*BDVB}8J zPivtm`}HA~^b$h7MgUx+hp7Jcj-U~c)0C{yudD210Qgi2kb=LMdLZkbgCCCmc3N`mY%*K3`c0x|C09EkIa>? znoFLd~WQIu7n1ZZdcgkn^DY=Z-8Q_ZJFM`-H*%6VKUK87hkb z)iRQkjkiq`?UxX)!%0wjL&E)HD+EH;n^zE!+Oy-XMcAOjw;v6!MYpPQyZ z4c*_FSx8hjzAsTDxo)rTFj1%la!!EI(er{e&MyZ-2eo2OjT%bLb~N{-%W`h+>L1_+ zSRZtz29K{RQbDhPkOs`DuA;+RRdyW*Q!@jv@kWbyEZ46Hh=o}~u4lCgiiEd9`jEBf zOU?G}y?^*;x80GvhFR$sbCy7v8RbCVZQ8TXIZfsiV3{gOPkOecq_WlEDQSzr>c3hb zF?jz#xDs>hq1aQ5DC=d?0PgJD0cs`CXtX&|TFCvC5b2o~;LAt#zD6+e8QuSd4Fzlw zdafvGU?_OR^YN4(9Iyti8!;}>uw`$OFM1NXXr-px_V503f0E%dj3L3N@jUHmD+GW6 zK`Ye~s5u$7TR7H_Z4#avoPad*VmG3ZryoYM;8+yHEqJ_qszJb9DOGjQYl;xam)^58 z2rF^Uzv!qB)zJ>vlfeLP zTGT2rfPe!S65r5QXcuL`YUvNO1ddAY=4%DI)tjJzB|;R%c1buK>~|ea;%w5WEoAJ< zzm7V9jW|?Ce0digy;?8FW#72P!5GcHFhhHb=P+7MW&yR>BBU@s5Np^<#cottD-YOA zegChXg*$3QY2shfkpOu1b4%WNE3Errc(0)X6OB>>HI_ycaQ`K-Ty}5Z9MsHS3h(4& z*cp&h)GZW`heoSii5iP3KndGKjtU;NVA7M`8$s<{93`g7kT!EYM6vI$R~HdK+F&sP z*5!WT%FS>_Zqr%#9lMLc@Bwb9z2R%+_rIYuc(`d7bcu9cO?NpLSJg6``i`#WM(FZ4 z`^N`LY-lh^XfTHd%Esnv9gH1>Ft-AEEZ_$681i-Tf-ZO{x+tJPQazFXBi8@OBRnJG zI@C(b2gZK|{#Va1JsAeo=ojvSVfCs;)G`LzqxieLJLkiVy(*d;M_B(GQ-FqYfq<${ zw*D)RWeJQs2TWAqlc=GX--1WWpp|5D>`%BAee{0i-;SC=q&O@j)shz-1%AHr@yhYe zS~d{JT_KxQkS{kP29qT_5mv$9q}PAp+OFbQz5`nGzneO+;EUWqah)vXERV&={@T4s zcCXsL^r4M4o~C&uH4aR=n<%;%{(tukUXUcCMnmj}TIlOoI_N@Uq z;7Fm^fp``5im3KQVA_1@yM{8hvt>?D(DKC!yhP1ugklz`Xt0szF6&jRcmCOzE6HFP=WRM!7CIR@up zvw-xAbsFk_JsF^SdKJ7yc-{b z&Hp0|3Q+Q)fw-ov%l5~0w)I=d_dT-;AN|JUO}XuC1tq7u&P=RRgMazHbck$BWE{Eo z{du0e+?nIV19r=c1z2fb=Prhm2@fYX3GYto zi5Wp~Xau`Kn1WlZt)lKb0DPfoKSW_}8U_Dpu08+#Y0UaNQU8oZhz#^b?gGp*+LYg3 zeuiWcw$}{5F?o!#hA)(_GCHcCnFWo<;FXyTnW^tVQAEy0IU4`;voa~_m4g4(&xKSc z3vx~W;fKdCeU+*H51<=Nhf?pr6`weZ_+FQd z2YBdD0Y6-ePu&B5U%Zlx@??A>Wyhw84*e^h5Rh98sOPh8HDEPOTc8vKjS6Zs1%MxT z9jgsqa6uc3TsA`MmG#Le!t|gBW6@=*jtSJmKTm$T9mIz|pm-c*(R~6tyJmPl@Cp6) z`n=~o1qtLo=zu^WU{J;lih=*XFdU9Hv;gLKF5zIMwfVh-dimlQXupO$bt5?M1)Q;~ zv^s9M&*~wpv7xd zthnqxHTllF=|x5DFyl2J{Y@4}07}O~JQIL9>w|u@@eUCOnWyJp7afBRt0lL2pZ3<> zsH~~`=bg1(dH1VK0Wf{a zO-JrKn}-3I-U?SY2q%G6L=wI9bOfc5mls60&=QJzAF6eiNZyqq0EQ(awtN7n;pYy^|{YD7aatM6YG6&&CHqqgS@%Kz@MKJC( z#glL_|G0w*{#`vP?Bof)Yk8gi$DN&aVYtq~1wPSs24B>^9P0Q^fZyZcF|+ZVm7PL3 z;|o6?hUD%EUZoa0_iz%_x2ybjNUQPPZ!o8rOz|YiszUB;g0Ju%iY3!{p&4g5_byv(_7BF)~k8w~dQwHsl@ zFLuVvlO2GU0V0%*4d6>ECOO@CpmHlyfo^bGuVP8WL0WFFZZ(mS!_*>s04;fSg5~g< z4j9}{vjOupyl2aVd3ho2ysiDui^o<^Pvkf{cu$M{omctem-EH$K)s9HgBBkIg@!`W z+zTd2vT~4)`wZ;tK8pc*{EMX4Nn!jFe*d@d-~rtQhO5UxCRzd_0Xsoe#a9^hCGsG)>0K zyLDKzi0%h|jfiwHFZ;y|{P^=6XG*XiuwT$;a+`O<5Bn9&JT0)7qO6@{f=4cGi{B2C zZGKz40nT25VsCiVdY%$?*(0;k_i9pIJifPYCCdg19A5dE$FKX26Hr@9bE(XeQiWQ{ z?_`bWAb_xIc=*`}|1~Dk{WWH`_o61S!KtQ!#MIUORaFPR?e?x34q;&YJ+Sk@qZM7S z#O6jcl*LV`H0AfCHr{PYM`U^3y21fhW0!vu$P; z+cHjhmz-Rhh=^J2>@V_JMN56;*-v`j3?0)x zXc6I0vKXyxRUq=XURd+7G2vPJ)B<5jZT61>YAU8%=u=O?& z7qSA?mx-U;JC8r@&bb7v$yfld@B1nB;%y9`4Q#@NF^te9DSLG`-Prkd|oE82r z7XUZN8dGJkXv-j$o^co&Cc7%uvL`C9J!wPWPV{DN7XDWG#XmB|( z1HaC|0&#fY+B+Amr7?+q1%{Wpx?DB4Lt;Q?os?oxQv*Q-7U^9P4OESlhm@$d3k=B8 z=u^|Q|1P}2{MkoBU9|DCDClcE;OM4zm5rGR`gmNej~65;vK%ypp?b)Uh3aP(@*qH?I$r8aN3(c zIvc70Hv^ldSTXDQazCX@b=?p68g1EE zvk)}DKQ}T%dO@g0LjpzNi^r7fsplr@23}_Ad<+1!26olKCK{o=22X~w%Rbwl*LHrc zD0oss8pQbb?*mH@q-zFN{f5Frp}-wTGN}`8kwmKYvd{^^$_ar|-Ch3cqlrg_8Jm*& zD*Q8NIc4FfszGG1?h>IFQp=dnm!66e>#q&q0q1ahzQRP|yALZKX402W&R*VdlimEf zP=Pt%POa{X8u~XBf89IJae3Wl@csifUTNzv5WFg%%)U>wU zAkO~Pj$F|=-AX=42?}~-H*pVV8~*mftyWJ#7CG>qwzir`-U1zO*^i1}P#m7MdC+ao zD>t+r_+t@ynO3z^(juRu1T0($5{YWb$|pBw`CJ^k>1YE+Dr)Pv;kLCaVaU{PTgeVi zEn$tz6PnrX6UJ{Iqd36_&*c!TIuhhGR2I9$u-|t!C=QBRznD}YKHTyhe=PQcbl+D~ zSM(%f3T;07c%i6m1bc`$5Z3SOy*DneG6+JeR?jivry{U>9%ytlD_$88Fgg;-Sl|$V zes$zxPO_e`s0TAAo`IB=qQ_uPW%b$0izrQu2!!KK#K|YZn8p=sQ&9k0Ht=Zur)?P8 z2XYE+tAK65O-Wtb-vK-z26VxKD8HZ2y8&D(8kIxt|BBFd01COH24)U>fg(4PFMIAa z%TT<~&QjMk9hiDU3J-e%9TpArG3ggw!}NdH6d0bAJN%csQNaN1u|*~NWB&>VE43!D z84ZF$g?#YW)jSZvAh@(eG(`WN>&5-iyw-Hp)r(n8z@Z$5Do3-bG>tO+@ek;s!s`wl z7fV&G0e?)0hoj0v?(ztTEFlnCUEF`7u?C~UZ9xDUF^TSq)d?qn?Sl$O_Y3BCU4}TY z`b4Jbd|3-b^AB7#R33xw>t4Y_BYq597rV*R6}iMhj>&aJ78;(H^QxKqs{usjgpe15@A*YfovGc%Hp{gcRZT*53 zP-?kaT}2qPIotmrrK#;E@4=maGW!9JTFkxDDA%sCngMDqe$*kDcR~}zMuBjUv3jLZ zWWeswP!%W{f@BlynfZ*vZ&0xzI#Oybwhg#6e1a ztVcJP)TSGei|Rt@KZ+c|_9&m^#tlca@>rmWHtvy|MW~_3T`d5wm7Y{ub^IyFF~ejp z+?_jW{ilggL6Gq0o`0Zzy_t5?= z6%83Y?CVK}M_Mj|12&GYhApZT0maDR&vSEO9>d$HIQ6iZws-8Nr05|Wntg*(k+~D_ z(?v$rNbXdrKWrhUZeXc!32~mFEWz`G6NCDI2j@Th4 zQQ(u>%}W`1LnDr17rLnWG8}bGnLAyr|9cpEkb-`-wrn3nKQA=@#n;!e=F|5-7h?(k z2Jve~#{aa<47ZJEI1H50*U$$<&)G(yF!_aoRqlW#>s|ReAxJXuGvjPV2Nu(k9s{1V z@&^3WWD!TTBF^bsZk8vKH|=(S14>C&e}V(A&z`-Eub#Xjkai&QuKpC{D_tyQH7Ohm zeKzN?ZOy@rJzmgEm4I~a{inPw0;whiL}(-lu51g7;WJEe{RjZIojln?T3lPQvvhP_Oyui9H?o znVNmWH5oXTZ_Ld*R?&PEiSIJpeuD2OM0&3{Ut1KMOY11;G(2M8U~uq%d$N9>ENDi^ z+xC~XRw1L##98wXM!7lr`$)ZX(l?^bO-XOX*4&n`XbkcC_aafGitoI?~AP zt~&lY-ml9}^Bl8Y^<=n^dH(^ak%?l@2RC`v*|};UV8EvV9n|8#do|)g zyZ&%k{o7!ZB~4p}iC54T)b}dGX9!o~LMOGe`DQ9)={WMW-OP_9*c4bxfC$PRdhe~~ zwc8H%Q+`t|MN{Qi_hD?<^BjzZxpX8EGg(XHQ9x%${OCNr1OsGtWyXQx=;-Lm$uYBE ziRZDxwb5`C>=}txht%cwHqhU93wL(`=f;4~vXohg;$XRU=|Q6rz0}jso7j*V=7#^7ODJe}NqwocwdBTH#>gVa`8R`s4b(c{ zkpdrDXUR9wYY;rVwJD@?ChD$Yg<5B3c0j$J{E?UYsaje@0kij>I6PDjgeQW4o@DJ9 z8%M?3JGMuQS!-D8_Vfh9%M3qD%PlKAT&v?RAz0suJzU#z6GhDt4Ny)d$8vw{@!9}k zK(bf;PWg1^RTv-d00hhTxQWh%b@(SKVWN7a!=wU#)4CIw92U^1S_m zRsT&v9^zJqC@F{I`Ia^WxNZb$_J&n1$lvz%)u6bBTb!{lGeO z2umq4^{VfBExZrrh?>Pp7({G-8(jyzy6sI|-Tcv8Ip|%BS7GA^KQz+(WhJ~8`!s}$ z=N27B0Dg=-#2T(wAa?ZgNtjDUdT3~D3RxUw{@x@f4~M|h1Ogh)aHR8Y^A5G~)N>=l z)k>QAG!cl)gV}LY_LKfX8e9bQZ-Z0pN0(!E$MF<{Ci;XX zWJ`Pv&8N;b)%-W5dxQyUD(v#mi0~w^83H36W_~Oq6P#>x)I;NXzxk>Q-16^E}(YQIPKqD%q0MRx)xhj`*?WzC-dUK zSa%yr*H!CuOCYMX!<^0*SA6LIybW$g0%aGtB@U^qAEGaM5U%{Rg(k*pF6(I{i+1C6 zog4Q=VMNL<00xWur)hSsY#q(PVcKtMWcrrLHcINu-N0xWY*|jXKK2}0Zz>bMNI0&* zc?v_ui3XrQv;)O*99Z@2An!)U(L zF?VP|1N!C0RRpRVbT`Gs?rX>sa&V#+Mpp0MPdK?RL^AX-J3mlp32emm1EF zB5ZxTBG%lM1Q#VxB!C~@yoFqSe>V6Hnn<(~J`){kA_~x0UkScGOXa;;$_bXlq8pt& zHWD?FbV$W~i;T7B&Yw%R^^H_3rLW{ht3?U5dI4ba64=RupIxC{S$eN&0~?BVj$2~WZJHY~s#tYlNxeC7lRCVMToRc7BBRL{gDSBagY( ztW>*Q7^vn<9s-4Av?rhszXyY9@M7Gm0Cr-`%YD!a3&sNs8xVu=Sz_`Aj^)x3HrER8 z(EK8X@dv^SXtioSk*Ynh?x29R2)VRu@oZnq5)^UBpqRe`jt!D+{B#=Dvg3!@TYui7 z06`!&U;=rKwXqA)(~)h*(@F{QA3e91DO{OFS$~Q znT&^4ou`Iyjm~SR6LL_YR@n=19ba#7b1U+kePz*$4V`J&+bZC~R!l)^f>tu%MX>6= z5x3Aw&)w)M2Gle@Ln&1J#9^#%(B;u;8K-&j#SYcX^-nD4&@=srkkyFU_PV#hjsGim47QMg;swBFZe2yT zq&t7&Wb4Oslm@|l560TzlJLWBaVj^1dW=FULX-V$1_cIgvqG)1NlJ5nbJmsQ7NX4> z#nB>k(?JQrbqGuD1nm6nx5DJjMcE473=n9D8ai<3!V|AwM6y~&c}M!Q^c$RoEhAB!IK?8fU57^-*e~DzjY16NbM^-tk|&36yL3KJ$X>&J#h^?SB7kF7tfbB%|f zuv26T(3V#kv){LuZ#Z%b4Zh$1o$=`dCrUrFNP=maQI3>6LAJwcR#Taf<-%TALw>Ls zi8n;LvQpqz_zt=sl0St}&UXw*bDdiToHL#_nN2;%XDnF$ zgokyp9JkBp%b5*KQFxp$23nD^-vR*TTnM0@utn1jN&tKA02-`7z)@Ch4B}dgigncs zlw%KKZLZ^A?H21+wxxmLlS0y$Q;F%L6p)NGpii#wKnd4*K0s>~^RZg^To>kI7jpN{ z$zlJ93t9gtnX(%=0W7d*fq)-Y^#ZWLNMD5=@Y+heUoh;3PB@C&p{R~4DBs&N=O>AI zR&JSk{98P+j|3&yKa{{c(E!Uro`te664)Ts=oi!|!tO!{h`*bDP26k<7jSH%eVdaO zies0;^)9;#g`Kr7rKGwjJcrO4o^BKhuFAB7c`z5`W@Okc#{7Q}&QcWk(j&A?9}+$8 z&}WZ_9hSJTVBjRP4}F-uVkNDs1Rw(ha4dBLx0)ej{oUK~;4>UtZ;(JL2LvrN>KQ`}eDTi27q%VW8+`ir zTN%>umy;TI=wImtp6L~o5HRBd2Dn3(KXv&2c+1u|Px5~uIsDL%^#62%nV*3V{Yd^# zC%7XVqK(`C5S*_)ZPB z6{x12nYW9D##6TvLi>P60U`82@B!i~SOg>0fzcSJrJsPDJ$1S}X$A9KsDtp_ zR4$kHZ=bWCej*+zWICT{&%nP4p1OX9i1L@2XE!4^V>yuUo5q>C(Qs&S6$C(Cmw;K3 zdCR!kjCuHc)-q+<2@@C&I?Dhqjf!F35DNo2!x{Y~G(ZE{Kd#$rWM*~M=%xO}W zpOYuB1{xH5F2pYr49To!=;#$t)a0s8`pA$fAx}25lb*$q#C|CB8ZP9-^rQm@;dzN` zi;1cQAqCzd|zdQs4#5^%ON0d z5qP0#+)b1rRBe$#>L|(pH0C;l_3&1N0{!2&7F#_(l37p|mVg^bY$5q}S5t1sqX2(P zsBPFH8%fW;mU_)87x{vzh5>4s;68Yh<=M)bRE`}bp-;EIP>CZ-m9mpTODdtK;Gj%Z z_tv5)F&cW`2xMHj;s<4ck%Uo8#>8HX4`6>+)%$B>AejD}c#3_o@xlkzhb^E_uz$6Q#kTo-)USN2HcoqlRwCD5N{D^^g zv=IO6UoHU4li^BkaPbaJOYA=)0Uy;h@+%;c;lKtIY4Ly=8H!i`xU(qvNG^)??^}Qv zh;O6RI*Jt^0oJFke-m{vJ!th+?+S(pbA$*7Q2OD8X+v%-0t2!R_zSgnS7_~$%DDn%5nRLob@Od-G7m7i*5sU=ebD@62mI7_79oST)L@?Vkq8<%=R+!y(!hqZ?iD3&u_joV$W)y=f zj=&|5pgN%COapXJ7`RTIAvQfR@h!N57!=6>HKZSdawz3?+gpc@EN`yd7MS#3UEIw9 z4B0nA93ut$?TFK4{wS|x@vt%b<*ZHH)xv(LfSc#(`()Y02vBti6wi#cUrGZ-H`W|# zz|C7Ybn3Qehx48~2Sx1<1v^0vXFE`34_t&-V#yoU9AnkS(XZ*S+7bT}lZ%QktD%S< zGl7EemWdS>%%gm~Mt}6CTG_@=+Rsng&+LmpyJvM;Cv`<8!x-kRpb}rz*=`QFO6(Ne zJv9g1g7G&X4+!&wha7f8aVD2XKKi4y`IPxHIxe>m7z)x>Ny{0O~Ps z4qUAT6hw3c;BUUbDju^p*4Ni};ZZ{(k-D_^JSLMwgQPfSgOQ*TTWYjr6DZ?6MO0W^ z?6N4XH3TkvSL0E@7Chg;Jipt2A5`rErG>{lc~2&(vwyt-cUU?_for)-z+JBUN1WIA zVnDnrdTd9C`{B^swHuo;Oi;f@0<}*1Q(wVVwBV}d&&2F&zownHqsDipnc8Ex_MJef zOT*L{#X+Iq=2>w0_(ajL=`uALMDTU+jOhHJ{{NxuO~9#a-}cd^lmM(-D@D;HQ=%kONJJDWNtsFJA;~-?Q|NXxG+xytN<2!!G z_eRfp*7Mx=b)VOHp4WAaPqJdf&^UVR)@6_Zrn$eoh11g0$8M3Qiq=-1o@fiXC@a?5ts}%t^SO3~@C4KR$Cd?;&OX^^tlk|P#dz1V=bxYbAv@D1 zOC2~deR-+dX|!mZ{{0Xm)(q3kD=<+RZyf)-N=UCZLn!bVCcF0K)a=6mz@fMkq@mjI z#8gg=-o=vLLo@nLO%4Y$ndT>q^!BRhW_&cU9hhRg>A^LzA=)X%`O@Q!9L(?UZ&Sm> z;YubC(n&|!z?!rqUQ8_wUUcPj?F*wpw@#_?$xV2*q;qr&6$`w(zrTMlnDQmz?YILw zvv(aM-V5HUR9dmfo3vu~eImj-+gCQTJzROIjaO@)PeHHyT5r2dZqGZ$7?BrJtlK=> z_Vk`|k1kpj38N!ZqR`w}4b}VZwq@rWqNDtUK+nqGKUJ-A0-e|!0r@GOI%YU`l*%k$+DhM%e;!VoHY?^nyU~VH9YcZNk567vv_gskZ$@}V5bo<$}XX^1Yx^nZc7CPx1&l!@`WY!NKx-ZjR z_4t4fKbOzds&VC_&f%d9>gjhs?K0;!MlPnRa$S>WPfJU~o_m^lVwT!$ozl_Kp(hli z&b3Bi>eE`$Ge=e&`f}~@vc6IAYIJNsEn^L)R8mgHk%5fjA?GD{UUVC_sD zuX((x#o2ph+2F*BE#X#@LsjL5A1oC3?+r2SoLjawfa%$l&C8mdSzlyK>&=OO?2q5w zzrK5c2-mlI*%;}A8I5*|Ej}}zzgRp)Jf{9!Uizy_O~t)ex1~onfKPS?4LN^$2q#Q& z^jw&ADN*-FPD=BLvG~_ z90740Dn~_Vj=67Y8HOG$=sSNQqiGehJlC~|KOeWupE+_b$iSr=quvLlY~o(M8ojpG zs&@QS4S501)9Ee$To;aYtI}O9Zl$NI+rT8mCF?QO;JBVU-CmOCno*{nBk#_+QG+{b zGLkaI4JJZj##rl~nQMm0hM)JA?d3WhXecuJ$>iNg_Rz8DyBlAurWkQ)&hS*@Nq!wS z3!hzTc6wK7gu^JcWu8K;RoD${&&dWfhh2Q-dp5!?rg5?S`BwA%)G(G>=3r9Igxd^m zGy-#xnUa$GxEu$YrOy@z&((X2wz2Mfqna| z@9!i`$ws3uUE!pI{OCR42|3?5Xy90IR*#c>Hy4rb9^8?cU|ByGDvj66`bW; zXI4`%))@2g{0i`&BjHjfF_=iF=a0}Do7$e#5bX>r{gw+6x;i=@gX137*t?Sk9G*FR z%- z<%eeOB{})33Oo**_A<>6DE8}@&!4?YP8lu&zP#e&%g%0?iMfbwy1)QU4F;YV{MX_! z+3()F78vCp4rPhHAP-C%#Zg^VbMZ`S-R$`6Ov~F#*0U4!I}5lulEp1+ZM+1+ZOOR{W--n{}#AwuvR}(B%*e#`4u*oAX<^ryEvvhMr#bo z5ri;&b={HZlh~wY$~YFUx>-tw`{%|EVQL}YckOJzpJ�irU#a8n`G|4b$B(ov`)4 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
        ?`_>Ri?7cspA2Xn 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 Qc|3=boT}_28MEvE4_+-sA^-pY literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-Job-BZGSBA-density.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-Job-BZGSBA-density.png new file mode 100644 index 0000000000000000000000000000000000000000..eecadf673473315d73b558a88a511aeef75adedf GIT binary patch literal 27183 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%0D!uYhro2j8o6>X!3kF#9k@4e8>; zqsygv>g(RL?BULA$SWzuDq(7Dc^{}dFAN#paRv66#ya)}deV0$z<-ubQt7CTsd=nG z+y6!>P4I&cs`kUWZ_=a2?h}lX+Pxr+`e7ZT-`c#Jo%l5Q>&Um_!JOWlgQ$SBqrI(s ze=1Eoaz3on#G|9~D_yTk~_s^OL;3av6EL3`d_i*gLS*fdL>H`ac*8I{XE zuw4+)J$vvjSyCv!@O?q_L+EqS>2kBaNEnY7ueK@Rtv~IJmy0 z*8O>sv#GtgakQ%k^OxW7V4!$md`FA`SV?k7J-YuNRo@+tKLZKzGG+LS?8)o-B4@!`F79A z06D|BJsX0Jem`Y>{LM8>?;e?Ob7xB)Lq4gM?UlZPIyIWdYZOvO%TxF$Wf{9FO3Taw zCB4a$6H(rh_lJ14lEQW(@nUarIzJvkUriOA(K(GI;0G8HQ-M0NEUYXhCE^<(2CMqo zNCi;z4&b-$|EcC_N9D$$dPtBUX0d)$ph1+3tVneD?7D6G;3#(K41TFEb7)D+t+KmB z62g=Pv^{U>yyqgV17E6eM%9~4_6%Alyfa!GW45)4t;O7dujVCEQB0>duOM-EU&zM; z0S(IE&QIo_y#6h9^T&wKU(~jN$EI$r*4l)r2%Qa*m<8 zQ*%-|?do};KY4f!!lp@dSfLeb_C1(^1S25zd^DbwMucf1Idhfezrtvv&fp^0XiD#0MPikCg$THJBPuTfx6j-c@cA`n2W{P^__xo9; z(!OVgbmr<`V*qAMVOJm}4vH7pa`~sf$ z+Z&PrTds!LnU)7hvxXnJSIRmmUXXbOKXn^IH&_x7L9&n&Js^d1Xm~fQwY_%65C|lD zUtDZs=CLljO{;B-J(V*?L{ic@J>hqqOm_bd@d00j9zRITr$Vm$*!fv5dUQ9tdhO!M zAMur)%dpIsvi{~PTsjG%;qo2XF)s|`9{1@e2uRXF7DCH(=$sRiZP>OERC@sLoN_mq znqOVG!C;2Q!QnJ4@yV8>yY7Xp>*NHsQw~NFarM$1zn7ZgTg+JI7e6w@BgoGKNpAbF z{Y7jF1XUYtZ4BzXQTy-Lcl_)e+{}+*mDTx@v3%#bXW=eeCv6Efe!n&)iEr4eg#Wun zZvRk?k+GaVKIWYtQGdrM|FaXq@`hX@z27$QX>LV)uf#U{T{6R$ioXsObyd?wkww`k zd+pgGW1Y6fT=sxMNf~vmc=^;M=kx7l=0nFB1&J@u{i(XXL9sUN8DsL!&U}0nqM>lq zo5Ny_UmkI@pEfeGpa()s&GPuYd%9j!mU91mNDVLJc;Xlcht7H4=1ffUz=qxDSHDxb zrm~sjOmnBmlAvO`kQ!iS+edyB@afDbd6`>UsT_E*J1Q1WdyE3dS<$tGb!QK`GdTl_ zl0zJ-sZiE0ApXMR%FEy5xH%5IhS_=X_TbL|iky8mfz`$u7p#J>!@ZNNxk$rRv z7XyW(G(Ys0OwUP2vdQ@9PG2O%#s59@qw^xJ^i!1OII=nqXBP_94Rjrm)as zAp^p7E*M#v=o{!QhsRMLxpKA2T~Whve`k7FI}EdRBENr!9Il4;Zt|=46q%n#{@$E* zPyN�Kqm*f0dn_$66l5f5{Jsxgq{;ls-qd4`EXQ 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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-Job-BZGSBA-timelineSmooth.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-Job-BZGSBA-timelineSmooth.png new file mode 100644 index 0000000000000000000000000000000000000000..ee847e93aa349243a3aa1285f6c01f7ce049d13c GIT binary patch literal 141290 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�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�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%0DN`|7L2L&||7Nd8e?Eo905DAIAQD$rsKOuR;(! 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 E0hCz4A^-pY literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-cummean.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-cummean.png new file mode 100644 index 0000000000000000000000000000000000000000..3a5f2e45deb1a1e2df2e68d868801a45643f25ad GIT binary patch literal 116102 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[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 az#P literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-facetTimelineSmooth.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-New-facetTimelineSmooth.png new file mode 100644 index 0000000000000000000000000000000000000000..a7555eac29afd8618093dbd9b9cf028582bcab93 GIT binary patch literal 142159 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

        OU|@*7m>--| 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

        u)|KG2fH& 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≺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�Y4~&FDtlYf#WoCzd=6O+QCQGlF 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%0DW3h zb?gc=F77u_6;#+})(;4UbYM)2&NlygtRDw1!1x@WAHlN+hKDz;UE5LWbdXNHAa?eT zag$plcoLe5ihrThfto`mC;=ftn5FlTfN=ct|HyABSyvixFv>qa|1W2p7sT?dM{{MC SNE|0VB~|B;cFBRG5&s3zd;0MJ literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-Job-BZGSBA-timelineSmooth.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-Job-BZGSBA-timelineSmooth.png new file mode 100644 index 0000000000000000000000000000000000000000..b5a6544245d73a192c2e35d65a89238bb2276cc2 GIT binary patch literal 148874 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�F%Dj9vh|bhk94J%Yc+$H%Z08^0RLRgd)0=L{i`0pFUZ?-z%)*^}0B;EH`CkM)z~(e5E4-c9vc$2RQ0dyL81ik7o84pLFM9U< zm;Wx#NP@*vsL4(&9*TUKga$^B1dQGc2-umGV*->a98P(A+u08t9spfwb49sl<6G26 z3k-R2agXUEc`p8PT5__k-D_$lVm+qOG#fs5ou1%uEsy#E&f7&-@xi6kP?Ik+_!YvbbJ`n)-ND?LLfBHd9n%~PXfu2D|%jj*_W2iex|Cy?G}T5 zJ2ZJ-@O&tDMLJ_O)5265|tR6!4;WYvg(A^NV(PI;A_oA4P(3GRgOjC#%elho@--ILGs(%B$u&(%x0UjxGE!MV z3Bymv#ag#^U1741LnpBzzn?n*}Tv;b%A{8PUY9ePa36C%?HH(!8+#?p0#h+ zRCY6UFIw=D1?$brJgo&~W*qquGtQ(#%U4 z3Q#br7Lr$0r=tg&l9bG)WCmYuu2%8VrvrS$RojOI1byGu1GkIOelE)p1{D(U^%~i@ zjpuKH=z>fCfbH!WAp{sX-1j@xRQT;4T<{AGP4(&ZW`MZdFdxz*c~Nt*5)yV_mr5(a}o( zDodVUEsL1bi~02?{`Ez*6b|LJ^~Y2TnBo&UmUT9+2P~S1x#BPfP?YswEr7#WevVo? zL%8J9)-?7t34VP2i>9x8?m zFW>*J?0ibyI#Vr`nta{x5ObHGtEge@w3oH#S%-S(9c>J-O1*UM15sPb$3l4DhJD>y z81bknMlOmP*ODe?Bxa1GmD??5BUgw`E`K(cs8U{~JbX*K6ZTr#ZoYV^^vef4!saTc zwgMUTQ_0IDye!6^B+;oJv3Kjed)L-!IWF^IaVA{C=MC9=-bLo5pMlx|Hf>`;6Q~AQ zQ1;q@%F<;%2WQm8;Qn9h-`zi2ysD+fxlA{QNU1Tha|Y)Oq9fY4F{g(RlsQ{lc(OLh z@+urxll`PJ$-^+x5@&-wR;i}WaXyriqdKHfzGRCvF`EO0U@dcuf6-M=Pkz0b#492 z2j4YrTTKPRwm&}qX=%<^8O?_J`yk#Ce~95BRk$~N`;vKMK5_3!Mdh`7h{&ODX$eyRR9j`|F*L+P9EpHc3B0%}_196ePiG?x5=FBrC#2 z#63kESsd?Z;OwmGSyr?Yl|v7;lFvfoU7+PXGPBF3Wt>kF z1kVedjz(FP@a1rb6vhO1%q}+gdnG*fLCjcQJS2iArM`rbKQh9v{-#U<|Mqsn^+TLhI0S=3fmb;1 zgzAd@nLiug=DYIH!|JU{IBh57mo&`Cndh0^pUNvptaaj?eR23jL&HqH>PM9*w(J%w zyUnYokDE!S=RHmlhSXJi;P`vf>B3ul^JiXVzj$DOpB2DiUfpP3ZXFLFdqun-A4kF8 z&ED%*4*iXiil`V3odZoAcPbq%Q&9+&T3%i+&n6FPKJm@VATpeuY-OHm<)5#;S9r)X zorP6@Q7;_)L2-|N$f#Ad@wPT6OqnGO<&dNetk8%0XGufitvlN@Ot(f=e@7p-=W1PSOTH0t|q5^_o02EH0Cp7!@o%Xp_%`(n_3TB+O} zL%G4-_At|uv&HK1gHZn%F4$jU7Eu@+cp5p;8qs7RsOS5(!xc3_tH|td5yu}y>u|r{ z-%OLYoO>cCE3STKQ6|Ri=@;kpVV1&~S>5SNcwtS&rbdQ4Q)Lq6#bJo9Xd5D!DK^#= zv8#O3i%Y5ibN*WT9@t75*s7zAR)lLw5j9j5FNk*Ak8WJ|{MU4^pfC?pwcf?`a-~qX zMdaJV@DHOZ9rm$Ssah%-bJH{xT!PXoObVI@tGQZvT)V>IbX7GrtK+ws#zNb#LEf_= zR8ED8e6|#*@9-3NJ^?59)M-KrQt`1OEldaVe2?9(aSsh?U#_zA z%-f2>A!+5tq*>i_r`PR@_jKwVIw@95_GhhNM4X6@>khs@^Ux4F9ZS@PYc6tt8r{G6 z3`B5KE8;L>r&uU$LPjqj^V*dos%lqLFMy)_jZfQADIO|`OtPB!CkJNPr10Mn{3nyN>#&_uE)lUKD7` zs`E=}s2vDy^z7GOFur4^5k{b<78%cnjkd6=QMwhzWnd#E9_a4_&;o3nf5G28D z@7{a6fMIX)*gBPo{-uS7sqdx+UaDxNn#(S4dG!88yQQa&SzLT}3jH^Yj|Q3z8T7RV z4CasXgk66uwgpHyuk4e0f&eq&s6RR4G;MiPNNKJ52B%5KdI`AhAuJM$x~(d-6JAFT z#w0QJs;c;lq6SgzNw$Xil1Ea;jXw}++_ZC!ltu!z!JFimvGr?8%>3$=zMN|~VCaWE z^cAJix>_`Cxe+YJjw0=MJMz36O{yVr=P$mDmUlv{8W}_gl9xhAY0&rP9vF3G+Ht+} zh9}=X2qroeNnCt$W(*5)L$O^YT`&A$Qu#(oacUYpJ|VHsWMi2#2`kUVG|iUx1isnI zRrGT^AddFiauLDDq7^dk2=0~TD}3atanmc%!qDg1#aL}Sy9iPg_+2cT3S~X4Wb5)_ z0o%D1FbT_4^0Es%bebGKUL2Qi6|B5^xjKoh^yd8%$@M5Ur@*pek`Lh%w_^9Dc8cnG z1??PjPT@-P3 ziLIjG@O)FESx58UHN&Ud?=Y8jYc&*0YelCnhhg>xleN+q_>8qBI*N8&qvlD;efSt3cE7j3*;QHN!{g>SL z`}>uGgLrUaHn)Q#B5R{C5OUyK(V{gJ9?esK>Y2Zl_+;VqVAHE2$JDR!Ds^Y5#9cf} zHaPLJ_x41z5{wH3uUH@?hJ?fnP$Xz%gam#UQotD|EB01wZ%YNqq-OThKujEc8Sg^H zlb29BWu<%Z*Myr!N9%v-SlcoD-qG2qo7{1?bn&mHu;lAS7mbz%8tiD2KDVQu&!fa3 zr0|BYtAUV`3qs09TltrGVGa{TNSdOmtm~8^e$enHBR<>Ry%|Z+P)J|hg-K}>p!2X1EmU) zSWSWnVQJ)z3Q#sJ06rnRX785+$kJB>HFgf`0H|oXRP7yj?+;s)Qr2rrFIf3)t@5sS zHJd#^tt`N?p}10Wg*VUm?M7#`XPx}}%Dv9R;>vvCt3;B(>d?ELItiCxKZ*KlU^wDv zqU`1mSkUv#0wx623{h@R0GWY~_4Zh%gYm6vp+)GS$e#OX#gCnk2xX>(>IK6mEKmz7WlaY0aTq}}p^gJ#tB$@8p;V*F#nmL^tZ!WefeVLY#}+p!x}3cmPyU*oN(^lPMnwt?>7WUV4U-g$^9+J!uC3I zr4s&6ePcG)ld4_Z=k-{tDqL1;8?99Wahe)(h<404tym_L-;j8X>I67xpZ1 z)C({hPwz*7u|Ll59Viv@huN;Nh;}om_xMEIYyPxXMx@0*J(hf&vt>4Cz*ly`PTFqa zX<;U`rqj@=H0^j>Y3I4P^#jUb!EUrSPpg zJAoZ#Mx0nr$h=a$`;H9A#C6T1j1Uh1lTLn!ZU5%IyYTMp9;q7);VdeSD0+tA**d*( zzdFhC%x}e&>Fiyu_?Z7d2`4GhSd4!+uS&$Eh#ujU9UL4x8e|7<+7+!B}b9^r3M z5xn?B3S6fr95@0BX?D*ZgzE9UKz~WK_a2%c1#YI7P`DjPi05TDK-Y0yPc?U1Zn~+< zE!>-cjLgPmIz{6;O}f+7`J1Zaht%)%U;VVcHe5o{eNvKrCQPCsGUpSw1_Xzlu6$h_Gr z%ZnpLftnhszTffkNqGs=zuTuF)V_xX?+)1cdb9t`{PMb;uts>yy5$ppygYz15q&a| zvURo(*hUA<4Kz9Lh#M*^#YPuA@812H)$4x(IQn-xG=*Wh8ev?mx|+StX5Z?Hy&JLl z87mOe^mr73r+o|pG3`}V%~w52EH68`Xwqu{j?EYY$aa>7Ch}!>HXju#@DAXl7N2>y zctu9NH#>P(u;R_1cZq)V=K_G^kt)l-LCVg-5?}Y*PP+=GZ5lsoS(%^wscd9W|7i1! zG*pU52mK|1r8LAt4UmT6Vz59X3^MukE*RnJD)fm-eq4K|jt2W~z2r*XjY%Qpq-4eT zU9^m;+L=G7<1zW>hPGx)B=en&z1FAFhN`B5f({5O5KDfWO)zInkMO9m`oNBp zf3R5p*Hv9p3LT94-4CuP9^2nlLytLoYmH^Tt+qs_w&0;=6xgeIrvVRz+|({lc7FZJf<9HG2U!YEC@LE3-$K{Ihc zE*uIKa^;GW1F-SPZ*nTi8;L4=OgFcz*Iny0=c{bI@LD=`Uq4VTm{i2t`ud_ z$u)Z8YXw6NGEW-6jXh#}Y@nwl+tQS}y?KtSkJ6V8USSO2Zv6tcDy?MvTQP`oshLf2RLPJuL^AlOO2OUAQkJzh0 z0RB9>636`p57n^1?osTuEIdadxqp4rWA7`c?oEULlSl7v(r^qeP-z?+RfU?=lR?Td z^H0hU2AcvPs2^aJ68P?HYk#pPo|iNT5LDY|^)3aSA&;cW93?p4kV$P5C~yfjuo9~2 z)>)R)m5sQx_e$(X;h^bJaHs8tSl$a`uCEk-;OCzmEM__-a+bLmsC-88@oees#e^E^ z6Ik^Z+fPkz>R_;iB9Q1m(s0Yz*%Wr8P!E62e^6HOWC*4PPHR0SA)J~Gk=DNl;aeF;x>r@Q|l3Mrif}B%^(cgEt z#!R(v_;6xs?KtBG?4gS{QPE_|{KUnsrv)s`=SjHwCZ+3b6}Edq*F%RFqqexMn^J;~v?b|ns_H%A-nVa)`Q`-Cq z*aXqDMK3d_T3FK{&$|@#Q0670*ZKMRb9C}N%%}@|#pN4R>%@D73s3DE0aPyd^O-oo z;rxl3y(|JrSL^RTFSKLEe;MU`nebJtd?VnTWIp$?+SxSjJCJ5dROAoVGqoz*j~M3> zrHO>ZEX)Z`PL|taMs_MNJOevB4x$2N)iV-0bw1};gq;<_v&5kNZ#8V0!aJmXVO4`H z%j zemgml$SQNaZx-gJD*{N(^>9P%DGRp`3@TzR@P#dOst`b(uXgheIpV1Eg)yPiieZ&s zdxIDTSh)>d>kZ)=1_3|zr7!-f49&il)@(E|n=Gayo=M4BEoX`4@o%pfANc1wikI*oD7f|*+HB;Y}R4COQl{f7Yc>Sw~l3a zE)-9w$j;D%k<0HX$U0;g4FmENrNoWABe?xkGBe&elo=%Lnwo3Spo*PQ;8zO-g0j74 zPeS92YkKetYZ-!@n{f{J85wojCl9B+9a7IC(SG6uHhLLoqsibUL{5~;3!7+JN7MzQ zLbc$)4$uC2{BA-AlaJe{v!9rx&bh}-HHAQ`bI+gd?yLP{<;_IT0Wd-ZLWicfdU4Nn zeW2)Z%R7g;8O%|B9JzN#f9ov)Wcz2v_b$NgO@P}&UQA(m#Uk%*^AN!}Bu0+ z{Cf;A*bLknMdI)Z^AJg1y^6VTK zKr|Z8;IpWS#rW7=kjKTMp%^iHIymK~LglilleS!BcRib_^)Pt$PuJ!q5wojE}c}i(9-duy=}o=>lAn z`|%`bb;A~fg)Zy)=`>ujmkIK6`@7++pOT093`LI?GXO;27$Jb*N~xU~&~p&%Kr0;f zLfd=Q&*rq0=2!~9&(<*ZFxE-hyOsB20D-KeesJkWH9P6dAD>S~Nqpv9jpK`B+*gwE zar+GYFGLw~kmB%bp6}T)PNdya*^j-Ht5N~$e~AV}UTEQAaeaQDe|a{Ry^DfI0%^v@ z+-_n!;dO}bg}h$CR;51mg6UYq-GYJ-A$2wY&^Sw(#+f;XlKrtI%|DwGm%46yZ_l#* zF=hEH`*?-(TM}n7U4*=s)pK-mDPilag{@&=s}>h2|3;nGpYotS0z&Q+PXIgFm|xa*KD%N${bU2KVv`Z!wySi=6DUO)&WY# zbRKAe5$Wh&Qh+C3hln0l^mqM*>jhNR{MKZ?xE{_w>`t$+1<_RI$8YVtQnk&SbCP?L zLkKF5iEdh{i5xDMHKV~LLjM;x`Mu%7SE{{zp41D>--w!E2Zk`O5g=U3+aD06JAfA0B}%%7H4 zNpFlhYT|L)r)~F?r;X+{6E23iB~!f;o#qark%M#DUuTIt>`i{3Z3ncxis{mAqum3f z>e+~@kP;uiBLDG7xdfc$Cl8EgSr7$!E{>c3nHhij~~NCxfJQdrk*D;+;t9zN@Mzr$G+sE2nL`@rVh?I5y3 zVDxwYj7~O^?n@&myF1Rp&%Yifv2z6Thq3Qy7`|2pj-N;LzZ5;FV}6w=ZXIlvo^5bC z#OV)v-QC`C_Hh`C=MgY;l9L$(=L1*`f-DFIX=L09rr#n&jl%q%g_QlRcjnGDi;h>D z{o_-on%K;{Uz=LNtQ}Ik4ZNu5hU#VwIDe2w5@rNB5v5Iwf14Tt3Jx9zn zT0@lt2vAZ~PE2Ftf;jg23SR?uWh;qpc&P}YMn_zQrCi-n|LJqJ#a^#JqCi7Hx&htv z(NJ({HKM!-i2b<=B&c@Pl6oM<>sO|wbB~co8|Bh(?g+$TlPU_xX%DZ>IC1MdgM3a24pO~+4(a$ zeWN$glYz>W;j+03%ts=Y_-1^t4iRgVivSubXb5mUV1xkY)w+=~pO9$Lw$*^Bf7qzf3a~C);=$^fX=dmD?j*XTn+_Fu=$Azu4v`Bh^B#2l0 z5Uca;%rDV~#TX2T^q)tu0Ih3v#SBAz`0b`k-m>2>!>#IXhH)pdlt2)x9iU`naA3v{ z?JOt=(y)+qV>dl2y$l`h)_Z7{n`2nKlhERInOT21mSN`XrQQ|kT9bUWEy1k8{Un_S0Dm(sj5^^44pw+K4kb zzj@Tl7I*0a%=DMx8&M|_`6jf0_b*Z^DrL>Bugmb+zE4iREpz+F6$6vs_>N~vve1bP`UAX z+SJ?RZTGTYgK#j5B`Honri-+Mi<6a~h`sWT z2b7ePk8f&fYSSJh*U;G*?OB z1|g_`(C=pfQybM(xjmj)kv;`8NxtXU9-H>5jeqRb>hlGm>>RN*+}bLR2GNPA#@n#Y zih{wY0$KZ6n+I}yg7QMVs~}#i6_*g%;B>GioPy3|~Lwf9(=6%HTidiD%NfP5MZm`%f=3XVDPD;nIRgDMyNI^AyqN3hp#QXOG8} z;&E0m_L3qp*ZZcwmGAYmA_v9vBhjb5B`hd(VtZ~wU76igKS_bL5VbuMv~Z^;u`t4i zsDAsyL9DLRC+P6k??egM5p?l|u&Gans0I2HNYnt&B~*TXOM+92?fq$Dbwojyy(|qG zrV_o!j@bTp%^Zkz*pJeD)-ng`f&C$3M^hp1+pY}kWq7&!f4BgvalR@^8Y;;eL`ZK= z`2XUw+%M4&T!BA-{`2Db_Em>vIfeb(1Q?y!5#IJ$r)vOV9aC)@@^iHF2{H2D4t)~; zyzUd5V(XGB(DF$I=A6>rznxR8c@#LOc8rNh%RZzCIxT&B1eN{gjz6m{VI1lunPIO{ z7~>s^7Dl_lP#%=5bp{c=T}J^OQ-pjm7S(XHWuT@GjTUJDw`U!{mIu(p8@CB z6ifI42vFFUeylzmqI~Gje;gMI1AWGddXQ7$8SR$$H`Jw%0>P8);M#(=hJFzFJ+HvQ-^ipkh9WMo z|KN3&jo<@8N`M)HhyGnqkPRv~7futEcm@ZV!XsFxePY)Y2{YU{Un9`K%}|l%B_c2x z?z4+$;&8|XUFchXsb($H)>DSNOS5jDvCkHef|=+Ea3Jkha%Rf?~b>6)tN>SuDk z&6^`Ty7r%C%SrH?P-oGn@V6;zCp*-|unTw<&BO%<`gn+WKG0eEf#@@IAIM~F%)`Hhu}4jh5yT$*t$A zs_-zA?HT0n-UU!{PPn-s-K+j9eQn-Ut%dW#4R8Hi(u8s_mojQER#@6`Ud7Lb?fIVv zMO%K;P8_zu9ET%kR$WEB0nZs|Qk$msnZKW|RsFdHu?)1Ucl2Vc z6NHiavyNX{z*aE9wi*B6A^J#*z#XS-Rf7X_QTgHzPO6l`Oh`A$g#D)kqTNeRWYY(c zDpPIuGqEKtuwUOWAx(6f?p?|r=d z@Ava0>AvOX>Pox%2_NC%SsOkG&m2!0_l_IlkpKE%uE(M`HQPA{TkasXfHb9ZB04R| zMLXYC0(i5%p*LPs=#c)Xce- zj9>l0Qc(W*5{6Y2(!qMNKnyS={X)bf9&aO_3peveMT6KYbJ&k~dsb1haRRU)L(2Ql z6Iwl;*cG5YZ)jZy$#B>*RMQsBTD53|)_m>M27{o%%cN{~9Q09(;~ zXQ&7ghpe}?x5hGk`fkz0(}k{k)t?9aK5d!DSVnV^`)$HJ&Pyeer}o$atS zK3%vJ@4l}rleORd2k78&uFj#qcbp>YF=YhU$U>;jIa&>j}^)hbTIq2ib$a>ED6oO#+ zOMW>i*9bhWuxV*Z`XZ1uUt;?coHt^ntOEBisa3SUOf8(Ycs*MLB!Gd>!pHyAF%~p3cYw|`#4F_a09gn)`<24P%9OXeqqi0=E>my9>-YDLj*i;S zaqkR_jJoxQrlzL6FXisGlEG+M&b#$RB_$=IJ!H@(926|)(@7l$I9X~_di%@>?G=D_VSYlQ1j%=7uv(3Vi^!xqny^Bd!1i38!iPSl6%qq?Q;Gj$s}WJWht zt-pA58&gn!2z^NRK^%AvMKB!Yk9PI-^+f`gEYrf;nktUM4^u`)28{7b_r7&iRaG_J zvJx20$jE3r4{n>9o8wghZcSwhaFMcKdVliY=6z~!=o@;H6hBIY1ov0=IQO3SA^#7n zV6h0-%%!J@7n#L-UAVX&c*ek;j~W`mSmnNy`}2_qyn*P^r;&GB5)%DeV|lYPGYhSr zv#`3efNUbIMu#oXpRdt&<-GxWNA2E0>(zeSb^KkWVgw!u$sNhviuZMu_vxrYA|d2c zoH??$@GH8}N>#}fZ@rJ;ia5VE*5be|Uq7dydze=c4x>&nX39I--ol|1ftSn=gqnCo zsIa7zQ`>(3a=E)QMBGLqvGzE5(%1(jS^!v~A8YFVn@PdH*{a;_>S}*6G>lH@>H`2-AQwJ5oj#CwL*AvpFsJwF9$NX zb-$w2xqoT!9lecMP1PxHRN&{R^f;;>EP#kmgL#B9=n)`w>Z|={MAHJdy?5uJP2pi> zm;S`WgeMqQ=N?C~3|w=s!(iQA4@>pQA3uKl@&Zxvv}`IyuwMa^ip(j)+A5m?+Lsn| z#PtzfTQy{)zW?DK{+I0VZSR|N1`$ey%}uQcZp!6`-1tX&lqWyf>GxwsUA7QN3D@L} zI$q9$vEr#I$;rpez&sNxVDbCVE6b?BT=3REZ6jTIz|)WLysZfn02}*oSTVn8w^5wT z-_rdb+W|eZ#xZ$VLcnY<*aC#~OUA@duaM^}jKd&AcrGmxTo$9lGUqr)(2job@vI82 z)8Mg_Ov(5gjAJ69_GRILi(-B``&kybTU%mr{e@H&NqDHT}ad2>!byZbV+!BB-Ec@oqtxrL}rj%?X#f>t{ z|LaUJ5;!euakZgIuS+pdR#BRY=RO@Mb?vWxZEXJI&hh8($Wes40zhjhr*$UYY^PO8 z(?xjZ%dPV2=t6yFN|Xx4d3jW~C;m@xd8I)>tyChc=Gf(>jAB z39Y}u#!027*~wNq)<8aUxBB*|LDe;7Si8~e@}~b(rJ2z7yb20^{2hc&cQ)J)z@lF!peMfu_$Ctw>$bsg7PnvmAM}; z#m3yARa-iG)v@ZUPJR<4HMO1|Qmn83aD0^5>62KbUHLtN(@gT)*(~}oGV@vAdbG-$ z!qDa*>tB=$H2$J0=E<4Vl5Yx2>1lphib_&oR!a@Wb_mB~^)Hz!{TcIRd-eB)Q2#ne65y7%#-7wqube%YArrz9ZNHLE$?`2 z9Gv&1PWaY~n>$7B=+tScg&I2F-f%P#J-z5WF3Rv==HV$SZ*CX!;MWBMx?nWu0cTQS z{XJj)en=6Be7ed&J4AEbc6WBy3ar%#4D=M;+TTCr0JuV0gkm&GxL-cc&!-(v<)>jQ zy6X2~N5|gie49S1At%{**iL2!jec~sE=Iq91Hf&AGK)*5!im+|E^6i$oLH6*3<|dG z^2WG5COS!8(#AuT-9O>K2pElxL$e34DEZRa@2#y5yl=|x95;3v8yi9MXn_;>>I)IS z(-MOOo=>p9a_4_Ul9J5e&I0l`Ymz3#yzv4*=rkbaZ=qI}y9g$uvKNND74BkVc0c>ca;@{|7Y8zB?4S6&tL4Axc9>cLi_Nnwj~k zOauY?gV0c&Zy~mfv3M8b@LrLjYJGuI@<>iZjIL0n)Cus1`e>4Jz3fyEU%GU6^yNC< zA$M2)PBdi_rgvDhO(0O7hGkWfB1VXS^`7a_Lwzj&61hr2Yi`g*yKQD+LFGkGe*Pv< z(RVgKdSJF-g62u>io?kV>gvYEGrKx&%IAT*0@QpDe0>TFzv?ICZYd+JmVEyF`5Z>% z_qS_A2ru-#@GnLAwMnTrUe)mQ}OXK&r!rMcu(Zd<1Y@0v7 zuGhkE5o%!glnS&sDuoRN;eVcR5Y1trwk#zyweE zBO}7WoABwR}{chg|M(F__*`k0KLus@sD#$6~aIc6SeH~nh6 zeCQeAnDPo+*&Y}bAT1!<@JdA${Vmt6zy7!Gi#MWnm~^x{7E*2oWg04}ALR%jbxUC1 zHJ1{DeTgXJ;$Kjh-i-P-Hpd(>BeOU!1+8I_&uX%8D3mvE0@KBq#UF{{ z0;V3+*(Q3vP*hZe3*f*&P$qR!?#)H|ohxWn4$FX`zX>=CCI1`IAkw1CsfKYgX!5#m z%{ZAhz_G`i_o*|5+?ZiEQ@?x1ZB#mcq@cA|6716Y0HH33CX zzaZ;^J7-70?a&DTTp{;BEXo(66(T1(6x{Vaw_=x*#+5C#>&f-DVyKZ8kk6Os+dse3 z@~x}@DeNj-3bCNDDxQZ3X&i$er(Y@=vcotDbXehh3c30Zbdk|BGI{|g=J@zHDDyGd z?S;VIhOWnB3T(TF&}b6_(4MVP1$8!FhDdZ;=*SB}|7Q%vH6tv{Y0a zw#S{rq@<+y7x%42lqbNr=dN}z1q^<;ySvubP1iR-f0t=D)s~n4`HO|V+BLg10>bxRzy6s@>iz9z+ ztjeUMy#ZR-ZJ)IE*4yLxvM7ctm9y*q?LZYN*gOg%sr~NUduvO}legkw-+{O1N*zv% z1)uADcLi=p|LN_R_oW;b3DTGLy99N zK7j-|eytm08=ci^uQRQUPc5!UEri4FVPqp0+edw@!fFh89%X4HJML3)IBAm|W0mDo zX1x0B91`B7$_UYcO3Gz#YGUM?XYI?F8ntgOUC)2lIP^jhiOXkWH1b6F>?ly5X7M_3 zqr#+QKCzPBAOL5nllh7^-9;5ZugrRv+o5_;TUSy&J6;G(}YhgMPIT;39RnL-hxAbx;@7RdT|+XD*M z87~V*SErF$_r&kBGa!8~MK!B6h`5STP*@R0c$-Gz|7_N~`a`HWY_E`@qM~$I`hv1I zHawle($Q8&JLT-rXBCm?iE;WTsAG}5DoV{iol4hFg89x0u~(IA%XxEQ^lyE$y_lwZye}_P-ohswyX+gjSXc6(Xk+ z5DPpO*c3loDp%XRUc7G8c+=>tN2YUkeHR!P^YU-N10Dx$jE7FDmLA?~nZ=g;D zm&jNegY^7VQDUtU?#4~<@zI1mkCJsNmudWN3*PuMH81aTVRyhm<2ys8G1q-6JJ+0C zNPon582 z8(mL7Pq=9e1=OrjP!K3*mpuFoxD?uiQSA@%HgIqfElq|MO~!LX!9fCWVl`k5O&@P& zwVs39Dn1SnjGVN;{LA@MXmSWgA5?uqYxvGoq{A3e+Mf6CGV(yp!hxTY9zuUU!XcU; zzY31^^$$uBj3&li@p=MdWWv3VD0Jr+P#=QaOhe-1K6?e2kx2CXPlp()C;F<&v&s|3 zZwh7P%%WFbRf=JlIa(@vvQX>t*O?2eC{}5!JEkylDJYwiIaJTx$wbXpf?P6S7Kz>7 zLPtWavDDO{;EU)Uy%NhC8SZI|E2Lzr>3p}gnH=@E8YGLtl8s3>HHaY^GDL)`nqgj7 zNp0<4xm4p@1zj3j==z!(E*ekd1~Uzcmi#8B$Zvf4+Gbl-2$Sn*i=M=v?n9~^>^kL@ zL^NewGn~i~s&=jKgn-DGGr_T~Ki~W;i=NoS@cLpw9ap?)8lmf`G2CtjEM3Q!@ z48w{r-~G+nR6X?8T__d9JbGn&`EzC;M$flB%f-!d*0%-|U&o^@B~24E3z09@tKv)3 zE|*~ar(eG!i5+;j7XO2e7Lc7U*cv_v34xZ@hWC;aIaT|%O*65awkW669nVDWb~vbtxL~LLCf)NyD_yew~QpWS~k@cGtzM zl^+3zxv(gTH-r^CB+X*^K+w!cBjdB#Lx_~(Key&XJPua8L%= zY#rQEPA~jC_WjkQn?uhBHIJ@2rss=5&~HCDlFWs=2igigX`)+@)-+QD8sDA z$FZr@X-dg?0SB-yG4jbALLUn<4Ixppo6s{bd+Z)>{qr|lsk5nWbvH;7|FH|+#z!MX ztc-ZMmq_$AX*y-*HVha(Lu6ls{(BQN#!d3NcB>84NkX3GW`H|57G0S?WyYn?&hA~V zH@~}Pp4WDxTuCB-SL}TrEFdoB262%GxP1Yk<<(7`k?5;uAZY=8rylT4Y6jU2as^e@ zcNRRi%wutOsHKeQF8{J#30Sxg;?mKBEatv3IfO6vxT$c);^5!S;i4js)l_$md-%-U z-xmC%yLD^8w%cA7zQz~?o|qf8sbdwKsUHFosSt!}4_7VE^6dki=lrk-z7O~@;qbWL zaiZ^0ydcYMw9@1s`3zA5hq6)E(lU6$Z@fm?(oQ-x5hw1V9aDeyKbKt3S9$RhJNw}0 z4v@j4uxINJ`tCT2^ws+`U`q}JeUKqVX+Hw=Bg1ql@f-&9BVeK7QAS2oUffz=6YijY z#F-f>3D^eY9#YMz9HY~2C)?A^gyfT9>4M;6lJIA<&w%7xJ9L#6hHPi-A+$2}mbf7Ru8B3vyI9^tMcIM~5@VWzPH7#+DEbt7d&t5AL zkZL=B{XhAHdcf+z^28uQ5+|dy@*y@~^!f*J$V3C#>Qdw0#`#NU()fqUZ1KHY-l zQ`asE-PZnT0_soLsfDuzXuv}wWbU)y=t35jL7_G0B6MtVc1Mb=dut5CDq3$mj7Tp^s>$V+8XdE_z61VtF_o@ZBBUZfkfOJ z47yO(03}z-=5`jA=gOuQ?xT_Ip`qK>UJbw9ddzsqzC2>w0Jj`s#Y&$8Hvkz_&rH-z zfZZw`Tr6*a??JnW#`6?Z7&|+Ay@#1YrUvnG__(ts0#}lhckXH}t=ojIFVB}Wy{*G> z(&V!p*vP=cB7Ey50ap$=$KT|I(b?CemxX7{A(_e z^K-boB;NCixG>@FrrmYM-j;%Fp=rwXp(X=?BVLuu<@N6Zwo=gt5gP{nqJs>1QF|w| zr()WbIgORsZFv9g)(`&Se%Zd%XvF%@!zNO|-S*92QWu>8@j|Gx{j+QfHxGgO#$9H^ zqDH62mcbg(E1g;rxI^9N`Q@i+i1J2VlZZm5vm_R{Uo&LFfcb&DGmD1oZzQzkyy0!r ze@NY%6yJP%Hjrd5osCu2p+G@H1NCp*Pnm;)7Uys0^wqI}%M9u+3vx=f_jdTswsYlw z+L;aKfyce7yf}n_C!(!6vCv%oUr%IhX&gj05NXN13AsV}U*f^?FVDN*TY*2}6;idi zq2Sq1A5t$K#eo04pAi6524uVRM3uJZ{W$p;rLeUQ{ayPao966))l}MLeZOBh0|Re~ zf1Z(i#e_|VnMKsC;N=&%sFp5Q`GFZA-rF8rho_0kiW?FkKQ6Ze#RO>3waffLp>n^9 zYff+mq!+LLp?*B6x-+!3MxC1@6BL1J7;9OCdmhHxR?IUp%-WYv!8I+a$DMi0T_jGL z?d2GpkZE|&i}blE_+L808QXb?8X(e|lGH|cj?P^S(oxAa#sc;~qWeA? z8lSe6X%)MS{EMxz|M(mh#pY~^KuXTf`2sAKL=GUQyaSY zps=ElKy*5*#Sf&PLeY`E&L1!mp^`pw^#a-T=YS2Xq&pTWp;iYRQusZ}q4hcbl2yZ^nr(1a-9~A6lkn#&apF z3s9Z~d;PO0U>v!^-B>Hab;=)kYx|p#My9h3tOWAJfK=M|*kd1~&u~V|<;=HmU|S;| zF($mN1R(4BK5NH78aj@y;1YmdEC_bw0d}+}KGA0$kT=-z3hZceL$~`sif`9;f-)q5 zgL}X2uH~*B101DzrOOMjN<<=1r9ap}9awVO_CJ%jKvjkZGLuue% zdHUSIzVpnu?=HD*Ed3t{Xha7(dyv4wT7uvVnzF}{uK?lG6B+e&?wP=gu=~@qgL(aviW#X zWxH`=oT%wW9Yl-Zrg)7@Xv)8Udn_}HchrA7Ia@iIx}8=ZgW?4sZ6qM<&{_lJY1|DA zE;YQb{8NJ_HxNca5#6iWm)@JdK~OL$;HuTOIJ@}t;iBh}e+!I(8|uS+lERj9O6ApJ z_IV*2qPWu0^cJ`oL6xaFGLf!>l@Tp%$Teot|b4ljbcIO>4id0ktExHrdWX>h3LBO@vmwz*m160 z7%gaOMMJJDv-ME^POj}x;9Mvfv4|GQnaK>(<;S zNCwu?PrsIy@K6R>()xo~<2mK_9GZ+#Uf8g!N(wqoO}aCuPS!vTihj3>iUpb+a`!EN zMOna5EMo3QubJhI5{4laT5ei3uMENUggh{z2WV63K50ns`4(Eo@>?3hzvsk)m681@ zto*c06cZZU>RO1(0jI%BHoKPk(GABvnz=_$lu*G~YUPE-_vZg91EVJGJ8S5$bT~4) z(0XhfW$GKhUcP^4g5h|g%V+qRS%SzW2vIgImLXPE+z5N_lM)j+EC^B?0cAo^RDcPC zl@sIA`tCyj5FbB7HW_x;t5skxRronyv0MUMmyvpCXE$rr`ot6rJ<|;dO8c7o$)tNr zPv2cQPp0b|c^j$2@XXd;os4c(7n(=t$C#Ta7i!l17M!^ zcLo(Z^i};)U0cssV-Y-(H=?78PF!21ynfzo$pDTJC8c+PLs@CA;=~wbbnk&+5@D$+ zwJ9HAiGAux$Mn(+Qm)i*6XMdbL)Ko0#4pkz!8fwMrbX7NE!G^SL<0EUevzPc7GJ~W zeS#4T-=mRvM-K=?je4k9cAl%Lx(M}qr9Opr!v{dQDkt=rhEonF(?KJ(+gt)&`6(B2ST zNxpg-fbngFxTDkp@m`8RhjQ>Sk8GkP3X657q=u%WvJ_HnAX3_2?4*w)Q-lmOxt~cC zdRz@hJ=s{F=T^{$dEPitGIC|1KoLn_%?K&7XlACPCaaW^@|sd5xpJaP9Nbpc|H#yV zH?XyzOqt!x*Y)0y(ZAEVX;2(^$N}Hy4`DKJx)Kxzr()iUvY5xw15N# zBZ42R^baH-!xhT0f4MuMWe3;>95m>h>{PYBPob{BMx;k0t2s&rQhl>YJ?~YUFABX3 zcuzSfgZPr`LgSRlS2H1~;QjBNfF0H8k+hU!_{M)ub73 zfpq#Hy)%(B6f(8haq_hn%7dl9eJ|F`rmMfDCtzx^?AG$0LohL;W8|#e8Kjma_oa!)OZ^*d|U2IZy z?35(KBw6_>(f@6w@O4aFV2^B;2cWw& zx>BMrUuA<61c%@Z5Wq}7aSm2)iGYCB9K)L9;@!j*8`m8DRRw4F4)V8C0ZciN#Ctx* zHId>dM~RY@F1_#Ddz=iVzOK$lcE>!{&D;(b)&N8p;!tX$=GLpx!jO{^=oej@J;`|V?e^!U1($9_>;dMVbW0^Ug*>y>lOT|M_!ljfBp z2{4jFT?tbMF{*PZ!>FjQr6hBH+qp{giUp3wkN<_@I6LrO+6_vn7-&0W9e0G)&T#4k zQZXzs6>T;j;$%}mdJXuc)=>`fBrmE`1!VA~jCrNnt13Hd(Aq6I<*eskO%FU|g~5hC zP~TSjkv@L#v2il)ohaN1gbI-0p9(0r{A&eTWfg4}0{Oyx1x80tP~=4Z1m6xzVtSyz z^&4l#(ucK3#ITism4-YHt=TD{_~Hz{fB|+zkBG=Dg_!8JsnvEcaT|T(M1frG!7q!)AseHeTb?I2# z3y!?ESqXSHZ~yU9xQ-fM>! z_T>mlV%kAr_|i4HnCl-JA}Yo9FkJB@w;@atrO!lOZ;)cWTJa?xL7`>L%d}+IQOhmpGphT=7-us78WkHOv;Kik?Uh zH*v_ggx$sNzjH2wddEn< zdR{cp4_>gg>-%^aW+~bFM#|fpxfBLbYrA{%+^Jo5}1~jRv=$1EqM%629;i z%|3<5pB@}2GG^7-WkxAEEr06%RhR$fZZ5w6x}#QepSZ4@r3|2O56KKij#MVz^Ozr9 z9sO>zc%=oS?mjzs03*zW>GD_~%fUa2xGvn9fhhvJ=JLG;Bdsb1+zs@c3fe+fsqn9l zG)W?HWh;d~TC3I4`-Vf~Z01Qf?r87v*M+3Z)8vDskpWq?ZxA%-4dHy87!ye9i5yJw7@}YD8YKxP%KKwDn|^?SW6w zw->oV$!YYQ>1*o@n=kA0Kb}_h5nhUYBC>ZzAoUvOqb9M3JMRO7^yziC6MVM06z`>8 z;#%K_3O+drBVeZ?Zz*SZSyOnXaQ7@`mNNT-B-IjMYbkdINv`VVS*cdf-CHlir-qb} zplEelxSz<8UB)AH= z!v@;UL%Cvr(hlh=8eh&%TqRlXm9DHPOfO^@zD@)Je4QH1bh!(94mx}KPp36eN~H;3 zUZO_|4YebQKLx=~yPkpT#rjglWsCPnsCD1AOWf6U9u{?n2#m3@@yt{)wnGAP|aF;&ykQAw;A$aSb zTQFLr4iHe#&XmJ){y*P30pPGtV2156}6v0<_8%A!o zj_1%b-A-dTvOVS1RAed>BIbqw>CqV6y)@@>W(8Y7u9|s7cBGk`m;i>5fge8n_Mld@ zg^Nd;VrEdhkREy*ugii=XoLkxQPkNDL_bevMdzVM5C7#ZGTE2L6qyX$7c&tyzSGYnGR(hkg?8c`%zH3gAru)6P5fhmi znNUwcoJ+c;^BraoqGDK}ZRDsfZ9C1LuDc~{@?}(eg5P7{0C0~MvUjl3B}WuTwu_Qu zl6ran_lr)#O-ol+>oa&Po}+-AxBPoCj%GtIK=>j1EhHt#$LPtmnt(@_g5Fgn5Myb& zXxsbYrVy{LA4r|=g9g{uqkQGOX_5UQ@NA2!G^1yHiKm43R}6j>5iSPH#=4_!>6Lay zUlD<^jeAv=Rbpl^PVc`my<3#uYO})^?cZ%C1{A8~eu5F!X$W2NpY>vO_R23VV2&_Y z$2HM46nh1^C`C`UcO$n3DSl>^2OwP-v>&4^Z}vKYZC4zz09rq3p4@KI#jeXY=to zZUs$EnwWltg@x|>4I4@3rN7=%Luz;xZK~V|!a@Aaw$I4La;6pu8&q_y>nmt{4=^GQ zhi)T-UL#9q**fl{udbh1w9-VxmpLhcQKzBq%Jw?Ca@FcTYpbYwETmG`V-?7Yv|$Uh zOa<;fYvk+r_X<~>rqG1)y_ndd%SveC$EJC&y&Bj^!|=|D*X~D>*%tS@Biy^K^jlLf z222HQ1esx6%~>agUjf4A8N46 zB$4-a{I{Kx0d)Cs9&*?f;ty;fqN!XOjy7$0PkX8sRh7qDSHko@=S~7_BC|euvWGUA z%l*|1X^=yg-BEo%JyRr5v>^W~zHLm&s8!F*;Z#sIXjwPUv5}^GcL|G*j%Mq1baZ53 zU>M~)n;Z4MJ&ucu6C?3dS~$%jxe=fEfS|Y4)k@rv&>Tbi9Jss^c1qOoRg{|04DenWYTxjKLgJ_$(eKX z!Srl!n~=ci?CtFx+1lG5r?`7v%`Oh~F5c`r)6p`{+mQQt-0bMaQyGIJ;lW!xPJ_Oq zjfk3LS3Kv$%XywG8E^1NRO?W>ZVFa3^bPX)(NJ?Dz1NBx`Z4R!0%J-t_002!u6&6d z$R(D$>?>E~$)pVAR|cx1rPgmcnd01|Z22PdLw;jhG2x)#plpGeo7?sL?^5ClxU)P5 z&5EvZm`4S2o@VP@n2%HV+*NAC5%dc3oxe%HU&oSM!xqjo(WR3ximXI=o|H@Mq5G)* zodCD|Rgccqmh(#gl&!FqjQQ2U6!u6hIT=8m)T#xo7R3Kmq8#_x?EA3IOjmavJ!xns zXDWDtmI^-&*3ia8l!n-7(#Ni@uBz5t4x1mSUnFra)R^NoY?FN_w5k{4=Xc&uL1h8g zgZc^OLtlX0$=6W|*L$22Sx~L(A%X!9tK3aHXZs_kU5?09&bqc7 zcu$FWU2N9tD=L1OrLI&A2L_^eT~yVy>(#p z;(1UmjX44!CiAm4L%eYFsgoF4m}URV3Br1c_>Z*@A;Crz4ZG`Dy3ADe3r|o$?F~gk&(|XxTvV8 zejz*%eDG5r1Ld7YodkBQ#J0NJx780r?P+Nf@~C>;KjlJT&9{{|{|>nVv@r;WW$k4X zJ_uow7s=c}U@rS1k}5k>v?-Q?M7Cqz4?KL~|Cs)vjQ#me$DPUkUV)n}xiYRR_yy-* z08i&RgWYMEQCPON25s4D5dGtBA`3NH)J8^*-TBm)iB+>1-+hbu?6+S;i}?GJt!L$N4s8iMy!>E)d6;RqQ^Yby?jvq4aV9u_{>)*)jY z7hR;`1N00dY`~bf<=uqazM*l9jE!V0pKw9147o(73;cVK`YIjNAN}pb80>`)@%Hq* zxmvutEzzv=I`1Tj^S<##Ca#i}SO@=j&jsik9Zf%8D{DEO84_}G;sA~bjri`)vwDM5 zM^RRQIcT#Z^N0{XfB22kq`d4fcHZ^IHq;|Nqz9xx+&Jccbn3s|4!>?JQTn!k0$dw~ zxoQe3<7q#EMc1{6wl_J&e_u<#5+VNYi9J-{V>=9#^DtQH2|cQ8X}NK3yPD4s30T!- zNtD*T7*JjJ*z4>2mXbJCZ5o}Qzxv20=10R6ZUf(djIoMR)GDT${xeRKL8*$-K<=rC zg02tw%c&xC3m!6g3A@ib6H1CtYTd;KX&(wT8D6i6qtoJ3^_f8b@K zHbCbv#2FyJ+FGf((q#<^@2L`qNOrc}(BAKvu*;3`6CUS$Wv%yV?I9HLOsiDIbYQ0l$fnHH_h(Cx&*{ZTT4b8*8PlMXf)UGOT&TVy@{uP?`i@btx()F+ra-vDRYxIlw_HE4?q`z2(`7 zAvM&BI`_$zk)r{;R%M$q#Ev9w!gAz^qe|M|TR3c((UMZ<dLn>oP@Yw?6gxkCc=J@s?TdY9+&%-R1ky?hVSaCp zw6(ZOwcP`#kGfQOSo#GV=u8>#F~y3SV0;`Io;1#m_mK_0pX^5<_|s!CmPyQ2O2qyd zq@)ACWcv>7f*>XasI4j2i_u$K%`N}ggOkbe-YK@CSS)OAH+w|LFs_{2oZM~NPv3*S zt?6~*VZLv&G%u4bTvsaf!Z}shJn(0?_pOqrvR}=NWbqcKO3!_Y2`V{KAUcZp5%cvB zqE~9IYC6o>09lb^YwU-VK_Ex;)~cD}h5ZzdzO=ePmt=9ud(To(ANzZp*9gltoL zO6J#38fMYnYXYQulujxDM1u4Qo4YuEefDMmneWt#ArCM>TzZw3KgY} zVRb_@J7b#DldtC6?8H6@%;_oZUcD7xE(_`e~QH(rdPCPr*hj4w%2)q_fXZEhqjMc{|)lOwKR{F&u6 zI{kW;XYoQ76vx<=K89$YX@7Zls8*+xaRNeO;cV7`(wmMPWxXJDcN;n!g*ZIa*ff5X zDOZ*e<7wX%tqn&`S)3Q$?g;;bU^nQred7Wu?8JXqeIe=Va&1GKB|c@(lg8N=I)h;f zNzWnUcs49UyU!t^AU^uyifaLgsgLohyIwft0}Y8d#^@X>xaPH|3}qT22{0m+hc&BlyrBu zbeABV(%miHsemX*_o2HR=~B9pZcw_BZg}f>zdz5v*X!AP?X~6{bBrax) z1LQATO0%P@kt9KUhjTjExx_`q@_W^Y<_uWO!XL>I0=9{fDE?#0>r@{N`GkbpoVOG} z`NZ}Nid#UT@7Zr_rfdI;HNC_!R+^qUIx)Lf9($YQ$7{eAa!sG21REr@ykEZHagh-Q?5D=Fa9JKx?&Y6(ubH* zgXFvP?9Z+?@*3=kK1#f=PnmeQzXb@;BI5MqWEnI<-ySxjS|NVqkbu997u?GW-NkHO zQv9l_|5^(!zYy?t4v^=feJ3bWt0!J^U8AbX$Rbhy?Kvm`I1Dd5_Y9UyKJXG*6m@xo zv>sgOE$=o_=_f|q^iSrth%?YYKALq;G$ik2`zh4arDrjQ4^q#T(u*hnB?Y`{R5}3R znvB@j4Y|4EQ#MaN7RSM11ds+1eY0naC5&Mc8|e}%aI5;^Bo4IP^fK=QxLEQ$98lW+ z+(ahgUgArOZ#^q{FYy!Xei%@wER}k~^89aT(5k^A{uvR#=Cy09p$AaHcDqX1CD=wx4 zFD7~sO^)|780+*K4v2w4NPO5%`C@4kC=nk*V4saGvY?8t=X*#@!USLU-%5_R;2`!h z@U2qq+_RI>-XsV?aDyBWOKA4%oSfvv8fOQ!wB{vJJYU8c-biO_Ojd zeD61^V~^12${&^hdxvA++`H6}OjD?89L&R$smlh-#F_~L=khT>(GF~t7d-E~JlNKx zN!2xn&ZAfGU9+-)RTQ|rl(_*c?7&bIFyg?66ZQD>8Aso91FM$h1q4yD_uY=AX|iBV z;_>$I6P1_T(7Xt+m_fIr zOgA!a z0mDy#t!L~?h6)H0KpPlrE#|GtLuZG1a3})PD0Qr|%{9R5&L4Ade3sv|w0PykKTNSR zzZXO2g@q0>Q8^7Pv6EI2``=4)&Ei*8 zQNe;Z0|#K9ipTW+-l9)JN`aBUD=Mvn#muC@rEdVuD5ZiTo3o{we*r^-1X1BD2(1f% zfZxC=#*E&^M+@ph<*kV?b|C}Wk}q(@*lJ^(b8KC()5PE^kXNBI;7E8DmEyn{+>hU* zauXOc?)NQHQc_5~wzFR0F#D_#tXxgkw@ocBwzwV4gXV6izT)xK%}jf_bri&bbACm# zgUpkTcf1Ism*=0*iWal>T0E>cIYlK~nR7`?Gk;>8P|%aH=~rn01S(+%vzIqBYG&;0Pf&#&Ue(yCH((Zeqj7i8|BROp_C ziD;0IlhG~a$AEt!;IeIS_yaCx4XcW!QA`(TtnA4L+8JfWEDjWZSc0ggUeiB~%2>@$mx(f!T&<8Aw6O3>gF zk!+=Q#ktD#c;0cdi&}JU3owq@ldkE7l%+P<$V&ii*erYG?RSlV96d3Y5OGkC%w?~{ z&qRjs)D;;awO_WVEB^vkW}O31IQ6%(v5{oS;8&@7(nvH$9wG9X(ML7e{LA$3V2>aL z2R07R7Rhy=WZQX}{hOZ66=X<}xC_Y3WvSF@>bVS?hL=VtT#N%7Md-(F4&+@r@BRPO zdDDc(#*rmW4M<&vz3e4?!`}VD$Ut7Ov=!F>M7dGOTxS9%2KeEC8Dc1D7C>dM6z-YM_ z774}%iVfBhd~Qq-WISpbLP=EZ)f5*dgbo+=I_C-GHR)1q(m$-{DE+|1p&=v<%E!Su zRpqMoq3D?z{w=M}b#Z0yJ*Btrfro_8oC)iT0DCVbX7;j?x^DIdDcBOA(SVR0Ln(N@ z9(yuw$??!BeAfvpIlpvf?YaU|)Y3oWWT#PS9$OAjZ%Xv>ye@hN>8epuszZzOuT_1iqOMw<-rA%ebo4sB%F%1nKux55 z&eTXT<@%WjXHx(~a-8~fB3u28^}++Yp59$!@Uhq+TP-Cedy9?E zptanuJ;PaFNl8gX#RgxGtH8sqMdw@VBA|m=El37_F+!tDgU9End~qDy@_{bbYILZ@OV!uDDBa5M|E8vfrZVwM+Dda3*&TsuJ>vb4ErR zDU>E`jI6%Jlxo`Lk^L3S?b_h=L0?hwyZ=n+f_AVCftc2ubcA(C(iF1=b)QSr%{xue ztbd^JNA~sogYd&~r1!=C9GK(+CXS?f(=#x@f>!(eLOT;J?bmxdg@T&wY%%>{F|s8e zgIU6iTr8Kiu8JoPG&YXdqc+=4`&5H0Fp!tGU<)*-H|o$+Q~~S$E`1& z*?U}Nd04eExYY)us`g75;GTXW0mq>Is+%Q(h@Wfg&OBw)ZxthBw$0Z&^$0qP zkf^YPG708qoE&?v-0G`Uz(Ek>-T;i8d(w9l!1^zbi05VCR`6EN08Td5DnzL+&t#!& z1X+heS{5NdBzSS)!ba{}Hqh3k9F215dRSq(tnoeUU{dN7k&35d=Q<|xf>OEfjCGKZKPG;1e*P z#l&c3t}=orJ46)D-tu&{I912i`jvU3J# zhmE5)!Aq-=1B;b|7P4WlzicJpH!M`DQih=s*IIUd`-$KMLK5#Dn%zEt zsT^QDmx6)xk@a$qiSttY%BtwITlf=h!gGaS% z29O}He!mcI@V&hlA6NO-y?S~L=I=xh3pRn6^y~$ScuAoW3s@X(_A0YMfU<$;^X23E@uC|BN0mPl*NJDZ8E2g z(9KvRF(@nn2e-Yui~iim*mzae;AY(3|8~K&x0uy=qCGo%^|Jl(K3_g%-JqhPVx`(_ z5X5)r?NPhIVT{Y!_88DXPJ0OKQ%}o4FgTs6@Ke(V{TC$n+ma+VzrMu9mcM%WQoU5O z%6V%92xi~g+aFH3SO%K}Vvt?8 zy1H7w>?P|tVPMXc;t%9C92}fMV3~auPbr;oySR0=5orW8O7MTeW*f>ulFX3E#alN^dy9DG(oXv|SyQ`o-O))x8lLNv*%fD1cPKY)Zr|&H3K{ zD2eVuK;@Qw^%Wej&r*@dA8J$o9Ve5w(Ud*{r6MAsYI_}Fg)yiIR(yZ<505i?0O=K> z+C4#iuBw7Dyel%Ty7=`kS`afhFuLo;szVna8g)o;dwN6pn31Nec;%c#H5HggtE2jl zp;WHOFFDWWgJGy$wwL$l=;-p=$Hc_sr(qNWz5+czPwn^bmamtn+?PFR(kfox>`s+z ztSN!(Lin_mSoaiEX)(R_%IeoQ3WUy!o-Ye1N(EU1%D&3`(oPiZuwg9%-~d=0@%8n+ zT=Dn+@Zo^SeX$C_e=tbPWKo_5i1fsq6mXgsJUCcz&jCNq_Fbn{72uhjm@UJ-8!xdw zIYyeMA8~6}(UzCS<=9-%G=loDgpr9I6^4OcF)ce{ZYU>=Wg71jISo#ILKDKK(lPC1 zom>1)rZvuoBW5apuPGIZdm39LZ8tK`MG0P0Gxg%)0%lBLX}eklBOH5sHtol^Pp@Op z)HwF0yOV!&=457mL?gFQzw>*leLc9~ zQ&@9b=lFYaCw!C}OfFXFlPziy>&pbDG=YVVlUIeK{584H?sKz%xpe*=T)*-!*Q)*X zH*XGALZY!;?`^p9_kHpBc4^*6k21r!1<3KM&GiTv*RKz(_qa&d_35s97$rOJWui;n z^fYogYqs%`G-fPuVJ+~C9RRQ7L<-&1WZc_|UVf?t3^o?laPt=xYgXKVpTCFL&=7R1 ze(r=JwNnO_>NRssk*mH1wZ;<>Z8QscT~Za#$)7xUr2B;&x+8LE)MGz|in6sQzKXbh zql=%d^!(14_elC{&iDJ+0H{;2O)ITF_}Swif7uey8J}J)vqH%0pL_$%pz`MENy%C& zGao+!f*B&B4W_~^H#%EbSZs+I@CXteO?nMZ+^B;xCR@~n6eof#K@4Qztum?m28 z<5x}dUv@R%#@E?nOl$iy4xfK|e@Pk&gV*ET?-d1I4;LGuCd!!Yr)ft%7d08-Z{W0f z~Q#rY}Z6N>kGdP@MQ6jnTx4>+Z@oILbDwd4lgQ_94eNl7+= z287=a1D*C=&;%eZE$O(Q**4PYjiYz$lVL2HnkNv#RM3xSoVpXNANs@Hxa!+yvbV3H zpy>i{G~{bO82Qs2FM7eOM-%(5j9(B-f3akeAkoUuaPo>*6<5pSvd&`_x@_>t@W zSQ<`5ihj1oO$x}6%|#p>c|0%2E2_qh2$}07DI>nw0wdNak!wLBWR`n_JEBw{HBOwv z*$u@nC<<)o2)~ruTjFf<#Lnme`|=T&CoiyMrf1er*jM+rfYmYM=iE}#^)N5^oFkB? zKdO$+;53rGS5o@zFywEtTUNiE>>gPy5krcgU*W!-*aGO>(?jLXU}S>o8j5EIU=o+B ze1{YpDDe{b(GkABwezHl*KFjK?evHV0j5O>$JFgE!u{_Bui%SOTJ^6lbeeW{JTAV3 z=O6BYC2JxpRZLL{!OON0K_ll5Nh(wAGz6e%>6%b2R)T75#N6}C$<6qh2|5eoW>a4Q z|E}0S(1Z*o?G5y5VDb%F85;i1OVm$xPZ_gRRftX4((D3KD$7u_Br;#xVK9MRR3gkQ z=8-IbQ;i8o5Jq=ngUBCPH5CkOKHzW`#LW$EP!XLokcfTx9(%NJ=X0%iyux?PTdaLF zyTPJZpn^D8s;&S}G1wUgdZ9I+ioqw(^zs;Z-S8MO_5@@8q*EJ_&FLimz6TrJ9L`g4RAMGE6K%$Hiqg&??dGOeQpyZ-I{dCM_NmMcNw`ak z0_*LTc3t>z&|L$RWdK4xiX9~B>FMnS_3%UU$~|+B?4sSJNu*#Ms4sG#CwcId0osu% zWaO|fK#8u58bTAgUYNV(!`>_YaspfjTt)cEpG)EB)wI7p7H}BBa|t$Y8?w&$ci-4? zus48Q%s9>p%sYL!FgKmr2Ot~qj_wA0TAgMupW2HdoDy@SuU66D@!yH`) z;j++fV<7(3{3F-^_JC&CygGV(I5O})sD-YLjg5hN-1pEq;}%w>SWnTn>L0l^qZ0D` z1x}N*jYNa=xlk<7eR(KY(!g98b5E zxuX7?jPuMpO`Xvj2Aik6jezOM0(Mc5(dp!Z1r|eZ#K1^3$yL{ZvY|34*+jYBx%8h#3z+LA+1X__#L^<&MA4nvm@qY zH>l1de^n_XuYK|i`BMo_CzgF1zJ)fqEr+XpW0A$6JYEza96ot01{lK^1?ez>+|EN* z<5|eOI}s67b+Y#5bHgo-<>$oNI4ke5@PBHv)$g5xjJC&z+pVPwU{9F=3yc)fOyH@f zwdQxKdT5$%H{`Ja-*WfdpUwGfwNTwBVZX94KNa(k; zz+9Lg=LNz`sNPQM`qlNS&9+wdlEp^uovVoEPLZ7>(Z}9^#g9rJGCzg!Jp~zlO>J!t zyEQ>kY5eYoOU;*GgzvHx>MMmrxECEd!BK?OZv+)yhK`#bVEcDHRR6v-WxtZ|*BKlcWS;GLbEtZi(#?U!|RTP7{6fv5_W@Ymej&bb#d{97}# zjp;HSA{0q6WA%P8O?=2d6nfhU=*sx`c)*AN;!68VohlgJQ7Jb}|0+{e<`McsmNH&r zd`#BBK$=Hf?|#sk*kfP--$?@ytUN;4TMuK^FSmk+jbc3?%B(&kHHMIT{wQ_(hhyY8 zbr&>e=gjfbZmFZ~yqeCs_*+x#fj0dLm{+nkN*5bdU7A%`|7r7MrP{UDQ^jhC{tKn0 zrTm8t6o2eXipR&tfi`VL^qKzGFrpzZ`TJN^-rJ_Gk(`-*7L3x;)Nj$IWg~N-H6c?R zY6|+>F3uCzJLty-qplFc+qbt$Tv=2dNx&WC z>iuYY5!qE^02F6}I+tY+Sy~32gW2z5t(}w{Of2!-V7xyB-Ogb+7#HsAO^D+jjNr7$ z`bTgM2o>6hbQ*%c0QvnAmU;QJZKC8}0Fqf5D@WB|>(BKyBaNay7y;11imXYHuk63n zhVx--v`dTrjh5|)=5s;N4K?&&gpCD<@ic4bAAg^jUAg?L{bC-MKxTdf>bsoVU8A&U zYTOta>1MeNPz@wX1{PG@#4YN5hUnr4i16WKttll=Wt09ktDZ$SWEVj{$Lc^X87afP3M%~-r)e!s> z_FEs3z&n`*Azj4&`VRc=#ffiGQ$HJD!^s`nrj@Tq<4&-qhb6A<+ArR2wOp}@q^f{* z`&Pdw7+>EKW9>4jh#8ra4XgMlF=%q_J2!DrpRc1_Y@8QtcM{sV#gh$C!+u2NIqZeL zmctrI<75Uok*MR}n9Ye>CTCJr@fBh+^E+-|%B^we{oBGg&UH6JUc;{yIZtU!E!Aq8t(Xj`A6?6{ZDG|nC5=Y7a7&!Z$o1VV z1br)1cw+E8lE+f|p{O%*rA1(v;N->&>^kT4DY*Q73q=&$+0^yIRdDf#@m4p~1WXPH zd;%k5a`CSC(KxtIC6dqrNQ9+?z{oU;Ak&L*mH*%1$aoV z5A(T3Qu70&qceO#rhNnBR|En26*GWX>B%IXcGI7Wl`>ed{BD+jM1C73nxoXzsy*2 z6d%_?j@hAd+Fu}piJK(i6CHo2i7s0GfxuAM%K593KFN#eg{N7q3op!_I>s-z_x^Z{ z`wlHYoi^|4_}PaYm!_e%W2{j7T=E}IvBX-(IQkxcn)b?@0dEB8q;gkA$c}W(`t3fT z**&jwS$A>Y0`Q|cL!a1E@-|0=E&S&e)9oqAO9jGkcBVJ_3%^^Ao;}fl&VR~dTi#M- zmd3lO1mKU0nkXJajZ<0CS>I_p9Fy>u#LI8bC8D1nx%bS%Y8Oaw&r;5svJ0Hi!Jd67s=e3SZ9B4ih=Jjc!2)t{QZmq zDs|0RjBJmjg?ed;NpbPJykmG6L>T!^BKGNY_1l*0Xp1Z*UHXAhPJg50przJlG=!I8 zN(b92(5!l$hyFF{)1X2O^!qLM|3E_M(IW~FFS9MVBwuC&xkYPtX(DKd`Vr0gN|dAZ zc``Q#3QzY=qofS(yWnA(h$aGc8s1{hoo{8v_A^6oNQjehi8tw#=n7}{;^Dqskp-=@ z<08QaipJy?715QMd@}1bW$PzO70ZfRIhx@jRs*GwnUDMPj}lUm$%uI{H#3meK}Gg) z`V%A}e17QU#8 z942J%QAii?yg9S-WTe@;10_SN+t`y_JU*`CRNvu!Gl3jQSt^-^A+oyK0q05yi%3(0 zX~ECfOe=GGZu^zY9G9K(8c}CApEkomI=ZfBM*Ua*zc13-I8fkW+%ElAj+c#@o?Lg`@1TBk4EP$f4ECmFxUvC?8SOTR@y~< zVQ?cSCK)VE+cl;MGq8y8(e<^1ePyHh5S|B{NL~$-j!FLVy#afYzfr zeih7Mf#e2==zl86>i2q(`;NRp^C;}?PP`!HwiMZR$b=1U0K$>Z%~h}WvOmwyo4REb zWWVs(mkuDUJdH~H-Hk}dFJ)`G`kXbOOBT{j!q)RVg#8`Ta~4tbXQBa&BcS!TOrxlI z>f7WkeMl~4jCNr-xmKz73dt_@w_S5is;Y*a+v{)jE?Ta?Ua6HjAMxUBrH0EqIdhUy zN<9x53i^SIc;lI)b4mm|vza-od$6D~v2%B~C7f|Y3kiKjbQQo>i&DFKh`iBDzx$Fsh8yCfJMCmE^6?weph73jSE zaj{f>#VlitZ`f zhTDb!!e|qYZH?3`_DSR96stCeX*NM$kg=4zu)4d z4o#1EmZFe`$>YBnH2>#CR>HKWcb1FPY8+dNo=-J2NdaC;AmY#l%$=7cf9<$PBPZX5 z(;>!)eLI?@WWml=+qdB6IOze=RCFMLR~p!s`#Lg08C*IRZg0SV<=)tRTaTebC4Pj! zhJkNQvTQ@xAij1iN8LNXAlZcSd2ioKQY}|X7rTHO{jGTgPEZrm# z7m>W~dWX&4tH{iujo}PTo3>J>)CeXnY+rBrARl$f!$K~PzEZpmq6-Q1;i4Q0l0!Wr z81-R1+6yJ}Rc`G@hREQiJ3`{v#!}{Q=a*6|q(YNSO(WK|h52|zJ6?Gr6&Qw8X*#c1 zU2ZHR0q<-=xVvIY#P=Y0bR>l0U8B%vdBC-s`TOd^g`V2EDI_(!}iS3^dR*e(#IY-ZdyF)6&v5Qrk~Q_(7%__GN`og+<(ajnNGuHRpBNl!&}q3vrF|E>{0WP{12+wUGI;1v zsp1#_XIriJGz3)IE%z4-;P#zI%z4{Z+A zo#r!gn7!@?DYGqlM};!a5aB1G60Xv30G#X)`&zN~do$xPDZgk$nd@~Skr(UKe8O5o zddNcB)4UL`kZk`{SX*)?dv#@|pGY*~PEW07?-O(PZA^3sX27Bu^|I$yS_M#Rs~IhL z+RMs@P1({wJ0e;T0k_@VT*kc?FzTj1c^Zd_pPYYM6OuLlyC-0;R!P^cGmyWZrK;_< zDYZ4pl6{NYo6d6dKgoQfpK``dUbg1Ylr2;sFBUmny)BcNsYsz zKjecZ5BKh~nrwK%pJZv|ZE=O`yv@{6&3q*pZ+_zXpm6D$(jwTCHv0G`&Sj z71h0+t`J0YtsxVEYpQ{&&9;fdhf};fDg>zI!o}}yMKY$Ur(t7;)p4;ZHf!i!P9Qso zzOr4yE0SxDkqhhQN`0j4ghTdvKgs`k12=8J@)C#|rO8S8s~KFK_xxIs&mk{mnAtF3 zjivseql-E?C<+*nVCF*)paa#eTtP>DdaP@iTOZ~|{qjw|Lh?TMu@RBTB7wpAy>I_; z>MXxlXjZs2Onh;#i96D73V+ z+#Y?r8^!2MPfst=s7M#`y#Y>wk;Jw$s)I}IvgsLp?-u*LPE_G_Xsreu#BuVis;eKC zyDV`a9bV~350hC));5tern@!`!q!O2v$6s|GA45u9o{wTw%Y-MS8g0qnpJUB5b&f1$tb4{i|rm!dp;y7N*K927cU&7r)2 zy!?6y4S^Xas%F>ukDC6EksH4 z477EI{$sagD?l%=|5*+RUU&~yT2@XD#qkZ`c;=8$GR4Psq}hZMaeMUSX>((lLQABT z?u|m1qXpn&WjP}c?XSBd%VP1&j5|18FZDf5j8EOb8Bueg7B`OWisG%@0r4j^m>jS5 zwu#f4@AZg|m!d_(ql$27jp%(+Sav1`o`SlEFTYEP5yINDiZix=rh<=qgkf>XGlI$znFN=+3xOzFA_Fr1RBQ|5>wW|~0yF*Xbt4M1?r70<0H3z#6Jcj1y z<23KBT|In^()SpLKJK075vHy0(Y11&YdnDfpZT2*IlRO}!$;D4n&QdFfb65w979&E zo1EHOS1b!94S#K2-61hK2$lR~OdL`DIJ4z-hAyR*rJq%h}* z#Tk=t&y>&Q)adY3#ikp^UzGu+oXFL~*VJvI?{6Q^Li zOAUtJMCr9uYqLr*czs*74z*t_eJ=n}A_d!p(#zmg5pVDip!uluE3$Dhf82C5Hl036 z3>!KeGU3S!$;Ip=kCxzj-Dkq%g_aXN?M%Xnq_1w#I4;f698t0RmN-F6eGC6z>XxE= zH}N+M2Wt5%X{~A8VtBwg`Dwtr4xidOVjXpe$qifpGq zE9Y!OW_AhRZW0UmTn*Jc`7yCQ`5cjjGB~su&(-xTvmqHS`!MjJ--K05gP3r|>!daG zjRAFR=Tz;bLgt(+R}sm#zb7)~jq`xn$c$oASG(o&=AcIF;W|ra6F;eA*H=D}r#!7O zH4-w2277`YU5i7XN0NQvTYFH7+&B9N`jVmv7J3LR+Ko`H3r|d$G3*wgQ1(67QKRrvm4D#`FGqusV(d_R}GAghIpD9vj)(D7a!%E*YzlKP${ z6Z3iYl9Zw&PiOnXBkgbr9ReyuLULtD9M}a`&w&@KeY_rMX#RJ-{<>azz-KB%0AYNa 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�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 literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-cummean.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-cummean.png new file mode 100644 index 0000000000000000000000000000000000000000..36e692c761758805c452a6b7141ff2116511a2ce GIT binary patch literal 126446 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¨v33GOcBIR`B%`B@2*yC= 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 E0GI|a761SM literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-density.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-Old-density.png new file mode 100644 index 0000000000000000000000000000000000000000..eecadf673473315d73b558a88a511aeef75adedf GIT binary patch literal 27183 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

        IH-|rfeS{r@IHtE&{#AU2e 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 z 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 z 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 je=7fI_5XiaR literal 0 HcmV?d00001 diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-asm.md b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-asm.md new file mode 100644 index 00000000..07aaa24d --- /dev/null +++ b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-asm.md @@ -0,0 +1,180 @@ +## .NET 9.0.1 (9.0.124.61010), X64 RyuJIT AVX2 +```assembly +; Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks.New() + push rbp + sub rsp,20 + lea rbp,[rsp+20] + vxorps xmm8,xmm8,xmm8 + vmovdqu ymmword ptr [rbp-20],ymm8 + mov [rbp-20],rdi + mov dword ptr [rbp-18],0FFFFFFFF + lea rdi,[rbp-20] + call qword ptr [7F8492EC4C18] + mov rax,[rbp-10] + test rax,rax + je short M00_L01 +M00_L00: + add rsp,20 + pop rbp + ret +M00_L01: + lea rdi,[rbp-10] + call qword ptr [7F849308E220] + jmp short M00_L00 +; Total bytes of code 68 +``` +```assembly +; BenchmarkDotNet.Helpers.AwaitHelper.GetResult(System.Threading.Tasks.Task) + push rax + mov esi,[rdi+34] + and esi,11000000 + cmp esi,1000000 + jne short M01_L01 +M01_L00: + add rsp,8 + ret +M01_L01: + xor esi,esi + call qword ptr [7F8492EC6CE8]; System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task, System.Threading.Tasks.ConfigureAwaitOptions) + jmp short M01_L00 +; Total bytes of code 33 +``` +```assembly +; System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task, System.Threading.Tasks.ConfigureAwaitOptions) + push rbp + push r15 + push rbx + lea rbp,[rsp+10] + mov rbx,rdi + mov r15d,esi + test dword ptr [rbx+34],1600000 + jne short M02_L00 + mov rdi,rbx + xor edx,edx + mov esi,0FFFFFFFF + call qword ptr [7F8492EC6D00]; System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken) +M02_L00: + test dword ptr [rbx+34],10000000 + jne short M02_L03 +M02_L01: + mov edi,[rbx+34] + and edi,1600000 + cmp edi,1000000 + jne short M02_L04 +M02_L02: + pop rbx + pop r15 + pop rbp + ret +M02_L03: + mov rdi,rbx + mov rax,[rbx] + mov rax,[rax+40] + call qword ptr [rax+20] + test eax,eax + je short M02_L01 + mov rdi,rbx + call qword ptr [7F849308DA10] + jmp short M02_L01 +M02_L04: + test r15b,2 + jne short M02_L05 + mov rdi,rbx + call qword ptr [7F849308E238] +M02_L05: + mov rdi,rbx + call qword ptr [7F849308FCF0] + jmp short M02_L02 +; Total bytes of code 125 +``` + +## .NET 9.0.1 (9.0.124.61010), X64 RyuJIT AVX2 +```assembly +; Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks.Old() + push rbp + sub rsp,20 + lea rbp,[rsp+20] + vxorps xmm8,xmm8,xmm8 + vmovdqu ymmword ptr [rbp-20],ymm8 + mov [rbp-20],rdi + mov dword ptr [rbp-18],0FFFFFFFF + lea rdi,[rbp-20] + call qword ptr [7FE758104C18] + mov rax,[rbp-10] + test rax,rax + je short M00_L01 +M00_L00: + add rsp,20 + pop rbp + ret +M00_L01: + lea rdi,[rbp-10] + call qword ptr [7FE759074BD0] + jmp short M00_L00 +; Total bytes of code 68 +``` +```assembly +; BenchmarkDotNet.Helpers.AwaitHelper.GetResult(System.Threading.Tasks.Task) + push rax + mov esi,[rdi+34] + and esi,11000000 + cmp esi,1000000 + jne short M01_L01 +M01_L00: + add rsp,8 + ret +M01_L01: + xor esi,esi + call qword ptr [7FE758106CA0]; System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task, System.Threading.Tasks.ConfigureAwaitOptions) + jmp short M01_L00 +; Total bytes of code 33 +``` +```assembly +; System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task, System.Threading.Tasks.ConfigureAwaitOptions) + push rbp + push r15 + push rbx + lea rbp,[rsp+10] + mov rbx,rdi + mov r15d,esi + test dword ptr [rbx+34],1600000 + jne short M02_L00 + mov rdi,rbx + xor edx,edx + mov esi,0FFFFFFFF + call qword ptr [7FE758106CB8]; System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken) +M02_L00: + test dword ptr [rbx+34],10000000 + jne short M02_L03 +M02_L01: + mov edi,[rbx+34] + and edi,1600000 + cmp edi,1000000 + jne short M02_L04 +M02_L02: + pop rbx + pop r15 + pop rbp + ret +M02_L03: + mov rdi,rbx + mov rax,[rbx] + mov rax,[rax+40] + call qword ptr [rax+20] + test eax,eax + je short M02_L01 + mov rdi,rbx + call qword ptr [7FE759074480] + jmp short M02_L01 +M02_L04: + test r15b,2 + jne short M02_L05 + mov rdi,rbx + call qword ptr [7FE759074BE8] +M02_L05: + mov rdi,rbx + call qword ptr [7FE759075680] + jmp short M02_L02 +; Total bytes of code 125 +``` + diff --git a/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-barplot.png b/src/Chrysalis.Cbor.Benchmark/BenchmarkDotNet.Artifacts/results/Chrysalis.Cbor.Benchmark.Benchmarks.Deserializers.BabbageBenchmarks-barplot.png new file mode 100644 index 0000000000000000000000000000000000000000..a6496ea1c532ee9b3a98d14361bc002ca1442357 GIT binary patch literal 67623 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�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