From 1723a38d704d5583e0c722bb486c8a99cc1b035f Mon Sep 17 00:00:00 2001 From: Jamie Date: Thu, 1 Aug 2024 17:13:00 +0800 Subject: [PATCH] Add a test case for checking metadata hash Signed-off-by: Jamie --- tests/check_metadata_hash.ts | 23 +++++++++++++++++++++++ tests/package.json | 2 ++ tests/yarn.lock | 12 ++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 tests/check_metadata_hash.ts diff --git a/tests/check_metadata_hash.ts b/tests/check_metadata_hash.ts new file mode 100644 index 000000000..428298318 --- /dev/null +++ b/tests/check_metadata_hash.ts @@ -0,0 +1,23 @@ +import { init, RuntimeMetadata } from 'merkleized-metadata'; +import { assert } from "chai"; + +// curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "state_getMetadata"}' http://localhost:9967/ +const MANTA_METADATA = "6044c43616e206e6f7420636c61696d2067617567652c43616e4e6f74436c61696d00070464636c61696d5f6c696d69745f74696d652065786365656465645447617567654d6178426c6f636b4f766572666c6f7700080474676175676520706f6f6c206d61785f626c6f636b2065786365656465646857697468647261774c696d6974436f756e7445786365656465640009047077697468647261775f6c696d69745f74696d652065786365656465643443616e4e6f744465706f736974000a046c43616e206e6f74206465706f73697420746f20706f6f6c20796574445265746972654c696d69744e6f74536574000b048854686520726574697265206c696d6974206e756d626572206973206e6f7420736574048054686520604572726f726020656e756d206f6620746869732070616c6c65742e51080c4470616c6c65745f72616e646f6d6e6573731474797065732c5265717565737454797065000104244261626545706f636804002c010c7536340000000055080c4470616c6c65745f72616e646f6d6e6573731474797065734052616e646f6d6e657373526573756c7404104861736801300008012872616e646f6d6e657373d50201304f7074696f6e3c486173683e000134726571756573745f636f756e742c010c753634000059080c4470616c6c65745f72616e646f6d6e6573731870616c6c6574144572726f720404540001049043616e6e6f745265717565737452616e646f6d6e65737341667465724d617844656c6179000000048054686520604572726f726020656e756d206f6620746869732070616c6c65742e5d0800000261080061080c3870616c6c65745f6c6f74746572791870616c6c657444556e7374616b696e67436f6c6c61746f7208244163636f756e74496401002c426c6f636b4e756d62657201100008011c6163636f756e740001244163636f756e74496400011473696e636510012c426c6f636b4e756d6265720000650800000269080069080c3870616c6c65745f6c6f74746572791870616c6c65741c526571756573740c244163636f756e74496401002c426c6f636b4e756d62657201101c42616c616e63650118000c0110757365720001244163636f756e744964000114626c6f636b10012c426c6f636b4e756d62657200011c62616c616e636518011c42616c616e636500006d080c3870616c6c65745f6c6f74746572791870616c6c6574344661726d696e67506172616d730404540118001001486d696e745f6661726d696e675f746f6b656e780110626f6f6c00015464657374726f795f6661726d696e675f746f6b656e780110626f6f6c00011c706f6f6c5f6964180118506f6f6c496400012c63757272656e63795f696418010454000071080c3870616c6c65745f6c6f74746572791870616c6c6574144572726f72040454000158444c6f74746572794e6f7453746172746564000004704c6f747465727920686173206e6f74206265656e2073746172746564404c6f7474657279497352756e6e696e67000104804c6f74746572792068617320616c7265616479206265656e207374617274656444546f6f436c6f7365546f44726177696e67000204cc5072652d64726177696e6720667265657a6520696e206566666563742c2063616e2774206d6f646966792062616c616e63657340506f7442616c616e6365546f6f4c6f77000308b0464154414c3a2041737369676e696e672f5472616e7366657272696e672077696e6e696e6720636c61696d73c4776f756c64202a2a72656d6f76652a2a2075736572206465706f73697465642066756e64732066726f6d2070616c6c65745c506f7442616c616e6365546f6f4c6f77546f5374616b65000404f0464154414c3a2043616e2774207374616b65207468652072657175657374656420616d6f756e74207769746820617661696c61626c652066756e647364506f7442616c616e636542656c6f7747617352657365727665000504d850616c6c65742062616c616e6365206973206c6f776572207468616e20746865206e656564656420676173206665652062756666657268506f7442616c616e6365546f6f4c6f77546f5061795478466565000604e050616c6c65742062616c616e636520697320746f6f206c6f7720746f207375626d69742061206e6565646564207472616e73616374696f6e344e6f626f6479506c6179696e67000704604e6f2066756e647320656c696769626c6520746f2077696e304e6f7468696e67546f57696e0008045c4e6f2066756e647320746f2077696e20696e20706f6f6c344e6f57696e6e6572466f756e6400090488466174616c3a204e6f2077696e6e657220636f756c642062652073656c6563746564544465706f73697442656c6f774d696e416d6f756e74000a04984465706f73697420616d6f756e742069732062656c6f77206d696e696d756d20616d6f756e7458576974686472617742656c6f774d696e416d6f756e74000b04b0526571756573746564205769746864726177616c20616d6f756e742069732062656c6f77206d696e696d756d50576974686472617741626f76654465706f736974000c04b452657175657374656420746f207769746864726177206d6f7265207468616e20796f75206465706f73697465644c4e6f4465706f736974466f724163636f756e74000d04884e6f206465706f7369747320666f756e6420666f722074686973206163636f756e74504e6f436f6c6c61746f72466f724465706f736974000e04cc466174616c3a204e6f20636f6c6c61746f727320666f756e6420746f2061737369676e2074686973206465706f73697420746f484e6f436f6c6c61746f72466f725374616b65000f04cc466174616c3a204e6f20636f6c6c61746f727320666f756e6420746f2061737369676e2074686973206465706f73697420746f5c4e6f436f6c6c61746f72466f725769746864726177616c001004a8466174616c3a204e6f20636f6c6c61746f727320666f756e6420746f2077697468647261772066726f6d4c41726974686d65746963556e646572666c6f77001104f8466174616c3a20412063616c63756c6174696f6e2074686174206d757374206e6f74206265206e6567617469766520776f756c6420756e646572666c6f774841726974686d657469634f766572666c6f77001204a0466174616c3a20412063616c63756c6174696f6e207468617420776f756c64206f766572666c6f774c50616c6c65744d6973636f6e66696775726564001304c8466174616c3a2050616c6c657420636f6e66696775726174696f6e2076696f6c617465732073616e69747920636865636b7340436f756c644e6f745363686564756c65001404a8466174616c3a20436f756c64206e6f74207363686564756c65206c6f74746572792064726177696e6773384e6f74496d706c656d656e74656400150498466174616c3a2046756e6374696f6e616c697479206e6f742079657420737570706f72746564048054686520604572726f726020656e756d206f6620746869732070616c6c65742e7508102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c4164647265737301b5031043616c6c01d103245369676e617475726501e904144578747261017908000400340000007908000004207d088108850889089108950899089d08007d0810306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000810810306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e04045400000000850810306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000890810306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004008d08010c45726100008d08102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000910810306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e63650404540000040011010120543a3a4e6f6e63650000950810306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000009908086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e74040454000004002101013042616c616e63654f663c543e00009d0808746672616d655f6d657461646174615f686173685f657874656e73696f6e44436865636b4d657461646174614861736804045400000401106d6f6465a10801104d6f64650000a10808746672616d655f6d657461646174615f686173685f657874656e73696f6e104d6f64650001082044697361626c65640000001c456e61626c656400010000a50808346d616e74615f72756e74696d651c52756e74696d6500000000981853797374656d011853797374656d441c4163636f756e7401010402000c4101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e74000010040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010020180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e000010040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b486173680101040510308000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101040510340400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d6265720100101000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801003080000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010038040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004804001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e74010010100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104023065020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e005901205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000690204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100780400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100780400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e506861736500005d02040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e44417574686f72697a65645570677261646500007102040004b82060536f6d6560206966206120636f6465207570677261646520686173206265656e20617574686f72697a65642e01750201541830426c6f636b576569676874738502750107e0d1a93e0100070088526a7402004001c2e49817000107d07e7ed3450200c0000107002ca07d510200e000010000c2e49817000107d0da30c0680200200101070088526a74020040010107005cb2ec2202006000c2e498170000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e67746895023000003800000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e74101060090000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e2044625765696768749d024040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6ea102d903146d616e7461146d616e746101000000701200000100000048dd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab5270590300000043285cafec063af901000000ea93e3f16f3d6962020000002aa62120049dd2d201000000ba8173bf23b2e6f801000000d0399cd053adda2b01000000ddcc9d428f980d4f0100000060aed43cb52456f1010000000d94b80c178630f0010000000a000000010484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978b102084d0014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e01b502003c50617261636861696e53797374656d013c50617261636861696e53797374656d6044556e696e636c756465645365676d656e740100b9020400184901204c617465737420696e636c7564656420626c6f636b2064657363656e64616e7473207468652072756e74696d652061636365707465642e20496e206f7468657220776f7264732c20746865736520617265610120616e636573746f7273206f66207468652063757272656e746c7920657865637574696e6720626c6f636b2077686963682068617665206e6f74206265656e20696e636c7564656420696e20746865206f627365727665644c2072656c61792d636861696e2073746174652e00750120546865207365676d656e74206c656e677468206973206c696d69746564206279207468652063617061636974792072657475726e65642066726f6d20746865205b60436f6e73656e737573486f6f6b605d20636f6e666967757265643c20696e207468652070616c6c65742e6c41676772656761746564556e696e636c756465645365676d656e740000e10204000c69012053746f72616765206669656c642074686174206b6565707320747261636b206f662062616e64776964746820757365642062792074686520756e696e636c75646564207365676d656e7420616c6f6e672077697468207468652d01206c61746573742048524d502077617465726d61726b2e205573656420666f72206c696d6974696e672074686520616363657074616e6365206f66206e657720626c6f636b73207769746890207265737065637420746f2072656c617920636861696e20636f6e73747261696e74732e5450656e64696e6756616c69646174696f6e436f6465010034040018590120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f20626524206170706c6965642e003d0120417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f7665727772697465207468657101205b603a636f6465605d5b73705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d2077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f636573730901207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e444e657756616c69646174696f6e436f64650000340400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000e90204000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f6465010078040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d62657201001010000000000c1d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e00882054686973206973207570646174656420696e20606f6e5f66696e616c697a65602e60557067726164655265737472696374696f6e5369676e616c0100f10204001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3855706772616465476f41686561640100d902040014dc204f7074696f6e616c207570677261646520676f2d6168656164207369676e616c2066726f6d207468652072656c61792d636861696e2e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f660000f902040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e6753746174650000010304001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e000015030400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d71634865616401001d0380000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d7163486561647301002103040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301001010000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01001010000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d6573736167657301002d0304000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d657373616765730100810204000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d6573736167657301008102040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e5c55707761726444656c6976657279466565466163746f720100350340000064a7b3b6e00d000000000000000004e42054686520666163746f7220746f206d756c7469706c792074686520626173652064656c69766572792066656520627920666f7220554d502e84416e6e6f756e63656448726d704d6573736167657350657243616e646964617465010010100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000240400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000240400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e60437573746f6d56616c69646174696f6e486561644461746100003404000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00110120536565206050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f646174616020666f72206d6f726520696e666f726d6174696f6e2e013903017c00015d03012454696d657374616d70012454696d657374616d70080c4e6f7701002c20000000000000000004a0205468652063757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e24446964557064617465010078040010d82057686574686572207468652074696d657374616d7020686173206265656e207570646174656420696e207468697320626c6f636b2e00550120546869732076616c7565206973207570646174656420746f206074727565602075706f6e207375636365737366756c207375626d697373696f6e206f6620612074696d657374616d702062792061206e6f64652e4501204974206973207468656e20636865636b65642061742074686520656e64206f66206561636820626c6f636b20657865637574696f6e20696e2074686520606f6e5f66696e616c697a656020686f6f6b2e0161030004344d696e696d756d506572696f642c207017000000000000188c20546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e004d012042652061776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f6420746861742074686520626c6f636b2070726f64756374696f6e4901206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c7920776f726b2077697468207468697320746f61012064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20466f72206578616d706c652c20696e2074686520417572612070616c6c65742069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e00023450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e49640100e9011064000000000000000003405472616e73616374696f6e506175736501405472616e73616374696f6e506175736504485061757365645472616e73616374696f6e73000104057d02b004000c6c2054686520706175736564207472616e73616374696f6e206d617000dc206d6170202850616c6c65744e616d6542797465732c2046756e6374696f6e4e616d65427974657329203d3e204f7074696f6e3c28293e016503018400017103092042616c616e636573012042616c616e6365731c34546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010402007503040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20526573657276657301010402008503040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e14486f6c6473010104020091030400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a65730101040200a5030400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e01b103018814484578697374656e7469616c4465706f736974184000008a5d78456301000000000000000020410120546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2100590120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f72610120746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e590120496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e65787065637465648c206265686176696f757220696620796f7520736574207468697320746f207a65726f2e00f020426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e6521204d61784c6f636b7310103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d61785265736572766573101032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e204d6178486f6c647310103200000004190120546865206d6178696d756d206e756d626572206f6620686f6c647320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e284d6178467265657a657310100000000004610120546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e01bd030a485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100350340000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100c10304000000019004604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c7469706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f726974796000510120546869732076616c7565206973206d756c7469706c69656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e000b2444656d6f6372616379012444656d6f6372616379303c5075626c696350726f70436f756e74010010100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f70730100c503040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f660001040510a50504000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e74010010100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b6564010010100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f660001040510ad0504000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f660101040500b905d8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100780400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c0000d105040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001040630d50504000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101040630780400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e284d657461646174614f6600010402a430040018ec2047656e6572616c20696e666f726d6174696f6e20636f6e6365726e696e6720616e792070726f706f73616c206f72207265666572656e64756d2e490120546865206048617368602072656665727320746f2074686520707265696d616765206f66207468652060507265696d61676573602070726f76696465722077686963682063616e2062652061204a534f4e882064756d70206f7220495046532068617368206f662061204a534f4e2066696c652e00750120436f6e73696465722061206761726261676520636f6c6c656374696f6e20666f722061206d65746164617461206f662066696e6973686564207265666572656e64756d7320746f2060756e7265717565737460202872656d6f76652944206c6172676520707265696d616765732e01d5030194303c456e6163746d656e74506572696f641010201c000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641010e0c4000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641010e0c4000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641010201c0000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400000a027128c1c2b020000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f7765647804010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f6410108403000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641010e0c4000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f74657310106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c73101064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f73697473101064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c697374656410106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e01d9050e1c436f756e63696c011c436f756e63696c182450726f706f73616c730100dd05040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001040630d103040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001040630e105040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010010100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100dc0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01dd0301a804444d617850726f706f73616c576569676874242807004429353a0200a00004250120546865206d6178696d756d20776569676874206f6620612064697370617463682063616c6c20746861742063616e2062652070726f706f73656420616e642065786563757465642e01e5050f44436f756e63696c4d656d626572736869700144436f756e63696c4d656d62657273686970081c4d656d626572730100a905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01e10301b40001e9051048546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c730100dd05040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001040630d103040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e670001040630e105040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010010100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100dc0400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01e50301b804444d617850726f706f73616c576569676874242807004429353a0200a00004250120546865206d6178696d756d20776569676874206f6620612064697370617463682063616c6c20746861742063616e2062652070726f706f73656420616e642065786563757465642e01ed05114c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d626572730100a905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01e90301bc0001f105124050617261636861696e5374616b696e67014050617261636861696e5374616b696e674848436f6c6c61746f72436f6d6d697373696f6e0100d4100000000004e820436f6d6d697373696f6e2070657263656e742074616b656e206f6666206f66207265776172647320666f7220616c6c20636f6c6c61746f727334546f74616c53656c6563746564010010100000000004a82054686520746f74616c2063616e646964617465732073656c656374656420657665727920726f756e644450617261636861696e426f6e64496e666f0100f5058400000000000000000000000000000000000000000000000000000000000000000004f42050617261636861696e20626f6e6420636f6e66696720696e666f207b206163636f756e742c2070657263656e745f6f665f696e666c6174696f6e207d14526f756e640100f9053001000000010000001400000004e02043757272656e7420726f756e6420696e64657820616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e3844656c656761746f7253746174650001040500fd050400044901204765742064656c656761746f72207374617465206173736f636961746564207769746820616e206163636f756e74206966206163636f756e742069732064656c65676174696e6720656c7365204e6f6e653443616e646964617465496e666f0001040500110604000465012047657420636f6c6c61746f722063616e64696461746520696e666f206173736f636961746564207769746820616e206163636f756e74206966206163636f756e742069732063616e64696461746520656c7365204e6f6e656c44656c65676174696f6e5363686564756c6564526571756573747301010402002506040004d42053746f726573206f75747374616e64696e672064656c65676174696f6e2072657175657374732070657220636f6c6c61746f722e38546f7044656c65676174696f6e7300010405002d060400049c20546f702064656c65676174696f6e7320666f7220636f6c6c61746f722063616e64696461746544426f74746f6d44656c65676174696f6e7300010405002d06040004a820426f74746f6d2064656c65676174696f6e7320666f7220636f6c6c61746f722063616e6469646174654853656c656374656443616e646964617465730100dc040004dc2054686520636f6c6c61746f722063616e646964617465732073656c656374656420666f72207468652063757272656e7420726f756e6414546f74616c010018400000000000000000000000000000000004b020546f74616c206361706974616c206c6f636b65642062792074686973207374616b696e672070616c6c65743443616e646964617465506f6f6c0100010604000415012054686520706f6f6c206f6620636f6c6c61746f722063616e646964617465732c2065616368207769746820746865697220746f74616c206261636b696e67207374616b651c41745374616b650101080505310635068400000000000000000000000000000000000000000000000000000000000000000004010120536e617073686f74206f6620636f6c6c61746f722064656c65676174696f6e207374616b6520617420746865207374617274206f662074686520726f756e643844656c617965645061796f75747300010405103906040004402044656c61796564207061796f757473185374616b6564010104051018400000000000000000000000000000000004e420546f74616c20636f756e746564207374616b6520666f722073656c65637465642063616e6469646174657320696e2074686520726f756e643c496e666c6174696f6e436f6e66696701003d062101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046020496e666c6174696f6e20636f6e66696775726174696f6e18506f696e7473010104051010100000000004110120546f74616c20706f696e7473206177617264656420746f20636f6c6c61746f727320666f7220626c6f636b2070726f64756374696f6e20696e2074686520726f756e64284177617264656450747301010805053106101000000000048c20506f696e747320666f72206561636820636f6c6c61746f722070657220726f756e6401ed0301c04c444d696e426c6f636b73506572526f756e6410100a000000048c204d696e696d756d206e756d626572206f6620626c6f636b732070657220726f756e645444656661756c74426c6f636b73506572526f756e6410100807000004b82044656661756c74206e756d626572206f6620626c6f636b732070657220726f756e642061742067656e65736973504c6561766543616e6469646174657344656c617910101c000000044501204e756d626572206f6620726f756e647320746861742063616e646964617465732072656d61696e20626f6e646564206265666f7265206578697420726571756573742069732065786563757461626c655843616e646964617465426f6e644c65737344656c617910101c000000045501204e756d626572206f6620726f756e64732063616e64696461746520726571756573747320746f2064656372656173652073656c662d626f6e64206d757374207761697420746f2062652065786563757461626c65504c6561766544656c656761746f727344656c617910101c000000044501204e756d626572206f6620726f756e647320746861742064656c656761746f72732072656d61696e20626f6e646564206265666f7265206578697420726571756573742069732065786563757461626c65545265766f6b6544656c65676174696f6e44656c617910101c000000046101204e756d626572206f6620726f756e647320746861742064656c65676174696f6e732072656d61696e20626f6e646564206265666f7265207265766f636174696f6e20726571756573742069732065786563757461626c655c44656c65676174696f6e426f6e644c65737344656c617910101c000000042d01204e756d626572206f6620726f756e647320746861742064656c65676174696f6e206c657373207265717565737473206d7573742077616974206265666f72652065786563757461626c65485265776172645061796d656e7444656c617910100200000004e0204e756d626572206f6620726f756e647320616674657220776869636820626c6f636b20617574686f727320617265207265776172646564544d696e53656c656374656443616e6469646174657310100500000004c8204d696e696d756d206e756d626572206f662073656c65637465642063616e6469646174657320657665727920726f756e64744d6178546f7044656c65676174696f6e7350657243616e64696461746510106400000004b8204d6178696d756d20746f702064656c65676174696f6e7320636f756e746564207065722063616e646964617465804d6178426f74746f6d44656c65676174696f6e7350657243616e64696461746510103200000004dc204d6178696d756d20626f74746f6d2064656c65676174696f6e7320286e6f7420636f756e74656429207065722063616e646964617465684d617844656c65676174696f6e7350657244656c656761746f721010190000000488204d6178696d756d2064656c65676174696f6e73207065722064656c656761746f726444656661756c74436f6c6c61746f72436f6d6d697373696f6ed41000e1f5050459012044656661756c7420636f6d6d697373696f6e2064756520746f20636f6c6c61746f72732c2069732060436f6c6c61746f72436f6d6d697373696f6e602073746f726167652076616c756520696e2067656e657369738844656661756c7450617261636861696e426f6e645265736572766550657263656e74d004000409012044656661756c742070657263656e74206f6620696e666c6174696f6e2073657420617369646520666f722070617261636861696e20626f6e64206163636f756e74384d696e436f6c6c61746f7253746b1840000000da2b851f0bb454000000000000045501204d696e696d756d207374616b6520726571756972656420666f7220616e792063616e64696461746520746f20626520696e206053656c656374656443616e646964617465736020666f722074686520726f756e643c4d696e43616e64696461746553746b1840000000da2b851f0bb454000000000000040901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265206120636f6c6c61746f722063616e646964617465604d696e57686974656c69737443616e64696461746553746b1840000000c9ea2683677808000000000000043901204d696e696d756d207374616b6520726571756972656420666f72202a612077686974656c69737465642a206163636f756e7420746f206265206120636f6c6c61746f722063616e646964617465344d696e44656c65676174696f6e1840000050efe2d6e41a1b0000000000000004f8204d696e696d756d207374616b6520666f7220616e792072656769737465726564206f6e2d636861696e206163636f756e7420746f2064656c65676174653c4d696e44656c656761746f7253746b1840000050efe2d6e41a1b00000000000000041101204d696e696d756d207374616b6520666f7220616e792072656769737465726564206f6e2d636861696e206163636f756e7420746f20626520612064656c656761746f720141063038417574686f72496e686572656e740138417574686f72496e686572656e740818417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e40496e686572656e74496e636c756465640100780400048c20436865636b2069662074686520696e686572656e742077617320696e636c7564656401010400000145063c4041757261417574686f7246696c746572014041757261417574686f7246696c74657200000000003f28417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e000000001444436f6c6c61746f7253656c656374696f6e0144436f6c6c61746f7253656c656374696f6e1c34496e76756c6e657261626c65730100dc0400048c2054686520696e76756c6e657261626c652c20666978656420636f6c6c61746f72732e2843616e6469646174657301004906040004bc205468652028636f6d6d756e6974792c206c696d697465642920636f6c6c6174696f6e2063616e646964617465732e70426c6f636b73506572436f6c6c61746f725468697353657373696f6e010104020010100000000000404576696374696f6e426173656c696e650100d0040004010120506572666f726d616e63652070657263656e74696c6520746f2075736520617320626173656c696e6520666f7220636f6c6c61746f72206576696374696f6e444576696374696f6e546f6c6572616e63650100d004000c21012050657263656e74616765206f6620756e646572706572666f726d616e636520746f205f746f6c65726174655f206265666f7265206576696374696e67206120636f6c6c61746f7200b90120692e652e204120636f6c6c61746f72206765747320657669637465642069662069742070726f6475636564205f6c6573735f207468616e20782520666577657220626c6f636b73207468616e2074686520636f6c6c61746f72206174204576696374696f6e426173656c696e65444465736972656443616e6469646174657301001010000000000c782044657369726564206e756d626572206f662063616e646964617465732e00750120546869732073686f756c6420696465616c6c7920616c77617973206265206c657373207468616e205b60436f6e6669673a3a4d617843616e64696461746573605d20666f72207765696768747320746f20626520636f72726563742e3443616e646964616379426f6e640100184000000000000000000000000000000000049c204669786564206465706f73697420626f6e6420666f7220656163682063616e6469646174652e01050401d800015106151c53657373696f6e011c53657373696f6e1c2856616c696461746f72730100dc0400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e646578010010100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e676564010078040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b657973010055060400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f727301005d060400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b65797300010405000d040400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405610600040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e01090401e000016906161041757261011041757261082c417574686f72697469657301006d060400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f74010079062000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e000000001720547265617375727901205472656173757279183450726f706f73616c436f756e74010010100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c7300010405107d060400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c7301008106040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e285370656e64436f756e74010010100000000004a42054686520636f756e74206f66207370656e647320746861742068617665206265656e206d6164652e185370656e647300010405108506040004d0205370656e647320746861742068617665206265656e20617070726f76656420616e64206265696e672070726f6365737365642e011d0401e4203050726f706f73616c426f6e648d061010270000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d18400000b89d0d6955a00100000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756d25024401000050efe2d6e41a1b00000000000000044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641010c0890100048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e8d0610000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c6574496491062070792f74727372790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731010640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e305061796f7574506572696f641010c04b03000419012054686520706572696f6420647572696e6720776869636820616e20617070726f766564207472656173757279207370656e642068617320746f20626520636c61696d65642e0195061a20507265696d6167650120507265696d6167650c24537461747573466f72000104063099060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e4052657175657374537461747573466f720001040630a5060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f7200010406b506b90604000001210401e80001bd061c245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e64610101040510c1060400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001040504f0040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e01250401ec08344d6178696d756d57656967687424280700a0db215d0200000104290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b101032000000141d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e0018204e4f54453a5101202b20446570656e64656e742070616c6c657473272062656e63686d61726b73206d696768742072657175697265206120686967686572206c696d697420666f72207468652073657474696e672e205365742061c420686967686572206c696d697420756e646572206072756e74696d652d62656e63686d61726b736020666561747572652e01d1061d2458636d705175657565012458636d7051756575651c50496e626f756e6458636d7053757370656e6465640100d5060400200d01205468652073757370656e64656420696e626f756e642058434d50206368616e6e656c732e20416c6c206f746865727320617265206e6f742073757370656e6465642e00710120546869732069732061206053746f7261676556616c75656020696e7374656164206f662061206053746f726167654d6170602073696e636520776520657870656374206d756c7469706c652072656164732070657220626c6f636b690120746f20646966666572656e74206b65797320776974682061206f6e652062797465207061796c6f61642e205468652061636365737320746f2060426f756e6465644254726565536574602077696c6c2062652063616368656415012077697468696e2074686520626c6f636b20616e64207468657265666f7265206f6e6c7920696e636c75646564206f6e636520696e207468652070726f6f662073697a652e006501204e4f54453a2054686520506f562062656e63686d61726b696e672063616e6e6f74206b6e6f77207468697320616e642077696c6c206f7665722d657374696d6174652c20627574207468652061637475616c2070726f6f66442077696c6c20626520736d616c6c65722e484f7574626f756e6458636d705374617475730100e1060400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d657373616765730101080205ed0634040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d6573736167657301010402e90134040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100f106302000000030000000080000000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e38517565756553757370656e64656401007804000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e4444656c6976657279466565466163746f7201010405e901350340000064a7b3b6e00d000000000000000004c42054686520666163746f7220746f206d756c7469706c792074686520626173652064656c6976657279206665652062792e012d0401f4044c4d6178496e626f756e6453757370656e6465641010e803000014490120546865206d6178696d756d206e756d626572206f6620696e626f756e642058434d50206368616e6e656c7320746861742063616e2062652073757370656e6465642073696d756c74616e656f75736c792e005d0120416e792066757274686572206368616e6e656c2073757370656e73696f6e732077696c6c206661696c20616e64206d65737361676573206d6179206765742064726f7070656420776974686f757420667572746865724501206e6f746963652e2043686f6f73696e67206120686967682076616c756520283130303029206973206f6b61793b207468652074726164652d6f666620746861742069732064657363726962656420696ed8205b60496e626f756e6458636d7053757370656e646564605d207374696c6c206170706c6965732061742074686174207363616c652e01f5061e2c506f6c6b61646f7458636d012c506f6c6b61646f7458636d30305175657279436f756e74657201002c200000000000000000048820546865206c617465737420617661696c61626c6520717565727920696e6465782e1c51756572696573000104022cf9060400045420546865206f6e676f696e6720717565726965732e28417373657454726170730101040630101000000000106820546865206578697374696e672061737365742074726170732e007501204b65792069732074686520626c616b6532203235362068617368206f6620286f726967696e2c2076657273696f6e656420604d756c7469417373657473602920706169722e2056616c756520697320746865206e756d626572206f661d012074696d65732074686973207061697220686173206265656e20747261707065642028757375616c6c79206a75737420312069662069742065786973747320617420616c6c292e385361666558636d56657273696f6e00001004000861012044656661756c742076657273696f6e20746f20656e636f64652058434d207768656e206c61746573742076657273696f6e206f662064657374696e6174696f6e20697320756e6b6e6f776e2e20496620604e6f6e65602c3d01207468656e207468652064657374696e6174696f6e732077686f73652058434d2076657273696f6e20697320756e6b6e6f776e2061726520636f6e7369646572656420756e726561636861626c652e40537570706f7274656456657273696f6e00010805020d0710040004f020546865204c61746573742076657273696f6e732074686174207765206b6e6f7720766172696f7573206c6f636174696f6e7320737570706f72742e4056657273696f6e4e6f7469666965727300010805020d072c040004050120416c6c206c6f636174696f6e7320746861742077652068617665207265717565737465642076657273696f6e206e6f74696669636174696f6e732066726f6d2e5056657273696f6e4e6f746966795461726765747300010805020d07110704000871012054686520746172676574206c6f636174696f6e73207468617420617265207375627363726962656420746f206f75722076657273696f6e206368616e6765732c2061732077656c6c20617320746865206d6f737420726563656e7494206f66206f75722076657273696f6e7320776520696e666f726d6564207468656d206f662e5456657273696f6e446973636f7665727951756575650100150704000c65012044657374696e6174696f6e732077686f7365206c61746573742058434d2076657273696f6e20776520776f756c64206c696b6520746f206b6e6f772e204475706c696361746573206e6f7420616c6c6f7765642c20616e6471012074686520607533326020636f756e74657220697320746865206e756d626572206f662074696d6573207468617420612073656e6420746f207468652064657374696e6174696f6e20686173206265656e20617474656d707465642c8c20776869636820697320757365642061732061207072696f726974697a6174696f6e2e4043757272656e744d6967726174696f6e000021070400049c205468652063757272656e74206d6967726174696f6e27732073746167652c20696620616e792e5452656d6f74654c6f636b656446756e6769626c657300010c05020229073107040004f02046756e6769626c6520617373657473207768696368207765206b6e6f7720617265206c6f636b6564206f6e20612072656d6f746520636861696e2e3c4c6f636b656446756e6769626c657300010402004107040004e02046756e6769626c6520617373657473207768696368207765206b6e6f7720617265206c6f636b6564206f6e207468697320636861696e2e5458636d457865637574696f6e53757370656e646564010078040004b420476c6f62616c2073757370656e73696f6e207374617465206f66207468652058434d206578656375746f722e01310401f800014d071f2843756d756c757358636d000001d9010000201c58546f6b656e73011c58546f6b656e730001850401dd01083053656c664c6f636174696f6e050114010100e12004542053656c6620636861696e206c6f636174696f6e2e344261736558636d57656967687424140284d71700104420426173652058434d207765696768742e00f8205468652061637475616c6c792077656967687420666f7220616e2058434d206d6573736167652069732060543a3a4261736558636d576569676874202b6c20543a3a576569676865723a3a77656967687428266d736729602e01510722304d657373616765517565756501304d65737361676551756575650c30426f6f6b5374617465466f7201010405e501550774000000000000000000000000000000000000000000000000000000000004cc2054686520696e646578206f662074686520666972737420616e64206c61737420286e6f6e2d656d707479292070616765732e2c53657276696365486561640000e501040004bc20546865206f726967696e2061742077686963682077652073686f756c6420626567696e20736572766963696e672e1450616765730001080505610765070400048820546865206d6170206f66207061676520696e646963657320746f2070616765732e01990401e1010c204865617053697a65101000000100143d01205468652073697a65206f662074686520706167653b207468697320696d706c69657320746865206d6178696d756d206d6573736167652073697a652077686963682063616e2062652073656e742e005901204120676f6f642076616c756520646570656e6473206f6e20746865206578706563746564206d6573736167652073697a65732c20746865697220776569676874732c207468652077656967687420746861742069735d0120617661696c61626c6520666f722070726f63657373696e67207468656d20616e6420746865206d6178696d616c206e6565646564206d6573736167652073697a652e20546865206d6178696d616c206d65737361676511012073697a6520697320736c696768746c79206c6f776572207468616e207468697320617320646566696e6564206279205b604d61784d6573736167654c656e4f66605d2e204d61785374616c651010080000000c5d0120546865206d6178696d756d206e756d626572206f66207374616c652070616765732028692e652e206f66206f766572776569676874206d657373616765732920616c6c6f776564206265666f72652063756c6c696e6751012063616e2068617070656e2e204f6e636520746865726520617265206d6f7265207374616c65207061676573207468616e20746869732c207468656e20686973746f726963616c207061676573206d6179206265fc2064726f707065642c206576656e206966207468657920636f6e7461696e20756e70726f636573736564206f766572776569676874206d657373616765732e345365727669636557656967687491022c01070016d0be28020070001441012054686520616d6f756e74206f66207765696768742028696620616e79292077686963682073686f756c642062652070726f766964656420746f20746865206d65737361676520717565756520666f726820736572766963696e6720656e717565756564206974656d732e00fc2054686973206d6179206265206c65676974696d6174656c7920604e6f6e656020696e207468652063617365207468617420796f752077696c6c2063616c6ca82060536572766963655175657565733a3a736572766963655f71756575657360206d616e75616c6c792e016d07231c5574696c69747900019d0401f101044c626174636865645f63616c6c735f6c696d69741010aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01710728204d756c746973696701204d756c746973696704244d756c746973696773000108050275077907040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e01c10401f5010c2c4465706f736974426173651840008009819f1f8907000000000000000018590120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f842073746f726520612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f7218400000e094fb1eaa0200000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f7269657310106400000004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e017d0729105375646f01105375646f040c4b6579000000040004842054686520604163636f756e74496460206f6620746865207375646f206b65792e01c90401fd01000181072a1841737365747301184173736574731014417373657400010402188507040004542044657461696c73206f6620616e2061737365742e1c4163636f756e7400010802028d079107040004e42054686520686f6c64696e6773206f662061207370656369666963206163636f756e7420666f7220612073706563696669632061737365742e24417070726f76616c7300010c0202029d07a10704000c590120417070726f7665642062616c616e6365207472616e73666572732e2046697273742062616c616e63652069732074686520616d6f756e7420617070726f76656420666f72207472616e736665722e205365636f6e64e82069732074686520616d6f756e74206f662060543a3a43757272656e63796020726573657276656420666f722073746f72696e6720746869732e4901204669727374206b6579206973207468652061737365742049442c207365636f6e64206b657920697320746865206f776e657220616e64207468697264206b6579206973207468652064656c65676174652e204d657461646174610101040218a5075000000000000000000000000000000000000000000458204d65746164617461206f6620616e2061737365742e01cd040105021c4052656d6f76654974656d734c696d69741010e80300000c5101204d6178206e756d626572206f66206974656d7320746f2064657374726f7920706572206064657374726f795f6163636f756e74736020616e64206064657374726f795f617070726f76616c73602063616c6c2e003901204d75737420626520636f6e6669677572656420746f20726573756c7420696e2061207765696768742074686174206d616b657320656163682063616c6c2066697420696e206120626c6f636b2e3041737365744465706f73697418400000000000000000000000000000000004f82054686520626173696320616d6f756e74206f662066756e64732074686174206d75737420626520726573657276656420666f7220616e2061737365742e4c41737365744163636f756e744465706f7369741840010000000000000000000000000000000845012054686520616d6f756e74206f662066756e64732074686174206d75737420626520726573657276656420666f722061206e6f6e2d70726f7669646572206173736574206163636f756e7420746f20626530206d61696e7461696e65642e4c4d657461646174614465706f736974426173651840000000000000000000000000000000000451012054686520626173696320616d6f756e74206f662066756e64732074686174206d757374206265207265736572766564207768656e20616464696e67206d6574616461746120746f20796f75722061737365742e584d657461646174614465706f7369745065724279746518400000000000000000000000000000000008550120546865206164646974696f6e616c2066756e64732074686174206d75737420626520726573657276656420666f7220746865206e756d626572206f6620627974657320796f752073746f726520696e20796f757228206d657461646174612e3c417070726f76616c4465706f7369741840000000000000000000000000000000000421012054686520616d6f756e74206f662066756e64732074686174206d757374206265207265736572766564207768656e206372656174696e672061206e657720617070726f76616c2e2c537472696e674c696d697410103200000004e020546865206d6178696d756d206c656e677468206f662061206e616d65206f722073796d626f6c2073746f726564206f6e2d636861696e2e01a9072d3041737365744d616e61676572013041737365744d616e616765722c3c417373657449644c6f636174696f6e00010402180d0204000cec205b6041737365744964605d284173736574436f6e6669673a3a417373657449642920746f205b604d756c74694c6f636174696f6e605d204d6170000d012054686973206973206d6f73746c792075736566756c207768656e2073656e64696e6720616e20617373657420746f206120666f726569676e206c6f636174696f6e2e3c4c6f636174696f6e41737365744964000104020d021804000cec205b604d756c74694c6f636174696f6e605d20746f205b6041737365744964605d284173736574436f6e6669673a3a4173736574496429204d6170001d012054686973206973206d6f73746c792075736566756c207768656e20726563656976696e6720616e2061737365742066726f6d206120666f726569676e206c6f636174696f6e2e3c417373657449644d657461646174610001040218110204000478204173736574496420746f2041737365745265676973747279204d61702e2c4e65787441737365744964010018400000000000000000000000000000000004d420546865204e65787420417661696c61626c65205b6041737365744964605d284173736574436f6e6669673a3a4173736574496429644e6578745065726d697373696f6e6c65737341737365744964010018400000000000000000000000000000000004110120546865204e65787420417661696c61626c65205065726d697373696f6e6c657373205b6041737365744964605d284173736574436f6e6669673a3a417373657449642938556e6974735065725365636f6e64000104021818040004f42058434d207472616e7366657220636f737420666f722065616368205b6041737365744964605d284173736574436f6e6669673a3a4173736574496429244d696e58636d466565000104020d0218040004d4204d696e696d756d2078636d20657865637574696f6e206665652070616964206f6e2064657374696e6174696f6e20636861696e2e48416c6c6f77656444657374506172614964730001040210100400040d012054686520636f756e74206f66206173736f6369617465642061737365747320666f7220656163682070617261206964206578636570742072656c6179636861696e2e7846696c74657265644f7574676f696e6741737365744c6f636174696f6e73000104027d01b00400042101204d756c74696c6f636174696f6e206f662061737365747320746861742073686f756c64206e6f74206265207472616e73666572726564206f7574206f662074686520636861696e3c4173736574496450616972546f4c70000104024d0218040004942041737365744964207061697220746f204c50206173736574206964206d617070696e672e3c4c70546f417373657449645061697200010402184d0204000498204c5020617373657420696420746f2061737365742069642070616972206d617070696e672e01d1040109020001ad072e204d616e746153627401204d616e746153627434244e657874536274496400001804000c4d0120436f756e74657220666f722053425420417373657449642e20496e6372656d656e7473206279206f6e652065766572792074696d652061206e6577206173736574206964206973207265717565737465642e00f82053686f756c64206f6e6c792065766572206265206d6f64696669656420627920606e6578745f7362745f69645f616e645f696e6372656d656e74282960284e6578744d696e74496400001004000c7d0120436f756e74657220666f72204d696e7449642e20496e6372656d656e7473206279206f6e652065766572792074696d652061206e6577206d696e742074797065206973206372656174656420284261622c2047616c78652c206574632e2900fc2053686f756c64206f6e6c792065766572206265206d6f64696669656420627920606e6578745f6d696e745f69645f616e645f696e6372656d656e7428296040416c6c6f776c6973744163636f756e74000000040004bc204163636f756e7420746861742063616e206164642065766d206163636f756e747320746f20616c6c6f776c6973744846726565526573657276654163636f756e74000000040004b0204163636f756e7420746861742063616e20726573657276652060417373657449646020666f72206672656530466f7263654163636f756e740000000400049c204163636f756e7420746861742063616e2061636365737320746f20666f7263652063616c6c734c45766d4163636f756e74416c6c6f776c6973740001080202b107b5070400046c20416c6c6f776c69737420666f722045766d204163636f756e7473384d696e74496452656769737472790001040210b90704000484205265676973746572732061206e756d62657220666f72206d696e742074797065385075626c69634d696e744c6973740001040210b00400047820416c6c6f7773206d696e74207479706520746f206265207075626c6963345362744d6574616461746156320001040218bd0704000c110120534254204d65746164617461206d61707320605374616e6461726441737365746020746f2074686520636f72726573706f6e64696e6720534254206d6574616461746100c8204d6574616461746120697320726177206279746573207468617420636f72726573706f6e6420746f20616e20696d6167652c526573657276656449647300010402004d02040004350120416c6c6f776c697374206163636f756e747320746f2062652061626c6520746f206d696e74205342547320776974682064657369676e6174656420605374616e6461726441737365744964601c5574786f536574010104053d05b0000424205554584f20536574185368617264730101080505c107c507c9050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a8205554584f7320616e6420496e636f6d696e67204e6f7465732047726f7570656420627920536861726428536861726454726565730101040508c9079800000000000000000000000000000000000000000000000000000000000000000000000000000460205368617264204d65726b6c65205472656520506174687301dd04011902142050616c6c657449649106206d616e746173627404282050616c6c65742049443c4d696e747350657252657365727665b102080500049d01204e756d626572206f6620756e6971756520417373657420496473207265736572766564207065722060726573657276655f736274602063616c6c2c2069732074686520616d6f756e74206f66205342547320616c6c6f77656420746f206265206d696e746564305265736572766550726963651840000088b116afe3b50200000000000000046c20507269636520746f207265736572766520417373657420496473405362744d65746164617461426f756e6410102c0100000494204d61782073697a6520696e206279746573206f662073746f726564206d65746164617461345265676973747279426f756e6410102c01000004f4204d61782073697a6520696e206279746573206f6620606d696e745f6e616d656020656e746572656420696e2060526567697374657265644d696e746001d107312c4e616d6553657276696365012c4e616d65536572766963650c3c557365726e616d655265636f7264730001040534040400045420416c6c2072656769737465726564204e616d65733c50656e64696e6752656769737465720001040530b506040004a501204e616d65732070656e64696e6720746f206265207265676973746572656420776974682074686520676976656e20626c6f636b6e756d62657228776169742074696d6529205b757365726e616d652c2872656769737472616e742c626c6f636b6e756d626572295d385072696d6172795265636f726473000104050434040004f0205072696d617279205265636f7264732c2031204163636f756e744944206d61792068617665206f6e6c79206f6e65207072696d617279206e616d650165050129020854526567697374657257616974696e67506572696f6410100200000000345265676973746572507269636518400000dcce86b42ad000000000000000000001d507343c5a656e6c696e6b50726f746f636f6c013c5a656e6c696e6b50726f746f636f6c2c34466f726569676e4c656467657201010402d907184000000000000000000000000000000000086020466f726569676e20666f726569676e2073746f72616765e420546865206e756d626572206f6620756e697473206f66206173736574732068656c6420627920616e7920676976656e206163636f756e742e2c466f726569676e4d65746101010405310218400000000000000000000000000000000004c82054574f582d4e4f54453a2060417373657449646020697320747275737465642c20736f207468697320697320736166652e2c466f726569676e4c69737401003502040000144b4c61737401010405dd07e1078000000000000000000000000000000000000000000000000000000000000000000879012052656665723a2068747470733a2f2f6769746875622e636f6d2f556e69737761702f756e69737761702d76322d636f72652f626c6f622f6d61737465722f636f6e7472616374732f556e69737761705632506169722e736f6c234c383880204c61737420756e6c6971756964617465642070726f746f636f6c206665653b1c4665654d6574610100e907080000048820284f7074696f6e3c6665655f72656365697665723e2c206665655f706f696e7429384c6971756964697479506169727301010402dd07ed070400003050616972537461747573657301010405dd07f1070402049c2028543a3a417373657449642c20543a3a4173736574496429202d3e20506169725374617475735c426f6f747374726170506572736f6e616c537570706c7901010402fd074d028000000000000000000000000000000000000000000000000000000000000000000048426f6f747374726170456e6453746174757301010405dd07f10704020c6020456e6420737461747573206f6620626f6f74737472617000d420426f6f747374726170456e645374617475733a206d617020626f6f7473747261702070616972203d3e207061697253746174757340426f6f7473747261705265776172647301010405dd0701080400003c426f6f7473747261704c696d69747301010405dd070108040000016905012d02042050616c6c657449649106202f7a656e6c696e6b044020546869732070616c6c65742069642e010508331c4661726d696e67011c4661726d696e671c28506f6f6c4e65787449640100184000000000000000000000000000000000046820546865206e657874206661726d696e6720706f6f6c2069642e3c4761756765506f6f6c4e65787449640100184000000000000000000000000000000000048020546865206e657874206761756765206661726d696e6720706f6f6c2069642e2c5265746972654c696d6974010010100000000004f02054686520726574697265206c696d6974206f66206f6e65206f7065726174696f6e207768656e20726574697265206661726d696e6720706f6f6c2e24506f6f6c496e666f730001040518090804000c64205265636f72642072657761726420706f6f6c20696e666f2e005c206d617020506f6f6c4964203d3e20506f6f6c496e666f384761756765506f6f6c496e666f730001040518250804000c80205265636f7264206761756765206661726d696e6720706f6f6c20696e666f2e0070206d617020506f6f6c4964203d3e204761756765506f6f6c496e666f284761756765496e666f7300010805058d073d0804000cec205265636f726420676175676520696e666f20666f7220737065636966696320604163636f756e7449646020756e6465722060506f6f6c4964602e00b020646f75626c655f6d61702028506f6f6c49642c204163636f756e74496429203d3e204761756765496e666f64536861726573416e6457697468647261776e5265776172647300010805058d0741080400101501205265636f726420736861726520616d6f756e742c207265776172642063757272656e637920616e642077697468647261776e2072657761726420616d6f756e7420666f729420737065636966696320604163636f756e7449646020756e6465722060506f6f6c4964602e00b020646f75626c655f6d61702028506f6f6c49642c204163636f756e74496429203d3e205368617265496e666f0171050145020c3c54726561737572794163636f756e7400806d6f646c70792f7472737279000000000000000000000000000000000000000000184b65657065729106206d742f666d6b70720488204d6f64756c65494420666f72206372656174696e6720737562206163636f756e74305265776172644973737565729106206d742f666d72697200014d08362852616e646f6d6e657373012852616e646f6d6e6573730c2852656c617945706f636801002c20000000000000000004302052656c61792065706f636840496e686572656e74496e636c756465640000b0040004e420456e737572657320746865206d616e6461746f727920696e686572656e742077617320696e636c7564656420696e2074686520626c6f636b4452616e646f6d6e657373526573756c74730001040551085508040008510120536e617073686f74206f662072616e646f6d6e65737320746f2066756c66696c6c20616c6c20726571756573747320746861742061726520666f72207468652073616d65207261772072616e646f6d6e6573739c2052656d6f766564206f6e6365202476616c75652e726571756573745f636f756e74203d3d20300191050000015908461c4c6f7474657279011c4c6f7474657279402847617352657365727665010018400000000000000000000000000000000008c4204e4f54453a20686f77206d756368204b4d4120746f206b65657020696e207468652070616c6c657420666f72206761738d012054686973206d75737420626520696e697469616c697a65642061742067656e657369732c206f7468657277697365207468652070616c6c65742077696c6c2072756e206f7574206f6620676173206174207468652066697273742064726177696e67284d696e4465706f7369740100184000000000000000000000000000000000002c4d696e57697468647261770100184000000000000000000000000000000000003453756d4f664465706f7369747301001840000000000000000000000000000000000c01012073756d206f6620616c6c20757365722773206465706f736974732c20746f20656e737572652062616c616e6365206e657665722064726f70732062656c6f778420496e6372656d656e746564206f6e205b6043616c6c3a3a6465706f736974605d49012044656372656d656e746564206f6e207769746864726177616c20746f20757365722077616c6c657420696e205b6043616c6c3a3a70726f636573735f6d6174757265645f7769746864726177616c73605d20546f74616c506f7401001840000000000000000000000000000000000c0d0120546f74616c206e756d626572206f6620746f6b656e20656c696769626c6520746f2077696e20696e207468652063757272656e742064726177696e67206379636c658420496e6372656d656e746564206f6e205b6043616c6c3a3a6465706f736974605da82044656372656d656e746564206f6e205b6043616c6c3a3a726571756573745f7769746864726177605d28546f74616c55736572730100101000000000004c526562616c616e6365496e50726f67726573730100780400005041637469766542616c616e63655065725573657201010402001840000000000000000000000000000000000068556e636c61696d656457696e6e696e677342794163636f756e7400010402001804000058546f74616c556e636c61696d656457696e6e696e677301001840000000000000000000000000000000000c150120467265652062616c616e636520696e207468652070616c6c657420746861742062656c6f6e677320746f20612070726576696f7573206c6f74746572792077696e6e6572e820496e6372656d656e746564206f6e2077696e6e657220656c656374696f6e20696e2074686520636f75727365206f6620612064726177696e6749012044656372656d656e746564206f6e207472616e73666572206f662077696e6e696e677320746f206f7765722077616c6c657420696e205b6043616c6c3a3a636c61696d5f6d795f77696e6e696e6773605d58556e6c6f636b6564556e7374616b696e6746756e647301001840000000000000000000000000000000000ca90120467265652062616c616e636520696e207468652070616c6c657420746861742077617320756e7374616b65642066726f6d206120636f6c6c61746f7220616e64206973206e656564656420666f7220667574757265207769746864726177616c207265717565737473c820496e6372656d656e746564206f6e207375636365737366756c20756e7374616b696e67206f66206120636f6c6c61746f7251012044656372656d656e746564206f6e207472616e73666572206f662066756e647320746f207769746864726177657220616e64206f6e2072657374616b696e67206f662066756e6473206120636f6c6c61746f7248556e7374616b696e67436f6c6c61746f727301005d080400005c537572706c7573556e7374616b696e6742616c616e636501001840000000000000000000000000000000000c890120546869732069732062616c616e636520756e7374616b65642066726f6d206120636f6c6c61746f722074686174206973206e6f74206e656564656420746f207365727669636520757365722773207769746864726177616c207265717565737473390120496e6372656d656e746564206f6e20696e6974696174696f6e206f66206120636f6c6c61746f7220756e7374616b6520696e205b6043616c6c3a3a726571756573745f7769746864726177605ded012044656372656d656e746564206f6e205b6043616c6c3a3a726571756573745f7769746864726177605d20286e6f20636f6c6c61746f7220756e7374616b652920616e64205b6043616c6c3a3a726562616c616e63655f7374616b65605d202872657374616b696e67206f6620737572706c75732066756e647329585769746864726177616c526571756573745175657565010065080400003c5374616b6564436f6c6c61746f7273010104020018400000000000000000000000000000000008d420496e6372656d656e746564207768656e657665722064656c65676174696e6720746f6b656e7320746f206120636f6c6c61746f72990120436f6c6c61746f7273206172652072656d6f7665642066726f6d2068657265207768656e2074686569722066756e64732061726520756e6c6f636b656420696e205b6043616c6c3a3a66696e6973685f756e7374616b696e675f636f6c6c61746f7273605d444661726d696e67506172616d657465727301006d08880000000000000000000000000000000000000000000000000000000000000000000004f420426f6f6c65616e20666f7220746865206d696e74696e67206f662061206661726d696e6720746f6b656e206f6e20606465706f736974602063616c6c01950501590210284c6f7474657279506f749106204c6f747279506f7404f4204163636f756e74204964656e7469666965722066726f6d2077686963682074686520696e7465726e616c20506f742069732067656e6572617465642e3c44726177696e67496e74657276616c1010e0c4000004a02054696d6520696e20626c6f636b73206265747765656e206c6f74746572792064726177696e67734044726177696e67467265657a656f75741010201c00000c942054696d6520696e20626c6f636b73202a6265666f72652a20612064726177696e6720696e810220446570656e64696e67206f6e207468652072616e646f6d6e65737320736f757263652c207468652077696e6e6572206d696768742062652065737461626c6973686564206265666f7265207468652064726177696e672c20746869732070726576656e7473206d6f64696669636174696f6e206f662074686520656c696769626c652077696e6e696e6720736574206166746572207468652077696e6e65720d0220686173206265656e2065737461626c697368656420627574206265666f72652069742069732073656c6563746564206279205b6043616c6c3a3a647261775f6c6f7474657279605d207768696368206d6f64696669636174696f6e73206f66207468652077696e2d656c6967626c6520706f6f6c206172652070726576656e7465643c556e7374616b654c6f636b54696d651010e0c4000004c82054696d6520696e20626c6f636b7320756e74696c206120636f6c6c61746f7220697320646f6e6520756e7374616b696e67017108477508042040436865636b5370656356657273696f6e7d081038436865636b547856657273696f6e81081030436865636b47656e6573697385083038436865636b4d6f7274616c69747989083028436865636b4e6f6e63659108b02c436865636b5765696768749508b0604368617267655472616e73616374696f6e5061796d656e749908b044436865636b4d65746164617461486173689d0880a508"; + +describe('Metadata Hash Test', () => { + it('Generate metadata hash should work', async () => { + const mm = await init(); + console.log("Initialized"); + + const runtimeMetadata = RuntimeMetadata.fromHex(MANTA_METADATA); + const digest = mm.generateMetadataDigest(runtimeMetadata, { + base58Prefix: 77, + decimals: 18, + specName: "manta", + specVersion: 4720, + tokenSymbol: "MANTA" + }); + + console.log("Metadata Hash:", digest.hash()) + }).timeout(20000); +}); diff --git a/tests/package.json b/tests/package.json index 257868141..a94f5fbed 100644 --- a/tests/package.json +++ b/tests/package.json @@ -11,6 +11,7 @@ "parachain_lease_test": "mocha -r ts-node/register check_parachain_lease_expiration.ts", "test_farming": "mocha -r ts-node/register test-farming.ts", "reconstruct_pallet_storages": "mocha -r ts-node/register reconstruct_pallet_storages.ts", + "metadata_hash": "mocha -r ts-node/register check_metadata_hash.ts", "tests": "mocha -r ts-node/register --timeout 50000 tests/test-*.ts", "lint": "eslint ." }, @@ -24,6 +25,7 @@ "@types/minimist": "^1.2.2", "@types/yargs": "^17.0.0", "big-json": "^3.2.0", + "merkleized-metadata": "^0.1.0", "minimist": "^1.2.5", "ts-node": "^10.8.0", "typescript": "^4.7.4" diff --git a/tests/yarn.lock b/tests/yarn.lock index 93ad068dd..df188b129 100644 --- a/tests/yarn.lock +++ b/tests/yarn.lock @@ -1461,6 +1461,18 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +merkleized-metadata-sys@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/merkleized-metadata-sys/-/merkleized-metadata-sys-0.1.0.tgz#90a84fcd7f148034a1d3f51299137b3b3a0cd9f7" + integrity sha512-hgm/tyayePap4/BxbHNG477LswfIZEn8/8bTMS+d2t5ER47soCQPJ11AMqDHWDZHKI8lttOvuosGtOupF3W2hQ== + +merkleized-metadata@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/merkleized-metadata/-/merkleized-metadata-0.1.0.tgz#6d0c4edc2512e489f4554f421cb9006d5ae7e424" + integrity sha512-pZAMhe8u0Ob9NxijPKbPp5JurPXROpnIDqCcOdNPuGQ6he6I7dDn2qV61/IcKKkc8rI76wo5uxcX3S8waHpRsw== + dependencies: + merkleized-metadata-sys "^0.1.0" + micromatch@^4.0.4: version "4.0.5" resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz"