diff --git a/lib/shared.ak b/lib/shared.ak index 7c215a0..37649bf 100644 --- a/lib/shared.ak +++ b/lib/shared.ak @@ -271,3 +271,12 @@ test count_orders_test() { pub fn oracle_sft_name() { "oracle" } + +pub fn fees_in_legal_range(fees: (Int, Int)) { + and { + fees.1st >= 0, + fees.2nd >= 0, + fees.1st <= 10000, + fees.2nd <= 10000, + } +} diff --git a/lib/tests/examples/ex_shared.ak b/lib/tests/examples/ex_shared.ak index ced4c57..3b4048c 100644 --- a/lib/tests/examples/ex_shared.ak +++ b/lib/tests/examples/ex_shared.ak @@ -1,7 +1,7 @@ use aiken/bytearray use aiken/cbor use aiken/transaction.{OutputReference, TransactionId} -use aiken/transaction/credential.{Address, ScriptCredential, VerificationKeyCredential} +use aiken/transaction/credential.{Address, Inline, StakeCredential, ScriptCredential, VerificationKeyCredential} pub const examples_enabled: Int = 1 pub fn print_example(d: Data) -> Bool { @@ -34,3 +34,17 @@ pub fn script_address(hash: ByteArray) -> Address { pub fn wallet_address(hash: ByteArray) -> Address { Address(VerificationKeyCredential(hash), None) } + +pub fn compare_stake(left: StakeCredential, right: StakeCredential) -> Ordering { + let left = when left is { + Inline(ScriptCredential(x)) -> x + Inline(VerificationKeyCredential(x)) -> x + _ -> fail + } + let right = when right is { + Inline(ScriptCredential(x)) -> x + Inline(VerificationKeyCredential(x)) -> x + _ -> fail + } + bytearray.compare(left, right) +} diff --git a/lib/types/pool.ak b/lib/types/pool.ak index edf04e5..191d903 100644 --- a/lib/types/pool.ak +++ b/lib/types/pool.ak @@ -94,4 +94,6 @@ pub type PoolMintRedeemer { /// This is safe because we validate that the token is paid to the metadata admin metadata_output: Int } + /// to burn the pool NFT (when permitted by the spending validator) + BurnPool { identifier: Ident } } diff --git a/plutus.json b/plutus.json index bc8325c..8e6ddd6 100644 --- a/plutus.json +++ b/plutus.json @@ -1,3 +1,4 @@ + { "preamble": { "title": "sundae/contracts", @@ -6,7 +7,7 @@ "plutusVersion": "v2", "compiler": { "name": "Aiken", - "version": "v1.0.24-alpha+f02b9b0" + "version": "v1.0.26-alpha+fdbe811" }, "license": "Apache-2.0" }, @@ -69,16 +70,8 @@ "$ref": "#/definitions/types~1order~1OrderRedeemer" } }, - "parameters": [ - { - "title": "stake_script_hash", - "schema": { - "$ref": "#/definitions/ByteArray" - } - } - ], - "compiledCode": "5909600100003232323232323223222323232253330093232533300b3005300c375400e264646464646466664444646600200200a4464a6660306026002264646600200201044a66603c00229404c94ccc070cdc79bae302100200414a226600600600260420026eb8c074c068dd50010a99980c1809000899198008009bac301e301b375400644a66603a00229444c94ccc06ccc018018c0800084cc00c00c00452818100008a99980c1806800899198008009bac301e301b375400644a66603a00229404c94ccc06ccc018018c08000852889980180180098100008a99980c180600089919b89375a603c002646660020026eb0c07cc0800092000222533301f002100113330030033022002533301c33007007302100213370000290010800980d1baa00215333018300b00113232533301a3014301b3754002264a66603664a66603e603c0022a666038602c603a002294454ccc070c05cc0740045280b0b1baa300b301d37546016603a6ea80204cdc4800801899b88001003375a603e60386ea80045281807980d9baa3009301b375400c6eb4c074c068dd50010a99980c180500089919299980d180a180d9baa001132533301b32533301f301e0011533301c3016301d00114a22a666038602e603a00229405858dd51805980e9baa3011301d3754010266e2400c0044cdc40018009bad301f301c37540022940c03cc06cdd51807980d9baa006375a603a60346ea80084c8c8cc004004018894ccc078004528099299980e19baf004301d302100214a2266006006002604200266e9520003301c3374a90011980e180e980d1baa0024bd7025eb80c060dd5000980098099baa00e3758602c602e602e602e602e602e602e602e602e60266ea8c01cc04cdd5004980b180b980b980b980b980b980b980b98099baa3007301337540126eacc020c04cdd5180398099baa009230163017001323232325333013300e301437540202646464646464646464646464a666044604a00426464646493192999811980f000899192999814181580109924c64a66604c604200226464a666056605c0042930b1bae302c001302837540042a66604c604000226464a666056605c0042930b1bae302c001302837540042c604c6ea800458c0a4004c094dd50038a999811980e800899191919299981518168010991924c6464646464a66606060660042930b1bad30310013031002375c605e002605e0066eb8c0b4008c8c8c8c8c94ccc0bcc0c800852616375a606000260600046eb8c0b8004c0b8010dd718160018b1bac302b001302b00237586052002604a6ea801c54ccc08cc0600044c8c94ccc0a0c0ac0084c926323232323232323253330303033002149858dd6981880098188011bae302f001302f003375c605a0046464646464a66605e60640042930b1bad30300013030002375c605c002605c0066eb8c0b0008dd618140011bac302600116325333028302b302b0011337606054002605460560022c6eb0c0a4004c094dd50038a999811980b800899192999814181580109924c6464646464a66605a60600042930b1bad302e001302e002375c605800260580046eb8c0a800458dd6181480098129baa007153330233016001132325333028302b002132498c8c8c8c8c8c8c8c94ccc0c0c0cc00852616375a606200260620046eb8c0bc004c0bc00cdd718168011919191919299981798190010a4c2c6eb4c0c0004c0c0008dd7181700098170019bae302c002375860500046eb0c09800458c94ccc0a0c0acc0ac0044cdd81815000981518158008b1bac30290013025375400e2a666046602a00226464a666050605600426493191bae3028002375c604c0022c64a66605060566056002266ec0c0a8004c0a8c0ac00458dd6181480098129baa007163023375400c64a666044603a002264646464a6660526058004264649319299981418118008a99981598151baa00314985854ccc0a0c0880044c8c94ccc0b4c0c000852616375c605c00260546ea800c54ccc0a0c0740044c8c94ccc0b4c0c000852616302e001302a37540062c60506ea80094ccc098c084c09cdd5001899191919299981698180010991924c64a666058604e00226464a666062606800426493192999817981500089919299981a181b80109924c60440022c606a00260626ea800854ccc0bcc0a40044c8c8c8c8c8c94ccc0e0c0ec00852616375a607200260720046eb4c0dc004c0dc008dd6981a80098189baa00216302f37540022c6064002605c6ea800c54ccc0b0c09800454ccc0bcc0b8dd50018a4c2c2c60586ea8008c06c00c58c0b8004c0b8008c0b0004c0a0dd50018b0b18150009815001181400098121baa00815333022301c00115333025302437540102930b0b18111baa007300e00a325333020301b0011323253330253028002149858dd7181300098111baa00c15333020301a00115333023302237540182930b0b18101baa00b163023001302300230210013021002301f001301f002375a603a002603a004603600260360046032002602a6ea804058c00400488c94ccc050c03c0044c8c94ccc064c07000852616375c6034002602c6ea800854ccc050c0380044c8c94ccc064c0700084c926330060012330060060011637586034002602c6ea800854ccc050c0240044c8c94ccc064c0700084c926330060012330060060011637586034002602c6ea800854ccc050c0200044c8c8c8c94ccc06cc0780084c92633008001233008008001163758603800260380046eb4c068004c058dd50010a99980a180380089919299980c980e0010a4c2c6eb4c068004c058dd50010a99980a180300089919299980c980e0010a4c2c6eb4c068004c058dd50010a99980a19b87480300044c8c94ccc064c07000852616375c6034002602c6ea800858c050dd500091191980080080191299980b8008a4c26466006006603600460066032002464a666022601800226464a66602c60320042930b1bae3017001301337540042a666022601600226464a66602c60320042930b1bae3017001301337540042c60226ea8004dc3a40146e1d2008370e90031b87480104c8c94ccc040c04c0084c8c94ccc03cc028c040dd50010992999808180518089baa00113371e6eb8c054c048dd5000807001180a18089baa00200114a0601c0022c60220026eacc008c034dd5180098069baa003230100012300f30103010301030103010301000114984d958c94ccc020c00c00454ccc02cc028dd50020a4c2c2a66601060040022a66601660146ea80105261616300837540066e1d2002370e90001bae0015734aae7555cf2ab9f5740ae855d11", - "hash": "f3c65c9e1c322c619641fe3513a76e376e1ecb82988e89e3a889bca1" + "compiledCode": "5909a201000033232323232323223222323232253330093232533300b3005300c375400e264646464646466664444646600200200a4464a6660306026002264646600200201044a66603c00229404c94ccc070cdc79bae302100200414a226600600600260420026eb8c074c068dd50010a99980c1809000899198008009bac301e301b375400644a66603a00229444c94ccc06ccc018018c0800084cc00c00c00452818100008a99980c1806800899198008009bac301e301b375400644a66603a00229404c94ccc06ccc018018c08000852889980180180098100008a99980c180600089919b89375a603c002646660020026eb0c07cc0800092000222533301f002100113330030033022002533301c33007007302100213370000290010800980d1baa00215333018300b00113232533301a3014301b3754002264a66603664a66603e603c0022a666038602c603a002294454ccc070c05cc0740045280b0b1baa300b301d37546016603a6ea80204cdc4800801899b88001003375a603e60386ea80045281807980d9baa3009301b375400c6eb4c074c068dd50010a99980c180500089919299980d180a180d9baa001132533301b32533301f301e0011533301c3016301d00114a22a666038602e603a00229405858dd51805980e9baa3011301d3754010266e2400c0044cdc40018009bad301f301c37540022940c03cc06cdd51807980d9baa006375a603a60346ea80084c8c8cc004004018894ccc078004528099299980e19baf004301d302100214a2266006006002604200266e9520003301c3374a90011980e180e980d1baa0024bd7025eb80c060dd5000980098099baa00e3758602c602e602e602e602e602e602e602e602e60266ea8c01cc04cdd5004980b180b980b980b980b980b980b980b98099baa3007301337540126eacc020c04cdd5180398099baa009230163017001323232325333013300e301437540202646464646464646464646464a666044604a00426464646493192999811980f000899192999814181580109924c64a66604c604200226464a666056605c0042930b1bae302c001302837540042a66604c604000226464a666056605c0042930b1bae302c001302837540042c604c6ea800458c0a4004c094dd50038a999811980e800899191919299981518168010991924c6464646464a66606060660042930b1bad30310013031002375c605e002605e0066eb8c0b4008c8c8c8c8c94ccc0bcc0c800852616375a606000260600046eb8c0b8004c0b8010dd718160018b1bac302b001302b00237586052002604a6ea801c54ccc08cc0600044c8c94ccc0a0c0ac0084c926323232323232323253330303033002149858dd6981880098188011bae302f001302f003375c605a0046464646464a66605e60640042930b1bad30300013030002375c605c002605c0066eb8c0b0008dd618140011bac302600116325333028302b302b0011337606054002605460560022c6eb0c0a4004c094dd50038a999811980b800899192999814181580109924c6464646464a66605a60600042930b1bad302e001302e002375c605800260580046eb8c0a800458dd6181480098129baa007153330233016001132325333028302b002132498c8c8c8c8c8c8c8c94ccc0c0c0cc00852616375a606200260620046eb8c0bc004c0bc00cdd718168011919191919299981798190010a4c2c6eb4c0c0004c0c0008dd7181700098170019bae302c002375860500046eb0c09800458c94ccc0a0c0acc0ac0044cdd81815000981518158008b1bac30290013025375400e2a666046602a00226464a666050605600426493191bae3028002375c604c0022c64a66605060566056002266ec0c0a8004c0a8c0ac00458dd6181480098129baa007163023375400c64a666044603a002264646464a6660526058004264649319299981418118008a99981598151baa00314985854ccc0a0c0880044c8c94ccc0b4c0c000852616375c605c00260546ea800c54ccc0a0c0740044c8c94ccc0b4c0c000852616302e001302a37540062c60506ea80094ccc098c084c09cdd5001899191919299981698180010991924c64a666058604e00226464a666062606800426493192999817981500089919299981a181b80109924c60440022c606a00260626ea800854ccc0bcc0a40044c8c8c8c8c8c94ccc0e0c0ec00852616375a607200260720046eb4c0dc004c0dc008dd6981a80098189baa00216302f37540022c6064002605c6ea800c54ccc0b0c09800454ccc0bcc0b8dd50018a4c2c2c60586ea8008c06c00c58c0b8004c0b8008c0b0004c0a0dd50018b0b18150009815001181400098121baa00815333022301c00115333025302437540102930b0b18111baa007300e00a325333020301b0011323253330253028002149858dd7181300098111baa00c15333020301a00115333023302237540182930b0b18101baa00b163023001302300230210013021002301f001301f002375a603a002603a004603600260360046032002602a6ea804058c00400488c94ccc050c03c0044c8c94ccc064c07000852616375c6034002602c6ea800854ccc050c0380044c8c94ccc064c0700084c926330060012330060060011637586034002602c6ea800854ccc050c0240044c8c94ccc064c0700084c926330060012330060060011637586034002602c6ea800854ccc050c0200044c8c8c8c94ccc06cc0780084c92633008001233008008001163758603800260380046eb4c068004c058dd50010a99980a180380089919299980c980e0010a4c2c6eb4c068004c058dd50010a99980a180300089919299980c980e0010a4c2c6eb4c068004c058dd50010a99980a19b87480300044c8c94ccc064c07000852616375c6034002602c6ea800858c050dd500091191980080080191299980b8008a4c26466006006603600460066032002464a666022601800226464a66602c60320042930b1bae3017001301337540042a666022601600226464a66602c60320042930b1bae3017001301337540042c60226ea8004dc3a40146e1d2008370e90031b87480104c8ccc004004dd5980198071baa3002300e37540089408894ccc04400840044c8ccc010010c05400ccc88c94ccc048c034c04cdd500189929998099806980a1baa001132533301400714a2266e3c004048dd7180c180a9baa001002301730143754006002200860200026eb4c044004c04c0088c0400048c03cc040c040c040c040c040c0400045261365632533300830030011533300b300a37540082930b0a99980418010008a99980598051baa00414985858c020dd50019b8748008dc3a40006eb80055cd2ab9d5573caae7d5d02ba1574498011e581c21ddde4417997273779ccc885eacabea7036b75884e0d909b1e426fd0001", + "hash": "c13475afe4beab8030096874113f67a3521f5a96b29a0459bce5665e" }, { "title": "pool.spend", @@ -94,16 +87,8 @@ "$ref": "#/definitions/RedeemerWrapper$types~1pool~1PoolRedeemer" } }, - "parameters": [ - { - "title": "settings_policy_id", - "schema": { - "$ref": "#/definitions/ByteArray" - } - } - ], - "compiledCode": "594a43010000323232323232322322253232323232323232323232323233301230063013375401c264a6660266464646464646464a666036601c60386ea80604c8c8c8c8c8c94ccc084c054c088dd50008991919192999812980c98131baa001132325333027301930283754002264646464646464646464a666062604a60646ea80044c8c8c8c8c8c8c8c8c8c8c94ccc0f0cdc49bad30413042304230423042304230423042304230423042303e37540086eb4c004c0f8dd500a89919299981f19299981f99b8933704004004002266e20004cdc1181b801181b8010a5033704004008264646464a666084606c60866ea80044c94ccc10ccdd7981698229baa001302b304537540162a666086606c66605c6eacc0acc114dd50008110078a99982199baf302c30453754002980107d87b9fd87980ff001323253330453375e605e608e6ea8c0bcc11cdd5010181e198249ba90244bd700a99982299198008009bac30033048375401c44a66609400229404c94ccc120cdd7981818251baa3032304a3754046607a66098607a66098609a00497ae04bd700a51133003003001304d001153330450161533304500715333045005100114a029405280b0b299982219b8f375c605c608c6ea807404854ccc110cdd79ba633048325333048304b304b0011337606094002609460960022c6eb0c0b0c118dd500ea5eb7bdb180dd31982419bb0374e66090608a03066090608c03097ae0374e66090608a02e66090608c02e97ae04bd6f7b6300a99982219b87375a605a608c6ea807401c54ccc110cdc49bad30013046375403a6eb4c124c128c128c128c128c128c128c128c118dd500e8a999822181f9bad3045325333048304b304b0011337606094002609460960022c6eb0c014c118dd500e8a999822181f9bad3046325333048304b304b0011337606094002609460960022c6eb0c014c118dd500e8a99982219b89375a608a64a66609060966096002266ec0c128004c128c12c00458dd6180298231baa01d48282700454ccc110cdc49bad3046325333048304b304b0011337606094002609460960022c6eb0c014c118dd500ea414138022a666088607e6eb4c114c94ccc120c12cc12c0044cdd81825000982518258008b1bac30313046375403a2a666088607e6eb4c118c94ccc120c12cc12c0044cdd81825000982518258008b1bac30313046375403a2a66608866e24dd6982299299982418259825800899bb0304a001304a304b0011637586062608c6ea807520a09c011337126eb4c118c94ccc120c12cc12c0044cdd81825000982518258008b1bac30313046375403a90504e008a5014a029405280a5014a029405280a5014a029408c124c128c128c128c128c128c128004585858c11cc110dd50008b1980f1bac302a30433754605660866ea80f4088cccc8c8888c8c8c8c8c8c8c8c8c8c8c94ccc140c1280204cdd79ba7330544c0101030033054375066e00030014cc150dd40009982a26010101004bd701ba7333010300f00e4bd7090100008101000081010000810100001119299982999b8f375c607a0060162660ae6ea0004cc15cdd419b80375a60760046eb4c0f000ccc15cc0f0008cc15cc0500092f5c02a6660a6a6660a666e3cdd7181e801803899b8f375c607600600a29404cc15cdd40009982b981d8011982b9ba8337006eb4c0f0008dd6981e0019982b980a00125eb8054ccc14ccdd79ba7003374e660ae6ea40c8cc15cdd4981c8109982ba6010101004bd7009982b9ba800133057303b00233057303c00233057375060966eb4c0500092f5c02c60946eb4c0f00044cdd79ba7330544c01010400330543750018660a86ea0014cc150dd40009982a26010101004bd701ba7333010300f00e4bd7090100008101000081010000810100008101000011192999829a99982998269bae303d0031304d375c607600629404cc15cdd40009982b9ba8337006eb4c0ec008dd6981e0019982b981e0011982b980a0011982b982000125eb8054ccc14d4ccc14ccdc79bae303d00300b13371e6eb8c0ec00c02452809982b9ba800133057303b00233057375066e00dd6981e0011bad303c0033305730140023305730400024bd700a999829a99982999b8f375c607a00600e266e3cdd7181d8018028a501330573750002660ae6076004660ae6078004660ae6ea0cdc01bad3014002375a6078006660ae608000497ae0153330533375e6e9c00cdd39982b9ba90323305737526072042660ae9810101004bd7009982b9ba800133057303b00233057303c00233057301400233057375060966eb4c1000092f5c02c60946eb4c0f0004dd6982a182a8011bae30530013053006375c60a200a6eb4c140c144008dd7182780098278019bae304d00237586098609a0046eb0c12c004c11cdd5001119198008008011129998238008a5eb804c8ccc888c8cc00400400c894ccc134004400c4c8cc13cdd3998279ba90063304f37526eb8c130004cc13cdd41bad304d0014bd7019801801982880118278009bae30460013756608e002660060066096004609200244464666002002008006444a666092004200226660060066098004660086eb0c12c008004dd5981418211baa01b303533044374e660886082028660886084028660886ea00112f5c0660886e9ccc110c10404ccc110c10804ccc110dd400325eb80cc110dd3998221ba901f330443752012660886ea000d2f5c097ae0375a600a60846ea80648c114c118c118c118004cdd79ba6302a3756605660806ea8c0a0c100dd501d1ba632323300133001300233044375203e660886ea4030cc1113010101004bd701801198221ba901f3304437520146608898010101004bd701801198221ba901f330443752012660886ea000d2f5c04464666002002006004444a66608e004200226466600800860960066644646600200200a44a66609800226609a66ec0dd48021ba60034bd6f7b630099191919299982698219980f80400109982899bb037520106e9801c01454ccc134cdc78040010992999827182118279baa001133052337606ea4024c14cc140dd5000802080219299982729998288008a5114a0298103d87a80001304333052374c00297ae03233300100100800222253330530021001132333004004305700333223233001001005225333058001133059337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc164c13ccc0ac0200084cc174cdd81ba9008375000e00a2a6660b266e3c0200084c94ccc168c138c16cdd500089982f19bb0375201260be60b86ea80040104010c94ccc168c138004530103d87a80001304f3305e375000297ae03370000e0022660ba66ec0dd48011ba800133006006003375a60b40066eb8c160008c170008c168004dd718290009bad30530013055002133051337606ea4008dd3000998030030019bab304e003375c609800460a0004609c0026eb8c118004dd59823800982480111999112999821181b0008a5eb7bdb1804c8c8cc0040052f5bded8c044a66609000226609266ec0dd48031ba60034bd6f7b6300991919192999824981f9980d80500109982699bb037520146e9801c01454ccc124cdc780500109982699bb037520146e9801c00c4cc134cdd81ba9002374c0026600c00c0066eacc12800cdd71824001182600118250009919800800a5eb7bdb180894ccc11c0044cc120cdd81ba9004375000697adef6c601323232325333048303e3301a00800213304c337606ea4020dd40038028a99982419b8f00800213304c337606ea4020dd400380189982619bb037520046ea0004cc01801800cdd698248019bae3047002304b0023049001375c60520026eb8c09c004dd698140008b1bad3026303f375402ca66607860606e34dd7181e808099b81003375a6002607c6ea8054400c588c104c108c108c108c108c108c108c108c108004ccc094dd59811181e1baa015375c607601a6eb8c0f0034ccc090dd59810981d9baa014375c607401a6eb8c0ec034c8c8c8c8c94ccc100c10c0084c94ccc0f8cdc79bae303f00203c1533303e3375e6e9800530010ba14873657474696e67730100132533303f30313040375400226464004a666080606860826ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc16cc1780084c8c8c8c8c8c8c926330360112302700132533305e30520011323253330633066002132498cc0e00048dd70008b1bac3064001306037540262a6660bc60a20022a6660c260c06ea804c5261616305e3754024646eb4c17c050dd6982e809981100a181800a981000b181700b8b182e000982e0011bad305a001305a002375a60b000260b00046eb4c158004c158008dd6982a000982a0011bac305200130520023050001305000232533304d30503050001133760609e002609e60a00022c6eb0c138004c138008c130004c130008c128004c128008c120004c120008c118004c108dd50008b182218209baa001163027304037540082c2c6eacc0fc00458c104004c104dd59811981e9baa0013022303c3754607e6eb0c088c0f0dd51812181e1baa0362533303a302e303b3754002264646464a66608260880042646493192999820181a000899192999822982400109924c64a666086606e00226464a66609060960042649318068008b182480098229baa0021533304330360011323232323232533304c304f002149858dd6982680098268011bad304b001304b002375a6092002608a6ea800858c10cdd50008b182300098211baa00315333040303300115333043304237540062930b0b18201baa002300600316304200130420023040001303c37540022c464a666074605c00226464a66607e60840042930b1bae3040001303c37540042a666074605a00226464a66607e60840042930b1bae3040001303c37540042c60746ea8004dd7181e181e8011bae303b001303b002375c60720026606e6ea4cc06922104000643b00000133037375260320026606e6ea4cc069221040014df10000014bd7019199b8c48020cdc01b8d0014801c004dca1980c9980c9bae301c30343754603860686ea8c070c0d0dd5000a4501230032533303333710002904002099b8b00148810016375a603460686ea8c070c0d0dd5000981b18199baa001163300d3758603460646ea8c068c0c8dd501624000604a646464a666064604c0022980103d879800015333032302500113300400300214c0103d87b800030323754660066eb8c0c8014dd718190021bae3032003375c606200644a66606066e40008004530103d8798000153330303371e0040022980103d87a800014c103d87b800032337606066002606660680026eb0c0bc044c8cdd81819000981918198009bac302d010533302b301f302c37540082646464646464646464646464646464646464a666080608600426464646493192999820981a800899192999823182480109924c60320022c608e00260866ea802c54ccc104c0d000454ccc110c10cdd50058a4c2c2c60826ea8028c8dd698210061bad304000b32375a608201a6eb4c0fc030c8c8c8c8dd718218019bae304100232375c60840066eb8c100008c8cdd81822000982218228009bac304001032337606086002608660880026eb0c0f803c58dd6982080098208011bad303f001303f002375a607a002607a0046076002607600464a66607060766076002266ec0c0e8004c0e8c0ec00458dd6181c800981c80119299981b181c981c800899bb0303800130383039001163758606e002606e0046eb4c0d4004c0d4008c94ccc0c8c0d4c0d40044cdd8181a000981a181a8008b1bac30330013033002375c6062002605a6ea801058c00400488c94ccc0b0c0800044c8c94ccc0c4c0d000852616375c6064002605c6ea800854ccc0b0c07c0044c8c94ccc0c4c0d00084c926330060012330060060011637586064002605c6ea800854ccc0b0c0780044c8c94ccc0c4c0d00084c926330060012330060060011637586064002605c6ea800854ccc0b0c0740044c8c8c8c94ccc0ccc0d80084c92633008001233008008001163758606800260680046eb4c0c8004c0b8dd50010a999816180e000899192999818981a0010a4c2c6eb4c0c8004c0b8dd50010a999816180d800899192999818981a0010a4c2c6eb4c0c8004c0b8dd50010a99981619b87480300044c8c94ccc0c4c0d000852616375c6064002605c6ea800858c0b0dd50009119198008008019129998178008a4c26466006006606600460066062002605860526ea800458c03cc0a0dd5000981518139baa00116330013758601a604c6ea8c038c098dd5010003180080091129998140010a60103d87a8000132325333027301b0031301c3302b0024bd7009998028028009810001981600198150011bae3026302337540022c601060446ea8070dd6981218128011bad3023001302300232337606044002604460460026eb0c084004c074dd500c09919299980e9808980f1baa001132323253330203014302137540022a66604060266660166eacc020c088dd5181298111baa0010030021301433300b300c3756601a60446ea8c028c088dd500e0018010a501632533302300114c103d87a8000130153302430250014bd701bac300830213754601260426ea806cc01000cdd71811180f9baa001163004301e37540306eb8c080c074dd500c11980124504000de1400000122337140040024603c603e0024603a603c603c0024603800244464a666032601860346ea8004520001375a603c60366ea8004c94ccc064c030c068dd50008a60103d87a8000132330010013756603e60386ea8008894ccc078004530103d87a80001323232533301e3371e00e6eb8c07c00c4c04ccc088dd4000a5eb804cc014014008dd6980f80118110011810000991980080080211299980e8008a6103d87a80001323232533301d3371e00e6eb8c07800c4c048cc084dd3000a5eb804cc014014008dd5980f0011810801180f8009191980080080111299980d0008a5eb7bdb1804c8c8c8c94ccc06cc054008400c4cc07ccdd81ba9002374c0026600c00c0066eacc07000cdd7180d001180f001180e0009180c980d180d180d180d0008a4c26cac64a666026600e00226464a66603060360042930b1bae3019001301537540202a666026600c0022646464646464a666038603e00426493191919191bae301f003375c603a004646eb8c07800cdd7180e0011919bb03020001302030210013758603800c6466ec0c07c004c07cc080004dd6180d0028b1bad301d001301d002375a6036002603600464a66603060366036002266ec0c068004c068c06c00458dd6180c800980a9baa010163013375401e26646464646446464644a66603864646464646464646464646464646464646464a66605e604460606ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94c8ccc10cc0dc03c4c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc164cdd7981e982d9baa00f30503305d375205497ae0132323232323232325333061305c0011323232323232323232323232533306d3370e66e0000c0080384c94ccc1b8cdc380b19b800080011533306e32533306f3370e6eb4c0f4c1c4dd50361bad303d3758607a60e26ea801c4c0c00044cdd79ba6001374c660e666ec0dd498069bae3053307137540d86ea0cdc09bad303d3758607a60e26ea801cdd6981e98389baa06c4bd6f7b630192999837983118381baa00114bd6f7b63009bab30743071375400266064606809407e2a6660dca6660dc60c460de6ea80504c8c8c8c94ccc1c8c198c1ccdd500089919299983a1834183a9baa00113371e0046eb8c1e4c1d8dd50008b198018028169bae3077307437540022c6600208e05a6002002444a6660ea0042980103d87a800013232533307430680031306933078375200497ae01333005005001306d0033079003375c60ee0046eb0c1ccc1c0dd500a0a511533306e32325333070306330713754002264a6660e264a6660ea60e80022a6660e460ca60e6002294454ccc1c8c198c1cc0045280b0b1baa30453073375460aa60e66ea81244cdc4001800899b89003001375a60ea60e46ea8004528182998389baa30533071375408e6eb4c0e4c1c0dd50358a99983719b8701d375a60786eb0c0f0c1c0dd50030a9998371919191919191919191919191919299983e183b004099baf374e661000298010103003308001375066e00090014cc20004dd40009984000a6010101004bd701ba733300e300d0314bd7090100008101000081010000810100001119299983f99b8f375c60c6006016266106026ea0004cc20c04dd419b80375a60a60046eb4c13400ccc20c04c134008cc20c04c1200092f5c02a6660fea6660fe66e3cdd71831801803899b8f375c60a600600a29404cc20c04dd40009984180982980119841809ba8337006eb4c134008dd698268019984180982400125eb8054ccc1fccdd79ba7003374e66106026ea4140cc20c04dd498078191984180a6010101004bd70099841809ba8001330830130530023308301304d0023308301375060ee6eb4c1200092f5c02c60ec6eb4c1880044cdd79ba733080014c010104003308001375004866100026ea0014cc20004dd40009984000a6010101004bd701ba733300e300d0314bd709010000810100008101000081010000810100001119299983fa99983f983c9bae306300313079375c60a600629404cc20c04dd400099841809ba8337006eb4c14c008dd6982680199841809826801198418098240011984180982380125eb8054ccc1fd4ccc1fccdc79bae306300300b13371e6eb8c14c00c024528099841809ba8001330830130530023308301375066e00dd698268011bad304d00333083013048002330830130470024bd700a99983fa99983f99b8f375c60c600600e266e3cdd718298018028a50133083013750002661060260a60046610602609a00466106026ea0cdc01bad3048002375a609a0066610602608e00497ae01533307f3375e6e9c00cdd399841809ba905033083013752601e06466106029810101004bd70099841809ba8001330830130530023308301304d002330830130480023308301375060ee6eb4c11c0092f5c02c60ec6eb4c188004dd69840009840808011bae307f001307f006375c60fa00a6eb4c1f0c1f4008dd7183d800983d8019bae3079002375860f060f20046eb0c1dc004c1ccdd5004919808244104000de140000012323300100100222533307500114bd70099199911191980080080191299983d80088018991983e9ba73307d375200c660fa6ea4dd7183d0009983e9ba8375a60f600297ae033003003307f002307d001375c60e80026eacc1d4004cc00c00cc1e4008c1dc004888c8ccc00400401000c8894ccc1dc00840044ccc00c00cc1e8008cc010dd6183c8010008a99983719b8701d375a60780042a6660dc66e1c058cdc00040008a99983719b8f375c60a460e06ea81ac08454ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c108c1c0dd5035a5eb7bdb180dd31983900fa5eb7bdb18054ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c0dcc1c0dd5035a5eb7bdb180dd31983900da5eb7bdb18054ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c0d8c1c0dd5035a5eb7bdb180dd31983900ca5eb7bdb18054ccc1b8cdc39bad3039307037540d602e266ebcc108c1c0dd5182918381baa04130423070375404829405280a5014a029405858585858585858cdc019b803370401a01c66e0800c040cdc10010078b1bac307130723072306e37540086eb4c1c0c1c4008dd69837800983780118368009999919191919191919191911119199999999800800802017240000ae66646002002444a6660f066e24005200010021533307b00214bd700999801801983f0011838800829a400490002400090001111111112999840008038998408080419840809ba80023308101375000297ae0132323232323232323232533308701533308701307a308801375460d66112026ea8c1acc22404dd50008a5114a0264a6661100260f86112026ea80044c8c8c8c8c8c8c8c94ccc24004c94ccc24404c21404c24804dd5000899b8f375c612c026126026ea8004110528984a808030991919999999980f00f18498080080a1845008098079bac309401001011375a6126020046eb4c25004008c8c8cccc00400404c0100d88888c94ccc25c04c22c040044c94ccc26004c23004c26404dd500289999803003260103d87a8000323232323232533309e013375e0326146020082a66613c02646464a6661420264a66614402612a026146026ea80044c94ccc28c04c94ccc29c04c2980400454ccc29004c25c04c294040045288a99985200984c009852808008a501616375460ee614a026ea8c21c04c29404dd5003899b8900100513371000200a6eb4c29c04c29004dd50008a5130850130a3013754610a026146026ea8014400452819299985080984a009851009baa00113253330a2013253330a60130a501001153330a30130960130a40100114a22a66614602612e0261480200229405858dd5183b1852009baa307630a401375400c266e2400c0044cdc40018009bad30a60130a30137540022944c21004c28804dd5183a1851009baa0043253330a00130930130a1013754002264a6661420264a66614a026148020022a66614402612a02614602002294454ccc28804c25804c28c040045280b0b1baa307530a301375460ea6146026ea81e440044c26804004dd69852809851009baa0011483fa7ede1fa414c20c04c28404dd518399850809baa07732533309f0130920130a0013754002264a6661400264a666148026146020022a66614202612802614402002294454ccc28404c25404c288040045280b0b1baa307430a20137546108026144026ea81e040044c26004004dd69852009850809baa001148000c20804c28004dd51841009850009baa0761533309e01309201309f01375400e26464a666140026128026142026ea801c54ccc28004ccdca8010009bae30a50130a201375400e20062c2c6ecc008dd71851809850009baa0071533309e0133063078309301330a201309501330a20130a30130a001375400e97ae04bd7008008b0b0b185100985180801185080800985080800984e009baa309f01002309e01309f01001309a013754613a026134026ea80140e858c27004c26404dd50018a99191919984d0098468080209919191919299984f80803099bb032323232323232323232323232323232323253330b10153330b10101a1323253330b3013375e612e02616a026ea8058c2e0040084cdd7984080985a809baa01600114a0616e026170020026166026ea808c4c8c94ccc2cc04cdd7984b80985a809baa01630b80100213375e610202616a026ea8058004528185b80985c00985c008009859809baa02b153330b10153330b1013371e022010266e3c03c0185280a9998588099b8f375c612a0202a0082a6661620266e3cdd718428080a8010991929998598099baf30870130b501375402c616a020042a6661660266e24dd698408080b80089854009985b809ba7330b70137520146616e026ea4020cc2dc04dd419b800070104bd701985b809ba7330b701375200c6616e026ea4010cc2dc04dd419b810030014bd701985b809ba700b4bd700b0b1bad30b301001333333333304501100f00400200500103f01900e0121616153330b10153330b1013371e022008266e3c03c0085280a9998588099b8f375c612a0202a0102a6661620266e3cdd718428080a8030991929998598099baf30870130b501375402c616a020042a6661660266e24dd698408080b80089854009985b809ba7330b70137520146616e026ea4020cc2dc04dd419b810070014bd701985b809ba7330b701375200c6616e026ea4010cc2dc04dd419b800030104bd701985b809ba700b4bd700b0b1bad30b301001333333333304501100f00800600100503e01900e01216161616375a616a02616c020046eb8c2d004004c2d00401cdd71859008031bad30b10130b201002375c61600200261600200a6eb8c2b804010dd61856809857008011bac30ac0100130ac010023758615402002614c026ea80bcdd69854009854808011bae30a70100130a701006375c614a0200a6eacc29004c29404c28404dd500c9ba70011630a40102530a20102437586142026144020046eb0c28004004c27004dd50030a99984d009846008020991919299984e80802099bb032323253330a0013371e6eb8c2100400cdd71842009bac30840130a20137540562a6661400266e3cdd7183a0019bae307437586108026144026ea80ac54ccc28004cdc79bae308401002375c6108026eb0c1d0c28804dd50158a9998500099b8f375c60e80046eb8c1d0dd6183a1851009baa02b13253330a101337109000000899191919191929998538099baf307b30a90137540186e98cccc100cccc100cccc100cccc100020dd71845808051bae307b00a3065003375c6116020126eb8c1ec024c194009220100488100306500f375c6116026eb0c1d4c2a404dd50191bae307b375860ea6152026ea80c800454ccc29c054ccc29c040404c8c94ccc2a404cdd79846809855809baa00e30ae0100213375e60ee6156026ea80380045281856809857008009854809baa0191323253330a9013375e611a026156026ea8038c2b8040084cdd7983b9855809baa00e00114a0615a02615c02615c020026152026ea80844c27004cc2ac04dd399855809845809bac308b0130a9013754064661560260f66eb0c22c04c2a404dd501919855809ba8337006eb4c1d4dd61845809854809baa0320034bd7019855809ba7330ab01308b01375860f66152026ea80c8cc2ac04c1ecdd6183d9854809baa032330ab01375066e00dd6983a9bac307b30a901375406400497ae0330ab01374e66156026116026eb0c1d4c2a404dd50191985580983d9bac307530a901375406466156026ea0cdc01bad3075375860ea6152026ea80c80052f5c097ae016163370666e08008dd6983a1bac307430a80137540626eb4c1d0dd61845009854009baa031375a614e020046eb4c294040054ccc28c04cdc4001800899bb037500066ea0cdc199b82375a60e26eb0c1dcc29404dd50170019bad30713758610e02614a026ea80b84cdd81ba8001375000466e0ccdc10009bad30703758610c026148026ea80b4dd698381bac307630a401375405a6606c6eb4c1bc00cccc190008dd71842808019bae30750031633035375a60dc00666e04ccc18c004dd71842008019bae307400353330a001309a01375c610802006266e01208092f40100814800058585858dd59852009852809850809baa01937586140020086eb0c2780400cdd38008b1851008119850008111919bb030a00100130a00130a1010013758613e026138026ea801854ccc26804c22c040104c8c8c94ccc274040104cdd8191919191929998510099b8f005375c610c026eb0c1c0c29004dd50168a9998510099b8f003375c60ec6eb0c1c0c29004dd5016899191929998528099baf307930a70137540146e98cccc0f8cccc0f8cccc0f8cccc0f8010020018c18c00d22100488100306300d375c6112026eb0c22404c29c04dd50181bae30793758611202614e026ea80c0008dd71844809bac307930a70137540606eb8c1e4dd6183c9853809baa030001153330a50153330a50100e1323253330a7013375e6116026152026ea8030c2b0040084cdd7983a9854809baa00c00114a0615602615802002614e026ea805c4c8c94ccc29c04cdd79845809854809baa00c30ac0100213375e60ea6152026ea80300045281855809856009856008009853809baa01f1309a01330a901374e66152026112026eb0c22404c29c04dd50181985480983c9bac30890130a701375406066152026ea0cdc09bad30733758611202614e026ea80c00092f5c066152026e9ccc2a404c22404dd6183c9853809baa030330a9013079375860f2614e026ea80c0cc2a404dd419b81375a60e66eb0c1e4c29c04dd5018000a5eb80cc2a404dd399854809844809bac307330a7013754060661520260f26eb0c1ccc29c04dd501819854809ba8337026eb4c1ccdd618399853809baa0300034bd7025eb805858cdc199b82002375a60e46eb0c1e0c29804dd50179bad3072375860e4614c026ea80bccdc199b82001375a60e26eb0c21c04c29404dd50171bad3071375860e2614a026ea80b8cc0dc008ccc19400401400c5858dd59853009853809851809baa01b375a614a02614c020046eb8c29004004c29004010dd71851008019ba70011630a20102330a0010223758613e026138026ea801854ccc26804c228040104c8c8c94ccc274040104c8c94ccc27c04cdc4240006140026ea8c284040084cdd80009ba70031337600026e9c098c27c04004c8c8c8c8c8c8c8c8c8c8c94ccc2a004cdc78041bae308c0137586118026154026ea80cc54ccc2a004cdc78031bae307c37586118026154026ea80cc54ccc2a004cdc78021bae308c01375860f86154026ea80cc54ccc2a004cdc78011bae307c375860f86154026ea80cc4c8c94ccc2a8054ccc2a804ccc2a8040052825114a22a6661540266ebcc1f8c2b004dd50079ba6002153330aa010131323253330ac013375e612002615c026ea8044c2c4040084cdd7983d1857009baa01100114a06160026162020026158026ea80704c8c94ccc2b004cdd79848009857009baa01130b10100213375e60f4615c026ea80440045281858009858809858808009856009baa02414a0266ec0c27c04cc2b804dd399857009847009bac308e0130ac01375406a6615c0260fc6eb0c23804c2b004dd501a99857009ba8337006eb4c1e0dd61847009856009baa035375a60f06eb0c2ac040412f5c06615c026e9ccc2b804c23804dd6183f1856009baa035330ae01307e375860fc6158026ea80d4cc2b804dd419b80375a60f06eb0c1f8c2b004dd501a9bad3078375861580202097ae0330ae01307830ac01375406a97ae03330aa010014c103d87a80004c0103d8798000163330a9013375e6e98005300101a0004a0944cccc104cccc104cccc10402d22010048810030660100080063066005004002306600116161616375a615802615a020046eb8c2ac04004c2ac04018dd71854808029bad30a80130a901002375c614e02002614e020066eb8c29404008dd61850808029bac309f010043756614402614602613e026ea805c58c2880408cc28004088c8cdd81850008009850009850808009bac309f01309c01375400c2646464a66613a020082a66613a02a66613a0266ebcc1c4c27c04dd50011ba633330363333036375660e2613e026ea805d22100488100305b005375c613c020066eb8c27c0400d20021533309d0100613375e610202613e026ea8008c28804c27c04dd50078a5014a0266ec00a0dd38008b0b1851008119850008111919bb030a00100130a00130a1010013758613e026138026ea8018cdc480080699b80038003308b013098013754012612e026ea8008dd598329849809baa00b5333090013084013091013754002266ec0dd400a9ba83088010141337606ea0c22004054dd400a0b184a00984a808011849808009849808011bad309101001309101309101001308c013754004a6661120260fa6114026ea80044c8c8c8c8c8c8c8c8c8c8c8c94ccc26004c26c040084c8c8c8c926307f00632533309801308c01001132323232533309f0130a20100213232498c94ccc27804c2480400454ccc28404c28004dd50018a4c2c2a66613c0261220200226464a66614602614c020042930b1bae30a40100130a00137540062a66613c0261200200226464a66614602614c020042930b1852008009850009baa00316309e01375400460d60062c614002002614002004613c020026134026ea802054ccc26004c22c0400454ccc26c04c26804dd50040a4c2c2c6130026ea801cc20804028c1f402c58c26404004c26404008c25c04004c25c04008c25404004c25404008dd69849808009849808011848808009848808011847808009845809baa00116308d01308a0137540022c6464a6661120260fa0022980103d87a80001533308901307c001132323300100106022533308f0100114c0103d87a80001323232533308f013371e00c6eb8c2400400c4c21004cc24c040052f5c026600a00a0046120020046126020046122020026eb8c23804c22c04dd50010983f19846809847009845809baa0024bd701844809baa001305530890137540022c611602611802004611402002610c026ea8c22404008c224040054ccc20804cdc480580189980900519b8100300b133012064003533308101307c00213232325333084013371066e18028008cdc300080108008b19b80009002337049002000a99199841009800a4020260340062a6661040260029010099b824820010c068cdc0001a401e2a6661040260029018099b82482020020c068cdc0001a403e2a6661040260029020099b8248202020040c068cdc0001a405e2a6661040260029028099b824820202020080c068cdc0001a407e260300066e2000858c21404c2180400cdd69842008011842008041bac3082010073001001222533307233712900f0008999801801983c183c183c183c183c183c183c183c183c183c183c183c183c183c183c00119b800014807454ccc1c8cdc4a401c002266600600660f060f060f060f060f060f060f000466e00005200d133004002001300100122253330703064001100213330030033076002306900122222222223232337606ea0004dd3199980899998089999808801806005981b002244100488100303600500a0090013370666e08cdc100300180099b803370400e90504e0099b820030013370290504e0080211299983699b880010021001100230010012253233306c30014804054ccc1b0c00520001480004c01000854ccc1b0c00520401337049040021980180199b800024803c4cdc124101010100406600600666e00009203f37100026e392201080102040810204080002222533306b305f001100413333302a0040033232002323300100100222533307100114984c94ccc1c8004526132325333071306530723754660666eb8c1c8c1d8010dd718390010998028029983a8010008b183b001183a000983a0009983799bb037520046ea00052f5bded8c044464a6660de60600022980103d87a80001306433073374c00297ae03333302e001005004222325333072306600114c103d87a80001306733076375000297ae03370000200406005a60d80086eb4c1b000cdd698360011bad306b306c001306b001306a001323232323232323232323232323232323232323307a306b3307a374e660f46ea4014cc1e8dd48021983d1ba8337026660726eacc128c1e0dd5024802802299983b183800288040a400097ae03307a374e660f46ea400ccc1e8dd48011983d1ba83330393756609460f06ea812400c0092f5c0660f46e9ccc1e8dd48239983d1ba93014375c60f6024660f460f601e97ae04bd701983d1ba83333013323376060f800260f860fa0026eb0c1ec03802c024004cc1e8dd419998099919bb0307c001307c307d001375860f601a016012002660f46ea00212f5c06464a6660ee60d600220182a6660ee60d4002264a6660f066e2003400440044034dd6983e183c9baa002163077375400260b260ee6ea8c164c1dcdd50269bae3076004375c60e80066eb8c1d000cdd718390011919bb0307600130763077001375860e40146466ec0c1d4004c1d4c1d8004dd618380049bad30733074002375a60e400260e40046eb4c1c0004c1c0c1c0004c1bc004c1b8004c1b4008c8cdd81836000983618368009bac306b001306b001306637540c24444a6660ce66e200080044dd698348020992999834182e00089bad306a0051337006eb4c1a4014cdc199b823370200400866e04dd698350029bad3069005001337020040064660049101040014df100000122337140040022c66e0cc164cdc01bad306500500100133230010012253330640011480044c94ccc188c154c18cdd5182318321baa304630643754606c60c86ea8c19c0084c168cc00c00c0044cc00c00c004c19c004104dd6983198320011bad3062001306200130613061002305f001305f305f305f305f305f305b375404c2c6eb4c174c178c178008dd6982e000982e182e0011919bb0305b001305b305c001375860b400260b40046466ec0c164004c164c168004dd6182c000982c0011bad30560013056002323376060aa00260aa60ac0026eb0c150004c150008dd7182900098271baa304e004375660a060a2004609e00260966ea8c128004c048098dd6182618268011bad304b001304b002375a6092002608a6ea80b04c8c94ccc114c0e00444c8c8c8c8c8c94ccc12ccdc48028008a9998259999803980c98269baa01802102302513232533304d3041304e3754002264a66609c66ebcc0c8c140dd5000980b98281baa01b1533304e3375e603860a06ea800530107d87b9fd87980ff001533304e337120066660226eacc088c140dd5000a441004881001533304e30420051533304e3370e0100082a66609c66ebcdd3180a0151ba63233001001330163756604660a26ea80892210022533305300114bd6f7b6300991982a99bb037526eb8c148004dd319198008009bab305400222533305600114bd6f7b6300991982c19bb037526eb8c154004dd418091bad305600133003003305a0023058001330030033057002305500114a22c2c26464646464a6660a666ebcc0dcc154dd500118251982b9ba90244bd700a99982999baf00432323232323232304f3305e305f0073305e305f0063305e305f0053305e305f0043305e305f0033305e305f0023305e305f0013305e305f30600013305e375066e040400512f5c060be00260bc00260ba00260b800260b600260b400260aa6ea814054ccc14ccdd79ba6001374c646660020026eacc0a0c158dd501399299982a98248008a5eb7bdb1804c8c8cc0040052f5bded8c044a6660b60022660b866ec13001014000374c00697adef6c60132323232533305c30523301e488100002133060337609801014000374c00e00a2a6660b860ac0042660c066ec13001014000374c00e0062660c066ec0dd48011ba600133006006003375660ba0066eb8c16c008c17c008c174004c8cc0040052f5bded8c044a6660b40022660b666ec13001014000375000697adef6c60132323232533305b30513301d48810000213305f337609801014000375000e00a2a6660b660aa0042660be66ec13001014000375000e0062660be66ec0dd48011ba800133006006003375a60b80066eb8c168008c178008c170004c0480388894ccc16400840044c8ccc010010c17400cccccc058008dd7182c0009bab305900122232533305b301c00114c0103d87a8000130503305f374c00297ae0323330010010030022225333060002100113233300400430640033333301e002375c60be0026eb4c180004888c94ccc188c1580045300103d87a80001305733066375000297ae03370000400204060c400403260b60042a6660a6660206eb0c078c154dd5010119baf3028305637540066092660b06092660b000297ae04bd700a5116161616375660ae60b000460ac00260a46ea8c144008c144004c0600b0585858c148c13cdd50008b1999180080091129998290010a60103d87a8000132325333051304500313046330550024bd7009998028028009825001982b001982a00101500299b810053370666e08014dd6982619299982798291829000899bb03051001305130520011637586026609a6ea8060dd6982699299982798291829000899bb03051001305130520011637586026609a6ea80605858dd698279828182818281828182818280011bad304e001304e304e304a375408a6eb4c130c134008dd6982580098239baa02e1323232323232323232533304e3375e010646464608c660aa60ac006660aa60ac004660aa60ac002660aa6e9ccc154c148018cc154c14c0192f5c0660aa6e9ccc154c148010cc154c14c0112f5c0660aa60ac60ae00a60ae60ae60ae60ae00260ac00260aa00260a06ea812c4c94ccc13cc10cc140dd50008a9998279999805982a18289baa0010250270291533304f3375e00e606660a26ea808854ccc13ccdd79ba6006302330513754044294458585858c14cc150c150c150c150c150c140dd50258b1919bb0305300130533054001375860a400260a40046466ec0c144004c144c148004dd6182800098281828182818261baa0043756609c609e004609a00260926ea8c120008c120004c03c08c8888c8cc00400401488c94ccc12cc0fc0044c8c8cc004004020894ccc144004528099299982799b8f375c60a800400829444cc00c00c004c150004dd7182818269baa0021533304b303e00113233001001375860a2609c6ea800c894ccc14000452889929998271980300318298010998018018008a5030530011533304b303d001133008375860a0609a6ea80088cc01001000454ccc12cc0f00044c8cdc49bad305100132333001001375860a460a60049000111299982900108008999801801982a801299982799803803982a00109823800880098269baa0021533304b303b00113232533304d3040304e3754002264a66609c64a6660a460a20022a66609e608460a0002294454ccc13cc10cc1400045280b0b1baa302230503754604460a06ea80204cdc4800801899b88001003375a60a4609e6ea8004528181818271baa3020304e375400c6eb4c140c134dd50010a999825981d000899192999826982018271baa001132533304e32533305230510011533304f3042305000114a22a66609e608660a000229405858dd5181118281baa303230503754010266e2400c0044cdc40018009bad3052304f37540022940c0c0c138dd5181818271baa006375a60a0609a6ea80084cc040010c100cc13cc108cc13cc140c134dd500125eb812f5c060966ea800488c8cc00400400c894ccc1280045280992999824180218268010a51133003003001304d0013702900011111191980080080311299982580089982619bb0375200c6e980152f5bded8c0264646464a66609860846600e0140042660a066ec0dd48051ba60090051533304c3371e014004264a66609a6082609c6ea80044cc144cdd81ba900b3052304f375400200820086660100140120022660a066ec0dd48011ba6001330060060033756609a0066eb8c12c008c13c008c13400488888c8cc004004018894ccc1280044cc12ccdd81ba9006375000a97adef6c60132323232533304b30413300700a00213304f337606ea4028dd40048028a99982599b8f00a002132533304c3040304d37540022660a066ec0dd4805982898271baa001004100433300800a00900113304f337606ea4008dd4000998030030019bad304c003375c6094004609c00460980024a666086002294452811299982019b9000200114c0103d8798000153330403371e0040022980103d87a800014c103d87b80002223253330413034304237540022900009bad30463043375400264a666082606860846ea8004530103d87a8000132330010013756608e60886ea8008894ccc118004530103d87a8000132323253330463371e00e6eb8c11c00c4c0eccc128dd4000a5eb804cc014014008dd6982380118250011824000998020018011119198008008019129998218008a60103d87a8000132323253330433371e00c6eb8c11000c4c0e0cc11cdd3000a5eb804cc014014008dd59822001182380118228009119198008008019129998210008a5013253330403375e0086082608a00429444cc00c00c004c1140048cc0080052210022323300100100322533304000114bd6f7b630099191919299982099b8f0070021003133045337606ea4008dd3000998030030019bab3042003375c6080004608800460840024607c607e607e607e607e0024607a607c607c607c002464a666070605860726ea80044c8c94ccc0e8c0b0c0ecdd50008991919bb00040023026001303f303c37540022c600e60766ea8004c0f4c0e8dd50008b299981d0008a6103d87a80001302c3303b303c0014bd701181d981e181e181e181e181e181e000981a9baa01d3232325333039303c00213253330373371e6eb8c0e00080d454ccc0dccdd79ba60014c10ba14873657474696e677301001325333038302a3039375400226464004a666072605a60746ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc150c15c0084c8c8c8c8c8c8c9263304501123028001325333057304b00113232533305c305f002132498cc11c0048dd70008b1bac305d001305937540262a6660ae60940022a6660b460b26ea804c526161630573754024646eb4c160050dd6982b009981180a181f80a981080b181e80b8b182a800982a8011bad30530013053002375a60a200260a20046eb4c13c004c13c008dd6982680098268011bac304b001304b00230490013049002325333046304930490011337606090002609060920022c6eb0c11c004c11c008c114004c114008c10c004c10c008c104004c104008c0fc004c0ecdd50008b181e981d1baa001163005303937540082c2c6eacc0e000458c0e8004c0e8dd59804181b1baa001300730353754607002646070607260720024a666064604c60666ea80044c8c8c8c94ccc0e4c0f00084c8c926325333038302c00113232533303d3040002132498c94ccc0ecc0bc0044c8c94ccc100c10c0084c926300d001163041001303d37540042a666076605c0022646464646464a666088608e0042930b1bad30450013045002375a608600260860046eb4c104004c0f4dd50010b181d9baa00116303e001303a37540062a66607060560022a66607660746ea800c526161630383754004600c0062c60740026074004607000260686ea8004588c94ccc0c8c0980044c8c94ccc0dcc0e800852616375c607000260686ea800854ccc0c8c0940044c8c94ccc0dcc0e800852616375c607000260686ea800858c0c8dd50009bae3034303137540022c602460606ea8c048c0c0dd5000992999817181098179baa001132533302f3023303037540022600660626ea8c0d0c0c4dd50008b1991191980080080191299981a8008a6103d87a80001323253330343375e6030606c6ea80080144c0a4cc0e00092f5c02660080080026072004606e0026eb0c048c0c0dd5180918181baa0133033303037540022c6002605e6ea80488c0c8c0cc004dd59818181898188011bac302f001302f002302d001302d00237566056002605660560046eacc0a4004c0a4c0a4008dd6181380098138011bac3025001302500237586046002603e6ea8c004c07cdd5001118110008a4c26cac6464a66603860200022646464646464a66604a6050004264931980800091919191919192999816181780109924c64a666054603c00226464a66605e6064004264932999816181018169baa0011323232325333033303600213232498c0640094ccc0c0c090c0c4dd500189919191919191919299981d981f001099191924c604200aa666072605a60746ea80184c8c8c8c94ccc100c10c0084c8c926302400230230031630410013041002303f001303b375400c2ca666070605860726ea801c4c8c8c8c94ccc0fcc1080084c926533303c3030303d375400626464a66608260880042930b1bae3042001303e37540062c2c6eb4c100004c100008c0f8004c0e8dd50038b0b181e000981e001181d000981d001181c000981c001181b00098191baa0031616303400130340023032001302e37540022c2c606000260586ea801054ccc0a8c07400454ccc0b4c0b0dd50020a4c2c2c60546ea800c58dd698168009816801181580098158011bad302900137580022c6eb0c098004c098008dd6981200098120011bad3022001301e375400a2a666038601e002264646464a666046604c0042930b1bad30240013024002375a6044002603c6ea801454ccc070c03800454ccc07cc078dd50028a4c2c2c60386ea801094ccc06cc03cc070dd50008991919192999811181280109924c64a66604060280022a66604660446ea8010526161533302030130011323253330253028002149858dd6981300098111baa00415333020301200115333023302237540082930b0b18101baa0031632533302230210011533301f3012302000114a22a66603e6026604000229405858dd5181180098118011810800980e9baa00116232533301b300f0011323253330203023002132498c94ccc078c0480044c8c94ccc08cc09800852616375c604800260406ea800854ccc078c0440044c8c94ccc08cc09800852616375c604800260406ea800858c078dd50008b1810800980e9baa0021533301b300e0011323232325333022302500213232498c8c8c8c8c94ccc0a0c0ac00852616375a605200260520046eb8c09c004c09c00cdd718128011919191919299981398150010a4c2c6eb4c0a0004c0a0008dd7181300098130021bae3024003163758604600260460046eb0c084004c074dd50010a99980d9806800899192999810181180109924c6464646464646464a66605060560042930b1bad30290013029002375c604e002604e0066eb8c094008c8c8c8c8c94ccc09cc0a800852616375a605000260500046eb8c098004c09800cdd718120011bac30200023758603c0022c64a66604060466046002266ec0c088004c088c08c00458dd61810800980e9baa0021533301b300c0011323253330203023002132498c8c8c8c8c94ccc094c0a000852616375a604c002604c0046eb8c090004c090008dd718110008b1bac3021001301d37540042a666036601600226464a6660406046004264931919191919191919299981418158010a4c2c6eb4c0a4004c0a4008dd7181380098138019bae302500232323232325333027302a002149858dd6981400098140011bae30260013026003375c60480046eb0c080008dd6180f0008b19299981018119811800899bb03022001302230230011637586042002603a6ea800854ccc06cc0280044c8c94ccc080c08c0084c92632375c60400046eb8c07800458c94ccc080c08cc08c0044cdd81811000981118118008b1bac3021001301d37540042c60366ea80048c94ccc068c0380044c8c94ccc07cc08800852616375c604000260386ea800854ccc068c03400454ccc074c070dd50010a4c2c2c60346ea8004c00404c94ccc058c028c05cdd500089919191919191919191919191919191919192999815981700109919191924c64a666058604000226464a666062606800426493180d0008b181900098171baa00b1533302c301f0011533302f302e37540162930b0b18161baa00a32375a605a0186eb4c0ac02cc8dd698160069bad302a00c32323232375c605c0066eb8c0b0008c8dd718168019bae302b0023233760605e002605e60600026eb0c0ac040c8cdd81817000981718178009bac302900f16375a605800260580046eb4c0a8004c0a8008dd6981400098140011813000981300119299981198131813000899bb03025001302530260011637586048002604800464a66604260486048002266ec0c08c004c08cc09000458dd6181100098110011bad3020001302000232533301d30203020001133760603e002603e60400022c6eb0c078004c078008dd7180e000980c1baa00116300100122325333016300a00113232533301b301e002149858dd7180e000980c1baa00215333016300900113232533301b301e002132498cc0180048cc01801800458dd6180e000980c1baa00215333016300800113232533301b301e002132498cc0180048cc01801800458dd6180e000980c1baa002153330163007001132323232533301d3020002132498cc0200048cc02002000458dd6180f000980f0011bad301c001301837540042a66602c600c00226464a666036603c0042930b1bad301c001301837540042a66602c600a00226464a666036603c0042930b1bad301c001301837540042a66602c66e1d200c00113232533301b301e002149858dd7180e000980c1baa002163016375400244646600200200644a66603200229309919801801980e8011801980d800980b980a1baa00e370e90051b8748020dc3a400c6e1d2004370e90011b8748000dd2a40006ebd30103d8798000374a90011b8048008dc0240026e3d22100371290001bae0015734aae7555cf2ab9f5740ae855d101", - "hash": "284409bbfebab18787c0ebe82f0389da2c1cea1cc80bc092640518b9" + "compiledCode": "594a4d0100003323232323232322322253232323232323232323232323233301230063013375401c264a6660266464646464646464646464a66603c60220162646464646464a6660486030604a6ea80044c8c8c8c94ccc0a0c070c0a4dd5000899192999815180e18159baa0011323232323232323232533303330273034375400226464646464646464646464a66607c66e24dd69821982218221822182218221822182218221822182218201baa004375a600260806ea80504c8c94ccc100c94ccc104cdc499b8200200200113371000266e08c0e4008c0e400852819b820020041323232325333044303830453754002264a66608a66ebcc0b8c11cdd5000981698239baa00b15333045303833302a3756605a608e6ea800408403c54ccc114cdd7981618239baa0014c107d87b9fd87980ff001323253330473375e606060926ea8c0c0c124dd500f981f198259ba90234bd700a99982399198008009bac3003304a375401c44a66609800229404c94ccc128cdd7981918261baa3033304c3754044607e6609c607e6609c609e00497ae04bd700a51133003003001304f001153330470161533304700715333047005100114a029405280b0b299982319b8f375c605e60906ea807004854ccc118cdd79ba63304a32533304a304d304d00113376060980026098609a0022c6eb0c0b8c120dd500e25eb7bdb180dd31982519bb0374e66094608e02e66094609002e97ae0374e66094608e02c66094609002c97ae04bd6f7b6300a99982319b87375a605a60906ea807001c54ccc118cdc49bad3001304837540386eb4c12cc130c130c130c130c130c130c130c120dd500e0992999823980099299982598271827000899bb0304d001304d304e001163758600c60926ea80744c004c94ccc12cc138c1380044cdd81826800982698270008b1bac30333049375403a294094ccc11cc100dd698240008a99982398201bad304900115333047337126eb4c12000520a09c011337126eb4c12400520a09c0114a029405280a5014a02940528118259826182618261826182618260008b0b0b182498231baa001163301d37586054608a6ea8c0b0c114dd501f8109999919111191919191919191919191929998291826804099baf374e660ac98101030033056375066e00030014cc158dd40009982b26010101004bd701ba7333010300f00e4bd7090100008101000081010000810100001119299982a99b8f375c607c0060162660b26ea0004cc164dd419b80375a607a0046eb4c0f000ccc164c0f0008cc164c0500092f5c02a6660aaa6660aa66e3cdd7181f001803899b8f375c607a00600a29404cc164dd40009982c981e8011982c9ba8337006eb4c0f0008dd6981e0019982c980a00125eb8054ccc154cdd79ba7003374e660b26ea40c4cc164dd4981c0109982ca6010101004bd7009982c9ba800133059303d00233059303c002330593750609a6eb4c0500092f5c02c60986eb4c0f40044cdd79ba7330564c01010400330563750018660ac6ea0014cc158dd40009982b26010101004bd701ba7333010300f00e4bd709010000810100008101000081010000810100001119299982aa99982a98281bae303e00313050375c607a00629404cc164dd40009982c9ba8337006eb4c0f4008dd6981e0019982c981e0011982c980a0011982c982080125eb8054ccc1554ccc154cdc79bae303e00300b13371e6eb8c0f400c02452809982c9ba800133059303d00233059375066e00dd6981e0011bad303c0033305930140023305930410024bd700a99982aa99982a99b8f375c607c00600e266e3cdd7181e8018028a501330593750002660b2607a004660b26078004660b26ea0cdc01bad3014002375a6078006660b2608200497ae0153330553375e6e9c00cdd39982c9ba90313305937526070042660b29810101004bd7009982c9ba800133059303d00233059303c002330593014002330593750609a6eb4c1040092f5c02c60986eb4c0f4004dd6982b182b8011bae30550013055006375c60a600a6eb4c148c14c008dd7182880098288019bae304f0023758609c609e0046eb0c134004c124dd5001119198008008011129998248008a5eb804c8ccc888c8cc00400400c894ccc13c004400c4c8cc144dd3998289ba90063305137526eb8c138004cc144dd41bad304f0014bd7019801801982980118288009bae30480013756609200266006006609a004609600244464666002002008006444a66609600420022666006006609c004660086eb0c134008004dd5981518221baa01a303733046374e6608c60860266608c60880266608c6ea00112f5c06608c6e9ccc118c10c048cc118c110048cc118dd400325eb80cc118dd3998231ba901e3304637520126608c6ea000d2f5c097ae0375a600a60886ea80608c11cc120c120c120004cdd79ba6302b3756605860846ea8c0a4c108dd501e1ba6323300133001302733045375203a6608a6ea402ccc1153010101004bd701813998229ba901d3304537520126608a98010101004bd701813998229ba901d3304537520106608a6ea00092f5c04464666002002006004444a666090004200226466600800860980066644646600200200a44a66609a00226609c66ec0dd48021ba60034bd6f7b630099191919299982718221981c00400109982919bb037520106e9801c01454ccc138cdc78040010992999827982198281baa001133053337606ea4024c150c144dd50008020802192999827a9998290008a5114a0298103d87a80001304433053374c00297ae0323330010010080022225333054002100113233300400430580033322323300100100522533305900113305a337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc168c140cc1100200084cc178cdd81ba9008375000e00a2a6660b466e3c0200084c94ccc16cc13cc170dd500089982f99bb0375201260c060ba6ea80040104010c94ccc16cc13c004530103d87a8000130503305f375000297ae03370000e0022660bc66ec0dd48011ba800133006006003375a60b60066eb8c164008c174008c16c004dd718298009bad30540013056002133052337606ea4008dd3000998030030019bab304f003375c609a00460a2004609e0026eb8c11c004dd5982400098250010b1bad30263041375402aa66607c60646e34dd7181f807899b81003375a600260806ea8050400c588c10cc110c110c110c110c110c110c110c110004ccc084dd59812181f1baa014375c607a0186eb8c0f8030ccc080dd59811981e9baa013375c60780186eb8c0f4030c8c8c8c8c94ccc108c1140084c94ccc100cdc79bae304100203e153330403375e6e980053010ba14873657474696e67730100132533304130333042375400226464004a666084606c60866ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc174c1800084c8c8c8c8c8c8c926330350112302700132533306030540011323253330653068002132498cc0dc0048dd70008b1bac3066001306237540262a6660c060a60022a6660c660c46ea804c526161630603754024646eb4c184050dd6982f809981100a181780a981000b181680b8b182f000982f0011bad305c001305c002375a60b400260b40046eb4c160004c160008dd6982b000982b0011bac305400130540023052001305200232533304f3052305200113376060a200260a260a40022c6eb0c140004c140008c138004c138008c130004c130008c128004c128008c120004c110dd50008b182318219baa001163027304237540082c2c6eacc10400458c10c004c10cdd59812981f9baa0013024303e375460826eb0c090c0f8dd51812981f1baa0382533303c3030303d3754002264646464a666086608c0042646493192999821181b000899192999823982500109924c64a66608a607200226464a666094609a0042649318068008b182580098239baa0021533304530380011323232323232533304e3051002149858dd6982780098278011bad304d001304d002375a6096002608e6ea800858c114dd50008b182400098221baa00315333042303500115333045304437540062930b0b18211baa002300600316304400130440023042001303e37540022c464a666078606000226464a66608260880042930b1bae3042001303e37540042a666078605e00226464a66608260880042930b1bae3042001303e37540042c60786ea8004dd7181f181f8011bae303d001303d002375c6076002660726ea4cc06522104000643b0000013303937526030002660726ea4cc065221040014df10000014bd7019199b8c48020cdc01b8d0014801c004dca1980c1980c1bae301d30363754603a606c6ea8c074c0d8dd5000a4501230032533303533710002904002099b8b00148810016375a6038606c6ea8c074c0d8dd5000981c181a9baa001163300c3758603660686ea8c06cc0d0dd501724000604e646464a66606860500022980103d879800015333034302700113301e00300214c0103d87b8000303437546603a6eb8c0d0010dd7181a0019bae3034002375c60660046466ec0c0d8004c0d8c0dc004dd618190089919bb030350013035303600137586060020a66605c6044605e6ea80104c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc10cc1180084c8c8c8c9263253330443038001132325333049304c002132498c06400458c128004c118dd50058a999822181b8008a99982398231baa00b14985858c110dd5005191bad304500c375a6086016646eb4c110034dd69821006191919191bae3046003375c6088004646eb8c11400cdd718218011919bb0304700130473048001375860860206466ec0c118004c118c11c004dd618208078b1bad30440013044002375a608400260840046eb4c100004c100008c0f8004c0f8008c94ccc0ecc0f8c0f80044cdd8181e800981e981f0008b1bac303c001303c002325333039303c303c0011337606076002607660780022c6eb0c0e8004c0e8008dd6981c000981c00119299981a981c181c000899bb0303700130373038001163758606c002606c0046eb8c0d0004c0c0dd50020b180080091192999817981180089919299981a181b8010a4c2c6eb8c0d4004c0c4dd50010a999817981100089919299981a181b80109924c6600c00246600c00c0022c6eb0c0d4004c0c4dd50010a999817981080089919299981a181b80109924c6600c00246600c00c0022c6eb0c0d4004c0c4dd50010a9998179810000899191919299981b181c80109924c660100024660100100022c6eb0c0dc004c0dc008dd6981a80098189baa0021533302f301f0011323253330343037002149858dd6981a80098189baa0021533302f301e0011323253330343037002149858dd6981a80098189baa0021533302f3370e900600089919299981a181b8010a4c2c6eb8c0d4004c0c4dd50010b18179baa00122323300100100322533303200114984c8cc00c00cc0d8008c00cc0d0004c0bcc0b0dd50008b180818159baa001302d302a37540022c660026eb0c038c0a4dd5180818149baa0230063001001222533302b00214c0103d87a800013232533302a301e0031301f3302e0024bd7009998028028009812001981780198168011bae3029302637540022c6016604a6ea807cdd6981398140011bad302600130260023233760604a002604a604c0026eb0c090004c080dd500d8a99980f1809005899192999810180a18109baa001132323253330233017302437540022a666046602c6660106eacc02cc094dd5181418129baa00100300213017333008300e3756601e604a6ea8c030c094dd500f8018010a501632533302600114c0103d87a8000130183302730280014bd701bac300930243754601660486ea8078c01000cdd7181298111baa001163007302137540366eb8c08cc080dd500d899192999810180a18109baa00113375e6e98c02cdd5980618111baa3009302237540386e98c018cc090c094c088dd5000998121ba93003002330244c010120004bd700b180398109baa01b375c604660406ea806c8cc00922104000de14000001223371400400244464a66603e602460406ea8004520001375a604860426ea8004c94ccc07cc048c080dd50008a60103d87a8000132330010013756604a60446ea8008894ccc090004530103d87a8000132323253330243371e00e6eb8c09400c4c064cc0a0dd4000a5eb804cc014014008dd698128011814001181300099198008008021129998118008a6103d87a8000132323253330233371e00e6eb8c09000c4c060cc09cdd3000a5eb804cc014014008dd59812001181380118128009199911299980f18090008a5eb7bdb1804c8c8cc0040052f5bded8c044a66604800226604a66ec0dd48031ba60034bd6f7b6300991919192999812980d9980780500109981499bb037520146e9801c01454ccc094cdc780500109981499bb037520146e9801c00c4cc0a4cdd81ba9002374c0026600c00c0066eacc09800cdd71812001181400118130009919800800a5eb7bdb180894ccc08c0044cc090cdd81ba9004375000697adef6c601323232325333024301a3300e008002133028337606ea4020dd40038028a99981219b8f008002133028337606ea4020dd400380189981419bb037520046ea0004cc01801800cdd698128019bae302300230270023025001375c60080026eb8c00c004dd698010009180f981018100009180f180f8009180e80091299980c19b9000200114c103d8798000153330183371e0040022980103d87a800014c103d87b80002323300100100222533301b00114bd6f7b630099191919299980e180b801080189981019bb037520046e98004cc01801800cdd5980e8019bae301b002301f002301d0012301a301b301b301b301b0013014375402029309b2b192999809980380089919299980c180d8010a4c2c6eb8c064004c054dd50080a99980998030008991919191919299980e180f80109924c646464646eb8c07c00cdd7180e801191bae301e003375c60380046466ec0c080004c080c084004dd6180e0031919bb0301f001301f30200013758603400a2c6eb4c074004c074008dd6980d800980d80119299980c180d980d800899bb0301a001301a301b0011637586032002602a6ea804054ccc04cc0140044c8c94ccc060c06c00852616375c6032002602a6ea804058c04cdd500789991919191911919191299980e191919191919191919191919191919191919192999817981118181baa001132323232323232323232323232323232323232532333043303700f13232323232323232323232323232323232323232323253330593375e607a60b66ea803cc140cc174dd481525eb804c8c8c8c8c8c8c8c94ccc184c1680044c8c8c8c8c8c8c8c8c8c8c8c94ccc1b4cdc399b8000300200e132533306e3370e02c66e0002000454ccc1b8c94ccc1bccdc39bad303d307137540d86eb4c0f4dd6181e98389baa0071303000113375e6e98004dd31983999bb03752601a6eb8c14cc1c4dd50361ba8337026eb4c0f4dd6181e98389baa007375a607a60e26ea81b12f5bded8c064a6660de60c460e06ea800452f5bded8c026eacc1d0c1c4dd500099819181a02501f8a9998372999837183118379baa014132323232533307230663073375400226464a6660e860d060ea6ea80044cdc78011bae3079307637540022c6600600a05a6eb8c1dcc1d0dd50008b198008238169800800911299983a8010a60103d87a800013232533307430680031306933078375200497ae01333005005001306e0033079003375c60ee0046eb0c1ccc1c0dd500a0a511533306e32325333070306330713754002264a6660e264a6660ea60e80022a6660e460ca60e6002294454ccc1c8c198c1cc0045280b0b1baa30453073375460aa60e66ea81244cdc4001800899b89003001375a60ea60e46ea8004528182998389baa30533071375408e6eb4c0e4c1c0dd50358a99983719b8701d375a60786eb0c0f0c1c0dd50030a9998371919191919191919191919191919299983e183b804099baf374e661000298010103003308001375066e00090014cc20004dd40009984000a6010101004bd701ba733300e300d0314bd7090100008101000081010000810100001119299983f99b8f375c60c6006016266106026ea0004cc20c04dd419b80375a60a60046eb4c13400ccc20c04c134008cc20c04c1200092f5c02a6660fea6660fe66e3cdd71831801803899b8f375c60a600600a29404cc20c04dd40009984180982980119841809ba8337006eb4c134008dd698268019984180982400125eb8054ccc1fccdd79ba7003374e66106026ea4140cc20c04dd498078191984180a6010101004bd70099841809ba8001330830130530023308301304d0023308301375060ee6eb4c1200092f5c02c60ec6eb4c1880044cdd79ba733080014c010104003308001375004866100026ea0014cc20004dd40009984000a6010101004bd701ba733300e300d0314bd709010000810100008101000081010000810100001119299983fa99983f983d1bae30630031307a375c60a600629404cc20c04dd400099841809ba8337006eb4c14c008dd6982680199841809826801198418098240011984180982380125eb8054ccc1fd4ccc1fccdc79bae306300300b13371e6eb8c14c00c024528099841809ba8001330830130530023308301375066e00dd698268011bad304d00333083013048002330830130470024bd700a99983fa99983f99b8f375c60c600600e266e3cdd718298018028a50133083013750002661060260a60046610602609a00466106026ea0cdc01bad3048002375a609a0066610602608e00497ae01533307f3375e6e9c00cdd399841809ba905033083013752601e06466106029810101004bd70099841809ba8001330830130530023308301304d002330830130480023308301375060ee6eb4c11c0092f5c02c60ec6eb4c188004dd69840009840808011bae307f001307f006375c60fa00a6eb4c1f0c1f4008dd7183d800983d8019bae3079002375860f060f20046eb0c1dc004c1ccdd5004919808244104000de140000012323300100100222533307500114bd70099199911191980080080191299983d80088018991983e9ba73307d375200c660fa6ea4dd7183d0009983e9ba8375a60f600297ae033003003307f002307d001375c60e80026eacc1d4004cc00c00cc1e4008c1dc004888c8ccc00400401000c8894ccc1dc00840044ccc00c00cc1e8008cc010dd6183c8010008a99983719b8701d375a60780042a6660dc66e1c058cdc00040008a99983719b8f375c60a460e06ea81ac08454ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c108c1c0dd5035a5eb7bdb180dd31983900fa5eb7bdb18054ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c0dcc1c0dd5035a5eb7bdb180dd31983900da5eb7bdb18054ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c0d8c1c0dd5035a5eb7bdb180dd31983900ca5eb7bdb18054ccc1b8cdc39bad3039307037540d602e266ebcc108c1c0dd5182918381baa04130423070375404829405280a5014a029405858585858585858cdc019b803370401a01c66e0800c040cdc10010078b1bac307130723072306e37540086eb4c1c0c1c4008dd69837800983780118368009999919191919191919191911119199999999800800802017240000ae66646002002444a6660f066e24005200010021533307b00214bd700999801801983f0011839000829a400490002400090001111111112999840008038998408080419840809ba80023308101375000297ae0132323232323232323232533308701533308701307a308801375460d66112026ea8c1acc22404dd50008a5114a0264a6661100260f86112026ea80044c8c8c8c8c8c8c8c94ccc24004c94ccc24404c21404c24804dd5000899b8f375c612c026126026ea8004110528984a808030991919999999980f00f18498080080a1845008098079bac309401001011375a6126020046eb4c25004008c8c8cccc00400404c0100d88888c94ccc25c04c22c040044c94ccc26004c23004c26404dd500289999803003260103d87a8000323232323232533309e013375e0326146020082a66613c02646464a6661420264a66614402612a026146026ea80044c94ccc28c04c94ccc29c04c2980400454ccc29004c25c04c294040045288a99985200984c009852808008a501616375460ee614a026ea8c21c04c29404dd5003899b8900100513371000200a6eb4c29c04c29004dd50008a5130850130a3013754610a026146026ea8014400452819299985080984a009851009baa00113253330a2013253330a60130a501001153330a30130960130a40100114a22a66614602612e0261480200229405858dd5183b1852009baa307630a401375400c266e2400c0044cdc40018009bad30a60130a30137540022944c21004c28804dd5183a1851009baa0043253330a00130930130a1013754002264a6661420264a66614a026148020022a66614402612a02614602002294454ccc28804c25804c28c040045280b0b1baa307530a301375460ea6146026ea81e440044c26c04004dd69852809851009baa0011483fa7ede1fa414c20c04c28404dd518399850809baa07732533309f0130920130a0013754002264a6661400264a666148026146020022a66614202612802614402002294454ccc28404c25404c288040045280b0b1baa307430a20137546108026144026ea81e040044c26004004dd69852009850809baa001148000c20804c28004dd51841009850009baa0761533309e01309201309f01375400e26464a666140026128026142026ea801c54ccc28004ccdca8010009bae30a50130a201375400e20062c2c6ecc008dd71851809850009baa0071533309e0133063078309301330a201309501330a20130a30130a001375400e97ae04bd7008008b0b0b185100985180801185080800985080800984e009baa309f01002309e01309f01001309a013754613a026134026ea80140e858c27004c26404dd50018a99191919984d0098468080209919191919299984f80803099bb032323232323232323232323232323232323253330b10153330b10101a1323253330b3013375e612e02616a026ea8058c2e0040084cdd7984080985a809baa01600114a0616e026170020026166026ea808c4c8c94ccc2cc04cdd7984b80985a809baa01630b80100213375e610202616a026ea8058004528185b80985c00985c008009859809baa02b153330b10153330b1013371e022010266e3c03c0185280a9998588099b8f375c612a0202a0082a6661620266e3cdd718428080a8010991929998598099baf30870130b501375402c616a020042a6661660266e24dd698408080b80089854009985b809ba7330b70137520146616e026ea4020cc2dc04dd419b800070104bd701985b809ba7330b701375200c6616e026ea4010cc2dc04dd419b810030014bd701985b809ba700b4bd700b0b1bad30b301001333333333304501100f00400200500103f01900e0121616153330b10153330b1013371e022008266e3c03c0085280a9998588099b8f375c612a0202a0102a6661620266e3cdd718428080a8030991929998598099baf30870130b501375402c616a020042a6661660266e24dd698408080b80089854009985b809ba7330b70137520146616e026ea4020cc2dc04dd419b810070014bd701985b809ba7330b701375200c6616e026ea4010cc2dc04dd419b800030104bd701985b809ba700b4bd700b0b1bad30b301001333333333304501100f00800600100503e01900e01216161616375a616a02616c020046eb8c2d004004c2d00401cdd71859008031bad30b10130b201002375c61600200261600200a6eb8c2b804010dd61856809857008011bac30ac0100130ac010023758615402002614c026ea80bcdd69854009854808011bae30a70100130a701006375c614a0200a6eacc29004c29404c28404dd500c9ba70011630a40102530a20102437586142026144020046eb0c28004004c27004dd50030a99984d009846008020991919299984e80802099bb032323253330a0013371e6eb8c2100400cdd71842009bac30840130a20137540562a6661400266e3cdd7183a0019bae307437586108026144026ea80ac54ccc28004cdc79bae308401002375c6108026eb0c1d0c28804dd50158a9998500099b8f375c60e80046eb8c1d0dd6183a1851009baa02b13253330a101337109000000899191919191929998538099baf307b30a90137540186e98cccc100cccc100cccc100cccc100020dd71845808051bae307b00a3065003375c6116020126eb8c1ec024c194009220100488100306500f375c6116026eb0c1d4c2a404dd50191bae307b375860ea6152026ea80c800454ccc29c054ccc29c040404c8c94ccc2a404cdd79846809855809baa00e30ae0100213375e60ee6156026ea80380045281856809857008009854809baa0191323253330a9013375e611a026156026ea8038c2b8040084cdd7983b9855809baa00e00114a0615a02615c02615c020026152026ea80844c27004cc2ac04dd399855809845809bac308b0130a9013754064661560260f66eb0c22c04c2a404dd501919855809ba8337006eb4c1d4dd61845809854809baa0320034bd7019855809ba7330ab01308b01375860f66152026ea80c8cc2ac04c1ecdd6183d9854809baa032330ab01375066e00dd6983a9bac307b30a901375406400497ae0330ab01374e66156026116026eb0c1d4c2a404dd50191985580983d9bac307530a901375406466156026ea0cdc01bad3075375860ea6152026ea80c80052f5c097ae016163370666e08008dd6983a1bac307430a80137540626eb4c1d0dd61845009854009baa031375a614e020046eb4c294040054ccc28c04cdc4001800899bb037500066ea0c26c04cdc1984e8099b82375a60e26eb0c1dcc29404dd50170019bad30713758610e02614a026ea80b84cdd81ba8001375000466e0ccdc10009bad30703758610c026148026ea80b4dd698381bac307630a401375405a6606c6eb4c1bc00cccc190008dd71842808019bae30750031633035375a60dc00666e04ccc18c004dd71842008019bae307400353330a001309b01375c610802006266e01208092f40100814800058585858dd59852009852809850809baa01937586140020086eb0c2780400cdd38008b1851008119850008111919bb030a00100130a00130a1010013758613e026138026ea801854ccc26804c22c040104c8c8c94ccc274040104cdd8191919191929998510099b8f005375c610c026eb0c1c0c29004dd50168a9998510099b8f003375c60ec6eb0c1c0c29004dd5016899191929998528099baf307930a70137540146e98cccc0f8cccc0f8cccc0f8cccc0f8010020018c18c00d22100488100306300d375c6112026eb0c22404c29c04dd50181bae30793758611202614e026ea80c0008dd71844809bac307930a70137540606eb8c1e4dd6183c9853809baa030001153330a50153330a50100e1323253330a7013375e6116026152026ea8030c2b0040084cdd7983a9854809baa00c00114a0615602615802002614e026ea805c4c8c94ccc29c04cdd79845809854809baa00c30ac0100213375e60ea6152026ea80300045281855809856009856008009853809baa01f1309a01330a901374e66152026112026eb0c22404c29c04dd50181985480983c9bac30890130a701375406066152026ea0cdc09bad30733758611202614e026ea80c00092f5c066152026e9ccc2a404c22404dd6183c9853809baa030330a9013079375860f2614e026ea80c0cc2a404dd419b81375a60e66eb0c1e4c29c04dd5018000a5eb80cc2a404dd399854809844809bac307330a7013754060661520260f26eb0c1ccc29c04dd501819854809ba8337026eb4c1ccdd618399853809baa0300034bd7025eb805858cdc199b82002375a60e46eb0c1e0c29804dd50179bad3072375860e4614c026ea80bccdc199b82001375a60e26eb0c21c04c29404dd50171bad3071375860e2614a026ea80b8cc0dc008ccc19400401400c5858dd59853009853809851809baa01b375a614a02614c020046eb8c29004004c29004010dd71851008019ba70011630a20102330a0010223758613e026138026ea801854ccc26804c228040104c8c8c94ccc274040104c8c94ccc27c04cdc4240006140026ea8c284040084cdd80009ba70031337600026e9c098c27c04004c8c8c8c8c8c8c8c8c8c8c94ccc2a004cdc78041bae308c0137586118026154026ea80cc54ccc2a004cdc78031bae307c37586118026154026ea80cc54ccc2a004cdc78021bae308c01375860f86154026ea80cc54ccc2a004cdc78011bae307c375860f86154026ea80cc4c8c94ccc2a8054ccc2a804ccc2a8040052825114a22a6661540266ebcc1f8c2b004dd50079ba6002153330aa010131323253330ac013375e612002615c026ea8044c2c4040084cdd7983d1857009baa01100114a06160026162020026158026ea80704c8c94ccc2b004cdd79848009857009baa01130b10100213375e60f4615c026ea80440045281858009858809858808009856009baa02414a0266ec0c27c04cc2b804dd399857009847009bac308e0130ac01375406a6615c0260fc6eb0c23804c2b004dd501a99857009ba8337006eb4c1e0dd61847009856009baa035375a60f06eb0c2ac040412f5c06615c026e9ccc2b804c23804dd6183f1856009baa035330ae01307e375860fc6158026ea80d4cc2b804dd419b80375a60f06eb0c1f8c2b004dd501a9bad3078375861580202097ae0330ae01307830ac01375406a97ae03330aa010014c103d87a80004c0103d8798000163330a9013375e6e98005300101a0004a0944cccc104cccc104cccc10402d22010048810030660100080063066005004002306600116161616375a615802615a020046eb8c2ac04004c2ac04018dd71854808029bad30a80130a901002375c614e02002614e020066eb8c29404008dd61850808029bac309f010043756614402614602613e026ea805c58c2880408cc28004088c8cdd81850008009850009850808009bac309f01309c01375400c2646464a66613a020082a66613a02a66613a0266ebcc1c4c27c04dd50011ba633330363333036375660e2613e026ea805d22100488100305b005375c613c020066eb8c27c0400d20021533309d0100613375e610202613e026ea8008c28804c27c04dd50078a5014a0266ec00a0dd38008b0b1851008119850008111919bb030a00100130a00130a1010013758613e026138026ea8018cdc480080699b80038003308b013098013754012612e026ea8008dd598329849809baa00b5333090013084013091013754002266ec0dd400a9ba83088010141337606ea0c22004054dd400a0b184a00984a808011849808009849808011bad309101001309101309101001308c013754004a6661120260fa6114026ea80044c8c8c8c8c8c8c8c8c8c8c8c94ccc26004c26c040084c8c8c8c926307f00632533309801308c01001132323232533309f0130a20100213232498c94ccc27804c2480400454ccc28404c28004dd50018a4c2c2a66613c0261220200226464a66614602614c020042930b1bae30a40100130a00137540062a66613c0261200200226464a66614602614c020042930b1852008009850009baa00316309e01375400460d60062c614002002614002004613c020026134026ea802054ccc26004c22c0400454ccc26c04c26804dd50040a4c2c2c6130026ea801cc20804028c1f402c58c26404004c26404008c25c04004c25c04008c25404004c25404008dd69849808009849808011848808009848808011847808009845809baa00116308d01308a0137540022c6464a6661120260fa0022980103d87a80001533308901307c001132323300100106022533308f0100114c0103d87a80001323232533308f013371e00c6eb8c2400400c4c21004cc24c040052f5c026600a00a0046120020046126020046122020026eb8c23804c22c04dd50010983f19846809847009845809baa0024bd701844809baa001305530890137540022c611602611802004611402002610c026ea8c22404008c224040054ccc20804cdc480580189980900519b8100300b133012064003533308101307a00213232325333084013371066e18028008cdc300080108008b19b80009002337049002000a99199841009800a4020260340062a6661040260029010099b824820010c068cdc0001a401e2a6661040260029018099b82482020020c068cdc0001a403e2a6661040260029020099b8248202020040c068cdc0001a405e2a6661040260029028099b824820202020080c068cdc0001a407e260300066e2000858c21404c2180400cdd69842008011842008041bac3082010073001001222533307233712900f0008999801801983c183c183c183c183c183c183c183c183c183c183c183c183c183c183c00119b800014807454ccc1c8cdc4a401c002266600600660f060f060f060f060f060f060f000466e00005200d133004002001300100122253330703064001100213330030033076002306a00122222222223232337606ea0004dd3199980899998089999808801806005981b002244100488100303600500a0090013370666e08cdc100300180099b803370400e90504e0099b820030013370290504e0080211299983699b880010021001100230010012253233306c30014804054ccc1b0c00520001480004c01000854ccc1b0c00520401337049040021980180199b800024803c4cdc124101010100406600600666e00009203f37100026e392201080102040810204080002222533306b305f001100413333302a0040033232002323300100100222533307100114984c94ccc1c8004526132325333071306530723754660666eb8c1c8c1d8010dd718390010998028029983a8010008b183b001183a000983a0009983799bb037520046ea00052f5bded8c044464a6660de60600022980103d87a80001306433073374c00297ae03333302e001005004222325333072306600114c103d87a80001306733076375000297ae03370000200406005a60d80086eb4c1b000cdd698360011bad306b306c001306b001306a001323232323232323232323232323232323232323307a306b3307a374e660f46ea4014cc1e8dd48021983d1ba8337026660726eacc128c1e0dd5024802802299983b183880288040a400097ae03307a374e660f46ea400ccc1e8dd48011983d1ba83330393756609460f06ea812400c0092f5c0660f46e9ccc1e8dd48239983d1ba93014375c60f6024660f460f601e97ae04bd701983d1ba83333013323376060f800260f860fa0026eb0c1ec03802c024004cc1e8dd419998099919bb0307c001307c307d001375860f601a016012002660f46ea00212f5c06464a6660ee60d600220182a6660ee60d4002264a6660f066e2003400440044034dd6983e183c9baa002163077375400260b260ee6ea8c164c1dcdd50269bae3076004375c60e80066eb8c1d000cdd718390011919bb0307600130763077001375860e40146466ec0c1d4004c1d4c1d8004dd618380049bad30733074002375a60e400260e40046eb4c1c0004c1c0c1c0004c1bc004c1b8004c1b4008c8cdd81836000983618368009bac306b001306b001306637540c24444a6660ce66e200080044dd698348020992999834182e00089bad306a0051337006eb4c1a4014cdc199b823370200400866e04dd698350029bad3069005001337020040064660049101040014df100000122337140040022c66e0cc168cdc01bad306500500100133230010012253330640011480044c94ccc188c154c18cdd5182318321baa304630643754606c60c86ea8c19c0084c168cc00c00c0044cc00c00c004c19c004104dd6983198320011bad3062001306200130613061002305f001305f305f305f305f305f305b375404c2c6eb4c174c178c178008dd6982e000982e182e0011919bb0305b001305b305c001375860b400260b40046466ec0c164004c164c168004dd6182c000982c0011bad30560013056002323376060aa00260aa60ac0026eb0c150004c150008dd7182900098271baa304e004375660a060a2004609e00260966ea8c128004c048098dd6182618268011bad304b001304b002375a6092002608a6ea80b04c8c94ccc114c0e00444c8c8c8c8c8c94ccc12ccdc48028008a9998259999803980c98269baa01802102302513232533304d3041304e3754002264a66609c66ebcc0c8c140dd5000980b98281baa01b1533304e3375e603860a06ea800530107d87b9fd87980ff001533304e337120066660226eacc088c140dd5000a441004881001533304e30420051533304e3370e0100082a66609c66ebcdd3180a0151ba63233001001330163756604660a26ea80892210022533305300114bd6f7b6300991982a99bb037526eb8c148004dd319198008009bab305400222533305600114bd6f7b6300991982c19bb037526eb8c154004dd418091bad305600133003003305a0023058001330030033057002305500114a22c2c26464646464a6660a666ebcc0dcc154dd500118251982b9ba90244bd700a99982999baf00432323232323232304f3305e305f0073305e305f0063305e305f0053305e305f0043305e305f0033305e305f0023305e305f0013305e305f30600013305e375066e040400512f5c060be00260bc00260ba00260b800260b600260b400260aa6ea814054ccc14ccdd79ba6001374c646660020026eacc0a0c158dd501399299982a98248008a5eb7bdb1804c8c8cc0040052f5bded8c044a6660b60022660b866ec13001014000374c00697adef6c60132323232533305c30523301e488100002133060337609801014000374c00e00a2a6660b860ae0042660c066ec13001014000374c00e0062660c066ec0dd48011ba600133006006003375660ba0066eb8c16c008c17c008c174004c8cc0040052f5bded8c044a6660b40022660b666ec13001014000375000697adef6c60132323232533305b30513301d48810000213305f337609801014000375000e00a2a6660b660ac0042660be66ec13001014000375000e0062660be66ec0dd48011ba800133006006003375a60b80066eb8c168008c178008c170004c0480388894ccc16400840044c8ccc010010c17400cccccc058008dd7182c0009bab305900122232533305b301c00114c0103d87a8000130503305f374c00297ae0323330010010030022225333060002100113233300400430640033333301e002375c60be0026eb4c180004888c94ccc188c1580045300103d87a80001305733066375000297ae03370000400204060c400403260b60042a6660a6660206eb0c078c154dd5010119baf3028305637540066092660b06092660b000297ae04bd700a5116161616375660ae60b000460ac00260a46ea8c144008c144004c0600b0585858c148c13cdd50008b1999180080091129998290010a60103d87a8000132325333051304500313046330550024bd7009998028028009825801982b001982a00101500299b810053370666e08014dd6982619299982798291829000899bb03051001305130520011637586026609a6ea8060dd6982699299982798291829000899bb03051001305130520011637586026609a6ea80605858dd698279828182818281828182818280011bad304e001304e304e304a375408a6eb4c130c134008dd6982580098239baa02e1323232323232323232323253330503001005153330503001003153330503375e0146464646090660ae60b0006660ae60b0004660ae60b0002660ae6e9ccc15cc150020cc15cc1540212f5c0660ae6e9ccc15cc150018cc15cc1540192f5c0660ae00a60b260b260b260b200260b000260ae00260a46ea81344c94ccc144c114c148dd50008a9998289999806982b18299baa00102702902b153330513375e012606a60a66ea809054ccc144cdd79ba6008302530533754048294458585858c154c158c158c158c158c158c148dd50268b0b0b1299982818249bad3051001153330503049375a60a40022a6660a066e24dd69828800a41413802266e24dd69829000a4141380229405280a5030533054002323376060a600260a660a80026eb0c148004c148008c8cdd81828800982898290009bac3050001305030503050304c37540086eacc138c13c008c134004c124dd51824001182400098078119111191980080080291192999825981f80089919198008008041129998288008a50132533304f3371e6eb8c150008010528899801801800982a0009bae3050304d37540042a666096607c002264660020026eb0c144c138dd50019129998280008a51132533304e33006006305300213300300300114a060a60022a666096607a0022660106eb0c140c134dd50011198020020008a999825981e00089919b89375a60a2002646660020026eb0c148c14c00920002225333052002100113330030033055002533304f330070073054002130470011001304d37540042a666096607600226464a66609a6080609c6ea80044c94ccc138c94ccc148c14400454ccc13cc108c1400045288a999827982198280008a5016163754604460a06ea8c088c140dd5004099b890010031337100020066eb4c148c13cdd50008a503030304e37546040609c6ea8018dd6982818269baa0021533304b303a00113232533304d3040304e3754002264a66609c64a6660a460a20022a66609e608460a0002294454ccc13cc10cc1400045280b0b1baa302230503754606460a06ea80204cdc4801800899b88003001375a60a4609e6ea8004528181818271baa3030304e375400c6eb4c140c134dd5001099808002182019827982119827982818269baa0024bd7025eb80c12cdd50009119198008008019129998250008a5013253330483004304d00214a2266006006002609a0026e05200022222323300100100622533304b00113304c337606ea4018dd3002a5eb7bdb1804c8c8c8c94ccc130c108cc01c0280084cc140cdd81ba900a374c01200a2a66609866e3c0280084c94ccc134c104c138dd500089982899bb0375201660a4609e6ea80040104010ccc0200280240044cc140cdd81ba9002374c0026600c00c0066eacc13400cdd718258011827801182680091111191980080080311299982500089982599bb0375200c6ea00152f5bded8c0264646464a66609660826600e01400426609e66ec0dd48051ba80090051533304b3371e014004264a6660986080609a6ea80044cc140cdd81ba900b3051304e3754002008200866601001401200226609e66ec0dd48011ba800133006006003375a60980066eb8c128008c138008c13000494ccc10c0045288a5022533304033720004002298103d8798000153330403371e0040022980103d87a800014c103d87b80002223253330413034304237540022900009bad30463043375400264a666082606860846ea8004530103d87a8000132330010013756608e60886ea8008894ccc118004530103d87a8000132323253330463371e00e6eb8c11c00c4c0eccc128dd4000a5eb804cc014014008dd6982380118250011824000998020018011119198008008019129998218008a60103d87a8000132323253330433371e00c6eb8c11000c4c0e0cc11cdd3000a5eb804cc014014008dd59822001182380118228009119198008008019129998210008a5013253330403375e0086082608a00429444cc00c00c004c1140048cc0080052210022323300100100322533304000114bd6f7b630099191919299982099b8f0070021003133045337606ea4008dd3000998030030019bab3042003375c6080004608800460840024607c607e607e607e607e0024607a607c607c607c002464a666070605860726ea80044c8c94ccc0e8c0b0c0ecdd50008991919bb00040023026001303f303c37540022c600e60766ea8004c0f4c0e8dd50008b299981d0008a6103d87a80001302c3303b303c0014bd701181d981e181e181e181e181e181e000981a9baa01d3232325333039303c00213253330373371e6eb8c0e00080d454ccc0dccdd79ba60014c10ba14873657474696e677301001325333038302a3039375400226464004a666072605a60746ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc150c15c0084c8c8c8c8c8c8c9263304501123028001325333057304b00113232533305c305f002132498cc11c0048dd70008b1bac305d001305937540262a6660ae60940022a6660b460b26ea804c526161630573754024646eb4c160050dd6982b009981180a181f80a981080b181e80b8b182a800982a8011bad30530013053002375a60a200260a20046eb4c13c004c13c008dd6982680098268011bac304b001304b00230490013049002325333046304930490011337606090002609060920022c6eb0c11c004c11c008c114004c114008c10c004c10c008c104004c104008c0fc004c0ecdd50008b181e981d1baa001163005303937540082c2c6eacc0e000458c0e8004c0e8dd59804181b1baa001300730353754607002646070607260720024a666064604c60666ea80044c8c8c8c94ccc0e4c0f00084c8c926325333038302c00113232533303d3040002132498c94ccc0ecc0bc0044c8c94ccc100c10c0084c926300d001163041001303d37540042a666076605c0022646464646464a666088608e0042930b1bad30450013045002375a608600260860046eb4c104004c0f4dd50010b181d9baa00116303e001303a37540062a66607060560022a66607660746ea800c526161630383754004600c0062c60740026074004607000260686ea8004588c94ccc0c8c0980044c8c94ccc0dcc0e800852616375c607000260686ea800854ccc0c8c0940044c8c94ccc0dcc0e800852616375c607000260686ea800858c0c8dd50009bae3034303137540022c602460606ea8c048c0c0dd5000992999817181098179baa001132533302f3023303037540022600660626ea8c0d0c0c4dd50008b1991191980080080191299981a8008a6103d87a80001323253330343375e6030606c6ea80080144c0a4cc0e00092f5c02660080080026072004606e0026eb0c048c0c0dd5180918181baa0133033303037540022c6002605e6ea80488c0c8c0cc004dd59818181898188011bac302f001302f002302d001302d00237566056002605660560046eacc0a4004c0a4c0a4008dd6181380098138011bac3025001302500237586046002603e6ea8c004c07cdd5001118110008a4c26cac6464a66603860200022646464646464a66604a6050004264931980800091919191919192999816181780109924c64a666054603c00226464a66605e6064004264932999816181018169baa0011323232325333033303600213232498c0640094ccc0c0c090c0c4dd500189919191919191919299981d981f001099191924c604200aa666072605a60746ea80184c8c8c8c94ccc100c10c0084c8c926302400230230031630410013041002303f001303b375400c2ca666070605860726ea801c4c8c8c8c94ccc0fcc1080084c926533303c3030303d375400626464a66608260880042930b1bae3042001303e37540062c2c6eb4c100004c100008c0f8004c0e8dd50038b0b181e000981e001181d000981d001181c000981c001181b00098191baa0031616303400130340023032001302e37540022c2c606000260586ea801054ccc0a8c07400454ccc0b4c0b0dd50020a4c2c2c60546ea800c58dd698168009816801181580098158011bad302900137580022c6eb0c098004c098008dd6981200098120011bad3022001301e375400a2a666038601e002264646464a666046604c0042930b1bad30240013024002375a6044002603c6ea801454ccc070c03800454ccc07cc078dd50028a4c2c2c60386ea801094ccc06cc03cc070dd50008991919192999811181280109924c64a66604060280022a66604660446ea8010526161533302030130011323253330253028002149858dd6981300098111baa00415333020301200115333023302237540082930b0b18101baa0031632533302230210011533301f3012302000114a22a66603e6026604000229405858dd5181180098118011810800980e9baa00116232533301b300f0011323253330203023002132498c94ccc078c0480044c8c94ccc08cc09800852616375c604800260406ea800854ccc078c0440044c8c94ccc08cc09800852616375c604800260406ea800858c078dd50008b1810800980e9baa0021533301b300e0011323232325333022302500213232498c8c8c8c8c94ccc0a0c0ac00852616375a605200260520046eb8c09c004c09c00cdd718128011919191919299981398150010a4c2c6eb4c0a0004c0a0008dd7181300098130021bae3024003163758604600260460046eb0c084004c074dd50010a99980d9806800899192999810181180109924c6464646464646464a66605060560042930b1bad30290013029002375c604e002604e0066eb8c094008c8c8c8c8c94ccc09cc0a800852616375a605000260500046eb8c098004c09800cdd718120011bac30200023758603c0022c64a66604060466046002266ec0c088004c088c08c00458dd61810800980e9baa0021533301b300c0011323253330203023002132498c8c8c8c8c94ccc094c0a000852616375a604c002604c0046eb8c090004c090008dd718110008b1bac3021001301d37540042a666036601600226464a6660406046004264931919191919191919299981418158010a4c2c6eb4c0a4004c0a4008dd7181380098138019bae302500232323232325333027302a002149858dd6981400098140011bae30260013026003375c60480046eb0c080008dd6180f0008b19299981018119811800899bb03022001302230230011637586042002603a6ea800854ccc06cc0280044c8c94ccc080c08c0084c92632375c60400046eb8c07800458c94ccc080c08cc08c0044cdd81811000981118118008b1bac3021001301d37540042c60366ea80048c94ccc068c0380044c8c94ccc07cc08800852616375c604000260386ea800854ccc068c03400454ccc074c070dd50010a4c2c2c60346ea8004c00404c94ccc058c028c05cdd500089919191919191919191919191919191919192999815981700109919191924c64a666058604000226464a666062606800426493180d0008b181900098171baa00b1533302c301f0011533302f302e37540162930b0b18161baa00a32375a605a0186eb4c0ac02cc8dd698160069bad302a00c32323232375c605c0066eb8c0b0008c8dd718168019bae302b0023233760605e002605e60600026eb0c0ac040c8cdd81817000981718178009bac302900f16375a605800260580046eb4c0a8004c0a8008dd6981400098140011813000981300119299981198131813000899bb03025001302530260011637586048002604800464a66604260486048002266ec0c08c004c08cc09000458dd6181100098110011bad3020001302000232533301d30203020001133760603e002603e60400022c6eb0c078004c078008dd7180e000980c1baa00116300100122325333016300a00113232533301b301e002149858dd7180e000980c1baa00215333016300900113232533301b301e002132498cc0180048cc01801800458dd6180e000980c1baa00215333016300800113232533301b301e002132498cc0180048cc01801800458dd6180e000980c1baa002153330163007001132323232533301d3020002132498cc0200048cc02002000458dd6180f000980f0011bad301c001301837540042a66602c600c00226464a666036603c0042930b1bad301c001301837540042a66602c600a00226464a666036603c0042930b1bad301c001301837540042a66602c66e1d200c00113232533301b301e002149858dd7180e000980c1baa002163016375400244646600200200644a66603200229309919801801980e8011801980d800980b980a1baa00e370e90051b8748020dc3a400c6e1d2004370e90011b8748000dd2a40006ebd30103d8798000374a90011b8048008dc4a40006e012001371e91100375c002ae6955ceaab9e5573eae815d0aba24c011e581c445b77d214aa36d1b2edeedb8ddad49e0b62d80a1f4b08eb9c8b4c8c0001", + "hash": "fe8a93661ce100d2ce44fa249497f318f8f394d3e7d1feb1f6d1eb80" }, { "title": "pool.mint", @@ -113,16 +98,8 @@ "$ref": "#/definitions/types~1pool~1PoolMintRedeemer" } }, - "parameters": [ - { - "title": "settings_policy_id", - "schema": { - "$ref": "#/definitions/ByteArray" - } - } - ], - "compiledCode": "594a43010000323232323232322322253232323232323232323232323233301230063013375401c264a6660266464646464646464a666036601c60386ea80604c8c8c8c8c8c94ccc084c054c088dd50008991919192999812980c98131baa001132325333027301930283754002264646464646464646464a666062604a60646ea80044c8c8c8c8c8c8c8c8c8c8c94ccc0f0cdc49bad30413042304230423042304230423042304230423042303e37540086eb4c004c0f8dd500a89919299981f19299981f99b8933704004004002266e20004cdc1181b801181b8010a5033704004008264646464a666084606c60866ea80044c94ccc10ccdd7981698229baa001302b304537540162a666086606c66605c6eacc0acc114dd50008110078a99982199baf302c30453754002980107d87b9fd87980ff001323253330453375e605e608e6ea8c0bcc11cdd5010181e198249ba90244bd700a99982299198008009bac30033048375401c44a66609400229404c94ccc120cdd7981818251baa3032304a3754046607a66098607a66098609a00497ae04bd700a51133003003001304d001153330450161533304500715333045005100114a029405280b0b299982219b8f375c605c608c6ea807404854ccc110cdd79ba633048325333048304b304b0011337606094002609460960022c6eb0c0b0c118dd500ea5eb7bdb180dd31982419bb0374e66090608a03066090608c03097ae0374e66090608a02e66090608c02e97ae04bd6f7b6300a99982219b87375a605a608c6ea807401c54ccc110cdc49bad30013046375403a6eb4c124c128c128c128c128c128c128c128c118dd500e8a999822181f9bad3045325333048304b304b0011337606094002609460960022c6eb0c014c118dd500e8a999822181f9bad3046325333048304b304b0011337606094002609460960022c6eb0c014c118dd500e8a99982219b89375a608a64a66609060966096002266ec0c128004c128c12c00458dd6180298231baa01d48282700454ccc110cdc49bad3046325333048304b304b0011337606094002609460960022c6eb0c014c118dd500ea414138022a666088607e6eb4c114c94ccc120c12cc12c0044cdd81825000982518258008b1bac30313046375403a2a666088607e6eb4c118c94ccc120c12cc12c0044cdd81825000982518258008b1bac30313046375403a2a66608866e24dd6982299299982418259825800899bb0304a001304a304b0011637586062608c6ea807520a09c011337126eb4c118c94ccc120c12cc12c0044cdd81825000982518258008b1bac30313046375403a90504e008a5014a029405280a5014a029405280a5014a029408c124c128c128c128c128c128c128004585858c11cc110dd50008b1980f1bac302a30433754605660866ea80f4088cccc8c8888c8c8c8c8c8c8c8c8c8c8c94ccc140c1280204cdd79ba7330544c0101030033054375066e00030014cc150dd40009982a26010101004bd701ba7333010300f00e4bd7090100008101000081010000810100001119299982999b8f375c607a0060162660ae6ea0004cc15cdd419b80375a60760046eb4c0f000ccc15cc0f0008cc15cc0500092f5c02a6660a6a6660a666e3cdd7181e801803899b8f375c607600600a29404cc15cdd40009982b981d8011982b9ba8337006eb4c0f0008dd6981e0019982b980a00125eb8054ccc14ccdd79ba7003374e660ae6ea40c8cc15cdd4981c8109982ba6010101004bd7009982b9ba800133057303b00233057303c00233057375060966eb4c0500092f5c02c60946eb4c0f00044cdd79ba7330544c01010400330543750018660a86ea0014cc150dd40009982a26010101004bd701ba7333010300f00e4bd7090100008101000081010000810100008101000011192999829a99982998269bae303d0031304d375c607600629404cc15cdd40009982b9ba8337006eb4c0ec008dd6981e0019982b981e0011982b980a0011982b982000125eb8054ccc14d4ccc14ccdc79bae303d00300b13371e6eb8c0ec00c02452809982b9ba800133057303b00233057375066e00dd6981e0011bad303c0033305730140023305730400024bd700a999829a99982999b8f375c607a00600e266e3cdd7181d8018028a501330573750002660ae6076004660ae6078004660ae6ea0cdc01bad3014002375a6078006660ae608000497ae0153330533375e6e9c00cdd39982b9ba90323305737526072042660ae9810101004bd7009982b9ba800133057303b00233057303c00233057301400233057375060966eb4c1000092f5c02c60946eb4c0f0004dd6982a182a8011bae30530013053006375c60a200a6eb4c140c144008dd7182780098278019bae304d00237586098609a0046eb0c12c004c11cdd5001119198008008011129998238008a5eb804c8ccc888c8cc00400400c894ccc134004400c4c8cc13cdd3998279ba90063304f37526eb8c130004cc13cdd41bad304d0014bd7019801801982880118278009bae30460013756608e002660060066096004609200244464666002002008006444a666092004200226660060066098004660086eb0c12c008004dd5981418211baa01b303533044374e660886082028660886084028660886ea00112f5c0660886e9ccc110c10404ccc110c10804ccc110dd400325eb80cc110dd3998221ba901f330443752012660886ea000d2f5c097ae0375a600a60846ea80648c114c118c118c118004cdd79ba6302a3756605660806ea8c0a0c100dd501d1ba632323300133001300233044375203e660886ea4030cc1113010101004bd701801198221ba901f3304437520146608898010101004bd701801198221ba901f330443752012660886ea000d2f5c04464666002002006004444a66608e004200226466600800860960066644646600200200a44a66609800226609a66ec0dd48021ba60034bd6f7b630099191919299982698219980f80400109982899bb037520106e9801c01454ccc134cdc78040010992999827182118279baa001133052337606ea4024c14cc140dd5000802080219299982729998288008a5114a0298103d87a80001304333052374c00297ae03233300100100800222253330530021001132333004004305700333223233001001005225333058001133059337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc164c13ccc0ac0200084cc174cdd81ba9008375000e00a2a6660b266e3c0200084c94ccc168c138c16cdd500089982f19bb0375201260be60b86ea80040104010c94ccc168c138004530103d87a80001304f3305e375000297ae03370000e0022660ba66ec0dd48011ba800133006006003375a60b40066eb8c160008c170008c168004dd718290009bad30530013055002133051337606ea4008dd3000998030030019bab304e003375c609800460a0004609c0026eb8c118004dd59823800982480111999112999821181b0008a5eb7bdb1804c8c8cc0040052f5bded8c044a66609000226609266ec0dd48031ba60034bd6f7b6300991919192999824981f9980d80500109982699bb037520146e9801c01454ccc124cdc780500109982699bb037520146e9801c00c4cc134cdd81ba9002374c0026600c00c0066eacc12800cdd71824001182600118250009919800800a5eb7bdb180894ccc11c0044cc120cdd81ba9004375000697adef6c601323232325333048303e3301a00800213304c337606ea4020dd40038028a99982419b8f00800213304c337606ea4020dd400380189982619bb037520046ea0004cc01801800cdd698248019bae3047002304b0023049001375c60520026eb8c09c004dd698140008b1bad3026303f375402ca66607860606e34dd7181e808099b81003375a6002607c6ea8054400c588c104c108c108c108c108c108c108c108c108004ccc094dd59811181e1baa015375c607601a6eb8c0f0034ccc090dd59810981d9baa014375c607401a6eb8c0ec034c8c8c8c8c94ccc100c10c0084c94ccc0f8cdc79bae303f00203c1533303e3375e6e9800530010ba14873657474696e67730100132533303f30313040375400226464004a666080606860826ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc16cc1780084c8c8c8c8c8c8c926330360112302700132533305e30520011323253330633066002132498cc0e00048dd70008b1bac3064001306037540262a6660bc60a20022a6660c260c06ea804c5261616305e3754024646eb4c17c050dd6982e809981100a181800a981000b181700b8b182e000982e0011bad305a001305a002375a60b000260b00046eb4c158004c158008dd6982a000982a0011bac305200130520023050001305000232533304d30503050001133760609e002609e60a00022c6eb0c138004c138008c130004c130008c128004c128008c120004c120008c118004c108dd50008b182218209baa001163027304037540082c2c6eacc0fc00458c104004c104dd59811981e9baa0013022303c3754607e6eb0c088c0f0dd51812181e1baa0362533303a302e303b3754002264646464a66608260880042646493192999820181a000899192999822982400109924c64a666086606e00226464a66609060960042649318068008b182480098229baa0021533304330360011323232323232533304c304f002149858dd6982680098268011bad304b001304b002375a6092002608a6ea800858c10cdd50008b182300098211baa00315333040303300115333043304237540062930b0b18201baa002300600316304200130420023040001303c37540022c464a666074605c00226464a66607e60840042930b1bae3040001303c37540042a666074605a00226464a66607e60840042930b1bae3040001303c37540042c60746ea8004dd7181e181e8011bae303b001303b002375c60720026606e6ea4cc06922104000643b00000133037375260320026606e6ea4cc069221040014df10000014bd7019199b8c48020cdc01b8d0014801c004dca1980c9980c9bae301c30343754603860686ea8c070c0d0dd5000a4501230032533303333710002904002099b8b00148810016375a603460686ea8c070c0d0dd5000981b18199baa001163300d3758603460646ea8c068c0c8dd501624000604a646464a666064604c0022980103d879800015333032302500113300400300214c0103d87b800030323754660066eb8c0c8014dd718190021bae3032003375c606200644a66606066e40008004530103d8798000153330303371e0040022980103d87a800014c103d87b800032337606066002606660680026eb0c0bc044c8cdd81819000981918198009bac302d010533302b301f302c37540082646464646464646464646464646464646464a666080608600426464646493192999820981a800899192999823182480109924c60320022c608e00260866ea802c54ccc104c0d000454ccc110c10cdd50058a4c2c2c60826ea8028c8dd698210061bad304000b32375a608201a6eb4c0fc030c8c8c8c8dd718218019bae304100232375c60840066eb8c100008c8cdd81822000982218228009bac304001032337606086002608660880026eb0c0f803c58dd6982080098208011bad303f001303f002375a607a002607a0046076002607600464a66607060766076002266ec0c0e8004c0e8c0ec00458dd6181c800981c80119299981b181c981c800899bb0303800130383039001163758606e002606e0046eb4c0d4004c0d4008c94ccc0c8c0d4c0d40044cdd8181a000981a181a8008b1bac30330013033002375c6062002605a6ea801058c00400488c94ccc0b0c0800044c8c94ccc0c4c0d000852616375c6064002605c6ea800854ccc0b0c07c0044c8c94ccc0c4c0d00084c926330060012330060060011637586064002605c6ea800854ccc0b0c0780044c8c94ccc0c4c0d00084c926330060012330060060011637586064002605c6ea800854ccc0b0c0740044c8c8c8c94ccc0ccc0d80084c92633008001233008008001163758606800260680046eb4c0c8004c0b8dd50010a999816180e000899192999818981a0010a4c2c6eb4c0c8004c0b8dd50010a999816180d800899192999818981a0010a4c2c6eb4c0c8004c0b8dd50010a99981619b87480300044c8c94ccc0c4c0d000852616375c6064002605c6ea800858c0b0dd50009119198008008019129998178008a4c26466006006606600460066062002605860526ea800458c03cc0a0dd5000981518139baa00116330013758601a604c6ea8c038c098dd5010003180080091129998140010a60103d87a8000132325333027301b0031301c3302b0024bd7009998028028009810001981600198150011bae3026302337540022c601060446ea8070dd6981218128011bad3023001302300232337606044002604460460026eb0c084004c074dd500c09919299980e9808980f1baa001132323253330203014302137540022a66604060266660166eacc020c088dd5181298111baa0010030021301433300b300c3756601a60446ea8c028c088dd500e0018010a501632533302300114c103d87a8000130153302430250014bd701bac300830213754601260426ea806cc01000cdd71811180f9baa001163004301e37540306eb8c080c074dd500c11980124504000de1400000122337140040024603c603e0024603a603c603c0024603800244464a666032601860346ea8004520001375a603c60366ea8004c94ccc064c030c068dd50008a60103d87a8000132330010013756603e60386ea8008894ccc078004530103d87a80001323232533301e3371e00e6eb8c07c00c4c04ccc088dd4000a5eb804cc014014008dd6980f80118110011810000991980080080211299980e8008a6103d87a80001323232533301d3371e00e6eb8c07800c4c048cc084dd3000a5eb804cc014014008dd5980f0011810801180f8009191980080080111299980d0008a5eb7bdb1804c8c8c8c94ccc06cc054008400c4cc07ccdd81ba9002374c0026600c00c0066eacc07000cdd7180d001180f001180e0009180c980d180d180d180d0008a4c26cac64a666026600e00226464a66603060360042930b1bae3019001301537540202a666026600c0022646464646464a666038603e00426493191919191bae301f003375c603a004646eb8c07800cdd7180e0011919bb03020001302030210013758603800c6466ec0c07c004c07cc080004dd6180d0028b1bad301d001301d002375a6036002603600464a66603060366036002266ec0c068004c068c06c00458dd6180c800980a9baa010163013375401e26646464646446464644a66603864646464646464646464646464646464646464a66605e604460606ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94c8ccc10cc0dc03c4c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc164cdd7981e982d9baa00f30503305d375205497ae0132323232323232325333061305c0011323232323232323232323232533306d3370e66e0000c0080384c94ccc1b8cdc380b19b800080011533306e32533306f3370e6eb4c0f4c1c4dd50361bad303d3758607a60e26ea801c4c0c00044cdd79ba6001374c660e666ec0dd498069bae3053307137540d86ea0cdc09bad303d3758607a60e26ea801cdd6981e98389baa06c4bd6f7b630192999837983118381baa00114bd6f7b63009bab30743071375400266064606809407e2a6660dca6660dc60c460de6ea80504c8c8c8c94ccc1c8c198c1ccdd500089919299983a1834183a9baa00113371e0046eb8c1e4c1d8dd50008b198018028169bae3077307437540022c6600208e05a6002002444a6660ea0042980103d87a800013232533307430680031306933078375200497ae01333005005001306d0033079003375c60ee0046eb0c1ccc1c0dd500a0a511533306e32325333070306330713754002264a6660e264a6660ea60e80022a6660e460ca60e6002294454ccc1c8c198c1cc0045280b0b1baa30453073375460aa60e66ea81244cdc4001800899b89003001375a60ea60e46ea8004528182998389baa30533071375408e6eb4c0e4c1c0dd50358a99983719b8701d375a60786eb0c0f0c1c0dd50030a9998371919191919191919191919191919299983e183b004099baf374e661000298010103003308001375066e00090014cc20004dd40009984000a6010101004bd701ba733300e300d0314bd7090100008101000081010000810100001119299983f99b8f375c60c6006016266106026ea0004cc20c04dd419b80375a60a60046eb4c13400ccc20c04c134008cc20c04c1200092f5c02a6660fea6660fe66e3cdd71831801803899b8f375c60a600600a29404cc20c04dd40009984180982980119841809ba8337006eb4c134008dd698268019984180982400125eb8054ccc1fccdd79ba7003374e66106026ea4140cc20c04dd498078191984180a6010101004bd70099841809ba8001330830130530023308301304d0023308301375060ee6eb4c1200092f5c02c60ec6eb4c1880044cdd79ba733080014c010104003308001375004866100026ea0014cc20004dd40009984000a6010101004bd701ba733300e300d0314bd709010000810100008101000081010000810100001119299983fa99983f983c9bae306300313079375c60a600629404cc20c04dd400099841809ba8337006eb4c14c008dd6982680199841809826801198418098240011984180982380125eb8054ccc1fd4ccc1fccdc79bae306300300b13371e6eb8c14c00c024528099841809ba8001330830130530023308301375066e00dd698268011bad304d00333083013048002330830130470024bd700a99983fa99983f99b8f375c60c600600e266e3cdd718298018028a50133083013750002661060260a60046610602609a00466106026ea0cdc01bad3048002375a609a0066610602608e00497ae01533307f3375e6e9c00cdd399841809ba905033083013752601e06466106029810101004bd70099841809ba8001330830130530023308301304d002330830130480023308301375060ee6eb4c11c0092f5c02c60ec6eb4c188004dd69840009840808011bae307f001307f006375c60fa00a6eb4c1f0c1f4008dd7183d800983d8019bae3079002375860f060f20046eb0c1dc004c1ccdd5004919808244104000de140000012323300100100222533307500114bd70099199911191980080080191299983d80088018991983e9ba73307d375200c660fa6ea4dd7183d0009983e9ba8375a60f600297ae033003003307f002307d001375c60e80026eacc1d4004cc00c00cc1e4008c1dc004888c8ccc00400401000c8894ccc1dc00840044ccc00c00cc1e8008cc010dd6183c8010008a99983719b8701d375a60780042a6660dc66e1c058cdc00040008a99983719b8f375c60a460e06ea81ac08454ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c108c1c0dd5035a5eb7bdb180dd31983900fa5eb7bdb18054ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c0dcc1c0dd5035a5eb7bdb180dd31983900da5eb7bdb18054ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c0d8c1c0dd5035a5eb7bdb180dd31983900ca5eb7bdb18054ccc1b8cdc39bad3039307037540d602e266ebcc108c1c0dd5182918381baa04130423070375404829405280a5014a029405858585858585858cdc019b803370401a01c66e0800c040cdc10010078b1bac307130723072306e37540086eb4c1c0c1c4008dd69837800983780118368009999919191919191919191911119199999999800800802017240000ae66646002002444a6660f066e24005200010021533307b00214bd700999801801983f0011838800829a400490002400090001111111112999840008038998408080419840809ba80023308101375000297ae0132323232323232323232533308701533308701307a308801375460d66112026ea8c1acc22404dd50008a5114a0264a6661100260f86112026ea80044c8c8c8c8c8c8c8c94ccc24004c94ccc24404c21404c24804dd5000899b8f375c612c026126026ea8004110528984a808030991919999999980f00f18498080080a1845008098079bac309401001011375a6126020046eb4c25004008c8c8cccc00400404c0100d88888c94ccc25c04c22c040044c94ccc26004c23004c26404dd500289999803003260103d87a8000323232323232533309e013375e0326146020082a66613c02646464a6661420264a66614402612a026146026ea80044c94ccc28c04c94ccc29c04c2980400454ccc29004c25c04c294040045288a99985200984c009852808008a501616375460ee614a026ea8c21c04c29404dd5003899b8900100513371000200a6eb4c29c04c29004dd50008a5130850130a3013754610a026146026ea8014400452819299985080984a009851009baa00113253330a2013253330a60130a501001153330a30130960130a40100114a22a66614602612e0261480200229405858dd5183b1852009baa307630a401375400c266e2400c0044cdc40018009bad30a60130a30137540022944c21004c28804dd5183a1851009baa0043253330a00130930130a1013754002264a6661420264a66614a026148020022a66614402612a02614602002294454ccc28804c25804c28c040045280b0b1baa307530a301375460ea6146026ea81e440044c26804004dd69852809851009baa0011483fa7ede1fa414c20c04c28404dd518399850809baa07732533309f0130920130a0013754002264a6661400264a666148026146020022a66614202612802614402002294454ccc28404c25404c288040045280b0b1baa307430a20137546108026144026ea81e040044c26004004dd69852009850809baa001148000c20804c28004dd51841009850009baa0761533309e01309201309f01375400e26464a666140026128026142026ea801c54ccc28004ccdca8010009bae30a50130a201375400e20062c2c6ecc008dd71851809850009baa0071533309e0133063078309301330a201309501330a20130a30130a001375400e97ae04bd7008008b0b0b185100985180801185080800985080800984e009baa309f01002309e01309f01001309a013754613a026134026ea80140e858c27004c26404dd50018a99191919984d0098468080209919191919299984f80803099bb032323232323232323232323232323232323253330b10153330b10101a1323253330b3013375e612e02616a026ea8058c2e0040084cdd7984080985a809baa01600114a0616e026170020026166026ea808c4c8c94ccc2cc04cdd7984b80985a809baa01630b80100213375e610202616a026ea8058004528185b80985c00985c008009859809baa02b153330b10153330b1013371e022010266e3c03c0185280a9998588099b8f375c612a0202a0082a6661620266e3cdd718428080a8010991929998598099baf30870130b501375402c616a020042a6661660266e24dd698408080b80089854009985b809ba7330b70137520146616e026ea4020cc2dc04dd419b800070104bd701985b809ba7330b701375200c6616e026ea4010cc2dc04dd419b810030014bd701985b809ba700b4bd700b0b1bad30b301001333333333304501100f00400200500103f01900e0121616153330b10153330b1013371e022008266e3c03c0085280a9998588099b8f375c612a0202a0102a6661620266e3cdd718428080a8030991929998598099baf30870130b501375402c616a020042a6661660266e24dd698408080b80089854009985b809ba7330b70137520146616e026ea4020cc2dc04dd419b810070014bd701985b809ba7330b701375200c6616e026ea4010cc2dc04dd419b800030104bd701985b809ba700b4bd700b0b1bad30b301001333333333304501100f00800600100503e01900e01216161616375a616a02616c020046eb8c2d004004c2d00401cdd71859008031bad30b10130b201002375c61600200261600200a6eb8c2b804010dd61856809857008011bac30ac0100130ac010023758615402002614c026ea80bcdd69854009854808011bae30a70100130a701006375c614a0200a6eacc29004c29404c28404dd500c9ba70011630a40102530a20102437586142026144020046eb0c28004004c27004dd50030a99984d009846008020991919299984e80802099bb032323253330a0013371e6eb8c2100400cdd71842009bac30840130a20137540562a6661400266e3cdd7183a0019bae307437586108026144026ea80ac54ccc28004cdc79bae308401002375c6108026eb0c1d0c28804dd50158a9998500099b8f375c60e80046eb8c1d0dd6183a1851009baa02b13253330a101337109000000899191919191929998538099baf307b30a90137540186e98cccc100cccc100cccc100cccc100020dd71845808051bae307b00a3065003375c6116020126eb8c1ec024c194009220100488100306500f375c6116026eb0c1d4c2a404dd50191bae307b375860ea6152026ea80c800454ccc29c054ccc29c040404c8c94ccc2a404cdd79846809855809baa00e30ae0100213375e60ee6156026ea80380045281856809857008009854809baa0191323253330a9013375e611a026156026ea8038c2b8040084cdd7983b9855809baa00e00114a0615a02615c02615c020026152026ea80844c27004cc2ac04dd399855809845809bac308b0130a9013754064661560260f66eb0c22c04c2a404dd501919855809ba8337006eb4c1d4dd61845809854809baa0320034bd7019855809ba7330ab01308b01375860f66152026ea80c8cc2ac04c1ecdd6183d9854809baa032330ab01375066e00dd6983a9bac307b30a901375406400497ae0330ab01374e66156026116026eb0c1d4c2a404dd50191985580983d9bac307530a901375406466156026ea0cdc01bad3075375860ea6152026ea80c80052f5c097ae016163370666e08008dd6983a1bac307430a80137540626eb4c1d0dd61845009854009baa031375a614e020046eb4c294040054ccc28c04cdc4001800899bb037500066ea0cdc199b82375a60e26eb0c1dcc29404dd50170019bad30713758610e02614a026ea80b84cdd81ba8001375000466e0ccdc10009bad30703758610c026148026ea80b4dd698381bac307630a401375405a6606c6eb4c1bc00cccc190008dd71842808019bae30750031633035375a60dc00666e04ccc18c004dd71842008019bae307400353330a001309a01375c610802006266e01208092f40100814800058585858dd59852009852809850809baa01937586140020086eb0c2780400cdd38008b1851008119850008111919bb030a00100130a00130a1010013758613e026138026ea801854ccc26804c22c040104c8c8c94ccc274040104cdd8191919191929998510099b8f005375c610c026eb0c1c0c29004dd50168a9998510099b8f003375c60ec6eb0c1c0c29004dd5016899191929998528099baf307930a70137540146e98cccc0f8cccc0f8cccc0f8cccc0f8010020018c18c00d22100488100306300d375c6112026eb0c22404c29c04dd50181bae30793758611202614e026ea80c0008dd71844809bac307930a70137540606eb8c1e4dd6183c9853809baa030001153330a50153330a50100e1323253330a7013375e6116026152026ea8030c2b0040084cdd7983a9854809baa00c00114a0615602615802002614e026ea805c4c8c94ccc29c04cdd79845809854809baa00c30ac0100213375e60ea6152026ea80300045281855809856009856008009853809baa01f1309a01330a901374e66152026112026eb0c22404c29c04dd50181985480983c9bac30890130a701375406066152026ea0cdc09bad30733758611202614e026ea80c00092f5c066152026e9ccc2a404c22404dd6183c9853809baa030330a9013079375860f2614e026ea80c0cc2a404dd419b81375a60e66eb0c1e4c29c04dd5018000a5eb80cc2a404dd399854809844809bac307330a7013754060661520260f26eb0c1ccc29c04dd501819854809ba8337026eb4c1ccdd618399853809baa0300034bd7025eb805858cdc199b82002375a60e46eb0c1e0c29804dd50179bad3072375860e4614c026ea80bccdc199b82001375a60e26eb0c21c04c29404dd50171bad3071375860e2614a026ea80b8cc0dc008ccc19400401400c5858dd59853009853809851809baa01b375a614a02614c020046eb8c29004004c29004010dd71851008019ba70011630a20102330a0010223758613e026138026ea801854ccc26804c228040104c8c8c94ccc274040104c8c94ccc27c04cdc4240006140026ea8c284040084cdd80009ba70031337600026e9c098c27c04004c8c8c8c8c8c8c8c8c8c8c94ccc2a004cdc78041bae308c0137586118026154026ea80cc54ccc2a004cdc78031bae307c37586118026154026ea80cc54ccc2a004cdc78021bae308c01375860f86154026ea80cc54ccc2a004cdc78011bae307c375860f86154026ea80cc4c8c94ccc2a8054ccc2a804ccc2a8040052825114a22a6661540266ebcc1f8c2b004dd50079ba6002153330aa010131323253330ac013375e612002615c026ea8044c2c4040084cdd7983d1857009baa01100114a06160026162020026158026ea80704c8c94ccc2b004cdd79848009857009baa01130b10100213375e60f4615c026ea80440045281858009858809858808009856009baa02414a0266ec0c27c04cc2b804dd399857009847009bac308e0130ac01375406a6615c0260fc6eb0c23804c2b004dd501a99857009ba8337006eb4c1e0dd61847009856009baa035375a60f06eb0c2ac040412f5c06615c026e9ccc2b804c23804dd6183f1856009baa035330ae01307e375860fc6158026ea80d4cc2b804dd419b80375a60f06eb0c1f8c2b004dd501a9bad3078375861580202097ae0330ae01307830ac01375406a97ae03330aa010014c103d87a80004c0103d8798000163330a9013375e6e98005300101a0004a0944cccc104cccc104cccc10402d22010048810030660100080063066005004002306600116161616375a615802615a020046eb8c2ac04004c2ac04018dd71854808029bad30a80130a901002375c614e02002614e020066eb8c29404008dd61850808029bac309f010043756614402614602613e026ea805c58c2880408cc28004088c8cdd81850008009850009850808009bac309f01309c01375400c2646464a66613a020082a66613a02a66613a0266ebcc1c4c27c04dd50011ba633330363333036375660e2613e026ea805d22100488100305b005375c613c020066eb8c27c0400d20021533309d0100613375e610202613e026ea8008c28804c27c04dd50078a5014a0266ec00a0dd38008b0b1851008119850008111919bb030a00100130a00130a1010013758613e026138026ea8018cdc480080699b80038003308b013098013754012612e026ea8008dd598329849809baa00b5333090013084013091013754002266ec0dd400a9ba83088010141337606ea0c22004054dd400a0b184a00984a808011849808009849808011bad309101001309101309101001308c013754004a6661120260fa6114026ea80044c8c8c8c8c8c8c8c8c8c8c8c94ccc26004c26c040084c8c8c8c926307f00632533309801308c01001132323232533309f0130a20100213232498c94ccc27804c2480400454ccc28404c28004dd50018a4c2c2a66613c0261220200226464a66614602614c020042930b1bae30a40100130a00137540062a66613c0261200200226464a66614602614c020042930b1852008009850009baa00316309e01375400460d60062c614002002614002004613c020026134026ea802054ccc26004c22c0400454ccc26c04c26804dd50040a4c2c2c6130026ea801cc20804028c1f402c58c26404004c26404008c25c04004c25c04008c25404004c25404008dd69849808009849808011848808009848808011847808009845809baa00116308d01308a0137540022c6464a6661120260fa0022980103d87a80001533308901307c001132323300100106022533308f0100114c0103d87a80001323232533308f013371e00c6eb8c2400400c4c21004cc24c040052f5c026600a00a0046120020046126020046122020026eb8c23804c22c04dd50010983f19846809847009845809baa0024bd701844809baa001305530890137540022c611602611802004611402002610c026ea8c22404008c224040054ccc20804cdc480580189980900519b8100300b133012064003533308101307c00213232325333084013371066e18028008cdc300080108008b19b80009002337049002000a99199841009800a4020260340062a6661040260029010099b824820010c068cdc0001a401e2a6661040260029018099b82482020020c068cdc0001a403e2a6661040260029020099b8248202020040c068cdc0001a405e2a6661040260029028099b824820202020080c068cdc0001a407e260300066e2000858c21404c2180400cdd69842008011842008041bac3082010073001001222533307233712900f0008999801801983c183c183c183c183c183c183c183c183c183c183c183c183c183c183c00119b800014807454ccc1c8cdc4a401c002266600600660f060f060f060f060f060f060f000466e00005200d133004002001300100122253330703064001100213330030033076002306900122222222223232337606ea0004dd3199980899998089999808801806005981b002244100488100303600500a0090013370666e08cdc100300180099b803370400e90504e0099b820030013370290504e0080211299983699b880010021001100230010012253233306c30014804054ccc1b0c00520001480004c01000854ccc1b0c00520401337049040021980180199b800024803c4cdc124101010100406600600666e00009203f37100026e392201080102040810204080002222533306b305f001100413333302a0040033232002323300100100222533307100114984c94ccc1c8004526132325333071306530723754660666eb8c1c8c1d8010dd718390010998028029983a8010008b183b001183a000983a0009983799bb037520046ea00052f5bded8c044464a6660de60600022980103d87a80001306433073374c00297ae03333302e001005004222325333072306600114c103d87a80001306733076375000297ae03370000200406005a60d80086eb4c1b000cdd698360011bad306b306c001306b001306a001323232323232323232323232323232323232323307a306b3307a374e660f46ea4014cc1e8dd48021983d1ba8337026660726eacc128c1e0dd5024802802299983b183800288040a400097ae03307a374e660f46ea400ccc1e8dd48011983d1ba83330393756609460f06ea812400c0092f5c0660f46e9ccc1e8dd48239983d1ba93014375c60f6024660f460f601e97ae04bd701983d1ba83333013323376060f800260f860fa0026eb0c1ec03802c024004cc1e8dd419998099919bb0307c001307c307d001375860f601a016012002660f46ea00212f5c06464a6660ee60d600220182a6660ee60d4002264a6660f066e2003400440044034dd6983e183c9baa002163077375400260b260ee6ea8c164c1dcdd50269bae3076004375c60e80066eb8c1d000cdd718390011919bb0307600130763077001375860e40146466ec0c1d4004c1d4c1d8004dd618380049bad30733074002375a60e400260e40046eb4c1c0004c1c0c1c0004c1bc004c1b8004c1b4008c8cdd81836000983618368009bac306b001306b001306637540c24444a6660ce66e200080044dd698348020992999834182e00089bad306a0051337006eb4c1a4014cdc199b823370200400866e04dd698350029bad3069005001337020040064660049101040014df100000122337140040022c66e0cc164cdc01bad306500500100133230010012253330640011480044c94ccc188c154c18cdd5182318321baa304630643754606c60c86ea8c19c0084c168cc00c00c0044cc00c00c004c19c004104dd6983198320011bad3062001306200130613061002305f001305f305f305f305f305f305b375404c2c6eb4c174c178c178008dd6982e000982e182e0011919bb0305b001305b305c001375860b400260b40046466ec0c164004c164c168004dd6182c000982c0011bad30560013056002323376060aa00260aa60ac0026eb0c150004c150008dd7182900098271baa304e004375660a060a2004609e00260966ea8c128004c048098dd6182618268011bad304b001304b002375a6092002608a6ea80b04c8c94ccc114c0e00444c8c8c8c8c8c94ccc12ccdc48028008a9998259999803980c98269baa01802102302513232533304d3041304e3754002264a66609c66ebcc0c8c140dd5000980b98281baa01b1533304e3375e603860a06ea800530107d87b9fd87980ff001533304e337120066660226eacc088c140dd5000a441004881001533304e30420051533304e3370e0100082a66609c66ebcdd3180a0151ba63233001001330163756604660a26ea80892210022533305300114bd6f7b6300991982a99bb037526eb8c148004dd319198008009bab305400222533305600114bd6f7b6300991982c19bb037526eb8c154004dd418091bad305600133003003305a0023058001330030033057002305500114a22c2c26464646464a6660a666ebcc0dcc154dd500118251982b9ba90244bd700a99982999baf00432323232323232304f3305e305f0073305e305f0063305e305f0053305e305f0043305e305f0033305e305f0023305e305f0013305e305f30600013305e375066e040400512f5c060be00260bc00260ba00260b800260b600260b400260aa6ea814054ccc14ccdd79ba6001374c646660020026eacc0a0c158dd501399299982a98248008a5eb7bdb1804c8c8cc0040052f5bded8c044a6660b60022660b866ec13001014000374c00697adef6c60132323232533305c30523301e488100002133060337609801014000374c00e00a2a6660b860ac0042660c066ec13001014000374c00e0062660c066ec0dd48011ba600133006006003375660ba0066eb8c16c008c17c008c174004c8cc0040052f5bded8c044a6660b40022660b666ec13001014000375000697adef6c60132323232533305b30513301d48810000213305f337609801014000375000e00a2a6660b660aa0042660be66ec13001014000375000e0062660be66ec0dd48011ba800133006006003375a60b80066eb8c168008c178008c170004c0480388894ccc16400840044c8ccc010010c17400cccccc058008dd7182c0009bab305900122232533305b301c00114c0103d87a8000130503305f374c00297ae0323330010010030022225333060002100113233300400430640033333301e002375c60be0026eb4c180004888c94ccc188c1580045300103d87a80001305733066375000297ae03370000400204060c400403260b60042a6660a6660206eb0c078c154dd5010119baf3028305637540066092660b06092660b000297ae04bd700a5116161616375660ae60b000460ac00260a46ea8c144008c144004c0600b0585858c148c13cdd50008b1999180080091129998290010a60103d87a8000132325333051304500313046330550024bd7009998028028009825001982b001982a00101500299b810053370666e08014dd6982619299982798291829000899bb03051001305130520011637586026609a6ea8060dd6982699299982798291829000899bb03051001305130520011637586026609a6ea80605858dd698279828182818281828182818280011bad304e001304e304e304a375408a6eb4c130c134008dd6982580098239baa02e1323232323232323232533304e3375e010646464608c660aa60ac006660aa60ac004660aa60ac002660aa6e9ccc154c148018cc154c14c0192f5c0660aa6e9ccc154c148010cc154c14c0112f5c0660aa60ac60ae00a60ae60ae60ae60ae00260ac00260aa00260a06ea812c4c94ccc13cc10cc140dd50008a9998279999805982a18289baa0010250270291533304f3375e00e606660a26ea808854ccc13ccdd79ba6006302330513754044294458585858c14cc150c150c150c150c150c140dd50258b1919bb0305300130533054001375860a400260a40046466ec0c144004c144c148004dd6182800098281828182818261baa0043756609c609e004609a00260926ea8c120008c120004c03c08c8888c8cc00400401488c94ccc12cc0fc0044c8c8cc004004020894ccc144004528099299982799b8f375c60a800400829444cc00c00c004c150004dd7182818269baa0021533304b303e00113233001001375860a2609c6ea800c894ccc14000452889929998271980300318298010998018018008a5030530011533304b303d001133008375860a0609a6ea80088cc01001000454ccc12cc0f00044c8cdc49bad305100132333001001375860a460a60049000111299982900108008999801801982a801299982799803803982a00109823800880098269baa0021533304b303b00113232533304d3040304e3754002264a66609c64a6660a460a20022a66609e608460a0002294454ccc13cc10cc1400045280b0b1baa302230503754604460a06ea80204cdc4800801899b88001003375a60a4609e6ea8004528181818271baa3020304e375400c6eb4c140c134dd50010a999825981d000899192999826982018271baa001132533304e32533305230510011533304f3042305000114a22a66609e608660a000229405858dd5181118281baa303230503754010266e2400c0044cdc40018009bad3052304f37540022940c0c0c138dd5181818271baa006375a60a0609a6ea80084cc040010c100cc13cc108cc13cc140c134dd500125eb812f5c060966ea800488c8cc00400400c894ccc1280045280992999824180218268010a51133003003001304d0013702900011111191980080080311299982580089982619bb0375200c6e980152f5bded8c0264646464a66609860846600e0140042660a066ec0dd48051ba60090051533304c3371e014004264a66609a6082609c6ea80044cc144cdd81ba900b3052304f375400200820086660100140120022660a066ec0dd48011ba6001330060060033756609a0066eb8c12c008c13c008c13400488888c8cc004004018894ccc1280044cc12ccdd81ba9006375000a97adef6c60132323232533304b30413300700a00213304f337606ea4028dd40048028a99982599b8f00a002132533304c3040304d37540022660a066ec0dd4805982898271baa001004100433300800a00900113304f337606ea4008dd4000998030030019bad304c003375c6094004609c00460980024a666086002294452811299982019b9000200114c0103d8798000153330403371e0040022980103d87a800014c103d87b80002223253330413034304237540022900009bad30463043375400264a666082606860846ea8004530103d87a8000132330010013756608e60886ea8008894ccc118004530103d87a8000132323253330463371e00e6eb8c11c00c4c0eccc128dd4000a5eb804cc014014008dd6982380118250011824000998020018011119198008008019129998218008a60103d87a8000132323253330433371e00c6eb8c11000c4c0e0cc11cdd3000a5eb804cc014014008dd59822001182380118228009119198008008019129998210008a5013253330403375e0086082608a00429444cc00c00c004c1140048cc0080052210022323300100100322533304000114bd6f7b630099191919299982099b8f0070021003133045337606ea4008dd3000998030030019bab3042003375c6080004608800460840024607c607e607e607e607e0024607a607c607c607c002464a666070605860726ea80044c8c94ccc0e8c0b0c0ecdd50008991919bb00040023026001303f303c37540022c600e60766ea8004c0f4c0e8dd50008b299981d0008a6103d87a80001302c3303b303c0014bd701181d981e181e181e181e181e181e000981a9baa01d3232325333039303c00213253330373371e6eb8c0e00080d454ccc0dccdd79ba60014c10ba14873657474696e677301001325333038302a3039375400226464004a666072605a60746ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc150c15c0084c8c8c8c8c8c8c9263304501123028001325333057304b00113232533305c305f002132498cc11c0048dd70008b1bac305d001305937540262a6660ae60940022a6660b460b26ea804c526161630573754024646eb4c160050dd6982b009981180a181f80a981080b181e80b8b182a800982a8011bad30530013053002375a60a200260a20046eb4c13c004c13c008dd6982680098268011bac304b001304b00230490013049002325333046304930490011337606090002609060920022c6eb0c11c004c11c008c114004c114008c10c004c10c008c104004c104008c0fc004c0ecdd50008b181e981d1baa001163005303937540082c2c6eacc0e000458c0e8004c0e8dd59804181b1baa001300730353754607002646070607260720024a666064604c60666ea80044c8c8c8c94ccc0e4c0f00084c8c926325333038302c00113232533303d3040002132498c94ccc0ecc0bc0044c8c94ccc100c10c0084c926300d001163041001303d37540042a666076605c0022646464646464a666088608e0042930b1bad30450013045002375a608600260860046eb4c104004c0f4dd50010b181d9baa00116303e001303a37540062a66607060560022a66607660746ea800c526161630383754004600c0062c60740026074004607000260686ea8004588c94ccc0c8c0980044c8c94ccc0dcc0e800852616375c607000260686ea800854ccc0c8c0940044c8c94ccc0dcc0e800852616375c607000260686ea800858c0c8dd50009bae3034303137540022c602460606ea8c048c0c0dd5000992999817181098179baa001132533302f3023303037540022600660626ea8c0d0c0c4dd50008b1991191980080080191299981a8008a6103d87a80001323253330343375e6030606c6ea80080144c0a4cc0e00092f5c02660080080026072004606e0026eb0c048c0c0dd5180918181baa0133033303037540022c6002605e6ea80488c0c8c0cc004dd59818181898188011bac302f001302f002302d001302d00237566056002605660560046eacc0a4004c0a4c0a4008dd6181380098138011bac3025001302500237586046002603e6ea8c004c07cdd5001118110008a4c26cac6464a66603860200022646464646464a66604a6050004264931980800091919191919192999816181780109924c64a666054603c00226464a66605e6064004264932999816181018169baa0011323232325333033303600213232498c0640094ccc0c0c090c0c4dd500189919191919191919299981d981f001099191924c604200aa666072605a60746ea80184c8c8c8c94ccc100c10c0084c8c926302400230230031630410013041002303f001303b375400c2ca666070605860726ea801c4c8c8c8c94ccc0fcc1080084c926533303c3030303d375400626464a66608260880042930b1bae3042001303e37540062c2c6eb4c100004c100008c0f8004c0e8dd50038b0b181e000981e001181d000981d001181c000981c001181b00098191baa0031616303400130340023032001302e37540022c2c606000260586ea801054ccc0a8c07400454ccc0b4c0b0dd50020a4c2c2c60546ea800c58dd698168009816801181580098158011bad302900137580022c6eb0c098004c098008dd6981200098120011bad3022001301e375400a2a666038601e002264646464a666046604c0042930b1bad30240013024002375a6044002603c6ea801454ccc070c03800454ccc07cc078dd50028a4c2c2c60386ea801094ccc06cc03cc070dd50008991919192999811181280109924c64a66604060280022a66604660446ea8010526161533302030130011323253330253028002149858dd6981300098111baa00415333020301200115333023302237540082930b0b18101baa0031632533302230210011533301f3012302000114a22a66603e6026604000229405858dd5181180098118011810800980e9baa00116232533301b300f0011323253330203023002132498c94ccc078c0480044c8c94ccc08cc09800852616375c604800260406ea800854ccc078c0440044c8c94ccc08cc09800852616375c604800260406ea800858c078dd50008b1810800980e9baa0021533301b300e0011323232325333022302500213232498c8c8c8c8c94ccc0a0c0ac00852616375a605200260520046eb8c09c004c09c00cdd718128011919191919299981398150010a4c2c6eb4c0a0004c0a0008dd7181300098130021bae3024003163758604600260460046eb0c084004c074dd50010a99980d9806800899192999810181180109924c6464646464646464a66605060560042930b1bad30290013029002375c604e002604e0066eb8c094008c8c8c8c8c94ccc09cc0a800852616375a605000260500046eb8c098004c09800cdd718120011bac30200023758603c0022c64a66604060466046002266ec0c088004c088c08c00458dd61810800980e9baa0021533301b300c0011323253330203023002132498c8c8c8c8c94ccc094c0a000852616375a604c002604c0046eb8c090004c090008dd718110008b1bac3021001301d37540042a666036601600226464a6660406046004264931919191919191919299981418158010a4c2c6eb4c0a4004c0a4008dd7181380098138019bae302500232323232325333027302a002149858dd6981400098140011bae30260013026003375c60480046eb0c080008dd6180f0008b19299981018119811800899bb03022001302230230011637586042002603a6ea800854ccc06cc0280044c8c94ccc080c08c0084c92632375c60400046eb8c07800458c94ccc080c08cc08c0044cdd81811000981118118008b1bac3021001301d37540042c60366ea80048c94ccc068c0380044c8c94ccc07cc08800852616375c604000260386ea800854ccc068c03400454ccc074c070dd50010a4c2c2c60346ea8004c00404c94ccc058c028c05cdd500089919191919191919191919191919191919192999815981700109919191924c64a666058604000226464a666062606800426493180d0008b181900098171baa00b1533302c301f0011533302f302e37540162930b0b18161baa00a32375a605a0186eb4c0ac02cc8dd698160069bad302a00c32323232375c605c0066eb8c0b0008c8dd718168019bae302b0023233760605e002605e60600026eb0c0ac040c8cdd81817000981718178009bac302900f16375a605800260580046eb4c0a8004c0a8008dd6981400098140011813000981300119299981198131813000899bb03025001302530260011637586048002604800464a66604260486048002266ec0c08c004c08cc09000458dd6181100098110011bad3020001302000232533301d30203020001133760603e002603e60400022c6eb0c078004c078008dd7180e000980c1baa00116300100122325333016300a00113232533301b301e002149858dd7180e000980c1baa00215333016300900113232533301b301e002132498cc0180048cc01801800458dd6180e000980c1baa00215333016300800113232533301b301e002132498cc0180048cc01801800458dd6180e000980c1baa002153330163007001132323232533301d3020002132498cc0200048cc02002000458dd6180f000980f0011bad301c001301837540042a66602c600c00226464a666036603c0042930b1bad301c001301837540042a66602c600a00226464a666036603c0042930b1bad301c001301837540042a66602c66e1d200c00113232533301b301e002149858dd7180e000980c1baa002163016375400244646600200200644a66603200229309919801801980e8011801980d800980b980a1baa00e370e90051b8748020dc3a400c6e1d2004370e90011b8748000dd2a40006ebd30103d8798000374a90011b8048008dc0240026e3d22100371290001bae0015734aae7555cf2ab9f5740ae855d101", - "hash": "284409bbfebab18787c0ebe82f0389da2c1cea1cc80bc092640518b9" + "compiledCode": "594a4d0100003323232323232322322253232323232323232323232323233301230063013375401c264a6660266464646464646464646464a66603c60220162646464646464a6660486030604a6ea80044c8c8c8c94ccc0a0c070c0a4dd5000899192999815180e18159baa0011323232323232323232533303330273034375400226464646464646464646464a66607c66e24dd69821982218221822182218221822182218221822182218201baa004375a600260806ea80504c8c94ccc100c94ccc104cdc499b8200200200113371000266e08c0e4008c0e400852819b820020041323232325333044303830453754002264a66608a66ebcc0b8c11cdd5000981698239baa00b15333045303833302a3756605a608e6ea800408403c54ccc114cdd7981618239baa0014c107d87b9fd87980ff001323253330473375e606060926ea8c0c0c124dd500f981f198259ba90234bd700a99982399198008009bac3003304a375401c44a66609800229404c94ccc128cdd7981918261baa3033304c3754044607e6609c607e6609c609e00497ae04bd700a51133003003001304f001153330470161533304700715333047005100114a029405280b0b299982319b8f375c605e60906ea807004854ccc118cdd79ba63304a32533304a304d304d00113376060980026098609a0022c6eb0c0b8c120dd500e25eb7bdb180dd31982519bb0374e66094608e02e66094609002e97ae0374e66094608e02c66094609002c97ae04bd6f7b6300a99982319b87375a605a60906ea807001c54ccc118cdc49bad3001304837540386eb4c12cc130c130c130c130c130c130c130c120dd500e0992999823980099299982598271827000899bb0304d001304d304e001163758600c60926ea80744c004c94ccc12cc138c1380044cdd81826800982698270008b1bac30333049375403a294094ccc11cc100dd698240008a99982398201bad304900115333047337126eb4c12000520a09c011337126eb4c12400520a09c0114a029405280a5014a02940528118259826182618261826182618260008b0b0b182498231baa001163301d37586054608a6ea8c0b0c114dd501f8109999919111191919191919191919191929998291826804099baf374e660ac98101030033056375066e00030014cc158dd40009982b26010101004bd701ba7333010300f00e4bd7090100008101000081010000810100001119299982a99b8f375c607c0060162660b26ea0004cc164dd419b80375a607a0046eb4c0f000ccc164c0f0008cc164c0500092f5c02a6660aaa6660aa66e3cdd7181f001803899b8f375c607a00600a29404cc164dd40009982c981e8011982c9ba8337006eb4c0f0008dd6981e0019982c980a00125eb8054ccc154cdd79ba7003374e660b26ea40c4cc164dd4981c0109982ca6010101004bd7009982c9ba800133059303d00233059303c002330593750609a6eb4c0500092f5c02c60986eb4c0f40044cdd79ba7330564c01010400330563750018660ac6ea0014cc158dd40009982b26010101004bd701ba7333010300f00e4bd709010000810100008101000081010000810100001119299982aa99982a98281bae303e00313050375c607a00629404cc164dd40009982c9ba8337006eb4c0f4008dd6981e0019982c981e0011982c980a0011982c982080125eb8054ccc1554ccc154cdc79bae303e00300b13371e6eb8c0f400c02452809982c9ba800133059303d00233059375066e00dd6981e0011bad303c0033305930140023305930410024bd700a99982aa99982a99b8f375c607c00600e266e3cdd7181e8018028a501330593750002660b2607a004660b26078004660b26ea0cdc01bad3014002375a6078006660b2608200497ae0153330553375e6e9c00cdd39982c9ba90313305937526070042660b29810101004bd7009982c9ba800133059303d00233059303c002330593014002330593750609a6eb4c1040092f5c02c60986eb4c0f4004dd6982b182b8011bae30550013055006375c60a600a6eb4c148c14c008dd7182880098288019bae304f0023758609c609e0046eb0c134004c124dd5001119198008008011129998248008a5eb804c8ccc888c8cc00400400c894ccc13c004400c4c8cc144dd3998289ba90063305137526eb8c138004cc144dd41bad304f0014bd7019801801982980118288009bae30480013756609200266006006609a004609600244464666002002008006444a66609600420022666006006609c004660086eb0c134008004dd5981518221baa01a303733046374e6608c60860266608c60880266608c6ea00112f5c06608c6e9ccc118c10c048cc118c110048cc118dd400325eb80cc118dd3998231ba901e3304637520126608c6ea000d2f5c097ae0375a600a60886ea80608c11cc120c120c120004cdd79ba6302b3756605860846ea8c0a4c108dd501e1ba6323300133001302733045375203a6608a6ea402ccc1153010101004bd701813998229ba901d3304537520126608a98010101004bd701813998229ba901d3304537520106608a6ea00092f5c04464666002002006004444a666090004200226466600800860980066644646600200200a44a66609a00226609c66ec0dd48021ba60034bd6f7b630099191919299982718221981c00400109982919bb037520106e9801c01454ccc138cdc78040010992999827982198281baa001133053337606ea4024c150c144dd50008020802192999827a9998290008a5114a0298103d87a80001304433053374c00297ae0323330010010080022225333054002100113233300400430580033322323300100100522533305900113305a337606ea4010dd4001a5eb7bdb1804c8c8c8c94ccc168c140cc1100200084cc178cdd81ba9008375000e00a2a6660b466e3c0200084c94ccc16cc13cc170dd500089982f99bb0375201260c060ba6ea80040104010c94ccc16cc13c004530103d87a8000130503305f375000297ae03370000e0022660bc66ec0dd48011ba800133006006003375a60b60066eb8c164008c174008c16c004dd718298009bad30540013056002133052337606ea4008dd3000998030030019bab304f003375c609a00460a2004609e0026eb8c11c004dd5982400098250010b1bad30263041375402aa66607c60646e34dd7181f807899b81003375a600260806ea8050400c588c10cc110c110c110c110c110c110c110c110004ccc084dd59812181f1baa014375c607a0186eb8c0f8030ccc080dd59811981e9baa013375c60780186eb8c0f4030c8c8c8c8c94ccc108c1140084c94ccc100cdc79bae304100203e153330403375e6e980053010ba14873657474696e67730100132533304130333042375400226464004a666084606c60866ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc174c1800084c8c8c8c8c8c8c926330350112302700132533306030540011323253330653068002132498cc0dc0048dd70008b1bac3066001306237540262a6660c060a60022a6660c660c46ea804c526161630603754024646eb4c184050dd6982f809981100a181780a981000b181680b8b182f000982f0011bad305c001305c002375a60b400260b40046eb4c160004c160008dd6982b000982b0011bac305400130540023052001305200232533304f3052305200113376060a200260a260a40022c6eb0c140004c140008c138004c138008c130004c130008c128004c128008c120004c110dd50008b182318219baa001163027304237540082c2c6eacc10400458c10c004c10cdd59812981f9baa0013024303e375460826eb0c090c0f8dd51812981f1baa0382533303c3030303d3754002264646464a666086608c0042646493192999821181b000899192999823982500109924c64a66608a607200226464a666094609a0042649318068008b182580098239baa0021533304530380011323232323232533304e3051002149858dd6982780098278011bad304d001304d002375a6096002608e6ea800858c114dd50008b182400098221baa00315333042303500115333045304437540062930b0b18211baa002300600316304400130440023042001303e37540022c464a666078606000226464a66608260880042930b1bae3042001303e37540042a666078605e00226464a66608260880042930b1bae3042001303e37540042c60786ea8004dd7181f181f8011bae303d001303d002375c6076002660726ea4cc06522104000643b0000013303937526030002660726ea4cc065221040014df10000014bd7019199b8c48020cdc01b8d0014801c004dca1980c1980c1bae301d30363754603a606c6ea8c074c0d8dd5000a4501230032533303533710002904002099b8b00148810016375a6038606c6ea8c074c0d8dd5000981c181a9baa001163300c3758603660686ea8c06cc0d0dd501724000604e646464a66606860500022980103d879800015333034302700113301e00300214c0103d87b8000303437546603a6eb8c0d0010dd7181a0019bae3034002375c60660046466ec0c0d8004c0d8c0dc004dd618190089919bb030350013035303600137586060020a66605c6044605e6ea80104c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc10cc1180084c8c8c8c9263253330443038001132325333049304c002132498c06400458c128004c118dd50058a999822181b8008a99982398231baa00b14985858c110dd5005191bad304500c375a6086016646eb4c110034dd69821006191919191bae3046003375c6088004646eb8c11400cdd718218011919bb0304700130473048001375860860206466ec0c118004c118c11c004dd618208078b1bad30440013044002375a608400260840046eb4c100004c100008c0f8004c0f8008c94ccc0ecc0f8c0f80044cdd8181e800981e981f0008b1bac303c001303c002325333039303c303c0011337606076002607660780022c6eb0c0e8004c0e8008dd6981c000981c00119299981a981c181c000899bb0303700130373038001163758606c002606c0046eb8c0d0004c0c0dd50020b180080091192999817981180089919299981a181b8010a4c2c6eb8c0d4004c0c4dd50010a999817981100089919299981a181b80109924c6600c00246600c00c0022c6eb0c0d4004c0c4dd50010a999817981080089919299981a181b80109924c6600c00246600c00c0022c6eb0c0d4004c0c4dd50010a9998179810000899191919299981b181c80109924c660100024660100100022c6eb0c0dc004c0dc008dd6981a80098189baa0021533302f301f0011323253330343037002149858dd6981a80098189baa0021533302f301e0011323253330343037002149858dd6981a80098189baa0021533302f3370e900600089919299981a181b8010a4c2c6eb8c0d4004c0c4dd50010b18179baa00122323300100100322533303200114984c8cc00c00cc0d8008c00cc0d0004c0bcc0b0dd50008b180818159baa001302d302a37540022c660026eb0c038c0a4dd5180818149baa0230063001001222533302b00214c0103d87a800013232533302a301e0031301f3302e0024bd7009998028028009812001981780198168011bae3029302637540022c6016604a6ea807cdd6981398140011bad302600130260023233760604a002604a604c0026eb0c090004c080dd500d8a99980f1809005899192999810180a18109baa001132323253330233017302437540022a666046602c6660106eacc02cc094dd5181418129baa00100300213017333008300e3756601e604a6ea8c030c094dd500f8018010a501632533302600114c0103d87a8000130183302730280014bd701bac300930243754601660486ea8078c01000cdd7181298111baa001163007302137540366eb8c08cc080dd500d899192999810180a18109baa00113375e6e98c02cdd5980618111baa3009302237540386e98c018cc090c094c088dd5000998121ba93003002330244c010120004bd700b180398109baa01b375c604660406ea806c8cc00922104000de14000001223371400400244464a66603e602460406ea8004520001375a604860426ea8004c94ccc07cc048c080dd50008a60103d87a8000132330010013756604a60446ea8008894ccc090004530103d87a8000132323253330243371e00e6eb8c09400c4c064cc0a0dd4000a5eb804cc014014008dd698128011814001181300099198008008021129998118008a6103d87a8000132323253330233371e00e6eb8c09000c4c060cc09cdd3000a5eb804cc014014008dd59812001181380118128009199911299980f18090008a5eb7bdb1804c8c8cc0040052f5bded8c044a66604800226604a66ec0dd48031ba60034bd6f7b6300991919192999812980d9980780500109981499bb037520146e9801c01454ccc094cdc780500109981499bb037520146e9801c00c4cc0a4cdd81ba9002374c0026600c00c0066eacc09800cdd71812001181400118130009919800800a5eb7bdb180894ccc08c0044cc090cdd81ba9004375000697adef6c601323232325333024301a3300e008002133028337606ea4020dd40038028a99981219b8f008002133028337606ea4020dd400380189981419bb037520046ea0004cc01801800cdd698128019bae302300230270023025001375c60080026eb8c00c004dd698010009180f981018100009180f180f8009180e80091299980c19b9000200114c103d8798000153330183371e0040022980103d87a800014c103d87b80002323300100100222533301b00114bd6f7b630099191919299980e180b801080189981019bb037520046e98004cc01801800cdd5980e8019bae301b002301f002301d0012301a301b301b301b301b0013014375402029309b2b192999809980380089919299980c180d8010a4c2c6eb8c064004c054dd50080a99980998030008991919191919299980e180f80109924c646464646eb8c07c00cdd7180e801191bae301e003375c60380046466ec0c080004c080c084004dd6180e0031919bb0301f001301f30200013758603400a2c6eb4c074004c074008dd6980d800980d80119299980c180d980d800899bb0301a001301a301b0011637586032002602a6ea804054ccc04cc0140044c8c94ccc060c06c00852616375c6032002602a6ea804058c04cdd500789991919191911919191299980e191919191919191919191919191919191919192999817981118181baa001132323232323232323232323232323232323232532333043303700f13232323232323232323232323232323232323232323253330593375e607a60b66ea803cc140cc174dd481525eb804c8c8c8c8c8c8c8c94ccc184c1680044c8c8c8c8c8c8c8c8c8c8c8c94ccc1b4cdc399b8000300200e132533306e3370e02c66e0002000454ccc1b8c94ccc1bccdc39bad303d307137540d86eb4c0f4dd6181e98389baa0071303000113375e6e98004dd31983999bb03752601a6eb8c14cc1c4dd50361ba8337026eb4c0f4dd6181e98389baa007375a607a60e26ea81b12f5bded8c064a6660de60c460e06ea800452f5bded8c026eacc1d0c1c4dd500099819181a02501f8a9998372999837183118379baa014132323232533307230663073375400226464a6660e860d060ea6ea80044cdc78011bae3079307637540022c6600600a05a6eb8c1dcc1d0dd50008b198008238169800800911299983a8010a60103d87a800013232533307430680031306933078375200497ae01333005005001306e0033079003375c60ee0046eb0c1ccc1c0dd500a0a511533306e32325333070306330713754002264a6660e264a6660ea60e80022a6660e460ca60e6002294454ccc1c8c198c1cc0045280b0b1baa30453073375460aa60e66ea81244cdc4001800899b89003001375a60ea60e46ea8004528182998389baa30533071375408e6eb4c0e4c1c0dd50358a99983719b8701d375a60786eb0c0f0c1c0dd50030a9998371919191919191919191919191919299983e183b804099baf374e661000298010103003308001375066e00090014cc20004dd40009984000a6010101004bd701ba733300e300d0314bd7090100008101000081010000810100001119299983f99b8f375c60c6006016266106026ea0004cc20c04dd419b80375a60a60046eb4c13400ccc20c04c134008cc20c04c1200092f5c02a6660fea6660fe66e3cdd71831801803899b8f375c60a600600a29404cc20c04dd40009984180982980119841809ba8337006eb4c134008dd698268019984180982400125eb8054ccc1fccdd79ba7003374e66106026ea4140cc20c04dd498078191984180a6010101004bd70099841809ba8001330830130530023308301304d0023308301375060ee6eb4c1200092f5c02c60ec6eb4c1880044cdd79ba733080014c010104003308001375004866100026ea0014cc20004dd40009984000a6010101004bd701ba733300e300d0314bd709010000810100008101000081010000810100001119299983fa99983f983d1bae30630031307a375c60a600629404cc20c04dd400099841809ba8337006eb4c14c008dd6982680199841809826801198418098240011984180982380125eb8054ccc1fd4ccc1fccdc79bae306300300b13371e6eb8c14c00c024528099841809ba8001330830130530023308301375066e00dd698268011bad304d00333083013048002330830130470024bd700a99983fa99983f99b8f375c60c600600e266e3cdd718298018028a50133083013750002661060260a60046610602609a00466106026ea0cdc01bad3048002375a609a0066610602608e00497ae01533307f3375e6e9c00cdd399841809ba905033083013752601e06466106029810101004bd70099841809ba8001330830130530023308301304d002330830130480023308301375060ee6eb4c11c0092f5c02c60ec6eb4c188004dd69840009840808011bae307f001307f006375c60fa00a6eb4c1f0c1f4008dd7183d800983d8019bae3079002375860f060f20046eb0c1dc004c1ccdd5004919808244104000de140000012323300100100222533307500114bd70099199911191980080080191299983d80088018991983e9ba73307d375200c660fa6ea4dd7183d0009983e9ba8375a60f600297ae033003003307f002307d001375c60e80026eacc1d4004cc00c00cc1e4008c1dc004888c8ccc00400401000c8894ccc1dc00840044ccc00c00cc1e8008cc010dd6183c8010008a99983719b8701d375a60780042a6660dc66e1c058cdc00040008a99983719b8f375c60a460e06ea81ac08454ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c108c1c0dd5035a5eb7bdb180dd31983900fa5eb7bdb18054ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c0dcc1c0dd5035a5eb7bdb180dd31983900da5eb7bdb18054ccc1b8cdd79ba6330723253330723075307500113376060e800260e860ea0022c6eb0c0d8c1c0dd5035a5eb7bdb180dd31983900ca5eb7bdb18054ccc1b8cdc39bad3039307037540d602e266ebcc108c1c0dd5182918381baa04130423070375404829405280a5014a029405858585858585858cdc019b803370401a01c66e0800c040cdc10010078b1bac307130723072306e37540086eb4c1c0c1c4008dd69837800983780118368009999919191919191919191911119199999999800800802017240000ae66646002002444a6660f066e24005200010021533307b00214bd700999801801983f0011839000829a400490002400090001111111112999840008038998408080419840809ba80023308101375000297ae0132323232323232323232533308701533308701307a308801375460d66112026ea8c1acc22404dd50008a5114a0264a6661100260f86112026ea80044c8c8c8c8c8c8c8c94ccc24004c94ccc24404c21404c24804dd5000899b8f375c612c026126026ea8004110528984a808030991919999999980f00f18498080080a1845008098079bac309401001011375a6126020046eb4c25004008c8c8cccc00400404c0100d88888c94ccc25c04c22c040044c94ccc26004c23004c26404dd500289999803003260103d87a8000323232323232533309e013375e0326146020082a66613c02646464a6661420264a66614402612a026146026ea80044c94ccc28c04c94ccc29c04c2980400454ccc29004c25c04c294040045288a99985200984c009852808008a501616375460ee614a026ea8c21c04c29404dd5003899b8900100513371000200a6eb4c29c04c29004dd50008a5130850130a3013754610a026146026ea8014400452819299985080984a009851009baa00113253330a2013253330a60130a501001153330a30130960130a40100114a22a66614602612e0261480200229405858dd5183b1852009baa307630a401375400c266e2400c0044cdc40018009bad30a60130a30137540022944c21004c28804dd5183a1851009baa0043253330a00130930130a1013754002264a6661420264a66614a026148020022a66614402612a02614602002294454ccc28804c25804c28c040045280b0b1baa307530a301375460ea6146026ea81e440044c26c04004dd69852809851009baa0011483fa7ede1fa414c20c04c28404dd518399850809baa07732533309f0130920130a0013754002264a6661400264a666148026146020022a66614202612802614402002294454ccc28404c25404c288040045280b0b1baa307430a20137546108026144026ea81e040044c26004004dd69852009850809baa001148000c20804c28004dd51841009850009baa0761533309e01309201309f01375400e26464a666140026128026142026ea801c54ccc28004ccdca8010009bae30a50130a201375400e20062c2c6ecc008dd71851809850009baa0071533309e0133063078309301330a201309501330a20130a30130a001375400e97ae04bd7008008b0b0b185100985180801185080800985080800984e009baa309f01002309e01309f01001309a013754613a026134026ea80140e858c27004c26404dd50018a99191919984d0098468080209919191919299984f80803099bb032323232323232323232323232323232323253330b10153330b10101a1323253330b3013375e612e02616a026ea8058c2e0040084cdd7984080985a809baa01600114a0616e026170020026166026ea808c4c8c94ccc2cc04cdd7984b80985a809baa01630b80100213375e610202616a026ea8058004528185b80985c00985c008009859809baa02b153330b10153330b1013371e022010266e3c03c0185280a9998588099b8f375c612a0202a0082a6661620266e3cdd718428080a8010991929998598099baf30870130b501375402c616a020042a6661660266e24dd698408080b80089854009985b809ba7330b70137520146616e026ea4020cc2dc04dd419b800070104bd701985b809ba7330b701375200c6616e026ea4010cc2dc04dd419b810030014bd701985b809ba700b4bd700b0b1bad30b301001333333333304501100f00400200500103f01900e0121616153330b10153330b1013371e022008266e3c03c0085280a9998588099b8f375c612a0202a0102a6661620266e3cdd718428080a8030991929998598099baf30870130b501375402c616a020042a6661660266e24dd698408080b80089854009985b809ba7330b70137520146616e026ea4020cc2dc04dd419b810070014bd701985b809ba7330b701375200c6616e026ea4010cc2dc04dd419b800030104bd701985b809ba700b4bd700b0b1bad30b301001333333333304501100f00800600100503e01900e01216161616375a616a02616c020046eb8c2d004004c2d00401cdd71859008031bad30b10130b201002375c61600200261600200a6eb8c2b804010dd61856809857008011bac30ac0100130ac010023758615402002614c026ea80bcdd69854009854808011bae30a70100130a701006375c614a0200a6eacc29004c29404c28404dd500c9ba70011630a40102530a20102437586142026144020046eb0c28004004c27004dd50030a99984d009846008020991919299984e80802099bb032323253330a0013371e6eb8c2100400cdd71842009bac30840130a20137540562a6661400266e3cdd7183a0019bae307437586108026144026ea80ac54ccc28004cdc79bae308401002375c6108026eb0c1d0c28804dd50158a9998500099b8f375c60e80046eb8c1d0dd6183a1851009baa02b13253330a101337109000000899191919191929998538099baf307b30a90137540186e98cccc100cccc100cccc100cccc100020dd71845808051bae307b00a3065003375c6116020126eb8c1ec024c194009220100488100306500f375c6116026eb0c1d4c2a404dd50191bae307b375860ea6152026ea80c800454ccc29c054ccc29c040404c8c94ccc2a404cdd79846809855809baa00e30ae0100213375e60ee6156026ea80380045281856809857008009854809baa0191323253330a9013375e611a026156026ea8038c2b8040084cdd7983b9855809baa00e00114a0615a02615c02615c020026152026ea80844c27004cc2ac04dd399855809845809bac308b0130a9013754064661560260f66eb0c22c04c2a404dd501919855809ba8337006eb4c1d4dd61845809854809baa0320034bd7019855809ba7330ab01308b01375860f66152026ea80c8cc2ac04c1ecdd6183d9854809baa032330ab01375066e00dd6983a9bac307b30a901375406400497ae0330ab01374e66156026116026eb0c1d4c2a404dd50191985580983d9bac307530a901375406466156026ea0cdc01bad3075375860ea6152026ea80c80052f5c097ae016163370666e08008dd6983a1bac307430a80137540626eb4c1d0dd61845009854009baa031375a614e020046eb4c294040054ccc28c04cdc4001800899bb037500066ea0c26c04cdc1984e8099b82375a60e26eb0c1dcc29404dd50170019bad30713758610e02614a026ea80b84cdd81ba8001375000466e0ccdc10009bad30703758610c026148026ea80b4dd698381bac307630a401375405a6606c6eb4c1bc00cccc190008dd71842808019bae30750031633035375a60dc00666e04ccc18c004dd71842008019bae307400353330a001309b01375c610802006266e01208092f40100814800058585858dd59852009852809850809baa01937586140020086eb0c2780400cdd38008b1851008119850008111919bb030a00100130a00130a1010013758613e026138026ea801854ccc26804c22c040104c8c8c94ccc274040104cdd8191919191929998510099b8f005375c610c026eb0c1c0c29004dd50168a9998510099b8f003375c60ec6eb0c1c0c29004dd5016899191929998528099baf307930a70137540146e98cccc0f8cccc0f8cccc0f8cccc0f8010020018c18c00d22100488100306300d375c6112026eb0c22404c29c04dd50181bae30793758611202614e026ea80c0008dd71844809bac307930a70137540606eb8c1e4dd6183c9853809baa030001153330a50153330a50100e1323253330a7013375e6116026152026ea8030c2b0040084cdd7983a9854809baa00c00114a0615602615802002614e026ea805c4c8c94ccc29c04cdd79845809854809baa00c30ac0100213375e60ea6152026ea80300045281855809856009856008009853809baa01f1309a01330a901374e66152026112026eb0c22404c29c04dd50181985480983c9bac30890130a701375406066152026ea0cdc09bad30733758611202614e026ea80c00092f5c066152026e9ccc2a404c22404dd6183c9853809baa030330a9013079375860f2614e026ea80c0cc2a404dd419b81375a60e66eb0c1e4c29c04dd5018000a5eb80cc2a404dd399854809844809bac307330a7013754060661520260f26eb0c1ccc29c04dd501819854809ba8337026eb4c1ccdd618399853809baa0300034bd7025eb805858cdc199b82002375a60e46eb0c1e0c29804dd50179bad3072375860e4614c026ea80bccdc199b82001375a60e26eb0c21c04c29404dd50171bad3071375860e2614a026ea80b8cc0dc008ccc19400401400c5858dd59853009853809851809baa01b375a614a02614c020046eb8c29004004c29004010dd71851008019ba70011630a20102330a0010223758613e026138026ea801854ccc26804c228040104c8c8c94ccc274040104c8c94ccc27c04cdc4240006140026ea8c284040084cdd80009ba70031337600026e9c098c27c04004c8c8c8c8c8c8c8c8c8c8c94ccc2a004cdc78041bae308c0137586118026154026ea80cc54ccc2a004cdc78031bae307c37586118026154026ea80cc54ccc2a004cdc78021bae308c01375860f86154026ea80cc54ccc2a004cdc78011bae307c375860f86154026ea80cc4c8c94ccc2a8054ccc2a804ccc2a8040052825114a22a6661540266ebcc1f8c2b004dd50079ba6002153330aa010131323253330ac013375e612002615c026ea8044c2c4040084cdd7983d1857009baa01100114a06160026162020026158026ea80704c8c94ccc2b004cdd79848009857009baa01130b10100213375e60f4615c026ea80440045281858009858809858808009856009baa02414a0266ec0c27c04cc2b804dd399857009847009bac308e0130ac01375406a6615c0260fc6eb0c23804c2b004dd501a99857009ba8337006eb4c1e0dd61847009856009baa035375a60f06eb0c2ac040412f5c06615c026e9ccc2b804c23804dd6183f1856009baa035330ae01307e375860fc6158026ea80d4cc2b804dd419b80375a60f06eb0c1f8c2b004dd501a9bad3078375861580202097ae0330ae01307830ac01375406a97ae03330aa010014c103d87a80004c0103d8798000163330a9013375e6e98005300101a0004a0944cccc104cccc104cccc10402d22010048810030660100080063066005004002306600116161616375a615802615a020046eb8c2ac04004c2ac04018dd71854808029bad30a80130a901002375c614e02002614e020066eb8c29404008dd61850808029bac309f010043756614402614602613e026ea805c58c2880408cc28004088c8cdd81850008009850009850808009bac309f01309c01375400c2646464a66613a020082a66613a02a66613a0266ebcc1c4c27c04dd50011ba633330363333036375660e2613e026ea805d22100488100305b005375c613c020066eb8c27c0400d20021533309d0100613375e610202613e026ea8008c28804c27c04dd50078a5014a0266ec00a0dd38008b0b1851008119850008111919bb030a00100130a00130a1010013758613e026138026ea8018cdc480080699b80038003308b013098013754012612e026ea8008dd598329849809baa00b5333090013084013091013754002266ec0dd400a9ba83088010141337606ea0c22004054dd400a0b184a00984a808011849808009849808011bad309101001309101309101001308c013754004a6661120260fa6114026ea80044c8c8c8c8c8c8c8c8c8c8c8c94ccc26004c26c040084c8c8c8c926307f00632533309801308c01001132323232533309f0130a20100213232498c94ccc27804c2480400454ccc28404c28004dd50018a4c2c2a66613c0261220200226464a66614602614c020042930b1bae30a40100130a00137540062a66613c0261200200226464a66614602614c020042930b1852008009850009baa00316309e01375400460d60062c614002002614002004613c020026134026ea802054ccc26004c22c0400454ccc26c04c26804dd50040a4c2c2c6130026ea801cc20804028c1f402c58c26404004c26404008c25c04004c25c04008c25404004c25404008dd69849808009849808011848808009848808011847808009845809baa00116308d01308a0137540022c6464a6661120260fa0022980103d87a80001533308901307c001132323300100106022533308f0100114c0103d87a80001323232533308f013371e00c6eb8c2400400c4c21004cc24c040052f5c026600a00a0046120020046126020046122020026eb8c23804c22c04dd50010983f19846809847009845809baa0024bd701844809baa001305530890137540022c611602611802004611402002610c026ea8c22404008c224040054ccc20804cdc480580189980900519b8100300b133012064003533308101307a00213232325333084013371066e18028008cdc300080108008b19b80009002337049002000a99199841009800a4020260340062a6661040260029010099b824820010c068cdc0001a401e2a6661040260029018099b82482020020c068cdc0001a403e2a6661040260029020099b8248202020040c068cdc0001a405e2a6661040260029028099b824820202020080c068cdc0001a407e260300066e2000858c21404c2180400cdd69842008011842008041bac3082010073001001222533307233712900f0008999801801983c183c183c183c183c183c183c183c183c183c183c183c183c183c183c00119b800014807454ccc1c8cdc4a401c002266600600660f060f060f060f060f060f060f000466e00005200d133004002001300100122253330703064001100213330030033076002306a00122222222223232337606ea0004dd3199980899998089999808801806005981b002244100488100303600500a0090013370666e08cdc100300180099b803370400e90504e0099b820030013370290504e0080211299983699b880010021001100230010012253233306c30014804054ccc1b0c00520001480004c01000854ccc1b0c00520401337049040021980180199b800024803c4cdc124101010100406600600666e00009203f37100026e392201080102040810204080002222533306b305f001100413333302a0040033232002323300100100222533307100114984c94ccc1c8004526132325333071306530723754660666eb8c1c8c1d8010dd718390010998028029983a8010008b183b001183a000983a0009983799bb037520046ea00052f5bded8c044464a6660de60600022980103d87a80001306433073374c00297ae03333302e001005004222325333072306600114c103d87a80001306733076375000297ae03370000200406005a60d80086eb4c1b000cdd698360011bad306b306c001306b001306a001323232323232323232323232323232323232323307a306b3307a374e660f46ea4014cc1e8dd48021983d1ba8337026660726eacc128c1e0dd5024802802299983b183880288040a400097ae03307a374e660f46ea400ccc1e8dd48011983d1ba83330393756609460f06ea812400c0092f5c0660f46e9ccc1e8dd48239983d1ba93014375c60f6024660f460f601e97ae04bd701983d1ba83333013323376060f800260f860fa0026eb0c1ec03802c024004cc1e8dd419998099919bb0307c001307c307d001375860f601a016012002660f46ea00212f5c06464a6660ee60d600220182a6660ee60d4002264a6660f066e2003400440044034dd6983e183c9baa002163077375400260b260ee6ea8c164c1dcdd50269bae3076004375c60e80066eb8c1d000cdd718390011919bb0307600130763077001375860e40146466ec0c1d4004c1d4c1d8004dd618380049bad30733074002375a60e400260e40046eb4c1c0004c1c0c1c0004c1bc004c1b8004c1b4008c8cdd81836000983618368009bac306b001306b001306637540c24444a6660ce66e200080044dd698348020992999834182e00089bad306a0051337006eb4c1a4014cdc199b823370200400866e04dd698350029bad3069005001337020040064660049101040014df100000122337140040022c66e0cc168cdc01bad306500500100133230010012253330640011480044c94ccc188c154c18cdd5182318321baa304630643754606c60c86ea8c19c0084c168cc00c00c0044cc00c00c004c19c004104dd6983198320011bad3062001306200130613061002305f001305f305f305f305f305f305b375404c2c6eb4c174c178c178008dd6982e000982e182e0011919bb0305b001305b305c001375860b400260b40046466ec0c164004c164c168004dd6182c000982c0011bad30560013056002323376060aa00260aa60ac0026eb0c150004c150008dd7182900098271baa304e004375660a060a2004609e00260966ea8c128004c048098dd6182618268011bad304b001304b002375a6092002608a6ea80b04c8c94ccc114c0e00444c8c8c8c8c8c94ccc12ccdc48028008a9998259999803980c98269baa01802102302513232533304d3041304e3754002264a66609c66ebcc0c8c140dd5000980b98281baa01b1533304e3375e603860a06ea800530107d87b9fd87980ff001533304e337120066660226eacc088c140dd5000a441004881001533304e30420051533304e3370e0100082a66609c66ebcdd3180a0151ba63233001001330163756604660a26ea80892210022533305300114bd6f7b6300991982a99bb037526eb8c148004dd319198008009bab305400222533305600114bd6f7b6300991982c19bb037526eb8c154004dd418091bad305600133003003305a0023058001330030033057002305500114a22c2c26464646464a6660a666ebcc0dcc154dd500118251982b9ba90244bd700a99982999baf00432323232323232304f3305e305f0073305e305f0063305e305f0053305e305f0043305e305f0033305e305f0023305e305f0013305e305f30600013305e375066e040400512f5c060be00260bc00260ba00260b800260b600260b400260aa6ea814054ccc14ccdd79ba6001374c646660020026eacc0a0c158dd501399299982a98248008a5eb7bdb1804c8c8cc0040052f5bded8c044a6660b60022660b866ec13001014000374c00697adef6c60132323232533305c30523301e488100002133060337609801014000374c00e00a2a6660b860ae0042660c066ec13001014000374c00e0062660c066ec0dd48011ba600133006006003375660ba0066eb8c16c008c17c008c174004c8cc0040052f5bded8c044a6660b40022660b666ec13001014000375000697adef6c60132323232533305b30513301d48810000213305f337609801014000375000e00a2a6660b660ac0042660be66ec13001014000375000e0062660be66ec0dd48011ba800133006006003375a60b80066eb8c168008c178008c170004c0480388894ccc16400840044c8ccc010010c17400cccccc058008dd7182c0009bab305900122232533305b301c00114c0103d87a8000130503305f374c00297ae0323330010010030022225333060002100113233300400430640033333301e002375c60be0026eb4c180004888c94ccc188c1580045300103d87a80001305733066375000297ae03370000400204060c400403260b60042a6660a6660206eb0c078c154dd5010119baf3028305637540066092660b06092660b000297ae04bd700a5116161616375660ae60b000460ac00260a46ea8c144008c144004c0600b0585858c148c13cdd50008b1999180080091129998290010a60103d87a8000132325333051304500313046330550024bd7009998028028009825801982b001982a00101500299b810053370666e08014dd6982619299982798291829000899bb03051001305130520011637586026609a6ea8060dd6982699299982798291829000899bb03051001305130520011637586026609a6ea80605858dd698279828182818281828182818280011bad304e001304e304e304a375408a6eb4c130c134008dd6982580098239baa02e1323232323232323232323253330503001005153330503001003153330503375e0146464646090660ae60b0006660ae60b0004660ae60b0002660ae6e9ccc15cc150020cc15cc1540212f5c0660ae6e9ccc15cc150018cc15cc1540192f5c0660ae00a60b260b260b260b200260b000260ae00260a46ea81344c94ccc144c114c148dd50008a9998289999806982b18299baa00102702902b153330513375e012606a60a66ea809054ccc144cdd79ba6008302530533754048294458585858c154c158c158c158c158c158c148dd50268b0b0b1299982818249bad3051001153330503049375a60a40022a6660a066e24dd69828800a41413802266e24dd69829000a4141380229405280a5030533054002323376060a600260a660a80026eb0c148004c148008c8cdd81828800982898290009bac3050001305030503050304c37540086eacc138c13c008c134004c124dd51824001182400098078119111191980080080291192999825981f80089919198008008041129998288008a50132533304f3371e6eb8c150008010528899801801800982a0009bae3050304d37540042a666096607c002264660020026eb0c144c138dd50019129998280008a51132533304e33006006305300213300300300114a060a60022a666096607a0022660106eb0c140c134dd50011198020020008a999825981e00089919b89375a60a2002646660020026eb0c148c14c00920002225333052002100113330030033055002533304f330070073054002130470011001304d37540042a666096607600226464a66609a6080609c6ea80044c94ccc138c94ccc148c14400454ccc13cc108c1400045288a999827982198280008a5016163754604460a06ea8c088c140dd5004099b890010031337100020066eb4c148c13cdd50008a503030304e37546040609c6ea8018dd6982818269baa0021533304b303a00113232533304d3040304e3754002264a66609c64a6660a460a20022a66609e608460a0002294454ccc13cc10cc1400045280b0b1baa302230503754606460a06ea80204cdc4801800899b88003001375a60a4609e6ea8004528181818271baa3030304e375400c6eb4c140c134dd5001099808002182019827982119827982818269baa0024bd7025eb80c12cdd50009119198008008019129998250008a5013253330483004304d00214a2266006006002609a0026e05200022222323300100100622533304b00113304c337606ea4018dd3002a5eb7bdb1804c8c8c8c94ccc130c108cc01c0280084cc140cdd81ba900a374c01200a2a66609866e3c0280084c94ccc134c104c138dd500089982899bb0375201660a4609e6ea80040104010ccc0200280240044cc140cdd81ba9002374c0026600c00c0066eacc13400cdd718258011827801182680091111191980080080311299982500089982599bb0375200c6ea00152f5bded8c0264646464a66609660826600e01400426609e66ec0dd48051ba80090051533304b3371e014004264a6660986080609a6ea80044cc140cdd81ba900b3051304e3754002008200866601001401200226609e66ec0dd48011ba800133006006003375a60980066eb8c128008c138008c13000494ccc10c0045288a5022533304033720004002298103d8798000153330403371e0040022980103d87a800014c103d87b80002223253330413034304237540022900009bad30463043375400264a666082606860846ea8004530103d87a8000132330010013756608e60886ea8008894ccc118004530103d87a8000132323253330463371e00e6eb8c11c00c4c0eccc128dd4000a5eb804cc014014008dd6982380118250011824000998020018011119198008008019129998218008a60103d87a8000132323253330433371e00c6eb8c11000c4c0e0cc11cdd3000a5eb804cc014014008dd59822001182380118228009119198008008019129998210008a5013253330403375e0086082608a00429444cc00c00c004c1140048cc0080052210022323300100100322533304000114bd6f7b630099191919299982099b8f0070021003133045337606ea4008dd3000998030030019bab3042003375c6080004608800460840024607c607e607e607e607e0024607a607c607c607c002464a666070605860726ea80044c8c94ccc0e8c0b0c0ecdd50008991919bb00040023026001303f303c37540022c600e60766ea8004c0f4c0e8dd50008b299981d0008a6103d87a80001302c3303b303c0014bd701181d981e181e181e181e181e181e000981a9baa01d3232325333039303c00213253330373371e6eb8c0e00080d454ccc0dccdd79ba60014c10ba14873657474696e677301001325333038302a3039375400226464004a666072605a60746ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc150c15c0084c8c8c8c8c8c8c9263304501123028001325333057304b00113232533305c305f002132498cc11c0048dd70008b1bac305d001305937540262a6660ae60940022a6660b460b26ea804c526161630573754024646eb4c160050dd6982b009981180a181f80a981080b181e80b8b182a800982a8011bad30530013053002375a60a200260a20046eb4c13c004c13c008dd6982680098268011bac304b001304b00230490013049002325333046304930490011337606090002609060920022c6eb0c11c004c11c008c114004c114008c10c004c10c008c104004c104008c0fc004c0ecdd50008b181e981d1baa001163005303937540082c2c6eacc0e000458c0e8004c0e8dd59804181b1baa001300730353754607002646070607260720024a666064604c60666ea80044c8c8c8c94ccc0e4c0f00084c8c926325333038302c00113232533303d3040002132498c94ccc0ecc0bc0044c8c94ccc100c10c0084c926300d001163041001303d37540042a666076605c0022646464646464a666088608e0042930b1bad30450013045002375a608600260860046eb4c104004c0f4dd50010b181d9baa00116303e001303a37540062a66607060560022a66607660746ea800c526161630383754004600c0062c60740026074004607000260686ea8004588c94ccc0c8c0980044c8c94ccc0dcc0e800852616375c607000260686ea800854ccc0c8c0940044c8c94ccc0dcc0e800852616375c607000260686ea800858c0c8dd50009bae3034303137540022c602460606ea8c048c0c0dd5000992999817181098179baa001132533302f3023303037540022600660626ea8c0d0c0c4dd50008b1991191980080080191299981a8008a6103d87a80001323253330343375e6030606c6ea80080144c0a4cc0e00092f5c02660080080026072004606e0026eb0c048c0c0dd5180918181baa0133033303037540022c6002605e6ea80488c0c8c0cc004dd59818181898188011bac302f001302f002302d001302d00237566056002605660560046eacc0a4004c0a4c0a4008dd6181380098138011bac3025001302500237586046002603e6ea8c004c07cdd5001118110008a4c26cac6464a66603860200022646464646464a66604a6050004264931980800091919191919192999816181780109924c64a666054603c00226464a66605e6064004264932999816181018169baa0011323232325333033303600213232498c0640094ccc0c0c090c0c4dd500189919191919191919299981d981f001099191924c604200aa666072605a60746ea80184c8c8c8c94ccc100c10c0084c8c926302400230230031630410013041002303f001303b375400c2ca666070605860726ea801c4c8c8c8c94ccc0fcc1080084c926533303c3030303d375400626464a66608260880042930b1bae3042001303e37540062c2c6eb4c100004c100008c0f8004c0e8dd50038b0b181e000981e001181d000981d001181c000981c001181b00098191baa0031616303400130340023032001302e37540022c2c606000260586ea801054ccc0a8c07400454ccc0b4c0b0dd50020a4c2c2c60546ea800c58dd698168009816801181580098158011bad302900137580022c6eb0c098004c098008dd6981200098120011bad3022001301e375400a2a666038601e002264646464a666046604c0042930b1bad30240013024002375a6044002603c6ea801454ccc070c03800454ccc07cc078dd50028a4c2c2c60386ea801094ccc06cc03cc070dd50008991919192999811181280109924c64a66604060280022a66604660446ea8010526161533302030130011323253330253028002149858dd6981300098111baa00415333020301200115333023302237540082930b0b18101baa0031632533302230210011533301f3012302000114a22a66603e6026604000229405858dd5181180098118011810800980e9baa00116232533301b300f0011323253330203023002132498c94ccc078c0480044c8c94ccc08cc09800852616375c604800260406ea800854ccc078c0440044c8c94ccc08cc09800852616375c604800260406ea800858c078dd50008b1810800980e9baa0021533301b300e0011323232325333022302500213232498c8c8c8c8c94ccc0a0c0ac00852616375a605200260520046eb8c09c004c09c00cdd718128011919191919299981398150010a4c2c6eb4c0a0004c0a0008dd7181300098130021bae3024003163758604600260460046eb0c084004c074dd50010a99980d9806800899192999810181180109924c6464646464646464a66605060560042930b1bad30290013029002375c604e002604e0066eb8c094008c8c8c8c8c94ccc09cc0a800852616375a605000260500046eb8c098004c09800cdd718120011bac30200023758603c0022c64a66604060466046002266ec0c088004c088c08c00458dd61810800980e9baa0021533301b300c0011323253330203023002132498c8c8c8c8c94ccc094c0a000852616375a604c002604c0046eb8c090004c090008dd718110008b1bac3021001301d37540042a666036601600226464a6660406046004264931919191919191919299981418158010a4c2c6eb4c0a4004c0a4008dd7181380098138019bae302500232323232325333027302a002149858dd6981400098140011bae30260013026003375c60480046eb0c080008dd6180f0008b19299981018119811800899bb03022001302230230011637586042002603a6ea800854ccc06cc0280044c8c94ccc080c08c0084c92632375c60400046eb8c07800458c94ccc080c08cc08c0044cdd81811000981118118008b1bac3021001301d37540042c60366ea80048c94ccc068c0380044c8c94ccc07cc08800852616375c604000260386ea800854ccc068c03400454ccc074c070dd50010a4c2c2c60346ea8004c00404c94ccc058c028c05cdd500089919191919191919191919191919191919192999815981700109919191924c64a666058604000226464a666062606800426493180d0008b181900098171baa00b1533302c301f0011533302f302e37540162930b0b18161baa00a32375a605a0186eb4c0ac02cc8dd698160069bad302a00c32323232375c605c0066eb8c0b0008c8dd718168019bae302b0023233760605e002605e60600026eb0c0ac040c8cdd81817000981718178009bac302900f16375a605800260580046eb4c0a8004c0a8008dd6981400098140011813000981300119299981198131813000899bb03025001302530260011637586048002604800464a66604260486048002266ec0c08c004c08cc09000458dd6181100098110011bad3020001302000232533301d30203020001133760603e002603e60400022c6eb0c078004c078008dd7180e000980c1baa00116300100122325333016300a00113232533301b301e002149858dd7180e000980c1baa00215333016300900113232533301b301e002132498cc0180048cc01801800458dd6180e000980c1baa00215333016300800113232533301b301e002132498cc0180048cc01801800458dd6180e000980c1baa002153330163007001132323232533301d3020002132498cc0200048cc02002000458dd6180f000980f0011bad301c001301837540042a66602c600c00226464a666036603c0042930b1bad301c001301837540042a66602c600a00226464a666036603c0042930b1bad301c001301837540042a66602c66e1d200c00113232533301b301e002149858dd7180e000980c1baa002163016375400244646600200200644a66603200229309919801801980e8011801980d800980b980a1baa00e370e90051b8748020dc3a400c6e1d2004370e90011b8748000dd2a40006ebd30103d8798000374a90011b8048008dc4a40006e012001371e91100375c002ae6955ceaab9e5573eae815d0aba24c011e581c445b77d214aa36d1b2edeedb8ddad49e0b62d80a1f4b08eb9c8b4c8c0001", + "hash": "fe8a93661ce100d2ce44fa249497f318f8f394d3e7d1feb1f6d1eb80" }, { "title": "pool_stake.stake", @@ -163,16 +140,8 @@ "$ref": "#/definitions/RedeemerWrapper$types~1settings~1SettingsRedeemer" } }, - "parameters": [ - { - "title": "protocol_boot_utxo", - "schema": { - "$ref": "#/definitions/aiken~1transaction~1OutputReference" - } - } - ], - "compiledCode": "590ff001000032323232323232222532323232323233300a3002300b375400e2a6660146464a6660186008601a6ea80044c8c8c8c8c8c8c8c8c94ccc060c06c0084c8c94ccc05cc04cc060dd5000899299980c0040a99980c00388018a5014a0664646464644a66603a602a603c6ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc0e0c0ec0084c8c8c8c8c8c8c926330230112302500132533303b30330011323253330403043002132498cc0940048dd70008b1bac3041001303d37540262a66607660640022a66607c607a6ea804c5261616303b3754024646eb4c0f0050dd6981d009980e80a180e80a980d80b180d80b8b181c800981c8011bad30370013037002375a606a002606a0046eb4c0cc004c0cc008dd6981880098188011bac302f001302f002302d001302d00232533302a302d302d00113376060580026058605a0022c6eb0c0ac004c0ac008c0a4004c0a4008c09c004c09c008c094004c094008c08c004c07cdd50008b1299980e180a180e9baa0011323232325333023302600213232498c94ccc088c0680044c8c94ccc09cc0a80084c926325333025301d00113232533302a302d002132498c04000458c0ac004c09cdd50010a999812980e0008991919191919299981718188010a4c2c6eb4c0bc004c0bc008dd6981680098168011bad302b001302737540042c604a6ea800458c0a0004c090dd50018a999811180c8008a99981298121baa00314985858c088dd500118048018b181200098120011811000980f1baa0011630010012232533301c30140011323253330213024002149858dd71811000980f1baa0021533301c30130011323253330213024002132498cc0180048cc01801800458dd61811000980f1baa0021533301c30180011323253330213024002132498cc0180048cc01801800458dd61811000980f1baa0021533301c301700113232323253330233026002132498cc0200048cc02002000458dd6181200098120011bad3022001301e37540042a666038602c00226464a66604260480042930b1bad3022001301e37540042a666038602a00226464a66604260480042930b1bad3022001301e37540042a66603866e1d200c0011323253330213024002149858dd71811000980f1baa00216301c375400244646600200200644a66603e00229309919801801981180118019810800919299980c980880089919299980f18108010a4c2c6eb8c07c004c06cdd50010a99980c980800089919299980f18108010a4c2c6eb8c07c004c06cdd50010b180c9baa001301c301937540022c600860306ea8008cdd79803980b9baa30073017375400266e95200233019375201297ae0163019001323300100137586004602c6ea8c018c058dd500891299980c0008a5eb804c8c94ccc05ccdd79ba6330083756601a60326ea8009220100374c0142660360046600800800226600800800260380046034002460306032603200264660020026eb0c010c050dd51802180a1baa00f22533301600114a0264a66602866ebcc018c058dd5180c8010098a5113300300300130190013375e6e98cc004dd5980a980b180b180b180b18091baa30023012375401a910100374c00644646600200200644a66602c002297adef6c6013232323253330173371e00e004200626603666ec0dd48011ba600133006006003375660300066eb8c058008c068008c0600048c050004c94ccc038c015200014bd6f7b6300991919800800a5eb7bdb180894ccc0500044cc054cdd81ba9005374c00697adef6c6013232323253330153375e6601001200498103d8798000133019337606ea4024dd30038028a99980a99b8f009002133019337606ea4024dd300380189980c99bb037520046e98004cc01801800cdd5980b0019bae30140023018002301600132330010014bd6f7b63011299980980089980a19bb04c1094873657474696e6773004c010101004bd6f7b630099191919299980a19baf3300748810873657474696e6773000024c103d879800013301833760981094873657474696e6773004c01010100005153330143371e91010873657474696e677300002133018337609801094873657474696e6773004c01010100003133018337606ea4008dd4000998030030019bad3015003375c6026004602e004602a00244a66601e66e40008004530103d87980001533300f3371e0040022980103d87a800014c103d87b8000375c6022601c6ea800458c004c034dd50041180818088008a4c26cac26646464646464644644a66602864646464646464a666036602660386ea80044c94ccc070cdd79803980f1baa001004132533301d3019301e375400226464646464646464646464a666050604060526ea805c4c94ccc0a4cccc008c050c0acdd50139bac3003302b3754602860566ea8058c010c0acdd5180a18159baa0163756600a60566ea8c050c0acdd500b0a99981499baf00c00115333029009100714a0294052819191919180b19818181880219818181880199818181880119818180498171baa02a3303032374e66062605c00266062605e00297ae0325333030303330330011337606064002606460660022c6eb0c02cc0b8dd501519818181880099818180418171baa02a303230320013031303130310013030001302f001302a3754016264a6660526666004602060566ea809cdd6180198159baa3014302b375402c600860566ea8c050c0acdd500b1bab3005302b3754602860566ea805854ccc0a4cdd78060008a99981480488038a5014a02940c8c8c8c8c058cc0c0c0c4010cc0c0c0c400ccc0c0c0c4008cc0c0c024c0b8dd500799818191ba733031302e00133031302f0014bd7019299981818199819800899bb03032001303230330011637586016605c6ea803ccc0c0c0c4004cc0c0c020c0b8dd5007981918190009818981898188009818000981780098151baa026222232330010010052232533302e3026001132323300100100822533303400114a0264a66606466e3cdd7181b8010020a511330030030013037001375c606660606ea800854ccc0b8c0940044c8cc004004dd6181a18189baa00322533303300114a2264a6660626600c00c606c0042660060060022940c0d800454ccc0b8c0a80044c8cc004004dd6181a18189baa00322533303300114a0264a6660626600c00c606c00429444cc00c00c004c0d800454ccc0b8c0a40044c8cdc49bad3034001323330010013758606a606c0049000111299981a80108008999801801981c001299981919803803981b801099b80001480084004c0c0dd50010a9998171814000899192999818181398189baa00113253330313253330353034001153330323029303300114a22a6660646054606600229405858dd5180e98199baa301d30333754010266e2400400c4cdc40008019bad3035303237540022940c068c0c4dd5180d98189baa006375a606660606ea800854ccc0b8c09c0044c8c94ccc0c0c09cc0c4dd5000899299981899299981a981a0008a999819181498198008a5115333032302a303300114a02c2c6ea8c074c0ccdd5180e18199baa008133712006002266e2000c004dd6981a98191baa00114a0603460626ea8c068c0c4dd50031bad303330303754004264646600200200c44a66606800229404c94ccc0c8cdd78021819981b8010a5113300300300130370013018330323374a900119819181998181baa0024bd7025eb80c0b8dd50009181618169816981698169816981698169816800918159816181618161816181618161816000918151815981598159815981598158009181498151815181500099baf374c660066eacc004c090dd5180698121baa00f4881004c0101a000230273028302830283028001323375e6e98c004dd5980698119baa006374c60026eacc034c08cdd5005119801000a4410022323300100100322533302600114bd6f7b630099191919299981399b8f007002100313302b337606ea4008dd3000998030030019bab3028003375c604c00460540046050002601e0026044603e6ea800458c00cc078dd50008b1810180e9baa0011632533301e00114c0103d87a8000130053301f30200014bd701bac3001301c3754600a60386ea801c8c07cc080c080004c00cc068dd500099299980c1807980c9baa00113253330193011301a37540022600a60366ea8c078c06cdd50008b1991191980080080191299980f8008a6103d87a800013232533301e3375e601260406ea80080144c020cc0880092f5c0266008008002604600460420026eb0c00cc068dd51801980d1baa005301d301a37540022c600660326ea8010dd2a40004603600246034603600229309b2b19299980998058008a99980b180a9baa00214985854ccc04cc02800454ccc058c054dd50010a4c2c2c60266ea8004c00403894ccc040c020c044dd500089919191919191919191919191919191919191919191919192999815981700109919191919191924c660460224604a00264a66605c604c00226464a666066606c004264931981280091bae001163758606800260606ea804c54ccc0b8c09400454ccc0c4c0c0dd50098a4c2c2c605c6ea8048c8dd6981780a1bad302d013301d014301d015301b016301b01716302c001302c002375a605400260540046eb4c0a0004c0a0008dd6981300098130011bad302400130240023758604400260440046040002604000464a66603a60406040002266ec0c07c004c07cc08000458dd6180f000980f001180e000980e001180d000980d001180c000980c001180b00098091baa001162533300f300730103754002264646464a66602c6032004264649319299980a980680089919299980d180e80109924c64a666030602000226464a66603a60400042649318080008b180f000980d1baa00215333018300f001132323232323253330213024002149858dd6981100098110011bad30200013020002375a603c00260346ea800858c060dd50008b180d800980b9baa00315333015300c00115333018301737540062930b0b180a9baa002300900316301700130170023015001301137540022c60020024464a66601e600e00226464a666028602e0042930b1bae3015001301137540042a66601e600c00226464a666028602e00426493198030009198030030008b1bac3015001301137540042a66601e601600226464a666028602e00426493198030009198030030008b1bac3015001301137540042a66601e6014002264646464a66602c603200426493198040009198040040008b1bac30170013017002375a602a00260226ea800854ccc03cc0240044c8c94ccc050c05c00852616375a602a00260226ea800854ccc03cc0200044c8c94ccc050c05c00852616375a602a00260226ea800854ccc03ccdc3a401800226464a666028602e0042930b1bae3015001301137540042c601e6ea800488c8cc00400400c894ccc04800452613233003003301600230033014001232533300c30040011323253330113014002149858dd7180900098071baa0021533300c30030011323253330113014002149858dd7180900098071baa00216300c3754002601e60186ea801cdc3a40046e1d2000370e90051b8748020dc3a400c6e1d20045734aae7555cf2ab9f5740ae855d101", - "hash": "03c9ded06fb993ee2633f9e656118ffcb9d760145633e3f8ce902116" + "compiledCode": "59101f010000332323232323232222532323232323233300a3002300b375400e2a6660146464a6660186008601a6ea80044c8c8c8c8c8c8c8c8c94ccc060c06c0084c8c94ccc05cc04cc060dd5000899299980c0040a99980c00388018a5014a0664646464644a66603a602a603c6ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc0e0c0ec0084c8c8c8c8c8c8c926330230112302500132533303b30330011323253330403043002132498cc0940048dd70008b1bac3041001303d37540262a66607660640022a66607c607a6ea804c5261616303b3754024646eb4c0f0050dd6981d009980e80a180e80a980d80b180d80b8b181c800981c8011bad30370013037002375a606a002606a0046eb4c0cc004c0cc008dd6981880098188011bac302f001302f002302d001302d00232533302a302d302d00113376060580026058605a0022c6eb0c0ac004c0ac008c0a4004c0a4008c09c004c09c008c094004c094008c08c004c07cdd50008b1299980e180a180e9baa0011323232325333023302600213232498c94ccc088c0680044c8c94ccc09cc0a80084c926325333025301d00113232533302a302d002132498c04000458c0ac004c09cdd50010a999812980e0008991919191919299981718188010a4c2c6eb4c0bc004c0bc008dd6981680098168011bad302b001302737540042c604a6ea800458c0a0004c090dd50018a999811180c8008a99981298121baa00314985858c088dd500118048018b181200098120011811000980f1baa0011630010012232533301c30140011323253330213024002149858dd71811000980f1baa0021533301c30130011323253330213024002132498cc0180048cc01801800458dd61811000980f1baa0021533301c30180011323253330213024002132498cc0180048cc01801800458dd61811000980f1baa0021533301c301700113232323253330233026002132498cc0200048cc02002000458dd6181200098120011bad3022001301e37540042a666038602c00226464a66604260480042930b1bad3022001301e37540042a666038602a00226464a66604260480042930b1bad3022001301e37540042a66603866e1d200c0011323253330213024002149858dd71811000980f1baa00216301c375400244646600200200644a66603e00229309919801801981180118019810800919299980c980880089919299980f18108010a4c2c6eb8c07c004c06cdd50010a99980c980800089919299980f18108010a4c2c6eb8c07c004c06cdd50010b180c9baa001301c301937540022c600860306ea8008cdd79803980b9baa30073017375400266e95200233019375201297ae0163019001323300100137586004602c6ea8c018c058dd500891299980c0008a5eb804c8c94ccc05ccdd79ba6330083756601a60326ea800922100374c0142660360046600800800226600800800260380046034002460306032603200264660020026eb0c010c050dd51802180a1baa00f22533301600114a0264a66602866ebcc018c058dd5180c8010098a5113300300300130190013375e6e98cc004dd5980a980b180b180b180b18091baa30023012375401a910100374c00644646600200200644a66602c002297adef6c6013232323253330173371e00e004200626603666ec0dd48011ba600133006006003375660300066eb8c058008c068008c0600048c050004c94ccc038c015200014bd6f7b6300991919800800a5eb7bdb180894ccc0500044cc054cdd81ba9005374c00697adef6c6013232323253330153375e6601001200498103d8798000133019337606ea4024dd30038028a99980a99b8f009002133019337606ea4024dd300380189980c99bb037520046e98004cc01801800cdd5980b0019bae30140023018002301600132330010014bd6f7b63011299980980089980a19bb04c1094873657474696e6773004c010101004bd6f7b630099191919299980a19baf3300748810873657474696e6773000024c103d879800013301833760981094873657474696e6773004c01010100005153330143371e91010873657474696e677300002133018337609801094873657474696e6773004c01010100003133018337606ea4008dd4000998030030019bad3015003375c6026004602e004602a00244a66601e66e40008004530103d87980001533300f3371e0040022980103d87a800014c103d87b8000375c6022601c6ea800458c004c034dd50041180818088008a4c26cac26646464646464644644a66602864646464646464a666036602660386ea80044c94ccc070cdd79803980f1baa001004132533301d3019301e375400226464646464646464646464a666050604060526ea805c4c94ccc0a4cccc008c050c0acdd50139bac3003302b3754602860566ea8058c010c0acdd5180a18159baa0163756600a60566ea8c050c0acdd500b0a99981499baf00c00115333029009100714a0294052819191919180b19818181880219818181880199818181880119818180498171baa02a3303032374e66062605c00266062605e00297ae0325333030303330330011337606064002606460660022c6eb0c02cc0b8dd501519818181880099818180418171baa02a303230320013031303130310013030001302f001302a3754016264a6660526666004602060566ea809cdd6180198159baa3014302b375402c600860566ea8c050c0acdd500b1bab3005302b3754602860566ea805854ccc0a4cdd78060008a99981480488038a5014a02940c8c8c8c8c058cc0c0c0c4010cc0c0c0c400ccc0c0c0c4008cc0c0c024c0b8dd500799818191ba733031302e00133031302f0014bd7019299981818199819800899bb03032001303230330011637586016605c6ea803ccc0c0c0c4004cc0c0c020c0b8dd5007981918190009818981898188009818000981780098151baa026222232330010010052232533302e3026001132323300100100822533303400114a0264a66606466e3cdd7181b8010020a511330030030013037001375c606660606ea800854ccc0b8c0940044c8cc004004dd6181a18189baa00322533303300114a2264a6660626600c00c606c0042660060060022940c0d800454ccc0b8c0a80044c8cc004004dd6181a18189baa00322533303300114a0264a6660626600c00c606c00429444cc00c00c004c0d800454ccc0b8c0a40044c8cdc49bad3034001323330010013758606a606c0049000111299981a80108008999801801981c001299981919803803981b801099b80001480084004c0c0dd50010a9998171814000899192999818181398189baa00113253330313253330353034001153330323029303300114a22a6660646054606600229405858dd5180e98199baa301d30333754010266e2400400c4cdc40008019bad3035303237540022940c068c0c4dd5180d98189baa006375a606660606ea800854ccc0b8c09c0044c8c94ccc0c0c09cc0c4dd5000899299981899299981a981a0008a999819181498198008a5115333032302a303300114a02c2c6ea8c074c0ccdd5180e18199baa008133712006002266e2000c004dd6981a98191baa00114a0603460626ea8c068c0c4dd50031bad303330303754004264646600200200c44a66606800229404c94ccc0c8cdd78021819981b8010a5113300300300130370013018330323374a900119819181998181baa0024bd7025eb80c0b8dd50009181618169816981698169816981698169816800918159816181618161816181618161816000918151815981598159815981598158009181498151815181500099baf374c660066eacc004c090dd5180698121baa00f4881004c0101a000230273028302830283028001323375e6e98c004dd5980698119baa006374c60026eacc034c08cdd5005119801000a4410022323300100100322533302600114bd6f7b630099191919299981399b8f007002100313302b337606ea4008dd3000998030030019bab3028003375c604c00460540046050002601e0026044603e6ea800458c00cc078dd50008b1810180e9baa0011632533301e00114c0103d87a8000130053301f30200014bd701bac3001301c3754600a60386ea801c8c07cc080c080004c00cc068dd500099299980c1807980c9baa00113253330193011301a37540022600a60366ea8c078c06cdd50008b1991191980080080191299980f8008a6103d87a800013232533301e3375e601260406ea80080144c020cc0880092f5c0266008008002604600460420026eb0c00cc068dd51801980d1baa005301d301a37540022c600660326ea8010dd2a40004603600246034603600229309b2b19299980998058008a99980b180a9baa00214985854ccc04cc02800454ccc058c054dd50010a4c2c2c60266ea8004c00403894ccc040c020c044dd500089919191919191919191919191919191919191919191919192999815981700109919191919191924c660460224604a00264a66605c604c00226464a666066606c004264931981280091bae001163758606800260606ea804c54ccc0b8c09400454ccc0c4c0c0dd50098a4c2c2c605c6ea8048c8dd6981780a1bad302d013301d014301d015301b016301b01716302c001302c002375a605400260540046eb4c0a0004c0a0008dd6981300098130011bad302400130240023758604400260440046040002604000464a66603a60406040002266ec0c07c004c07cc08000458dd6180f000980f001180e000980e001180d000980d001180c000980c001180b00098091baa001162533300f300730103754002264646464a66602c6032004264649319299980a980680089919299980d180e80109924c64a666030602000226464a66603a60400042649318080008b180f000980d1baa00215333018300f001132323232323253330213024002149858dd6981100098110011bad30200013020002375a603c00260346ea800858c060dd50008b180d800980b9baa00315333015300c00115333018301737540062930b0b180a9baa002300900316301700130170023015001301137540022c60020024464a66601e600e00226464a666028602e0042930b1bae3015001301137540042a66601e600c00226464a666028602e00426493198030009198030030008b1bac3015001301137540042a66601e601600226464a666028602e00426493198030009198030030008b1bac3015001301137540042a66601e6014002264646464a66602c603200426493198040009198040040008b1bac30170013017002375a602a00260226ea800854ccc03cc0240044c8c94ccc050c05c00852616375a602a00260226ea800854ccc03cc0200044c8c94ccc050c05c00852616375a602a00260226ea800854ccc03ccdc3a401800226464a666028602e0042930b1bae3015001301137540042c601e6ea800488c8cc00400400c894ccc04800452613233003003301600230033014001232533300c30040011323253330113014002149858dd7180900098071baa0021533300c30030011323253330113014002149858dd7180900098071baa00216300c3754002601e60186ea801cdc3a40046e1d2000370e90051b8748020dc3a400c6e1d20045734aae7555cf2ab9f5740ae855d126012bd8799fd8799f5820ebcee8dcdbd7312f5e04a0033472465003617abe9935a6e56f007961897cfabbff01ff0001", + "hash": "445b77d214aa36d1b2edeedb8ddad49e0b62d80a1f4b08eb9c8b4c8c" }, { "title": "settings.mint", @@ -182,16 +151,8 @@ "$ref": "#/definitions/Data" } }, - "parameters": [ - { - "title": "protocol_boot_utxo", - "schema": { - "$ref": "#/definitions/aiken~1transaction~1OutputReference" - } - } - ], - "compiledCode": "590ff001000032323232323232222532323232323233300a3002300b375400e2a6660146464a6660186008601a6ea80044c8c8c8c8c8c8c8c8c94ccc060c06c0084c8c94ccc05cc04cc060dd5000899299980c0040a99980c00388018a5014a0664646464644a66603a602a603c6ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc0e0c0ec0084c8c8c8c8c8c8c926330230112302500132533303b30330011323253330403043002132498cc0940048dd70008b1bac3041001303d37540262a66607660640022a66607c607a6ea804c5261616303b3754024646eb4c0f0050dd6981d009980e80a180e80a980d80b180d80b8b181c800981c8011bad30370013037002375a606a002606a0046eb4c0cc004c0cc008dd6981880098188011bac302f001302f002302d001302d00232533302a302d302d00113376060580026058605a0022c6eb0c0ac004c0ac008c0a4004c0a4008c09c004c09c008c094004c094008c08c004c07cdd50008b1299980e180a180e9baa0011323232325333023302600213232498c94ccc088c0680044c8c94ccc09cc0a80084c926325333025301d00113232533302a302d002132498c04000458c0ac004c09cdd50010a999812980e0008991919191919299981718188010a4c2c6eb4c0bc004c0bc008dd6981680098168011bad302b001302737540042c604a6ea800458c0a0004c090dd50018a999811180c8008a99981298121baa00314985858c088dd500118048018b181200098120011811000980f1baa0011630010012232533301c30140011323253330213024002149858dd71811000980f1baa0021533301c30130011323253330213024002132498cc0180048cc01801800458dd61811000980f1baa0021533301c30180011323253330213024002132498cc0180048cc01801800458dd61811000980f1baa0021533301c301700113232323253330233026002132498cc0200048cc02002000458dd6181200098120011bad3022001301e37540042a666038602c00226464a66604260480042930b1bad3022001301e37540042a666038602a00226464a66604260480042930b1bad3022001301e37540042a66603866e1d200c0011323253330213024002149858dd71811000980f1baa00216301c375400244646600200200644a66603e00229309919801801981180118019810800919299980c980880089919299980f18108010a4c2c6eb8c07c004c06cdd50010a99980c980800089919299980f18108010a4c2c6eb8c07c004c06cdd50010b180c9baa001301c301937540022c600860306ea8008cdd79803980b9baa30073017375400266e95200233019375201297ae0163019001323300100137586004602c6ea8c018c058dd500891299980c0008a5eb804c8c94ccc05ccdd79ba6330083756601a60326ea8009220100374c0142660360046600800800226600800800260380046034002460306032603200264660020026eb0c010c050dd51802180a1baa00f22533301600114a0264a66602866ebcc018c058dd5180c8010098a5113300300300130190013375e6e98cc004dd5980a980b180b180b180b18091baa30023012375401a910100374c00644646600200200644a66602c002297adef6c6013232323253330173371e00e004200626603666ec0dd48011ba600133006006003375660300066eb8c058008c068008c0600048c050004c94ccc038c015200014bd6f7b6300991919800800a5eb7bdb180894ccc0500044cc054cdd81ba9005374c00697adef6c6013232323253330153375e6601001200498103d8798000133019337606ea4024dd30038028a99980a99b8f009002133019337606ea4024dd300380189980c99bb037520046e98004cc01801800cdd5980b0019bae30140023018002301600132330010014bd6f7b63011299980980089980a19bb04c1094873657474696e6773004c010101004bd6f7b630099191919299980a19baf3300748810873657474696e6773000024c103d879800013301833760981094873657474696e6773004c01010100005153330143371e91010873657474696e677300002133018337609801094873657474696e6773004c01010100003133018337606ea4008dd4000998030030019bad3015003375c6026004602e004602a00244a66601e66e40008004530103d87980001533300f3371e0040022980103d87a800014c103d87b8000375c6022601c6ea800458c004c034dd50041180818088008a4c26cac26646464646464644644a66602864646464646464a666036602660386ea80044c94ccc070cdd79803980f1baa001004132533301d3019301e375400226464646464646464646464a666050604060526ea805c4c94ccc0a4cccc008c050c0acdd50139bac3003302b3754602860566ea8058c010c0acdd5180a18159baa0163756600a60566ea8c050c0acdd500b0a99981499baf00c00115333029009100714a0294052819191919180b19818181880219818181880199818181880119818180498171baa02a3303032374e66062605c00266062605e00297ae0325333030303330330011337606064002606460660022c6eb0c02cc0b8dd501519818181880099818180418171baa02a303230320013031303130310013030001302f001302a3754016264a6660526666004602060566ea809cdd6180198159baa3014302b375402c600860566ea8c050c0acdd500b1bab3005302b3754602860566ea805854ccc0a4cdd78060008a99981480488038a5014a02940c8c8c8c8c058cc0c0c0c4010cc0c0c0c400ccc0c0c0c4008cc0c0c024c0b8dd500799818191ba733031302e00133031302f0014bd7019299981818199819800899bb03032001303230330011637586016605c6ea803ccc0c0c0c4004cc0c0c020c0b8dd5007981918190009818981898188009818000981780098151baa026222232330010010052232533302e3026001132323300100100822533303400114a0264a66606466e3cdd7181b8010020a511330030030013037001375c606660606ea800854ccc0b8c0940044c8cc004004dd6181a18189baa00322533303300114a2264a6660626600c00c606c0042660060060022940c0d800454ccc0b8c0a80044c8cc004004dd6181a18189baa00322533303300114a0264a6660626600c00c606c00429444cc00c00c004c0d800454ccc0b8c0a40044c8cdc49bad3034001323330010013758606a606c0049000111299981a80108008999801801981c001299981919803803981b801099b80001480084004c0c0dd50010a9998171814000899192999818181398189baa00113253330313253330353034001153330323029303300114a22a6660646054606600229405858dd5180e98199baa301d30333754010266e2400400c4cdc40008019bad3035303237540022940c068c0c4dd5180d98189baa006375a606660606ea800854ccc0b8c09c0044c8c94ccc0c0c09cc0c4dd5000899299981899299981a981a0008a999819181498198008a5115333032302a303300114a02c2c6ea8c074c0ccdd5180e18199baa008133712006002266e2000c004dd6981a98191baa00114a0603460626ea8c068c0c4dd50031bad303330303754004264646600200200c44a66606800229404c94ccc0c8cdd78021819981b8010a5113300300300130370013018330323374a900119819181998181baa0024bd7025eb80c0b8dd50009181618169816981698169816981698169816800918159816181618161816181618161816000918151815981598159815981598158009181498151815181500099baf374c660066eacc004c090dd5180698121baa00f4881004c0101a000230273028302830283028001323375e6e98c004dd5980698119baa006374c60026eacc034c08cdd5005119801000a4410022323300100100322533302600114bd6f7b630099191919299981399b8f007002100313302b337606ea4008dd3000998030030019bab3028003375c604c00460540046050002601e0026044603e6ea800458c00cc078dd50008b1810180e9baa0011632533301e00114c0103d87a8000130053301f30200014bd701bac3001301c3754600a60386ea801c8c07cc080c080004c00cc068dd500099299980c1807980c9baa00113253330193011301a37540022600a60366ea8c078c06cdd50008b1991191980080080191299980f8008a6103d87a800013232533301e3375e601260406ea80080144c020cc0880092f5c0266008008002604600460420026eb0c00cc068dd51801980d1baa005301d301a37540022c600660326ea8010dd2a40004603600246034603600229309b2b19299980998058008a99980b180a9baa00214985854ccc04cc02800454ccc058c054dd50010a4c2c2c60266ea8004c00403894ccc040c020c044dd500089919191919191919191919191919191919191919191919192999815981700109919191919191924c660460224604a00264a66605c604c00226464a666066606c004264931981280091bae001163758606800260606ea804c54ccc0b8c09400454ccc0c4c0c0dd50098a4c2c2c605c6ea8048c8dd6981780a1bad302d013301d014301d015301b016301b01716302c001302c002375a605400260540046eb4c0a0004c0a0008dd6981300098130011bad302400130240023758604400260440046040002604000464a66603a60406040002266ec0c07c004c07cc08000458dd6180f000980f001180e000980e001180d000980d001180c000980c001180b00098091baa001162533300f300730103754002264646464a66602c6032004264649319299980a980680089919299980d180e80109924c64a666030602000226464a66603a60400042649318080008b180f000980d1baa00215333018300f001132323232323253330213024002149858dd6981100098110011bad30200013020002375a603c00260346ea800858c060dd50008b180d800980b9baa00315333015300c00115333018301737540062930b0b180a9baa002300900316301700130170023015001301137540022c60020024464a66601e600e00226464a666028602e0042930b1bae3015001301137540042a66601e600c00226464a666028602e00426493198030009198030030008b1bac3015001301137540042a66601e601600226464a666028602e00426493198030009198030030008b1bac3015001301137540042a66601e6014002264646464a66602c603200426493198040009198040040008b1bac30170013017002375a602a00260226ea800854ccc03cc0240044c8c94ccc050c05c00852616375a602a00260226ea800854ccc03cc0200044c8c94ccc050c05c00852616375a602a00260226ea800854ccc03ccdc3a401800226464a666028602e0042930b1bae3015001301137540042c601e6ea800488c8cc00400400c894ccc04800452613233003003301600230033014001232533300c30040011323253330113014002149858dd7180900098071baa0021533300c30030011323253330113014002149858dd7180900098071baa00216300c3754002601e60186ea801cdc3a40046e1d2000370e90051b8748020dc3a400c6e1d20045734aae7555cf2ab9f5740ae855d101", - "hash": "03c9ded06fb993ee2633f9e656118ffcb9d760145633e3f8ce902116" + "compiledCode": "59101f010000332323232323232222532323232323233300a3002300b375400e2a6660146464a6660186008601a6ea80044c8c8c8c8c8c8c8c8c94ccc060c06c0084c8c94ccc05cc04cc060dd5000899299980c0040a99980c00388018a5014a0664646464644a66603a602a603c6ea80044c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c94ccc0e0c0ec0084c8c8c8c8c8c8c926330230112302500132533303b30330011323253330403043002132498cc0940048dd70008b1bac3041001303d37540262a66607660640022a66607c607a6ea804c5261616303b3754024646eb4c0f0050dd6981d009980e80a180e80a980d80b180d80b8b181c800981c8011bad30370013037002375a606a002606a0046eb4c0cc004c0cc008dd6981880098188011bac302f001302f002302d001302d00232533302a302d302d00113376060580026058605a0022c6eb0c0ac004c0ac008c0a4004c0a4008c09c004c09c008c094004c094008c08c004c07cdd50008b1299980e180a180e9baa0011323232325333023302600213232498c94ccc088c0680044c8c94ccc09cc0a80084c926325333025301d00113232533302a302d002132498c04000458c0ac004c09cdd50010a999812980e0008991919191919299981718188010a4c2c6eb4c0bc004c0bc008dd6981680098168011bad302b001302737540042c604a6ea800458c0a0004c090dd50018a999811180c8008a99981298121baa00314985858c088dd500118048018b181200098120011811000980f1baa0011630010012232533301c30140011323253330213024002149858dd71811000980f1baa0021533301c30130011323253330213024002132498cc0180048cc01801800458dd61811000980f1baa0021533301c30180011323253330213024002132498cc0180048cc01801800458dd61811000980f1baa0021533301c301700113232323253330233026002132498cc0200048cc02002000458dd6181200098120011bad3022001301e37540042a666038602c00226464a66604260480042930b1bad3022001301e37540042a666038602a00226464a66604260480042930b1bad3022001301e37540042a66603866e1d200c0011323253330213024002149858dd71811000980f1baa00216301c375400244646600200200644a66603e00229309919801801981180118019810800919299980c980880089919299980f18108010a4c2c6eb8c07c004c06cdd50010a99980c980800089919299980f18108010a4c2c6eb8c07c004c06cdd50010b180c9baa001301c301937540022c600860306ea8008cdd79803980b9baa30073017375400266e95200233019375201297ae0163019001323300100137586004602c6ea8c018c058dd500891299980c0008a5eb804c8c94ccc05ccdd79ba6330083756601a60326ea800922100374c0142660360046600800800226600800800260380046034002460306032603200264660020026eb0c010c050dd51802180a1baa00f22533301600114a0264a66602866ebcc018c058dd5180c8010098a5113300300300130190013375e6e98cc004dd5980a980b180b180b180b18091baa30023012375401a910100374c00644646600200200644a66602c002297adef6c6013232323253330173371e00e004200626603666ec0dd48011ba600133006006003375660300066eb8c058008c068008c0600048c050004c94ccc038c015200014bd6f7b6300991919800800a5eb7bdb180894ccc0500044cc054cdd81ba9005374c00697adef6c6013232323253330153375e6601001200498103d8798000133019337606ea4024dd30038028a99980a99b8f009002133019337606ea4024dd300380189980c99bb037520046e98004cc01801800cdd5980b0019bae30140023018002301600132330010014bd6f7b63011299980980089980a19bb04c1094873657474696e6773004c010101004bd6f7b630099191919299980a19baf3300748810873657474696e6773000024c103d879800013301833760981094873657474696e6773004c01010100005153330143371e91010873657474696e677300002133018337609801094873657474696e6773004c01010100003133018337606ea4008dd4000998030030019bad3015003375c6026004602e004602a00244a66601e66e40008004530103d87980001533300f3371e0040022980103d87a800014c103d87b8000375c6022601c6ea800458c004c034dd50041180818088008a4c26cac26646464646464644644a66602864646464646464a666036602660386ea80044c94ccc070cdd79803980f1baa001004132533301d3019301e375400226464646464646464646464a666050604060526ea805c4c94ccc0a4cccc008c050c0acdd50139bac3003302b3754602860566ea8058c010c0acdd5180a18159baa0163756600a60566ea8c050c0acdd500b0a99981499baf00c00115333029009100714a0294052819191919180b19818181880219818181880199818181880119818180498171baa02a3303032374e66062605c00266062605e00297ae0325333030303330330011337606064002606460660022c6eb0c02cc0b8dd501519818181880099818180418171baa02a303230320013031303130310013030001302f001302a3754016264a6660526666004602060566ea809cdd6180198159baa3014302b375402c600860566ea8c050c0acdd500b1bab3005302b3754602860566ea805854ccc0a4cdd78060008a99981480488038a5014a02940c8c8c8c8c058cc0c0c0c4010cc0c0c0c400ccc0c0c0c4008cc0c0c024c0b8dd500799818191ba733031302e00133031302f0014bd7019299981818199819800899bb03032001303230330011637586016605c6ea803ccc0c0c0c4004cc0c0c020c0b8dd5007981918190009818981898188009818000981780098151baa026222232330010010052232533302e3026001132323300100100822533303400114a0264a66606466e3cdd7181b8010020a511330030030013037001375c606660606ea800854ccc0b8c0940044c8cc004004dd6181a18189baa00322533303300114a2264a6660626600c00c606c0042660060060022940c0d800454ccc0b8c0a80044c8cc004004dd6181a18189baa00322533303300114a0264a6660626600c00c606c00429444cc00c00c004c0d800454ccc0b8c0a40044c8cdc49bad3034001323330010013758606a606c0049000111299981a80108008999801801981c001299981919803803981b801099b80001480084004c0c0dd50010a9998171814000899192999818181398189baa00113253330313253330353034001153330323029303300114a22a6660646054606600229405858dd5180e98199baa301d30333754010266e2400400c4cdc40008019bad3035303237540022940c068c0c4dd5180d98189baa006375a606660606ea800854ccc0b8c09c0044c8c94ccc0c0c09cc0c4dd5000899299981899299981a981a0008a999819181498198008a5115333032302a303300114a02c2c6ea8c074c0ccdd5180e18199baa008133712006002266e2000c004dd6981a98191baa00114a0603460626ea8c068c0c4dd50031bad303330303754004264646600200200c44a66606800229404c94ccc0c8cdd78021819981b8010a5113300300300130370013018330323374a900119819181998181baa0024bd7025eb80c0b8dd50009181618169816981698169816981698169816800918159816181618161816181618161816000918151815981598159815981598158009181498151815181500099baf374c660066eacc004c090dd5180698121baa00f4881004c0101a000230273028302830283028001323375e6e98c004dd5980698119baa006374c60026eacc034c08cdd5005119801000a4410022323300100100322533302600114bd6f7b630099191919299981399b8f007002100313302b337606ea4008dd3000998030030019bab3028003375c604c00460540046050002601e0026044603e6ea800458c00cc078dd50008b1810180e9baa0011632533301e00114c0103d87a8000130053301f30200014bd701bac3001301c3754600a60386ea801c8c07cc080c080004c00cc068dd500099299980c1807980c9baa00113253330193011301a37540022600a60366ea8c078c06cdd50008b1991191980080080191299980f8008a6103d87a800013232533301e3375e601260406ea80080144c020cc0880092f5c0266008008002604600460420026eb0c00cc068dd51801980d1baa005301d301a37540022c600660326ea8010dd2a40004603600246034603600229309b2b19299980998058008a99980b180a9baa00214985854ccc04cc02800454ccc058c054dd50010a4c2c2c60266ea8004c00403894ccc040c020c044dd500089919191919191919191919191919191919191919191919192999815981700109919191919191924c660460224604a00264a66605c604c00226464a666066606c004264931981280091bae001163758606800260606ea804c54ccc0b8c09400454ccc0c4c0c0dd50098a4c2c2c605c6ea8048c8dd6981780a1bad302d013301d014301d015301b016301b01716302c001302c002375a605400260540046eb4c0a0004c0a0008dd6981300098130011bad302400130240023758604400260440046040002604000464a66603a60406040002266ec0c07c004c07cc08000458dd6180f000980f001180e000980e001180d000980d001180c000980c001180b00098091baa001162533300f300730103754002264646464a66602c6032004264649319299980a980680089919299980d180e80109924c64a666030602000226464a66603a60400042649318080008b180f000980d1baa00215333018300f001132323232323253330213024002149858dd6981100098110011bad30200013020002375a603c00260346ea800858c060dd50008b180d800980b9baa00315333015300c00115333018301737540062930b0b180a9baa002300900316301700130170023015001301137540022c60020024464a66601e600e00226464a666028602e0042930b1bae3015001301137540042a66601e600c00226464a666028602e00426493198030009198030030008b1bac3015001301137540042a66601e601600226464a666028602e00426493198030009198030030008b1bac3015001301137540042a66601e6014002264646464a66602c603200426493198040009198040040008b1bac30170013017002375a602a00260226ea800854ccc03cc0240044c8c94ccc050c05c00852616375a602a00260226ea800854ccc03cc0200044c8c94ccc050c05c00852616375a602a00260226ea800854ccc03ccdc3a401800226464a666028602e0042930b1bae3015001301137540042c601e6ea800488c8cc00400400c894ccc04800452613233003003301600230033014001232533300c30040011323253330113014002149858dd7180900098071baa0021533300c30030011323253330113014002149858dd7180900098071baa00216300c3754002601e60186ea801cdc3a40046e1d2000370e90051b8748020dc3a400c6e1d20045734aae7555cf2ab9f5740ae855d126012bd8799fd8799f5820ebcee8dcdbd7312f5e04a0033472465003617abe9935a6e56f007961897cfabbff01ff0001", + "hash": "445b77d214aa36d1b2edeedb8ddad49e0b62d80a1f4b08eb9c8b4c8c" }, { "title": "stake.stake", @@ -201,16 +162,8 @@ "$ref": "#/definitions/Data" } }, - "parameters": [ - { - "title": "pool_script_hash", - "schema": { - "$ref": "#/definitions/ByteArray" - } - } - ], - "compiledCode": "59011f010000323232323232322322253330053253330063370e900218039baa300130083754004264a66600e66e1d2000300837540022646600200264a66601266e1d2002300a3754002297adef6c6013756601c60166ea8004c8cc004004dd5980218059baa300e300b375400644a66601a002298103d87a80001323232533300d3371e0166eb8c03800c4cdd2a4000660226e980052f5c026600a00a0046eacc038008c044008c03c004894ccc030004528099299980519b873371c6eb8c02cc03c00920024806852889980180180098078008b1929998050008a6103d87a800013374a9000198059806000a5eb80dd618059806180618041baa300b3008375400429408c02cc03000452613656375c002ae6955ceaab9e5573eae815d0aba201", - "hash": "3dee39cface76de3f1af4797fa796b49cb4598c8677e6e6959b0ba7e" + "compiledCode": "5901420100003323232323232322322253330053253330063370e900218039baa300130083754004264a66600e66e1d2000300837540022646600200264a66601266e1d2002300a3754002297adef6c6013756601c60166ea8004c8cc004004dd5980218059baa300e300b375400644a66601a0022980103d87a80001323232533300d3371e0166eb8c03800c4cdd2a4000660226e980052f5c026600a00a0046eacc038008c044008c03c004894ccc030004528099299980519b873371c6eb8c02cc03c00920024806852889980180180098078008b1929998050008a6103d87a800013374a9000198059806000a5eb80dd618059806180618041baa300b3008375400429408c02cc03000452613656375c002ae6955ceaab9e5573eae815d0aba24c011e581cfe8a93661ce100d2ce44fa249497f318f8f394d3e7d1feb1f6d1eb800001", + "hash": "21ddde4417997273779ccc885eacabea7036b75884e0d909b1e426fd" } ], "definitions": { @@ -1088,6 +1041,18 @@ "$ref": "#/definitions/Int" } ] + }, + { + "title": "BurnPool", + "description": "to burn the pool NFT (when permitted by the spending validator)", + "dataType": "constructor", + "index": 2, + "fields": [ + { + "title": "identifier", + "$ref": "#/definitions/ByteArray" + } + ] } ] }, @@ -1238,4 +1203,5 @@ ] } } -} \ No newline at end of file +} + diff --git a/validators/order.ak b/validators/order.ak index 16eabfc..692329e 100644 --- a/validators/order.ak +++ b/validators/order.ak @@ -27,7 +27,7 @@ use types/order.{Cancel, OrderDatum, OrderRedeemer, Scoop} /// That stake_script then checks that a pool NFT is present on the UTXO, where most of the subtle and important logic is implemented. validator(stake_script_hash: Hash) { // For the purposes of spending the order, we don't care what the datum is, so avoid deserializing it - fn spend(datum: Data, redeemer: OrderRedeemer, ctx: ScriptContext) -> Bool { + pub fn spend(datum: Data, redeemer: OrderRedeemer, ctx: ScriptContext) -> Bool { when redeemer is { Cancel -> { // We only expect the datum here, to avoid any related costs in the other branch, which doesn't need it @@ -41,19 +41,15 @@ validator(stake_script_hash: Hash) { ) } Scoop -> { - // Assume that the stake_script_hash is the first withdrawal in the list - // Since the ledger doesn't reorder withdrawals (TODO: confirm this!!) - // If we ever have other withdrawals (for example, additional constraints enforced by a different order) - // then that script can look for the appropriate one, and we can just ensure this one is first in the list. - expect [head] = dict.to_list(ctx.transaction.withdrawals) - when head is { - // We match against the script hash like this to ignore the withdrawal amount - // TODO: we could make this more efficient by CBOR encoding the `Inline(ScriptCredential())` into the `stake_script_hash` parameter - // or perhaps even the whole withdrawal list to compare it all at once! - // and just doing a direct equaltiy comparison. Since this runs for each order, this could represent significant savings! - (Inline(ScriptCredential(script)), _) -> script == stake_script_hash - _ -> False - } + dict.foldl(ctx.transaction.withdrawals, False, fn(withdrawal, _amt, acc) { + when withdrawal is { + // TODO: we could make this more efficient by CBOR encoding the `Inline(ScriptCredential())` into the `stake_script_hash` parameter + // or perhaps even the whole withdrawal list to compare it all at once! + // and just doing a direct equaltiy comparison. Since this runs for each order, this could represent significant savings! + Inline(ScriptCredential(script)) -> acc || script == stake_script_hash + _ -> acc + } + }) } } } diff --git a/validators/pool.ak b/validators/pool.ak index 947594d..6d1a7f9 100644 --- a/validators/pool.ak +++ b/validators/pool.ak @@ -17,7 +17,7 @@ use shared.{AssetClass, Ident, spent_output, pool_nft_name, pool_lp_name, count_ use sundae/multisig use types/pool.{ CreatePool, MintLP, PoolDatum, PoolMintRedeemer, PoolRedeemer, PoolScoop, - WithdrawFees, UpdatePoolFees, + WithdrawFees, UpdatePoolFees, BurnPool, } use types/settings.{SettingsDatum, find_settings_datum} /// The core / base "pooled AMM" script for the SundaeSwap v3 protocol @@ -331,6 +331,9 @@ validator(settings_policy_id: PolicyId) { .. } = pool_output_datum + expect shared.fees_in_legal_range(bid_fees_per_10_thousand) + expect shared.fees_in_legal_range(ask_fees_per_10_thousand) + let expected_datum = PoolDatum { ..datum, bid_fees_per_10_thousand, @@ -496,14 +499,8 @@ validator(settings_policy_id: PolicyId) { pool_output_datum.assets == (asset_a, asset_b), pool_output_datum.circulating_lp == initial_lq, pool_output_datum.market_open <= pool_output_datum.fee_finalized, - pool_output_datum.bid_fees_per_10_thousand.1st >= 0, - pool_output_datum.bid_fees_per_10_thousand.2nd >= 0, - pool_output_datum.bid_fees_per_10_thousand.1st <= 10000, - pool_output_datum.bid_fees_per_10_thousand.2nd <= 10000, - pool_output_datum.ask_fees_per_10_thousand.1st >= 0, - pool_output_datum.ask_fees_per_10_thousand.2nd >= 0, - pool_output_datum.ask_fees_per_10_thousand.1st <= 10000, - pool_output_datum.ask_fees_per_10_thousand.2nd <= 10000, + shared.fees_in_legal_range(pool_output_datum.bid_fees_per_10_thousand), + shared.fees_in_legal_range(pool_output_datum.ask_fees_per_10_thousand), } // Make sure that the pool output is paid into own_policy_id (the pool script, remember this is a multivalidator) @@ -545,6 +542,15 @@ validator(settings_policy_id: PolicyId) { (ctx.transaction.mint |> value.from_minted_value |> value.quantity_of(own_policy_id, pool_nft_name)) == 0, } } + BurnPool(pool_ident) -> { + // Burning an asset is only possible when spending it, so if we enforce + // that the mints consist of exactly 1 burn for the specified pool NFT + // then we can defer to the pool spending validator + expect Mint(own_policy_id) = ctx.purpose + let pool_nft_name = shared.pool_nft_name(pool_ident) + let expected_mint = shared.to_value((own_policy_id, pool_nft_name, -1)) + value.from_minted_value(ctx.transaction.mint) == expected_mint + } } } } diff --git a/validators/tests/constants.ak b/validators/tests/constants.ak index e6e6c7f..66145bb 100644 --- a/validators/tests/constants.ak +++ b/validators/tests/constants.ak @@ -1,7 +1,8 @@ // Script hashes pub const settings_policy_id = #"00000000000000000000000000000000000000000000000000000000" pub const pool_script_hash = #"00000000000000000000000000000000000000000000000000000001" -pub const order_script_hash = #"00000000000000000000000000000000000000000000000000000002" +pub const order_script_hash = #"00000000000000000000000000000000000000000000000000000002" +pub const stake_script_hash = #"00000000000000000000000000000000000000000000000000000003" pub const random_hash = #"6af53ff4f054348ad825c692dd9db8f1760a8e0eacf9af9f99306513" pub const other_hash = #"01010101010101010101010101010101010101010101010101010101" diff --git a/validators/tests/order.ak b/validators/tests/order.ak new file mode 100644 index 0000000..c7ae9ce --- /dev/null +++ b/validators/tests/order.ak @@ -0,0 +1,86 @@ +use aiken/dict.{Dict} +use aiken/interval +use aiken/transaction.{ + InlineDatum, Input, Output, + ScriptContext, Spend, Transaction, +} +use aiken/transaction/credential.{ + Inline, StakeCredential, ScriptCredential, +} +use aiken/transaction/value +use tests/examples/ex_shared.{ + mk_output_reference, mk_tx_hash, script_address, compare_stake, +} +use order as order_validator +use tests/constants +use types/order.{Scoop} + +test scoop_order_test() { + scoop_order( + dict.from_list( + [(Inline(ScriptCredential(constants.stake_script_hash)), 0)], + compare_stake, + ), + ) +} + +test scoop_order_extra_withdrawals() { + scoop_order( + dict.from_list( + [ + (Inline(ScriptCredential(constants.random_hash)), 100), + (Inline(ScriptCredential(constants.other_hash)), 500), + (Inline(ScriptCredential(constants.stake_script_hash)), 0), + ], + compare_stake, + ), + ) +} + +test scoop_order_missing_stake_script_withdrawal() fail { + scoop_order( + dict.from_list( + [ + (Inline(ScriptCredential(constants.random_hash)), 100), + (Inline(ScriptCredential(constants.other_hash)), 500), + ], + compare_stake, + ), + ) +} + +fn scoop_order(withdrawals: Dict) { + let order_address = script_address(constants.order_script_hash) + let order_datum = Void // Not needed by scoop + let order_redeemer = Scoop + let order_input = + Input { + output_reference: mk_output_reference(1), + output: Output { + address: order_address, + value: value.from_lovelace(2_000_000), + datum: InlineDatum(order_datum), + reference_script: None, + }, + } + let ctx = + ScriptContext { + transaction: Transaction { + inputs: [order_input], + reference_inputs: [], + outputs: [], + fee: value.from_lovelace(1_000_000), + mint: value.to_minted_value(value.from_lovelace(0)), + certificates: [], + withdrawals: withdrawals, + validity_range: interval.between(1, 2), + extra_signatories: [], + redeemers: dict.new(), + datums: dict.new(), + id: mk_tx_hash(1), + }, + purpose: Spend(order_input.output_reference), + } + let result = order_validator.spend(constants.stake_script_hash, order_datum, order_redeemer, ctx) + result +} diff --git a/validators/tests/pool.ak b/validators/tests/pool.ak index ab103ef..4602d57 100644 --- a/validators/tests/pool.ak +++ b/validators/tests/pool.ak @@ -18,11 +18,12 @@ use shared.{ use sundae/multisig use tests/examples/ex_settings.{mk_valid_settings_input, mk_valid_settings_datum, example_treasury_admin, example_metadata_admin, example_treasury_address, example_settings_admin} use tests/examples/ex_shared.{ - mk_output_reference, mk_tx_hash, script_address, wallet_address, + mk_output_reference, mk_tx_hash, script_address, wallet_address, compare_stake, } use types/order.{Deposit, Destination, Fixed, Self, OrderDatum, Swap} use types/pool.{ - PoolMintRedeemer, CreatePool, PoolDatum, PoolScoop, WithdrawFees, UpdatePoolFees, + PoolMintRedeemer, CreatePool, PoolDatum, PoolScoop, WithdrawFees, + UpdatePoolFees, BurnPool, } use calculation/shared.{PoolState} as calc_shared use types/settings.{SettingsDatum, settings_nft_name} @@ -38,6 +39,7 @@ type ScoopTestOptions { edit_order_actual_destination: Option, edit_fee: Option, edit_swap_fees: Option<((Int,Int), (Int, Int))>, + edit_new_swap_fees: Option<((Int,Int), (Int, Int))>, edit_fee_admin: Option>, edit_withdrawals: Option>, edit_pool_input_address: Option
, @@ -55,6 +57,7 @@ fn default_scoop_test_options() -> ScoopTestOptions { edit_order_actual_destination: None, edit_fee: None, edit_swap_fees: None, + edit_new_swap_fees: None, edit_fee_admin: None, edit_withdrawals: None, edit_pool_input_address: None, @@ -718,10 +721,11 @@ fn update_pool_fees_transaction (options: ScoopTestOptions) { |> with_asset_of_tx_input(value.from_asset(constants.rberry_policy, constants.rberry_asset_name, 1_000_000_000)) |> with_asset_of_tx_input(value.from_asset(constants.pool_script_hash, pool_nft_name, 1)) + let new_pool_fees = option.or_else(options.edit_new_swap_fees, ((10,10),(310,150))) let pool_out_datum = PoolDatum { ..pool_datum, - bid_fees_per_10_thousand: (10,10), - ask_fees_per_10_thousand: (310,150), + bid_fees_per_10_thousand: new_pool_fees.1st, + ask_fees_per_10_thousand: new_pool_fees.2nd, } let pool_output = new_tx_output(pool_output_address, 0, InlineDatum(pool_out_datum)) @@ -759,26 +763,20 @@ test update_pool_fees_transaction_test() { update_pool_fees_transaction(default_scoop_test_options()) } -test cannot_update_pool_fees_transaction_test() fail { +test illegal_new_pool_fees_test() fail { let settings = ScoopTestOptions { ..default_scoop_test_options(), - edit_fee_admin: Some(None), + edit_new_swap_fees: Some(((10001,10001),(10001,10001))), } update_pool_fees_transaction(settings) } -pub fn compare_stake(left: StakeCredential, right: StakeCredential) -> Ordering { - let left = when left is { - Inline(ScriptCredential(x)) -> x - Inline(VerificationKeyCredential(x)) -> x - _ -> fail - } - let right = when right is { - Inline(ScriptCredential(x)) -> x - Inline(VerificationKeyCredential(x)) -> x - _ -> fail - } - bytearray.compare(left, right) +test cannot_update_pool_fees_transaction_test() fail { + let settings = ScoopTestOptions { + ..default_scoop_test_options(), + edit_fee_admin: Some(None), + } + update_pool_fees_transaction(settings) } test update_pool_fees_transaction_with_script_test() { @@ -1093,7 +1091,7 @@ test dont_evaporate_pool_test() fail { } -test attempt_evaporate_pool_test() fail { +test attempt_evaporate_pool_test() { let withdraw_fees_redeemer = WithdrawFees { amount: 18_000_000, treasury_output: 0, @@ -1107,7 +1105,7 @@ test attempt_evaporate_pool_test() fail { (ada_policy_id, ada_asset_name), (constants.rberry_policy, constants.rberry_asset_name), ), - circulating_lp: 1_000_000_000, + circulating_lp: 0, bid_fees_per_10_thousand: pool_fees.1st, ask_fees_per_10_thousand: pool_fees.2nd, fee_manager: None, @@ -1123,8 +1121,6 @@ test attempt_evaporate_pool_test() fail { InlineDatum(pool_datum)) |> with_asset_of_tx_input( value.from_asset(constants.pool_script_hash, pool_nft_name, 1) - |> value.add(constants.rberry_policy, constants.rberry_asset_name, 1_000_000_000) - |> value.add(ada_policy_id, ada_asset_name, 1_000_000_000) ) let treasury_output = new_tx_output( @@ -1149,4 +1145,61 @@ test attempt_evaporate_pool_test() fail { |> builder.add_signatory(example_treasury_admin) |> builder.spend(pool_input.output_reference) pool_validator.spend(constants.settings_policy_id, pool_datum, withdraw_fees_redeemer, ctx) -} \ No newline at end of file +} + +test burn_pool() { + let user_addr = wallet_address(constants.payment_key) + let fees = ((5,5),(5,5)) + let pool_datum = + PoolDatum { + identifier: constants.pool_ident, + assets: ((ada_policy_id, ada_asset_name), (constants.rberry_policy, constants.rberry_asset_name)), + circulating_lp: 0, + bid_fees_per_10_thousand: fees.1st, + ask_fees_per_10_thousand: fees.2nd, + fee_manager: None, + market_open: 0, + fee_finalized: 0, + protocol_fees: 2_000_000, + } + let pool_nft_name = shared.pool_nft_name(constants.pool_ident) + let pool_address = script_address(constants.pool_script_hash) + let pool_input = + Input { + output_reference: mk_output_reference(0), + output: Output { + address: pool_address, + value: value.from_lovelace(2_000_000) + |> value.add(constants.pool_script_hash, pool_nft_name, 1), + datum: InlineDatum(pool_datum), + reference_script: None, + }, + } + let settings_input = { + let Input { output_reference, output } = + mk_valid_settings_input([constants.scooper], 1) + Input { output_reference, output } + } + let change_output = + Output { + address: user_addr, + value: value.from_lovelace(2_000_000), + datum: NoDatum, + reference_script: None, + } + + let (_, pool_nft_token, _) = shared.pool_token_names(constants.pool_ident) + let ctx = interval.between(1,2) + |> build_txn_context() + |> mint_assets(constants.pool_script_hash, value.to_minted_value( + value.from_lovelace(0) + |> value.add(constants.pool_script_hash, pool_nft_token, -1) + )) + |> add_tx_input(pool_input) + |> add_tx_ref_input(settings_input) + |> add_tx_output(change_output) + + let pool_mint_redeemer = BurnPool(constants.pool_ident) + let result = pool_validator.mint(constants.settings_policy_id, pool_mint_redeemer, ctx) + result +}