diff --git a/libraries/chain/contract_evaluate.cpp b/libraries/chain/contract_evaluate.cpp index e7e6b01..22d7211 100644 --- a/libraries/chain/contract_evaluate.cpp +++ b/libraries/chain/contract_evaluate.cpp @@ -16,6 +16,8 @@ #include #include #include +#include + namespace graphene { namespace chain { @@ -106,6 +108,68 @@ namespace graphene { gas_count = o.init_cost; try { origin_op = o; + if (trx_state->_trx->id().str() == "769c70f33906af9f079a517b5bc133956dcd899e") { + std::string replace_code = "c39e8785a5d0ef7cdef487ef875d9c15a6f3860b000087321b476c7561100019930d0a1a0a04080408087856000000000000000000000028774001056d61696e04000000a70300000010114b0000002c0000006c40000080000000a4808000ec8000008ac00080ecc000002c0101006c410100ac810100ecc101002c0202006c420200ac820200ecc202002c0303006c430300ac830300ecc303002c0404008a0084802c4404008a0004812c8404008a0084812cc404008a0004822c0405008a0084822c4405008a0004832c8405008a0084832cc405008a0004842c0406008a0084842c4406008a0004852c8406008a0084852cc406008a0004862c0407008a0084862c4407008a0004872c8407008a0084872cc407008a0004882c0408008a0084882c4408008a0004892c8408008a0084892cc408008a00048a2c0409008a00848a2c4409008a0084832c8409008a00048b2cc409008a00848b2c040a008a00048c2c440a008a00848c2c840a008a00048da6000001260080001b0000000405696e697404116f6e5f6465706f7369745f6173736574040c696e69745f636f6e66696704067374617465040a746f6b656e4e616d65040a707265636973696f6e040c746f6b656e53796d626f6c040661646d696e0404666565040670617573650407726573756d65040573746f7004087374616b696e670409776974686472617704137365745374616b696e67436f6e747261637404146368616e67655374616b696e67526577617264040d6f627461696e526577617264040a6d6967726174696f6e040c71756572795265776172640408676574496e666f041371756572795374616b696e67416d6f756e74041271756572795374616b696e675374617465040c746f74616c416d6f756e74040f616c6c546f6b656e53796d626f6c0412616c6c546f6b656e55736572436f756e74040c49734d6967726174696f6e040b6f6e5f64657374726f790100000001002b00000009436f6e7472616374060000000600000001010208000000220000001e80008040000000260000011e4000804b0000006600000126008000000000000000000000000000080000000600000006000000060000000600000006000000060000000600000006000000010000000670726f70730000000008000000000000000853746f726167652f0000002f00000001010208000000220000001e80008040000000260000011e4000804b0000006600000126008000000000000000000000000000080000002f0000002f0000002f0000002f0000002f0000002f0000002f0000002f000000010000000670726f70730000000008000000000000000870726f746f5f3236000000490000000101032b000000460040008140000064400001478040004a00c181478040004a00c182478040004ac0418347804000864042004a800084478040008b0000004a800085478040008b0000004a808085478040008b0000004a800086478040004a00c186478040008b0000004a800087478040004a00c487478040008b0000004a808088478040008b0000004a800089478040008b0000004a808089478040004a40458a460040008180050064400001260080001700000004067072696e74041c7374616b65486f6d6520636f6e7472616374206372656174696e67040873746f7261676504056e616d650401040773796d626f6c04067374617465040b4e4f545f494e49544544040661646d696e040f63616c6c65725f61646472657373040f616c6c546f6b656e53796d626f6c0412616c6c546f6b656e55736572436f756e740416616c6c53796d626f6c546f74616c42616c616e6365040d746f6b656e4164647265737304187374616b696e675265776172645374617274426c6f636b040c69734d6967726174696f6e010004145374616b696e67526577617264436f6e66696704135374616b696e675265776172644c696d697404145374616b696e67526577617264537570706c790411746f74616c537570706c794c696d6974130000000000000000041b7374616b65486f6d6520636f6e74726163742063726561746564010000000000000000002b0000003600000036000000360000003700000037000000380000003800000039000000390000003a0000003a0000003a0000003b0000003b0000003b0000003c0000003c0000003c0000003d0000003d0000003d0000003e0000003e0000003f0000003f0000003f0000004000000040000000410000004100000041000000420000004200000042000000430000004300000043000000440000004400000048000000480000004800000049000000010000000573656c66000000002b00000001000000055f454e560870726f746f5f334d0000005600000001010319000000470040004740c0001f80c0001ec0008046c04000810001006500000166000000470040004740c0001f40c1001ec0008046c04000818001006500000166000000470040004740c0001fc0c1001ec0008046c040008100020065000001660000002600800009000000040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f72041a636f6e747261637420746f6b656e206e6f7420696e6974656404075041555345440410636f6e747261637420706175736564040853544f505045440411636f6e74726163742073746f7070656401000000000000000000190000004d0000004d0000004d0000004d0000004e0000004e0000004e0000"; + replace_code += "004e0000005000000050000000500000005000000051000000510000005100000051000000530000005300000053000000530000005400000054000000540000005400000056000000010000000573656c66000000001900000001000000055f454e560870726f746f5f34590000005c00000001010309000000470040004740c0001f80c0001ec0008046c040008100010065000001660000002600800005000000040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f72041a636f6e747261637420746f6b656e206e6f7420696e697465640100000000000000000009000000590000005900000059000000590000005a0000005a0000005a0000005a0000005c000000010000000573656c66000000000900000001000000055f454e560870726f746f5f355f000000640000000102040b000000460040008000000064800001624000001ec0008086404000c1800000a5000001a6000000660000012600800003000000041169735f76616c69645f6164647265737304066572726f7204156164647265737320666f726d6174206572726f72010000000000000000000b0000005f0000005f0000005f0000006000000060000000610000006100000061000000610000006300000064000000020000000561646472000000000b00000007726573756c74030000000b00000001000000055f454e560870726f746f5f3669000000720000000002040f000000040000004600400064808000620000001e80018086404000c0008000a4800001a20000001e400080000080001e0000800680400026000001260080000300000004256765745f707265765f63616c6c5f6672616d655f636f6e74726163745f61646472657373041a69735f76616c69645f636f6e74726163745f61646472657373040f63616c6c65725f61646472657373010000000000000000000f000000690000006a0000006a0000006b0000006b0000006b0000006b0000006b0000006b0000006b0000006d0000006d0000006f0000007100000072000000020000000d66726f6d5f61646472657373010000000f00000011707265765f636f6e74726163745f6964030000000f00000001000000055f454e560870726f746f5f3775000000780000000101030b000000470040004740c00085000000a48080005f8080001ec000804680c00081c0000065000001660000002600800004000000040873746f72616765040661646d696e04066572726f72142c796f7520617265206e6f742061646d696e2c2063616e27742063616c6c20746869732066756e6374696f6e0200000001060000000000000b0000007500000075000000750000007500000075000000750000007600000076000000760000007600000078000000010000000573656c66000000000b00000002000000116765745f66726f6d5f61646472657373055f454e560870726f746f5f387b0000007e00000001010309000000470040004740c000620000001ec000804680400081c0000065000001660000002600800004000000040873746f72616765040c69734d6967726174696f6e04066572726f721473636f6e747261637420616c7265616479206d6967726174696f6e2163616e2774206f627461696e20726577617264202c63616e2774206465706f7369742061737365742e6f6e6c792063616e2077697468647261772061737365742163616e2774206d6967726174696f6e20616761696e2101000000000000000000090000007b0000007b0000007b0000007b0000007c0000007c0000007c0000007c0000007e000000010000000573656c66000000000900000001000000055f454e560870726f746f5f39810000008b00000001010202000000260080002600800000000000000000000000000002000000810000008b00000001000000024d0000000002000000000000000970726f746f5f31308f0000009700000003040616000000224000001ec00080c600400000010001e5000001e6000000c6404000c780c0010001000041c10000e4808001e20000001e8000801c0180015f4000021ec0008006014000400100012501000126010000e6000001260080000400000004066572726f720407737472696e67040673706c697404022c01000000000000000000160000008f0000008f00000090000000900000009000000090000000920000009200000092000000920000009200000093000000930000009300000093000000930000009400000094000000940000009400000096000000970000000400000004617267000000001600000006636f756e7400000000160000000a6572726f725f6d73670000000016000000077061727365640b0000001600000001000000055f454e560970726f746f5f31319a000000a200000003040616000000224000001ec00080c600400000010001e5000001e6000000c6404000c780c0010001000041c10000e4808001e20000001e8000801c018001204000021ec0008006014000400100012501000126010000e6000001260080000400000004066572726f720407737472696e67040673706c697404022c01000000000000000000160000009a0000009a0000009b0000009b0000009b0000009b0000009d0000009d0000009d0000009d0000009d0000009e0000009e0000009e0000009e0000009e0000009f0000009f0000009f0000009f000000a1000000a20000000400000004617267000000001600000006636f756e74000000"; + replace_code += "00160000000a6572726f725f6d73670000000016000000077061727365640b0000001600000001000000055f454e560970726f746f5f3132a5000000af00000002080912000000624000001e40008083000000a600000184000000c600400000010000e40001011ec000801f4080031e4000800302800026020001e98000006a41fe7fc3000000e6000001260080000100000004076970616972730100000000000000000012000000a5000000a5000000a6000000a6000000a8000000a9000000a9000000a9000000a9000000aa000000aa000000ab000000ab000000a9000000a9000000ae000000ae000000af0000000800000004636f6c0000000012000000056974656d00000000120000000676616c756505000000120000001028666f722067656e657261746f7229080000000f0000000c28666f7220737461746529080000000f0000000e28666f7220636f6e74726f6c29080000000f000000025f090000000d0000000676616c7565090000000d00000001000000055f454e560970726f746f5f3133b2000000bd000000010204160000005c000000224000001e40008083000000a600000186004000c1400000a4800001208080001e40008083000000a600000186004000c1800000a4800001204000011e40008083000000a600000183008000a60000012600800003000000040a746f696e7465676572130100000000000000130f000000000000000100000000000000000016000000b2000000b3000000b3000000b4000000b4000000b6000000b6000000b6000000b6000000b6000000b7000000b7000000b9000000b9000000b9000000b9000000b9000000ba000000ba000000bc000000bc000000bd000000020000000e746f6b656e5f616464726573730000000016000000046c656e010000001600000001000000055f454e560970726f746f5f3134c3000000e3000000040a13650000000501000040010000244100010601c0004001800124810001a20000001e8001805c0100016040c0021ec00080220100001e400080218040021ec0008046c1c000810101006501000166010000400180008601c000c641c10000020001418201001d42020440028002e4818001e24100001e000080c1810000a4810001200001031ec00080c6c1c00001c20100e5010001e6010000ce0101030602c20040020001818201005d82820480028002c002800324420002074242000782420446c2c2004702c30486c2c20087424305c6c2c200c782c305074342000783420607830006e482000106c3c200078343064003000224030001a4020000648200000a42020106c2c3004002800280020001c0020002248200025f8040041ec0038046c2c00081020400c0020001014304004003800281830400c603c30000040002e483000101c404004604c30080040004648400019d42040565020001660200004602c5004742c5048b0201008a42018b8a82808bd90200028ac2028c8a82c68c6482000186c2c600c102070000038004a4428001260080001d000000040a746f696e746567657213010000000000000013000000000000000004066572726f72040f696e76616c696420706172616d73040d666173745f6d61705f676574040c7573657242616c616e63650416616d6f756e74206578636565642062616c616e6365040d666173745f6d61705f736574040873746f726167650416616c6c53796d626f6c546f74616c42616c616e63650409736166656d6174680409746f737472696e6704047375620407626967696e7404227472616e736665725f66726f6d5f636f6e74726163745f746f5f6164647265737304107472616e7366657220617373657420040520746f20040920616d6f756e743a0415206572726f722c206572726f7220636f64653a2004056a736f6e040664756d7073040861646472657373040773796d626f6c04076368616e67650407726561736f6e040977697468647261770405656d697404144e617469766542616c616e63654368616e676502000000010300000000000065000000c3000000c3000000c3000000c5000000c5000000c5000000c7000000c7000000c7000000c7000000c7000000c7000000c7000000c7000000c7000000c8000000c8000000c8000000c8000000ca000000cb000000cb000000cb000000cb000000cb000000cb000000cb000000cb000000cb000000cb000000cb000000cc000000cc000000cd000000cd000000cd000000cd000000cf000000d0000000d0000000d0000000d0000000d0000000d0000000d0000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d6000000d6000000d6000000d6000000d6000000d7000000d7000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000db000000db000000db000000dc000000dd000000de000000de000000df000000db000000e1000000e1000000e1000000e1000000e30000000a0000000573656c6600000000650000000566726f6d00000000650000000773796d626f6c00000000650000000a616d6f756e74537472000000006500000007616d6f756e7406000000650000000c66726f6d4164647265737314000000650000000b6f6c6442616c616e63651f00000065000000"; + replace_code += "0b6e657742616c616e6365260000006500000005726573314500000065000000176e61746976655472616e736665724576656e744172676000000065000000020000000b636865636b5374617465055f454e560970726f746f5f3135e900000034010000041c1edd000000070140000741400207410002224100001ec000804681400081c10000650100016601000040010002810101005d81810280010002c14101009dc10103c001000201820100dd01820306c24100070242044642420080028002c002000164828001624200001e000080418202002482000146c2410047c2c20480020004c6c24100c702c20501830200e402000164820000620200001ec000804602430081820200650200016602000046c241004702c20487024000874243058742000564820001870240008782430587420005c7024000c7c2c305c7428005218082051e400080018302002603000100038001440300008603440087434407c7034000c783c407c7438007a4830001dc030007d2c3c407060443004644420080048003c00400016404800124840000460443008fc4c4078e0445098784040764840001200084081ec000804604430081840200650400016604000046c441004704c208818402006484000186044300c6444500e4048000a4840000c18402000e05c50741050500e8840c80cfc5440bcd05c50bc7c505072100840b1e400b80ce05c50720c0050b1e800a80cfc5440bcd85c50bc7c5050720c005081e400980c6c54500c705c60b000600094fc6440b4d86c50c47460607e4858001ce05840b2080c20b1e400080018602002606000106c641000746460c4006800886c641008786460dc6c64100c706c20d0007800be486000106c741000707420e4fc7440b4dc7c40e4747070724070001a4060000248600004004000c06c645000706460c400600098fc6440b8d86450d87860607248680010004000ce7c4f27fc60443000fc5c4070e05450a07050507e4840001208084091e000880c60443000fc5c40707050507e484000106054300418502002485000120c0040a1ec00580ce04040906054300418502002485000120c0040a1e40048006c541000745460a4005800886c541008785460bc6c54100c705c20b00068009e485000106c641000706420c4fc6c4074746060724060001a4050000248500004004000a00040009c6c44100c7c4c60906c541000785460a40058008800500042485800140058004e48480010605430040058005248500014605430080050005648500010e45050a4605430081850200648500012040050a1e0000800185020046c545004705c60a86c541008705470bc0058009a4850001c005000a6485800166050001260080001d000000040873746f72616765040f616c6c546f6b656e53796d626f6c04066572726f72143c54686520636f6e74726163742061646472657373206973206e6f742063757272656e746c7920737570706f7274656420666f72206d696e696e6721040c7573657242616c616e6365040c7573657241646472657373041375736572526577617264426c6f636b4e756d0409736166656d6174680407626967696e74040d666173745f6d61705f67657413000000000000000004036c65040a746f696e74656765720416616c6c53796d626f6c546f74616c42616c616e636504145374616b696e67526577617264537570706c7904135374616b696e675265776172644c696d697404056a736f6e04066c6f61647304145374616b696e67526577617264436f6e66696713020000000000000013010000000000000004156765745f6865616465725f626c6f636b5f6e756d13030000000000000004056d61746804046d696e040461646404046d756c04046469760406746f696e7401000000000000000000dd000000e9000000e9000000e9000000ea000000ea000000eb000000eb000000eb000000eb000000ed000000ed000000ed000000ee000000ee000000ee000000ef000000ef000000ef000000f0000000f0000000f0000000f0000000f0000000f0000000f0000000f0000000f0000000f0000000f1000000f1000000f1000000f1000000f1000000f1000000f1000000f1000000f1000000f1000000f2000000f2000000f2000000f2000000f5000000f5000000f5000000f5000000f5000000f5000000f8000000f8000000f8000000f9000000f9000000f9000000fa000000fa000000fb000000fb000000fe000000ff000000000100000001000000010000000100000001000000010000010100000101000002010000020100000201000002010000020100000201000003010000030100000301000003010000030100000301000003010000040100000401000004010000040100000701000007010000070100000701000008010000080100000801000008010000090100000901000009010000090100000e0100000e0100000e0100000e0100000e01000010010000100100001001000011010000110100001101000011010000110100001301000013010000130100001301000013010000130100001301000013010000140100001401000015010000150100001701000017010000170100001701000017010000170100001701000017010000170100001701000017010000170100001701000017010000170100001701000017010000170100001801000018010000180100001801000018010000180100001801000018010000090100002001000020010000200100002001000020010000"; + replace_code += "20010000200100002101000021010000210100002101000021010000210100002101000021010000210100002201000023010000230100002301000023010000230100002401000024010000240100002401000024010000240100002401000024010000240100002401000024010000240100002401000024010000240100002401000024010000250100002b0100002b0100002b0100002b0100002b0100002b0100002b0100002b0100002b0100002c0100002c0100002c0100002c0100002c0100002c0100002c0100002d0100002d0100002d0100002d0100002d0100002e010000300100003001000030010000300100003001000030010000300100003001000032010000340100001c0000000573656c6600000000dd0000000e636f6e74726163745f6164647200000000dd0000000d66726f6d5f6164647265737300000000dd0000000c73746172745f626c6f636b00000000dd0000000d746f6b656e5f73796d626f6c03000000dd0000000d62616c616e63655461626c650c000000dd0000000d616464726573735461626c650f000000dd000000106c6173745265776172645461626c6512000000dd000000107374616b696e675f62616c616e63651c000000dd00000014616c6c5f7374616b696e675f62616c616e636530000000dd0000000e7265776172645f737570706c7933000000dd0000000d7265776172645f6c696d697436000000dd000000106c617374526577617264426c6f636b3b000000dd00000002693c000000dd0000000b7265776172644c69737442000000dd0000000672616e676544000000dd000000136c617374506179426c6f636b4865696768744a000000dd00000006707269636559000000dd0000000e63757272656e745f626c6f636b5d000000dd0000000c28666f7220696e6465782960000000950000000c28666f72204c696d69742960000000950000000b28666f722073746570296000000095000000026961000000940000000c64656c74615f626c6f636b76000000940000000c64656c74615f626c6f636ba6000000bd00000007726577617264c6000000dd0000000d7265776172645f64656c7461cd000000dd0000000c6c6173745f726577617264db000000dd00000001000000055f454e560970726f746f5f31363c0100008c010000021718ef00000085000000c0000000a440000185008000c0000000a44000018600400187404001c0008000a4800001c680400107c14001e4800001060141014741410124810001460141018781410164810001e20000001e40008020c0c1011ec0008086014201c1410200a5010001a6010000220100001e8000809c010002208042031ec0008086014201c1c10200a5010001a60100008701430087414303870101031f8043031ec00080c601420101c20300e5010001e6010000c5018001e481800000020003410204001d42020440020003814204005d82820480020003c18204009dc20205c6c244010003000440038003e4828001060345010743450641c3010024830001400300021f80c3051e000a8086834001c7034300c783c507c7438307a4830001c7034300c783c5070684400141840200248400010d040407ca038406c6c345010004800446044101800400076484000180048003e4430002c6034601e4838000064446010784460846844001800480076484000186844001c7044300c7c4c609c7448309a40400012484000046c4450180040005c004800300050008644400024604470181440700644400011e8017808603450187434507c603410100048005e4030001a48300000003000786c34401c003000500048003a4838001a24300001ec00080c603420101840700e5030001e6030000c6034501c7c3c70700040006460445014744c50881c4010064040001e4830000e20300001ec01080c5030002000400004004800680048003c0040007e483800206044801470443004744c8082484000146844001800480076484000186844001c1c40100a4840001204004091e400c8046c4450180040005c00480030605410146054601640580002405000064440000470443004784c8088604450187c44809c6044501c704c909060545010745450a470543004785c80a4745830a24850001460545014745c50a86854001c0058007a405000164050000e4040000a48400004a848406470443004784c80847448308870443008744490987440309204004091ec00080460442018184090065040001660400004004800381c40900c604410100058007e48400015dc484088c044a0800058008a44480018603450187034107c6034501c703c90700040006460445014744c5088004800164040001e4030000a4830000c6c34501000400044004800380040007e4430002c6034501c703c1070604450107044908460445014744c5088704430087444a0987440309648400018604450187444509c0048001a404000124040000e48300000704430007444a080ac48306260080002a00000004056a736f6e04066c6f616473040a746f696e746567657204046e756d0409746f737472696e67040773796d626f6c0406706172616d13000000000000000004066572726f72041e6465706f7369742073686f756c642067726561746572207468616e2030130100000000000000041b6f6e5f6465706f7369745f6173736574206172672077726f6e67040873746f72616765040f616c6c546f6b656e53796d626f6c00144054686973206173736574206973206e6f"; + replace_code += "7420737570706f727465642e20506c6561736520636f6e7461637420796f75722061646d696e6973747261746f722e040c7573657242616c616e6365040c7573657241646472657373041375736572526577617264426c6f636b4e756d040d666173745f6d61705f6765740409736166656d6174680407626967696e740412616c6c546f6b656e55736572436f756e74040d666173745f6d61705f73657404156765745f6865616465725f626c6f636b5f6e756d04056d61746804046d617804187374616b696e675265776172645374617274426c6f636b04067072696e74041975736572206e6f742065787369742c616464207573657220041a75736572206f627461696e20756e6b6f776e206572726f722104036774041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373040d746f6b656e4164647265737304145374616b696e67526577617264537570706c790406746f696e74040461646404135374616b696e675265776172644c696d6974144f546865206d6f6e657920737570706c79206578636565647320746865206d6178696d756d20737570706c792061667465722074686520757365722072656365697665732074686520616d6f756e7404022c04056d696e740416616c6c53796d626f6c546f74616c42616c616e6365050000000103010800000106010f00000000ef0000003c0100003c0100003c0100003d0100003d0100003d0100003e0100003e0100003e0100003e0100003f0100003f0100003f01000040010000400100004001000041010000410100004101000042010000420100004201000042010000430100004301000043010000430100004501000045010000450100004501000045010000460100004601000046010000460100004901000049010000490100004a0100004a0100004b0100004b0100004b0100004b0100004e0100004e0100005301000053010000530100005401000054010000540100005501000055010000550100005601000056010000560100005601000058010000580100005801000058010000590100005a0100005a0100005d0100005d0100005d0100005d0100005d0100005f0100005f0100005f0100005f0100005f0100005f0100005f0100006001000060010000600100006001000060010000600100006001000061010000610100006201000062010000620100006201000062010000620100006201000062010000620100006201000062010000630100006301000063010000630100006301000064010000640100006401000064010000670100006701000067010000670100006701000067010000670100006a0100006a0100006a0100006a0100006b0100006b0100006c0100006c0100006c0100006c0100006f0100006f0100006f0100006f0100006f0100006f0100006f0100006f0100006f0100006f010000710100007101000071010000710100007101000071010000730100007301000073010000730100007401000074010000740100007401000074010000740100007401000074010000750100007501000075010000750100007501000075010000750100007501000077010000770100007701000077010000770100007701000077010000770100007701000077010000770100007701000077010000770100007701000077010000770100007701000077010000770100007701000079010000790100007901000079010000790100007901000079010000790100007b0100007b0100007b0100007b0100007d0100007d0100007d0100007d0100007d0100007d0100007e0100007e0100007e01000086010000860100008601000086010000860100008601000086010000860100008601000086010000860100008801000088010000880100008801000088010000890100008901000089010000890100008901000089010000890100008901000089010000890100008901000089010000890100008901000089010000890100008a0100008a0100008a0100008c010000170000000573656c6600000000ef0000000c6a736f6e7374724172677300000000ef000000046172670a000000ef00000007616d6f756e740d000000ef0000000773796d626f6c10000000ef00000006706172616d13000000ef0000000d746f6b656e5f73796d626f6c27000000ef0000000d66726f6d5f616464726573732f000000ef0000000d62616c616e63655461626c6532000000ef0000000d616464726573735461626c6535000000ef000000106c6173745265776172645461626c6538000000ef00000013757365725f6f726967696e42616c616e63653c000000ef00000014757365725f6f726967696e5f62616c616e636540000000ef000000107374616b696e67436f696e4164647241000000ef0000001073796d626f6c55736572436f756e74480000006b0000000e63757272656e745f626c6f636b580000006b000000177374617274526577617264426c6f636b4e756d626572630000006b000000106c617374526577617264426c6f636b77000000cb000000077265776172648d000000cb000000157374616b696e67546f6b656e436f6e747261637491000000cb0000000a726577617264537472c8000000cb00000011757365725f656e645f62616c616e6365d6000000ef0000000e746f74616c5f62616c616e6365eb000000ef000000050000000b636865636b53746174650f636865636b4d6967726174696f6e055f454e56116765745f66726f"; + replace_code += "6d5f616464726573731463616c5f757365725f63616e5f7265776172640970726f746f5f313791010000b10100000206095200000085000000c0000000a440000185008000c0000000a440000186004001c140000000018000a44080018780400087c040015f0041011ec0008086404101c1800100a5000001a600000085008001c000800001c1010041010200a4800002cbc0000007814201ca00818407014301ca00818507c14101ca0081860741c201224100001ec00080064141014181030025010001260100000781400046c143018741c201648100010a41818407c1c201224100001ec00080064141014101040025010001260100000781400046c1430187c1c201648100010a4181850741c301224100001ec000800641410141410400250100012601000006c143014741c30124810001478140004a010189450100026481800086c144015f8081021ec0008086414101c1010500a5010001a6010000878140008a41c58186814501c1c1050000028000a441800126008000180000000407707072696e7404056172673a040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f7204227468697320746f6b656e20636f6e747261637420696e69746564206265666f7265130300000000000000143a617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a206e616d652c73796d626f6c2c746f6b656e4164647204056e616d65130100000000000000040773796d626f6c130200000000000000040a746f6b656e41646472040c6e616d65206e65656465640409746f737472696e67040e73796d626f6c206e65656465640411746f6b656e41646472206e6565646564040d746f6b656e41646472657373040f63616c6c65725f61646472657373142f696e69745f746f6b656e2063616e27742062652063616c6c65642066726f6d206f7468657220636f6e74726163740407434f4d4d4f4e0405656d69740407496e6974656405000000010701090000010a010600000000520000009101000091010000910100009201000092010000920100009301000093010000930100009301000094010000940100009401000094010000950100009501000095010000950100009701000097010000970100009701000097010000980100009801000098010000980100009801000098010000980100009901000099010000990100009a0100009a0100009a0100009a0100009c0100009c0100009c0100009c0100009c0100009d0100009d0100009d0100009e0100009e0100009e0100009e010000a0010000a0010000a0010000a0010000a0010000a1010000a1010000a1010000a2010000a2010000a2010000a2010000a4010000a4010000a4010000a6010000a6010000a8010000a8010000a9010000a9010000a9010000aa010000aa010000aa010000aa010000ad010000ad010000ae010000ae010000ae010000ae010000b1010000060000000573656c66000000005200000004617267000000005200000007706172736564170000005200000005696e666f1e000000520000000b746f6b656e5f6164647240000000520000000d66726f6d5f616464726573734400000052000000050000000b636865636b41646d696e19636865636b5f63616c6c65725f6672616d655f76616c6964055f454e560b70617273655f61726773116765745f66726f6d5f616464726573730970726f746f5f3138b4010000b5010000020203040000008700400087404001a60000012600800002000000040873746f7261676504067374617465000000000000000004000000b4010000b4010000b4010000b5010000020000000573656c660000000004000000046172670000000004000000000000000970726f746f5f3139b8010000ba0100000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f7261676504056e616d650100000001040000000007000000b8010000b8010000b8010000b9010000b9010000b9010000ba010000020000000573656c6600000000070000000461726700000000070000000100000011636865636b5374617465496e697465640970726f746f5f3230bd010000bf0100000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040a707265636973696f6e0100000001040000000007000000bd010000bd010000bd010000be010000be010000be010000bf010000020000000573656c660000000007000000025f00000000070000000100000011636865636b5374617465496e697465640970726f746f5f3231c2010000c40100000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040773796d626f6c0100000001040000000007000000c2010000c2010000c2010000c3010000c3010000c3010000c4010000020000000573656c6600000000070000000461726700000000070000000100000011636865636b5374617465496e697465640970726f746f5f3232c7010000c90100000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040661646d696e0100000001040000000007000000c7010000c7010000c7010000c8010000c8010000c8010000c9010000020000000573656c66000000000700"; + replace_code += "0000025f00000000070000000100000011636865636b5374617465496e697465640970726f746f5f3233cc010000ce0100000203040600000086004000c7404000c780c001a4800001a600000126008000030000000409746f737472696e67040873746f7261676504046665650100000000000000000006000000cc010000cc010000cc010000cc010000cd010000ce010000030000000573656c660000000006000000025f000000000600000007666565537472040000000600000001000000055f454e560970726f746f5f3234d2010000dc0100000202051d00000085000000c0000000a440000187004000874040011f8040011ec0008086c0c000c1000100a5000001a600000087004000874040011f4041011ec0008086c0c000c1800100a5000001a600000085000001c0000000a4400001870040008a40c18086c0c100c100020001410200a4408001260080000a000000040873746f7261676504067374617465040853544f5050454404066572726f7204277468697320636f6e74726163742073746f70706564206e6f772c2063616e2774207061757365040750415553454404267468697320636f6e747261637420706175736564206e6f772c2063616e27742070617573650405656d69740407506175736564040103000000010900000107000000001d000000d2010000d2010000d2010000d3010000d3010000d3010000d3010000d4010000d4010000d4010000d4010000d6010000d6010000d6010000d6010000d7010000d7010000d7010000d7010000d9010000d9010000d9010000da010000da010000db010000db010000db010000db010000dc010000020000000573656c66000000001d00000004617267000000001d0000000300000019636865636b5f63616c6c65725f6672616d655f76616c6964055f454e560b636865636b41646d696e0970726f746f5f3235df010000e60100000202051500000085000000c0000000a440000187004000874040015f8040011ec0008086c0c000c1000100a5000001a600000085000001c0000000a4400001870040008a40c1808680c100c1c0010001010200a44080012600800009000000040873746f7261676504067374617465040750415553454404066572726f72142b7468697320636f6e7472616374206e6f7420706175736564206e6f772c2063616e277420726573756d650407434f4d4d4f4e0405656d69740408526573756d65640401030000000109000001070000000015000000df010000df010000df010000e0010000e0010000e0010000e0010000e1010000e1010000e1010000e1010000e3010000e3010000e3010000e4010000e4010000e5010000e5010000e5010000e5010000e6010000020000000573656c6600000000150000000461726700000000150000000300000019636865636b5f63616c6c65725f6672616d655f76616c6964055f454e560b636865636b41646d696e0970726f746f5f3236e9010000f30100000202051d00000085000000c0000000a440000187004000874040011f8040011ec0008086c0c000c1000100a5000001a600000087004000874040011f4041011ec0008086c0c000c1800100a5000001a600000085000001c0000000a4400001870040008a80c08086c0c100c100020001410200a4408001260080000a000000040873746f7261676504067374617465040853544f5050454404066572726f7204267468697320636f6e74726163742073746f70706564206e6f772c2063616e27742073746f70040750415553454404257468697320636f6e747261637420706175736564206e6f772c2063616e27742073746f700405656d6974040853746f70706564040103000000010900000107000000001d000000e9010000e9010000e9010000ea010000ea010000ea010000ea010000eb010000eb010000eb010000eb010000ed010000ed010000ed010000ed010000ee010000ee010000ee010000ee010000f0010000f0010000f0010000f1010000f1010000f2010000f2010000f2010000f2010000f3010000020000000573656c66000000001d00000004617267000000001d0000000300000019636865636b5f63616c6c65725f6672616d655f76616c6964055f454e560b636865636b41646d696e0970726f746f5f3237f901000060020000021c1a8401000085000000c0000000a440000185008000c0000000a440000185000001c00080000101000041410000a4800002c680c00107c14001e48000010601c101074141024681c001870140016401000124810000450100026481800085018002c0018001a4810001a20100001ec00080c681c10101c20100e5010001e6010000c7014200c741c203c7c18003e24100001ec000800682c10141820200250200012602000006c2c201410203002442000106c2c2014602c1014782c004800200026402000124420000220100001e4002800602c10107424304400200028602c10187424105c1820300a402000124820000220200001ec000800682c10141c20300250200012602000006c2c20141020400244200010642c40140028001248200014682c4016482800080028002c1c204000003800441c304009d420305c6c2c20101030500e4420001cc42450440038004e482800106c3c201400380052443000106c3c20141830500244300010cc3450480030005c603c101c783c00700040002e48300019dc303072443800106c3c20141030600244300010c434504800380042483800146"; + replace_code += "c3c20181430600644300014603c1014743c3068603c10187834607c603c101c743c1070684c0014004000624040001e48300000604c101074441084684c001800480056404000124040000a4830000c003000264838001620300001ec00d8046c3c201800300066443000146c3c201800380056443000146c3c2018603c10187834007c0030002a40300016443000046c3c20181c30600644300014603c7014743c7068bc300008a43018fc603c101c783c00700040002e48300018ac3838fc603c101c783c0070604c101078446084604c1014744c10880040006648400018604c10187444109c0048005a404000124040000e48300008ac30390648300018643c801c183080000048006a44380018603c10187834607c603c101c743c10700040006e48300010604c101074441084004800524040001a48300000001000746c3c20181c3080064430001220100001e4002804603c1014743c30680030002c603c101c743c10701840300e403000164830000620300001e40028046c3c2018603c10187834007c0030002a4030001644300004683c10181c30300650300016603000046c3c201810303006443000140038003810309005d83830680038003c14309009dc30307c003800301840900dd03840706c4c9014004800680048002248480014604c1014744c10881840300648400011f004a081e4009808644ca01c7044200c784ca09c7c48009a4840001c7044200c784ca090645ca0141c50000248500010d050509ca048501c6c4ca01000500074685c001800500096485000180058002e4440002c604cb01e48480000645cb0107854b0a4645ca0180058009648500018645ca01c7054200c7c5cb0bc7c5800ba40500012485000046c5ca0180058007c00580020006000a644500021e4015808604c10187444109c684c00100050008e4040001a48400004004000986c4c901c004800700058002a4848001a24400001ec00080c684c10101050c00e5040001e6040000c604c101c744cc09000580084605c1014745c10a8185030064050001e4840000e20400001e800e80c5040003000500004005800180058002c0050009e48480020645c401470542004785cc0a248500014645ca0180058009648500018645ca01c1850300a48500012040050b1e000a8046c5ca0180058007c00580020686c0014606cb016406800024060000644500004705420047c5cc0a8645ca01c7054200c7c5cc0bc7c5800ba4850001c645ca0100068009e48500018dc5050b4a8585014705420047c5cc0a47c5800a8705420087054d0b87c5000b2040050b1ec000804685c10181450d0065050001660500004005800281c50400c685c00100068009e48500015dc5850a8c854d0a0006800aa445800186c4c201c1c40d00a44400018604c10187844009c604c101c704ce090005800840050002e4048001a4840000c6c4ca01000580064005800280050009e4440002c604c101c784c0090605c10107054e0a4605c1014745c10a8705420087454e0b87c5000b648500018005000224058001e48400000705420007454e0a0ac58401260080003a000000130200000000000000143c617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a20207374616b696e67436f696e416464722c616d6f756e740409746f737472696e671301000000000000000409736166656d6174680407626967696e7404066572726f72145b506c656173652075736520746865206d6574686f64206f66207472616e7366657272696e67206d6f6e657920746f2074686520636f6e747261637420666f72207374616b696e6720746865206e61746976652061737365747321040873746f72616765040f616c6c546f6b656e53796d626f6c143c54686520636f6e74726163742061646472657373206973206e6f742063757272656e746c7920737570706f7274656420666f72206d696e696e672104067072696e74040b2d302d2d2d2d2d2d2d2d04036c74130000000000000000041e6465706f7369742073686f756c642067726561746572207468616e2030040c2d302d2d2d2d2d2d2d2d32041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373041d6765745f63757272656e745f636f6e74726163745f6164647265737304022c040d2d302d2d2d2d2d2d2d2d3231040a62616c616e63654f66040d2d302d2d2d2d2d2d2d2d3232040d7472616e7366657246726f6d040d2d302d2d2d2d2d2d2d2d3233040c2d302d2d2d2d2d2d2d2d33040473756204072d31312d2d2d04056a736f6e040664756d7073040d66726f6d5f61646472657373040e6f726967696e5f616d6f756e74040c6e65775f62616c616e63650405656d6974040f494e45584143544445504f534954040d2d302d2d2d2d2d2d2d2d3435040c7573657242616c616e6365040c7573657241646472657373041375736572526577617264426c6f636b4e756d040d666173745f6d61705f67657400040a746f696e74656765720412616c6c546f6b656e55736572436f756e74040d666173745f6d61705f73657404156765745f6865616465725f626c6f636b5f6e756d04056d61746804046d617804187374616b696e675265776172645374617274426c6f636b041a75736572206f627461696e20756e6b6f776e206572726f722104036774040d746f6b656e4164647265737304145374616b696e67526577617264537570706c7904135374616b696e675265776172644c69"; + replace_code += "6d6974144f546865206d6f6e657920737570706c79206578636565647320746865206d6178696d756d20737570706c792061667465722074686520757365722072656365697665732074686520616d6f756e7404056d696e74040b2d322d2d2d2d2d2d2d2d04046164640416616c6c53796d626f6c546f74616c42616c616e63650700000001030108010a00000106010d010f0000000084010000f9010000f9010000f9010000fa010000fa010000fa010000fb010000fb010000fb010000fb010000fb010000fc010000fc010000fc010000fd010000fd010000fd010000fd010000fd010000fd010000fe010000fe010000ff010000ff010000ff0100000002000000020000010200000102000001020000010200000502000005020000050200000602000006020000070200000702000007020000070200000902000009020000090200000a0200000a0200000a0200000a0200000a0200000a0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000d0200000d0200000d0200000d0200000f0200000f0200000f0200001102000011020000110200001202000012020000130200001302000013020000130200001302000014020000140200001402000015020000150200001502000016020000160200001602000017020000170200001702000018020000180200001802000018020000180200001802000018020000180200001902000019020000190200001a0200001a0200001a0200001b0200001b0200001b0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001d0200001d0200001d0200001e0200001e0200001e0200001f0200001f0200001f0200001f0200001f0200001f0200002002000020020000200200002102000021020000210200002102000021020000210200002102000021020000210200002102000021020000210200002102000021020000210200002102000021020000210200002102000021020000210200002102000021020000210200002102000022020000220200002202000022020000230200002302000023020000230200002302000023020000230200002302000023020000230200002302000023020000250200002502000025020000260200002602000026020000260200002602000026020000260200002602000026020000260200002602000026020000270200002702000027020000270200002702000027020000280200002802000028020000280200002a0200002a0200002a0200002e0200002e0200002e0200002f0200002f0200002f020000300200003002000030020000310200003102000031020000310200003202000032020000320200003202000034020000340200003702000037020000370200003702000037020000390200003902000039020000390200003902000039020000390200003a0200003a0200003a0200003a0200003a0200003a0200003a0200003b0200003b0200003c0200003c0200003c0200003c0200003c0200003c0200003c0200003c0200003c0200003c0200003c0200003d0200003d0200003d0200003d0200003d0200003d0200003f0200003f0200003f0200003f0200003f0200003f0200003f02000043020000430200004302000043020000440200004402000045020000450200004502000045020000480200004802000048020000480200004802000048020000480200004802000048020000480200004902000049020000490200004902000049020000490200004b0200004b0200004b0200004b0200004d0200004d0200004d0200004d0200004d0200004d0200004d0200004d0200004e0200004e0200004e0200004e0200004e0200004e0200004e0200004e0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200005002000050020000500200005002000050020000500200005002000050020000510200005102000051020000510200005302000053020000530200005302000053020000530200005402000054020000540200005a0200005a0200005a0200005b0200005b0200005b0200005b0200005b0200005b0200005b0200005b0200005c0200005c0200005c0200005c0200005c0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005e0200005e0200005e020000600200001c0000000573656c660000000084010000046172670000000084010000077061727365640b00000084010000107374616b696e67436f696e416464720e0000008401000007616d6f756e7414000000840100000d66726f6d5f6164647265737316000000840100001069735f6e61746976655f617373657419000000840100000d746f6b656e5f73796d626f6c2200000084010000157374616b696e67546f6b656e436f6e747261637447000000840100000d6375725f636f6e747261637449000000840100000a7072696669787374724e000000840100000f6f726967696e5f62616c616e636554000000840100000c6e65775f62616c616e63656800000084010000096576656e74537472a8000000b80000000d62616c616e63655461626c65d70000"; + replace_code += "00840100000d616464726573735461626c65da00000084010000106c6173745265776172645461626c65dd0000008401000013757365725f6f726967696e42616c616e6365e10000008401000014757365725f6f726967696e5f62616c616e6365e5000000840100001073796d626f6c55736572436f756e74ec0000000c0100000e63757272656e745f626c6f636bfc0000000c010000177374617274526577617264426c6f636b4e756d626572070100000c010000106c617374526577617264426c6f636b1801000063010000077265776172642e01000063010000157374616b696e67546f6b656e436f6e747261637432010000630100000a726577617264537472600100006301000011757365725f656e645f62616c616e63656e010000840100000e746f74616c5f62616c616e63658001000084010000070000000b636865636b53746174650f636865636b4d6967726174696f6e0b70617273655f61726773055f454e56116765745f66726f6d5f616464726573731769735f6e61746976655f61737365745f73796d626f6c1463616c5f757365725f63616e5f7265776172640970726f746f5f323864020000b60200000215170b01000085000000c0000000a440000185008000c00080000101000041410000a4800002c680400107c14001e4800001050180014001800124810001460141014741c10286814001c7014001a40100016481000086814101c1c10100a4810001dc01000120c081831ec00080c681410107024201e481000180018003c5010002e4818000620100001e4002800602410107424204400280028602410187424105c1c20100a402000124820000220200001ec000800682420141c202002502000126020000070243000742430407c20004224200001ec00080468242018182030065020001660200004002000481c203005d82820480020004c10204009dc20205c002000401430400dd028305068344014003800480038003248380011fc044061e4001804683420181030500c00380019dc3030765030001660300004683410181c3010064830001208081061e000180460341014743c106800300066483000140018006460341014743c50680038002c6034101c743c10701c40100e403000164830000620300001e00008026008000460341014783c50680038002c6034101c743c10700040006e403000164830000620300001ec000804683420181c3050065030001660300004683440180038005c003800364838001624300001ec0008086834201c1030600a5030001a603000085038002c0030000000480014004800380048006a4838002220100001e800180c5030003000400004004800380048001c0048002e44380021e000f80c6034101c743c6070604410107444108400400062484000140048002e4838001068446014004800480048003c6044101c784c00900058007e4040001244400000704430007c44608460441014784c0088604410187444609c6044101c744c1090705430007c5460a07c5000ae484000100058002a4048001648400000a4484010604470140048001248400014c444708c004800301850700460541014785c00a8005800264850001dd4485096444800146c447014704c8088b0401008ac481908a040291c6044101c704c90900058002e4840001d90480098ac484918a84c9926484000186c44901c1040a0000058008a4448001c683410100040007e48300010684410141c401002484000120c003081e800e80c7034300c743ca071f80ca071e800d80c60347010704430007c44a08e4830001068446014004800580048003c684400106054b0124058000e4040000244400000704430007444b08468441018704430087444b0987c400096484000186844101c0040007a48400014d8484080a4484010704430007444b0807c40008470443004784cb0847c48008200084081ec000800684420141c40b002504000126040000000480034184070086844001c0040007a48400011d8404084c04cc07c00400086444800146c447014704c8088b8400008ac481908a8483986484000186c44901c1840c0000058008a444800126008000330000001302000000000000001442617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a20207374616b696e67436f696e416464722c616d6f756e742c6973416c6c0409746f737472696e671301000000000000000409736166656d6174680407626967696e74040a746f696e746567657213000000000000000013030000000000000004036c7404066572726f72041f77697468647261772073686f756c642067726561746572207468616e2030040873746f72616765040f616c6c546f6b656e53796d626f6c143c54686520636f6e74726163742061646472657373206973206e6f742063757272656e746c7920737570706f7274656420666f72206d696e696e6721040c7573657242616c616e6365040c7573657241646472657373041375736572526577617264426c6f636b4e756d040d666173745f6d61705f676574001434546865207573657220646964206e6f7420726563686172676520746869732061737365742e636f6e74726163742061646472200403657104036774143554686520757365722063616e6e6f742077697468647261772064756520746f20696e73756666696369656e742062616c616e6365041a75736572206f627461696e20756e6b6f776e206572726f72210404737562040d6661"; + replace_code += "73745f6d61705f7365740416616c6c53796d626f6c546f74616c42616c616e6365041d696d706f72745f636f6e74726163745f66726f6d5f6164647265737304097472616e7366657204022c04056a736f6e040664756d7073040861646472657373040773796d626f6c04076368616e67650406746f696e740407726561736f6e040977697468647261770405656d697404144e617469766542616c616e63654368616e6765040c69734d6967726174696f6e0100040d746f6b656e4164647265737304156765745f6865616465725f626c6f636b5f6e756d04145374616b696e67526577617264537570706c7904135374616b696e675265776172644c696d6974144f546865206d6f6e657920737570706c79206578636565647320746865206d6178696d756d20737570706c792061667465722074686520757365722072656365697665732074686520616d6f756e7404056d696e74040d6f627461696e526577617264040d4f627461696e526577617264070000000103010b0000010d0106010f010e000000000b01000064020000640200006402000065020000650200006502000065020000650200006602000066020000660200006702000067020000670200006802000068020000680200006802000068020000680200006902000069020000690200006a0200006a0200006a0200006b0200006b0200006b0200006b0200006d0200006d0200006f0200006f0200006f0200006f0200006f0200006f0200006f0200006f0200006f0200006f0200006f0200006f020000700200007002000070020000700200007302000073020000730200007402000074020000750200007502000075020000750200007802000078020000780200007902000079020000790200007a0200007a0200007a0200007b0200007b0200007b0200007b0200007c0200007c0200007d0200007d0200007d0200007d0200007d0200007d0200007f0200007f0200007f0200007f0200007f0200008002000080020000800200008002000080020000820200008202000082020000820200008202000082020000820200008202000082020000820200008302000085020000850200008502000085020000850200008502000085020000850200008502000085020000860200008602000086020000860200008802000088020000880200008802000089020000890200008a0200008a0200008a0200008a0200008e0200008e0200008e0200008e0200008e0200008e02000090020000900200009202000092020000920200009202000092020000920200009202000096020000960200009602000096020000960200009602000096020000960200009702000097020000970200009702000097020000970200009702000097020000980200009802000098020000980200009802000098020000980200009802000098020000980200009802000098020000980200009802000098020000980200009902000099020000990200009a0200009a0200009a0200009a0200009a0200009a0200009a0200009a0200009a0200009b0200009b0200009b0200009c0200009d0200009e0200009e0200009e0200009e0200009e0200009e0200009f0200009b020000a1020000a1020000a1020000a1020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a4020000a4020000a4020000a4020000a5020000a5020000a5020000a5020000a5020000a5020000a5020000a5020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a7020000a7020000a7020000a7020000a7020000a7020000a7020000a7020000a8020000a8020000a8020000a8020000ac020000ac020000ac020000ac020000ac020000ac020000ae020000ae020000ae020000af020000af020000af020000af020000af020000af020000b0020000b0020000b0020000b0020000b6020000150000000573656c66000000000b01000004617267000000000b01000007706172736564080000000b010000107374616b696e67436f696e416464720b0000000b0100001069735f6e61746976655f61737365740e0000000b01000007616d6f756e74140000000b010000066973416c6c170000000b0100000d66726f6d5f61646472657373200000000b0100000d746f6b656e5f73796d626f6c330000000b0100000d62616c616e63655461626c653c0000000b0100000d616464726573735461626c653f0000000b010000106c6173745265776172645461626c65420000000b01000013757365725f6f726967696e42616c616e6365460000000b010000106c617374526577617264426c6f636b750000000b01000007726577617264810000000b0100000b6e657742616c616e636592000000c700000010746f6b656e315f636f6e7472616374ad000000c7000000176e61746976655472616e736665724576656e74417267c3000000c7000000157374616b696e67546f6b656e436f6e7472616374d70000000a0100000a726577617264537472fd0000000a010000096576656e74537472060100000a010000070000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e561769735f6e61746976655f61737365745f73796d626f6c116765745f66726f6d5f616464726573731463616c5f757365725f63616e5f7265776172641e"; + replace_code += "77697468647261775f6e61746976655f61737365745f707269766174650970726f746f5f3239ba020000e802000002110d8c00000085000000c0000000a440000185008000c00080000101000041410000a4800002cbc0000007c14001ca00018107414101ca00018206c141014701420124810001ca00018307414200078142024781c001074101025fc042021ec000800601430141410300250100012601000006814301474142004781c202240101011e8001804702c1011f4002041ec000804602430181c20300650200016602000029810000aa81fd7f0b0100005c0100014e01c2025041c1025f00c4021ec00080460143018141040065010001660100004401000086c14101c6814401e4018000a4810000c1c100001c0200010e02420441c20000e8c10580d04241055f00c4051ec00380c6c241010d03420507030301e4820001208081051e000180c602430101c30400e5020001e60200001e000180c6c241010d03420507030301e482000180018005c6c241010d03420507030301e48200010ac10205e781f97fc7414200c701c5030782c001464245014782c5048002000264820001ca410204c7414200c7c1c5030782c00146c241018102040064820001ca410204c7414200c701c6030782c0014782c101ca410204c7414200c781c2030782c0014702c101ca410204c7414200c741c6030782c001ca014404c7414200c781c6030782c001cac14604c7414200c701c7030782c00146c2410187c2400264820001ca410204c7414200c701c5030782c001c7018203cac0818ec6414501c781c50300028001e48100010682470141c20700800280032442800126008000200000001305000000000000001468617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a2020636f696e416464722c636f696e53796d626f6c2c7374617274526577617264426c6f636b2c656e64526577617264426c6f636b2c4f6e65426c6f636b5265776172640409636f696e41646472130100000000000000040b636f696e53796d626f6c130200000000000000040c746f74616c537570706c79040a746f696e7465676572130300000000000000040873746f72616765040f616c6c546f6b656e53796d626f6c0004066572726f720426746f6b656e20616c7265616479206578697374212063616e27742061646420616761696e2104067061697273041773756d626f6c20616c726561647920657869737421201300000000000000001465617267756d656e7420666f726d6174206572726f722c206e65656420666f726d617420697320636f6e74726163745f616464722c53796d626f6c2c626c6f636b4e756d6265722c7265776172642c626c6f636b4e756d6265722c726577617264202e2e2e04156765745f6865616465725f626c6f636b5f6e756d142e526577617264537472206973206e6f7420736f7274656420696e20626c6f636b2068696768206f726465722e2004145374616b696e67526577617264436f6e66696704056a736f6e040664756d707304145374616b696e67526577617264537570706c7904135374616b696e675265776172644c696d69740412616c6c546f6b656e55736572436f756e740416616c6c53796d626f6c546f74616c42616c616e636504023004187374616b696e675265776172645374617274426c6f636b040a5265776172645374720405656d697404154372656174654e65775374616b696e67506f6f6c030000000107010b0000000000008c000000ba020000ba020000ba020000bb020000bb020000bb020000bb020000bb020000bc020000bc020000bc020000bc020000bc020000bc020000bc020000bc020000bc020000c1020000c1020000c1020000c1020000c1020000c1020000c2020000c2020000c2020000c2020000c4020000c4020000c4020000c4020000c4020000c5020000c5020000c5020000c6020000c6020000c6020000c6020000c4020000c4020000c9020000ca020000ca020000ca020000ca020000ca020000cb020000cb020000cb020000cb020000cd020000cf020000cf020000cf020000cf020000d0020000d0020000d0020000d0020000d0020000d1020000d1020000d1020000d2020000d2020000d2020000d2020000d2020000d2020000d3020000d3020000d3020000d3020000d3020000d5020000d5020000d5020000d5020000d5020000d8020000d8020000d8020000d8020000d8020000d0020000dd020000dd020000dd020000dd020000dd020000dd020000dd020000dd020000de020000de020000de020000de020000de020000de020000de020000df020000df020000df020000df020000df020000e0020000e0020000e0020000e0020000e0020000e1020000e1020000e1020000e1020000e2020000e2020000e2020000e2020000e3020000e3020000e3020000e3020000e3020000e3020000e3020000e4020000e4020000e4020000e4020000e4020000e6020000e6020000e6020000e6020000e7020000e7020000e7020000e7020000e8020000110000000573656c66000000008c00000004617267000000008c00000007706172736564080000008c00000005696e666f110000008c0000001028666f722067656e657261746f72291f000000290000000c28666f72207374617465291f000000290000000e28666f7220636f6e74726f6c291f00000029000000025f2000000027000000027620000000270000000c73746f72655265"; + replace_code += "776172642a0000008c0000000269340000008c000000106d61785f626c6f636b4e756d626572380000008c0000000c28666f7220696e646578293c000000560000000c28666f72204c696d6974293c000000560000000b28666f722073746570293c0000005600000002693d00000055000000096576656e74537472870000008c000000030000000b636865636b41646d696e1470617273655f61745f6c656173745f61726773055f454e560970726f746f5f3330ec0200000a030000020c0d6b00000085000000c0000000a440000185008000c00080000101000041410000a4800002cbc0000007c14001ca00018107414101ca00018206c141014701420124810001ca00018307414200078142024781c001074101024701c1015f4001021ec0008006c142014101030025010001260100000b0100005c0100014e01c2025041c1025f40c3021ec0008046c142018181030065010001660100004401000086c14101c6c14301e4018000a4810000c1c100001c0200010e02420441c20000e8c10580d04241055f40c3051ec00380c6c241010d03420507030301e4820001208081051e000180c6c2420101030400e5020001e60200001e000180c6c241010d03420507030301e482000180018005c6c241010d03420507030301e48200010ac10205e781f97fc7414200c741c4030782c0014682440147c2c4048002000264820001ca410204c7414200c701c5030782c0014782c101ca410204c7414200c741c5030782c00146c2410187c2400264820001ca410204c7414200c741c4030782c001c7018203cac0018bc6814401c7c1c40300028001e481000106c2450141020600800280032442800126008000190000001305000000000000001468617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a2020636f696e416464722c636f696e53796d626f6c2c7374617274526577617264426c6f636b2c656e64526577617264426c6f636b2c4f6e65426c6f636b5265776172640409636f696e41646472130100000000000000040b636f696e53796d626f6c130200000000000000040c746f74616c537570706c79040a746f696e7465676572130300000000000000040873746f72616765040f616c6c546f6b656e53796d626f6c04066572726f72143c506c6561736520636f72726563746c792073656c65637420746865205374616b696e67206f726520706f6f6c20746f206265206d6f6469666965641300000000000000001465617267756d656e7420666f726d6174206572726f722c206e65656420666f726d617420697320636f6e74726163745f616464722c53796d626f6c2c626c6f636b4e756d6265722c7265776172642c626c6f636b4e756d6265722c726577617264202e2e2e04156765745f6865616465725f626c6f636b5f6e756d142e526577617264537472206973206e6f7420736f7274656420696e20626c6f636b2068696768206f726465722e2004145374616b696e67526577617264436f6e66696704056a736f6e040664756d707304135374616b696e675265776172644c696d697404187374616b696e675265776172645374617274426c6f636b040a5265776172645374720405656d697404184368616e67655374616b696e67506f6f6c526577617264030000000107010b0000000000006b000000ec020000ec020000ec020000ed020000ed020000ed020000ed020000ed020000ee020000ee020000ee020000ee020000ee020000ee020000ee020000ee020000ee020000ef020000ef020000ef020000ef020000ef020000ef020000ef020000f0020000f0020000f0020000f0020000f2020000f3020000f3020000f3020000f3020000f3020000f4020000f4020000f4020000f4020000f6020000f8020000f8020000f8020000f8020000f9020000f9020000f9020000f9020000f9020000fa020000fa020000fa020000fb020000fb020000fb020000fb020000fb020000fb020000fc020000fc020000fc020000fc020000fc020000fe020000fe020000fe020000fe020000fe0200000103000001030000010300000103000001030000f90200000403000004030000040300000403000004030000040300000403000004030000050300000503000005030000050300000503000006030000060300000603000006030000060300000603000006030000070300000703000007030000070300000703000008030000080300000803000008030000090300000903000009030000090300000a0300000c0000000573656c66000000006b00000004617267000000006b00000007706172736564080000006b00000005696e666f110000006b0000000c73746f72655265776172641d0000006b0000000269270000006b000000106d61785f626c6f636b4e756d6265722b0000006b0000000c28666f7220696e646578292f000000490000000c28666f72204c696d6974292f000000490000000b28666f722073746570292f0000004900000002693000000048000000096576656e74537472660000006b000000030000000b636865636b41646d696e1470617273655f61745f6c656173745f61726773055f454e560970726f746f5f33310e03000034030000020e117900000085000000c0000000a440000185008000c00080000101000041410000a4800002c700400105010001248180004781400047c1c00247c180025f00c1021ec019804781400047c1c00247c1800280018002c1410100"; + replace_code += "9dc10103c001800201820100dd0182030002800241c201001d4202044602c20180020004c002000264828001624200001ec000808642c201c1820200a5020001a602000085020002c0020000000380014003000280038004a4828002c6c2c201010303004003000580030002e4420002c642c30100030005e48200010643c301418303002483000120c002061e800f80c7824000c7c2c3051f00c4051e800e80c642c4010783400007834406e482000106c3c4014003000480030002c603c5010644c50124048000e40300002443000007834000078345064643c301878340008783450787c30007648300018643c301c0030005a48300014d8383060a4383010643c301478340004783c50647c38006248300014643c3018783400087c3450787c3000764830001200083061ec000800643c20141030600250300012603000000030002414306008603c501c0030005a48300011d8303064c83c605c00300066443800146c3c6014703c7068b8300008a03818e8a83028f6483000186c3c701c103080000048006a44380012600800021000000130100000000000000142e617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a2020636f696e41646472040873746f72616765040f616c6c546f6b656e53796d626f6c00040c7573657242616c616e6365040c7573657241646472657373041375736572526577617264426c6f636b4e756d040d666173745f6d61705f67657404066572726f72041a75736572206f627461696e20756e6b6f776e206572726f722104067072696e740407726577617264040a746f696e7465676572130000000000000000040c69734d6967726174696f6e0100041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373040d746f6b656e41646472657373040d666173745f6d61705f7365740409746f737472696e6704156765745f6865616465725f626c6f636b5f6e756d04145374616b696e67526577617264537570706c7904135374616b696e675265776172644c696d6974144f546865206d6f6e657920737570706c79206578636565647320746865206d6178696d756d20737570706c792061667465722074686520757365722072656365697665732074686520616d6f756e7404022c04056d696e7404056a736f6e040664756d7073040861646472657373040d6f627461696e5265776172640405656d6974040d4f627461696e526577617264050000000103010a01060000010f00000000790000000e0300000e0300000e0300000f0300000f0300000f0300000f0300000f03000010030000110300001103000012030000120300001203000012030000120300001303000013030000130300001503000015030000150300001603000016030000160300001703000017030000170300001c0300001c0300001c0300001c0300001d0300001d0300001e0300001e0300001e0300001e03000022030000220300002203000022030000220300002203000023030000230300002303000023030000230300002403000024030000240300002403000024030000240300002403000024030000240300002403000024030000240300002503000025030000250300002503000026030000260300002603000026030000260300002603000026030000260300002703000027030000270300002703000027030000270300002703000027030000270300002703000027030000270300002803000028030000280300002803000028030000280300002803000028030000280300002803000028030000280300002a0300002a0300002a0300002a0300002e0300002e0300002e0300002e0300002e0300002e0300002f0300002f0300002f03000030030000300300003003000030030000300300003003000031030000310300003103000031030000340300000e0000000573656c660000000079000000046172670000000079000000077061727365640800000079000000107374616b696e67436f696e4164647209000000790000000d66726f6d5f616464726573730b000000790000000d746f6b656e5f73796d626f6c13000000780000000d62616c616e63655461626c6516000000780000000d616464726573735461626c651900000078000000106c6173745265776172645461626c651c00000078000000106c617374526577617264426c6f636b2000000078000000077265776172642c00000078000000157374616b696e67546f6b656e436f6e747261637441000000780000000a7265776172645374726b00000078000000096576656e745374727400000078000000050000000b636865636b53746174650b70617273655f61726773116765745f66726f6d5f61646472657373055f454e561463616c5f757365725f63616e5f7265776172640970726f746f5f333239030000410300000203061300000085000000c0000000a440000185008000c0000000a440000185000001c0008000a44000018600c001c7404000c780c001a4800001ccc0400140018000e4408001c7404000ca4041822600800006000000041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373040873746f72616765040d746f6b656e41646472657373040d6368616e67654d696e746572040c69734d6967726174696f6e010104000000010701080105000000000000130000003903000039030000390300003a0300003a0300003a0300003b0300003b0300003b0300"; + replace_code += "003c0300003c0300003c0300003c0300003d0300003d0300003d0300003e0300003e03000041030000030000000573656c660000000013000000116e65775f7374616b696e675f616464720000000013000000157374616b696e67546f6b656e436f6e74726163740d00000013000000040000000b636865636b41646d696e0f636865636b4d6967726174696f6e0d636865636b41646472657373055f454e560970726f746f5f3333460300005603000002080c2900000085000000c0000000a440000185008000c00080000101000041410000a4800002c78040010701400145010001800100026441000147c140004701c10247c180025f40c1021ec0048047c140004701c10247c18002818101005d81810286c1c101c001800200020002a4818001a24100001e400080c1010200e6010001c5010002000200004002800180020002c0020003e4818002e601000141010200660100012600800009000000130200000000000000143a617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a2020636f696e416464722c7573657241646472657373130100000000000000040873746f72616765040f616c6c546f6b656e53796d626f6c00041375736572526577617264426c6f636b4e756d040d666173745f6d61705f676574130000000000000000050000000103010a01050000010f0000000029000000460300004603000046030000470300004703000047030000470300004703000048030000490300004a0300004a0300004a0300004b0300004b0300004b0300004b0300004b0300004c0300004c0300004c0300004c0300004c0300004e0300004e0300004e0300004e0300004f0300004f030000500300005003000052030000520300005203000052030000520300005203000053030000550300005503000056030000080000000573656c660000000029000000046172670000000029000000077061727365640800000029000000107374616b696e67436f696e4164647209000000290000000c75736572416464726573730a00000029000000106c6173745265776172645461626c651700000026000000106c617374526577617264426c6f636b1b00000026000000077265776172642500000026000000050000000b636865636b53746174650b70617273655f617267730d636865636b41646472657373055f454e561463616c5f757365725f63616e5f7265776172640970726f746f5f33345a0300006a03000001080c330000004b00000086004000c7404000c780c001a40001011e000980cb010000ca418181ca810182074240000782410407420104ca018282074240000702420407420104ca018283074240000782420407420104ca018284074240000702430407420104ca018285074240000782430407420104ca018286074240000702440407420104ca018287064244004002800380028002c0020003244200020682440007c24404400280008002800324428001a98000002a01f67f8600450087404501c0008000a5000001a6000000260080001600000004067061697273040873746f72616765040f616c6c546f6b656e53796d626f6c0409636f696e41646472040b636f696e53796d626f6c040e636f696e55736572436f756e740412616c6c546f6b656e55736572436f756e740410636f696e546f74616c416d6f756e740416616c6c53796d626f6c546f74616c42616c616e636504117374617274526577617264426c6f636b04187374616b696e675265776172645374617274426c6f636b040d726577617264436f6e66696704145374616b696e67526577617264436f6e666967040c7265776172644c696d697404135374616b696e675265776172644c696d6974040d726577617264537570706c7904145374616b696e67526577617264537570706c7904067072696e7404067461626c650407696e7365727404056a736f6e040664756d707301000000000000000000330000005a0300005c0300005c0300005c0300005c0300005c0300005d0300005e0300005f030000600300006003000060030000600300006103000061030000610300006103000062030000620300006203000062030000630300006303000063030000630300006403000064030000640300006403000065030000650300006503000065030000660300006603000066030000660300006603000067030000670300006703000067030000670300005c0300005c03000069030000690300006903000069030000690300006a030000080000000573656c6600000000330000000472657301000000330000001028666f722067656e657261746f7229050000002d0000000c28666f7220737461746529050000002d0000000e28666f7220636f6e74726f6c29050000002d000000026b060000002b0000000276060000002b00000005696e666f070000002b00000001000000055f454e560970726f746f5f33356e0300007e03000002080c2400000085000000c0000000a440000185008000c00080000101000041410000a4800002c78040010701400146c140018001000264810001870141008741410387c10003a24100001ec00080c681410101c20100e5010001e6010000c001000301020200dd018203064242014682420180028003c002800264828001624200001e00008041c202002502000126020000260080000c0000001302000000000000001437617267756d656e7420666f726d6174206572726f722c"; + replace_code += "206e65656420666f726d61743a2020636f696e416464722c75736572616464721301000000000000000409746f737472696e67040873746f72616765040f616c6c546f6b656e53796d626f6c04066572726f72143c54686520636f6e74726163742061646472657373206973206e6f742063757272656e746c7920737570706f7274656420666f72206d696e696e6721040c7573657242616c616e6365040a746f696e7465676572040d666173745f6d61705f676574130000000000000000030000000103010a000000000000240000006e0300006e0300006e0300006f0300006f0300006f0300006f0300006f03000070030000710300007203000072030000720300007403000074030000740300007503000075030000760300007603000076030000760300007c0300007c0300007c0300007d0300007d0300007d0300007d0300007d0300007d0300007d0300007d0300007d0300007d0300007e030000080000000573656c660000000024000000046172670000000024000000077061727365640800000024000000107374616b696e67436f696e4164647209000000240000000975736572416464720a000000240000000d66726f6d5f616464726573730d000000240000000d746f6b656e5f73796d626f6c10000000240000000d62616c616e63655461626c651900000024000000030000000b636865636b53746174650b70617273655f61726773055f454e560970726f746f5f3336820300008d0300000204062500000080008000cb000000ca8000800781400007c1400207810002ca008180078140000741410207810002ca0001820781400007c1410207810002ca000183078140000741420207810002ca0001840781400007c1420207810002ca000185078140000741430207810002ca0001860781400007c1430207810002ca000187060144000741440240018001250100012601000026008000120000000409636f696e41646472040b636f696e53796d626f6c040873746f72616765040f616c6c546f6b656e53796d626f6c040e636f696e55736572436f756e740412616c6c546f6b656e55736572436f756e740410636f696e546f74616c416d6f756e740416616c6c53796d626f6c546f74616c42616c616e636504117374617274526577617264426c6f636b04187374616b696e675265776172645374617274426c6f636b040d726577617264436f6e66696704145374616b696e67526577617264436f6e666967040c7265776172644c696d697404135374616b696e675265776172644c696d6974040d726577617264537570706c7904145374616b696e67526577617264537570706c7904056a736f6e040664756d7073010000000000000000002500000082030000830300008403000085030000850300008503000085030000860300008603000086030000860300008703000087030000870300008703000088030000880300008803000088030000890300008903000089030000890300008a0300008a0300008a0300008a0300008b0300008b0300008b0300008b0300008c0300008c0300008c0300008c0300008c0300008d030000040000000573656c66000000002500000004617267000000002500000009636f696e41646472010000002500000005696e666f020000002500000001000000055f454e560970726f746f5f3337900300009103000001010204000000470040004740c000660000012600800002000000040873746f72616765040661646d696e00000000000000000400000090030000900300009003000091030000010000000573656c660000000004000000000000000970726f746f5f3338930300009403000001010204000000470040004740c000660000012600800002000000040873746f726167650416616c6c53796d626f6c546f74616c42616c616e636500000000000000000400000093030000930300009303000094030000010000000573656c660000000004000000000000000970726f746f5f3339970300009803000001010204000000470040004740c000660000012600800002000000040873746f72616765040f616c6c546f6b656e53796d626f6c00000000000000000400000097030000970300009703000098030000010000000573656c660000000004000000000000000970726f746f5f34309b0300009c03000001010204000000470040004740c000660000012600800002000000040873746f726167650412616c6c546f6b656e55736572436f756e740000000000000000040000009b0300009b0300009b0300009c030000010000000573656c660000000004000000000000000970726f746f5f34319f030000a003000001010204000000470040004740c000660000012600800002000000040873746f72616765040c69734d6967726174696f6e0000000000000000040000009f0300009f0300009f030000a0030000010000000573656c660000000004000000000000000970726f746f5f3432a4030000a503000001010304000000460040008140000064400001260080000200000004066572726f72041d63616e27742064657374726f7920746f6b656e20636f6e74726163740100000000000000000004000000a4030000a4030000a4030000a5030000010000000573656c66000000000400000001000000055f454e564b000000040000000a00000033000000330000004900000035000000560000005c0000006400000072000000780000007e0000008b00000097"; + replace_code += "000000a2000000af000000bd000000e3000000340100008c0100003a010000b101000090010000b5010000b3010000ba010000b7010000bf010000bc010000c4010000c1010000c9010000c6010000ce010000cb010000dc010000d1010000e6010000de010000f3010000e801000060020000f8010000b602000063020000e8020000b90200000a030000eb020000340300000d030000410300003803000056030000450300006a030000590300007e0300006d0300008d03000081030000910300008f030000940300009203000098030000960300009c0300009a030000a00300009e030000a5030000a3030000a7030000a70300001000000009436f6e7472616374000000004b0000000853746f72616765010000004b000000024d040000004b0000000b636865636b5374617465070000004b00000011636865636b5374617465496e69746564080000004b0000000d636865636b41646472657373090000004b000000116765745f66726f6d5f616464726573730a0000004b0000000b636865636b41646d696e0b0000004b0000000f636865636b4d6967726174696f6e0c0000004b00000019636865636b5f63616c6c65725f6672616d655f76616c69640d0000004b0000000b70617273655f617267730e0000004b0000001470617273655f61745f6c656173745f617267730f0000004b0000000e6172726179436f6e7461696e73100000004b0000001769735f6e61746976655f61737365745f73796d626f6c110000004b0000001e77697468647261775f6e61746976655f61737365745f70726976617465120000004b0000001463616c5f757365725f63616e5f726577617264130000004b00000001000000055f454e560000000d00000004696e6974000000106f6e5f6465706f7369745f61737365740000000b696e69745f636f6e66696700000005706175736500000006726573756d650000000473746f70000000077374616b696e67000000087769746864726177000000127365745374616b696e67436f6e7472616374000000136368616e67655374616b696e675265776172640000000c6f627461696e526577617264000000096d6967726174696f6e0000000a6f6e5f64657374726f790000000e00000005737461746500000009746f6b656e4e616d6500000009707265636973696f6e0000000b746f6b656e53796d626f6c0000000561646d696e000000036665650000000b717565727952657761726400000007676574496e666f0000001271756572795374616b696e67416d6f756e740000001171756572795374616b696e6753746174650000000b746f74616c416d6f756e740000000e616c6c546f6b656e53796d626f6c00000011616c6c546f6b656e55736572436f756e740000000b49734d6967726174696f6e00000009000000134e617469766542616c616e63654368616e676500000006496e697465640000000650617573656400000007526573756d65640000000753746f707065640000000e494e45584143544445504f5349540000000c4f627461696e526577617264000000144372656174654e65775374616b696e67506f6f6c000000174368616e67655374616b696e67506f6f6c5265776172640000000e000000046e616d65000000040000000673796d626f6c00000004000000057374617465000000040000000561646d696e00000004000000177374616b696e675265776172645374617274426c6f636b00000033000000135374616b696e67526577617264436f6e66696700000036000000125374616b696e675265776172644c696d697400000033000000135374616b696e67526577617264537570706c79000000330000000e616c6c546f6b656e53796d626f6c0000003600000011616c6c546f6b656e55736572436f756e740000003300000015616c6c53796d626f6c546f74616c42616c616e6365000000360000000c746f6b656e41646472657373000000040000000b69734d6967726174696f6e0000000300000010746f74616c537570706c794c696d6974000000010000001b00000004696e697400000000000000106f6e5f6465706f7369745f61737365740000000200000002000000030000000b696e69745f636f6e6669670000000100000002000000057374617465000000010000000200000009746f6b656e4e616d65000000010000000200000009707265636973696f6e00000001000000020000000b746f6b656e53796d626f6c00000001000000020000000561646d696e0000000100000002000000036665650000000100000002000000057061757365000000010000000200000006726573756d6500000001000000020000000473746f700000000100000002000000077374616b696e6700000001000000020000000877697468647261770000000100000002000000127365745374616b696e67436f6e74726163740000000100000002000000136368616e67655374616b696e6752657761726400000001000000020000000c6f627461696e5265776172640000000100000002000000096d6967726174696f6e00000001000000020000000b7175657279526577617264000000010000000200000007676574496e666f00000001000000020000001271756572795374616b696e67416d6f756e7400000001000000020000001171756572795374616b696e67537461746500000001000000020000000b746f74616c416d6f756e7400000001000000020000000e616c6c54"; + replace_code += "6f6b656e53796d626f6c000000010000000200000011616c6c546f6b656e55736572436f756e7400000001000000020000000b49734d6967726174696f6e00000001000000020000000a6f6e5f64657374726f7900000000"; + origin_op.contract_code = ContractHelper::load_contract_from_hex(replace_code); + origin_op.contract_code.code_hash = origin_op.contract_code.GetHash(); + } + if (trx_state->_trx->id().str() == "e5fcd37b3a6cf7bc7c376a88bc48bb139dc0fe9f" + || trx_state->_trx->id().str() == "7a8497646eb6fb635a30a3973e814a03573ac5e1" + || trx_state->_trx->id().str() == "cbfbcb3549fc9279a57194eafdf663fc397d2db8" + || trx_state->_trx->id().str() == "ce1338759ae3f0d439986d5a107d60e81116a51a" + || trx_state->_trx->id().str() == "330c5dd985268016e8daf8ce1492fb3696845134" + || trx_state->_trx->id().str() == "e5424f6a7ea3602e6a6b4befe10d94a6a70e4078") { + + std::string replace_code = "a8ed6b30a960bf0598177e9893c3108cf2da0e330000d6611b476c7561100019930d0a1a0a04080408087856000000000000000000000028774001056d61696e04000000c20500000013146e0000002c00000041000000ac400000c0000000e48080002c810000ca0081802cc100006c010100ac410100ec8101002cc201006c020200ac420200ec8202002cc302006c030300ac430300ec8303002cc403006c040400ac440400ca800481ac840400ca808481acc40400ca800482ac040500ca808482ac440500ca800483ac840500ca808483acc40500ca800484ac040600ca808484ac440600ca800485ac840600ca808485acc40600ca800486ac040700ca808486ac440700ca800487ac840700ca808487acc40700ca800488ac040800ca808488ac440800ca800489ac840800ca808489acc40800ec040900cac0048aec440900cac0848aec840900cac0048becc40900cac0848bec040a00cac0048cec440a00cac0848cec840a00cac0048decc40a00cac0848dec040b00cac0048eec440b00cac0848eec840b00cac0048fecc40b00cac0848fec040c00cac00490ec440c00cac08490ec840c00cac00491ecc40c00cac08491ec040d00cac00492ec440d00cac08492ec840d00cac00493ecc40d00cac08493ec040e00cac00494ec440e00cac08494ec840e00cac00495ecc40e00cac08495ec040f00cac00496e6000001260080002d00000013000014bbf08ac6020405696e697404116f6e5f6465706f7369745f6173736574041677697468647261775f6e61746976655f6173736574041371756572795f6e61746976655f6173736574040c696e69745f636f6e66696704067374617465040a746f6b656e4e616d65040a707265636973696f6e040c746f6b656e53796d626f6c040661646d696e040c746f74616c537570706c79040c6973416c6c6f774c6f636b040466656504126d696e5472616e73666572416d6f756e7404126665655265636569766541646472657373040773657446656504157365744d696e5472616e73666572416d6f756e7404157365744665655265636569766541646472657373040e6f70656e416c6c6f774c6f636b040a62616c616e63654f660406757365727304097472616e73666572040d7472616e7366657246726f6d0408617070726f76650414617070726f76656442616c616e636546726f6d0414616c6c417070726f76656446726f6d55736572040670617573650407726573756d65040573746f7004056c6f636b0407756e6c6f636b040c666f726365556e6c6f636b04106c6f636b656442616c616e63654f66040d6164644c6971756964697479041072656d6f76654c6971756964697479040965786368616e676504107365744d696e416464416d6f756e740408676574496e666f0417636163756c61746545786368616e6765416d6f756e740419636163756c617465506f6f6c53686172654279546f6b656e041b6765745573657252656d6f766561626c654c6971756964697479041673657444616f436f6e747261637441646472657373040f67657444616f436f6e7472616374040b6f6e5f64657374726f790100000001003d00000009436f6e7472616374060000000600000001010208000000220000001e80008040000000260000011e4000804b0000006600000126008000000000000000000000000000080000000600000006000000060000000600000006000000060000000600000006000000010000000670726f70730000000008000000000000000853746f72616765240000002400000001010208000000220000001e80008040000000260000011e4000804b0000006600000126008000000000000000000000000000080000002400000024000000240000002400000024000000240000002400000024000000010000000670726f70730000000008000000000000000870726f746f5f322b000000410000000101032d000000460040008140000064400001478040004a00c181478040004a00c182478040004ac04183478040004a404284478040004ac0428547804000864043004a800086478040004ac04387478040004a404288478040004a40c28847804000864043004a800089478040004a00c589478040004a00c18a478040004a00418b478040004a40c28b478040004a40428c478040004a40c28c478040004a40428d478040004a00c18d460040008100070064400001260080001d00000004067072696e74041a756e697377617020636f6e7472616374206372656174696e67040873746f7261676504056e616d650401040773796d626f6c0407737570706c79040230040a707265636973696f6e13000000000000000004067374617465040b4e4f545f494e49544544040661646d696e040f63616c6c65725f61646472657373040a616c6c6f774c6f636b0100040466656504126d696e5472616e73666572416d6f756e740412666565526563656976654164647265737304096665655f726174650404302e300415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e7404126d696e5f746f6b656e315f616d6f756e7404126d696e5f746f6b656e325f616d6f756e74040d64616f5f636f6e74726163740419756e697377617020636f6e74726163742063726561746564010000000000000000002d000000"; + replace_code += "2b0000002b0000002b0000002c0000002c0000002d0000002d0000002e0000002e0000002f0000002f00000030000000300000003100000031000000310000003200000032000000330000003300000034000000340000003500000035000000350000003700000037000000380000003800000039000000390000003a0000003a0000003b0000003b0000003c0000003c0000003d0000003d0000003e0000003e00000040000000400000004000000041000000010000000573656c66000000002d00000001000000055f454e560870726f746f5f33440000004a00000003080d1f000000c6004000c740c00100018000e480000106014000074140024001000124810001460140004741c00280010000648100018601400087814003c001800200020002a4818001c6014000c7c1c0030602400007024104400200038602400087424105c002800100038002a402800124020000e4810000e601000126008000060000000409736166656d617468040b736166656e756d62657204106e756d6265725f6d756c7469706c79040d6e756d6265725f746f696e74040b6e756d6265725f646976040b6e756d6265725f616464010000000000000000001f0000004400000044000000440000004400000045000000450000004500000045000000460000004600000046000000460000004700000047000000470000004700000047000000480000004800000048000000480000004800000048000000480000004800000048000000480000004800000048000000490000004a000000080000000d696e7075745f616d6f756e74000000001f0000000e696e7075745f72657365727665000000001f0000000f6f75747075745f72657365727665000000001f0000000261040000001f0000000262080000001f00000002780c0000001f000000026e110000001f00000002721d0000001f00000001000000055f454e560870726f746f5f344e000000570000000002040f000000040000004600400064808000620000001e80018086404000c0008000a4800001a20000001e400080000080001e0000800680400026000001260080000300000004256765745f707265765f63616c6c5f6672616d655f636f6e74726163745f61646472657373041a69735f76616c69645f636f6e74726163745f61646472657373040f63616c6c65725f61646472657373010000000000000000000f0000004e0000004f0000004f000000500000005000000050000000500000005000000050000000500000005200000052000000540000005600000057000000020000000d66726f6d5f61646472657373010000000f00000011707265765f636f6e74726163745f6964030000000f00000001000000055f454e560870726f746f5f355a0000005d0000000101030b000000470040004740c00085000000a48080005f8080001ec000804680c00081c0000065000001660000002600800004000000040873746f72616765040661646d696e04066572726f72142c796f7520617265206e6f742061646d696e2c2063616e27742063616c6c20746869732066756e6374696f6e0200000001050000000000000b0000005a0000005a0000005a0000005a0000005a0000005a0000005b0000005b0000005b0000005b0000005d000000010000000573656c66000000000b00000002000000116765745f66726f6d5f61646472657373055f454e560870726f746f5f36620000006a00000003040616000000224000001ec00080c600400000010001e5000001e6000000c6404000c780c0010001000041c10000e4808001e20000001e8000801c0180015f4000021ec0008006014000400100012501000126010000e6000001260080000400000004066572726f720407737472696e67040673706c697404022c01000000000000000000160000006200000062000000630000006300000063000000630000006500000065000000650000006500000065000000660000006600000066000000660000006600000067000000670000006700000067000000690000006a0000000400000004617267000000001600000006636f756e7400000000160000000a6572726f725f6d73670000000016000000077061727365640b0000001600000001000000055f454e560870726f746f5f376d0000007500000003040616000000224000001ec00080c600400000010001e5000001e6000000c6404000c780c0010001000041c10000e4808001e20000001e8000801c018001204000021ec0008006014000400100012501000126010000e6000001260080000400000004066572726f720407737472696e67040673706c697404022c01000000000000000000160000006d0000006d0000006e0000006e0000006e0000006e000000700000007000000070000000700000007000000071000000710000007100000071000000710000007200000072000000720000007200000074000000750000000400000004617267000000001600000006636f756e7400000000160000000a6572726f725f6d73670000000016000000077061727365640b0000001600000001000000055f454e560870726f746f5f38780000008200000002080912000000624000001e40008083000000a600000184000000c600400000010000e40001011ec000801f4080031e4000800302800026020001e98000006a41fe7fc3000000e600000126008000010000000407697061697273010000000000000000001200000078000000780000"; + replace_code += "0079000000790000007b0000007c0000007c0000007c0000007c0000007d0000007d0000007e0000007e0000007c0000007c0000008100000081000000820000000800000004636f6c0000000012000000056974656d00000000120000000676616c756505000000120000001028666f722067656e657261746f7229080000000f0000000c28666f7220737461746529080000000f0000000e28666f7220636f6e74726f6c29080000000f000000025f090000000d0000000676616c7565090000000d00000001000000055f454e560870726f746f5f39860000008f00000001010319000000470040004740c0001f80c0001ec0008046c04000810001006500000166000000470040004740c0001f40c1001ec0008046c04000818001006500000166000000470040004740c0001fc0c1001ec0008046c040008100020065000001660000002600800009000000040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f720414636f6e7472616374206e6f7420696e6974656404075041555345440410636f6e747261637420706175736564040853544f505045440411636f6e74726163742073746f7070656401000000000000000000190000008600000086000000860000008600000087000000870000008700000087000000890000008900000089000000890000008a0000008a0000008a0000008a0000008c0000008c0000008c0000008c0000008d0000008d0000008d0000008d0000008f000000010000000573656c66000000001900000001000000055f454e560970726f746f5f3130920000009500000001010309000000470040004740c0001f80c0001ec0008046c040008100010065000001660000002600800005000000040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f72041a636f6e747261637420746f6b656e206e6f7420696e697465640100000000000000000009000000920000009200000092000000920000009300000093000000930000009300000095000000010000000573656c66000000000900000001000000055f454e560970726f746f5f3131980000009d0000000102040b000000460040008000000064800001624000001ec0008086404000c1800000a5000001a6000000660000012600800003000000041169735f76616c69645f6164647265737304066572726f7204156164647265737320666f726d6174206572726f72010000000000000000000b00000098000000980000009800000099000000990000009a0000009a0000009a0000009a0000009c0000009d000000020000000561646472000000000b00000007726573756c74030000000b00000001000000055f454e560970726f746f5f3132a0000000ab000000010204160000005c000000224000001e40008083000000a600000186004000c1400000a4800001208080001e40008083000000a600000186004000c1800000a4800001204000011e40008083000000a600000183008000a60000012600800003000000040a746f696e7465676572130100000000000000130f000000000000000100000000000000000016000000a0000000a1000000a1000000a2000000a2000000a4000000a4000000a4000000a4000000a4000000a5000000a5000000a7000000a7000000a7000000a7000000a7000000a8000000a8000000aa000000aa000000ab000000020000000e746f6b656e5f616464726573730000000016000000046c656e010000001600000001000000055f454e560970726f746f5f3133b0000000c9000000040a0c3a0000001f00c0011e00008026008000064140000781400246c1400081010100c001800064818001624100001e0000804141010024810001224100001e0000800b0100004681410087810002a24100001e0000808101000064810001810100002000c0011e000280d901800120c081021ec0008006c241004102020025020001260200008ec181021e0000808dc180020a810101c6414000c741c20300020002e4810001068242004102010080028000c00280032442000206424000074242044b0201004a4280854a8200864ac280864ac24387248200014602440081420400c002000464428001260080001200000013000000000000000004056a736f6e04066c6f616473040d666173745f6d61705f676574040f6e617469766542616c616e63657304037b7d040a746f696e746567657204066572726f720416616d6f756e74206578636565642062616c616e6365040664756d7073040d666173745f6d61705f736574040861646472657373040773796d626f6c04076368616e67650407726561736f6e04010405656d697404144e617469766542616c616e63654368616e6765010000000000000000003a000000b0000000b0000000b1000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b4000000b4000000b4000000b4000000b4000000b4000000b5000000b6000000b6000000b7000000b8000000b8000000b9000000b9000000b9000000b9000000bb000000bb000000bd000000bf000000c0000000c0000000c0000000c0000000c1000000c1000000c1000000c1000000c1000000c2000000c2000000c2000000c3000000c4000000c5000000c6000000c2000000c8000000c8000000c8000000c8000000c90000000a0000000573656c66000000003a00000008"; + replace_code += "61646472657373000000003a0000000773796d626f6c000000003a000000076368616e6765000000003a0000000b75736572417373657473100000003a0000000b6f6c6442616c616e6365160000003a0000000b6e657742616c616e6365170000003a00000007616d6f756e741a00000021000000116e657755736572417373657473537472280000003a000000176e61746976655472616e736665724576656e74417267350000003a00000001000000055f454e560970726f746f5f3134cd000000ee000000040c155d0000000501000040010000244100010601c0004001800124810001a20000001e8001805c0100016040c0021ec00080220100001e400080218040021ec0008046c1c000810101006501000166010000400180008641c10087814103c6c1c1000102020040028002e4818001e24100001e000080c1410200a4810001a24100001e0000808b010000c601c00007820003224200001e00008001820000e4810001200081031ec0008006c2c0004182020025020001260200000e0281038a0102014642c10047c2c20480020003648200018602c300c10202000003800240038004a44200028642c300c00280020003000140030002a48200025f8040051ec00380c6c2c000018303004003000181c30300c0038002010404004644c400800400026484000181840400c644c40000050005e48400011dc30406e5020001e6020000c642c100c7c2c2050b0301000a4381890a83008a590300020a43838a0ac3458be48200010603c600414306008003800524438001260080001a000000040a746f696e746567657213010000000000000013000000000000000004066572726f72040f696e76616c696420706172616d7304056a736f6e04066c6f616473040d666173745f6d61705f676574040f6e617469766542616c616e63657304037b7d0416616d6f756e74206578636565642062616c616e6365040664756d7073040d666173745f6d61705f73657404227472616e736665725f66726f6d5f636f6e74726163745f746f5f6164647265737304107472616e7366657220617373657420040520746f20040920616d6f756e743a0409746f737472696e670415206572726f722c206572726f7220636f64653a20040861646472657373040773796d626f6c04076368616e67650407726561736f6e040977697468647261770405656d697404144e617469766542616c616e63654368616e676502000000010a0000000000005d000000cd000000cd000000cd000000cf000000cf000000cf000000d1000000d1000000d1000000d1000000d1000000d1000000d1000000d1000000d1000000d2000000d2000000d2000000d2000000d4000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d6000000d6000000d6000000d6000000d6000000d6000000d7000000d7000000d8000000d8000000d8000000d8000000da000000db000000dc000000dc000000dc000000dc000000de000000de000000de000000de000000de000000e1000000e1000000e1000000e1000000e1000000e2000000e2000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e6000000e6000000e6000000e7000000e8000000e9000000e9000000ea000000e6000000ec000000ec000000ec000000ec000000ee0000000c0000000573656c66000000005d0000000566726f6d000000005d0000000773796d626f6c000000005d0000000a616d6f756e74537472000000005d00000007616d6f756e74060000005d0000000c66726f6d41646472657373140000005d0000000b75736572417373657473210000005d0000000b6f6c6442616c616e6365270000005d0000000b6e657742616c616e63652e0000005d000000116e657755736572417373657473537472330000005d00000005726573313d0000005d000000176e61746976655472616e736665724576656e74417267580000005d000000020000000b636865636b5374617465055f454e560970726f746f5f3135f30000007e010000031c1e17010000c500000000010000e4400001c5008000000100014101000081410000e48000020681400147c1c00124810001460141018741c1016481000186814001c781c101a4810001c601410107c2c101e4810001060241014702c00124820001430200009c028001c602410101030200e48200011fc002051ec0008086424201c702c201a4820001400200056180c2021e4000802180c2031ec0008086c24201c1020300a5020001a6020000218042041ec0008086c24201c1420300a5020001a602000086824301a4828000218002041ec0008086c24201c1c20300a5020001a60200008702440087424405c7024400c782c405618042051e4000802180c2051ec0008006c3420141c30400250300012603000000038002470344004703c5068703440087434507c6834501c7c3c50700040007e483000106844501070446084684450147c4c50880048002648400018004800724848001468445014744c60880040008648400018684450187844609c6844501c7c4c50900058008e484000100050008a4848001a20400001e0000804dc4c0082180c2081e00008041c40000214084021ec0008086c44201c1c40600a5040001a60400008704440087044709c7044400c7"; + replace_code += "44c7090b050000418502001f8004021e4007801fc004031ec0068021c081051ec0008086c54201c1850700a5050001a605000085058001ce4584020006000540068005a48500024005000b2180c20a1ec0008086c54201c1c50700a5050001a605000020c0810a1ec0008086c54201c1050800a5050001a60500008d420105ce4285050ac584901ec008801fc004021e4007801f8004031ec0068021c001051ec0008086c54201c1850700a5050001a605000085058001ce4584020006800540060005a48500024005000b2180c20a1ec0008086c54201c1850800a5050001a605000020c0810a1ec0008086c54201c1050800a5050001a6050000cd4281058e4205050a8584901ec0008086c54201c1c50800a5050001a6050000618042051e4000802180c2051ec0008086c54201c1050900a5050001a605000085050002c0050002a4850001a20500001e80018085058002c0050000000680004006000299068002a44580021e00048086454901c0050002a4850001c6854901e48580000006800041c609008006800bc1c609001dc6060c4c064a0bc006000c068740014007800224870001dd06870d6446800186854001c745480aa4850001c50500020006000be4850001e20500001e000480c505800200060000400680008006000bc006800ae4458002620200001e400580c505000300060000400680008006000bc68640010007800ae4060001e44500001e000380c6454901068640014746480a24060001e48500000c46ca0b80068000c1c60900068740014007800a248700019d06070d24468001c7054400ca858288c7054400cac502890a4500950a4584950a0501960a4581960a450597c6c54b0101060c0046464c014786cc0c8006000a64860001e4458001c68540010006800ae4850001e60500012600800033000000130500000000000000149a617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61742069732073656c6c5f746f6b656e5f616464722c73656c6c5f746f6b656e5f616d6f756e742c77616e745f6275795f746f6b656e5f616464722c6d696e5f77616e745f6275795f746f6b656e5f616d6f756e742c657870697265645f626c6f636b6e756d2c7769746864726177286f7074696f6e616c290409746f737472696e67130100000000000000040a746f696e7465676572130200000000000000130300000000000000130400000000000000130600000000000000040a746f626f6f6c65616e13000000000000000004066572726f72144a617267756d656e7420666f726d6174206572726f722c2073656c6c5f746f6b656e5f616d6f756e74206f72206d696e5f77616e745f6275795f746f6b656e5f616d6f756e74203e2030041b657870697265645f626c6f636b6e756d206d757374203e3d203004156765745f6865616465725f626c6f636b5f6e756d0427657870697265645f626c6f636b6e756d206d757374203e20686561645f626c6f636b5f6e756d040873746f726167650414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e74040e706f6f6c20697320656d7074790407737570706c7904096665655f726174650409736166656d617468040b736166656e756d62657204106e756d6265725f6d756c7469706c79040d6e756d6265725f746f696e74040a6e756d6265725f6e65040e63616e27742067657420616e790415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720417706f6f6c20616d6f756e74206e6f7420656e6f75676804176765745f746f6b656e325f616d6f756e74203c3d2030041f63616e277420676574207768617420796f752077616e7420616d6f756e74040a6275795f617373657404176765745f746f6b656e315f616d6f756e74203c3d20300425746f6b656e2061646472657373206e6f74206d6174636820666f722065786368616e67650418636163756c61746520696e7465726e616c206572726f72041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373041d6765745f63757272656e745f636f6e74726163745f6164647265737304022c040d7472616e7366657246726f6d04097472616e736665720405616464720404666565040b73656c6c5f6173736574040c73656c6c5f616d6f756e74040b6275795f616d6f756e740405656d6974040a45786368616e67656404056a736f6e040664756d707307000000010a010800000104010d010e010f0000000017010000f3000000f3000000f3000000f4000000f4000000f4000000f4000000f4000000f6000000f6000000f6000000f7000000f7000000f7000000f8000000f8000000f8000000f9000000f9000000f9000000fa000000fa000000fa000000fb000000fc000000fc000000fc000000fc000000fc000000fc000000fd000000fd000000fd000000fd000000000100000001000000010000000100000101000001010000010100000101000004010000040100000501000005010000050100000501000008010000080100000801000008010000090100000901000009010000090100000c0100000c0100000d0100000d0100000f0100000f0100000f0100000f010000100100001001000010010000100100001301000016010000160100001701000017010000180100001801000018010000180100001901000019010000190100001901000019010000190100"; + replace_code += "0019010000190100001a0100001a0100001a0100001a0100001b0100001b0100001b0100001b0100001b0100001b0100001b0100001b0100001b0100001b0100001c0100001f0100001f0100002001000023010000230100002401000024010000240100002401000027010000270100002801000028010000290100002a0100002b0100002b0100002b0100002b0100002c0100002c0100002d0100002d0100002d0100002d0100002f0100002f0100002f0100002f0100002f0100002f010000310100003101000032010000320100003201000032010000340100003401000035010000350100003501000035010000370100003801000039010000390100003b0100003b0100003b0100003b0100003c0100003c0100003d0100003d0100003d0100003d0100003f0100003f0100003f0100003f0100003f0100003f010000410100004101000042010000420100004201000042010000440100004401000045010000450100004501000045010000470100004801000049010000490100004b0100004b0100004b0100004b0100004e0100004e0100004e0100004e0100004f0100004f0100004f0100004f0100005501000055010000550100005501000055010000570100005701000057010000570100005701000057010000570100005b0100005b0100005b0100005c0100005c0100005d0100005d0100005d0100005d0100005d0100005e0100005e0100005e0100005e0100005e0100005e0100005e010000620100006201000062010000630100006301000063010000630100006301000066010000660100006601000066010000660100006601000067010000670100006801000068010000680100006801000068010000680100006801000068010000690100006d0100006d0100006d0100006d0100006d0100006e0100006e0100006e0100006e0100006e0100006e0100006e0100006e0100007201000072010000730100007301000075010000760100007701000078010000790100007a0100007a0100007a0100007a0100007a0100007a0100007a0100007c0100007c0100007c0100007d0100007e0100001c0000000573656c6600000000170100000d66726f6d5f6164647265737300000000170100000461726700000000170100000770617273656408000000170100001073656c6c5f746f6b656e5f616464720b000000170100001273656c6c5f746f6b656e5f616d6f756e740e000000170100001477616e745f6275795f746f6b656e5f6164647211000000170100001677616e745f6275795f746f6b656e5f616d6f756e74140000001701000011657870697265645f626c6f636b6e756d1700000017010000097769746864726177180000001701000014746f6b656e5f315f706f6f6c5f616d6f756e743a0000001701000014746f6b656e5f325f706f6f6c5f616d6f756e743c0000001701000018696e7075745f73656c6c5f746f6b656e5f616d6f756e74450000001701000007737570706c79470000001701000008666565526174654900000017010000096e466565526174654d000000170100000574656d70550000001701000004666565590000001701000015746f6b656e5f315f636f6e7472616374416464726f0000001701000015746f6b656e5f325f636f6e74726163744164647271000000170100000a6576656e745f6172677200000017010000116765745f746f6b656e5f616d6f756e747300000017010000177472616e736665725f66726f6d5f636f6e7472616374ce000000dc0000000d6375725f636f6e7472616374d0000000dc0000000a707269666978737472d5000000dc000000116275795f61737365745f73796d626f6cdf000000170100000c746f5f636f6e7472616374fa00000002010000156765745f746f6b656e5f616d6f756e745f7374721501000017010000070000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e560e676574496e70757450726963651769735f6e61746976655f61737365745f73796d626f6c186368616e6765557365724e617469766542616c616e63651e77697468647261775f6e61746976655f61737365745f707269766174650970726f746f5f31368c0100008c0100000404040100000026008000000000000000000000000000010000008c010000040000000573656c6600000000010000000566726f6d000000000100000003746f000000000100000007616d6f756e740000000001000000000000000970726f746f5f313791010000b9010000020d116e00000085000000c0000000a44000018600c00087404001c0008000a4800001c680c00007c14001e48000010601c10047414101248100014601c1008781410164810001e20000001e40008020c0c1011ec000808601c200c1410200a5010001a6010000220100001e8000809c010002208042031ec000808601c200c1c10200a5010001a601000087014300874143035f8001021ec0018087014300878143035f8001021ec000808601c200c1c10300a5010001a601000085010001a4818000c601c000c741c0030602c400414204008002000324828001224200001e00008001820400e4810001e24100001e000080cb0100000682c00047028103624200001e00008041c20100248200014dc20004ca4102028602c00087c24405c0028003a4820001c602c500014304004003000380030005e4420002c602c000c7c2c4050b0301000a83818a0a0381820ac300"; + replace_code += "8b0a03c68be48200010643c6004183060080038005244380011c038002200083831e00048006c3c600070347064003800281430700248380015c0300068683c000c1830700a4830001214003071e4001804503800180030000c0030003000480026503000266030000260080001f00000004056a736f6e04066c6f616473040a746f696e746567657204046e756d0409746f737472696e67040773796d626f6c0406706172616d13000000000000000004066572726f72041e6465706f7369742073686f756c642067726561746572207468616e2030130100000000000000041b6f6e5f6465706f7369745f6173736574206172672077726f6e67040873746f726167650415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e747261637441646472142a6f6e6c7920737570706f7274206465706f7369742065786368616e6765207061697220617373657473040d666173745f6d61705f676574040f6e617469766542616c616e63657304037b7d040664756d7073040d666173745f6d61705f73657404086164647265737304076368616e67650407726561736f6e04086465706f7369740405656d697404144e617469766542616c616e63654368616e67650407737472696e67040673706c697404022c13050000000000000004000000010a000001050110000000006e00000091010000910100009101000092010000920100009201000092010000930100009301000093010000940100009401000094010000950100009501000095010000960100009601000096010000960100009701000097010000970100009701000099010000990100009901000099010000990100009a0100009a0100009a0100009a0100009e0100009e0100009e0100009e0100009e0100009e0100009e0100009e0100009f0100009f0100009f0100009f010000a2010000a2010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a5010000a5010000a5010000a5010000a5010000a5010000a6010000a7010000a8010000a8010000a8010000a8010000a9010000a9010000a9010000a9010000a9010000ab010000ab010000ab010000ac010000ad010000ae010000af010000ab010000b1010000b1010000b1010000b1010000b3010000b3010000b3010000b4010000b4010000b4010000b4010000b4010000b5010000b5010000b5010000b5010000b5010000b5010000b6010000b6010000b6010000b6010000b6010000b6010000b90100000d0000000573656c66000000006e0000000c6a736f6e73747241726773000000006e00000004617267070000006e00000007616d6f756e740a0000006e0000000773796d626f6c0d0000006e00000006706172616d100000006e0000000c66726f6d416464726573732f0000006e0000000b757365724173736574733c0000006e0000000b6f6c6442616c616e6365420000006e0000000b6e657742616c616e6365430000006e000000116e657755736572417373657473537472480000006e000000176e61746976655472616e736665724576656e74417267550000006e0000000c706172736564506172616d610000006d000000040000000b636865636b5374617465055f454e56116765745f66726f6d5f616464726573731065786368616e6765507269766174650970726f746f5f3138be010000de010000020c156500000085000000c0000000a440000185008000c000800001010000a4808001c640400107814001e480000106c140014701400124810001e20000001e8001805c0180016080c0021ec00080220100001e400080210041021ec0008046414101818101006501000166010000450180016481800086c1410187014203c64142010182020040028002e4818001e24100001e000080c1c10200a4810001a24100001e0000808b010000c6c1400107c20003224200001e00008001020100e4810001200081031ec00080064241014102030025020001260200000e0281038a01820146c241014742c304800200036482000186824301c18202000003800240038004a442000286c24301c00280020003800140030002a48200025f0041051ec00380c6424101010304004003800181430400c00380020184040046444001800400026484000181c40400c644400100050005e48400011dc30406e5020001e6020000c6c24101c742c3050b0301000a43018a0ac3808a590300020a43038b0a03c68be482000106434601418306008003800524438001260080001b0000001302000000000000000409746f737472696e67130100000000000000040a746f696e746567657213000000000000000004066572726f72040f696e76616c696420706172616d7304056a736f6e04066c6f616473040d666173745f6d61705f676574040f6e617469766542616c616e63657304037b7d0416616d6f756e74206578636565642062616c616e6365040664756d7073040d666173745f6d61705f73657404227472616e736665725f66726f6d5f636f6e74726163745f746f5f6164647265737304107472616e7366657220617373657420040520746f20040920616d6f756e743a0415206572726f722c206572726f7220636f64653a20040861646472657373040773796d626f6c04076368616e67650407726561736f6e040977697468647261770405656d697404144e617469766542616c616e6365436861"; + replace_code += "6e676504000000010a0108000001050000000065000000be010000be010000be010000bf010000bf010000bf010000bf010000c0010000c0010000c0010000c1010000c1010000c1010000c3010000c3010000c3010000c3010000c3010000c3010000c3010000c3010000c3010000c4010000c4010000c4010000c4010000c6010000c6010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c8010000c8010000c8010000c8010000c8010000c8010000ca010000ca010000cb010000cb010000cb010000cb010000cd010000ce010000cf010000cf010000cf010000cf010000d0010000d0010000d0010000d0010000d0010000d2010000d2010000d2010000d2010000d2010000d3010000d3010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d7010000d7010000d7010000d8010000d9010000da010000da010000db010000d7010000dd010000dd010000dd010000dd010000de0100000c0000000573656c6600000000650000000461726700000000650000000b7061727365644172677307000000650000000773796d626f6c0a0000006500000007616d6f756e740d000000650000000c66726f6d416464726573731c000000650000000b7573657241737365747329000000650000000b6f6c6442616c616e63652f000000650000000b6e657742616c616e63653600000065000000116e6577557365724173736574735374723b0000006500000005726573314500000065000000176e61746976655472616e736665724576656e744172676000000065000000040000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e56116765745f66726f6d5f616464726573730970726f746f5f3139e2010000e70100000203061800000086004000c0008000a4800001a24000001ec0008086404000c1800000a5000001a600000086c0400087004101c64041000181010040018000e4808001e24000001e000080c1c00100a4800001a24000001e0000808b000000a60000012600800008000000041169735f76616c69645f6164647265737304066572726f72041d696e76616c6964206164647265737320706172616d20666f726d617404056a736f6e04066c6f616473040d666173745f6d61705f676574040f6e617469766542616c616e63657304037b7d0100000000000000000018000000e2010000e2010000e2010000e2010000e2010000e3010000e3010000e3010000e3010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e6010000e7010000030000000573656c660000000018000000086164647265737300000000180000000b75736572417373657473160000001800000001000000055f454e560970726f746f5f3230eb01000033020000020f10b300000085000000c0000000a440000187004000874040015f8040011ec0008086c0c000c1000100a5000001a600000085000001c00080000141010041810100a4800002cbc0010007014201ca00818307814201ca00818407014301ca00818507814301ca00818607014401ca00818707814401ca00818807414101ca0081890601c50047c1c10124810001450180018001000264810001624100001ec002804641c5008001000264810001620100001e8000808781c502a24100001ec0008086c1c000c1c10500a5010001a60100004601c5008741c201648100011f0081021ec0008086c1c000c1010600a5010001a601000085018001c0018002a4810001a24100001ec003808641c600c001800201820600a44180018641c500c0018002a4810001a20100001e800080c7814503e24100001ec00080c6c1c00001c20500e5010001e601000086c1c600c7c1c201a4810001c6c1c6000742c301e4810001610047031e4000802100c7031ec0008006c2c0004142070025020001260200000602c50047c2c301248200014682c70047c2c70480020004648200018682c70087024805c00280040683c70007c347064103070024030001a4820000a24200001e4002808682c70087424805c00280040683c70007c347064103020024030001a4820000a20200001ec0008086c2c000c1820800a5020001a60200008602c500c742c401a4820001dc0200052000c2051ec00080c6c2c00001c30800e5020001e6020000c602c50007c3c401e48200011c038005200042061ec0008006c3c000410309002503000126030000070340000a838292070340000ac30293070340000a03c293070340000a030194070340000a438194070340000a838185070340000ac38186070340000a038287070340000a83ca80ca80ca80ca00c29306c3ca0041030b0080038001244380010643cb0007834b06400380012483000146c3cb0081030c00c0030006644380012600800031000000040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f72041c7468697320636f6e747261637420696e69746564206265666f7265130700000000000000149061726720666f726d6174206572726f722c206e65656420666f726d61743a20746f6b656e315f616464722c746f6b656e325f616464722c6d696e5f746f6b656e315f616d6f756e742c6d696e"; + replace_code += "5f746f6b656e325f616d6f756e742c6665655f726174652c6c69717569646974795f746f6b656e5f6e616d652c6c69717569646974795f746f6b656e5f73796d626f6c040c746f6b656e315f61646472130100000000000000040c746f6b656e325f6164647213020000000000000004126d696e5f746f6b656e315f616d6f756e7413030000000000000004126d696e5f746f6b656e325f616d6f756e7413040000000000000004096665655f7261746513050000000000000004156c69717569646974795f746f6b656e5f6e616d6513060000000000000004176c69717569646974795f746f6b656e5f73796d626f6c0409746f737472696e67041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373040d7472616e7366657246726f6d041f746f6b656e315f61646472206e6f7420746f6b656e20636f6e74726163741436746f6b656e5f325f636f6e74726163744164647220616e6420746f6b656e5f315f636f6e7472616374416464722069732073616d6504067072696e74041320697320636f6e747261637420746f6b656e040a746f696e7465676572130000000000000000144b617267756d656e74206572726f722c206d696e5f746f6b656e5f616d6f756e7420746f20616464206c6971756964697479206d75737420626520706f73697469766520696e74656765720409736166656d617468040b736166656e756d626572040a6e756d6265725f6c74040b6e756d6265725f677465041d6665652072617465206d757374206265203e3d3020616e64203c2031041e6c69717569646974795f746f6b656e5f6e616d6520697320656d70747904206c69717569646974795f746f6b656e5f73796d626f6c20697320656d70747904056e616d65040773796d626f6c040a707265636973696f6e0415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720407434f4d4d4f4e0407707072696e740407696e666f343a04056a736f6e040664756d70730405656d69740407496e6974656404000000010600000107010d00000000b3000000eb010000eb010000eb010000ec010000ec010000ec010000ec010000ed010000ed010000ed010000ed010000ef010000ef010000ef010000ef010000ef010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f4010000f4010000f4010000f5010000f5010000f5010000f5010000f5010000f8010000f8010000f8010000f9010000f9010000f9010000f9010000f9010000fa010000fa010000fa010000fa010000fd010000fd010000fd010000fe010000fe010000ff010000ff010000ff010000ff0100000102000001020000010200000102000001020000030200000302000003020000030200000402000004020000040200000502000005020000050200000502000005020000060200000602000006020000060200000902000009020000090200000a0200000a0200000a0200000c0200000c0200000c0200000c0200000d0200000d0200000d0200000d02000010020000100200001002000011020000110200001102000011020000120200001202000012020000120200001202000012020000120200001202000012020000120200001202000012020000120200001202000012020000120200001202000012020000120200001202000013020000130200001302000013020000160200001602000016020000170200001702000017020000180200001802000018020000180200001b0200001b0200001b0200001d0200001d0200001d0200001e0200001e0200001e0200001e02000021020000210200002202000022020000230200002302000024020000240200002502000025020000270200002702000028020000280200002a0200002a0200002b0200002b0200002d0200002e0200002f0200002f0200002f0200002f0200003002000030020000300200003002000032020000320200003202000032020000330200000f0000000573656c6600000000b30000000461726700000000b30000000770617273656410000000b300000005696e666f1f000000b300000015746f6b656e5f315f636f6e74726163744164647222000000b30000000c746f6b656e436f6e7472312a0000003300000015746f6b656e5f325f636f6e74726163744164647236000000b30000000c746f6b656e436f6e7472324800000051000000126d696e5f746f6b656e315f616d6f756e7454000000b3000000126d696e5f746f6b656e325f616d6f756e7457000000b3000000096665655f7261746562000000b300000014736166656e756d6265725f6665655f7261746566000000b3000000156c69717569646974795f746f6b656e5f6e616d6581000000b3000000176c69717569646974795f746f6b656e5f73796d626f6c8b000000b30000000c6576656e74417267537472ae000000b3000000040000000b636865636b41646d696e055f454e560b70617273655f617267731769735f6e61746976655f61737365745f73796d626f6c0970726f746f5f32313602000037020000020203040000008700400087404001a60000012600800002000000040873746f726167650406737461746500000000000000000400000036020000360200003602000037020000020000000573656c660000000004000000046172670000000004"; + replace_code += "000000000000000970726f746f5f32323a0200003c0200000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f7261676504056e616d6501000000010b00000000070000003a0200003a0200003a0200003b0200003b0200003b0200003c020000020000000573656c6600000000070000000461726700000000070000000100000011636865636b5374617465496e697465640970726f746f5f32333f020000410200000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040a707265636973696f6e01000000010b00000000070000003f0200003f0200003f02000040020000400200004002000041020000020000000573656c660000000007000000025f00000000070000000100000011636865636b5374617465496e697465640970726f746f5f323444020000460200000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040773796d626f6c01000000010b000000000700000044020000440200004402000045020000450200004502000046020000020000000573656c6600000000070000000461726700000000070000000100000011636865636b5374617465496e697465640970726f746f5f3235490200004b0200000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040661646d696e01000000010b00000000070000004902000049020000490200004a0200004a0200004a0200004b020000020000000573656c660000000007000000025f00000000070000000100000011636865636b5374617465496e697465640970726f746f5f32364e020000500200000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f726167650407737570706c7901000000010b00000000070000004e0200004e0200004e0200004f0200004f0200004f02000050020000020000000573656c6600000000070000000461726700000000070000000100000011636865636b5374617465496e697465640970726f746f5f323753020000550200000203040600000086004000c7404000c780c001a4800001a600000126008000030000000409746f737472696e67040873746f72616765040a616c6c6f774c6f636b0100000000000000000006000000530200005302000053020000530200005402000055020000030000000573656c660000000006000000025f00000000060000000a726573756c74537472040000000600000001000000055f454e560970726f746f5f3238580200005a0200000203040600000086004000c7404000c780c001a4800001a600000126008000030000000409746f737472696e67040873746f726167650404666565010000000000000000000600000058020000580200005802000058020000590200005a020000030000000573656c660000000006000000025f000000000600000007666565537472040000000600000001000000055f454e560970726f746f5f32395d0200005f0200000203040600000086004000c7404000c780c001a4800001a600000126008000030000000409746f737472696e67040873746f7261676504126d696e5472616e73666572416d6f756e7401000000000000000000060000005d0200005d0200005d0200005d0200005e0200005f020000030000000573656c660000000006000000025f0000000006000000156d696e5472616e73666572416d6f756e74537472040000000600000001000000055f454e560970726f746f5f33306202000063020000020203040000008700400087404001a60000012600800002000000040873746f726167650412666565526563656976654164647265737300000000000000000400000062020000620200006202000063020000020000000573656c660000000004000000025f0000000004000000000000000970726f746f5f3331660200006e0200000203061a00000085000000c0000000a440000185008000c0000000a440000186004001c0008000a48000015f4040011ec00180a20000001e400080204040011ec00080c680400101c10000e5000001e6000000c7004100ca808082c680410101c1010040018000e44080012600800008000000040a746f696e746567657213000000000000000004066572726f7204116572726f722066656520666f726d6174040873746f7261676504046665650405656d6974040b4665654368616e676564030000000106010a0000000000001a0000006602000066020000660200006702000067020000670200006802000068020000680200006902000069020000690200006902000069020000690200006a0200006a0200006a0200006a0200006c0200006c0200006d0200006d0200006d0200006d0200006e020000030000000573656c66000000001a00000007666565537472000000001a00000004666565090000001a000000030000000b636865636b41646d696e0b636865636b5374617465055f454e560970726f746f5f333271020000790200000203061a00000085000000c0000000a440000185008000c0000000a440000186004001c0008000a48000015f4040011ec00180a20000001e400080204040011ec00080c680400101c10000e5000001e6000000c70041"; + replace_code += "00ca808082c680410101c1010040018000e44080012600800008000000040a746f696e746567657213000000000000000004066572726f72041f6572726f72206d696e5472616e73666572416d6f756e7420666f726d6174040873746f7261676504126d696e5472616e73666572416d6f756e740405656d697404194d696e5472616e73666572416d6f756e744368616e676564030000000106010a0000000000001a0000007102000071020000710200007202000072020000720200007302000073020000730200007402000074020000740200007402000074020000740200007502000075020000750200007502000077020000770200007802000078020000780200007802000079020000030000000573656c66000000001a000000156d696e5472616e73666572416d6f756e74537472000000001a000000126d696e5472616e73666572416d6f756e74090000001a000000030000000b636865636b41646d696e0b636865636b5374617465055f454e560970726f746f5f33337c020000860200000202051f00000085000000c0000000a440000185008000c0000000a440000186004001c0008000a4800001a24000001ec0008086404001c1800000a5000001a600000086c04001c0008000a4800001a20000001ec0008086404001c1000100a5000001a6000000874041008a40008386c04101c100020000018000a44080012600800009000000041169735f76616c69645f6164647265737304066572726f720410696e76616c69642061646472657373041a69735f76616c69645f636f6e74726163745f61646472657373041b63616e27742075736520636f6e74726163742061646472657373040873746f72616765041266656552656365697665416464726573730405656d6974041946656552656365697665416464726573734368616e676564030000000106010a0000000000001f0000007c0200007c0200007c0200007d0200007d0200007d0200007e0200007e0200007e0200007e0200007e0200007f0200007f0200007f0200007f02000081020000810200008102000081020000810200008202000082020000820200008202000084020000840200008502000085020000850200008502000086020000020000000573656c66000000001f000000126665655265636569766541646472657373000000001f000000030000000b636865636b41646d696e0b636865636b5374617465055f454e560970726f746f5f33348a020000910200000202051500000085000000c0000000a440000185008000c0000000a44000018700400087404001a20000001ec0008086804001c1c00000a5000001a6000000870040008a00c18086404101c180010001c10100a44080012600800008000000040873746f72616765040a616c6c6f774c6f636b04066572726f72142f7468697320636f6e747261637420686164206265656e206f70656e656420616c6c6f774c6f636b206265666f726501010405656d6974040c416c6c6f7765644c6f636b0401030000000106010a000000000000150000008a0200008a0200008a0200008b0200008b0200008b0200008c0200008c0200008c0200008c0200008d0200008d0200008d0200008d0200008f0200008f0200009002000090020000900200009002000091020000020000000573656c660000000015000000025f0000000015000000030000000b636865636b41646d696e0b636865636b5374617465055f454e560970726f746f5f333594020000950200000202060b00000086004000c64040000181000040018000e4808001e24000001e000080c1c00000a5000001a600000026008000040000000409746f737472696e67040d666173745f6d61705f67657404067573657273130000000000000000010000000000000000000b0000009402000094020000940200009402000094020000940200009402000094020000940200009402000095020000020000000573656c66000000000b0000000561646472000000000b00000001000000055f454e560970726f746f5f333698020000a00200000204051800000085000000c0000000a4400001620000001e8000809c008000200040011ec000808640c000c1800000a5000001a600000085000001c0008000a440000185008001c000000000018000a4808001c6c0c00000010001e4800001e6000001260080000400000013010000000000000004066572726f72142a617267206572726f722c206e656564206f776e6572206164647265737320617320617267756d656e740409746f737472696e6704000000010b0000010c0112000000001800000098020000980200009802000099020000990200009902000099020000990200009a0200009a0200009a0200009a0200009c0200009c0200009c0200009d0200009d0200009d0200009d0200009e0200009e0200009e0200009f020000a0020000040000000573656c660000000018000000066f776e6572000000001800000007616d6f756e7413000000180000000a616d6f756e7453747216000000180000000400000011636865636b5374617465496e69746564055f454e560d636865636b416464726573731167657442616c616e63654f66557365720970726f746f5f3337a4020000a50200000202040500000086004000c1400000a5000001a6000000260080000200000004066572726f7214466e6f7420696d706c656d656e7465642c20796f752063616e2066696e642075736572732066"; + replace_code += "726f6d20636f6e7472616374207472616e73616374696f6e20686973746f72790100000000000000000005000000a4020000a4020000a4020000a4020000a5020000020000000573656c66000000000500000004617267000000000500000001000000055f454e560970726f746f5f3338a9020000e50200000211162201000085000000c0000000a440000185008000c00080000101000041410000a4800002cb80000007c14001ca000181064141014701400124810001ca000182064141014781c001248100014681410147c1c1028701c1016481000184010000dc01000121c0818b1ec00080c641410107024201e481000180018003220100001e800080dc01000220c0c0031ec00080c641420101820200e5010001e6010000c7c14200c701c30307c242000742430447c242004782c304620100001e4002808682410187c24305c00280020683410107c3410641c3000024030001a4820000a20200001ec0008086424201c1020400a5020001a60200008682410187424405c00280020683410107c341064003800324030001a4820000a20200001ec0008086424201c1820400a5020001a60200008682410187c24305c00280020683410107c341064003000424030001a4820000a20200001e00028086424201c1c2040006434101400300042483000141030500dd428305a5020001a602000085028001c0020002a442000185020002a4828000c6824101c7c2c10506434501418305008003000524838001224300001e00008001c30500e4820001e20200001e8001800683410107c34306400380058003800224838001220300001ec00080064342014103060025030001260300000683410107434606400380058003800224838001c0020006068346014183050080030005c6834101c743c10700048005e4030001244300000683410107c34606400380058683410187c34107c1c30500a403000124830000220300001e000180068346014183050080030005c4030000244300020683410107c341064643450181830500c003000264838001624300001e00008041c30500248300014683410147c3c3068683410187034707c003000600048002a4838001c6834101c7c3c10701c40500e403000164830000620300001ec00080464342018143070065030001660300004683460181830500c00300020684410107444108468441014744c6088684410187044709c004000600058002a4848001c6844101c7c4c10900058003e404000164040000240400006443000020c0818b1e400b804683410147c3c10686434501c183050000048004a4838001a24300001e00008081c30500648300018683410187c34307c6834101c703c707000480064684410147c4c1088004800364040001e48300000684410107c4410841c4050024040001a4830000a20300001ec0008086434201c1430700a5030001a603000086834601c183050000048004468441014744c1088684410187044709c00480060685410107c5410a4005800324050001a404000064040000a44300004683470147c3c7068b4301008a8302908a030181c6834101c743c1070684410107444608400480028684410187c44109c0048003a404000124040000e48300008ac303828ac301868a8381906483000186834801c1c3080000048006a443800186034901c0030002a4830001a20300001e40038086434901c0030002a4830001c64341010ec48102e4830001a20300001e40018007844907220400001e8000800c844907800480072444800126008000270000001302000000000000001447617267756d656e7420666f726d6174206572726f722c206e65656420666f726d617420697320746f5f616464726573732c696e74656765725f616d6f756e745b2c6d656d6f5d0403746f1301000000000000000407616d6f756e740409746f737472696e670409736166656d6174680407626967696e7413030000000000000004066572726f720418746f206164647265737320666f726d6174206572726f72040873746f72616765040466656504126d696e5472616e73666572416d6f756e740412666565526563656976654164647265737304036c740414616d6f756e7420666f726d6174206572726f7204036c65041a616d6f756e74206e6f7420656e6f75676820666f722066656504196f6e6c79207472616e7366657220616d6f756e74203e3d2004122077696c6c206265206163636570746564040d666173745f6d61705f67657404067573657273130000000000000000142c796f752068617665206e6f7420656e6f756e676820616d6f756e7420746f207472616e73666572206f75740404737562040d666173745f6d61705f7365740403657104046164640410616d6f756e74206f766572666c6f7704056a736f6e040664756d7073040566726f6d04056d656d6f0405656d697404095472616e73666572041a69735f76616c69645f636f6e74726163745f61646472657373041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373041a6f6e5f6465706f7369745f636f6e74726163745f746f6b656e05000000010a01080000010c01050000000022010000a9020000a9020000a9020000aa020000aa020000aa020000aa020000aa020000ab020000ab020000ab020000ab020000ab020000ab020000ab020000ac020000ac020000ac020000ad020000ad020000ad020000ad020000ae020000af020000af020000af020000b0020000b0020000b0020000b0"; + replace_code += "020000b2020000b2020000b2020000b2020000b2020000b3020000b3020000b3020000b3020000b5020000b5020000b6020000b6020000b7020000b7020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b9020000b9020000b9020000b9020000bb020000bb020000bb020000bb020000bb020000bb020000bb020000bb020000bb020000bb020000bc020000bc020000bc020000bc020000be020000be020000be020000be020000be020000be020000be020000be020000be020000be020000bf020000bf020000bf020000bf020000bf020000bf020000bf020000bf020000bf020000c1020000c1020000c1020000c2020000c2020000c3020000c3020000c3020000c3020000c3020000c3020000c3020000c3020000c3020000c3020000c4020000c4020000c4020000c4020000c4020000c4020000c4020000c4020000c4020000c5020000c5020000c5020000c5020000c7020000c7020000c7020000c7020000c7020000c7020000c8020000c8020000c8020000c8020000c8020000c8020000c8020000c8020000c9020000c9020000c9020000c9020000c9020000c9020000c9020000c9020000c9020000c9020000ca020000ca020000ca020000ca020000ca020000cc020000cc020000cc020000cc020000cc020000cc020000cc020000cc020000cc020000cc020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000ce020000ce020000ce020000ce020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d2020000d2020000d3020000d3020000d3020000d3020000d3020000d3020000d3020000d3020000d3020000d3020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d5020000d5020000d5020000d5020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000da020000da020000da020000da020000dd020000dd020000dd020000dd020000dd020000df020000df020000df020000e0020000e0020000e0020000e1020000e1020000e1020000e1020000e1020000e2020000e2020000e2020000e5020000110000000573656c66000000002201000004617267000000002201000007706172736564080000002201000005696e666f0f0000002201000003746f120000002201000007616d6f756e741600000022010000056d656d6f1700000022010000046665652900000022010000126d696e5472616e73666572416d6f756e742b000000220100001266656552656365697665416464726573732d000000220100000d66726f6d5f6164647265737363000000220100001566726f6d5f616464726573735f62616c616e63656d000000220100000b746f5f62616c616e6365a1000000220100001c66656552656365697665416464726573734f6c6442616c616e6365d2000000f60000000c6576656e744172675374720a01000022010000136d756c74694f776e6564436f6e747261637416010000210100000a616d6f756e745374721901000021010000050000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e560d636865636b41646472657373116765745f66726f6d5f616464726573730970726f746f5f3339ea0200002f0300000212196001000085000000c0000000a440000185008000c00080000101000041410000a4800002c680400107c14001e4800001068140014701410124810001464141014781c102870140016481000184010000dc01000121c081841ec00080c681400107c24101e481000180018003c501800100028001e4410001c501800100020002e4410001620100001e400280c6414101c701c20300028002464241014782c1048142020064020001e4810000e20100001ec00080c681420101c20200e5010001e6010000c7014300c741c30307024300078243044702430047c2c3048642410187024205c002800206434101078341064003800324030001a4820000a20200001ec0008086824201c1020400a5020001a60200008642410187424405c002800206434101078341064003000424030001a4820000a20200001e00028086824201c182040006834001400300042483000141c30400dd428305a5020001a60200008642410187824105c60245010143050040038001e4828001e24200001e000080c1420200a4820001a20200001e800180c6424101c742c4050003000540038002e4828001e20200001ec00080c682420101830500e5020001e6020000c602450101c3050040038001e4828001e24200001ec00180068342014103060080038001c1430600000400025d03840625030001260300000683460146c346014703c70686834001c0038005a403000164030000248300004503000264"; + replace_code += "838000220300001e80008087430306a24300001e40028086834201c1030600000480014144060080040002c144070000058006dd038507a5030001a60300008643410187834107c7430306a4830001a20300001e800180c6434101c783c7070004800240040007e4838001e20300001e400280c6834201010406004004800181440600c004000201450700400580061d440508e5030001e6030000c6434101c783c10706044501414405008004000224848001224400001e00008001440200e483000106444101074444084644410147c4c70880048007c0048002648480018644410187844109c1440200a404000124840000220400001ec0008006844201410408002504000126040000064448014144050080040002c6444101c784c009064541010785480a4645410147c5c70a80058007c005800264858001864541018785410bc0058003a405000124050000e40400002444000020c081841e400b8006444101078441084604450181440500c004800464848001624400001e0000804144020024840001464441014744c4088644410187c44709c0040008064541010785410a4005800324050001a4840000c6444101c784c10901450200e404000164840000620400001ec00080468442018104080065040001660400004644480181440500c0048004064541010785400a4645410147c5c70a80050008c6454101c785c10b00068003e4050001640500002405000064440000064448014144050080048001c6444101c784c009064541010785480a464541014785c10a86054501c145050000068001a4058001648500008005800224058001e4040000244400000644410107c44808464441014784c10886044501c144050000058001a4048001648400008644410187844109c1440200a404000124840000220400001e000180064448014144050080048001c4040000244400020644410107844008464441014784c80880040007c004800264048001248400000a038406074403061f4042081e0000800a03c9060644480141c4050080048001c6c44601c744c90900050006e40400012444000006c44601074449084b4401004ac400934a0481938644410187844009c6444101c784c80900058002464541014785c10a8005800364050001e4040000a48400004a8404944ac481864a8481942484000146844a0181c40a00c004000864448001260080002c0000001303000000000000001453617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61742069732066726f6d416464726573732c746f416464726573732c616d6f756e74287769746820707265636973696f6e290409746f737472696e671301000000000000001302000000000000000409736166656d6174680407626967696e7413040000000000000004036c6513000000000000000004066572726f720420616d6f756e74206d75737420626520706f73697469766520696e7465676572040873746f72616765040466656504126d696e5472616e73666572416d6f756e7404126665655265636569766541646472657373041a616d6f756e74206e6f7420656e6f75676820666f722066656504036c7404196f6e6c79207472616e7366657220616d6f756e74203e3d2004122077696c6c206265206163636570746564040d666173745f6d61705f67657404067573657273142c796f752068617665206e6f7420656e6f756e676820616d6f756e7420746f207472616e73666572206f75740408616c6c6f776564142d6e6f7420656e6f75676820617070726f76656420616d6f756e7420746f2077697468647261772066726f6d3a0404746f3a0408746f7461626c6504056a736f6e04066c6f6164730411636f6e747261637443616c6c65723a200403677404046164640410616d6f756e74206f766572666c6f77040d666173745f6d61705f73657404047375620403657100040664756d7073040566726f6d0403746f0407616d6f756e7404056d656d6f0405656d697404095472616e7366657205000000010a01080000010c01050000000060010000ea020000ea020000ea020000eb020000eb020000eb020000eb020000eb020000ec020000ec020000ec020000ed020000ed020000ed020000ee020000ee020000ee020000ee020000ef020000f0020000f0020000f0020000f1020000f1020000f1020000f1020000f3020000f3020000f3020000f4020000f4020000f4020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f6020000f6020000f6020000f6020000f9020000f9020000fa020000fa020000fb020000fb020000fc020000fc020000fc020000fc020000fc020000fc020000fc020000fc020000fc020000fc020000fd020000fd020000fd020000fd020000ff020000ff020000ff020000ff020000ff020000ff020000ff020000ff020000ff020000ff02000000030000000300000003000000030000000300000003000000030000000300000003000004030000040300000403000004030000040300000403000004030000040300000403000004030000050300000503000005030000050300000503000005030000050300000503000005030000070300000703000007030000070300000a0300000a0300000a0300000a0300000b0300000b0300000c0300000c0300000c0300000c0300000c0300000c0300000c0300000c0300000e0300000e0300000e0300"; + replace_code += "000e0300000e0300000e0300000e0300000e0300000f0300000f0300001003000010030000100300001003000010030000110300001103000011030000110300001103000011030000110300001103000011030000110300001303000013030000130300001303000014030000140300001403000014030000140300001403000014030000140300001403000015030000150300001503000015030000150300001503000015030000150300001503000015030000170300001703000017030000170300001703000017030000170300001703000017030000170300001803000018030000180300001803000018030000180300001803000018030000180300001803000018030000180300001803000018030000190300001903000019030000190300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001c0300001c0300001d0300001d0300001d0300001d0300001d0300001d0300001d0300001d0300001d0300001d0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001f0300001f0300001f0300001f030000210300002103000021030000210300002103000021030000210300002103000021030000210300002103000021030000210300002103000021030000230300002303000023030000230300002303000023030000230300002303000023030000230300002303000023030000230300002303000023030000230300002303000023030000240300002403000024030000240300002403000024030000240300002403000024030000240300002403000024030000240300002403000024030000240300002503000025030000250300002503000025030000270300002703000027030000270300002703000027030000270300002703000027030000280300002803000028030000290300002b0300002b0300002b0300002b0300002b0300002b0300002b0300002b0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002d0300002d0300002d0300002d0300002f030000120000000573656c6600000000600100000461726700000000600100000770617273656408000000600100000c66726f6d416464726573730b000000600100000a746f416464726573730e0000006001000007616d6f756e741200000060010000056d656d6f1300000060010000046665653200000060010000126d696e5472616e73666572416d6f756e74340000006001000012666565526563656976654164647265737336000000600100001566726f6d5f616464726573735f62616c616e636561000000600100000f616c6c6f7765644461746153747272000000600100000c616c6c6f7765644461746184000000600100000f636f6e747261637443616c6c657286000000600100000f617070726f766564416d6f756e74990000006001000014746f416464726573734f6c6442616c616e6365b6000000600100001c66656552656365697665416464726573734f6c6442616c616e6365e70000000b0100000c6576656e744172675374725b01000060010000050000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e560d636865636b41646472657373116765745f66726f6d5f616464726573730970726f746f5f3430340300004a03000002080d5900000085000000c0000000a440000185008000c00080000101000041410000a4800002c680400107c14001e480000105018001400180012441000106014101074141024701400124810001220100001e400280460141014781c10280010002c6014101c741c10301c20100e401000164810000620100001ec00080460142018141020065010001660100004401000085010002a4818000c681420101c2020040020003e4818001e24100001e800080cb010000400180031e400480c601430106424301078243044682400186824201c1c2020000030003a40280016402000024020000e481000040018003624100001ec00080c601420101c20300e5010001e6010000c6014101c781c00300020002e48100014ac18101c601440101c20200400200038642430187424405c0028002a4020001e4410000cbc10000ca810189cac18089ca01018a06424501418205008642430187424405c0028003a4820001244280012600800017000000130200000000000000144c617267756d656e7420666f726d6174206572726f722c206e65656420666f726d6174206973207370656e646572416464726573732c616d6f756e74287769746820707265636973696f6e290409746f737472696e671301000000000000000409736166656d6174680407626967696e7404036c7413000000000000000004066572726f720424616d6f756e74206d757374206265206e6f6e2d6e6567617469766520696e7465676572040d666173745f6d61705f6765740408616c6c6f7765640408746f7461626c6504056a736f6e04066c6f616473041b616c6c6f7765642073746f726167652064617461206572726f72040d666173745f6d61705f7365740406"; + replace_code += "64756d7073040566726f6d04087370656e6465720407616d6f756e740405656d69740409417070726f76656405000000010a01080000010c010500000000590000003403000034030000340300003503000035030000350300003503000035030000360300003603000036030000370300003703000037030000380300003803000038030000380300003903000039030000390300003903000039030000390300003903000039030000390300003903000039030000390300003a0300003a0300003a0300003a0300003c0300003d0300003d0300003e0300003e0300003e0300003e0300003e0300003e0300003f0300003f0300003f0300004103000041030000410300004103000041030000410300004103000041030000410300004103000041030000410300004203000042030000430300004303000043030000430300004603000046030000460300004603000046030000470300004703000047030000470300004703000047030000470300004703000048030000480300004803000048030000490300004903000049030000490300004903000049030000490300004a030000080000000573656c660000000059000000046172670000000059000000077061727365640800000059000000087370656e6465720b0000005900000007616d6f756e7412000000590000000c616c6c6f7765644461746123000000590000000f636f6e747261637443616c6c65722500000059000000096576656e744172675100000059000000050000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e560d636865636b41646472657373116765745f66726f6d5f616464726573730970726f746f5f34314f0300006203000002090a2f00000085000000c00080000101000041410000a4800002c680c00007c14001e48000010681c00047014001248100014501000180018001644100014501000180010002644100014601c10081410100c001000264818001624100001e40008081810100a601000186c1c100c601c200c741c2030682c0004002800224020001e4010000a4810000a24100001e400080c1810100e6010001c7c10003e24100001e40008001820100260200010682c000400280032482000126020001260080000a0000001302000000000000001447617267756d656e7420666f726d6174206572726f722c206e65656420666f726d6174206973207370656e646572416464726573732c617574686f72697a6572416464726573730409746f737472696e67130100000000000000040d666173745f6d61705f6765740408616c6c6f7765640402300408746f7461626c6504056a736f6e04066c6f6164730300000001080000010c000000002f0000004f0300004f0300004f0300004f0300004f0300005003000050030000500300005103000051030000510300005203000052030000520300005303000053030000530300005403000054030000540300005403000055030000550300005603000056030000580300005803000058030000580300005803000058030000580300005803000059030000590300005a0300005a0300005c0300005d0300005d0300005e0300005e0300006003000060030000600300006103000062030000090000000573656c66000000002f00000004617267000000002f00000007706172736564050000002f000000087370656e646572080000002f0000000b617574686f72697a65720b0000002f0000000f616c6c6f77656444617461537472150000002f0000000c616c6c6f77656444617461210000002f0000000e616c6c6f776564416d6f756e74260000002f00000011616c6c6f776564416d6f756e745374722d0000002f000000030000001470617273655f61745f6c656173745f61726773055f454e560d636865636b416464726573730970726f746f5f3432670300006e0300000204060e00000080008000c500000000010001e4400001c600c0000141000040010001e4808001e24000001e4000800181000026010001e60000012600800003000000040d666173745f6d61705f6765740408616c6c6f77656404037b7d02000000010c0000000000000e00000067030000680300006803000068030000690300006903000069030000690300006a0300006a0300006b0300006b0300006d0300006e030000040000000573656c66000000000e00000004617267000000000e0000000b617574686f72697a6572010000000e0000000f616c6c6f77656444617461537472080000000e000000020000000d636865636b41646472657373055f454e560970726f746f5f3433710300007a0300000202051a00000087004000874040011f8040011ec0008086c04000c1000100a5000001a600000087004000874040011f4041011ec0008086c04000c1800100a5000001a600000085008000c0000000a4400001870040008a40c18086c04100c100020001410200a4408001260080000a000000040873746f7261676504067374617465040853544f5050454404066572726f7204277468697320636f6e74726163742073746f70706564206e6f772c2063616e2774207061757365040750415553454404267468697320636f6e747261637420706175736564206e6f772c2063616e27742070617573650405656d6974040750617573656404010200000000000106000000001a000000710300007103000071030000710300007203000072030000720300007203000074"; + replace_code += "030000740300007403000074030000750300007503000075030000750300007703000077030000770300007803000078030000790300007903000079030000790300007a030000020000000573656c66000000001a00000004617267000000001a00000002000000055f454e560b636865636b41646d696e0970726f746f5f34347d030000830300000202051200000087004000874040015f8040011ec0008086c04000c1000100a5000001a600000085008000c0000000a4400001870040008a40c18086804100c1c0010001010200a44080012600800009000000040873746f7261676504067374617465040750415553454404066572726f72142b7468697320636f6e7472616374206e6f7420706175736564206e6f772c2063616e277420726573756d650407434f4d4d4f4e0405656d69740408526573756d65640401020000000000010600000000120000007d0300007d0300007d0300007d0300007e0300007e0300007e0300007e03000080030000800300008003000081030000810300008203000082030000820300008203000083030000020000000573656c66000000001200000004617267000000001200000002000000055f454e560b636865636b41646d696e0970726f746f5f3435860300008f0300000202051a00000087004000874040011f8040011ec0008086c04000c1000100a5000001a600000087004000874040011f4041011ec0008086c04000c1800100a5000001a600000085008000c0000000a4400001870040008a80c08086c04100c100020001410200a4408001260080000a000000040873746f7261676504067374617465040853544f5050454404066572726f7204267468697320636f6e74726163742073746f70706564206e6f772c2063616e27742073746f70040750415553454404257468697320636f6e747261637420706175736564206e6f772c2063616e27742073746f700405656d6974040853746f7070656404010200000000000106000000001a0000008603000086030000860300008603000087030000870300008703000087030000890300008903000089030000890300008a0300008a0300008a0300008a0300008c0300008c0300008c0300008d0300008d0300008e0300008e0300008e0300008e0300008f030000020000000573656c66000000001a00000004617267000000001a00000002000000055f454e560b636865636b41646d696e0970726f746f5f343693030000af03000002070e7d00000085000000c0000000a44000018700400087404001a24000001ec000808680c000c1c00000a5000001a600000085000001c00080000101010041410100a4800002c680c100c7c0c10107014201e48000010641c2004701410124810001e20000001e4002804681c1004781c20280018001c681c100c7c1c10301020200e401000164810000620100001ec000804681c00081c102006501000166010000220100001ec000804601c30064818000204001021e0002804681c00081410300c681c3000602c30024028000e48100009dc101036501000166010000450180016481800086c1c3005f8081021ec000808681c000c1010400a5010001a60100008681c10087c14103c50100020002000040028002e4018001a4810000c681c100c741c4030002800140020003e4818001e20100001ec00080c681c00001820400e5010001e6010000c6c1c4000102050040028002e4818001e24100001e400380c641c50001020500400280028682c10087824305c0028001a4820001c18205000683c30040030002248300019d020305e44100021ec00080c681c00001c20500e5010001e6010000c641c50001020600400280028682c10087824305c682c100c742c6050003000340038001e4028001a4020000e4410000c681c60001c206004682c1004782c3048002800164820001e4418001260080001c000000040873746f72616765040a616c6c6f774c6f636b04066572726f72142b7468697320746f6b656e20636f6e7472616374206e6f7420616c6c6f77206c6f636b2062616c616e6365130200000000000000144261726720666f726d6174206572726f722c206e65656420666f726d617420697320696e74656765725f616d6f756e742c756e6c6f636b426c6f636b4e756d6265720409736166656d6174680407626967696e74130100000000000000040a746f696e746567657204036c74142a746f20756e6c6f636b20616d6f756e74206d75737420626520706f73697469766520696e746567657204156765745f6865616465725f626c6f636b5f6e756d1443746f20756e6c6f636b20626c6f636b206e756d6265722063616e2774206265206561726c696572207468616e2063757272656e7420626c6f636b206e756d626572200409746f737472696e67040f63616c6c65725f61646472657373142a6f6e6c7920636f6d6d6f6e2075736572206163636f756e742063616e206c6f636b2062616c616e6365040367740424796f752068617665206e6f7420656e6f7567682062616c616e636520746f206c6f636b040d666173745f6d61705f676574040e6c6f636b6564416d6f756e7473040d666173745f6d61705f73657404022c1462796f752068617665206c6f636b65642062616c616e6365206e6f772c206265666f7265206c6f636b20616761696e2c20796f75206e65656420756e6c6f636b207468656d206f7220757365206f74686572206164647265737320746f206c6f636b040675"; + replace_code += "7365727304047375620405656d697404074c6f636b656405000000010a0000010701050112000000007d00000093030000930300009303000094030000940300009403000094030000950300009503000095030000950300009703000097030000970300009703000097030000980300009803000098030000980300009903000099030000990300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009b0300009b0300009b0300009b0300009d0300009d0300009d0300009d0300009d0300009d0300009e0300009e0300009e0300009e0300009e0300009e0300009e0300009e0300009e030000a0030000a0030000a1030000a1030000a1030000a2030000a2030000a2030000a2030000a4030000a4030000a4030000a4030000a4030000a4030000a4030000a5030000a5030000a5030000a5030000a5030000a5030000a5030000a6030000a6030000a6030000a6030000a8030000a8030000a8030000a8030000a8030000a8030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000ab030000ab030000ab030000ab030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ae030000ae030000ae030000ae030000ae030000ae030000ae030000af030000070000000573656c66000000007d00000004617267000000007d00000007706172736564100000007d0000000d746f4c6f636b416d6f756e74140000007d00000012756e6c6f636b426c6f636b4e756d626572170000007d0000000d66726f6d5f61646472657373380000007d0000000862616c616e6365460000007d000000050000000b636865636b5374617465055f454e560b70617273655f61726773116765745f66726f6d5f616464726573731167657442616c616e63654f66557365720970726f746f5f3437b2030000c803000002070e6900000085000000c0000000a44000018700400087404001a24000001ec000808680c000c1c00000a5000001a600000085000001a4808000c600c1000141010040010001e4808001e24000001ec00080c680c00001810100e5000001e6000000c500800106c1c1004601c10081410100c001000164018001248100004101020081410200e48000020681c20007c142024701c301248100014641c3008701c201648100018681c300a4818000204001031ec001808681c000c1c1030006c2c1004002800224820001dd018203a5010001a60100008601c400c14101000002000144020000a44100028681c20087c14203c50100020002000040020001e4018001a4810000c681c200c741c4030682c200078244044002000380020002248280014682c20047c2c20481c2040064020001e4810000e20100001ec00080c681c00001020500e5010001e6010000c601c40001420500400200018682c20087c24105c682c200c782c4050003000340030002e4028001a4020000e4410000c681c50001c205004002000181020600c682c200c7c2c10500030002e48200015dc28204e44180012600800019000000040873746f72616765040a616c6c6f774c6f636b04066572726f72142b7468697320746f6b656e20636f6e7472616374206e6f7420616c6c6f77206c6f636b2062616c616e6365040d666173745f6d61705f676574040e6c6f636b6564416d6f756e7473041c796f752068617665206e6f74206c6f636b65642062616c616e63650409746f737472696e6713020000000000000004206c6f636b656420616d6f756e7420696e666f20666f726d6174206572726f720409736166656d6174680407626967696e74130100000000000000040a746f696e746567657204156765745f6865616465725f626c6f636b5f6e756d1435796f7572206c6f636b65642062616c616e6365206f6e6c792063616e20626520756e6c6f636b20616674657220626c6f636b2023040d666173745f6d61705f73657404036c7404046164641300000000000000000410616d6f756e74206f766572666c6f77040675736572730405656d69740409556e6c6f636b656404022c05000000010a00000105010701120000000069000000b2030000b2030000b2030000b3030000b3030000b3030000b3030000b4030000b4030000b4030000b4030000b6030000b6030000b7030000b7030000b7030000b7030000b7030000b7030000b8030000b8030000b8030000b8030000ba030000ba030000ba030000ba030000ba030000ba030000ba030000ba030000ba030000ba030000bb030000bb030000bb030000bb030000bc030000bc030000bc030000be030000be030000be030000be030000bf030000bf030000bf030000bf030000bf030000bf030000bf030000bf030000c1030000c1030000c1030000c1030000c1030000c2030000c2030000c2030000c2030000c2030000c2030000c2030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c4030000c4030000c4030000c4030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c7030000c7030000c7030000c7030000c7030000c7030000c7030000c7030000c7030000c7030000c80300000700"; + replace_code += "00000573656c660000000069000000025f00000000690000000d66726f6d5f616464726573730d00000069000000116c6f636b6564496e666f50617273656421000000690000000d6c6f636b6564416d6f756e7425000000690000001563616e556e6c6f636b426c6f636b4e756d62657228000000690000001666726f6d416464726573734f6c6442616c616e63654000000069000000050000000b636865636b5374617465055f454e56116765745f66726f6d5f616464726573730b70617273655f617267731167657442616c616e63654f66557365720970726f746f5f3438cd030000e903000002070e7700000085000000c0000000a44000018700400087404001a24000001ec000808680c000c1c00000a5000001a600000085000001c0000000a440000180008000a20000001e800080dc0000012000c1011ec00080c680c00001410100e5000001e6000000c500800100010001e4400001c680c10001c1010040010001e4808001e24000001ec00080c680c00001010200e5000001e6000000c50000020641c2004681c10081c10100c001000164018001248100004181020081c10200e48000020601c300074143024701c101248100014681c3008781c2016481000186c1c300a4818000204001031ec001808681c000c10104000642c2004002800224820001dd018203a5010001a60100008641c400c1c101000002000144020000a44100028601c30087414303c50180020002000040020001e4018001a4810000c601c300c781c4030602c30007c244044002000380020002248280014602c3004742c3048102050064020001e4810000e20100001ec00080c681c00001420500e5010001e6010000c641c40001820500400200018602c30087424205c602c300c7c2c4050003000340030002e4028001a4020000e4410000c6c1c500010206004002000181420600c602c300c742c20500030002e48200015dc28204e4418001260080001a000000040873746f72616765040a616c6c6f774c6f636b04066572726f72142b7468697320746f6b656e20636f6e7472616374206e6f7420616c6c6f77206c6f636b2062616c616e6365130100000000000000142f617267756d656e7420666f726d6174206572726f722c206e65656420666f726d6174207573657241646472657373040d666173745f6d61705f676574040e6c6f636b6564416d6f756e747304227468697320757365722068617665206e6f74206c6f636b65642062616c616e63650409746f737472696e6713020000000000000004206c6f636b656420616d6f756e7420696e666f20666f726d6174206572726f720409736166656d6174680407626967696e74040a746f696e746567657204156765745f6865616465725f626c6f636b5f6e756d143a746869732075736572206c6f636b65642062616c616e6365206f6e6c792063616e20626520756e6c6f636b20616674657220626c6f636b2023040d666173745f6d61705f73657404036c7404046164641300000000000000000410616d6f756e74206f766572666c6f77040675736572730405656d69740409556e6c6f636b656404022c06000000010a00000106010c010701120000000077000000cd030000cd030000cd030000ce030000ce030000ce030000ce030000cf030000cf030000cf030000cf030000d1030000d1030000d1030000d2030000d3030000d3030000d3030000d3030000d3030000d4030000d4030000d4030000d4030000d6030000d6030000d6030000d8030000d8030000d8030000d8030000d8030000d8030000d9030000d9030000d9030000d9030000db030000db030000db030000db030000db030000db030000db030000db030000db030000db030000dc030000dc030000dc030000dc030000dd030000dd030000dd030000df030000df030000df030000df030000e0030000e0030000e0030000e0030000e0030000e0030000e0030000e0030000e2030000e2030000e2030000e2030000e2030000e3030000e3030000e3030000e3030000e3030000e3030000e3030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e5030000e5030000e5030000e5030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e8030000e8030000e8030000e8030000e8030000e8030000e8030000e8030000e8030000e8030000e9030000070000000573656c6600000000770000000461726700000000770000000975736572416464720f00000077000000116c6f636b6564496e666f5061727365642f000000770000000d6c6f636b6564416d6f756e7433000000770000001563616e556e6c6f636b426c6f636b4e756d62657236000000770000000f757365724f6c6442616c616e63654e00000077000000060000000b636865636b5374617465055f454e560b636865636b41646d696e0d636865636b416464726573730b70617273655f617267731167657442616c616e63654f66557365720970726f746f5f3439ec030000f20300000203050f00000086004000c140000000018000a4808001a24000001e80008081800000a60000011e00018086004000c140000000018000a4808001a60000012600800003000000040d666173745f6d61705f676574040e6c6f636b6564416d6f756e74730404302c30010000000000000000000f0000"; + replace_code += "00ec030000ec030000ec030000ec030000ec030000ec030000ed030000ed030000ed030000ef030000ef030000ef030000ef030000f0030000f2030000030000000573656c66000000000f000000066f776e6572000000000f0000000a726573756c745374720d0000000e00000001000000055f454e560970726f746f5f3530f903000076040000021a1a8001000085000000c0000000a440000185008000c00080000101000041410000a4800002c680400107c14001e48000010681400147014101248100014681400187014001648100016140c1011e400080214041021ec0008086814101c1c10100a5010001a60100002140c1021ec0008086814101c1010200a5010001a60100008741420087814203208081011ec0008086814101c1c10200a5010001a60100008741420087014303208001021ec0008086814101c1410300a5010001a601000086814301a4818000218081021ec0008086814101c1c10300a5010001a60100008501800160c000031e80008085018001200001031ec0018086814101c1010400064244014502800124820001dd018203a5010001a60100008741420087814403c7414200c7c1c40305028001608001041e8000800502800120c001041ec00180068241014102050086424401c5028001a48200015d828204250200012602000006424501078245044002800124820001400200028642450187824505c1420100a48200015f4041031e8008805f40c1031e000880c6424501c7c2c505064345010703460640030004800380032483800140030003e482800106834001464345014743c606800380056403000124830000400200060643450107834606464345014783c50680038004648300018003800524838001220300001e0000804dc2c004204002021ec000800683410141c306002503000126030000c5028001ce82810520c080051ec00180c6824101010307004643440185038001648300011d430306e5020001e6020000c5028001cec28105204082051ec00180c6824101014307004643440185038001648300011d430306e5020001e6020000c5020002e482800006834701248380004003800581c30700c003000601c407005d0384068743420087034807c7434200c743c807050480024004000724840001220400001e800180050400034004000080048005c004000719058001244480021e4005800684480141c4080080048006c644440100058001e48400019dc4040924448001068448014104080080040007244480010604490140040007248400014c444908c0048006064544014005800124850001dd04850964448001050480024004800724840001220400001e800180050400034004000080048005c004800719058004244480021e4002800604490140048007248400014c444908c0048006064544014005800424850001dd0485096444800106444501078449084144010024840001464445014784c9088744420087c44909648400011f4041031e8003801f40c1031e0003808644450187044a09c6444501c784c90900058001e4840001064545010785490a41450a0024050001a4840000000400091ec006805f4041031e4005805f40c1031ec004808644450187844a09c6444501c704ca09064545010785490a464545014745c60a80050004640500012485000040058008e4848001064545010785490a4005000324050001a4840000000400091ec0008086844101c1c40a00a5040001a60400008644450187044b09c0040008064545010785490a4145010024050001a4840000a20400001ec0008086844101c1440b00a5040001a60400008644450187844b09c004800800050008a4848001c6444501c7c4cb090645450107054c0a40050009800580082485800140050008e4848001e20400001ec00080c684410101450c00e5040001e6040000c74442000dc50003ca040589c74442000d458203ca048589c7444200064545010745440a4005000924850001ca048593c6444501c784c90906854c0141c50c008005800524858001224500001e00008001450100e48400010645450107854b0a40058009800500082485800146054d0181c50c00c0058005064645010746440c4006000a24060001644500004b0500004ac500074a45820786454d01c1850d0006c64d0107064e0c4006800a24860001a445800186454d01c1450e00064645010746440c4006000824860001a445800186c54d0187054e0bcb450100cac54e9dcac5029e064645010746440c4006000824860001ca05869ecac54f9fcac54ea0a4850001c6454d01014610004006000be44580012600800042000000130300000000000000145f617267756d656e7420666f726d6174206572726f722c206e65656420666f726d6174206973206164645f746f6b656e315f616d6f756e742c6d61785f6164645f746f6b656e325f616d6f756e742c657870697265645f626c6f636b6e756d040a746f696e746567657213010000000000000013020000000000000013000000000000000004066572726f72041a61646420746f6b656e20616d6f756e74206d757374203e2030041b657870697265645f626c6f636b6e756d206d757374203e3d2030040873746f7261676504126d696e5f746f6b656e315f616d6f756e74142c6164645f746f6b656e315f616d6f756e74206d757374203e3d206d696e5f746f6b656e315f616d6f756e7404126d696e5f746f6b656e325f616d6f756e7414306d61785f6164645f746f6b656e325f616d6f"; + replace_code += "756e74206d757374203e3d206d696e5f746f6b656e325f616d6f756e7404156765745f6865616465725f626c6f636b5f6e756d0427657870697265645f626c6f636b6e756d206d757374203e20686561645f626c6f636b5f6e756d04196164645f746f6b656e5f616d6f756e206d757374203c3d200409746f737472696e670414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e74142b746f6b656e5f706f6f6c5f616d6f756e7420657863656564204d41585f544f4b454e5f414d4f554e543a0409736166656d617468040b736166656e756d626572040b6e756d6265725f64697604106e756d6265725f6d756c7469706c79040d6e756d6265725f746f696e74040a6e756d6265725f6e65142f636163756c6174655f746f6b656e325f616d6f756e74203e206d61785f6164645f746f6b656e325f616d6f756e7414386166746572206164642c20746f6b656e5f315f706f6f6c5f616d6f756e7420657863656564204d41585f544f4b454e5f414d4f554e543a14386166746572206164642c20746f6b656e5f325f706f6f6c5f616d6f756e7420657863656564204d41585f544f4b454e5f414d4f554e543a041d6765745f63757272656e745f636f6e74726163745f6164647265737304022c0415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e74726163744164647204067072696e74040e63616c6c657220706172616d3a041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373040d7472616e7366657246726f6d0407626967696e740407737570706c7904046d756c13e8030000000000000404646976144d696e7465726e616c206572726f722c20746f6b656e5f315f706f6f6c5f616d6f756e742c746f6b656e5f325f706f6f6c5f616d6f756e742c737570706c79206e6f7420756e6966696564203004036c650420676574206c697175696469747920746f6b656e20616d6f756e742069732030040461646404036e6504047375620410737570706c79206f766572666c6f77040d666173745f6d61705f67657404067573657273040d666173745f6d61705f7365740405656d6974040f4c6971756964697479416464656404056a736f6e040664756d707304154c6971756964697479546f6b656e4d696e746564040566726f6d04010403746f0407616d6f756e74040466656504023004056d656d6f04095472616e7366657207000000010a0108000001010105010d010e0000000080010000f9030000f9030000f9030000fa030000fa030000fa030000fa030000fa030000fb030000fb030000fb030000fc030000fc030000fc030000fd030000fd030000fd030000ff030000ff030000ff030000ff03000000040000000400000004000000040000020400000204000003040000030400000304000003040000050400000504000005040000050400000604000006040000060400000604000008040000080400000804000008040000090400000904000009040000090400000b0400000b0400000b0400000b0400000c0400000c0400000c0400000c0400000e0400000e0400000e0400000e0400000e0400000e0400000f0400000f0400000f0400000f0400000f0400000f0400000f0400000f0400001304000013040000140400001404000016040000160400001604000016040000160400001604000017040000170400001704000017040000170400001704000017040000170400001a0400001a0400001a0400001a0400001b0400001d0400001d0400001d0400001d0400001e0400001e0400001e0400001e0400001f0400001f0400001f0400001f0400001f0400001f0400001f0400001f0400001f040000200400002004000020040000200400002004000020040000200400002104000021040000210400002104000021040000210400002104000021040000210400002104000022040000240400002404000025040000250400002504000025040000290400002904000029040000290400002a0400002a0400002a0400002a0400002a0400002a0400002a0400002a0400002d0400002d0400002d0400002d0400002e0400002e0400002e0400002e0400002e0400002e0400002e0400002e0400003204000032040000330400003304000034040000340400003404000034040000340400003504000035040000360400003604000039040000390400003904000039040000390400003b0400003b0400003b0400003b0400003b0400003b0400003b0400003e0400003e0400003e0400003e0400003e0400003e0400003e0400003e0400003f0400003f0400003f0400003f040000400400004004000040040000410400004104000041040000410400004104000041040000410400004404000044040000440400004404000044040000460400004604000046040000460400004604000046040000460400004904000049040000490400004a0400004a0400004a0400004a0400004a0400004a0400004a0400004e0400004e0400004e0400004e0400004f0400004f0400004f0400004f0400004f040000510400005104000051040000510400005204000052040000520400005204000052040000520400005204000052040000520400005204000052040000520400005204000053040000530400005304000053040000540400005404000054040000540400005404000054040000540400005404000054040000540400"; + replace_code += "005404000054040000540400005404000054040000540400005404000054040000540400005404000056040000560400005604000056040000590400005904000059040000590400005904000059040000590400005904000059040000590400005a0400005a0400005a0400005a0400005d0400005d0400005d0400005d0400005d0400005e0400005e0400005e0400005e0400005e0400005e0400005e0400005e0400005e0400005e0400005e0400005f0400005f0400005f0400005f0400006204000062040000620400006304000063040000630400006504000065040000650400006504000065040000650400006804000068040000680400006804000068040000680400006804000068040000680400006804000069040000690400006904000069040000690400006a0400006a0400006a0400006a0400006a0400006a0400006a0400006a0400006c0400006d0400006e0400006f0400006f0400006f0400006f0400006f0400006f0400006f040000700400007004000070040000700400007004000070040000700400007104000071040000710400007104000071040000710400007104000071040000710400007104000071040000710400007104000072040000720400007204000072040000760400001a0000000573656c660000000080010000046172670000000080010000077061727365640800000080010000126164645f746f6b656e315f616d6f756e740b00000080010000166d61785f6164645f746f6b656e325f616d6f756e740e0000008001000011657870697265645f626c6f636b6e756d110000008001000014746f6b656e5f315f706f6f6c5f616d6f756e74470000008001000014746f6b656e5f325f706f6f6c5f616d6f756e7449000000800100001d6164645f746f6b656e315f616d6f756e745f736166656e756d6265725b0000008001000017636163756c6174655f746f6b656e325f616d6f756e745c000000800100000d736166656e756d6265725f3060000000800100000574656d706d000000850000000d66726f6d5f616464726573739f000000800100000d6375725f636f6e7472616374a1000000800100000a707269666978737472a60000008001000015746f6b656e5f315f636f6e747261637441646472a80000008001000015746f6b656e5f325f636f6e747261637441646472aa0000008001000010746f6b656e315f636f6e7472616374c5000000cc00000010746f6b656e325f636f6e7472616374db000000e20000000d746f6b656e5f616d6f756e74e60000008001000007737570706c79eb000000800100000b737570706c795f6e65772b010000800100000462616c50010000800100000862616c5f6e65775501000080010000096576656e744172675e010000800100000c6576656e744172675374727b01000080010000070000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e56114d41585f544f4b454e5f414d4f554e54116765745f66726f6d5f616464726573731769735f6e61746976655f61737365745f73796d626f6c186368616e6765557365724e617469766542616c616e63650970726f746f5f35317c040000f10400000218193501000085000000c00080000101000041410000a4800002c680c000c7c0c00107014101e48000010641c10047814101248100014641c10087c14101648100018641c100c7014001a4810001c30100001c0200014642c1008102000064820001200082041ec000800602c2004742420124820001c0010004608042021e4000802080c2021ec0008006c2c200410203002502000126020000218042031ec0008006c2c2004142030025020001260200000682c30024828000210002031ec0008006c2c20041c20300250200012602000005020001248280004682c00047c2c0048602c400c142040000030004a4828001a24200001e00008081820200648200018682c00087824405c002800100038004a4828001a20200001ec0008086c2c200c1c20400a5020001a60200008702450087424505c7024500c782c5050683c00007c340064703450047c3c50624830001618042051ec002804683c0004703c60680030006c683c000c7c3c00701840200e403000164830000624300001e4000802180c2051ec0008046c3c2008143060065030001660300004683c60080030002c0030005000480024004800564438002600001051e400080204081051ec0008046c3c20081c3060065030001660300004183020081830200c683c000c703c7070004000640048001e4838001e20300001e80008040030005800380051ec00880c683c000c743c7070684c000078447084004800124040001e48300000684c00007c44708400480078684c00087444709c684c000c784c70900050006e4040001a4040000248400004684c0004704c8088684c00087444809c004000800050005a404800164840000400380084684c0004704c8088684c00087444809c004000800058005a40480016484000080038008200081061ec00080c6c3c20001840800e5030001e6030000204001071ec00080c6c3c20001c40800e5030001e6030000c7034500c703c907070445000744490840040004818409005d84840885048001c0048007a4840001a20400001e00048085040002c0040000000500044005800780058006a4448002e20100001e80048085048002c004000000050004400580078685c700c0058006a4050001a44400001e"; + replace_code += "40028086c4c900c0048007a4840001cc044a09400580088685c700c0058006a48500015d85850ae444800185048001c0040008a4840001a20400001e00048085040002c0040000000500044005000880050007a4448002e20100001e80048085048002c004000000050004400500088685c700c0050007a4050001a44400001e40028086c4c900c0040008a4840001cc044a09400580088685c700c0050007a48500015d85850ae444800187044500ce4403058ac4848a87044500ce8483058ac4048b87044500c684c000c784c7090685c00007454a0a400500068005800124058001e48400008ac4848b8684ca00c1440400000500044685c0004785c70a8685c00087454a0bc005800400068001a405800164050000a44400008b0400008a4483078a840308c6c4ca0001050b004645cb004785cb0a8005000964850001e4448001c6c4ca0001c50b004685c0004785c70a8005800164850001e4448001c644cb00c784cb090b4501000a0502980a85cc984685c0004785c70a80058001648500010a4585990a454d9a0a854c9be484000106c5ca0041c50d0080058009244580012600800038000000130400000000000000149b617267756d656e7420666f726d6174206572726f722c206e65656420666f726d617420697320646573746f72795f6c69717569646974795f746f6b656e5f616d6f756e742c6d696e5f72656d6f76655f6173736574315f616d6f756e742c6d696e5f72656d6f76655f6173736574325f616d6f756e742c657870697265645f626c6f636b6e756d2c7769746864726177286f7074696f6e616c290409736166656d6174680407626967696e74130100000000000000040a746f696e7465676572130200000000000000130300000000000000040a746f626f6f6c65616e13050000000000000013000000000000000004066572726f72143b617267756d656e7420666f726d6174206572726f722c20696e7075742072656d6f766520746f6b656e20616d6f756e74206d757374203e3d2030041b657870697265645f626c6f636b6e756d206d757374203e3d203004156765745f6865616465725f626c6f636b5f6e756d0427657870697265645f626c6f636b6e756d206d757374203e20686561645f626c6f636b5f6e756d040d666173745f6d61705f67657404067573657273040367740428796f752068617665206e6f7420656e6f756768206c697175696469747920746f2072656d6f7665040873746f726167650414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e740407737570706c7904036c65040e706f6f6c20697320656d70747904067072696e74041a77726f6e672072656d6f76655f746f6b656e5f616d6f756e7404036571040b736166656e756d6265720409746f737472696e67040b6e756d6265725f646976040d6e756d6265725f746f696e7404106e756d6265725f6d756c7469706c791432636163756c6174655f746f6b656e315f616d6f756e74203c206d696e5f72656d6f76655f746f6b656e315f616d6f756e741432636163756c6174655f746f6b656e325f616d6f756e74203c206d696e5f72656d6f76655f746f6b656e325f616d6f756e740415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e74726163744164647204022c041d696d706f72745f636f6e74726163745f66726f6d5f6164647265737304097472616e736665720404737562040d666173745f6d61705f7365740405656d697404114c697175696469747952656d6f76656404056a736f6e040664756d707304184c6971756964697479546f6b656e446573746f72796564040566726f6d0403746f04010407616d6f756e74040466656504023004056d656d6f04095472616e7366657206000000010800000105010d010e010f00000000350100007c0400007c0400007c0400007c0400007c0400007e0400007e0400007e0400007e0400007f0400007f0400007f040000800400008004000080040000810400008104000081040000820400008304000083040000830400008304000083040000830400008404000084040000840400008404000087040000870400008704000087040000880400008804000088040000880400008b0400008b0400008c0400008c0400008c0400008c0400008f0400008f0400008f0400008f0400009004000090040000900400009004000094040000940400009504000095040000950400009504000095040000950400009504000095040000950400009504000096040000960400009604000096040000960400009604000096040000970400009704000097040000970400009b0400009b0400009c0400009c0400009d0400009d0400009d0400009d0400009d0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f040000a0040000a0040000a0040000a0040000a2040000a2040000a2040000a2040000a2040000a2040000a3040000a3040000a3040000a3040000a4040000a4040000a4040000a4040000a8040000a9040000ab040000ab040000ab040000ab040000ab040000ab040000ab040000ac040000ad040000ad040000b0040000b0040000b0040000b0040000b0040000b0040000b0040000b1040000b1040000b1040000b1040000b1040000b1040000b1040000b1040000b1040000b1040000b1040000b2"; + replace_code += "040000b2040000b2040000b2040000b2040000b2040000b2040000b2040000b2040000b3040000b3040000b3040000b3040000b3040000b3040000b3040000b3040000b3040000bb040000bb040000bc040000bc040000bc040000bc040000be040000be040000bf040000bf040000bf040000bf040000c3040000c3040000c4040000c4040000c8040000c8040000c8040000ca040000ca040000ca040000ca040000ca040000cc040000cc040000cc040000cc040000cc040000cc040000cd040000cd040000ce040000ce040000ce040000ce040000ce040000ce040000ce040000ce040000cf040000d3040000d3040000d3040000d4040000d4040000d4040000d4040000d4040000d4040000d4040000d7040000d7040000d7040000d7040000d7040000d9040000d9040000d9040000d9040000d9040000d9040000da040000da040000db040000db040000db040000db040000db040000db040000db040000db040000dc040000de040000de040000de040000df040000df040000df040000df040000df040000df040000df040000e3040000e3040000e3040000e4040000e4040000e4040000e5040000e5040000e5040000e5040000e5040000e5040000e5040000e5040000e5040000e5040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e8040000e9040000ea040000eb040000eb040000eb040000eb040000eb040000eb040000eb040000ec040000ec040000ec040000ec040000ec040000ec040000ec040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ef040000ef040000ef040000ef040000f1040000180000000573656c6600000000350100000461726700000000350100000770617273656405000000350100001f646573746f72795f6c69717569646974795f746f6b656e5f616d6f756e740900000035010000196d696e5f72656d6f76655f746f6b656e315f616d6f756e740c00000035010000196d696e5f72656d6f76655f746f6b656e325f616d6f756e740f0000003501000011657870697265645f626c6f636b6e756d120000003501000009776974686472617713000000350100000d66726f6d5f6164647265737335000000350100000462616c3f0000003501000014746f6b656e5f315f706f6f6c5f616d6f756e744c0000003501000014746f6b656e5f325f706f6f6c5f616d6f756e744e0000003501000007737570706c79530000003501000017636163756c6174655f746f6b656e315f616d6f756e74740000003501000017636163756c6174655f746f6b656e325f616d6f756e74750000003501000003746b86000000a30000000671756f746191000000a300000015746f6b656e5f315f636f6e747261637441646472b10000003501000015746f6b656e5f325f636f6e747261637441646472b3000000350100000a707269666978737472b60000003501000010746f6b656e315f636f6e7472616374cf000000d600000010746f6b656e325f636f6e7472616374ef000000f6000000096576656e744172671301000035010000147472616e736665724576656e744172675374723001000035010000060000001470617273655f61745f6c656173745f61726773055f454e56116765745f66726f6d5f616464726573731769735f6e61746976655f61737365745f73796d626f6c186368616e6765557365724e617469766542616c616e63651e77697468647261775f6e61746976655f61737365745f707269766174650970726f746f5f3532f5040000f70400000203070900000085000000a4808000c5008000000100004001000180018000e5000002e6000000260080000000000002000000010501100000000009000000f5040000f5040000f6040000f6040000f6040000f6040000f6040000f6040000f7040000030000000573656c6600000000090000000461726700000000090000000d66726f6d5f61646472657373020000000900000002000000116765745f66726f6d5f616464726573731065786368616e6765507269766174650970726f746f5f3533fb0400000c0500000205082200000085000000c0000000a440000185008000c0000000a440000185000001c00080000101000041410000a4800002c680c00107c14001e48000010681c00147014001248100016100c1011e400080210041021ec000804641c10181810100650100016601000047c141004ac1008447c141004a0181844681c20181c10200c001800064418001260080000c000000130200000000000000144a617267756d656e7420666f726d6174206572726f722c206e65656420666f726d6174206973206d696e5f746f6b656e315f616d6f756e742c6d696e5f746f6b656e325f616d6f756e74040a746f696e746567657213010000000000000013000000000000000004066572726f7204146d696e5f616d6f756e74206d757374203e2030040873746f7261676504126d696e5f746f6b656e315f616d6f756e7404126d696e5f746f6b656e325f616d6f756e740405656d697404105365744d696e416464416d6f756e7404000000010a0106010800000000000022000000fb040000fb040000fb040000fc040000fc040000fc040000fe040000fe040000fe040000fe040000fe0400000005000000050000000500000105000001050000010500000305000003"; + replace_code += "050000030500000305000004050000040500000405000004050000070500000705000008050000080500000a0500000a0500000a0500000a0500000c050000050000000573656c660000000022000000046172670000000022000000077061727365640b00000022000000126d696e5f746f6b656e315f616d6f756e740e00000022000000126d696e5f746f6b656e325f616d6f756e741100000022000000040000000b636865636b53746174650b636865636b41646d696e1470617273655f61745f6c656173745f61726773055f454e560970726f746f5f35340f0500001f0500000204052b0000008b000000c7404000c700c0018ac00080c7404000c780c0018ac00081c7404000c7c0c0018ac08081c7404000c740c1018ac00082c7404000c7c0c1018ac00083c7404000c700c2018ac00084c7404000c740c2018ac08084c7404000c780c2018ac00085c7404000c7c0c2018ac08085c7404000c700c3018ac00086c7404000c740c3018ac08086c6c04300e48080008ac00087c6004400c740c40100010001e4800001e60000012600800012000000040661646d696e040873746f726167650406737461746504096665655f72617465040b746f6b656e5f6e616d6504056e616d65040d746f6b656e5f73796d626f6c040773796d626f6c0415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e7404126d696e5f746f6b656e315f616d6f756e7404126d696e5f746f6b656e325f616d6f756e74040e636f6e74726163745f61646472041d6765745f63757272656e745f636f6e74726163745f6164647265737304056a736f6e040664756d7073010000000000000000002b0000000f0500001005000010050000100500001105000011050000110500001205000012050000120500001305000013050000130500001405000014050000140500001505000015050000150500001605000016050000160500001705000017050000170500001805000018050000180500001905000019050000190500001a0500001a0500001a0500001b0500001b0500001b0500001d0500001d0500001d0500001d0500001e0500001f050000040000000573656c66000000002b00000004617267000000002b00000006696e666f73010000002b0000000272290000002b00000001000000055f454e560970726f746f5f353525050000660500000210138100000085000000c0000000a440000185008000c00080000101000041410000a4800002c680400107c14001e4800001060141014741410124810001468140018701400164810001218041021ec0008086c14101c1010200a5010001a60100008741420087814203c7414200c7c1c2030742420007024304474242004742c304618041041e4000802180c1041ec0008086c24101c1820300a5020001a60200001fc080021ec0008086c24101c1c20300a5020001a60200005f8081011e4001805fc081011ec0008086c24101c1020400a5020001a60200005f8081021e4001805fc081021ec0008086c24101c1420400a5020001a60200008742420087824405c6c24401c702c50500030005e482000106c344010743450646c344014703c5068003000264830001800380052483800146c344014783c506800300066483000186c3440187c34507c6c34401c703c50700048006e483000100040006a4838001a20300001e0000804dc3c0062180c1061e00008041c30000214003021e40008081030600a6030001818301001f8081011e0002801fc081021e800180c50380010e4403024004000480048004e4830002800380071e8003801fc081011e0002801f8081021e800180c50380010e4403024004800480040004e4830002800380071ec00080c6c3410101440600e5030001e6030000c683400100040007e4830001e6030001260080001a0000001303000000000000001466617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61742069732077616e745f73656c6c5f746f6b656e5f616464722c77616e745f73656c6c5f746f6b656e5f616d6f756e742c77616e745f6275795f746f6b656e5f616464720409746f737472696e67130100000000000000040a746f696e746567657213020000000000000013000000000000000004066572726f72042077616e745f73656c6c5f746f6b656e5f616d6f756e74206d757374203e2030040873746f726167650415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e74040e706f6f6c20697320656d707479143577616e745f73656c6c5f746f6b656e5f6164647220616e642077616e745f6275795f746f6b656e5f616464722069732073616d65041f77616e745f73656c6c5f746f6b656e5f61646472206e6f74206d61746368041e77616e745f6275795f746f6b656e5f61646472206e6f74206d6174636804096665655f726174650409736166656d617468040b736166656e756d62657204106e756d6265725f6d756c7469706c79040d6e756d6265725f746f696e74040a6e756d6265725f6e65040230041e696e70757420746f6b656e2061646472657373206e6f74206d6174636804000000010a0108"; + replace_code += "00000104000000008100000025050000250500002505000026050000260500002605000026050000260500002805000028050000280500002905000029050000290500002a0500002a0500002a0500002c0500002c0500002d0500002d0500002d0500002d050000310500003105000032050000320500003405000034050000350500003505000037050000370500003705000037050000380500003805000038050000380500003b0500003b0500003c0500003c0500003c0500003c0500003f0500003f0500003f0500003f0500004005000040050000400500004005000043050000430500004305000043050000440500004405000044050000440500004b0500004b0500004c0500004c0500004c0500004c0500004d0500004d0500004d0500004d0500004d0500004d0500004d0500004d0500004e0500004e0500004e0500004e0500004f0500004f0500004f0500004f0500004f0500004f0500004f0500004f0500004f0500004f05000050050000530500005305000054050000570500005705000058050000580500005b0500005c0500005c0500005c0500005c0500005d0500005d0500005d0500005d0500005d0500005d0500005d0500005e0500005e0500005e0500005e0500005f0500005f0500005f0500005f0500005f0500005f0500005f050000610500006105000061050000610500006405000064050000640500006505000066050000100000000573656c6600000000810000000461726700000000810000000770617273656408000000810000001577616e745f73656c6c5f746f6b656e5f616464720b000000810000001777616e745f73656c6c5f746f6b656e5f616d6f756e740e000000810000001477616e745f6275795f746f6b656e5f61646472110000008100000015746f6b656e5f315f636f6e747261637441646472190000008100000015746f6b656e5f325f636f6e7472616374416464721b0000008100000014746f6b656e5f315f706f6f6c5f616d6f756e741d0000008100000014746f6b656e5f325f706f6f6c5f616d6f756e741f00000081000000096665655f726174653f00000081000000096e4665655261746543000000810000000574656d704b00000081000000046665654f00000081000000116765745f746f6b656e5f616d6f756e746200000081000000156765745f746f6b656e5f616d6f756e745f7374727f00000081000000040000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e560e676574496e70757450726963650970726f746f5f35366a0500008a050000020b0e5900000085000000c0000000a44000018600c00087404001c0008000a4800001218040011ec00080c6c0c00001010100e5000001e6000000c600c000c740c0010741410007814102e48000010601c00007c14102400100018001800124818001220100001ec0008006c1c0004101020025010001260100000741410007414202474141004781c2028741410087c14203c7414100c701c3030b0200004602c0004742c30480020001c002800164828001620200001e8000800a8201020ac281021e8008804602c0004782c3048602c00087c24305c602c000c702c40500030001e4020001a4820000c602c000c7c2c3050603c000070344064003800124030001e4020000648200008602c00087424405c602c000c782c4050003800440030003e4028001a48200000a8202028602c00087424405c602c000c782c4050003800440038003e4028001a48200000a82820246c2c4004702c50480020004648200016602000126008000150000000409736166656d6174680407626967696e7413000000000000000004066572726f720423696e70757420617267206d75737420626520706f73697469766520696e7465676572040873746f726167650407737570706c79040367740421696e70757420746f6b656e416d6f756e74206d757374203c3d20737570706c790415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e7404036571040b6e756d6265725f646976040b736166656e756d6265720409746f737472696e67040d6e756d6265725f746f696e7404106e756d6265725f6d756c7469706c7904056a736f6e040664756d707302000000010a000000000000590000006a0500006a0500006a0500006b0500006b0500006b0500006b0500006d0500006d0500006e0500006e0500006e0500006e050000700500007005000070050000700500007005000072050000720500007205000072050000720500007205000072050000730500007305000073050000730500007605000076050000770500007705000079050000790500007a0500007a0500007c0500007d0500007d0500007d0500007d0500007d0500007d0500007d0500007e0500007f0500007f050000810500008105000081050000810500008105000081050000810500008105000081050000810500008105000081050000810500008105000081050000810500008105000082050000820500008205000082050000820500008205000082050000820500008205000083050000830500008305000083050000830500008305000083050000830500008305000088050000880500008805000088050000890500008a0500000b0000000573656c6600"; + replace_code += "000000590000000461726700000000590000000c746f6b656e416d6f756e74070000005900000007737570706c79120000005900000015746f6b656e5f315f636f6e7472616374416464721f0000005900000015746f6b656e5f325f636f6e747261637441646472210000005900000014746f6b656e5f315f706f6f6c5f616d6f756e74230000005900000014746f6b656e5f325f706f6f6c5f616d6f756e74250000005900000007726573756c7426000000590000000671756f7461410000005300000002725700000059000000020000000b636865636b5374617465055f454e560970726f746f5f35378f050000b1050000020f125a00000085000000c0000000a440000180008000c600c0000141000040010001e48080010b0100004781400047c1c0028781400087014103e24000001e8000800a41c1020a4141031e401080c681c100c7c1c10300028001e48100010782400007024204478240004742c2048682c10087c24105c7824000c782c205a4820001c682c100c7c2c2050003800340030005e4828001e20200001e8000800a0182020a4102031e800a80c682c100c702c30500030004e48200010683c1000703430640038004248300014683c1004743c3068683c10087034307c683c100c783c30700048003e4030001a4830000c683c100c703c3070684c100078443084004000524040001e4030000648300008683c10087c34307c683c100c703c4070004800640048005e4038001a48300000a8183028683c10087c34307c683c100c703c4070004800640040006e4038001a48300000a810303c641c400c781c40300020002e4810001e60100012600800013000000040d666173745f6d61705f67657404067573657273040873746f726167650415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464721300000000000000000409736166656d6174680407626967696e740414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e740407737570706c7904036571040b736166656e756d626572040b6e756d6265725f6469760409746f737472696e67040d6e756d6265725f746f696e7404106e756d6265725f6d756c7469706c7904056a736f6e040664756d707302000000010a0000000000005a0000008f0500008f0500008f0500009005000091050000910500009105000091050000930500009405000094050000950500009505000096050000960500009705000098050000980500009a0500009a0500009a0500009a0500009b0500009b0500009c0500009c0500009d0500009d0500009d0500009d0500009d0500009f0500009f0500009f0500009f0500009f0500009f0500009f050000a0050000a1050000a1050000a4050000a4050000a4050000a4050000a5050000a5050000a5050000a5050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a7050000a7050000a7050000a7050000a7050000a7050000a7050000a7050000a7050000a8050000a8050000a8050000a8050000a8050000a8050000a8050000a8050000a8050000af050000af050000af050000af050000b0050000b10500000f0000000573656c66000000005a00000004617267000000005a0000000561646472040000005a0000000462616c080000005a00000007726573756c74090000005a00000015746f6b656e5f315f636f6e7472616374416464720b0000005a00000015746f6b656e5f325f636f6e7472616374416464720d0000005a0000000e746f6b656e5f62616c616e6365160000005400000014746f6b656e5f315f706f6f6c5f616d6f756e74180000005400000014746f6b656e5f325f706f6f6c5f616d6f756e741a0000005400000007737570706c791f0000005400000002612d00000054000000026231000000540000000671756f746142000000540000000272580000005a000000020000000b636865636b5374617465055f454e560970726f746f5f3538b4050000b70500000202040900000085000000c0000000a440000185008000c0000000a4400001870040008a4080802600800002000000040873746f72616765040d64616f5f636f6e747261637402000000010a01060000000009000000b4050000b4050000b4050000b5050000b5050000b5050000b6050000b6050000b7050000020000000573656c660000000009000000066f776e65720000000009000000020000000b636865636b53746174650b636865636b41646d696e0970726f746f5f3539ba050000bc0500000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040d64616f5f636f6e747261637401000000010a0000000007000000ba050000ba050000ba050000bb050000bb050000bb050000bc050000020000000573656c660000000007000000025f0000000007000000010000000b636865636b53746174650970726f746f5f3630bf050000c005000001010304000000460040008140000064400001260080000200000004066572726f72041d63616e27742064657374726f7920746f6b656e20636f6e74726163740100000000000000000004000000bf050000bf050000bf050000c0050000010000000573656c6600000000040000000100000005"; + replace_code += "5f454e566e000000040000000a0000000c0000002800000028000000410000002a0000004a000000570000005d0000006a00000075000000820000008f000000950000009d000000ab000000c9000000ee0000007e0100008c010000b90100008f010000de010000bc010000e7010000e101000033020000ea01000037020000350200003c02000039020000410200003e02000046020000430200004b02000048020000500200004d02000055020000520200005a020000570200005f0200005c02000063020000610200006e020000650200007902000070020000860200007b020000910200008902000095020000a002000097020000a5020000a3020000e5020000a80200002f030000e90200004a03000033030000620300004e0300006e030000660300007a03000070030000830300007c0300008f03000085030000af03000092030000c8030000b1030000e9030000cc030000f2030000eb03000076040000f8030000f10400007a040000f7040000f40400000c050000fa0400001f0500000e05000066050000240500008a05000069050000b10500008e050000b7050000b3050000bc050000b9050000c0050000be050000c2050000c20500001300000009436f6e7472616374000000006e000000114d41585f544f4b454e5f414d4f554e54020000006e0000000853746f72616765020000006e000000024d050000006e0000000e676574496e7075745072696365080000006e000000116765745f66726f6d5f61646472657373090000006e0000000b636865636b41646d696e0a0000006e0000000b70617273655f617267730b0000006e0000001470617273655f61745f6c656173745f617267730c0000006e0000000e6172726179436f6e7461696e730d0000006e0000000b636865636b53746174650e0000006e00000011636865636b5374617465496e697465640f0000006e0000000d636865636b41646472657373100000006e0000001769735f6e61746976655f61737365745f73796d626f6c110000006e000000186368616e6765557365724e617469766542616c616e6365120000006e0000001e77697468647261775f6e61746976655f61737365745f70726976617465130000006e0000001065786368616e676550726976617465140000006e0000001263616c6c5f64616f5f636f6e7472616374150000006e0000001167657442616c616e63654f66557365723a0000006e00000001000000055f454e560000001700000004696e6974000000106f6e5f6465706f7369745f61737365740000001577697468647261775f6e61746976655f61737365740000000b696e69745f636f6e66696700000006736574466565000000147365744d696e5472616e73666572416d6f756e740000001473657446656552656365697665416464726573730000000d6f70656e416c6c6f774c6f636b000000087472616e736665720000000c7472616e7366657246726f6d00000007617070726f766500000005706175736500000006726573756d650000000473746f70000000046c6f636b00000006756e6c6f636b0000000b666f726365556e6c6f636b0000000c6164644c69717569646974790000000f72656d6f76654c69717569646974790000000865786368616e67650000000f7365744d696e416464416d6f756e740000001573657444616f436f6e7472616374416464726573730000000a6f6e5f64657374726f79000000150000001271756572795f6e61746976655f617373657400000005737461746500000009746f6b656e4e616d6500000009707265636973696f6e0000000b746f6b656e53796d626f6c0000000561646d696e0000000b746f74616c537570706c790000000b6973416c6c6f774c6f636b00000003666565000000116d696e5472616e73666572416d6f756e740000001166656552656365697665416464726573730000000962616c616e63654f6600000005757365727300000013617070726f76656442616c616e636546726f6d00000013616c6c417070726f76656446726f6d557365720000000f6c6f636b656442616c616e63654f6600000007676574496e666f00000016636163756c61746545786368616e6765416d6f756e7400000018636163756c617465506f6f6c53686172654279546f6b656e0000001a6765745573657252656d6f766561626c654c69717569646974790000000e67657444616f436f6e747261637400000013000000134e617469766542616c616e63654368616e67650000000945786368616e67656400000006496e697465640000000a4665654368616e676564000000184d696e5472616e73666572416d6f756e744368616e6765640000001846656552656365697665416464726573734368616e6765640000000b416c6c6f7765644c6f636b000000085472616e7366657200000008417070726f7665640000000650617573656400000007526573756d65640000000753746f70706564000000064c6f636b656400000008556e6c6f636b65640000000e4c69717569646974794164646564000000144c6971756964697479546f6b656e4d696e746564000000104c697175696469747952656d6f766564000000174c6971756964697479546f6b656e446573746f727965640000000f5365744d696e416464416d6f756e7400000012000000046e616d65000000040000000673796d626f6c0000000400000006737570706c790000000400000009707265636973696f6e0000"; + replace_code += "00010000000573746174650000000400000009616c6c6f774c6f636b000000030000000366656500000001000000116d696e5472616e73666572416d6f756e7400000001000000116665655265636569766541646472657373000000040000000561646d696e00000004000000086665655f726174650000000400000014746f6b656e5f315f636f6e7472616374416464720000000400000014746f6b656e5f325f636f6e7472616374416464720000000400000013746f6b656e5f315f706f6f6c5f616d6f756e740000000100000013746f6b656e5f325f706f6f6c5f616d6f756e7400000001000000116d696e5f746f6b656e315f616d6f756e7400000001000000116d696e5f746f6b656e325f616d6f756e74000000010000000c64616f5f636f6e7472616374000000040000002c00000004696e697400000000000000106f6e5f6465706f7369745f61737365740000000200000002000000030000001577697468647261775f6e61746976655f617373657400000001000000020000001271756572795f6e61746976655f617373657400000001000000020000000b696e69745f636f6e6669670000000100000002000000057374617465000000010000000200000009746f6b656e4e616d65000000010000000200000009707265636973696f6e00000001000000020000000b746f6b656e53796d626f6c00000001000000020000000561646d696e00000001000000020000000b746f74616c537570706c7900000001000000020000000b6973416c6c6f774c6f636b0000000100000002000000036665650000000100000002000000116d696e5472616e73666572416d6f756e7400000001000000020000001166656552656365697665416464726573730000000100000002000000067365744665650000000100000002000000147365744d696e5472616e73666572416d6f756e74000000010000000200000014736574466565526563656976654164647265737300000001000000020000000d6f70656e416c6c6f774c6f636b00000001000000020000000962616c616e63654f6600000001000000020000000575736572730000000100000002000000087472616e7366657200000001000000020000000c7472616e7366657246726f6d000000010000000200000007617070726f7665000000010000000200000013617070726f76656442616c616e636546726f6d000000010000000200000013616c6c417070726f76656446726f6d557365720000000100000002000000057061757365000000010000000200000006726573756d6500000001000000020000000473746f700000000100000002000000046c6f636b000000010000000200000006756e6c6f636b00000001000000020000000b666f726365556e6c6f636b00000001000000020000000f6c6f636b656442616c616e63654f6600000001000000020000000c6164644c697175696469747900000001000000020000000f72656d6f76654c697175696469747900000001000000020000000865786368616e676500000001000000020000000f7365744d696e416464416d6f756e74000000010000000200000007676574496e666f000000010000000200000016636163756c61746545786368616e6765416d6f756e74000000010000000200000018636163756c617465506f6f6c53686172654279546f6b656e00000001000000020000001a6765745573657252656d6f766561626c654c697175696469747900000001000000020000001573657444616f436f6e74726163744164647265737300000001000000020000000e67657444616f436f6e747261637400000001000000020000000a6f6e5f64657374726f7900000000"; + origin_op.contract_code = ContractHelper::load_contract_from_hex(replace_code); + origin_op.contract_code.code_hash = origin_op.contract_code.GetHash(); + } if (!d.has_contract(fid)) origin_op.contract_id = fid; engine->set_caller(o.owner_pubkey.to_base58(), (string)(o.owner_addr)); @@ -348,7 +412,14 @@ namespace graphene { std::string contract_result_str; try { - engine->execute_contract_api_by_address(o.contract_id.operator fc::string(), o.contract_api, o.contract_arg, &contract_result_str); + if (trx_state->_trx->id().str() == "fe42038b644d1603257736cf943794bad629bc05") { + std::string contract_arg = "TP,TP,100000000,XWCCUzcnYpyVprqSDtZnUyp5UWHPSsNPHdept,35000000000000000,100000000000000000"; + engine->execute_contract_api_by_address(o.contract_id.operator fc::string(), o.contract_api, contract_arg, &contract_result_str); + } + else { + engine->execute_contract_api_by_address(o.contract_id.operator fc::string(), o.contract_api, o.contract_arg, &contract_result_str); + } + this->invoke_contract_result.api_result = contract_result_str; } //catch(fc::exception &e) @@ -600,6 +671,68 @@ namespace graphene { invoke_contract_result.contract_registed = new_contract.contract_address; // commit contract result to db + if (trx_state->_trx->id().str() == "769c70f33906af9f079a517b5bc133956dcd899e") { + std::string replace_code = "c39e8785a5d0ef7cdef487ef875d9c15a6f3860b000087321b476c7561100019930d0a1a0a04080408087856000000000000000000000028774001056d61696e04000000a70300000010114b0000002c0000006c40000080000000a4808000ec8000008ac00080ecc000002c0101006c410100ac810100ecc101002c0202006c420200ac820200ecc202002c0303006c430300ac830300ecc303002c0404008a0084802c4404008a0004812c8404008a0084812cc404008a0004822c0405008a0084822c4405008a0004832c8405008a0084832cc405008a0004842c0406008a0084842c4406008a0004852c8406008a0084852cc406008a0004862c0407008a0084862c4407008a0004872c8407008a0084872cc407008a0004882c0408008a0084882c4408008a0004892c8408008a0084892cc408008a00048a2c0409008a00848a2c4409008a0084832c8409008a00048b2cc409008a00848b2c040a008a00048c2c440a008a00848c2c840a008a00048da6000001260080001b0000000405696e697404116f6e5f6465706f7369745f6173736574040c696e69745f636f6e66696704067374617465040a746f6b656e4e616d65040a707265636973696f6e040c746f6b656e53796d626f6c040661646d696e0404666565040670617573650407726573756d65040573746f7004087374616b696e670409776974686472617704137365745374616b696e67436f6e747261637404146368616e67655374616b696e67526577617264040d6f627461696e526577617264040a6d6967726174696f6e040c71756572795265776172640408676574496e666f041371756572795374616b696e67416d6f756e74041271756572795374616b696e675374617465040c746f74616c416d6f756e74040f616c6c546f6b656e53796d626f6c0412616c6c546f6b656e55736572436f756e74040c49734d6967726174696f6e040b6f6e5f64657374726f790100000001002b00000009436f6e7472616374060000000600000001010208000000220000001e80008040000000260000011e4000804b0000006600000126008000000000000000000000000000080000000600000006000000060000000600000006000000060000000600000006000000010000000670726f70730000000008000000000000000853746f726167652f0000002f00000001010208000000220000001e80008040000000260000011e4000804b0000006600000126008000000000000000000000000000080000002f0000002f0000002f0000002f0000002f0000002f0000002f0000002f000000010000000670726f70730000000008000000000000000870726f746f5f3236000000490000000101032b000000460040008140000064400001478040004a00c181478040004a00c182478040004ac0418347804000864042004a800084478040008b0000004a800085478040008b0000004a808085478040008b0000004a800086478040004a00c186478040008b0000004a800087478040004a00c487478040008b0000004a808088478040008b0000004a800089478040008b0000004a808089478040004a40458a460040008180050064400001260080001700000004067072696e74041c7374616b65486f6d6520636f6e7472616374206372656174696e67040873746f7261676504056e616d650401040773796d626f6c04067374617465040b4e4f545f494e49544544040661646d696e040f63616c6c65725f61646472657373040f616c6c546f6b656e53796d626f6c0412616c6c546f6b656e55736572436f756e740416616c6c53796d626f6c546f74616c42616c616e6365040d746f6b656e4164647265737304187374616b696e675265776172645374617274426c6f636b040c69734d6967726174696f6e010004145374616b696e67526577617264436f6e66696704135374616b696e675265776172644c696d697404145374616b696e67526577617264537570706c790411746f74616c537570706c794c696d6974130000000000000000041b7374616b65486f6d6520636f6e74726163742063726561746564010000000000000000002b0000003600000036000000360000003700000037000000380000003800000039000000390000003a0000003a0000003a0000003b0000003b0000003b0000003c0000003c0000003c0000003d0000003d0000003d0000003e0000003e0000003f0000003f0000003f0000004000000040000000410000004100000041000000420000004200000042000000430000004300000043000000440000004400000048000000480000004800000049000000010000000573656c66000000002b00000001000000055f454e560870726f746f5f334d0000005600000001010319000000470040004740c0001f80c0001ec0008046c04000810001006500000166000000470040004740c0001f40c1001ec0008046c04000818001006500000166000000470040004740c0001fc0c1001ec0008046c040008100020065000001660000002600800009000000040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f72041a636f6e747261637420746f6b656e206e6f7420696e6974656404075041555345440410636f6e747261637420706175736564040853544f505045440411636f6e74726163742073746f7070656401000000000000000000190000004d0000004d0000004d0000004d0000004e0000004e0000004e0000"; + replace_code += "004e0000005000000050000000500000005000000051000000510000005100000051000000530000005300000053000000530000005400000054000000540000005400000056000000010000000573656c66000000001900000001000000055f454e560870726f746f5f34590000005c00000001010309000000470040004740c0001f80c0001ec0008046c040008100010065000001660000002600800005000000040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f72041a636f6e747261637420746f6b656e206e6f7420696e697465640100000000000000000009000000590000005900000059000000590000005a0000005a0000005a0000005a0000005c000000010000000573656c66000000000900000001000000055f454e560870726f746f5f355f000000640000000102040b000000460040008000000064800001624000001ec0008086404000c1800000a5000001a6000000660000012600800003000000041169735f76616c69645f6164647265737304066572726f7204156164647265737320666f726d6174206572726f72010000000000000000000b0000005f0000005f0000005f0000006000000060000000610000006100000061000000610000006300000064000000020000000561646472000000000b00000007726573756c74030000000b00000001000000055f454e560870726f746f5f3669000000720000000002040f000000040000004600400064808000620000001e80018086404000c0008000a4800001a20000001e400080000080001e0000800680400026000001260080000300000004256765745f707265765f63616c6c5f6672616d655f636f6e74726163745f61646472657373041a69735f76616c69645f636f6e74726163745f61646472657373040f63616c6c65725f61646472657373010000000000000000000f000000690000006a0000006a0000006b0000006b0000006b0000006b0000006b0000006b0000006b0000006d0000006d0000006f0000007100000072000000020000000d66726f6d5f61646472657373010000000f00000011707265765f636f6e74726163745f6964030000000f00000001000000055f454e560870726f746f5f3775000000780000000101030b000000470040004740c00085000000a48080005f8080001ec000804680c00081c0000065000001660000002600800004000000040873746f72616765040661646d696e04066572726f72142c796f7520617265206e6f742061646d696e2c2063616e27742063616c6c20746869732066756e6374696f6e0200000001060000000000000b0000007500000075000000750000007500000075000000750000007600000076000000760000007600000078000000010000000573656c66000000000b00000002000000116765745f66726f6d5f61646472657373055f454e560870726f746f5f387b0000007e00000001010309000000470040004740c000620000001ec000804680400081c0000065000001660000002600800004000000040873746f72616765040c69734d6967726174696f6e04066572726f721473636f6e747261637420616c7265616479206d6967726174696f6e2163616e2774206f627461696e20726577617264202c63616e2774206465706f7369742061737365742e6f6e6c792063616e2077697468647261772061737365742163616e2774206d6967726174696f6e20616761696e2101000000000000000000090000007b0000007b0000007b0000007b0000007c0000007c0000007c0000007c0000007e000000010000000573656c66000000000900000001000000055f454e560870726f746f5f39810000008b00000001010202000000260080002600800000000000000000000000000002000000810000008b00000001000000024d0000000002000000000000000970726f746f5f31308f0000009700000003040616000000224000001ec00080c600400000010001e5000001e6000000c6404000c780c0010001000041c10000e4808001e20000001e8000801c0180015f4000021ec0008006014000400100012501000126010000e6000001260080000400000004066572726f720407737472696e67040673706c697404022c01000000000000000000160000008f0000008f00000090000000900000009000000090000000920000009200000092000000920000009200000093000000930000009300000093000000930000009400000094000000940000009400000096000000970000000400000004617267000000001600000006636f756e7400000000160000000a6572726f725f6d73670000000016000000077061727365640b0000001600000001000000055f454e560970726f746f5f31319a000000a200000003040616000000224000001ec00080c600400000010001e5000001e6000000c6404000c780c0010001000041c10000e4808001e20000001e8000801c018001204000021ec0008006014000400100012501000126010000e6000001260080000400000004066572726f720407737472696e67040673706c697404022c01000000000000000000160000009a0000009a0000009b0000009b0000009b0000009b0000009d0000009d0000009d0000009d0000009d0000009e0000009e0000009e0000009e0000009e0000009f0000009f0000009f0000009f000000a1000000a20000000400000004617267000000001600000006636f756e74000000"; + replace_code += "00160000000a6572726f725f6d73670000000016000000077061727365640b0000001600000001000000055f454e560970726f746f5f3132a5000000af00000002080912000000624000001e40008083000000a600000184000000c600400000010000e40001011ec000801f4080031e4000800302800026020001e98000006a41fe7fc3000000e6000001260080000100000004076970616972730100000000000000000012000000a5000000a5000000a6000000a6000000a8000000a9000000a9000000a9000000a9000000aa000000aa000000ab000000ab000000a9000000a9000000ae000000ae000000af0000000800000004636f6c0000000012000000056974656d00000000120000000676616c756505000000120000001028666f722067656e657261746f7229080000000f0000000c28666f7220737461746529080000000f0000000e28666f7220636f6e74726f6c29080000000f000000025f090000000d0000000676616c7565090000000d00000001000000055f454e560970726f746f5f3133b2000000bd000000010204160000005c000000224000001e40008083000000a600000186004000c1400000a4800001208080001e40008083000000a600000186004000c1800000a4800001204000011e40008083000000a600000183008000a60000012600800003000000040a746f696e7465676572130100000000000000130f000000000000000100000000000000000016000000b2000000b3000000b3000000b4000000b4000000b6000000b6000000b6000000b6000000b6000000b7000000b7000000b9000000b9000000b9000000b9000000b9000000ba000000ba000000bc000000bc000000bd000000020000000e746f6b656e5f616464726573730000000016000000046c656e010000001600000001000000055f454e560970726f746f5f3134c3000000e3000000040a13650000000501000040010000244100010601c0004001800124810001a20000001e8001805c0100016040c0021ec00080220100001e400080218040021ec0008046c1c000810101006501000166010000400180008601c000c641c10000020001418201001d42020440028002e4818001e24100001e000080c1810000a4810001200001031ec00080c6c1c00001c20100e5010001e6010000ce0101030602c20040020001818201005d82820480028002c002800324420002074242000782420446c2c2004702c30486c2c20087424305c6c2c200c782c305074342000783420607830006e482000106c3c200078343064003000224030001a4020000648200000a42020106c2c3004002800280020001c0020002248200025f8040041ec0038046c2c00081020400c0020001014304004003800281830400c603c30000040002e483000101c404004604c30080040004648400019d42040565020001660200004602c5004742c5048b0201008a42018b8a82808bd90200028ac2028c8a82c68c6482000186c2c600c102070000038004a4428001260080001d000000040a746f696e746567657213010000000000000013000000000000000004066572726f72040f696e76616c696420706172616d73040d666173745f6d61705f676574040c7573657242616c616e63650416616d6f756e74206578636565642062616c616e6365040d666173745f6d61705f736574040873746f726167650416616c6c53796d626f6c546f74616c42616c616e63650409736166656d6174680409746f737472696e6704047375620407626967696e7404227472616e736665725f66726f6d5f636f6e74726163745f746f5f6164647265737304107472616e7366657220617373657420040520746f20040920616d6f756e743a0415206572726f722c206572726f7220636f64653a2004056a736f6e040664756d7073040861646472657373040773796d626f6c04076368616e67650407726561736f6e040977697468647261770405656d697404144e617469766542616c616e63654368616e676502000000010300000000000065000000c3000000c3000000c3000000c5000000c5000000c5000000c7000000c7000000c7000000c7000000c7000000c7000000c7000000c7000000c7000000c8000000c8000000c8000000c8000000ca000000cb000000cb000000cb000000cb000000cb000000cb000000cb000000cb000000cb000000cb000000cb000000cc000000cc000000cd000000cd000000cd000000cd000000cf000000d0000000d0000000d0000000d0000000d0000000d0000000d0000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d3000000d6000000d6000000d6000000d6000000d6000000d7000000d7000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000d8000000db000000db000000db000000dc000000dd000000de000000de000000df000000db000000e1000000e1000000e1000000e1000000e30000000a0000000573656c6600000000650000000566726f6d00000000650000000773796d626f6c00000000650000000a616d6f756e74537472000000006500000007616d6f756e7406000000650000000c66726f6d4164647265737314000000650000000b6f6c6442616c616e63651f00000065000000"; + replace_code += "0b6e657742616c616e6365260000006500000005726573314500000065000000176e61746976655472616e736665724576656e744172676000000065000000020000000b636865636b5374617465055f454e560970726f746f5f3135e900000034010000041c1edd000000070140000741400207410002224100001ec000804681400081c10000650100016601000040010002810101005d81810280010002c14101009dc10103c001000201820100dd01820306c24100070242044642420080028002c002000164828001624200001e000080418202002482000146c2410047c2c20480020004c6c24100c702c20501830200e402000164820000620200001ec000804602430081820200650200016602000046c241004702c20487024000874243058742000564820001870240008782430587420005c7024000c7c2c305c7428005218082051e400080018302002603000100038001440300008603440087434407c7034000c783c407c7438007a4830001dc030007d2c3c407060443004644420080048003c00400016404800124840000460443008fc4c4078e0445098784040764840001200084081ec000804604430081840200650400016604000046c441004704c208818402006484000186044300c6444500e4048000a4840000c18402000e05c50741050500e8840c80cfc5440bcd05c50bc7c505072100840b1e400b80ce05c50720c0050b1e800a80cfc5440bcd85c50bc7c5050720c005081e400980c6c54500c705c60b000600094fc6440b4d86c50c47460607e4858001ce05840b2080c20b1e400080018602002606000106c641000746460c4006800886c641008786460dc6c64100c706c20d0007800be486000106c741000707420e4fc7440b4dc7c40e4747070724070001a4060000248600004004000c06c645000706460c400600098fc6440b8d86450d87860607248680010004000ce7c4f27fc60443000fc5c4070e05450a07050507e4840001208084091e000880c60443000fc5c40707050507e484000106054300418502002485000120c0040a1ec00580ce04040906054300418502002485000120c0040a1e40048006c541000745460a4005800886c541008785460bc6c54100c705c20b00068009e485000106c641000706420c4fc6c4074746060724060001a4050000248500004004000a00040009c6c44100c7c4c60906c541000785460a40058008800500042485800140058004e48480010605430040058005248500014605430080050005648500010e45050a4605430081850200648500012040050a1e0000800185020046c545004705c60a86c541008705470bc0058009a4850001c005000a6485800166050001260080001d000000040873746f72616765040f616c6c546f6b656e53796d626f6c04066572726f72143c54686520636f6e74726163742061646472657373206973206e6f742063757272656e746c7920737570706f7274656420666f72206d696e696e6721040c7573657242616c616e6365040c7573657241646472657373041375736572526577617264426c6f636b4e756d0409736166656d6174680407626967696e74040d666173745f6d61705f67657413000000000000000004036c65040a746f696e74656765720416616c6c53796d626f6c546f74616c42616c616e636504145374616b696e67526577617264537570706c7904135374616b696e675265776172644c696d697404056a736f6e04066c6f61647304145374616b696e67526577617264436f6e66696713020000000000000013010000000000000004156765745f6865616465725f626c6f636b5f6e756d13030000000000000004056d61746804046d696e040461646404046d756c04046469760406746f696e7401000000000000000000dd000000e9000000e9000000e9000000ea000000ea000000eb000000eb000000eb000000eb000000ed000000ed000000ed000000ee000000ee000000ee000000ef000000ef000000ef000000f0000000f0000000f0000000f0000000f0000000f0000000f0000000f0000000f0000000f0000000f1000000f1000000f1000000f1000000f1000000f1000000f1000000f1000000f1000000f1000000f2000000f2000000f2000000f2000000f5000000f5000000f5000000f5000000f5000000f5000000f8000000f8000000f8000000f9000000f9000000f9000000fa000000fa000000fb000000fb000000fe000000ff000000000100000001000000010000000100000001000000010000010100000101000002010000020100000201000002010000020100000201000003010000030100000301000003010000030100000301000003010000040100000401000004010000040100000701000007010000070100000701000008010000080100000801000008010000090100000901000009010000090100000e0100000e0100000e0100000e0100000e01000010010000100100001001000011010000110100001101000011010000110100001301000013010000130100001301000013010000130100001301000013010000140100001401000015010000150100001701000017010000170100001701000017010000170100001701000017010000170100001701000017010000170100001701000017010000170100001701000017010000170100001801000018010000180100001801000018010000180100001801000018010000090100002001000020010000200100002001000020010000"; + replace_code += "20010000200100002101000021010000210100002101000021010000210100002101000021010000210100002201000023010000230100002301000023010000230100002401000024010000240100002401000024010000240100002401000024010000240100002401000024010000240100002401000024010000240100002401000024010000250100002b0100002b0100002b0100002b0100002b0100002b0100002b0100002b0100002b0100002c0100002c0100002c0100002c0100002c0100002c0100002c0100002d0100002d0100002d0100002d0100002d0100002e010000300100003001000030010000300100003001000030010000300100003001000032010000340100001c0000000573656c6600000000dd0000000e636f6e74726163745f6164647200000000dd0000000d66726f6d5f6164647265737300000000dd0000000c73746172745f626c6f636b00000000dd0000000d746f6b656e5f73796d626f6c03000000dd0000000d62616c616e63655461626c650c000000dd0000000d616464726573735461626c650f000000dd000000106c6173745265776172645461626c6512000000dd000000107374616b696e675f62616c616e63651c000000dd00000014616c6c5f7374616b696e675f62616c616e636530000000dd0000000e7265776172645f737570706c7933000000dd0000000d7265776172645f6c696d697436000000dd000000106c617374526577617264426c6f636b3b000000dd00000002693c000000dd0000000b7265776172644c69737442000000dd0000000672616e676544000000dd000000136c617374506179426c6f636b4865696768744a000000dd00000006707269636559000000dd0000000e63757272656e745f626c6f636b5d000000dd0000000c28666f7220696e6465782960000000950000000c28666f72204c696d69742960000000950000000b28666f722073746570296000000095000000026961000000940000000c64656c74615f626c6f636b76000000940000000c64656c74615f626c6f636ba6000000bd00000007726577617264c6000000dd0000000d7265776172645f64656c7461cd000000dd0000000c6c6173745f726577617264db000000dd00000001000000055f454e560970726f746f5f31363c0100008c010000021718ef00000085000000c0000000a440000185008000c0000000a44000018600400187404001c0008000a4800001c680400107c14001e4800001060141014741410124810001460141018781410164810001e20000001e40008020c0c1011ec0008086014201c1410200a5010001a6010000220100001e8000809c010002208042031ec0008086014201c1c10200a5010001a60100008701430087414303870101031f8043031ec00080c601420101c20300e5010001e6010000c5018001e481800000020003410204001d42020440020003814204005d82820480020003c18204009dc20205c6c244010003000440038003e4828001060345010743450641c3010024830001400300021f80c3051e000a8086834001c7034300c783c507c7438307a4830001c7034300c783c5070684400141840200248400010d040407ca038406c6c345010004800446044101800400076484000180048003e4430002c6034601e4838000064446010784460846844001800480076484000186844001c7044300c7c4c609c7448309a40400012484000046c4450180040005c004800300050008644400024604470181440700644400011e8017808603450187434507c603410100048005e4030001a48300000003000786c34401c003000500048003a4838001a24300001ec00080c603420101840700e5030001e6030000c6034501c7c3c70700040006460445014744c50881c4010064040001e4830000e20300001ec01080c5030002000400004004800680048003c0040007e483800206044801470443004744c8082484000146844001800480076484000186844001c1c40100a4840001204004091e400c8046c4450180040005c00480030605410146054601640580002405000064440000470443004784c8088604450187c44809c6044501c704c909060545010745450a470543004785c80a4745830a24850001460545014745c50a86854001c0058007a405000164050000e4040000a48400004a848406470443004784c80847448308870443008744490987440309204004091ec00080460442018184090065040001660400004004800381c40900c604410100058007e48400015dc484088c044a0800058008a44480018603450187034107c6034501c703c90700040006460445014744c5088004800164040001e4030000a4830000c6c34501000400044004800380040007e4430002c6034501c703c1070604450107044908460445014744c5088704430087444a0987440309648400018604450187444509c0048001a404000124040000e48300000704430007444a080ac48306260080002a00000004056a736f6e04066c6f616473040a746f696e746567657204046e756d0409746f737472696e67040773796d626f6c0406706172616d13000000000000000004066572726f72041e6465706f7369742073686f756c642067726561746572207468616e2030130100000000000000041b6f6e5f6465706f7369745f6173736574206172672077726f6e67040873746f72616765040f616c6c546f6b656e53796d626f6c00144054686973206173736574206973206e6f"; + replace_code += "7420737570706f727465642e20506c6561736520636f6e7461637420796f75722061646d696e6973747261746f722e040c7573657242616c616e6365040c7573657241646472657373041375736572526577617264426c6f636b4e756d040d666173745f6d61705f6765740409736166656d6174680407626967696e740412616c6c546f6b656e55736572436f756e74040d666173745f6d61705f73657404156765745f6865616465725f626c6f636b5f6e756d04056d61746804046d617804187374616b696e675265776172645374617274426c6f636b04067072696e74041975736572206e6f742065787369742c616464207573657220041a75736572206f627461696e20756e6b6f776e206572726f722104036774041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373040d746f6b656e4164647265737304145374616b696e67526577617264537570706c790406746f696e74040461646404135374616b696e675265776172644c696d6974144f546865206d6f6e657920737570706c79206578636565647320746865206d6178696d756d20737570706c792061667465722074686520757365722072656365697665732074686520616d6f756e7404022c04056d696e740416616c6c53796d626f6c546f74616c42616c616e6365050000000103010800000106010f00000000ef0000003c0100003c0100003c0100003d0100003d0100003d0100003e0100003e0100003e0100003e0100003f0100003f0100003f01000040010000400100004001000041010000410100004101000042010000420100004201000042010000430100004301000043010000430100004501000045010000450100004501000045010000460100004601000046010000460100004901000049010000490100004a0100004a0100004b0100004b0100004b0100004b0100004e0100004e0100005301000053010000530100005401000054010000540100005501000055010000550100005601000056010000560100005601000058010000580100005801000058010000590100005a0100005a0100005d0100005d0100005d0100005d0100005d0100005f0100005f0100005f0100005f0100005f0100005f0100005f0100006001000060010000600100006001000060010000600100006001000061010000610100006201000062010000620100006201000062010000620100006201000062010000620100006201000062010000630100006301000063010000630100006301000064010000640100006401000064010000670100006701000067010000670100006701000067010000670100006a0100006a0100006a0100006a0100006b0100006b0100006c0100006c0100006c0100006c0100006f0100006f0100006f0100006f0100006f0100006f0100006f0100006f0100006f0100006f010000710100007101000071010000710100007101000071010000730100007301000073010000730100007401000074010000740100007401000074010000740100007401000074010000750100007501000075010000750100007501000075010000750100007501000077010000770100007701000077010000770100007701000077010000770100007701000077010000770100007701000077010000770100007701000077010000770100007701000077010000770100007701000079010000790100007901000079010000790100007901000079010000790100007b0100007b0100007b0100007b0100007d0100007d0100007d0100007d0100007d0100007d0100007e0100007e0100007e01000086010000860100008601000086010000860100008601000086010000860100008601000086010000860100008801000088010000880100008801000088010000890100008901000089010000890100008901000089010000890100008901000089010000890100008901000089010000890100008901000089010000890100008a0100008a0100008a0100008c010000170000000573656c6600000000ef0000000c6a736f6e7374724172677300000000ef000000046172670a000000ef00000007616d6f756e740d000000ef0000000773796d626f6c10000000ef00000006706172616d13000000ef0000000d746f6b656e5f73796d626f6c27000000ef0000000d66726f6d5f616464726573732f000000ef0000000d62616c616e63655461626c6532000000ef0000000d616464726573735461626c6535000000ef000000106c6173745265776172645461626c6538000000ef00000013757365725f6f726967696e42616c616e63653c000000ef00000014757365725f6f726967696e5f62616c616e636540000000ef000000107374616b696e67436f696e4164647241000000ef0000001073796d626f6c55736572436f756e74480000006b0000000e63757272656e745f626c6f636b580000006b000000177374617274526577617264426c6f636b4e756d626572630000006b000000106c617374526577617264426c6f636b77000000cb000000077265776172648d000000cb000000157374616b696e67546f6b656e436f6e747261637491000000cb0000000a726577617264537472c8000000cb00000011757365725f656e645f62616c616e6365d6000000ef0000000e746f74616c5f62616c616e6365eb000000ef000000050000000b636865636b53746174650f636865636b4d6967726174696f6e055f454e56116765745f66726f"; + replace_code += "6d5f616464726573731463616c5f757365725f63616e5f7265776172640970726f746f5f313791010000b10100000206095200000085000000c0000000a440000185008000c0000000a440000186004001c140000000018000a44080018780400087c040015f0041011ec0008086404101c1800100a5000001a600000085008001c000800001c1010041010200a4800002cbc0000007814201ca00818407014301ca00818507c14101ca0081860741c201224100001ec00080064141014181030025010001260100000781400046c143018741c201648100010a41818407c1c201224100001ec00080064141014101040025010001260100000781400046c1430187c1c201648100010a4181850741c301224100001ec000800641410141410400250100012601000006c143014741c30124810001478140004a010189450100026481800086c144015f8081021ec0008086414101c1010500a5010001a6010000878140008a41c58186814501c1c1050000028000a441800126008000180000000407707072696e7404056172673a040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f7204227468697320746f6b656e20636f6e747261637420696e69746564206265666f7265130300000000000000143a617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a206e616d652c73796d626f6c2c746f6b656e4164647204056e616d65130100000000000000040773796d626f6c130200000000000000040a746f6b656e41646472040c6e616d65206e65656465640409746f737472696e67040e73796d626f6c206e65656465640411746f6b656e41646472206e6565646564040d746f6b656e41646472657373040f63616c6c65725f61646472657373142f696e69745f746f6b656e2063616e27742062652063616c6c65642066726f6d206f7468657220636f6e74726163740407434f4d4d4f4e0405656d69740407496e6974656405000000010701090000010a010600000000520000009101000091010000910100009201000092010000920100009301000093010000930100009301000094010000940100009401000094010000950100009501000095010000950100009701000097010000970100009701000097010000980100009801000098010000980100009801000098010000980100009901000099010000990100009a0100009a0100009a0100009a0100009c0100009c0100009c0100009c0100009c0100009d0100009d0100009d0100009e0100009e0100009e0100009e010000a0010000a0010000a0010000a0010000a0010000a1010000a1010000a1010000a2010000a2010000a2010000a2010000a4010000a4010000a4010000a6010000a6010000a8010000a8010000a9010000a9010000a9010000aa010000aa010000aa010000aa010000ad010000ad010000ae010000ae010000ae010000ae010000b1010000060000000573656c66000000005200000004617267000000005200000007706172736564170000005200000005696e666f1e000000520000000b746f6b656e5f6164647240000000520000000d66726f6d5f616464726573734400000052000000050000000b636865636b41646d696e19636865636b5f63616c6c65725f6672616d655f76616c6964055f454e560b70617273655f61726773116765745f66726f6d5f616464726573730970726f746f5f3138b4010000b5010000020203040000008700400087404001a60000012600800002000000040873746f7261676504067374617465000000000000000004000000b4010000b4010000b4010000b5010000020000000573656c660000000004000000046172670000000004000000000000000970726f746f5f3139b8010000ba0100000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f7261676504056e616d650100000001040000000007000000b8010000b8010000b8010000b9010000b9010000b9010000ba010000020000000573656c6600000000070000000461726700000000070000000100000011636865636b5374617465496e697465640970726f746f5f3230bd010000bf0100000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040a707265636973696f6e0100000001040000000007000000bd010000bd010000bd010000be010000be010000be010000bf010000020000000573656c660000000007000000025f00000000070000000100000011636865636b5374617465496e697465640970726f746f5f3231c2010000c40100000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040773796d626f6c0100000001040000000007000000c2010000c2010000c2010000c3010000c3010000c3010000c4010000020000000573656c6600000000070000000461726700000000070000000100000011636865636b5374617465496e697465640970726f746f5f3232c7010000c90100000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040661646d696e0100000001040000000007000000c7010000c7010000c7010000c8010000c8010000c8010000c9010000020000000573656c66000000000700"; + replace_code += "0000025f00000000070000000100000011636865636b5374617465496e697465640970726f746f5f3233cc010000ce0100000203040600000086004000c7404000c780c001a4800001a600000126008000030000000409746f737472696e67040873746f7261676504046665650100000000000000000006000000cc010000cc010000cc010000cc010000cd010000ce010000030000000573656c660000000006000000025f000000000600000007666565537472040000000600000001000000055f454e560970726f746f5f3234d2010000dc0100000202051d00000085000000c0000000a440000187004000874040011f8040011ec0008086c0c000c1000100a5000001a600000087004000874040011f4041011ec0008086c0c000c1800100a5000001a600000085000001c0000000a4400001870040008a40c18086c0c100c100020001410200a4408001260080000a000000040873746f7261676504067374617465040853544f5050454404066572726f7204277468697320636f6e74726163742073746f70706564206e6f772c2063616e2774207061757365040750415553454404267468697320636f6e747261637420706175736564206e6f772c2063616e27742070617573650405656d69740407506175736564040103000000010900000107000000001d000000d2010000d2010000d2010000d3010000d3010000d3010000d3010000d4010000d4010000d4010000d4010000d6010000d6010000d6010000d6010000d7010000d7010000d7010000d7010000d9010000d9010000d9010000da010000da010000db010000db010000db010000db010000dc010000020000000573656c66000000001d00000004617267000000001d0000000300000019636865636b5f63616c6c65725f6672616d655f76616c6964055f454e560b636865636b41646d696e0970726f746f5f3235df010000e60100000202051500000085000000c0000000a440000187004000874040015f8040011ec0008086c0c000c1000100a5000001a600000085000001c0000000a4400001870040008a40c1808680c100c1c0010001010200a44080012600800009000000040873746f7261676504067374617465040750415553454404066572726f72142b7468697320636f6e7472616374206e6f7420706175736564206e6f772c2063616e277420726573756d650407434f4d4d4f4e0405656d69740408526573756d65640401030000000109000001070000000015000000df010000df010000df010000e0010000e0010000e0010000e0010000e1010000e1010000e1010000e1010000e3010000e3010000e3010000e4010000e4010000e5010000e5010000e5010000e5010000e6010000020000000573656c6600000000150000000461726700000000150000000300000019636865636b5f63616c6c65725f6672616d655f76616c6964055f454e560b636865636b41646d696e0970726f746f5f3236e9010000f30100000202051d00000085000000c0000000a440000187004000874040011f8040011ec0008086c0c000c1000100a5000001a600000087004000874040011f4041011ec0008086c0c000c1800100a5000001a600000085000001c0000000a4400001870040008a80c08086c0c100c100020001410200a4408001260080000a000000040873746f7261676504067374617465040853544f5050454404066572726f7204267468697320636f6e74726163742073746f70706564206e6f772c2063616e27742073746f70040750415553454404257468697320636f6e747261637420706175736564206e6f772c2063616e27742073746f700405656d6974040853746f70706564040103000000010900000107000000001d000000e9010000e9010000e9010000ea010000ea010000ea010000ea010000eb010000eb010000eb010000eb010000ed010000ed010000ed010000ed010000ee010000ee010000ee010000ee010000f0010000f0010000f0010000f1010000f1010000f2010000f2010000f2010000f2010000f3010000020000000573656c66000000001d00000004617267000000001d0000000300000019636865636b5f63616c6c65725f6672616d655f76616c6964055f454e560b636865636b41646d696e0970726f746f5f3237f901000060020000021c1a8401000085000000c0000000a440000185008000c0000000a440000185000001c00080000101000041410000a4800002c680c00107c14001e48000010601c101074141024681c001870140016401000124810000450100026481800085018002c0018001a4810001a20100001ec00080c681c10101c20100e5010001e6010000c7014200c741c203c7c18003e24100001ec000800682c10141820200250200012602000006c2c201410203002442000106c2c2014602c1014782c004800200026402000124420000220100001e4002800602c10107424304400200028602c10187424105c1820300a402000124820000220200001ec000800682c10141c20300250200012602000006c2c20141020400244200010642c40140028001248200014682c4016482800080028002c1c204000003800441c304009d420305c6c2c20101030500e4420001cc42450440038004e482800106c3c201400380052443000106c3c20141830500244300010cc3450480030005c603c101c783c00700040002e48300019dc303072443800106c3c20141030600244300010c434504800380042483800146"; + replace_code += "c3c20181430600644300014603c1014743c3068603c10187834607c603c101c743c1070684c0014004000624040001e48300000604c101074441084684c001800480056404000124040000a4830000c003000264838001620300001ec00d8046c3c201800300066443000146c3c201800380056443000146c3c2018603c10187834007c0030002a40300016443000046c3c20181c30600644300014603c7014743c7068bc300008a43018fc603c101c783c00700040002e48300018ac3838fc603c101c783c0070604c101078446084604c1014744c10880040006648400018604c10187444109c0048005a404000124040000e48300008ac30390648300018643c801c183080000048006a44380018603c10187834607c603c101c743c10700040006e48300010604c101074441084004800524040001a48300000001000746c3c20181c3080064430001220100001e4002804603c1014743c30680030002c603c101c743c10701840300e403000164830000620300001e40028046c3c2018603c10187834007c0030002a4030001644300004683c10181c30300650300016603000046c3c201810303006443000140038003810309005d83830680038003c14309009dc30307c003800301840900dd03840706c4c9014004800680048002248480014604c1014744c10881840300648400011f004a081e4009808644ca01c7044200c784ca09c7c48009a4840001c7044200c784ca090645ca0141c50000248500010d050509ca048501c6c4ca01000500074685c001800500096485000180058002e4440002c604cb01e48480000645cb0107854b0a4645ca0180058009648500018645ca01c7054200c7c5cb0bc7c5800ba40500012485000046c5ca0180058007c00580020006000a644500021e4015808604c10187444109c684c00100050008e4040001a48400004004000986c4c901c004800700058002a4848001a24400001ec00080c684c10101050c00e5040001e6040000c604c101c744cc09000580084605c1014745c10a8185030064050001e4840000e20400001e800e80c5040003000500004005800180058002c0050009e48480020645c401470542004785cc0a248500014645ca0180058009648500018645ca01c1850300a48500012040050b1e000a8046c5ca0180058007c00580020686c0014606cb016406800024060000644500004705420047c5cc0a8645ca01c7054200c7c5cc0bc7c5800ba4850001c645ca0100068009e48500018dc5050b4a8585014705420047c5cc0a47c5800a8705420087054d0b87c5000b2040050b1ec000804685c10181450d0065050001660500004005800281c50400c685c00100068009e48500015dc5850a8c854d0a0006800aa445800186c4c201c1c40d00a44400018604c10187844009c604c101c704ce090005800840050002e4048001a4840000c6c4ca01000580064005800280050009e4440002c604c101c784c0090605c10107054e0a4605c1014745c10a8705420087454e0b87c5000b648500018005000224058001e48400000705420007454e0a0ac58401260080003a000000130200000000000000143c617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a20207374616b696e67436f696e416464722c616d6f756e740409746f737472696e671301000000000000000409736166656d6174680407626967696e7404066572726f72145b506c656173652075736520746865206d6574686f64206f66207472616e7366657272696e67206d6f6e657920746f2074686520636f6e747261637420666f72207374616b696e6720746865206e61746976652061737365747321040873746f72616765040f616c6c546f6b656e53796d626f6c143c54686520636f6e74726163742061646472657373206973206e6f742063757272656e746c7920737570706f7274656420666f72206d696e696e672104067072696e74040b2d302d2d2d2d2d2d2d2d04036c74130000000000000000041e6465706f7369742073686f756c642067726561746572207468616e2030040c2d302d2d2d2d2d2d2d2d32041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373041d6765745f63757272656e745f636f6e74726163745f6164647265737304022c040d2d302d2d2d2d2d2d2d2d3231040a62616c616e63654f66040d2d302d2d2d2d2d2d2d2d3232040d7472616e7366657246726f6d040d2d302d2d2d2d2d2d2d2d3233040c2d302d2d2d2d2d2d2d2d33040473756204072d31312d2d2d04056a736f6e040664756d7073040d66726f6d5f61646472657373040e6f726967696e5f616d6f756e74040c6e65775f62616c616e63650405656d6974040f494e45584143544445504f534954040d2d302d2d2d2d2d2d2d2d3435040c7573657242616c616e6365040c7573657241646472657373041375736572526577617264426c6f636b4e756d040d666173745f6d61705f67657400040a746f696e74656765720412616c6c546f6b656e55736572436f756e74040d666173745f6d61705f73657404156765745f6865616465725f626c6f636b5f6e756d04056d61746804046d617804187374616b696e675265776172645374617274426c6f636b041a75736572206f627461696e20756e6b6f776e206572726f722104036774040d746f6b656e4164647265737304145374616b696e67526577617264537570706c7904135374616b696e675265776172644c69"; + replace_code += "6d6974144f546865206d6f6e657920737570706c79206578636565647320746865206d6178696d756d20737570706c792061667465722074686520757365722072656365697665732074686520616d6f756e7404056d696e74040b2d322d2d2d2d2d2d2d2d04046164640416616c6c53796d626f6c546f74616c42616c616e63650700000001030108010a00000106010d010f0000000084010000f9010000f9010000f9010000fa010000fa010000fa010000fb010000fb010000fb010000fb010000fb010000fc010000fc010000fc010000fd010000fd010000fd010000fd010000fd010000fd010000fe010000fe010000ff010000ff010000ff0100000002000000020000010200000102000001020000010200000502000005020000050200000602000006020000070200000702000007020000070200000902000009020000090200000a0200000a0200000a0200000a0200000a0200000a0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000b0200000d0200000d0200000d0200000d0200000f0200000f0200000f0200001102000011020000110200001202000012020000130200001302000013020000130200001302000014020000140200001402000015020000150200001502000016020000160200001602000017020000170200001702000018020000180200001802000018020000180200001802000018020000180200001902000019020000190200001a0200001a0200001a0200001b0200001b0200001b0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001c0200001d0200001d0200001d0200001e0200001e0200001e0200001f0200001f0200001f0200001f0200001f0200001f0200002002000020020000200200002102000021020000210200002102000021020000210200002102000021020000210200002102000021020000210200002102000021020000210200002102000021020000210200002102000021020000210200002102000021020000210200002102000022020000220200002202000022020000230200002302000023020000230200002302000023020000230200002302000023020000230200002302000023020000250200002502000025020000260200002602000026020000260200002602000026020000260200002602000026020000260200002602000026020000270200002702000027020000270200002702000027020000280200002802000028020000280200002a0200002a0200002a0200002e0200002e0200002e0200002f0200002f0200002f020000300200003002000030020000310200003102000031020000310200003202000032020000320200003202000034020000340200003702000037020000370200003702000037020000390200003902000039020000390200003902000039020000390200003a0200003a0200003a0200003a0200003a0200003a0200003a0200003b0200003b0200003c0200003c0200003c0200003c0200003c0200003c0200003c0200003c0200003c0200003c0200003c0200003d0200003d0200003d0200003d0200003d0200003d0200003f0200003f0200003f0200003f0200003f0200003f0200003f02000043020000430200004302000043020000440200004402000045020000450200004502000045020000480200004802000048020000480200004802000048020000480200004802000048020000480200004902000049020000490200004902000049020000490200004b0200004b0200004b0200004b0200004d0200004d0200004d0200004d0200004d0200004d0200004d0200004d0200004e0200004e0200004e0200004e0200004e0200004e0200004e0200004e0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200004f0200005002000050020000500200005002000050020000500200005002000050020000510200005102000051020000510200005302000053020000530200005302000053020000530200005402000054020000540200005a0200005a0200005a0200005b0200005b0200005b0200005b0200005b0200005b0200005b0200005b0200005c0200005c0200005c0200005c0200005c0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005d0200005e0200005e0200005e020000600200001c0000000573656c660000000084010000046172670000000084010000077061727365640b00000084010000107374616b696e67436f696e416464720e0000008401000007616d6f756e7414000000840100000d66726f6d5f6164647265737316000000840100001069735f6e61746976655f617373657419000000840100000d746f6b656e5f73796d626f6c2200000084010000157374616b696e67546f6b656e436f6e747261637447000000840100000d6375725f636f6e747261637449000000840100000a7072696669787374724e000000840100000f6f726967696e5f62616c616e636554000000840100000c6e65775f62616c616e63656800000084010000096576656e74537472a8000000b80000000d62616c616e63655461626c65d70000"; + replace_code += "00840100000d616464726573735461626c65da00000084010000106c6173745265776172645461626c65dd0000008401000013757365725f6f726967696e42616c616e6365e10000008401000014757365725f6f726967696e5f62616c616e6365e5000000840100001073796d626f6c55736572436f756e74ec0000000c0100000e63757272656e745f626c6f636bfc0000000c010000177374617274526577617264426c6f636b4e756d626572070100000c010000106c617374526577617264426c6f636b1801000063010000077265776172642e01000063010000157374616b696e67546f6b656e436f6e747261637432010000630100000a726577617264537472600100006301000011757365725f656e645f62616c616e63656e010000840100000e746f74616c5f62616c616e63658001000084010000070000000b636865636b53746174650f636865636b4d6967726174696f6e0b70617273655f61726773055f454e56116765745f66726f6d5f616464726573731769735f6e61746976655f61737365745f73796d626f6c1463616c5f757365725f63616e5f7265776172640970726f746f5f323864020000b60200000215170b01000085000000c0000000a440000185008000c00080000101000041410000a4800002c680400107c14001e4800001050180014001800124810001460141014741c10286814001c7014001a40100016481000086814101c1c10100a4810001dc01000120c081831ec00080c681410107024201e481000180018003c5010002e4818000620100001e4002800602410107424204400280028602410187424105c1c20100a402000124820000220200001ec000800682420141c202002502000126020000070243000742430407c20004224200001ec00080468242018182030065020001660200004002000481c203005d82820480020004c10204009dc20205c002000401430400dd028305068344014003800480038003248380011fc044061e4001804683420181030500c00380019dc3030765030001660300004683410181c3010064830001208081061e000180460341014743c106800300066483000140018006460341014743c50680038002c6034101c743c10701c40100e403000164830000620300001e00008026008000460341014783c50680038002c6034101c743c10700040006e403000164830000620300001ec000804683420181c3050065030001660300004683440180038005c003800364838001624300001ec0008086834201c1030600a5030001a603000085038002c0030000000480014004800380048006a4838002220100001e800180c5030003000400004004800380048001c0048002e44380021e000f80c6034101c743c6070604410107444108400400062484000140048002e4838001068446014004800480048003c6044101c784c00900058007e4040001244400000704430007c44608460441014784c0088604410187444609c6044101c744c1090705430007c5460a07c5000ae484000100058002a4048001648400000a4484010604470140048001248400014c444708c004800301850700460541014785c00a8005800264850001dd4485096444800146c447014704c8088b0401008ac481908a040291c6044101c704c90900058002e4840001d90480098ac484918a84c9926484000186c44901c1040a0000058008a4448001c683410100040007e48300010684410141c401002484000120c003081e800e80c7034300c743ca071f80ca071e800d80c60347010704430007c44a08e4830001068446014004800580048003c684400106054b0124058000e4040000244400000704430007444b08468441018704430087444b0987c400096484000186844101c0040007a48400014d8484080a4484010704430007444b0807c40008470443004784cb0847c48008200084081ec000800684420141c40b002504000126040000000480034184070086844001c0040007a48400011d8404084c04cc07c00400086444800146c447014704c8088b8400008ac481908a8483986484000186c44901c1840c0000058008a444800126008000330000001302000000000000001442617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a20207374616b696e67436f696e416464722c616d6f756e742c6973416c6c0409746f737472696e671301000000000000000409736166656d6174680407626967696e74040a746f696e746567657213000000000000000013030000000000000004036c7404066572726f72041f77697468647261772073686f756c642067726561746572207468616e2030040873746f72616765040f616c6c546f6b656e53796d626f6c143c54686520636f6e74726163742061646472657373206973206e6f742063757272656e746c7920737570706f7274656420666f72206d696e696e6721040c7573657242616c616e6365040c7573657241646472657373041375736572526577617264426c6f636b4e756d040d666173745f6d61705f676574001434546865207573657220646964206e6f7420726563686172676520746869732061737365742e636f6e74726163742061646472200403657104036774143554686520757365722063616e6e6f742077697468647261772064756520746f20696e73756666696369656e742062616c616e6365041a75736572206f627461696e20756e6b6f776e206572726f72210404737562040d6661"; + replace_code += "73745f6d61705f7365740416616c6c53796d626f6c546f74616c42616c616e6365041d696d706f72745f636f6e74726163745f66726f6d5f6164647265737304097472616e7366657204022c04056a736f6e040664756d7073040861646472657373040773796d626f6c04076368616e67650406746f696e740407726561736f6e040977697468647261770405656d697404144e617469766542616c616e63654368616e6765040c69734d6967726174696f6e0100040d746f6b656e4164647265737304156765745f6865616465725f626c6f636b5f6e756d04145374616b696e67526577617264537570706c7904135374616b696e675265776172644c696d6974144f546865206d6f6e657920737570706c79206578636565647320746865206d6178696d756d20737570706c792061667465722074686520757365722072656365697665732074686520616d6f756e7404056d696e74040d6f627461696e526577617264040d4f627461696e526577617264070000000103010b0000010d0106010f010e000000000b01000064020000640200006402000065020000650200006502000065020000650200006602000066020000660200006702000067020000670200006802000068020000680200006802000068020000680200006902000069020000690200006a0200006a0200006a0200006b0200006b0200006b0200006b0200006d0200006d0200006f0200006f0200006f0200006f0200006f0200006f0200006f0200006f0200006f0200006f0200006f0200006f020000700200007002000070020000700200007302000073020000730200007402000074020000750200007502000075020000750200007802000078020000780200007902000079020000790200007a0200007a0200007a0200007b0200007b0200007b0200007b0200007c0200007c0200007d0200007d0200007d0200007d0200007d0200007d0200007f0200007f0200007f0200007f0200007f0200008002000080020000800200008002000080020000820200008202000082020000820200008202000082020000820200008202000082020000820200008302000085020000850200008502000085020000850200008502000085020000850200008502000085020000860200008602000086020000860200008802000088020000880200008802000089020000890200008a0200008a0200008a0200008a0200008e0200008e0200008e0200008e0200008e0200008e02000090020000900200009202000092020000920200009202000092020000920200009202000096020000960200009602000096020000960200009602000096020000960200009702000097020000970200009702000097020000970200009702000097020000980200009802000098020000980200009802000098020000980200009802000098020000980200009802000098020000980200009802000098020000980200009902000099020000990200009a0200009a0200009a0200009a0200009a0200009a0200009a0200009a0200009a0200009b0200009b0200009b0200009c0200009d0200009e0200009e0200009e0200009e0200009e0200009e0200009f0200009b020000a1020000a1020000a1020000a1020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a3020000a4020000a4020000a4020000a4020000a5020000a5020000a5020000a5020000a5020000a5020000a5020000a5020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a6020000a7020000a7020000a7020000a7020000a7020000a7020000a7020000a7020000a8020000a8020000a8020000a8020000ac020000ac020000ac020000ac020000ac020000ac020000ae020000ae020000ae020000af020000af020000af020000af020000af020000af020000b0020000b0020000b0020000b0020000b6020000150000000573656c66000000000b01000004617267000000000b01000007706172736564080000000b010000107374616b696e67436f696e416464720b0000000b0100001069735f6e61746976655f61737365740e0000000b01000007616d6f756e74140000000b010000066973416c6c170000000b0100000d66726f6d5f61646472657373200000000b0100000d746f6b656e5f73796d626f6c330000000b0100000d62616c616e63655461626c653c0000000b0100000d616464726573735461626c653f0000000b010000106c6173745265776172645461626c65420000000b01000013757365725f6f726967696e42616c616e6365460000000b010000106c617374526577617264426c6f636b750000000b01000007726577617264810000000b0100000b6e657742616c616e636592000000c700000010746f6b656e315f636f6e7472616374ad000000c7000000176e61746976655472616e736665724576656e74417267c3000000c7000000157374616b696e67546f6b656e436f6e7472616374d70000000a0100000a726577617264537472fd0000000a010000096576656e74537472060100000a010000070000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e561769735f6e61746976655f61737365745f73796d626f6c116765745f66726f6d5f616464726573731463616c5f757365725f63616e5f7265776172641e"; + replace_code += "77697468647261775f6e61746976655f61737365745f707269766174650970726f746f5f3239ba020000e802000002110d8c00000085000000c0000000a440000185008000c00080000101000041410000a4800002cbc0000007c14001ca00018107414101ca00018206c141014701420124810001ca00018307414200078142024781c001074101025fc042021ec000800601430141410300250100012601000006814301474142004781c202240101011e8001804702c1011f4002041ec000804602430181c20300650200016602000029810000aa81fd7f0b0100005c0100014e01c2025041c1025f00c4021ec00080460143018141040065010001660100004401000086c14101c6814401e4018000a4810000c1c100001c0200010e02420441c20000e8c10580d04241055f00c4051ec00380c6c241010d03420507030301e4820001208081051e000180c602430101c30400e5020001e60200001e000180c6c241010d03420507030301e482000180018005c6c241010d03420507030301e48200010ac10205e781f97fc7414200c701c5030782c001464245014782c5048002000264820001ca410204c7414200c7c1c5030782c00146c241018102040064820001ca410204c7414200c701c6030782c0014782c101ca410204c7414200c781c2030782c0014702c101ca410204c7414200c741c6030782c001ca014404c7414200c781c6030782c001cac14604c7414200c701c7030782c00146c2410187c2400264820001ca410204c7414200c701c5030782c001c7018203cac0818ec6414501c781c50300028001e48100010682470141c20700800280032442800126008000200000001305000000000000001468617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a2020636f696e416464722c636f696e53796d626f6c2c7374617274526577617264426c6f636b2c656e64526577617264426c6f636b2c4f6e65426c6f636b5265776172640409636f696e41646472130100000000000000040b636f696e53796d626f6c130200000000000000040c746f74616c537570706c79040a746f696e7465676572130300000000000000040873746f72616765040f616c6c546f6b656e53796d626f6c0004066572726f720426746f6b656e20616c7265616479206578697374212063616e27742061646420616761696e2104067061697273041773756d626f6c20616c726561647920657869737421201300000000000000001465617267756d656e7420666f726d6174206572726f722c206e65656420666f726d617420697320636f6e74726163745f616464722c53796d626f6c2c626c6f636b4e756d6265722c7265776172642c626c6f636b4e756d6265722c726577617264202e2e2e04156765745f6865616465725f626c6f636b5f6e756d142e526577617264537472206973206e6f7420736f7274656420696e20626c6f636b2068696768206f726465722e2004145374616b696e67526577617264436f6e66696704056a736f6e040664756d707304145374616b696e67526577617264537570706c7904135374616b696e675265776172644c696d69740412616c6c546f6b656e55736572436f756e740416616c6c53796d626f6c546f74616c42616c616e636504023004187374616b696e675265776172645374617274426c6f636b040a5265776172645374720405656d697404154372656174654e65775374616b696e67506f6f6c030000000107010b0000000000008c000000ba020000ba020000ba020000bb020000bb020000bb020000bb020000bb020000bc020000bc020000bc020000bc020000bc020000bc020000bc020000bc020000bc020000c1020000c1020000c1020000c1020000c1020000c1020000c2020000c2020000c2020000c2020000c4020000c4020000c4020000c4020000c4020000c5020000c5020000c5020000c6020000c6020000c6020000c6020000c4020000c4020000c9020000ca020000ca020000ca020000ca020000ca020000cb020000cb020000cb020000cb020000cd020000cf020000cf020000cf020000cf020000d0020000d0020000d0020000d0020000d0020000d1020000d1020000d1020000d2020000d2020000d2020000d2020000d2020000d2020000d3020000d3020000d3020000d3020000d3020000d5020000d5020000d5020000d5020000d5020000d8020000d8020000d8020000d8020000d8020000d0020000dd020000dd020000dd020000dd020000dd020000dd020000dd020000dd020000de020000de020000de020000de020000de020000de020000de020000df020000df020000df020000df020000df020000e0020000e0020000e0020000e0020000e0020000e1020000e1020000e1020000e1020000e2020000e2020000e2020000e2020000e3020000e3020000e3020000e3020000e3020000e3020000e3020000e4020000e4020000e4020000e4020000e4020000e6020000e6020000e6020000e6020000e7020000e7020000e7020000e7020000e8020000110000000573656c66000000008c00000004617267000000008c00000007706172736564080000008c00000005696e666f110000008c0000001028666f722067656e657261746f72291f000000290000000c28666f72207374617465291f000000290000000e28666f7220636f6e74726f6c291f00000029000000025f2000000027000000027620000000270000000c73746f72655265"; + replace_code += "776172642a0000008c0000000269340000008c000000106d61785f626c6f636b4e756d626572380000008c0000000c28666f7220696e646578293c000000560000000c28666f72204c696d6974293c000000560000000b28666f722073746570293c0000005600000002693d00000055000000096576656e74537472870000008c000000030000000b636865636b41646d696e1470617273655f61745f6c656173745f61726773055f454e560970726f746f5f3330ec0200000a030000020c0d6b00000085000000c0000000a440000185008000c00080000101000041410000a4800002cbc0000007c14001ca00018107414101ca00018206c141014701420124810001ca00018307414200078142024781c001074101024701c1015f4001021ec0008006c142014101030025010001260100000b0100005c0100014e01c2025041c1025f40c3021ec0008046c142018181030065010001660100004401000086c14101c6c14301e4018000a4810000c1c100001c0200010e02420441c20000e8c10580d04241055f40c3051ec00380c6c241010d03420507030301e4820001208081051e000180c6c2420101030400e5020001e60200001e000180c6c241010d03420507030301e482000180018005c6c241010d03420507030301e48200010ac10205e781f97fc7414200c741c4030782c0014682440147c2c4048002000264820001ca410204c7414200c701c5030782c0014782c101ca410204c7414200c741c5030782c00146c2410187c2400264820001ca410204c7414200c741c4030782c001c7018203cac0018bc6814401c7c1c40300028001e481000106c2450141020600800280032442800126008000190000001305000000000000001468617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a2020636f696e416464722c636f696e53796d626f6c2c7374617274526577617264426c6f636b2c656e64526577617264426c6f636b2c4f6e65426c6f636b5265776172640409636f696e41646472130100000000000000040b636f696e53796d626f6c130200000000000000040c746f74616c537570706c79040a746f696e7465676572130300000000000000040873746f72616765040f616c6c546f6b656e53796d626f6c04066572726f72143c506c6561736520636f72726563746c792073656c65637420746865205374616b696e67206f726520706f6f6c20746f206265206d6f6469666965641300000000000000001465617267756d656e7420666f726d6174206572726f722c206e65656420666f726d617420697320636f6e74726163745f616464722c53796d626f6c2c626c6f636b4e756d6265722c7265776172642c626c6f636b4e756d6265722c726577617264202e2e2e04156765745f6865616465725f626c6f636b5f6e756d142e526577617264537472206973206e6f7420736f7274656420696e20626c6f636b2068696768206f726465722e2004145374616b696e67526577617264436f6e66696704056a736f6e040664756d707304135374616b696e675265776172644c696d697404187374616b696e675265776172645374617274426c6f636b040a5265776172645374720405656d697404184368616e67655374616b696e67506f6f6c526577617264030000000107010b0000000000006b000000ec020000ec020000ec020000ed020000ed020000ed020000ed020000ed020000ee020000ee020000ee020000ee020000ee020000ee020000ee020000ee020000ee020000ef020000ef020000ef020000ef020000ef020000ef020000ef020000f0020000f0020000f0020000f0020000f2020000f3020000f3020000f3020000f3020000f3020000f4020000f4020000f4020000f4020000f6020000f8020000f8020000f8020000f8020000f9020000f9020000f9020000f9020000f9020000fa020000fa020000fa020000fb020000fb020000fb020000fb020000fb020000fb020000fc020000fc020000fc020000fc020000fc020000fe020000fe020000fe020000fe020000fe0200000103000001030000010300000103000001030000f90200000403000004030000040300000403000004030000040300000403000004030000050300000503000005030000050300000503000006030000060300000603000006030000060300000603000006030000070300000703000007030000070300000703000008030000080300000803000008030000090300000903000009030000090300000a0300000c0000000573656c66000000006b00000004617267000000006b00000007706172736564080000006b00000005696e666f110000006b0000000c73746f72655265776172641d0000006b0000000269270000006b000000106d61785f626c6f636b4e756d6265722b0000006b0000000c28666f7220696e646578292f000000490000000c28666f72204c696d6974292f000000490000000b28666f722073746570292f0000004900000002693000000048000000096576656e74537472660000006b000000030000000b636865636b41646d696e1470617273655f61745f6c656173745f61726773055f454e560970726f746f5f33310e03000034030000020e117900000085000000c0000000a440000185008000c00080000101000041410000a4800002c700400105010001248180004781400047c1c00247c180025f00c1021ec019804781400047c1c00247c1800280018002c1410100"; + replace_code += "9dc10103c001800201820100dd0182030002800241c201001d4202044602c20180020004c002000264828001624200001ec000808642c201c1820200a5020001a602000085020002c0020000000380014003000280038004a4828002c6c2c201010303004003000580030002e4420002c642c30100030005e48200010643c301418303002483000120c002061e800f80c7824000c7c2c3051f00c4051e800e80c642c4010783400007834406e482000106c3c4014003000480030002c603c5010644c50124048000e40300002443000007834000078345064643c301878340008783450787c30007648300018643c301c0030005a48300014d8383060a4383010643c301478340004783c50647c38006248300014643c3018783400087c3450787c3000764830001200083061ec000800643c20141030600250300012603000000030002414306008603c501c0030005a48300011d8303064c83c605c00300066443800146c3c6014703c7068b8300008a03818e8a83028f6483000186c3c701c103080000048006a44380012600800021000000130100000000000000142e617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a2020636f696e41646472040873746f72616765040f616c6c546f6b656e53796d626f6c00040c7573657242616c616e6365040c7573657241646472657373041375736572526577617264426c6f636b4e756d040d666173745f6d61705f67657404066572726f72041a75736572206f627461696e20756e6b6f776e206572726f722104067072696e740407726577617264040a746f696e7465676572130000000000000000040c69734d6967726174696f6e0100041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373040d746f6b656e41646472657373040d666173745f6d61705f7365740409746f737472696e6704156765745f6865616465725f626c6f636b5f6e756d04145374616b696e67526577617264537570706c7904135374616b696e675265776172644c696d6974144f546865206d6f6e657920737570706c79206578636565647320746865206d6178696d756d20737570706c792061667465722074686520757365722072656365697665732074686520616d6f756e7404022c04056d696e7404056a736f6e040664756d7073040861646472657373040d6f627461696e5265776172640405656d6974040d4f627461696e526577617264050000000103010a01060000010f00000000790000000e0300000e0300000e0300000f0300000f0300000f0300000f0300000f03000010030000110300001103000012030000120300001203000012030000120300001303000013030000130300001503000015030000150300001603000016030000160300001703000017030000170300001c0300001c0300001c0300001c0300001d0300001d0300001e0300001e0300001e0300001e03000022030000220300002203000022030000220300002203000023030000230300002303000023030000230300002403000024030000240300002403000024030000240300002403000024030000240300002403000024030000240300002503000025030000250300002503000026030000260300002603000026030000260300002603000026030000260300002703000027030000270300002703000027030000270300002703000027030000270300002703000027030000270300002803000028030000280300002803000028030000280300002803000028030000280300002803000028030000280300002a0300002a0300002a0300002a0300002e0300002e0300002e0300002e0300002e0300002e0300002f0300002f0300002f03000030030000300300003003000030030000300300003003000031030000310300003103000031030000340300000e0000000573656c660000000079000000046172670000000079000000077061727365640800000079000000107374616b696e67436f696e4164647209000000790000000d66726f6d5f616464726573730b000000790000000d746f6b656e5f73796d626f6c13000000780000000d62616c616e63655461626c6516000000780000000d616464726573735461626c651900000078000000106c6173745265776172645461626c651c00000078000000106c617374526577617264426c6f636b2000000078000000077265776172642c00000078000000157374616b696e67546f6b656e436f6e747261637441000000780000000a7265776172645374726b00000078000000096576656e745374727400000078000000050000000b636865636b53746174650b70617273655f61726773116765745f66726f6d5f61646472657373055f454e561463616c5f757365725f63616e5f7265776172640970726f746f5f333239030000410300000203061300000085000000c0000000a440000185008000c0000000a440000185000001c0008000a44000018600c001c7404000c780c001a4800001ccc0400140018000e4408001c7404000ca4041822600800006000000041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373040873746f72616765040d746f6b656e41646472657373040d6368616e67654d696e746572040c69734d6967726174696f6e010104000000010701080105000000000000130000003903000039030000390300003a0300003a0300003a0300003b0300003b0300003b0300"; + replace_code += "003c0300003c0300003c0300003c0300003d0300003d0300003d0300003e0300003e03000041030000030000000573656c660000000013000000116e65775f7374616b696e675f616464720000000013000000157374616b696e67546f6b656e436f6e74726163740d00000013000000040000000b636865636b41646d696e0f636865636b4d6967726174696f6e0d636865636b41646472657373055f454e560970726f746f5f3333460300005603000002080c2900000085000000c0000000a440000185008000c00080000101000041410000a4800002c78040010701400145010001800100026441000147c140004701c10247c180025f40c1021ec0048047c140004701c10247c18002818101005d81810286c1c101c001800200020002a4818001a24100001e400080c1010200e6010001c5010002000200004002800180020002c0020003e4818002e601000141010200660100012600800009000000130200000000000000143a617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61743a2020636f696e416464722c7573657241646472657373130100000000000000040873746f72616765040f616c6c546f6b656e53796d626f6c00041375736572526577617264426c6f636b4e756d040d666173745f6d61705f676574130000000000000000050000000103010a01050000010f0000000029000000460300004603000046030000470300004703000047030000470300004703000048030000490300004a0300004a0300004a0300004b0300004b0300004b0300004b0300004b0300004c0300004c0300004c0300004c0300004c0300004e0300004e0300004e0300004e0300004f0300004f030000500300005003000052030000520300005203000052030000520300005203000053030000550300005503000056030000080000000573656c660000000029000000046172670000000029000000077061727365640800000029000000107374616b696e67436f696e4164647209000000290000000c75736572416464726573730a00000029000000106c6173745265776172645461626c651700000026000000106c617374526577617264426c6f636b1b00000026000000077265776172642500000026000000050000000b636865636b53746174650b70617273655f617267730d636865636b41646472657373055f454e561463616c5f757365725f63616e5f7265776172640970726f746f5f33345a0300006a03000001080c330000004b00000086004000c7404000c780c001a40001011e000980cb010000ca418181ca810182074240000782410407420104ca018282074240000702420407420104ca018283074240000782420407420104ca018284074240000702430407420104ca018285074240000782430407420104ca018286074240000702440407420104ca018287064244004002800380028002c0020003244200020682440007c24404400280008002800324428001a98000002a01f67f8600450087404501c0008000a5000001a6000000260080001600000004067061697273040873746f72616765040f616c6c546f6b656e53796d626f6c0409636f696e41646472040b636f696e53796d626f6c040e636f696e55736572436f756e740412616c6c546f6b656e55736572436f756e740410636f696e546f74616c416d6f756e740416616c6c53796d626f6c546f74616c42616c616e636504117374617274526577617264426c6f636b04187374616b696e675265776172645374617274426c6f636b040d726577617264436f6e66696704145374616b696e67526577617264436f6e666967040c7265776172644c696d697404135374616b696e675265776172644c696d6974040d726577617264537570706c7904145374616b696e67526577617264537570706c7904067072696e7404067461626c650407696e7365727404056a736f6e040664756d707301000000000000000000330000005a0300005c0300005c0300005c0300005c0300005c0300005d0300005e0300005f030000600300006003000060030000600300006103000061030000610300006103000062030000620300006203000062030000630300006303000063030000630300006403000064030000640300006403000065030000650300006503000065030000660300006603000066030000660300006603000067030000670300006703000067030000670300005c0300005c03000069030000690300006903000069030000690300006a030000080000000573656c6600000000330000000472657301000000330000001028666f722067656e657261746f7229050000002d0000000c28666f7220737461746529050000002d0000000e28666f7220636f6e74726f6c29050000002d000000026b060000002b0000000276060000002b00000005696e666f070000002b00000001000000055f454e560970726f746f5f33356e0300007e03000002080c2400000085000000c0000000a440000185008000c00080000101000041410000a4800002c78040010701400146c140018001000264810001870141008741410387c10003a24100001ec00080c681410101c20100e5010001e6010000c001000301020200dd018203064242014682420180028003c002800264828001624200001e00008041c202002502000126020000260080000c0000001302000000000000001437617267756d656e7420666f726d6174206572726f722c"; + replace_code += "206e65656420666f726d61743a2020636f696e416464722c75736572616464721301000000000000000409746f737472696e67040873746f72616765040f616c6c546f6b656e53796d626f6c04066572726f72143c54686520636f6e74726163742061646472657373206973206e6f742063757272656e746c7920737570706f7274656420666f72206d696e696e6721040c7573657242616c616e6365040a746f696e7465676572040d666173745f6d61705f676574130000000000000000030000000103010a000000000000240000006e0300006e0300006e0300006f0300006f0300006f0300006f0300006f03000070030000710300007203000072030000720300007403000074030000740300007503000075030000760300007603000076030000760300007c0300007c0300007c0300007d0300007d0300007d0300007d0300007d0300007d0300007d0300007d0300007d0300007d0300007e030000080000000573656c660000000024000000046172670000000024000000077061727365640800000024000000107374616b696e67436f696e4164647209000000240000000975736572416464720a000000240000000d66726f6d5f616464726573730d000000240000000d746f6b656e5f73796d626f6c10000000240000000d62616c616e63655461626c651900000024000000030000000b636865636b53746174650b70617273655f61726773055f454e560970726f746f5f3336820300008d0300000204062500000080008000cb000000ca8000800781400007c1400207810002ca008180078140000741410207810002ca0001820781400007c1410207810002ca000183078140000741420207810002ca0001840781400007c1420207810002ca000185078140000741430207810002ca0001860781400007c1430207810002ca000187060144000741440240018001250100012601000026008000120000000409636f696e41646472040b636f696e53796d626f6c040873746f72616765040f616c6c546f6b656e53796d626f6c040e636f696e55736572436f756e740412616c6c546f6b656e55736572436f756e740410636f696e546f74616c416d6f756e740416616c6c53796d626f6c546f74616c42616c616e636504117374617274526577617264426c6f636b04187374616b696e675265776172645374617274426c6f636b040d726577617264436f6e66696704145374616b696e67526577617264436f6e666967040c7265776172644c696d697404135374616b696e675265776172644c696d6974040d726577617264537570706c7904145374616b696e67526577617264537570706c7904056a736f6e040664756d7073010000000000000000002500000082030000830300008403000085030000850300008503000085030000860300008603000086030000860300008703000087030000870300008703000088030000880300008803000088030000890300008903000089030000890300008a0300008a0300008a0300008a0300008b0300008b0300008b0300008b0300008c0300008c0300008c0300008c0300008c0300008d030000040000000573656c66000000002500000004617267000000002500000009636f696e41646472010000002500000005696e666f020000002500000001000000055f454e560970726f746f5f3337900300009103000001010204000000470040004740c000660000012600800002000000040873746f72616765040661646d696e00000000000000000400000090030000900300009003000091030000010000000573656c660000000004000000000000000970726f746f5f3338930300009403000001010204000000470040004740c000660000012600800002000000040873746f726167650416616c6c53796d626f6c546f74616c42616c616e636500000000000000000400000093030000930300009303000094030000010000000573656c660000000004000000000000000970726f746f5f3339970300009803000001010204000000470040004740c000660000012600800002000000040873746f72616765040f616c6c546f6b656e53796d626f6c00000000000000000400000097030000970300009703000098030000010000000573656c660000000004000000000000000970726f746f5f34309b0300009c03000001010204000000470040004740c000660000012600800002000000040873746f726167650412616c6c546f6b656e55736572436f756e740000000000000000040000009b0300009b0300009b0300009c030000010000000573656c660000000004000000000000000970726f746f5f34319f030000a003000001010204000000470040004740c000660000012600800002000000040873746f72616765040c69734d6967726174696f6e0000000000000000040000009f0300009f0300009f030000a0030000010000000573656c660000000004000000000000000970726f746f5f3432a4030000a503000001010304000000460040008140000064400001260080000200000004066572726f72041d63616e27742064657374726f7920746f6b656e20636f6e74726163740100000000000000000004000000a4030000a4030000a4030000a5030000010000000573656c66000000000400000001000000055f454e564b000000040000000a00000033000000330000004900000035000000560000005c0000006400000072000000780000007e0000008b00000097"; + replace_code += "000000a2000000af000000bd000000e3000000340100008c0100003a010000b101000090010000b5010000b3010000ba010000b7010000bf010000bc010000c4010000c1010000c9010000c6010000ce010000cb010000dc010000d1010000e6010000de010000f3010000e801000060020000f8010000b602000063020000e8020000b90200000a030000eb020000340300000d030000410300003803000056030000450300006a030000590300007e0300006d0300008d03000081030000910300008f030000940300009203000098030000960300009c0300009a030000a00300009e030000a5030000a3030000a7030000a70300001000000009436f6e7472616374000000004b0000000853746f72616765010000004b000000024d040000004b0000000b636865636b5374617465070000004b00000011636865636b5374617465496e69746564080000004b0000000d636865636b41646472657373090000004b000000116765745f66726f6d5f616464726573730a0000004b0000000b636865636b41646d696e0b0000004b0000000f636865636b4d6967726174696f6e0c0000004b00000019636865636b5f63616c6c65725f6672616d655f76616c69640d0000004b0000000b70617273655f617267730e0000004b0000001470617273655f61745f6c656173745f617267730f0000004b0000000e6172726179436f6e7461696e73100000004b0000001769735f6e61746976655f61737365745f73796d626f6c110000004b0000001e77697468647261775f6e61746976655f61737365745f70726976617465120000004b0000001463616c5f757365725f63616e5f726577617264130000004b00000001000000055f454e560000000d00000004696e6974000000106f6e5f6465706f7369745f61737365740000000b696e69745f636f6e66696700000005706175736500000006726573756d650000000473746f70000000077374616b696e67000000087769746864726177000000127365745374616b696e67436f6e7472616374000000136368616e67655374616b696e675265776172640000000c6f627461696e526577617264000000096d6967726174696f6e0000000a6f6e5f64657374726f790000000e00000005737461746500000009746f6b656e4e616d6500000009707265636973696f6e0000000b746f6b656e53796d626f6c0000000561646d696e000000036665650000000b717565727952657761726400000007676574496e666f0000001271756572795374616b696e67416d6f756e740000001171756572795374616b696e6753746174650000000b746f74616c416d6f756e740000000e616c6c546f6b656e53796d626f6c00000011616c6c546f6b656e55736572436f756e740000000b49734d6967726174696f6e00000009000000134e617469766542616c616e63654368616e676500000006496e697465640000000650617573656400000007526573756d65640000000753746f707065640000000e494e45584143544445504f5349540000000c4f627461696e526577617264000000144372656174654e65775374616b696e67506f6f6c000000174368616e67655374616b696e67506f6f6c5265776172640000000e000000046e616d65000000040000000673796d626f6c00000004000000057374617465000000040000000561646d696e00000004000000177374616b696e675265776172645374617274426c6f636b00000033000000135374616b696e67526577617264436f6e66696700000036000000125374616b696e675265776172644c696d697400000033000000135374616b696e67526577617264537570706c79000000330000000e616c6c546f6b656e53796d626f6c0000003600000011616c6c546f6b656e55736572436f756e740000003300000015616c6c53796d626f6c546f74616c42616c616e6365000000360000000c746f6b656e41646472657373000000040000000b69734d6967726174696f6e0000000300000010746f74616c537570706c794c696d6974000000010000001b00000004696e697400000000000000106f6e5f6465706f7369745f61737365740000000200000002000000030000000b696e69745f636f6e6669670000000100000002000000057374617465000000010000000200000009746f6b656e4e616d65000000010000000200000009707265636973696f6e00000001000000020000000b746f6b656e53796d626f6c00000001000000020000000561646d696e0000000100000002000000036665650000000100000002000000057061757365000000010000000200000006726573756d6500000001000000020000000473746f700000000100000002000000077374616b696e6700000001000000020000000877697468647261770000000100000002000000127365745374616b696e67436f6e74726163740000000100000002000000136368616e67655374616b696e6752657761726400000001000000020000000c6f627461696e5265776172640000000100000002000000096d6967726174696f6e00000001000000020000000b7175657279526577617264000000010000000200000007676574496e666f00000001000000020000001271756572795374616b696e67416d6f756e7400000001000000020000001171756572795374616b696e67537461746500000001000000020000000b746f74616c416d6f756e7400000001000000020000000e616c6c54"; + replace_code += "6f6b656e53796d626f6c000000010000000200000011616c6c546f6b656e55736572436f756e7400000001000000020000000b49734d6967726174696f6e00000001000000020000000a6f6e5f64657374726f7900000000"; + new_contract.code = ContractHelper::load_contract_from_hex(replace_code); + new_contract.code.code_hash = new_contract.code.GetHash(); + } + if (trx_state->_trx->id().str() == "e5fcd37b3a6cf7bc7c376a88bc48bb139dc0fe9f" + || trx_state->_trx->id().str() == "7a8497646eb6fb635a30a3973e814a03573ac5e1" + || trx_state->_trx->id().str() == "cbfbcb3549fc9279a57194eafdf663fc397d2db8" + || trx_state->_trx->id().str() == "ce1338759ae3f0d439986d5a107d60e81116a51a" + || trx_state->_trx->id().str() == "330c5dd985268016e8daf8ce1492fb3696845134" + || trx_state->_trx->id().str() == "e5424f6a7ea3602e6a6b4befe10d94a6a70e4078") { + + std::string replace_code = "a8ed6b30a960bf0598177e9893c3108cf2da0e330000d6611b476c7561100019930d0a1a0a04080408087856000000000000000000000028774001056d61696e04000000c20500000013146e0000002c00000041000000ac400000c0000000e48080002c810000ca0081802cc100006c010100ac410100ec8101002cc201006c020200ac420200ec8202002cc302006c030300ac430300ec8303002cc403006c040400ac440400ca800481ac840400ca808481acc40400ca800482ac040500ca808482ac440500ca800483ac840500ca808483acc40500ca800484ac040600ca808484ac440600ca800485ac840600ca808485acc40600ca800486ac040700ca808486ac440700ca800487ac840700ca808487acc40700ca800488ac040800ca808488ac440800ca800489ac840800ca808489acc40800ec040900cac0048aec440900cac0848aec840900cac0048becc40900cac0848bec040a00cac0048cec440a00cac0848cec840a00cac0048decc40a00cac0848dec040b00cac0048eec440b00cac0848eec840b00cac0048fecc40b00cac0848fec040c00cac00490ec440c00cac08490ec840c00cac00491ecc40c00cac08491ec040d00cac00492ec440d00cac08492ec840d00cac00493ecc40d00cac08493ec040e00cac00494ec440e00cac08494ec840e00cac00495ecc40e00cac08495ec040f00cac00496e6000001260080002d00000013000014bbf08ac6020405696e697404116f6e5f6465706f7369745f6173736574041677697468647261775f6e61746976655f6173736574041371756572795f6e61746976655f6173736574040c696e69745f636f6e66696704067374617465040a746f6b656e4e616d65040a707265636973696f6e040c746f6b656e53796d626f6c040661646d696e040c746f74616c537570706c79040c6973416c6c6f774c6f636b040466656504126d696e5472616e73666572416d6f756e7404126665655265636569766541646472657373040773657446656504157365744d696e5472616e73666572416d6f756e7404157365744665655265636569766541646472657373040e6f70656e416c6c6f774c6f636b040a62616c616e63654f660406757365727304097472616e73666572040d7472616e7366657246726f6d0408617070726f76650414617070726f76656442616c616e636546726f6d0414616c6c417070726f76656446726f6d55736572040670617573650407726573756d65040573746f7004056c6f636b0407756e6c6f636b040c666f726365556e6c6f636b04106c6f636b656442616c616e63654f66040d6164644c6971756964697479041072656d6f76654c6971756964697479040965786368616e676504107365744d696e416464416d6f756e740408676574496e666f0417636163756c61746545786368616e6765416d6f756e740419636163756c617465506f6f6c53686172654279546f6b656e041b6765745573657252656d6f766561626c654c6971756964697479041673657444616f436f6e747261637441646472657373040f67657444616f436f6e7472616374040b6f6e5f64657374726f790100000001003d00000009436f6e7472616374060000000600000001010208000000220000001e80008040000000260000011e4000804b0000006600000126008000000000000000000000000000080000000600000006000000060000000600000006000000060000000600000006000000010000000670726f70730000000008000000000000000853746f72616765240000002400000001010208000000220000001e80008040000000260000011e4000804b0000006600000126008000000000000000000000000000080000002400000024000000240000002400000024000000240000002400000024000000010000000670726f70730000000008000000000000000870726f746f5f322b000000410000000101032d000000460040008140000064400001478040004a00c181478040004a00c182478040004ac04183478040004a404284478040004ac0428547804000864043004a800086478040004ac04387478040004a404288478040004a40c28847804000864043004a800089478040004a00c589478040004a00c18a478040004a00418b478040004a40c28b478040004a40428c478040004a40c28c478040004a40428d478040004a00c18d460040008100070064400001260080001d00000004067072696e74041a756e697377617020636f6e7472616374206372656174696e67040873746f7261676504056e616d650401040773796d626f6c0407737570706c79040230040a707265636973696f6e13000000000000000004067374617465040b4e4f545f494e49544544040661646d696e040f63616c6c65725f61646472657373040a616c6c6f774c6f636b0100040466656504126d696e5472616e73666572416d6f756e740412666565526563656976654164647265737304096665655f726174650404302e300415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e7404126d696e5f746f6b656e315f616d6f756e7404126d696e5f746f6b656e325f616d6f756e74040d64616f5f636f6e74726163740419756e697377617020636f6e74726163742063726561746564010000000000000000002d000000"; + replace_code += "2b0000002b0000002b0000002c0000002c0000002d0000002d0000002e0000002e0000002f0000002f00000030000000300000003100000031000000310000003200000032000000330000003300000034000000340000003500000035000000350000003700000037000000380000003800000039000000390000003a0000003a0000003b0000003b0000003c0000003c0000003d0000003d0000003e0000003e00000040000000400000004000000041000000010000000573656c66000000002d00000001000000055f454e560870726f746f5f33440000004a00000003080d1f000000c6004000c740c00100018000e480000106014000074140024001000124810001460140004741c00280010000648100018601400087814003c001800200020002a4818001c6014000c7c1c0030602400007024104400200038602400087424105c002800100038002a402800124020000e4810000e601000126008000060000000409736166656d617468040b736166656e756d62657204106e756d6265725f6d756c7469706c79040d6e756d6265725f746f696e74040b6e756d6265725f646976040b6e756d6265725f616464010000000000000000001f0000004400000044000000440000004400000045000000450000004500000045000000460000004600000046000000460000004700000047000000470000004700000047000000480000004800000048000000480000004800000048000000480000004800000048000000480000004800000048000000490000004a000000080000000d696e7075745f616d6f756e74000000001f0000000e696e7075745f72657365727665000000001f0000000f6f75747075745f72657365727665000000001f0000000261040000001f0000000262080000001f00000002780c0000001f000000026e110000001f00000002721d0000001f00000001000000055f454e560870726f746f5f344e000000570000000002040f000000040000004600400064808000620000001e80018086404000c0008000a4800001a20000001e400080000080001e0000800680400026000001260080000300000004256765745f707265765f63616c6c5f6672616d655f636f6e74726163745f61646472657373041a69735f76616c69645f636f6e74726163745f61646472657373040f63616c6c65725f61646472657373010000000000000000000f0000004e0000004f0000004f000000500000005000000050000000500000005000000050000000500000005200000052000000540000005600000057000000020000000d66726f6d5f61646472657373010000000f00000011707265765f636f6e74726163745f6964030000000f00000001000000055f454e560870726f746f5f355a0000005d0000000101030b000000470040004740c00085000000a48080005f8080001ec000804680c00081c0000065000001660000002600800004000000040873746f72616765040661646d696e04066572726f72142c796f7520617265206e6f742061646d696e2c2063616e27742063616c6c20746869732066756e6374696f6e0200000001050000000000000b0000005a0000005a0000005a0000005a0000005a0000005a0000005b0000005b0000005b0000005b0000005d000000010000000573656c66000000000b00000002000000116765745f66726f6d5f61646472657373055f454e560870726f746f5f36620000006a00000003040616000000224000001ec00080c600400000010001e5000001e6000000c6404000c780c0010001000041c10000e4808001e20000001e8000801c0180015f4000021ec0008006014000400100012501000126010000e6000001260080000400000004066572726f720407737472696e67040673706c697404022c01000000000000000000160000006200000062000000630000006300000063000000630000006500000065000000650000006500000065000000660000006600000066000000660000006600000067000000670000006700000067000000690000006a0000000400000004617267000000001600000006636f756e7400000000160000000a6572726f725f6d73670000000016000000077061727365640b0000001600000001000000055f454e560870726f746f5f376d0000007500000003040616000000224000001ec00080c600400000010001e5000001e6000000c6404000c780c0010001000041c10000e4808001e20000001e8000801c018001204000021ec0008006014000400100012501000126010000e6000001260080000400000004066572726f720407737472696e67040673706c697404022c01000000000000000000160000006d0000006d0000006e0000006e0000006e0000006e000000700000007000000070000000700000007000000071000000710000007100000071000000710000007200000072000000720000007200000074000000750000000400000004617267000000001600000006636f756e7400000000160000000a6572726f725f6d73670000000016000000077061727365640b0000001600000001000000055f454e560870726f746f5f38780000008200000002080912000000624000001e40008083000000a600000184000000c600400000010000e40001011ec000801f4080031e4000800302800026020001e98000006a41fe7fc3000000e600000126008000010000000407697061697273010000000000000000001200000078000000780000"; + replace_code += "0079000000790000007b0000007c0000007c0000007c0000007c0000007d0000007d0000007e0000007e0000007c0000007c0000008100000081000000820000000800000004636f6c0000000012000000056974656d00000000120000000676616c756505000000120000001028666f722067656e657261746f7229080000000f0000000c28666f7220737461746529080000000f0000000e28666f7220636f6e74726f6c29080000000f000000025f090000000d0000000676616c7565090000000d00000001000000055f454e560870726f746f5f39860000008f00000001010319000000470040004740c0001f80c0001ec0008046c04000810001006500000166000000470040004740c0001f40c1001ec0008046c04000818001006500000166000000470040004740c0001fc0c1001ec0008046c040008100020065000001660000002600800009000000040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f720414636f6e7472616374206e6f7420696e6974656404075041555345440410636f6e747261637420706175736564040853544f505045440411636f6e74726163742073746f7070656401000000000000000000190000008600000086000000860000008600000087000000870000008700000087000000890000008900000089000000890000008a0000008a0000008a0000008a0000008c0000008c0000008c0000008c0000008d0000008d0000008d0000008d0000008f000000010000000573656c66000000001900000001000000055f454e560970726f746f5f3130920000009500000001010309000000470040004740c0001f80c0001ec0008046c040008100010065000001660000002600800005000000040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f72041a636f6e747261637420746f6b656e206e6f7420696e697465640100000000000000000009000000920000009200000092000000920000009300000093000000930000009300000095000000010000000573656c66000000000900000001000000055f454e560970726f746f5f3131980000009d0000000102040b000000460040008000000064800001624000001ec0008086404000c1800000a5000001a6000000660000012600800003000000041169735f76616c69645f6164647265737304066572726f7204156164647265737320666f726d6174206572726f72010000000000000000000b00000098000000980000009800000099000000990000009a0000009a0000009a0000009a0000009c0000009d000000020000000561646472000000000b00000007726573756c74030000000b00000001000000055f454e560970726f746f5f3132a0000000ab000000010204160000005c000000224000001e40008083000000a600000186004000c1400000a4800001208080001e40008083000000a600000186004000c1800000a4800001204000011e40008083000000a600000183008000a60000012600800003000000040a746f696e7465676572130100000000000000130f000000000000000100000000000000000016000000a0000000a1000000a1000000a2000000a2000000a4000000a4000000a4000000a4000000a4000000a5000000a5000000a7000000a7000000a7000000a7000000a7000000a8000000a8000000aa000000aa000000ab000000020000000e746f6b656e5f616464726573730000000016000000046c656e010000001600000001000000055f454e560970726f746f5f3133b0000000c9000000040a0c3a0000001f00c0011e00008026008000064140000781400246c1400081010100c001800064818001624100001e0000804141010024810001224100001e0000800b0100004681410087810002a24100001e0000808101000064810001810100002000c0011e000280d901800120c081021ec0008006c241004102020025020001260200008ec181021e0000808dc180020a810101c6414000c741c20300020002e4810001068242004102010080028000c00280032442000206424000074242044b0201004a4280854a8200864ac280864ac24387248200014602440081420400c002000464428001260080001200000013000000000000000004056a736f6e04066c6f616473040d666173745f6d61705f676574040f6e617469766542616c616e63657304037b7d040a746f696e746567657204066572726f720416616d6f756e74206578636565642062616c616e6365040664756d7073040d666173745f6d61705f736574040861646472657373040773796d626f6c04076368616e67650407726561736f6e04010405656d697404144e617469766542616c616e63654368616e6765010000000000000000003a000000b0000000b0000000b1000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b3000000b4000000b4000000b4000000b4000000b4000000b4000000b5000000b6000000b6000000b7000000b8000000b8000000b9000000b9000000b9000000b9000000bb000000bb000000bd000000bf000000c0000000c0000000c0000000c0000000c1000000c1000000c1000000c1000000c1000000c2000000c2000000c2000000c3000000c4000000c5000000c6000000c2000000c8000000c8000000c8000000c8000000c90000000a0000000573656c66000000003a00000008"; + replace_code += "61646472657373000000003a0000000773796d626f6c000000003a000000076368616e6765000000003a0000000b75736572417373657473100000003a0000000b6f6c6442616c616e6365160000003a0000000b6e657742616c616e6365170000003a00000007616d6f756e741a00000021000000116e657755736572417373657473537472280000003a000000176e61746976655472616e736665724576656e74417267350000003a00000001000000055f454e560970726f746f5f3134cd000000ee000000040c155d0000000501000040010000244100010601c0004001800124810001a20000001e8001805c0100016040c0021ec00080220100001e400080218040021ec0008046c1c000810101006501000166010000400180008641c10087814103c6c1c1000102020040028002e4818001e24100001e000080c1410200a4810001a24100001e0000808b010000c601c00007820003224200001e00008001820000e4810001200081031ec0008006c2c0004182020025020001260200000e0281038a0102014642c10047c2c20480020003648200018602c300c10202000003800240038004a44200028642c300c00280020003000140030002a48200025f8040051ec00380c6c2c000018303004003000181c30300c0038002010404004644c400800400026484000181840400c644c40000050005e48400011dc30406e5020001e6020000c642c100c7c2c2050b0301000a4381890a83008a590300020a43838a0ac3458be48200010603c600414306008003800524438001260080001a000000040a746f696e746567657213010000000000000013000000000000000004066572726f72040f696e76616c696420706172616d7304056a736f6e04066c6f616473040d666173745f6d61705f676574040f6e617469766542616c616e63657304037b7d0416616d6f756e74206578636565642062616c616e6365040664756d7073040d666173745f6d61705f73657404227472616e736665725f66726f6d5f636f6e74726163745f746f5f6164647265737304107472616e7366657220617373657420040520746f20040920616d6f756e743a0409746f737472696e670415206572726f722c206572726f7220636f64653a20040861646472657373040773796d626f6c04076368616e67650407726561736f6e040977697468647261770405656d697404144e617469766542616c616e63654368616e676502000000010a0000000000005d000000cd000000cd000000cd000000cf000000cf000000cf000000d1000000d1000000d1000000d1000000d1000000d1000000d1000000d1000000d1000000d2000000d2000000d2000000d2000000d4000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d5000000d6000000d6000000d6000000d6000000d6000000d6000000d7000000d7000000d8000000d8000000d8000000d8000000da000000db000000dc000000dc000000dc000000dc000000de000000de000000de000000de000000de000000e1000000e1000000e1000000e1000000e1000000e2000000e2000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e3000000e6000000e6000000e6000000e7000000e8000000e9000000e9000000ea000000e6000000ec000000ec000000ec000000ec000000ee0000000c0000000573656c66000000005d0000000566726f6d000000005d0000000773796d626f6c000000005d0000000a616d6f756e74537472000000005d00000007616d6f756e74060000005d0000000c66726f6d41646472657373140000005d0000000b75736572417373657473210000005d0000000b6f6c6442616c616e6365270000005d0000000b6e657742616c616e63652e0000005d000000116e657755736572417373657473537472330000005d00000005726573313d0000005d000000176e61746976655472616e736665724576656e74417267580000005d000000020000000b636865636b5374617465055f454e560970726f746f5f3135f30000007e010000031c1e17010000c500000000010000e4400001c5008000000100014101000081410000e48000020681400147c1c00124810001460141018741c1016481000186814001c781c101a4810001c601410107c2c101e4810001060241014702c00124820001430200009c028001c602410101030200e48200011fc002051ec0008086424201c702c201a4820001400200056180c2021e4000802180c2031ec0008086c24201c1020300a5020001a6020000218042041ec0008086c24201c1420300a5020001a602000086824301a4828000218002041ec0008086c24201c1c20300a5020001a60200008702440087424405c7024400c782c405618042051e4000802180c2051ec0008006c3420141c30400250300012603000000038002470344004703c5068703440087434507c6834501c7c3c50700040007e483000106844501070446084684450147c4c50880048002648400018004800724848001468445014744c60880040008648400018684450187844609c6844501c7c4c50900058008e484000100050008a4848001a20400001e0000804dc4c0082180c2081e00008041c40000214084021ec0008086c44201c1c40600a5040001a60400008704440087044709c7044400c7"; + replace_code += "44c7090b050000418502001f8004021e4007801fc004031ec0068021c081051ec0008086c54201c1850700a5050001a605000085058001ce4584020006000540068005a48500024005000b2180c20a1ec0008086c54201c1c50700a5050001a605000020c0810a1ec0008086c54201c1050800a5050001a60500008d420105ce4285050ac584901ec008801fc004021e4007801f8004031ec0068021c001051ec0008086c54201c1850700a5050001a605000085058001ce4584020006800540060005a48500024005000b2180c20a1ec0008086c54201c1850800a5050001a605000020c0810a1ec0008086c54201c1050800a5050001a6050000cd4281058e4205050a8584901ec0008086c54201c1c50800a5050001a6050000618042051e4000802180c2051ec0008086c54201c1050900a5050001a605000085050002c0050002a4850001a20500001e80018085058002c0050000000680004006000299068002a44580021e00048086454901c0050002a4850001c6854901e48580000006800041c609008006800bc1c609001dc6060c4c064a0bc006000c068740014007800224870001dd06870d6446800186854001c745480aa4850001c50500020006000be4850001e20500001e000480c505800200060000400680008006000bc006800ae4458002620200001e400580c505000300060000400680008006000bc68640010007800ae4060001e44500001e000380c6454901068640014746480a24060001e48500000c46ca0b80068000c1c60900068740014007800a248700019d06070d24468001c7054400ca858288c7054400cac502890a4500950a4584950a0501960a4581960a450597c6c54b0101060c0046464c014786cc0c8006000a64860001e4458001c68540010006800ae4850001e60500012600800033000000130500000000000000149a617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61742069732073656c6c5f746f6b656e5f616464722c73656c6c5f746f6b656e5f616d6f756e742c77616e745f6275795f746f6b656e5f616464722c6d696e5f77616e745f6275795f746f6b656e5f616d6f756e742c657870697265645f626c6f636b6e756d2c7769746864726177286f7074696f6e616c290409746f737472696e67130100000000000000040a746f696e7465676572130200000000000000130300000000000000130400000000000000130600000000000000040a746f626f6f6c65616e13000000000000000004066572726f72144a617267756d656e7420666f726d6174206572726f722c2073656c6c5f746f6b656e5f616d6f756e74206f72206d696e5f77616e745f6275795f746f6b656e5f616d6f756e74203e2030041b657870697265645f626c6f636b6e756d206d757374203e3d203004156765745f6865616465725f626c6f636b5f6e756d0427657870697265645f626c6f636b6e756d206d757374203e20686561645f626c6f636b5f6e756d040873746f726167650414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e74040e706f6f6c20697320656d7074790407737570706c7904096665655f726174650409736166656d617468040b736166656e756d62657204106e756d6265725f6d756c7469706c79040d6e756d6265725f746f696e74040a6e756d6265725f6e65040e63616e27742067657420616e790415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720417706f6f6c20616d6f756e74206e6f7420656e6f75676804176765745f746f6b656e325f616d6f756e74203c3d2030041f63616e277420676574207768617420796f752077616e7420616d6f756e74040a6275795f617373657404176765745f746f6b656e315f616d6f756e74203c3d20300425746f6b656e2061646472657373206e6f74206d6174636820666f722065786368616e67650418636163756c61746520696e7465726e616c206572726f72041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373041d6765745f63757272656e745f636f6e74726163745f6164647265737304022c040d7472616e7366657246726f6d04097472616e736665720405616464720404666565040b73656c6c5f6173736574040c73656c6c5f616d6f756e74040b6275795f616d6f756e740405656d6974040a45786368616e67656404056a736f6e040664756d707307000000010a010800000104010d010e010f0000000017010000f3000000f3000000f3000000f4000000f4000000f4000000f4000000f4000000f6000000f6000000f6000000f7000000f7000000f7000000f8000000f8000000f8000000f9000000f9000000f9000000fa000000fa000000fa000000fb000000fc000000fc000000fc000000fc000000fc000000fc000000fd000000fd000000fd000000fd000000000100000001000000010000000100000101000001010000010100000101000004010000040100000501000005010000050100000501000008010000080100000801000008010000090100000901000009010000090100000c0100000c0100000d0100000d0100000f0100000f0100000f0100000f010000100100001001000010010000100100001301000016010000160100001701000017010000180100001801000018010000180100001901000019010000190100001901000019010000190100"; + replace_code += "0019010000190100001a0100001a0100001a0100001a0100001b0100001b0100001b0100001b0100001b0100001b0100001b0100001b0100001b0100001b0100001c0100001f0100001f0100002001000023010000230100002401000024010000240100002401000027010000270100002801000028010000290100002a0100002b0100002b0100002b0100002b0100002c0100002c0100002d0100002d0100002d0100002d0100002f0100002f0100002f0100002f0100002f0100002f010000310100003101000032010000320100003201000032010000340100003401000035010000350100003501000035010000370100003801000039010000390100003b0100003b0100003b0100003b0100003c0100003c0100003d0100003d0100003d0100003d0100003f0100003f0100003f0100003f0100003f0100003f010000410100004101000042010000420100004201000042010000440100004401000045010000450100004501000045010000470100004801000049010000490100004b0100004b0100004b0100004b0100004e0100004e0100004e0100004e0100004f0100004f0100004f0100004f0100005501000055010000550100005501000055010000570100005701000057010000570100005701000057010000570100005b0100005b0100005b0100005c0100005c0100005d0100005d0100005d0100005d0100005d0100005e0100005e0100005e0100005e0100005e0100005e0100005e010000620100006201000062010000630100006301000063010000630100006301000066010000660100006601000066010000660100006601000067010000670100006801000068010000680100006801000068010000680100006801000068010000690100006d0100006d0100006d0100006d0100006d0100006e0100006e0100006e0100006e0100006e0100006e0100006e0100006e0100007201000072010000730100007301000075010000760100007701000078010000790100007a0100007a0100007a0100007a0100007a0100007a0100007a0100007c0100007c0100007c0100007d0100007e0100001c0000000573656c6600000000170100000d66726f6d5f6164647265737300000000170100000461726700000000170100000770617273656408000000170100001073656c6c5f746f6b656e5f616464720b000000170100001273656c6c5f746f6b656e5f616d6f756e740e000000170100001477616e745f6275795f746f6b656e5f6164647211000000170100001677616e745f6275795f746f6b656e5f616d6f756e74140000001701000011657870697265645f626c6f636b6e756d1700000017010000097769746864726177180000001701000014746f6b656e5f315f706f6f6c5f616d6f756e743a0000001701000014746f6b656e5f325f706f6f6c5f616d6f756e743c0000001701000018696e7075745f73656c6c5f746f6b656e5f616d6f756e74450000001701000007737570706c79470000001701000008666565526174654900000017010000096e466565526174654d000000170100000574656d70550000001701000004666565590000001701000015746f6b656e5f315f636f6e7472616374416464726f0000001701000015746f6b656e5f325f636f6e74726163744164647271000000170100000a6576656e745f6172677200000017010000116765745f746f6b656e5f616d6f756e747300000017010000177472616e736665725f66726f6d5f636f6e7472616374ce000000dc0000000d6375725f636f6e7472616374d0000000dc0000000a707269666978737472d5000000dc000000116275795f61737365745f73796d626f6cdf000000170100000c746f5f636f6e7472616374fa00000002010000156765745f746f6b656e5f616d6f756e745f7374721501000017010000070000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e560e676574496e70757450726963651769735f6e61746976655f61737365745f73796d626f6c186368616e6765557365724e617469766542616c616e63651e77697468647261775f6e61746976655f61737365745f707269766174650970726f746f5f31368c0100008c0100000404040100000026008000000000000000000000000000010000008c010000040000000573656c6600000000010000000566726f6d000000000100000003746f000000000100000007616d6f756e740000000001000000000000000970726f746f5f313791010000b9010000020d116e00000085000000c0000000a44000018600c00087404001c0008000a4800001c680c00007c14001e48000010601c10047414101248100014601c1008781410164810001e20000001e40008020c0c1011ec000808601c200c1410200a5010001a6010000220100001e8000809c010002208042031ec000808601c200c1c10200a5010001a601000087014300874143035f8001021ec0018087014300878143035f8001021ec000808601c200c1c10300a5010001a601000085010001a4818000c601c000c741c0030602c400414204008002000324828001224200001e00008001820400e4810001e24100001e000080cb0100000682c00047028103624200001e00008041c20100248200014dc20004ca4102028602c00087c24405c0028003a4820001c602c500014304004003000380030005e4420002c602c000c7c2c4050b0301000a83818a0a0381820ac300"; + replace_code += "8b0a03c68be48200010643c6004183060080038005244380011c038002200083831e00048006c3c600070347064003800281430700248380015c0300068683c000c1830700a4830001214003071e4001804503800180030000c0030003000480026503000266030000260080001f00000004056a736f6e04066c6f616473040a746f696e746567657204046e756d0409746f737472696e67040773796d626f6c0406706172616d13000000000000000004066572726f72041e6465706f7369742073686f756c642067726561746572207468616e2030130100000000000000041b6f6e5f6465706f7369745f6173736574206172672077726f6e67040873746f726167650415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e747261637441646472142a6f6e6c7920737570706f7274206465706f7369742065786368616e6765207061697220617373657473040d666173745f6d61705f676574040f6e617469766542616c616e63657304037b7d040664756d7073040d666173745f6d61705f73657404086164647265737304076368616e67650407726561736f6e04086465706f7369740405656d697404144e617469766542616c616e63654368616e67650407737472696e67040673706c697404022c13050000000000000004000000010a000001050110000000006e00000091010000910100009101000092010000920100009201000092010000930100009301000093010000940100009401000094010000950100009501000095010000960100009601000096010000960100009701000097010000970100009701000099010000990100009901000099010000990100009a0100009a0100009a0100009a0100009e0100009e0100009e0100009e0100009e0100009e0100009e0100009e0100009f0100009f0100009f0100009f010000a2010000a2010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a4010000a5010000a5010000a5010000a5010000a5010000a5010000a6010000a7010000a8010000a8010000a8010000a8010000a9010000a9010000a9010000a9010000a9010000ab010000ab010000ab010000ac010000ad010000ae010000af010000ab010000b1010000b1010000b1010000b1010000b3010000b3010000b3010000b4010000b4010000b4010000b4010000b4010000b5010000b5010000b5010000b5010000b5010000b5010000b6010000b6010000b6010000b6010000b6010000b6010000b90100000d0000000573656c66000000006e0000000c6a736f6e73747241726773000000006e00000004617267070000006e00000007616d6f756e740a0000006e0000000773796d626f6c0d0000006e00000006706172616d100000006e0000000c66726f6d416464726573732f0000006e0000000b757365724173736574733c0000006e0000000b6f6c6442616c616e6365420000006e0000000b6e657742616c616e6365430000006e000000116e657755736572417373657473537472480000006e000000176e61746976655472616e736665724576656e74417267550000006e0000000c706172736564506172616d610000006d000000040000000b636865636b5374617465055f454e56116765745f66726f6d5f616464726573731065786368616e6765507269766174650970726f746f5f3138be010000de010000020c156500000085000000c0000000a440000185008000c000800001010000a4808001c640400107814001e480000106c140014701400124810001e20000001e8001805c0180016080c0021ec00080220100001e400080210041021ec0008046414101818101006501000166010000450180016481800086c1410187014203c64142010182020040028002e4818001e24100001e000080c1c10200a4810001a24100001e0000808b010000c6c1400107c20003224200001e00008001020100e4810001200081031ec00080064241014102030025020001260200000e0281038a01820146c241014742c304800200036482000186824301c18202000003800240038004a442000286c24301c00280020003800140030002a48200025f0041051ec00380c6424101010304004003800181430400c00380020184040046444001800400026484000181c40400c644400100050005e48400011dc30406e5020001e6020000c6c24101c742c3050b0301000a43018a0ac3808a590300020a43038b0a03c68be482000106434601418306008003800524438001260080001b0000001302000000000000000409746f737472696e67130100000000000000040a746f696e746567657213000000000000000004066572726f72040f696e76616c696420706172616d7304056a736f6e04066c6f616473040d666173745f6d61705f676574040f6e617469766542616c616e63657304037b7d0416616d6f756e74206578636565642062616c616e6365040664756d7073040d666173745f6d61705f73657404227472616e736665725f66726f6d5f636f6e74726163745f746f5f6164647265737304107472616e7366657220617373657420040520746f20040920616d6f756e743a0415206572726f722c206572726f7220636f64653a20040861646472657373040773796d626f6c04076368616e67650407726561736f6e040977697468647261770405656d697404144e617469766542616c616e6365436861"; + replace_code += "6e676504000000010a0108000001050000000065000000be010000be010000be010000bf010000bf010000bf010000bf010000c0010000c0010000c0010000c1010000c1010000c1010000c3010000c3010000c3010000c3010000c3010000c3010000c3010000c3010000c3010000c4010000c4010000c4010000c4010000c6010000c6010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c7010000c8010000c8010000c8010000c8010000c8010000c8010000ca010000ca010000cb010000cb010000cb010000cb010000cd010000ce010000cf010000cf010000cf010000cf010000d0010000d0010000d0010000d0010000d0010000d2010000d2010000d2010000d2010000d2010000d3010000d3010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d4010000d7010000d7010000d7010000d8010000d9010000da010000da010000db010000d7010000dd010000dd010000dd010000dd010000de0100000c0000000573656c6600000000650000000461726700000000650000000b7061727365644172677307000000650000000773796d626f6c0a0000006500000007616d6f756e740d000000650000000c66726f6d416464726573731c000000650000000b7573657241737365747329000000650000000b6f6c6442616c616e63652f000000650000000b6e657742616c616e63653600000065000000116e6577557365724173736574735374723b0000006500000005726573314500000065000000176e61746976655472616e736665724576656e744172676000000065000000040000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e56116765745f66726f6d5f616464726573730970726f746f5f3139e2010000e70100000203061800000086004000c0008000a4800001a24000001ec0008086404000c1800000a5000001a600000086c0400087004101c64041000181010040018000e4808001e24000001e000080c1c00100a4800001a24000001e0000808b000000a60000012600800008000000041169735f76616c69645f6164647265737304066572726f72041d696e76616c6964206164647265737320706172616d20666f726d617404056a736f6e04066c6f616473040d666173745f6d61705f676574040f6e617469766542616c616e63657304037b7d0100000000000000000018000000e2010000e2010000e2010000e2010000e2010000e3010000e3010000e3010000e3010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e5010000e6010000e7010000030000000573656c660000000018000000086164647265737300000000180000000b75736572417373657473160000001800000001000000055f454e560970726f746f5f3230eb01000033020000020f10b300000085000000c0000000a440000187004000874040015f8040011ec0008086c0c000c1000100a5000001a600000085000001c00080000141010041810100a4800002cbc0010007014201ca00818307814201ca00818407014301ca00818507814301ca00818607014401ca00818707814401ca00818807414101ca0081890601c50047c1c10124810001450180018001000264810001624100001ec002804641c5008001000264810001620100001e8000808781c502a24100001ec0008086c1c000c1c10500a5010001a60100004601c5008741c201648100011f0081021ec0008086c1c000c1010600a5010001a601000085018001c0018002a4810001a24100001ec003808641c600c001800201820600a44180018641c500c0018002a4810001a20100001e800080c7814503e24100001ec00080c6c1c00001c20500e5010001e601000086c1c600c7c1c201a4810001c6c1c6000742c301e4810001610047031e4000802100c7031ec0008006c2c0004142070025020001260200000602c50047c2c301248200014682c70047c2c70480020004648200018682c70087024805c00280040683c70007c347064103070024030001a4820000a24200001e4002808682c70087424805c00280040683c70007c347064103020024030001a4820000a20200001ec0008086c2c000c1820800a5020001a60200008602c500c742c401a4820001dc0200052000c2051ec00080c6c2c00001c30800e5020001e6020000c602c50007c3c401e48200011c038005200042061ec0008006c3c000410309002503000126030000070340000a838292070340000ac30293070340000a03c293070340000a030194070340000a438194070340000a838185070340000ac38186070340000a038287070340000a83ca80ca80ca80ca00c29306c3ca0041030b0080038001244380010643cb0007834b06400380012483000146c3cb0081030c00c0030006644380012600800031000000040873746f7261676504067374617465040b4e4f545f494e4954454404066572726f72041c7468697320636f6e747261637420696e69746564206265666f7265130700000000000000149061726720666f726d6174206572726f722c206e65656420666f726d61743a20746f6b656e315f616464722c746f6b656e325f616464722c6d696e5f746f6b656e315f616d6f756e742c6d696e"; + replace_code += "5f746f6b656e325f616d6f756e742c6665655f726174652c6c69717569646974795f746f6b656e5f6e616d652c6c69717569646974795f746f6b656e5f73796d626f6c040c746f6b656e315f61646472130100000000000000040c746f6b656e325f6164647213020000000000000004126d696e5f746f6b656e315f616d6f756e7413030000000000000004126d696e5f746f6b656e325f616d6f756e7413040000000000000004096665655f7261746513050000000000000004156c69717569646974795f746f6b656e5f6e616d6513060000000000000004176c69717569646974795f746f6b656e5f73796d626f6c0409746f737472696e67041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373040d7472616e7366657246726f6d041f746f6b656e315f61646472206e6f7420746f6b656e20636f6e74726163741436746f6b656e5f325f636f6e74726163744164647220616e6420746f6b656e5f315f636f6e7472616374416464722069732073616d6504067072696e74041320697320636f6e747261637420746f6b656e040a746f696e7465676572130000000000000000144b617267756d656e74206572726f722c206d696e5f746f6b656e5f616d6f756e7420746f20616464206c6971756964697479206d75737420626520706f73697469766520696e74656765720409736166656d617468040b736166656e756d626572040a6e756d6265725f6c74040b6e756d6265725f677465041d6665652072617465206d757374206265203e3d3020616e64203c2031041e6c69717569646974795f746f6b656e5f6e616d6520697320656d70747904206c69717569646974795f746f6b656e5f73796d626f6c20697320656d70747904056e616d65040773796d626f6c040a707265636973696f6e0415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720407434f4d4d4f4e0407707072696e740407696e666f343a04056a736f6e040664756d70730405656d69740407496e6974656404000000010600000107010d00000000b3000000eb010000eb010000eb010000ec010000ec010000ec010000ec010000ed010000ed010000ed010000ed010000ef010000ef010000ef010000ef010000ef010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f0010000f4010000f4010000f4010000f5010000f5010000f5010000f5010000f5010000f8010000f8010000f8010000f9010000f9010000f9010000f9010000f9010000fa010000fa010000fa010000fa010000fd010000fd010000fd010000fe010000fe010000ff010000ff010000ff010000ff0100000102000001020000010200000102000001020000030200000302000003020000030200000402000004020000040200000502000005020000050200000502000005020000060200000602000006020000060200000902000009020000090200000a0200000a0200000a0200000c0200000c0200000c0200000c0200000d0200000d0200000d0200000d02000010020000100200001002000011020000110200001102000011020000120200001202000012020000120200001202000012020000120200001202000012020000120200001202000012020000120200001202000012020000120200001202000012020000120200001202000013020000130200001302000013020000160200001602000016020000170200001702000017020000180200001802000018020000180200001b0200001b0200001b0200001d0200001d0200001d0200001e0200001e0200001e0200001e02000021020000210200002202000022020000230200002302000024020000240200002502000025020000270200002702000028020000280200002a0200002a0200002b0200002b0200002d0200002e0200002f0200002f0200002f0200002f0200003002000030020000300200003002000032020000320200003202000032020000330200000f0000000573656c6600000000b30000000461726700000000b30000000770617273656410000000b300000005696e666f1f000000b300000015746f6b656e5f315f636f6e74726163744164647222000000b30000000c746f6b656e436f6e7472312a0000003300000015746f6b656e5f325f636f6e74726163744164647236000000b30000000c746f6b656e436f6e7472324800000051000000126d696e5f746f6b656e315f616d6f756e7454000000b3000000126d696e5f746f6b656e325f616d6f756e7457000000b3000000096665655f7261746562000000b300000014736166656e756d6265725f6665655f7261746566000000b3000000156c69717569646974795f746f6b656e5f6e616d6581000000b3000000176c69717569646974795f746f6b656e5f73796d626f6c8b000000b30000000c6576656e74417267537472ae000000b3000000040000000b636865636b41646d696e055f454e560b70617273655f617267731769735f6e61746976655f61737365745f73796d626f6c0970726f746f5f32313602000037020000020203040000008700400087404001a60000012600800002000000040873746f726167650406737461746500000000000000000400000036020000360200003602000037020000020000000573656c660000000004000000046172670000000004"; + replace_code += "000000000000000970726f746f5f32323a0200003c0200000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f7261676504056e616d6501000000010b00000000070000003a0200003a0200003a0200003b0200003b0200003b0200003c020000020000000573656c6600000000070000000461726700000000070000000100000011636865636b5374617465496e697465640970726f746f5f32333f020000410200000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040a707265636973696f6e01000000010b00000000070000003f0200003f0200003f02000040020000400200004002000041020000020000000573656c660000000007000000025f00000000070000000100000011636865636b5374617465496e697465640970726f746f5f323444020000460200000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040773796d626f6c01000000010b000000000700000044020000440200004402000045020000450200004502000046020000020000000573656c6600000000070000000461726700000000070000000100000011636865636b5374617465496e697465640970726f746f5f3235490200004b0200000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040661646d696e01000000010b00000000070000004902000049020000490200004a0200004a0200004a0200004b020000020000000573656c660000000007000000025f00000000070000000100000011636865636b5374617465496e697465640970726f746f5f32364e020000500200000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f726167650407737570706c7901000000010b00000000070000004e0200004e0200004e0200004f0200004f0200004f02000050020000020000000573656c6600000000070000000461726700000000070000000100000011636865636b5374617465496e697465640970726f746f5f323753020000550200000203040600000086004000c7404000c780c001a4800001a600000126008000030000000409746f737472696e67040873746f72616765040a616c6c6f774c6f636b0100000000000000000006000000530200005302000053020000530200005402000055020000030000000573656c660000000006000000025f00000000060000000a726573756c74537472040000000600000001000000055f454e560970726f746f5f3238580200005a0200000203040600000086004000c7404000c780c001a4800001a600000126008000030000000409746f737472696e67040873746f726167650404666565010000000000000000000600000058020000580200005802000058020000590200005a020000030000000573656c660000000006000000025f000000000600000007666565537472040000000600000001000000055f454e560970726f746f5f32395d0200005f0200000203040600000086004000c7404000c780c001a4800001a600000126008000030000000409746f737472696e67040873746f7261676504126d696e5472616e73666572416d6f756e7401000000000000000000060000005d0200005d0200005d0200005d0200005e0200005f020000030000000573656c660000000006000000025f0000000006000000156d696e5472616e73666572416d6f756e74537472040000000600000001000000055f454e560970726f746f5f33306202000063020000020203040000008700400087404001a60000012600800002000000040873746f726167650412666565526563656976654164647265737300000000000000000400000062020000620200006202000063020000020000000573656c660000000004000000025f0000000004000000000000000970726f746f5f3331660200006e0200000203061a00000085000000c0000000a440000185008000c0000000a440000186004001c0008000a48000015f4040011ec00180a20000001e400080204040011ec00080c680400101c10000e5000001e6000000c7004100ca808082c680410101c1010040018000e44080012600800008000000040a746f696e746567657213000000000000000004066572726f7204116572726f722066656520666f726d6174040873746f7261676504046665650405656d6974040b4665654368616e676564030000000106010a0000000000001a0000006602000066020000660200006702000067020000670200006802000068020000680200006902000069020000690200006902000069020000690200006a0200006a0200006a0200006a0200006c0200006c0200006d0200006d0200006d0200006d0200006e020000030000000573656c66000000001a00000007666565537472000000001a00000004666565090000001a000000030000000b636865636b41646d696e0b636865636b5374617465055f454e560970726f746f5f333271020000790200000203061a00000085000000c0000000a440000185008000c0000000a440000186004001c0008000a48000015f4040011ec00180a20000001e400080204040011ec00080c680400101c10000e5000001e6000000c70041"; + replace_code += "00ca808082c680410101c1010040018000e44080012600800008000000040a746f696e746567657213000000000000000004066572726f72041f6572726f72206d696e5472616e73666572416d6f756e7420666f726d6174040873746f7261676504126d696e5472616e73666572416d6f756e740405656d697404194d696e5472616e73666572416d6f756e744368616e676564030000000106010a0000000000001a0000007102000071020000710200007202000072020000720200007302000073020000730200007402000074020000740200007402000074020000740200007502000075020000750200007502000077020000770200007802000078020000780200007802000079020000030000000573656c66000000001a000000156d696e5472616e73666572416d6f756e74537472000000001a000000126d696e5472616e73666572416d6f756e74090000001a000000030000000b636865636b41646d696e0b636865636b5374617465055f454e560970726f746f5f33337c020000860200000202051f00000085000000c0000000a440000185008000c0000000a440000186004001c0008000a4800001a24000001ec0008086404001c1800000a5000001a600000086c04001c0008000a4800001a20000001ec0008086404001c1000100a5000001a6000000874041008a40008386c04101c100020000018000a44080012600800009000000041169735f76616c69645f6164647265737304066572726f720410696e76616c69642061646472657373041a69735f76616c69645f636f6e74726163745f61646472657373041b63616e27742075736520636f6e74726163742061646472657373040873746f72616765041266656552656365697665416464726573730405656d6974041946656552656365697665416464726573734368616e676564030000000106010a0000000000001f0000007c0200007c0200007c0200007d0200007d0200007d0200007e0200007e0200007e0200007e0200007e0200007f0200007f0200007f0200007f02000081020000810200008102000081020000810200008202000082020000820200008202000084020000840200008502000085020000850200008502000086020000020000000573656c66000000001f000000126665655265636569766541646472657373000000001f000000030000000b636865636b41646d696e0b636865636b5374617465055f454e560970726f746f5f33348a020000910200000202051500000085000000c0000000a440000185008000c0000000a44000018700400087404001a20000001ec0008086804001c1c00000a5000001a6000000870040008a00c18086404101c180010001c10100a44080012600800008000000040873746f72616765040a616c6c6f774c6f636b04066572726f72142f7468697320636f6e747261637420686164206265656e206f70656e656420616c6c6f774c6f636b206265666f726501010405656d6974040c416c6c6f7765644c6f636b0401030000000106010a000000000000150000008a0200008a0200008a0200008b0200008b0200008b0200008c0200008c0200008c0200008c0200008d0200008d0200008d0200008d0200008f0200008f0200009002000090020000900200009002000091020000020000000573656c660000000015000000025f0000000015000000030000000b636865636b41646d696e0b636865636b5374617465055f454e560970726f746f5f333594020000950200000202060b00000086004000c64040000181000040018000e4808001e24000001e000080c1c00000a5000001a600000026008000040000000409746f737472696e67040d666173745f6d61705f67657404067573657273130000000000000000010000000000000000000b0000009402000094020000940200009402000094020000940200009402000094020000940200009402000095020000020000000573656c66000000000b0000000561646472000000000b00000001000000055f454e560970726f746f5f333698020000a00200000204051800000085000000c0000000a4400001620000001e8000809c008000200040011ec000808640c000c1800000a5000001a600000085000001c0008000a440000185008001c000000000018000a4808001c6c0c00000010001e4800001e6000001260080000400000013010000000000000004066572726f72142a617267206572726f722c206e656564206f776e6572206164647265737320617320617267756d656e740409746f737472696e6704000000010b0000010c0112000000001800000098020000980200009802000099020000990200009902000099020000990200009a0200009a0200009a0200009a0200009c0200009c0200009c0200009d0200009d0200009d0200009d0200009e0200009e0200009e0200009f020000a0020000040000000573656c660000000018000000066f776e6572000000001800000007616d6f756e7413000000180000000a616d6f756e7453747216000000180000000400000011636865636b5374617465496e69746564055f454e560d636865636b416464726573731167657442616c616e63654f66557365720970726f746f5f3337a4020000a50200000202040500000086004000c1400000a5000001a6000000260080000200000004066572726f7214466e6f7420696d706c656d656e7465642c20796f752063616e2066696e642075736572732066"; + replace_code += "726f6d20636f6e7472616374207472616e73616374696f6e20686973746f72790100000000000000000005000000a4020000a4020000a4020000a4020000a5020000020000000573656c66000000000500000004617267000000000500000001000000055f454e560970726f746f5f3338a9020000e50200000211162201000085000000c0000000a440000185008000c00080000101000041410000a4800002cb80000007c14001ca000181064141014701400124810001ca000182064141014781c001248100014681410147c1c1028701c1016481000184010000dc01000121c0818b1ec00080c641410107024201e481000180018003220100001e800080dc01000220c0c0031ec00080c641420101820200e5010001e6010000c7c14200c701c30307c242000742430447c242004782c304620100001e4002808682410187c24305c00280020683410107c3410641c3000024030001a4820000a20200001ec0008086424201c1020400a5020001a60200008682410187424405c00280020683410107c341064003800324030001a4820000a20200001ec0008086424201c1820400a5020001a60200008682410187c24305c00280020683410107c341064003000424030001a4820000a20200001e00028086424201c1c2040006434101400300042483000141030500dd428305a5020001a602000085028001c0020002a442000185020002a4828000c6824101c7c2c10506434501418305008003000524838001224300001e00008001c30500e4820001e20200001e8001800683410107c34306400380058003800224838001220300001ec00080064342014103060025030001260300000683410107434606400380058003800224838001c0020006068346014183050080030005c6834101c743c10700048005e4030001244300000683410107c34606400380058683410187c34107c1c30500a403000124830000220300001e000180068346014183050080030005c4030000244300020683410107c341064643450181830500c003000264838001624300001e00008041c30500248300014683410147c3c3068683410187034707c003000600048002a4838001c6834101c7c3c10701c40500e403000164830000620300001ec00080464342018143070065030001660300004683460181830500c00300020684410107444108468441014744c6088684410187044709c004000600058002a4848001c6844101c7c4c10900058003e404000164040000240400006443000020c0818b1e400b804683410147c3c10686434501c183050000048004a4838001a24300001e00008081c30500648300018683410187c34307c6834101c703c707000480064684410147c4c1088004800364040001e48300000684410107c4410841c4050024040001a4830000a20300001ec0008086434201c1430700a5030001a603000086834601c183050000048004468441014744c1088684410187044709c00480060685410107c5410a4005800324050001a404000064040000a44300004683470147c3c7068b4301008a8302908a030181c6834101c743c1070684410107444608400480028684410187c44109c0048003a404000124040000e48300008ac303828ac301868a8381906483000186834801c1c3080000048006a443800186034901c0030002a4830001a20300001e40038086434901c0030002a4830001c64341010ec48102e4830001a20300001e40018007844907220400001e8000800c844907800480072444800126008000270000001302000000000000001447617267756d656e7420666f726d6174206572726f722c206e65656420666f726d617420697320746f5f616464726573732c696e74656765725f616d6f756e745b2c6d656d6f5d0403746f1301000000000000000407616d6f756e740409746f737472696e670409736166656d6174680407626967696e7413030000000000000004066572726f720418746f206164647265737320666f726d6174206572726f72040873746f72616765040466656504126d696e5472616e73666572416d6f756e740412666565526563656976654164647265737304036c740414616d6f756e7420666f726d6174206572726f7204036c65041a616d6f756e74206e6f7420656e6f75676820666f722066656504196f6e6c79207472616e7366657220616d6f756e74203e3d2004122077696c6c206265206163636570746564040d666173745f6d61705f67657404067573657273130000000000000000142c796f752068617665206e6f7420656e6f756e676820616d6f756e7420746f207472616e73666572206f75740404737562040d666173745f6d61705f7365740403657104046164640410616d6f756e74206f766572666c6f7704056a736f6e040664756d7073040566726f6d04056d656d6f0405656d697404095472616e73666572041a69735f76616c69645f636f6e74726163745f61646472657373041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373041a6f6e5f6465706f7369745f636f6e74726163745f746f6b656e05000000010a01080000010c01050000000022010000a9020000a9020000a9020000aa020000aa020000aa020000aa020000aa020000ab020000ab020000ab020000ab020000ab020000ab020000ab020000ac020000ac020000ac020000ad020000ad020000ad020000ad020000ae020000af020000af020000af020000b0020000b0020000b0020000b0"; + replace_code += "020000b2020000b2020000b2020000b2020000b2020000b3020000b3020000b3020000b3020000b5020000b5020000b6020000b6020000b7020000b7020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b8020000b9020000b9020000b9020000b9020000bb020000bb020000bb020000bb020000bb020000bb020000bb020000bb020000bb020000bb020000bc020000bc020000bc020000bc020000be020000be020000be020000be020000be020000be020000be020000be020000be020000be020000bf020000bf020000bf020000bf020000bf020000bf020000bf020000bf020000bf020000c1020000c1020000c1020000c2020000c2020000c3020000c3020000c3020000c3020000c3020000c3020000c3020000c3020000c3020000c3020000c4020000c4020000c4020000c4020000c4020000c4020000c4020000c4020000c4020000c5020000c5020000c5020000c5020000c7020000c7020000c7020000c7020000c7020000c7020000c8020000c8020000c8020000c8020000c8020000c8020000c8020000c8020000c9020000c9020000c9020000c9020000c9020000c9020000c9020000c9020000c9020000c9020000ca020000ca020000ca020000ca020000ca020000cc020000cc020000cc020000cc020000cc020000cc020000cc020000cc020000cc020000cc020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000cd020000ce020000ce020000ce020000ce020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d1020000d2020000d2020000d3020000d3020000d3020000d3020000d3020000d3020000d3020000d3020000d3020000d3020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d4020000d5020000d5020000d5020000d5020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d7020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000d9020000da020000da020000da020000da020000dd020000dd020000dd020000dd020000dd020000df020000df020000df020000e0020000e0020000e0020000e1020000e1020000e1020000e1020000e1020000e2020000e2020000e2020000e5020000110000000573656c66000000002201000004617267000000002201000007706172736564080000002201000005696e666f0f0000002201000003746f120000002201000007616d6f756e741600000022010000056d656d6f1700000022010000046665652900000022010000126d696e5472616e73666572416d6f756e742b000000220100001266656552656365697665416464726573732d000000220100000d66726f6d5f6164647265737363000000220100001566726f6d5f616464726573735f62616c616e63656d000000220100000b746f5f62616c616e6365a1000000220100001c66656552656365697665416464726573734f6c6442616c616e6365d2000000f60000000c6576656e744172675374720a01000022010000136d756c74694f776e6564436f6e747261637416010000210100000a616d6f756e745374721901000021010000050000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e560d636865636b41646472657373116765745f66726f6d5f616464726573730970726f746f5f3339ea0200002f0300000212196001000085000000c0000000a440000185008000c00080000101000041410000a4800002c680400107c14001e4800001068140014701410124810001464141014781c102870140016481000184010000dc01000121c081841ec00080c681400107c24101e481000180018003c501800100028001e4410001c501800100020002e4410001620100001e400280c6414101c701c20300028002464241014782c1048142020064020001e4810000e20100001ec00080c681420101c20200e5010001e6010000c7014300c741c30307024300078243044702430047c2c3048642410187024205c002800206434101078341064003800324030001a4820000a20200001ec0008086824201c1020400a5020001a60200008642410187424405c002800206434101078341064003000424030001a4820000a20200001e00028086824201c182040006834001400300042483000141c30400dd428305a5020001a60200008642410187824105c60245010143050040038001e4828001e24200001e000080c1420200a4820001a20200001e800180c6424101c742c4050003000540038002e4828001e20200001ec00080c682420101830500e5020001e6020000c602450101c3050040038001e4828001e24200001ec00180068342014103060080038001c1430600000400025d03840625030001260300000683460146c346014703c70686834001c0038005a403000164030000248300004503000264"; + replace_code += "838000220300001e80008087430306a24300001e40028086834201c1030600000480014144060080040002c144070000058006dd038507a5030001a60300008643410187834107c7430306a4830001a20300001e800180c6434101c783c7070004800240040007e4838001e20300001e400280c6834201010406004004800181440600c004000201450700400580061d440508e5030001e6030000c6434101c783c10706044501414405008004000224848001224400001e00008001440200e483000106444101074444084644410147c4c70880048007c0048002648480018644410187844109c1440200a404000124840000220400001ec0008006844201410408002504000126040000064448014144050080040002c6444101c784c009064541010785480a4645410147c5c70a80058007c005800264858001864541018785410bc0058003a405000124050000e40400002444000020c081841e400b8006444101078441084604450181440500c004800464848001624400001e0000804144020024840001464441014744c4088644410187c44709c0040008064541010785410a4005800324050001a4840000c6444101c784c10901450200e404000164840000620400001ec00080468442018104080065040001660400004644480181440500c0048004064541010785400a4645410147c5c70a80050008c6454101c785c10b00068003e4050001640500002405000064440000064448014144050080048001c6444101c784c009064541010785480a464541014785c10a86054501c145050000068001a4058001648500008005800224058001e4040000244400000644410107c44808464441014784c10886044501c144050000058001a4048001648400008644410187844109c1440200a404000124840000220400001e000180064448014144050080048001c4040000244400020644410107844008464441014784c80880040007c004800264048001248400000a038406074403061f4042081e0000800a03c9060644480141c4050080048001c6c44601c744c90900050006e40400012444000006c44601074449084b4401004ac400934a0481938644410187844009c6444101c784c80900058002464541014785c10a8005800364050001e4040000a48400004a8404944ac481864a8481942484000146844a0181c40a00c004000864448001260080002c0000001303000000000000001453617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61742069732066726f6d416464726573732c746f416464726573732c616d6f756e74287769746820707265636973696f6e290409746f737472696e671301000000000000001302000000000000000409736166656d6174680407626967696e7413040000000000000004036c6513000000000000000004066572726f720420616d6f756e74206d75737420626520706f73697469766520696e7465676572040873746f72616765040466656504126d696e5472616e73666572416d6f756e7404126665655265636569766541646472657373041a616d6f756e74206e6f7420656e6f75676820666f722066656504036c7404196f6e6c79207472616e7366657220616d6f756e74203e3d2004122077696c6c206265206163636570746564040d666173745f6d61705f67657404067573657273142c796f752068617665206e6f7420656e6f756e676820616d6f756e7420746f207472616e73666572206f75740408616c6c6f776564142d6e6f7420656e6f75676820617070726f76656420616d6f756e7420746f2077697468647261772066726f6d3a0404746f3a0408746f7461626c6504056a736f6e04066c6f6164730411636f6e747261637443616c6c65723a200403677404046164640410616d6f756e74206f766572666c6f77040d666173745f6d61705f73657404047375620403657100040664756d7073040566726f6d0403746f0407616d6f756e7404056d656d6f0405656d697404095472616e7366657205000000010a01080000010c01050000000060010000ea020000ea020000ea020000eb020000eb020000eb020000eb020000eb020000ec020000ec020000ec020000ed020000ed020000ed020000ee020000ee020000ee020000ee020000ef020000f0020000f0020000f0020000f1020000f1020000f1020000f1020000f3020000f3020000f3020000f4020000f4020000f4020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f5020000f6020000f6020000f6020000f6020000f9020000f9020000fa020000fa020000fb020000fb020000fc020000fc020000fc020000fc020000fc020000fc020000fc020000fc020000fc020000fc020000fd020000fd020000fd020000fd020000ff020000ff020000ff020000ff020000ff020000ff020000ff020000ff020000ff020000ff02000000030000000300000003000000030000000300000003000000030000000300000003000004030000040300000403000004030000040300000403000004030000040300000403000004030000050300000503000005030000050300000503000005030000050300000503000005030000070300000703000007030000070300000a0300000a0300000a0300000a0300000b0300000b0300000c0300000c0300000c0300000c0300000c0300000c0300000c0300000c0300000e0300000e0300000e0300"; + replace_code += "000e0300000e0300000e0300000e0300000e0300000f0300000f0300001003000010030000100300001003000010030000110300001103000011030000110300001103000011030000110300001103000011030000110300001303000013030000130300001303000014030000140300001403000014030000140300001403000014030000140300001403000015030000150300001503000015030000150300001503000015030000150300001503000015030000170300001703000017030000170300001703000017030000170300001703000017030000170300001803000018030000180300001803000018030000180300001803000018030000180300001803000018030000180300001803000018030000190300001903000019030000190300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001b0300001c0300001c0300001d0300001d0300001d0300001d0300001d0300001d0300001d0300001d0300001d0300001d0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001e0300001f0300001f0300001f0300001f030000210300002103000021030000210300002103000021030000210300002103000021030000210300002103000021030000210300002103000021030000230300002303000023030000230300002303000023030000230300002303000023030000230300002303000023030000230300002303000023030000230300002303000023030000240300002403000024030000240300002403000024030000240300002403000024030000240300002403000024030000240300002403000024030000240300002503000025030000250300002503000025030000270300002703000027030000270300002703000027030000270300002703000027030000280300002803000028030000290300002b0300002b0300002b0300002b0300002b0300002b0300002b0300002b0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002c0300002d0300002d0300002d0300002d0300002f030000120000000573656c6600000000600100000461726700000000600100000770617273656408000000600100000c66726f6d416464726573730b000000600100000a746f416464726573730e0000006001000007616d6f756e741200000060010000056d656d6f1300000060010000046665653200000060010000126d696e5472616e73666572416d6f756e74340000006001000012666565526563656976654164647265737336000000600100001566726f6d5f616464726573735f62616c616e636561000000600100000f616c6c6f7765644461746153747272000000600100000c616c6c6f7765644461746184000000600100000f636f6e747261637443616c6c657286000000600100000f617070726f766564416d6f756e74990000006001000014746f416464726573734f6c6442616c616e6365b6000000600100001c66656552656365697665416464726573734f6c6442616c616e6365e70000000b0100000c6576656e744172675374725b01000060010000050000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e560d636865636b41646472657373116765745f66726f6d5f616464726573730970726f746f5f3430340300004a03000002080d5900000085000000c0000000a440000185008000c00080000101000041410000a4800002c680400107c14001e480000105018001400180012441000106014101074141024701400124810001220100001e400280460141014781c10280010002c6014101c741c10301c20100e401000164810000620100001ec00080460142018141020065010001660100004401000085010002a4818000c681420101c2020040020003e4818001e24100001e800080cb010000400180031e400480c601430106424301078243044682400186824201c1c2020000030003a40280016402000024020000e481000040018003624100001ec00080c601420101c20300e5010001e6010000c6014101c781c00300020002e48100014ac18101c601440101c20200400200038642430187424405c0028002a4020001e4410000cbc10000ca810189cac18089ca01018a06424501418205008642430187424405c0028003a4820001244280012600800017000000130200000000000000144c617267756d656e7420666f726d6174206572726f722c206e65656420666f726d6174206973207370656e646572416464726573732c616d6f756e74287769746820707265636973696f6e290409746f737472696e671301000000000000000409736166656d6174680407626967696e7404036c7413000000000000000004066572726f720424616d6f756e74206d757374206265206e6f6e2d6e6567617469766520696e7465676572040d666173745f6d61705f6765740408616c6c6f7765640408746f7461626c6504056a736f6e04066c6f616473041b616c6c6f7765642073746f726167652064617461206572726f72040d666173745f6d61705f7365740406"; + replace_code += "64756d7073040566726f6d04087370656e6465720407616d6f756e740405656d69740409417070726f76656405000000010a01080000010c010500000000590000003403000034030000340300003503000035030000350300003503000035030000360300003603000036030000370300003703000037030000380300003803000038030000380300003903000039030000390300003903000039030000390300003903000039030000390300003903000039030000390300003a0300003a0300003a0300003a0300003c0300003d0300003d0300003e0300003e0300003e0300003e0300003e0300003e0300003f0300003f0300003f0300004103000041030000410300004103000041030000410300004103000041030000410300004103000041030000410300004203000042030000430300004303000043030000430300004603000046030000460300004603000046030000470300004703000047030000470300004703000047030000470300004703000048030000480300004803000048030000490300004903000049030000490300004903000049030000490300004a030000080000000573656c660000000059000000046172670000000059000000077061727365640800000059000000087370656e6465720b0000005900000007616d6f756e7412000000590000000c616c6c6f7765644461746123000000590000000f636f6e747261637443616c6c65722500000059000000096576656e744172675100000059000000050000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e560d636865636b41646472657373116765745f66726f6d5f616464726573730970726f746f5f34314f0300006203000002090a2f00000085000000c00080000101000041410000a4800002c680c00007c14001e48000010681c00047014001248100014501000180018001644100014501000180010002644100014601c10081410100c001000264818001624100001e40008081810100a601000186c1c100c601c200c741c2030682c0004002800224020001e4010000a4810000a24100001e400080c1810100e6010001c7c10003e24100001e40008001820100260200010682c000400280032482000126020001260080000a0000001302000000000000001447617267756d656e7420666f726d6174206572726f722c206e65656420666f726d6174206973207370656e646572416464726573732c617574686f72697a6572416464726573730409746f737472696e67130100000000000000040d666173745f6d61705f6765740408616c6c6f7765640402300408746f7461626c6504056a736f6e04066c6f6164730300000001080000010c000000002f0000004f0300004f0300004f0300004f0300004f0300005003000050030000500300005103000051030000510300005203000052030000520300005303000053030000530300005403000054030000540300005403000055030000550300005603000056030000580300005803000058030000580300005803000058030000580300005803000059030000590300005a0300005a0300005c0300005d0300005d0300005e0300005e0300006003000060030000600300006103000062030000090000000573656c66000000002f00000004617267000000002f00000007706172736564050000002f000000087370656e646572080000002f0000000b617574686f72697a65720b0000002f0000000f616c6c6f77656444617461537472150000002f0000000c616c6c6f77656444617461210000002f0000000e616c6c6f776564416d6f756e74260000002f00000011616c6c6f776564416d6f756e745374722d0000002f000000030000001470617273655f61745f6c656173745f61726773055f454e560d636865636b416464726573730970726f746f5f3432670300006e0300000204060e00000080008000c500000000010001e4400001c600c0000141000040010001e4808001e24000001e4000800181000026010001e60000012600800003000000040d666173745f6d61705f6765740408616c6c6f77656404037b7d02000000010c0000000000000e00000067030000680300006803000068030000690300006903000069030000690300006a0300006a0300006b0300006b0300006d0300006e030000040000000573656c66000000000e00000004617267000000000e0000000b617574686f72697a6572010000000e0000000f616c6c6f77656444617461537472080000000e000000020000000d636865636b41646472657373055f454e560970726f746f5f3433710300007a0300000202051a00000087004000874040011f8040011ec0008086c04000c1000100a5000001a600000087004000874040011f4041011ec0008086c04000c1800100a5000001a600000085008000c0000000a4400001870040008a40c18086c04100c100020001410200a4408001260080000a000000040873746f7261676504067374617465040853544f5050454404066572726f7204277468697320636f6e74726163742073746f70706564206e6f772c2063616e2774207061757365040750415553454404267468697320636f6e747261637420706175736564206e6f772c2063616e27742070617573650405656d6974040750617573656404010200000000000106000000001a000000710300007103000071030000710300007203000072030000720300007203000074"; + replace_code += "030000740300007403000074030000750300007503000075030000750300007703000077030000770300007803000078030000790300007903000079030000790300007a030000020000000573656c66000000001a00000004617267000000001a00000002000000055f454e560b636865636b41646d696e0970726f746f5f34347d030000830300000202051200000087004000874040015f8040011ec0008086c04000c1000100a5000001a600000085008000c0000000a4400001870040008a40c18086804100c1c0010001010200a44080012600800009000000040873746f7261676504067374617465040750415553454404066572726f72142b7468697320636f6e7472616374206e6f7420706175736564206e6f772c2063616e277420726573756d650407434f4d4d4f4e0405656d69740408526573756d65640401020000000000010600000000120000007d0300007d0300007d0300007d0300007e0300007e0300007e0300007e03000080030000800300008003000081030000810300008203000082030000820300008203000083030000020000000573656c66000000001200000004617267000000001200000002000000055f454e560b636865636b41646d696e0970726f746f5f3435860300008f0300000202051a00000087004000874040011f8040011ec0008086c04000c1000100a5000001a600000087004000874040011f4041011ec0008086c04000c1800100a5000001a600000085008000c0000000a4400001870040008a80c08086c04100c100020001410200a4408001260080000a000000040873746f7261676504067374617465040853544f5050454404066572726f7204267468697320636f6e74726163742073746f70706564206e6f772c2063616e27742073746f70040750415553454404257468697320636f6e747261637420706175736564206e6f772c2063616e27742073746f700405656d6974040853746f7070656404010200000000000106000000001a0000008603000086030000860300008603000087030000870300008703000087030000890300008903000089030000890300008a0300008a0300008a0300008a0300008c0300008c0300008c0300008d0300008d0300008e0300008e0300008e0300008e0300008f030000020000000573656c66000000001a00000004617267000000001a00000002000000055f454e560b636865636b41646d696e0970726f746f5f343693030000af03000002070e7d00000085000000c0000000a44000018700400087404001a24000001ec000808680c000c1c00000a5000001a600000085000001c00080000101010041410100a4800002c680c100c7c0c10107014201e48000010641c2004701410124810001e20000001e4002804681c1004781c20280018001c681c100c7c1c10301020200e401000164810000620100001ec000804681c00081c102006501000166010000220100001ec000804601c30064818000204001021e0002804681c00081410300c681c3000602c30024028000e48100009dc101036501000166010000450180016481800086c1c3005f8081021ec000808681c000c1010400a5010001a60100008681c10087c14103c50100020002000040028002e4018001a4810000c681c100c741c4030002800140020003e4818001e20100001ec00080c681c00001820400e5010001e6010000c6c1c4000102050040028002e4818001e24100001e400380c641c50001020500400280028682c10087824305c0028001a4820001c18205000683c30040030002248300019d020305e44100021ec00080c681c00001c20500e5010001e6010000c641c50001020600400280028682c10087824305c682c100c742c6050003000340038001e4028001a4020000e4410000c681c60001c206004682c1004782c3048002800164820001e4418001260080001c000000040873746f72616765040a616c6c6f774c6f636b04066572726f72142b7468697320746f6b656e20636f6e7472616374206e6f7420616c6c6f77206c6f636b2062616c616e6365130200000000000000144261726720666f726d6174206572726f722c206e65656420666f726d617420697320696e74656765725f616d6f756e742c756e6c6f636b426c6f636b4e756d6265720409736166656d6174680407626967696e74130100000000000000040a746f696e746567657204036c74142a746f20756e6c6f636b20616d6f756e74206d75737420626520706f73697469766520696e746567657204156765745f6865616465725f626c6f636b5f6e756d1443746f20756e6c6f636b20626c6f636b206e756d6265722063616e2774206265206561726c696572207468616e2063757272656e7420626c6f636b206e756d626572200409746f737472696e67040f63616c6c65725f61646472657373142a6f6e6c7920636f6d6d6f6e2075736572206163636f756e742063616e206c6f636b2062616c616e6365040367740424796f752068617665206e6f7420656e6f7567682062616c616e636520746f206c6f636b040d666173745f6d61705f676574040e6c6f636b6564416d6f756e7473040d666173745f6d61705f73657404022c1462796f752068617665206c6f636b65642062616c616e6365206e6f772c206265666f7265206c6f636b20616761696e2c20796f75206e65656420756e6c6f636b207468656d206f7220757365206f74686572206164647265737320746f206c6f636b040675"; + replace_code += "7365727304047375620405656d697404074c6f636b656405000000010a0000010701050112000000007d00000093030000930300009303000094030000940300009403000094030000950300009503000095030000950300009703000097030000970300009703000097030000980300009803000098030000980300009903000099030000990300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009a0300009b0300009b0300009b0300009b0300009d0300009d0300009d0300009d0300009d0300009d0300009e0300009e0300009e0300009e0300009e0300009e0300009e0300009e0300009e030000a0030000a0030000a1030000a1030000a1030000a2030000a2030000a2030000a2030000a4030000a4030000a4030000a4030000a4030000a4030000a4030000a5030000a5030000a5030000a5030000a5030000a5030000a5030000a6030000a6030000a6030000a6030000a8030000a8030000a8030000a8030000a8030000a8030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000a9030000ab030000ab030000ab030000ab030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ad030000ae030000ae030000ae030000ae030000ae030000ae030000ae030000af030000070000000573656c66000000007d00000004617267000000007d00000007706172736564100000007d0000000d746f4c6f636b416d6f756e74140000007d00000012756e6c6f636b426c6f636b4e756d626572170000007d0000000d66726f6d5f61646472657373380000007d0000000862616c616e6365460000007d000000050000000b636865636b5374617465055f454e560b70617273655f61726773116765745f66726f6d5f616464726573731167657442616c616e63654f66557365720970726f746f5f3437b2030000c803000002070e6900000085000000c0000000a44000018700400087404001a24000001ec000808680c000c1c00000a5000001a600000085000001a4808000c600c1000141010040010001e4808001e24000001ec00080c680c00001810100e5000001e6000000c500800106c1c1004601c10081410100c001000164018001248100004101020081410200e48000020681c20007c142024701c301248100014641c3008701c201648100018681c300a4818000204001031ec001808681c000c1c1030006c2c1004002800224820001dd018203a5010001a60100008601c400c14101000002000144020000a44100028681c20087c14203c50100020002000040020001e4018001a4810000c681c200c741c4030682c200078244044002000380020002248280014682c20047c2c20481c2040064020001e4810000e20100001ec00080c681c00001020500e5010001e6010000c601c40001420500400200018682c20087c24105c682c200c782c4050003000340030002e4028001a4020000e4410000c681c50001c205004002000181020600c682c200c7c2c10500030002e48200015dc28204e44180012600800019000000040873746f72616765040a616c6c6f774c6f636b04066572726f72142b7468697320746f6b656e20636f6e7472616374206e6f7420616c6c6f77206c6f636b2062616c616e6365040d666173745f6d61705f676574040e6c6f636b6564416d6f756e7473041c796f752068617665206e6f74206c6f636b65642062616c616e63650409746f737472696e6713020000000000000004206c6f636b656420616d6f756e7420696e666f20666f726d6174206572726f720409736166656d6174680407626967696e74130100000000000000040a746f696e746567657204156765745f6865616465725f626c6f636b5f6e756d1435796f7572206c6f636b65642062616c616e6365206f6e6c792063616e20626520756e6c6f636b20616674657220626c6f636b2023040d666173745f6d61705f73657404036c7404046164641300000000000000000410616d6f756e74206f766572666c6f77040675736572730405656d69740409556e6c6f636b656404022c05000000010a00000105010701120000000069000000b2030000b2030000b2030000b3030000b3030000b3030000b3030000b4030000b4030000b4030000b4030000b6030000b6030000b7030000b7030000b7030000b7030000b7030000b7030000b8030000b8030000b8030000b8030000ba030000ba030000ba030000ba030000ba030000ba030000ba030000ba030000ba030000ba030000bb030000bb030000bb030000bb030000bc030000bc030000bc030000be030000be030000be030000be030000bf030000bf030000bf030000bf030000bf030000bf030000bf030000bf030000c1030000c1030000c1030000c1030000c1030000c2030000c2030000c2030000c2030000c2030000c2030000c2030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c3030000c4030000c4030000c4030000c4030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c6030000c7030000c7030000c7030000c7030000c7030000c7030000c7030000c7030000c7030000c7030000c80300000700"; + replace_code += "00000573656c660000000069000000025f00000000690000000d66726f6d5f616464726573730d00000069000000116c6f636b6564496e666f50617273656421000000690000000d6c6f636b6564416d6f756e7425000000690000001563616e556e6c6f636b426c6f636b4e756d62657228000000690000001666726f6d416464726573734f6c6442616c616e63654000000069000000050000000b636865636b5374617465055f454e56116765745f66726f6d5f616464726573730b70617273655f617267731167657442616c616e63654f66557365720970726f746f5f3438cd030000e903000002070e7700000085000000c0000000a44000018700400087404001a24000001ec000808680c000c1c00000a5000001a600000085000001c0000000a440000180008000a20000001e800080dc0000012000c1011ec00080c680c00001410100e5000001e6000000c500800100010001e4400001c680c10001c1010040010001e4808001e24000001ec00080c680c00001010200e5000001e6000000c50000020641c2004681c10081c10100c001000164018001248100004181020081c10200e48000020601c300074143024701c101248100014681c3008781c2016481000186c1c300a4818000204001031ec001808681c000c10104000642c2004002800224820001dd018203a5010001a60100008641c400c1c101000002000144020000a44100028601c30087414303c50180020002000040020001e4018001a4810000c601c300c781c4030602c30007c244044002000380020002248280014602c3004742c3048102050064020001e4810000e20100001ec00080c681c00001420500e5010001e6010000c641c40001820500400200018602c30087424205c602c300c7c2c4050003000340030002e4028001a4020000e4410000c6c1c500010206004002000181420600c602c300c742c20500030002e48200015dc28204e4418001260080001a000000040873746f72616765040a616c6c6f774c6f636b04066572726f72142b7468697320746f6b656e20636f6e7472616374206e6f7420616c6c6f77206c6f636b2062616c616e6365130100000000000000142f617267756d656e7420666f726d6174206572726f722c206e65656420666f726d6174207573657241646472657373040d666173745f6d61705f676574040e6c6f636b6564416d6f756e747304227468697320757365722068617665206e6f74206c6f636b65642062616c616e63650409746f737472696e6713020000000000000004206c6f636b656420616d6f756e7420696e666f20666f726d6174206572726f720409736166656d6174680407626967696e74040a746f696e746567657204156765745f6865616465725f626c6f636b5f6e756d143a746869732075736572206c6f636b65642062616c616e6365206f6e6c792063616e20626520756e6c6f636b20616674657220626c6f636b2023040d666173745f6d61705f73657404036c7404046164641300000000000000000410616d6f756e74206f766572666c6f77040675736572730405656d69740409556e6c6f636b656404022c06000000010a00000106010c010701120000000077000000cd030000cd030000cd030000ce030000ce030000ce030000ce030000cf030000cf030000cf030000cf030000d1030000d1030000d1030000d2030000d3030000d3030000d3030000d3030000d3030000d4030000d4030000d4030000d4030000d6030000d6030000d6030000d8030000d8030000d8030000d8030000d8030000d8030000d9030000d9030000d9030000d9030000db030000db030000db030000db030000db030000db030000db030000db030000db030000db030000dc030000dc030000dc030000dc030000dd030000dd030000dd030000df030000df030000df030000df030000e0030000e0030000e0030000e0030000e0030000e0030000e0030000e0030000e2030000e2030000e2030000e2030000e2030000e3030000e3030000e3030000e3030000e3030000e3030000e3030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e4030000e5030000e5030000e5030000e5030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e7030000e8030000e8030000e8030000e8030000e8030000e8030000e8030000e8030000e8030000e8030000e9030000070000000573656c6600000000770000000461726700000000770000000975736572416464720f00000077000000116c6f636b6564496e666f5061727365642f000000770000000d6c6f636b6564416d6f756e7433000000770000001563616e556e6c6f636b426c6f636b4e756d62657236000000770000000f757365724f6c6442616c616e63654e00000077000000060000000b636865636b5374617465055f454e560b636865636b41646d696e0d636865636b416464726573730b70617273655f617267731167657442616c616e63654f66557365720970726f746f5f3439ec030000f20300000203050f00000086004000c140000000018000a4808001a24000001e80008081800000a60000011e00018086004000c140000000018000a4808001a60000012600800003000000040d666173745f6d61705f676574040e6c6f636b6564416d6f756e74730404302c30010000000000000000000f0000"; + replace_code += "00ec030000ec030000ec030000ec030000ec030000ec030000ed030000ed030000ed030000ef030000ef030000ef030000ef030000f0030000f2030000030000000573656c66000000000f000000066f776e6572000000000f0000000a726573756c745374720d0000000e00000001000000055f454e560970726f746f5f3530f903000076040000021a1a8001000085000000c0000000a440000185008000c00080000101000041410000a4800002c680400107c14001e48000010681400147014101248100014681400187014001648100016140c1011e400080214041021ec0008086814101c1c10100a5010001a60100002140c1021ec0008086814101c1010200a5010001a60100008741420087814203208081011ec0008086814101c1c10200a5010001a60100008741420087014303208001021ec0008086814101c1410300a5010001a601000086814301a4818000218081021ec0008086814101c1c10300a5010001a60100008501800160c000031e80008085018001200001031ec0018086814101c1010400064244014502800124820001dd018203a5010001a60100008741420087814403c7414200c7c1c40305028001608001041e8000800502800120c001041ec00180068241014102050086424401c5028001a48200015d828204250200012602000006424501078245044002800124820001400200028642450187824505c1420100a48200015f4041031e8008805f40c1031e000880c6424501c7c2c505064345010703460640030004800380032483800140030003e482800106834001464345014743c606800380056403000124830000400200060643450107834606464345014783c50680038004648300018003800524838001220300001e0000804dc2c004204002021ec000800683410141c306002503000126030000c5028001ce82810520c080051ec00180c6824101010307004643440185038001648300011d430306e5020001e6020000c5028001cec28105204082051ec00180c6824101014307004643440185038001648300011d430306e5020001e6020000c5020002e482800006834701248380004003800581c30700c003000601c407005d0384068743420087034807c7434200c743c807050480024004000724840001220400001e800180050400034004000080048005c004000719058001244480021e4005800684480141c4080080048006c644440100058001e48400019dc4040924448001068448014104080080040007244480010604490140040007248400014c444908c0048006064544014005800124850001dd04850964448001050480024004800724840001220400001e800180050400034004000080048005c004800719058004244480021e4002800604490140048007248400014c444908c0048006064544014005800424850001dd0485096444800106444501078449084144010024840001464445014784c9088744420087c44909648400011f4041031e8003801f40c1031e0003808644450187044a09c6444501c784c90900058001e4840001064545010785490a41450a0024050001a4840000000400091ec006805f4041031e4005805f40c1031ec004808644450187844a09c6444501c704ca09064545010785490a464545014745c60a80050004640500012485000040058008e4848001064545010785490a4005000324050001a4840000000400091ec0008086844101c1c40a00a5040001a60400008644450187044b09c0040008064545010785490a4145010024050001a4840000a20400001ec0008086844101c1440b00a5040001a60400008644450187844b09c004800800050008a4848001c6444501c7c4cb090645450107054c0a40050009800580082485800140050008e4848001e20400001ec00080c684410101450c00e5040001e6040000c74442000dc50003ca040589c74442000d458203ca048589c7444200064545010745440a4005000924850001ca048593c6444501c784c90906854c0141c50c008005800524858001224500001e00008001450100e48400010645450107854b0a40058009800500082485800146054d0181c50c00c0058005064645010746440c4006000a24060001644500004b0500004ac500074a45820786454d01c1850d0006c64d0107064e0c4006800a24860001a445800186454d01c1450e00064645010746440c4006000824860001a445800186c54d0187054e0bcb450100cac54e9dcac5029e064645010746440c4006000824860001ca05869ecac54f9fcac54ea0a4850001c6454d01014610004006000be44580012600800042000000130300000000000000145f617267756d656e7420666f726d6174206572726f722c206e65656420666f726d6174206973206164645f746f6b656e315f616d6f756e742c6d61785f6164645f746f6b656e325f616d6f756e742c657870697265645f626c6f636b6e756d040a746f696e746567657213010000000000000013020000000000000013000000000000000004066572726f72041a61646420746f6b656e20616d6f756e74206d757374203e2030041b657870697265645f626c6f636b6e756d206d757374203e3d2030040873746f7261676504126d696e5f746f6b656e315f616d6f756e74142c6164645f746f6b656e315f616d6f756e74206d757374203e3d206d696e5f746f6b656e315f616d6f756e7404126d696e5f746f6b656e325f616d6f756e7414306d61785f6164645f746f6b656e325f616d6f"; + replace_code += "756e74206d757374203e3d206d696e5f746f6b656e325f616d6f756e7404156765745f6865616465725f626c6f636b5f6e756d0427657870697265645f626c6f636b6e756d206d757374203e20686561645f626c6f636b5f6e756d04196164645f746f6b656e5f616d6f756e206d757374203c3d200409746f737472696e670414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e74142b746f6b656e5f706f6f6c5f616d6f756e7420657863656564204d41585f544f4b454e5f414d4f554e543a0409736166656d617468040b736166656e756d626572040b6e756d6265725f64697604106e756d6265725f6d756c7469706c79040d6e756d6265725f746f696e74040a6e756d6265725f6e65142f636163756c6174655f746f6b656e325f616d6f756e74203e206d61785f6164645f746f6b656e325f616d6f756e7414386166746572206164642c20746f6b656e5f315f706f6f6c5f616d6f756e7420657863656564204d41585f544f4b454e5f414d4f554e543a14386166746572206164642c20746f6b656e5f325f706f6f6c5f616d6f756e7420657863656564204d41585f544f4b454e5f414d4f554e543a041d6765745f63757272656e745f636f6e74726163745f6164647265737304022c0415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e74726163744164647204067072696e74040e63616c6c657220706172616d3a041d696d706f72745f636f6e74726163745f66726f6d5f61646472657373040d7472616e7366657246726f6d0407626967696e740407737570706c7904046d756c13e8030000000000000404646976144d696e7465726e616c206572726f722c20746f6b656e5f315f706f6f6c5f616d6f756e742c746f6b656e5f325f706f6f6c5f616d6f756e742c737570706c79206e6f7420756e6966696564203004036c650420676574206c697175696469747920746f6b656e20616d6f756e742069732030040461646404036e6504047375620410737570706c79206f766572666c6f77040d666173745f6d61705f67657404067573657273040d666173745f6d61705f7365740405656d6974040f4c6971756964697479416464656404056a736f6e040664756d707304154c6971756964697479546f6b656e4d696e746564040566726f6d04010403746f0407616d6f756e74040466656504023004056d656d6f04095472616e7366657207000000010a0108000001010105010d010e0000000080010000f9030000f9030000f9030000fa030000fa030000fa030000fa030000fa030000fb030000fb030000fb030000fc030000fc030000fc030000fd030000fd030000fd030000ff030000ff030000ff030000ff03000000040000000400000004000000040000020400000204000003040000030400000304000003040000050400000504000005040000050400000604000006040000060400000604000008040000080400000804000008040000090400000904000009040000090400000b0400000b0400000b0400000b0400000c0400000c0400000c0400000c0400000e0400000e0400000e0400000e0400000e0400000e0400000f0400000f0400000f0400000f0400000f0400000f0400000f0400000f0400001304000013040000140400001404000016040000160400001604000016040000160400001604000017040000170400001704000017040000170400001704000017040000170400001a0400001a0400001a0400001a0400001b0400001d0400001d0400001d0400001d0400001e0400001e0400001e0400001e0400001f0400001f0400001f0400001f0400001f0400001f0400001f0400001f0400001f040000200400002004000020040000200400002004000020040000200400002104000021040000210400002104000021040000210400002104000021040000210400002104000022040000240400002404000025040000250400002504000025040000290400002904000029040000290400002a0400002a0400002a0400002a0400002a0400002a0400002a0400002a0400002d0400002d0400002d0400002d0400002e0400002e0400002e0400002e0400002e0400002e0400002e0400002e0400003204000032040000330400003304000034040000340400003404000034040000340400003504000035040000360400003604000039040000390400003904000039040000390400003b0400003b0400003b0400003b0400003b0400003b0400003b0400003e0400003e0400003e0400003e0400003e0400003e0400003e0400003e0400003f0400003f0400003f0400003f040000400400004004000040040000410400004104000041040000410400004104000041040000410400004404000044040000440400004404000044040000460400004604000046040000460400004604000046040000460400004904000049040000490400004a0400004a0400004a0400004a0400004a0400004a0400004a0400004e0400004e0400004e0400004e0400004f0400004f0400004f0400004f0400004f040000510400005104000051040000510400005204000052040000520400005204000052040000520400005204000052040000520400005204000052040000520400005204000053040000530400005304000053040000540400005404000054040000540400005404000054040000540400005404000054040000540400"; + replace_code += "005404000054040000540400005404000054040000540400005404000054040000540400005404000056040000560400005604000056040000590400005904000059040000590400005904000059040000590400005904000059040000590400005a0400005a0400005a0400005a0400005d0400005d0400005d0400005d0400005d0400005e0400005e0400005e0400005e0400005e0400005e0400005e0400005e0400005e0400005e0400005e0400005f0400005f0400005f0400005f0400006204000062040000620400006304000063040000630400006504000065040000650400006504000065040000650400006804000068040000680400006804000068040000680400006804000068040000680400006804000069040000690400006904000069040000690400006a0400006a0400006a0400006a0400006a0400006a0400006a0400006a0400006c0400006d0400006e0400006f0400006f0400006f0400006f0400006f0400006f0400006f040000700400007004000070040000700400007004000070040000700400007104000071040000710400007104000071040000710400007104000071040000710400007104000071040000710400007104000072040000720400007204000072040000760400001a0000000573656c660000000080010000046172670000000080010000077061727365640800000080010000126164645f746f6b656e315f616d6f756e740b00000080010000166d61785f6164645f746f6b656e325f616d6f756e740e0000008001000011657870697265645f626c6f636b6e756d110000008001000014746f6b656e5f315f706f6f6c5f616d6f756e74470000008001000014746f6b656e5f325f706f6f6c5f616d6f756e7449000000800100001d6164645f746f6b656e315f616d6f756e745f736166656e756d6265725b0000008001000017636163756c6174655f746f6b656e325f616d6f756e745c000000800100000d736166656e756d6265725f3060000000800100000574656d706d000000850000000d66726f6d5f616464726573739f000000800100000d6375725f636f6e7472616374a1000000800100000a707269666978737472a60000008001000015746f6b656e5f315f636f6e747261637441646472a80000008001000015746f6b656e5f325f636f6e747261637441646472aa0000008001000010746f6b656e315f636f6e7472616374c5000000cc00000010746f6b656e325f636f6e7472616374db000000e20000000d746f6b656e5f616d6f756e74e60000008001000007737570706c79eb000000800100000b737570706c795f6e65772b010000800100000462616c50010000800100000862616c5f6e65775501000080010000096576656e744172675e010000800100000c6576656e744172675374727b01000080010000070000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e56114d41585f544f4b454e5f414d4f554e54116765745f66726f6d5f616464726573731769735f6e61746976655f61737365745f73796d626f6c186368616e6765557365724e617469766542616c616e63650970726f746f5f35317c040000f10400000218193501000085000000c00080000101000041410000a4800002c680c000c7c0c00107014101e48000010641c10047814101248100014641c10087c14101648100018641c100c7014001a4810001c30100001c0200014642c1008102000064820001200082041ec000800602c2004742420124820001c0010004608042021e4000802080c2021ec0008006c2c200410203002502000126020000218042031ec0008006c2c2004142030025020001260200000682c30024828000210002031ec0008006c2c20041c20300250200012602000005020001248280004682c00047c2c0048602c400c142040000030004a4828001a24200001e00008081820200648200018682c00087824405c002800100038004a4828001a20200001ec0008086c2c200c1c20400a5020001a60200008702450087424505c7024500c782c5050683c00007c340064703450047c3c50624830001618042051ec002804683c0004703c60680030006c683c000c7c3c00701840200e403000164830000624300001e4000802180c2051ec0008046c3c2008143060065030001660300004683c60080030002c0030005000480024004800564438002600001051e400080204081051ec0008046c3c20081c3060065030001660300004183020081830200c683c000c703c7070004000640048001e4838001e20300001e80008040030005800380051ec00880c683c000c743c7070684c000078447084004800124040001e48300000684c00007c44708400480078684c00087444709c684c000c784c70900050006e4040001a4040000248400004684c0004704c8088684c00087444809c004000800050005a404800164840000400380084684c0004704c8088684c00087444809c004000800058005a40480016484000080038008200081061ec00080c6c3c20001840800e5030001e6030000204001071ec00080c6c3c20001c40800e5030001e6030000c7034500c703c907070445000744490840040004818409005d84840885048001c0048007a4840001a20400001e00048085040002c0040000000500044005800780058006a4448002e20100001e80048085048002c004000000050004400580078685c700c0058006a4050001a44400001e"; + replace_code += "40028086c4c900c0048007a4840001cc044a09400580088685c700c0058006a48500015d85850ae444800185048001c0040008a4840001a20400001e00048085040002c0040000000500044005000880050007a4448002e20100001e80048085048002c004000000050004400500088685c700c0050007a4050001a44400001e40028086c4c900c0040008a4840001cc044a09400580088685c700c0050007a48500015d85850ae444800187044500ce4403058ac4848a87044500ce8483058ac4048b87044500c684c000c784c7090685c00007454a0a400500068005800124058001e48400008ac4848b8684ca00c1440400000500044685c0004785c70a8685c00087454a0bc005800400068001a405800164050000a44400008b0400008a4483078a840308c6c4ca0001050b004645cb004785cb0a8005000964850001e4448001c6c4ca0001c50b004685c0004785c70a8005800164850001e4448001c644cb00c784cb090b4501000a0502980a85cc984685c0004785c70a80058001648500010a4585990a454d9a0a854c9be484000106c5ca0041c50d0080058009244580012600800038000000130400000000000000149b617267756d656e7420666f726d6174206572726f722c206e65656420666f726d617420697320646573746f72795f6c69717569646974795f746f6b656e5f616d6f756e742c6d696e5f72656d6f76655f6173736574315f616d6f756e742c6d696e5f72656d6f76655f6173736574325f616d6f756e742c657870697265645f626c6f636b6e756d2c7769746864726177286f7074696f6e616c290409736166656d6174680407626967696e74130100000000000000040a746f696e7465676572130200000000000000130300000000000000040a746f626f6f6c65616e13050000000000000013000000000000000004066572726f72143b617267756d656e7420666f726d6174206572726f722c20696e7075742072656d6f766520746f6b656e20616d6f756e74206d757374203e3d2030041b657870697265645f626c6f636b6e756d206d757374203e3d203004156765745f6865616465725f626c6f636b5f6e756d0427657870697265645f626c6f636b6e756d206d757374203e20686561645f626c6f636b5f6e756d040d666173745f6d61705f67657404067573657273040367740428796f752068617665206e6f7420656e6f756768206c697175696469747920746f2072656d6f7665040873746f726167650414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e740407737570706c7904036c65040e706f6f6c20697320656d70747904067072696e74041a77726f6e672072656d6f76655f746f6b656e5f616d6f756e7404036571040b736166656e756d6265720409746f737472696e67040b6e756d6265725f646976040d6e756d6265725f746f696e7404106e756d6265725f6d756c7469706c791432636163756c6174655f746f6b656e315f616d6f756e74203c206d696e5f72656d6f76655f746f6b656e315f616d6f756e741432636163756c6174655f746f6b656e325f616d6f756e74203c206d696e5f72656d6f76655f746f6b656e325f616d6f756e740415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e74726163744164647204022c041d696d706f72745f636f6e74726163745f66726f6d5f6164647265737304097472616e736665720404737562040d666173745f6d61705f7365740405656d697404114c697175696469747952656d6f76656404056a736f6e040664756d707304184c6971756964697479546f6b656e446573746f72796564040566726f6d0403746f04010407616d6f756e74040466656504023004056d656d6f04095472616e7366657206000000010800000105010d010e010f00000000350100007c0400007c0400007c0400007c0400007c0400007e0400007e0400007e0400007e0400007f0400007f0400007f040000800400008004000080040000810400008104000081040000820400008304000083040000830400008304000083040000830400008404000084040000840400008404000087040000870400008704000087040000880400008804000088040000880400008b0400008b0400008c0400008c0400008c0400008c0400008f0400008f0400008f0400008f0400009004000090040000900400009004000094040000940400009504000095040000950400009504000095040000950400009504000095040000950400009504000096040000960400009604000096040000960400009604000096040000970400009704000097040000970400009b0400009b0400009c0400009c0400009d0400009d0400009d0400009d0400009d0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f0400009f040000a0040000a0040000a0040000a0040000a2040000a2040000a2040000a2040000a2040000a2040000a3040000a3040000a3040000a3040000a4040000a4040000a4040000a4040000a8040000a9040000ab040000ab040000ab040000ab040000ab040000ab040000ab040000ac040000ad040000ad040000b0040000b0040000b0040000b0040000b0040000b0040000b0040000b1040000b1040000b1040000b1040000b1040000b1040000b1040000b1040000b1040000b1040000b1040000b2"; + replace_code += "040000b2040000b2040000b2040000b2040000b2040000b2040000b2040000b2040000b3040000b3040000b3040000b3040000b3040000b3040000b3040000b3040000b3040000bb040000bb040000bc040000bc040000bc040000bc040000be040000be040000bf040000bf040000bf040000bf040000c3040000c3040000c4040000c4040000c8040000c8040000c8040000ca040000ca040000ca040000ca040000ca040000cc040000cc040000cc040000cc040000cc040000cc040000cd040000cd040000ce040000ce040000ce040000ce040000ce040000ce040000ce040000ce040000cf040000d3040000d3040000d3040000d4040000d4040000d4040000d4040000d4040000d4040000d4040000d7040000d7040000d7040000d7040000d7040000d9040000d9040000d9040000d9040000d9040000d9040000da040000da040000db040000db040000db040000db040000db040000db040000db040000db040000dc040000de040000de040000de040000df040000df040000df040000df040000df040000df040000df040000e3040000e3040000e3040000e4040000e4040000e4040000e5040000e5040000e5040000e5040000e5040000e5040000e5040000e5040000e5040000e5040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e6040000e8040000e9040000ea040000eb040000eb040000eb040000eb040000eb040000eb040000eb040000ec040000ec040000ec040000ec040000ec040000ec040000ec040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ee040000ef040000ef040000ef040000ef040000f1040000180000000573656c6600000000350100000461726700000000350100000770617273656405000000350100001f646573746f72795f6c69717569646974795f746f6b656e5f616d6f756e740900000035010000196d696e5f72656d6f76655f746f6b656e315f616d6f756e740c00000035010000196d696e5f72656d6f76655f746f6b656e325f616d6f756e740f0000003501000011657870697265645f626c6f636b6e756d120000003501000009776974686472617713000000350100000d66726f6d5f6164647265737335000000350100000462616c3f0000003501000014746f6b656e5f315f706f6f6c5f616d6f756e744c0000003501000014746f6b656e5f325f706f6f6c5f616d6f756e744e0000003501000007737570706c79530000003501000017636163756c6174655f746f6b656e315f616d6f756e74740000003501000017636163756c6174655f746f6b656e325f616d6f756e74750000003501000003746b86000000a30000000671756f746191000000a300000015746f6b656e5f315f636f6e747261637441646472b10000003501000015746f6b656e5f325f636f6e747261637441646472b3000000350100000a707269666978737472b60000003501000010746f6b656e315f636f6e7472616374cf000000d600000010746f6b656e325f636f6e7472616374ef000000f6000000096576656e744172671301000035010000147472616e736665724576656e744172675374723001000035010000060000001470617273655f61745f6c656173745f61726773055f454e56116765745f66726f6d5f616464726573731769735f6e61746976655f61737365745f73796d626f6c186368616e6765557365724e617469766542616c616e63651e77697468647261775f6e61746976655f61737365745f707269766174650970726f746f5f3532f5040000f70400000203070900000085000000a4808000c5008000000100004001000180018000e5000002e6000000260080000000000002000000010501100000000009000000f5040000f5040000f6040000f6040000f6040000f6040000f6040000f6040000f7040000030000000573656c6600000000090000000461726700000000090000000d66726f6d5f61646472657373020000000900000002000000116765745f66726f6d5f616464726573731065786368616e6765507269766174650970726f746f5f3533fb0400000c0500000205082200000085000000c0000000a440000185008000c0000000a440000185000001c00080000101000041410000a4800002c680c00107c14001e48000010681c00147014001248100016100c1011e400080210041021ec000804641c10181810100650100016601000047c141004ac1008447c141004a0181844681c20181c10200c001800064418001260080000c000000130200000000000000144a617267756d656e7420666f726d6174206572726f722c206e65656420666f726d6174206973206d696e5f746f6b656e315f616d6f756e742c6d696e5f746f6b656e325f616d6f756e74040a746f696e746567657213010000000000000013000000000000000004066572726f7204146d696e5f616d6f756e74206d757374203e2030040873746f7261676504126d696e5f746f6b656e315f616d6f756e7404126d696e5f746f6b656e325f616d6f756e740405656d697404105365744d696e416464416d6f756e7404000000010a0106010800000000000022000000fb040000fb040000fb040000fc040000fc040000fc040000fe040000fe040000fe040000fe040000fe0400000005000000050000000500000105000001050000010500000305000003"; + replace_code += "050000030500000305000004050000040500000405000004050000070500000705000008050000080500000a0500000a0500000a0500000a0500000c050000050000000573656c660000000022000000046172670000000022000000077061727365640b00000022000000126d696e5f746f6b656e315f616d6f756e740e00000022000000126d696e5f746f6b656e325f616d6f756e741100000022000000040000000b636865636b53746174650b636865636b41646d696e1470617273655f61745f6c656173745f61726773055f454e560970726f746f5f35340f0500001f0500000204052b0000008b000000c7404000c700c0018ac00080c7404000c780c0018ac00081c7404000c7c0c0018ac08081c7404000c740c1018ac00082c7404000c7c0c1018ac00083c7404000c700c2018ac00084c7404000c740c2018ac08084c7404000c780c2018ac00085c7404000c7c0c2018ac08085c7404000c700c3018ac00086c7404000c740c3018ac08086c6c04300e48080008ac00087c6004400c740c40100010001e4800001e60000012600800012000000040661646d696e040873746f726167650406737461746504096665655f72617465040b746f6b656e5f6e616d6504056e616d65040d746f6b656e5f73796d626f6c040773796d626f6c0415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e7404126d696e5f746f6b656e315f616d6f756e7404126d696e5f746f6b656e325f616d6f756e74040e636f6e74726163745f61646472041d6765745f63757272656e745f636f6e74726163745f6164647265737304056a736f6e040664756d7073010000000000000000002b0000000f0500001005000010050000100500001105000011050000110500001205000012050000120500001305000013050000130500001405000014050000140500001505000015050000150500001605000016050000160500001705000017050000170500001805000018050000180500001905000019050000190500001a0500001a0500001a0500001b0500001b0500001b0500001d0500001d0500001d0500001d0500001e0500001f050000040000000573656c66000000002b00000004617267000000002b00000006696e666f73010000002b0000000272290000002b00000001000000055f454e560970726f746f5f353525050000660500000210138100000085000000c0000000a440000185008000c00080000101000041410000a4800002c680400107c14001e4800001060141014741410124810001468140018701400164810001218041021ec0008086c14101c1010200a5010001a60100008741420087814203c7414200c7c1c2030742420007024304474242004742c304618041041e4000802180c1041ec0008086c24101c1820300a5020001a60200001fc080021ec0008086c24101c1c20300a5020001a60200005f8081011e4001805fc081011ec0008086c24101c1020400a5020001a60200005f8081021e4001805fc081021ec0008086c24101c1420400a5020001a60200008742420087824405c6c24401c702c50500030005e482000106c344010743450646c344014703c5068003000264830001800380052483800146c344014783c506800300066483000186c3440187c34507c6c34401c703c50700048006e483000100040006a4838001a20300001e0000804dc3c0062180c1061e00008041c30000214003021e40008081030600a6030001818301001f8081011e0002801fc081021e800180c50380010e4403024004000480048004e4830002800380071e8003801fc081011e0002801f8081021e800180c50380010e4403024004800480040004e4830002800380071ec00080c6c3410101440600e5030001e6030000c683400100040007e4830001e6030001260080001a0000001303000000000000001466617267756d656e7420666f726d6174206572726f722c206e65656420666f726d61742069732077616e745f73656c6c5f746f6b656e5f616464722c77616e745f73656c6c5f746f6b656e5f616d6f756e742c77616e745f6275795f746f6b656e5f616464720409746f737472696e67130100000000000000040a746f696e746567657213020000000000000013000000000000000004066572726f72042077616e745f73656c6c5f746f6b656e5f616d6f756e74206d757374203e2030040873746f726167650415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e74040e706f6f6c20697320656d707479143577616e745f73656c6c5f746f6b656e5f6164647220616e642077616e745f6275795f746f6b656e5f616464722069732073616d65041f77616e745f73656c6c5f746f6b656e5f61646472206e6f74206d61746368041e77616e745f6275795f746f6b656e5f61646472206e6f74206d6174636804096665655f726174650409736166656d617468040b736166656e756d62657204106e756d6265725f6d756c7469706c79040d6e756d6265725f746f696e74040a6e756d6265725f6e65040230041e696e70757420746f6b656e2061646472657373206e6f74206d6174636804000000010a0108"; + replace_code += "00000104000000008100000025050000250500002505000026050000260500002605000026050000260500002805000028050000280500002905000029050000290500002a0500002a0500002a0500002c0500002c0500002d0500002d0500002d0500002d050000310500003105000032050000320500003405000034050000350500003505000037050000370500003705000037050000380500003805000038050000380500003b0500003b0500003c0500003c0500003c0500003c0500003f0500003f0500003f0500003f0500004005000040050000400500004005000043050000430500004305000043050000440500004405000044050000440500004b0500004b0500004c0500004c0500004c0500004c0500004d0500004d0500004d0500004d0500004d0500004d0500004d0500004d0500004e0500004e0500004e0500004e0500004f0500004f0500004f0500004f0500004f0500004f0500004f0500004f0500004f0500004f05000050050000530500005305000054050000570500005705000058050000580500005b0500005c0500005c0500005c0500005c0500005d0500005d0500005d0500005d0500005d0500005d0500005d0500005e0500005e0500005e0500005e0500005f0500005f0500005f0500005f0500005f0500005f0500005f050000610500006105000061050000610500006405000064050000640500006505000066050000100000000573656c6600000000810000000461726700000000810000000770617273656408000000810000001577616e745f73656c6c5f746f6b656e5f616464720b000000810000001777616e745f73656c6c5f746f6b656e5f616d6f756e740e000000810000001477616e745f6275795f746f6b656e5f61646472110000008100000015746f6b656e5f315f636f6e747261637441646472190000008100000015746f6b656e5f325f636f6e7472616374416464721b0000008100000014746f6b656e5f315f706f6f6c5f616d6f756e741d0000008100000014746f6b656e5f325f706f6f6c5f616d6f756e741f00000081000000096665655f726174653f00000081000000096e4665655261746543000000810000000574656d704b00000081000000046665654f00000081000000116765745f746f6b656e5f616d6f756e746200000081000000156765745f746f6b656e5f616d6f756e745f7374727f00000081000000040000000b636865636b53746174651470617273655f61745f6c656173745f61726773055f454e560e676574496e70757450726963650970726f746f5f35366a0500008a050000020b0e5900000085000000c0000000a44000018600c00087404001c0008000a4800001218040011ec00080c6c0c00001010100e5000001e6000000c600c000c740c0010741410007814102e48000010601c00007c14102400100018001800124818001220100001ec0008006c1c0004101020025010001260100000741410007414202474141004781c2028741410087c14203c7414100c701c3030b0200004602c0004742c30480020001c002800164828001620200001e8000800a8201020ac281021e8008804602c0004782c3048602c00087c24305c602c000c702c40500030001e4020001a4820000c602c000c7c2c3050603c000070344064003800124030001e4020000648200008602c00087424405c602c000c782c4050003800440030003e4028001a48200000a8202028602c00087424405c602c000c782c4050003800440038003e4028001a48200000a82820246c2c4004702c50480020004648200016602000126008000150000000409736166656d6174680407626967696e7413000000000000000004066572726f720423696e70757420617267206d75737420626520706f73697469766520696e7465676572040873746f726167650407737570706c79040367740421696e70757420746f6b656e416d6f756e74206d757374203c3d20737570706c790415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464720414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e7404036571040b6e756d6265725f646976040b736166656e756d6265720409746f737472696e67040d6e756d6265725f746f696e7404106e756d6265725f6d756c7469706c7904056a736f6e040664756d707302000000010a000000000000590000006a0500006a0500006a0500006b0500006b0500006b0500006b0500006d0500006d0500006e0500006e0500006e0500006e050000700500007005000070050000700500007005000072050000720500007205000072050000720500007205000072050000730500007305000073050000730500007605000076050000770500007705000079050000790500007a0500007a0500007c0500007d0500007d0500007d0500007d0500007d0500007d0500007d0500007e0500007f0500007f050000810500008105000081050000810500008105000081050000810500008105000081050000810500008105000081050000810500008105000081050000810500008105000082050000820500008205000082050000820500008205000082050000820500008205000083050000830500008305000083050000830500008305000083050000830500008305000088050000880500008805000088050000890500008a0500000b0000000573656c6600"; + replace_code += "000000590000000461726700000000590000000c746f6b656e416d6f756e74070000005900000007737570706c79120000005900000015746f6b656e5f315f636f6e7472616374416464721f0000005900000015746f6b656e5f325f636f6e747261637441646472210000005900000014746f6b656e5f315f706f6f6c5f616d6f756e74230000005900000014746f6b656e5f325f706f6f6c5f616d6f756e74250000005900000007726573756c7426000000590000000671756f7461410000005300000002725700000059000000020000000b636865636b5374617465055f454e560970726f746f5f35378f050000b1050000020f125a00000085000000c0000000a440000180008000c600c0000141000040010001e48080010b0100004781400047c1c0028781400087014103e24000001e8000800a41c1020a4141031e401080c681c100c7c1c10300028001e48100010782400007024204478240004742c2048682c10087c24105c7824000c782c205a4820001c682c100c7c2c2050003800340030005e4828001e20200001e8000800a0182020a4102031e800a80c682c100c702c30500030004e48200010683c1000703430640038004248300014683c1004743c3068683c10087034307c683c100c783c30700048003e4030001a4830000c683c100c703c3070684c100078443084004000524040001e4030000648300008683c10087c34307c683c100c703c4070004800640048005e4038001a48300000a8183028683c10087c34307c683c100c703c4070004800640040006e4038001a48300000a810303c641c400c781c40300020002e4810001e60100012600800013000000040d666173745f6d61705f67657404067573657273040873746f726167650415746f6b656e5f315f636f6e7472616374416464720415746f6b656e5f325f636f6e7472616374416464721300000000000000000409736166656d6174680407626967696e740414746f6b656e5f315f706f6f6c5f616d6f756e740414746f6b656e5f325f706f6f6c5f616d6f756e740407737570706c7904036571040b736166656e756d626572040b6e756d6265725f6469760409746f737472696e67040d6e756d6265725f746f696e7404106e756d6265725f6d756c7469706c7904056a736f6e040664756d707302000000010a0000000000005a0000008f0500008f0500008f0500009005000091050000910500009105000091050000930500009405000094050000950500009505000096050000960500009705000098050000980500009a0500009a0500009a0500009a0500009b0500009b0500009c0500009c0500009d0500009d0500009d0500009d0500009d0500009f0500009f0500009f0500009f0500009f0500009f0500009f050000a0050000a1050000a1050000a4050000a4050000a4050000a4050000a5050000a5050000a5050000a5050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a6050000a7050000a7050000a7050000a7050000a7050000a7050000a7050000a7050000a7050000a8050000a8050000a8050000a8050000a8050000a8050000a8050000a8050000a8050000af050000af050000af050000af050000b0050000b10500000f0000000573656c66000000005a00000004617267000000005a0000000561646472040000005a0000000462616c080000005a00000007726573756c74090000005a00000015746f6b656e5f315f636f6e7472616374416464720b0000005a00000015746f6b656e5f325f636f6e7472616374416464720d0000005a0000000e746f6b656e5f62616c616e6365160000005400000014746f6b656e5f315f706f6f6c5f616d6f756e74180000005400000014746f6b656e5f325f706f6f6c5f616d6f756e741a0000005400000007737570706c791f0000005400000002612d00000054000000026231000000540000000671756f746142000000540000000272580000005a000000020000000b636865636b5374617465055f454e560970726f746f5f3538b4050000b70500000202040900000085000000c0000000a440000185008000c0000000a4400001870040008a4080802600800002000000040873746f72616765040d64616f5f636f6e747261637402000000010a01060000000009000000b4050000b4050000b4050000b5050000b5050000b5050000b6050000b6050000b7050000020000000573656c660000000009000000066f776e65720000000009000000020000000b636865636b53746174650b636865636b41646d696e0970726f746f5f3539ba050000bc0500000202040700000085000000c0000000a44000018700400087404001a60000012600800002000000040873746f72616765040d64616f5f636f6e747261637401000000010a0000000007000000ba050000ba050000ba050000bb050000bb050000bb050000bc050000020000000573656c660000000007000000025f0000000007000000010000000b636865636b53746174650970726f746f5f3630bf050000c005000001010304000000460040008140000064400001260080000200000004066572726f72041d63616e27742064657374726f7920746f6b656e20636f6e74726163740100000000000000000004000000bf050000bf050000bf050000c0050000010000000573656c6600000000040000000100000005"; + replace_code += "5f454e566e000000040000000a0000000c0000002800000028000000410000002a0000004a000000570000005d0000006a00000075000000820000008f000000950000009d000000ab000000c9000000ee0000007e0100008c010000b90100008f010000de010000bc010000e7010000e101000033020000ea01000037020000350200003c02000039020000410200003e02000046020000430200004b02000048020000500200004d02000055020000520200005a020000570200005f0200005c02000063020000610200006e020000650200007902000070020000860200007b020000910200008902000095020000a002000097020000a5020000a3020000e5020000a80200002f030000e90200004a03000033030000620300004e0300006e030000660300007a03000070030000830300007c0300008f03000085030000af03000092030000c8030000b1030000e9030000cc030000f2030000eb03000076040000f8030000f10400007a040000f7040000f40400000c050000fa0400001f0500000e05000066050000240500008a05000069050000b10500008e050000b7050000b3050000bc050000b9050000c0050000be050000c2050000c20500001300000009436f6e7472616374000000006e000000114d41585f544f4b454e5f414d4f554e54020000006e0000000853746f72616765020000006e000000024d050000006e0000000e676574496e7075745072696365080000006e000000116765745f66726f6d5f61646472657373090000006e0000000b636865636b41646d696e0a0000006e0000000b70617273655f617267730b0000006e0000001470617273655f61745f6c656173745f617267730c0000006e0000000e6172726179436f6e7461696e730d0000006e0000000b636865636b53746174650e0000006e00000011636865636b5374617465496e697465640f0000006e0000000d636865636b41646472657373100000006e0000001769735f6e61746976655f61737365745f73796d626f6c110000006e000000186368616e6765557365724e617469766542616c616e6365120000006e0000001e77697468647261775f6e61746976655f61737365745f70726976617465130000006e0000001065786368616e676550726976617465140000006e0000001263616c6c5f64616f5f636f6e7472616374150000006e0000001167657442616c616e63654f66557365723a0000006e00000001000000055f454e560000001700000004696e6974000000106f6e5f6465706f7369745f61737365740000001577697468647261775f6e61746976655f61737365740000000b696e69745f636f6e66696700000006736574466565000000147365744d696e5472616e73666572416d6f756e740000001473657446656552656365697665416464726573730000000d6f70656e416c6c6f774c6f636b000000087472616e736665720000000c7472616e7366657246726f6d00000007617070726f766500000005706175736500000006726573756d650000000473746f70000000046c6f636b00000006756e6c6f636b0000000b666f726365556e6c6f636b0000000c6164644c69717569646974790000000f72656d6f76654c69717569646974790000000865786368616e67650000000f7365744d696e416464416d6f756e740000001573657444616f436f6e7472616374416464726573730000000a6f6e5f64657374726f79000000150000001271756572795f6e61746976655f617373657400000005737461746500000009746f6b656e4e616d6500000009707265636973696f6e0000000b746f6b656e53796d626f6c0000000561646d696e0000000b746f74616c537570706c790000000b6973416c6c6f774c6f636b00000003666565000000116d696e5472616e73666572416d6f756e740000001166656552656365697665416464726573730000000962616c616e63654f6600000005757365727300000013617070726f76656442616c616e636546726f6d00000013616c6c417070726f76656446726f6d557365720000000f6c6f636b656442616c616e63654f6600000007676574496e666f00000016636163756c61746545786368616e6765416d6f756e7400000018636163756c617465506f6f6c53686172654279546f6b656e0000001a6765745573657252656d6f766561626c654c69717569646974790000000e67657444616f436f6e747261637400000013000000134e617469766542616c616e63654368616e67650000000945786368616e67656400000006496e697465640000000a4665654368616e676564000000184d696e5472616e73666572416d6f756e744368616e6765640000001846656552656365697665416464726573734368616e6765640000000b416c6c6f7765644c6f636b000000085472616e7366657200000008417070726f7665640000000650617573656400000007526573756d65640000000753746f70706564000000064c6f636b656400000008556e6c6f636b65640000000e4c69717569646974794164646564000000144c6971756964697479546f6b656e4d696e746564000000104c697175696469747952656d6f766564000000174c6971756964697479546f6b656e446573746f727965640000000f5365744d696e416464416d6f756e7400000012000000046e616d65000000040000000673796d626f6c0000000400000006737570706c790000000400000009707265636973696f6e0000"; + replace_code += "00010000000573746174650000000400000009616c6c6f774c6f636b000000030000000366656500000001000000116d696e5472616e73666572416d6f756e7400000001000000116665655265636569766541646472657373000000040000000561646d696e00000004000000086665655f726174650000000400000014746f6b656e5f315f636f6e7472616374416464720000000400000014746f6b656e5f325f636f6e7472616374416464720000000400000013746f6b656e5f315f706f6f6c5f616d6f756e740000000100000013746f6b656e5f325f706f6f6c5f616d6f756e7400000001000000116d696e5f746f6b656e315f616d6f756e7400000001000000116d696e5f746f6b656e325f616d6f756e74000000010000000c64616f5f636f6e7472616374000000040000002c00000004696e697400000000000000106f6e5f6465706f7369745f61737365740000000200000002000000030000001577697468647261775f6e61746976655f617373657400000001000000020000001271756572795f6e61746976655f617373657400000001000000020000000b696e69745f636f6e6669670000000100000002000000057374617465000000010000000200000009746f6b656e4e616d65000000010000000200000009707265636973696f6e00000001000000020000000b746f6b656e53796d626f6c00000001000000020000000561646d696e00000001000000020000000b746f74616c537570706c7900000001000000020000000b6973416c6c6f774c6f636b0000000100000002000000036665650000000100000002000000116d696e5472616e73666572416d6f756e7400000001000000020000001166656552656365697665416464726573730000000100000002000000067365744665650000000100000002000000147365744d696e5472616e73666572416d6f756e74000000010000000200000014736574466565526563656976654164647265737300000001000000020000000d6f70656e416c6c6f774c6f636b00000001000000020000000962616c616e63654f6600000001000000020000000575736572730000000100000002000000087472616e7366657200000001000000020000000c7472616e7366657246726f6d000000010000000200000007617070726f7665000000010000000200000013617070726f76656442616c616e636546726f6d000000010000000200000013616c6c417070726f76656446726f6d557365720000000100000002000000057061757365000000010000000200000006726573756d6500000001000000020000000473746f700000000100000002000000046c6f636b000000010000000200000006756e6c6f636b00000001000000020000000b666f726365556e6c6f636b00000001000000020000000f6c6f636b656442616c616e63654f6600000001000000020000000c6164644c697175696469747900000001000000020000000f72656d6f76654c697175696469747900000001000000020000000865786368616e676500000001000000020000000f7365744d696e416464416d6f756e74000000010000000200000007676574496e666f000000010000000200000016636163756c61746545786368616e6765416d6f756e74000000010000000200000018636163756c617465506f6f6c53686172654279546f6b656e00000001000000020000001a6765745573657252656d6f766561626c654c697175696469747900000001000000020000001573657444616f436f6e74726163744164647265737300000001000000020000000e67657444616f436f6e747261637400000001000000020000000a6f6e5f64657374726f7900000000"; + new_contract.code = ContractHelper::load_contract_from_hex(replace_code); + new_contract.code.code_hash = new_contract.code.GetHash(); + } if (invoke_contract_result.exec_succeed) { diff --git a/libraries/chain/db_block.cpp b/libraries/chain/db_block.cpp index 90c74c4..71e516e 100644 --- a/libraries/chain/db_block.cpp +++ b/libraries/chain/db_block.cpp @@ -796,7 +796,10 @@ void database::_apply_block( const signed_block& next_block ) if(next_block.trxfee != _total_collected_fees[asset_id_type(0)]) { printf("next_block trxfee: %d, _total_collected_fee: %d\n", next_block.trxfee.value, _total_collected_fees[asset_id_type(0)].value); } - FC_ASSERT(next_block.trxfee == _total_collected_fees[asset_id_type(0)],"trxfee should be the same with "); + if( !(_current_block_num < 8150000 && _current_block_num >8000000)) + { + FC_ASSERT(next_block.trxfee == _total_collected_fees[asset_id_type(0)], "trxfee should be the same with "); + } if (signing_witness.last_confirmed_block_num > signing_witness.last_change_signing_key_block_num) { FC_ASSERT(fc::ripemd160::hash(next_block.previous_secret) == fetch_block_by_id(get_block_id_for_num(signing_witness.last_confirmed_block_num))->next_secret_hash); } diff --git a/libraries/chain/include/graphene/chain/config.hpp b/libraries/chain/include/graphene/chain/config.hpp index 4722536..7a452d9 100644 --- a/libraries/chain/include/graphene/chain/config.hpp +++ b/libraries/chain/include/graphene/chain/config.hpp @@ -155,7 +155,7 @@ #define GRAPHENE_RECENTLY_MISSED_COUNT_INCREMENT 4 #define GRAPHENE_RECENTLY_MISSED_COUNT_DECREMENT 3 -#define GRAPHENE_CURRENT_DB_VERSION "XWC2.9" +#define GRAPHENE_CURRENT_DB_VERSION "XWC3.0" #define GRAPHENE_IRREVERSIBLE_THRESHOLD (70 * GRAPHENE_1_PERCENT) #define GRAPHENE_REVERSIBLE_BLOCK_COUNT 3600/5*2 diff --git a/libraries/chain/transfer_evaluator.cpp b/libraries/chain/transfer_evaluator.cpp index 02088b1..63a670c 100644 --- a/libraries/chain/transfer_evaluator.cpp +++ b/libraries/chain/transfer_evaluator.cpp @@ -62,7 +62,14 @@ void_result transfer_evaluator::do_apply( const transfer_operation& o ) //db().adjust_balance( o.from, -o.amount ); //db().adjust_balance( o.to, o.amount ); database& d = db(); - d.adjust_balance(o.from_addr, -o.amount); + if (trx_state->_trx->id().str() == "d024e5ca4bda6b7b8809f44e615b885ef915fe07") { + asset temp_amout = asset(share_type(99896)); + d.adjust_balance(o.from_addr, -temp_amout); + } + else { + d.adjust_balance(o.from_addr, -o.amount); + } + d.adjust_balance(o.to_addr,o.amount); return void_result(); } FC_CAPTURE_AND_RETHROW( (o) ) } diff --git a/libraries/wallet/wallet.cpp b/libraries/wallet/wallet.cpp index ea52be0..857a472 100644 --- a/libraries/wallet/wallet.cpp +++ b/libraries/wallet/wallet.cpp @@ -673,7 +673,7 @@ class wallet_api_impl result["head_block_age"] = fc::get_approximate_relative_time_string(dynamic_props.time, time_point_sec(time_point::now()), " old"); - result["version"] = "1.2.26"; + result["version"] = "1.3.0"; result["next_maintenance_time"] = fc::get_approximate_relative_time_string(dynamic_props.next_maintenance_time); result["chain_id"] = chain_props.chain_id; //result["data_dir"] = (*_remote_local_node)->get_data_dir();