61018060405234801561001157600080fd5b50604051612e73380380612e73833981016040819052610030916109a5565b604080518082018252600580825264105b9d9a5b60da1b60208084018290528451808601865260018152603160f81b818301528551808701875293845283820192909252845180860190955260048552631053959360e21b908501529192600361009a8382610a7f565b5060046100a78282610a7f565b506100b791508390506005610197565b610120526100c6816006610197565b61014052815160208084019190912060e052815190820120610100524660a05261015360e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b0382166101605261017482826101ca565b6101903382610181610209565b61018b9190610b54565b6101ca565b5050610d3b565b60006020835110156101b3576101ac8361022b565b90506101c4565b816101be8482610a7f565b5060ff90505b92915050565b6001600160a01b0382166101f95760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b61020560008383610269565b5050565b60006102176012600a610c4b565b6102269064174876e800610c57565b905090565b600080829050601f81511115610256578260405163305a27a960e01b81526004016101f09190610c6e565b805161026182610cbd565b179392505050565b6102748383836102d9565b6001600160a01b0383166102c957600061028d60025490565b90506000610299610209565b9050808211156102c657604051630e58ae9360e11b815260048101839052602481018290526044016101f0565b50505b6102d4838383610403565b505050565b6001600160a01b0383166103045780600260008282546102f99190610ce1565b909155506103769050565b6001600160a01b038316600090815260208190526040902054818110156103575760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016101f0565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610392576002805482900390556103b1565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516103f691815260200190565b60405180910390a3505050565b610160516001600160a01b0380821690851603610498576001600160a01b0383166000908152600a60205260409020548015610461576104438382610b54565b6001600160a01b0385166000908152600a6020526040902055610492565b6104928483610488826001600160a01b039081166000908152600860205260409020541690565b86600160006104e9565b506104e3565b6104e3846104be816001600160a01b039081166000908152600860205260409020541690565b6001600160a01b038087166000908152600860205260409020541685600160006104e9565b50505050565b60008083156104fc57508390508061055e565b6001600160a01b038089166000908152600a60205260409020549087811690891603610537578361052e576000610530565b805b915061055c565b6105418187610ce1565b915083610557576105528682610ce1565b610559565b855b92505b505b610160516001600160a01b0388161580159061057957508215155b80156105975750806001600160a01b0316886001600160a01b031614155b15610627576001600160a01b0388166000908152600960209081526040822082916105d491906106f2901b610871176105cf88610705565b61073d565b6001600160d01b031691506001600160d01b03169150896001600160a01b0316600080516020612e53833981519152838360405161061c929190918252602082015260400190565b60405180910390a250505b6001600160a01b0387161580159061063e57508115155b801561065c5750806001600160a01b0316876001600160a01b031614155b156106e7576001600160a01b0387166000908152600960209081526040822082916106949190610773901b61087d176105cf87610705565b6001600160d01b031691506001600160d01b03169150886001600160a01b0316600080516020612e5383398151915283836040516106dc929190918252602082015260400190565b60405180910390a250505b505050505050505050565b60006106fe8284610cf4565b9392505050565b60006001600160d01b03821115610739576040516306dfcc6560e41b815260d06004820152602481018390526044016101f0565b5090565b60008061076661074b61077f565b61075e61075788610789565b868860201c565b8791906107d3565b915091505b935093915050565b60006106fe8284610d1b565b60006102266107e1565b805460009080156107ca576107b1836107a3600184610b54565b600091825260209091200190565b54660100000000000090046001600160d01b03166106fe565b60009392505050565b6000806107668585856107ec565b600061022643610972565b82546000908190801561091457600061080a876107a3600185610b54565b60408051808201909152905465ffffffffffff80821680845266010000000000009092046001600160d01b03166020840152919250908716101561086157604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036108b05784610884886107a3600186610b54565b80546001600160d01b039290921666010000000000000265ffffffffffff909216919091179055610904565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d815291909120945191519092166601000000000000029216919091179101555b60200151925083915061076b9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316660100000000000002919093161792019190915590508161076b565b600065ffffffffffff821115610739576040516306dfcc6560e41b815260306004820152602481018390526044016101f0565b600080604083850312156109b857600080fd5b82516001600160a01b03811681146109cf57600080fd5b6020939093015192949293505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680610a0957607f821691505b602082108103610a2957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156102d4576000816000526020600020601f850160051c81016020861015610a585750805b601f850160051c820191505b81811015610a7757828155600101610a64565b505050505050565b81516001600160401b03811115610a9857610a986109df565b610aac81610aa684546109f5565b84610a2f565b602080601f831160018114610ae15760008415610ac95750858301515b600019600386901b1c1916600185901b178555610a77565b600085815260208120601f198616915b82811015610b1057888601518255948401946001909101908401610af1565b5085821015610b2e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b818103818111156101c4576101c4610b3e565b600181815b80851115610ba2578160001904821115610b8857610b88610b3e565b80851615610b9557918102915b93841c9390800290610b6c565b509250929050565b600082610bb9575060016101c4565b81610bc6575060006101c4565b8160018114610bdc5760028114610be657610c02565b60019150506101c4565b60ff841115610bf757610bf7610b3e565b50506001821b6101c4565b5060208310610133831016604e8410600b8410161715610c25575081810a6101c4565b610c2f8383610b67565b8060001904821115610c4357610c43610b3e565b029392505050565b60006106fe8383610baa565b80820281158282048414176101c4576101c4610b3e565b60006020808352835180602085015260005b81811015610c9c57858101830151858201604001528201610c80565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015610a295760001960209190910360031b1b16919050565b808201808211156101c4576101c4610b3e565b6001600160d01b03828116828216039080821115610d1457610d14610b3e565b5092915050565b6001600160d01b03818116838216019080821115610d1457610d14610b3e565b60805160a05160c05160e05161010051610120516101405161016051612097610dbc60003960008181610232015281816107b501528181610c340152818161140901526116f601526000610ad201526000610aa5015260006111530152600061112b01526000611086015260006110b0015260006110da01526120976000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80637ecebe00116100c3578063a79507981161007c578063a795079814610336578063a9059cbb14610356578063c3cda52014610369578063dd62ed3e1461037c578063f1127ed8146103b5578063f9270965146103f457600080fd5b80637ecebe00146102a557806384b0196e146102ce5780638e539e8c146102e957806391ddadf4146102fc57806395d89b411461031b5780639ab24eb01461032357600080fd5b80634bf5d7e9116101155780634bf5d7e9146101e5578063587cde1e146101ed5780635c19a95c1461021857806366345da41461022d5780636fcfff451461025457806370a082311461027c57600080fd5b806306fdde031461015d578063095ea7b31461017b57806318160ddd1461019e57806323b872dd146101b0578063313ce567146101c35780633a46b1a8146101d2575b600080fd5b610165610407565b6040516101729190611b0f565b60405180910390f35b61018e610189366004611b3e565b610499565b6040519015158152602001610172565b6002545b604051908152602001610172565b61018e6101be366004611b68565b6104b3565b60405160128152602001610172565b6101a26101e0366004611b3e565b6104d7565b61016561055d565b6102006101fb366004611ba4565b6105d5565b6040516001600160a01b039091168152602001610172565b61022b610226366004611ba4565b6105f3565b005b6102007f000000000000000000000000000000000000000000000000000000000000000081565b610267610262366004611ba4565b610602565b60405163ffffffff9091168152602001610172565b6101a261028a366004611ba4565b6001600160a01b031660009081526020819052604090205490565b6101a26102b3366004611ba4565b6001600160a01b031660009081526007602052604090205490565b6102d661060d565b6040516101729796959493929190611bbf565b6101a26102f7366004611c58565b610653565b61030461065d565b60405165ffffffffffff9091168152602001610172565b61016561066c565b6101a2610331366004611ba4565b61067b565b6101a2610344366004611ba4565b600a6020526000908152604090205481565b61018e610364366004611b3e565b6106ab565b61022b610377366004611c71565b6106b9565b6101a261038a366004611cd1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6103c86103c3366004611d04565b610776565b60408051825165ffffffffffff1681526020928301516001600160d01b03169281019290925201610172565b61022b610402366004611d44565b61079b565b60606003805461041690611dce565b80601f016020809104026020016040519081016040528092919081815260200182805461044290611dce565b801561048f5780601f106104645761010080835404028352916020019161048f565b820191906000526020600020905b81548152906001019060200180831161047257829003601f168201915b5050505050905090565b6000336104a7818585610889565b60019150505b92915050565b6000336104c185828561089b565b6104cc858585610919565b506001949350505050565b6000806104e261065d565b90508065ffffffffffff16831061052257604051637669fc0f60e11b81526004810184905265ffffffffffff821660248201526044015b60405180910390fd5b61054c61052e84610978565b6001600160a01b0386166000908152600960205260409020906109af565b6001600160d01b0316949350505050565b6060610567610a65565b65ffffffffffff1661057761065d565b65ffffffffffff161461059d576040516301bfc1c560e61b815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6001600160a01b039081166000908152600860205260409020541690565b336105fe8183610a70565b5050565b60006104ad82610a7c565b600060608060008060006060610621610a9e565b610629610acb565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60006104ad610af8565b6000610667610a65565b905090565b60606004805461041690611dce565b6001600160a01b038116600090815260096020526040812061069c90610b15565b6001600160d01b031692915050565b6000336104a7818585610919565b834211156106dd57604051632341d78760e11b815260048101859052602401610519565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590526000906107579061074f9060a00160405160208183030381529060405280519060200120610b4e565b858585610b7b565b90506107638187610ba9565b61076d8188610a70565b50505050505050565b60408051808201909152600080825260208201526107948383610bfc565b9392505050565b60405163d03dd46760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d03dd467906107f0903390889088908890600401611e08565b6020604051808303816000875af115801561080f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108339190611e5a565b9050801561085e57336000818152600a6020526040902085905561085990866001610c32565b61086a565b61086a33866000610c32565b5050505050565b60006107948284611e89565b60006107948284611eb0565b6108968383836001610d13565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610913578181101561090457604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610519565b61091384848484036000610d13565b50505050565b6001600160a01b03831661094357604051634b637e8f60e11b815260006004820152602401610519565b6001600160a01b03821661096d5760405163ec442f0560e01b815260006004820152602401610519565b610896838383610de8565b600065ffffffffffff8211156109ab576040516306dfcc6560e41b81526030600482015260248101839052604401610519565b5090565b815460009081816005811115610a0e5760006109ca84610e53565b6109d49085611ed0565b60008881526020902090915081015465ffffffffffff90811690871610156109fe57809150610a0c565b610a09816001611ee3565b92505b505b6000610a1c87878585610f3b565b90508015610a5757610a4187610a33600184611ed0565b600091825260209091200190565b54600160301b90046001600160d01b0316610a5a565b60005b979650505050505050565b600061066743610978565b6105fe82826000610c32565b6001600160a01b0381166000908152600960205260408120546104ad90610f9d565b60606106677f00000000000000000000000000000000000000000000000000000000000000006005610fce565b60606106677f00000000000000000000000000000000000000000000000000000000000000006006610fce565b6000610b066012600a611fda565b6106679064174876e800611fe6565b80546000908015610b4557610b2f83610a33600184611ed0565b54600160301b90046001600160d01b0316610794565b60009392505050565b60006104ad610b5b611079565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610b8d888888886111a4565b925092509250610b9d8282611269565b50909695505050505050565b6001600160a01b0382166000908152600760205260409020805460018101909155818114610896576040516301d4b62360e61b81526001600160a01b038416600482015260248101829052604401610519565b60408051808201909152600080825260208201526001600160a01b03831660009081526009602052604090206107949083611322565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610c84576040516388c1cda960e01b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081205490610ca7856105d5565b6001600160a01b0386811660008181526008602052604080822080546001600160a01b0319168a8616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a461086a85828685600088611392565b6001600160a01b038416610d3d5760405163e602df0560e01b815260006004820152602401610519565b6001600160a01b038316610d6757604051634a1406b160e11b815260006004820152602401610519565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561091357826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610dda91815260200190565b60405180910390a350505050565b610df38383836115ca565b6001600160a01b038316610e48576000610e0c60025490565b90506000610e18610af8565b905080821115610e4557604051630e58ae9360e11b81526004810183905260248101829052604401610519565b50505b6108968383836116f4565b600081600003610e6557506000919050565b60006001610e72846117ad565b901c6001901b90506001818481610e8b57610e8b611ffd565b048201901c90506001818481610ea357610ea3611ffd565b048201901c90506001818481610ebb57610ebb611ffd565b048201901c90506001818481610ed357610ed3611ffd565b048201901c90506001818481610eeb57610eeb611ffd565b048201901c90506001818481610f0357610f03611ffd565b048201901c90506001818481610f1b57610f1b611ffd565b048201901c905061079481828581610f3557610f35611ffd565b04611841565b60005b81831015610f95576000610f528484611857565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115610f8157809250610f8f565b610f8c816001611ee3565b93505b50610f3e565b509392505050565b600063ffffffff8211156109ab576040516306dfcc6560e41b81526020600482015260248101839052604401610519565b606060ff8314610fe857610fe183611872565b90506104ad565b818054610ff490611dce565b80601f016020809104026020016040519081016040528092919081815260200182805461102090611dce565b801561106d5780601f106110425761010080835404028352916020019161106d565b820191906000526020600020905b81548152906001019060200180831161105057829003601f168201915b505050505090506104ad565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156110d257507f000000000000000000000000000000000000000000000000000000000000000046145b156110fc57507f000000000000000000000000000000000000000000000000000000000000000090565b610667604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600080806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038411156111d5575060009150600390508261125f565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611229573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112555750600092506001915082905061125f565b9250600091508190505b9450945094915050565b600082600381111561127d5761127d612013565b03611286575050565b600182600381111561129a5761129a612013565b036112b85760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156112cc576112cc612013565b036112ed5760405163fce698f760e01b815260048101829052602401610519565b600382600381111561130157611301612013565b036105fe576040516335e2f38360e21b815260048101829052602401610519565b6040805180820190915260008082526020820152826000018263ffffffff168154811061135157611351612029565b60009182526020918290206040805180820190915291015465ffffffffffff81168252600160301b90046001600160d01b0316918101919091529392505050565b60008083156113a5575083905080611407565b6001600160a01b038089166000908152600a602052604090205490878116908916036113e057836113d75760006113d9565b805b9150611405565b6113ea8187611ee3565b915083611400576113fb8682611ee3565b611402565b855b92505b505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0388161580159061143f57508215155b801561145d5750806001600160a01b0316886001600160a01b031614155b156114f6576001600160a01b038816600090815260096020526040812081906114919061087161148c886118b1565b6118e5565b6001600160d01b031691506001600160d01b03169150896001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516114eb929190918252602082015260400190565b60405180910390a250505b6001600160a01b0387161580159061150d57508115155b801561152b5750806001600160a01b0316876001600160a01b031614155b156115bf576001600160a01b0387166000908152600960205260408120819061155a9061087d61148c876118b1565b6001600160d01b031691506001600160d01b03169150886001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516115b4929190918252602082015260400190565b60405180910390a250505b505050505050505050565b6001600160a01b0383166115f55780600260008282546115ea9190611ee3565b909155506116679050565b6001600160a01b038316600090815260208190526040902054818110156116485760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610519565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216611683576002805482900390556116a2565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116e791815260200190565b60405180910390a3505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b038082169085160361178d576001600160a01b0383166000908152600a6020526040902054801561176f576117518382611ed0565b6001600160a01b0385166000908152600a6020526040902055611787565b611787848361177d876105d5565b8660016000611392565b50610913565b6109138461179a866105d5565b6117a3866105d5565b8560016000611392565b600080608083901c156117c257608092831c92015b604083901c156117d457604092831c92015b602083901c156117e657602092831c92015b601083901c156117f857601092831c92015b600883901c1561180a57600892831c92015b600483901c1561181c57600492831c92015b600283901c1561182e57600292831c92015b600183901c156104ad5760010192915050565b60008183106118505781610794565b5090919050565b6000611866600284841861203f565b61079490848416611ee3565b6060600061187f8361191e565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160d01b038211156109ab576040516306dfcc6560e41b815260d0600482015260248101839052604401610519565b6000806119116118f361065d565b6119096118ff88610b15565b868863ffffffff16565b879190611946565b915091505b935093915050565b600060ff8216601f8111156104ad57604051632cd44ac360e21b815260040160405180910390fd5b600080611911858585825460009081908015611a6e57600061196d87610a33600185611ed0565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b0316602084015291925090871610156119c157604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff808816911603611a0d57846119e488610a33600186611ed0565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611a5e565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506119169050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081611916565b6000815180845260005b81811015611aef57602081850181015186830182015201611ad3565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006107946020830184611ac9565b80356001600160a01b0381168114611b3957600080fd5b919050565b60008060408385031215611b5157600080fd5b611b5a83611b22565b946020939093013593505050565b600080600060608486031215611b7d57600080fd5b611b8684611b22565b9250611b9460208501611b22565b9150604084013590509250925092565b600060208284031215611bb657600080fd5b61079482611b22565b60ff60f81b881681526000602060e06020840152611be060e084018a611ac9565b8381036040850152611bf2818a611ac9565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611c4657835183529284019291840191600101611c2a565b50909c9b505050505050505050505050565b600060208284031215611c6a57600080fd5b5035919050565b60008060008060008060c08789031215611c8a57600080fd5b611c9387611b22565b95506020870135945060408701359350606087013560ff81168114611cb757600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215611ce457600080fd5b611ced83611b22565b9150611cfb60208401611b22565b90509250929050565b60008060408385031215611d1757600080fd5b611d2083611b22565b9150602083013563ffffffff81168114611d3957600080fd5b809150509250929050565b60008060008060608587031215611d5a57600080fd5b611d6385611b22565b935060208501359250604085013567ffffffffffffffff80821115611d8757600080fd5b818701915087601f830112611d9b57600080fd5b813581811115611daa57600080fd5b8860208260051b8501011115611dbf57600080fd5b95989497505060200194505050565b600181811c90821680611de257607f821691505b602082108103611e0257634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b038516815260208101849052606060408201819052810182905260006001600160fb1b03831115611e3f57600080fd5b8260051b808560808501379190910160800195945050505050565b600060208284031215611e6c57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6001600160d01b03828116828216039080821115611ea957611ea9611e73565b5092915050565b6001600160d01b03818116838216019080821115611ea957611ea9611e73565b818103818111156104ad576104ad611e73565b808201808211156104ad576104ad611e73565b600181815b80851115611f31578160001904821115611f1757611f17611e73565b80851615611f2457918102915b93841c9390800290611efb565b509250929050565b600082611f48575060016104ad565b81611f55575060006104ad565b8160018114611f6b5760028114611f7557611f91565b60019150506104ad565b60ff841115611f8657611f86611e73565b50506001821b6104ad565b5060208310610133831016604e8410600b8410161715611fb4575081810a6104ad565b611fbe8383611ef6565b8060001904821115611fd257611fd2611e73565b029392505050565b60006107948383611f39565b80820281158282048414176104ad576104ad611e73565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008261205c57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220033a59fdbdf8138d40cddf95bb8ee589e2c95acb9e8d16e861a00a169d39195464736f6c63430008190033dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72400000000000000000000000037112b6f3a4be1985cf2916e160daed6b5f98dba0000000000000000000000000000000000000001027e72f1f128130880000000