VeChain
Explorer
Mainnet
Search
Networks
Main
Test
Contract
0x745001…27E1
Summary
Transactions
Transfers
Address
0x745001474aEe6f8dCA2Eae592F46D3a71C7227E1
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xa3568b1f8Eb9E56A01beAcAD660244BF46be18F5
Deployer
0xa3568b1f8Eb9E56A01beAcAD660244BF46be18F5
Code
0x6080604052600436106103335760003560e01c806379cc6790116101b0578063a9059cbb116100ec578063d505accf11610095578063ec35bef31161006f578063ec35bef314610a7d578063f1127ed814610a9d578063f23a6e6114610ae9578063f6ecbf0414610b2f57600080fd5b8063d505accf146109d8578063dd62ed3e146109f8578063e2ceba6414610a5d57600080fd5b8063bf7e214f116100c6578063bf7e214f1461095b578063c0c53b8b14610998578063c3cda520146109b857600080fd5b8063a9059cbb146108aa578063ad3cb1cc146108ca578063bc197c811461091357600080fd5b80638fb360371161015957806395d89b411161013357806395d89b4114610833578063966a23bd146108485780639ab24eb01461085d578063a9048d071461087d57600080fd5b80638fb36037146107c557806391ddadf4146107da578063950c78221461080657600080fd5b80638456cb591161018a5780638456cb591461076857806384b0196e1461077d5780638e539e8c146107a557600080fd5b806379cc6790146107085780637a9e5e4b146107285780637ecebe001461074857600080fd5b806340c10f191161027f5780635c19a95c116102285780636fcfff45116102025780636fcfff451461067e57806370a08231146106b357806371ca337d146106d357806371ca44aa146106e857600080fd5b80635c19a95c146106125780635c975abb14610632578063629bf8911461066957600080fd5b80634f1ef286116102595780634f1ef2861461057a57806352d1902d1461058d578063587cde1e146105a257600080fd5b806340c10f191461052557806342966c68146105455780634bf5d7e91461056557600080fd5b806318160ddd116102e15780633644e515116102bb5780633644e515146104db5780633a46b1a8146104f05780633f4ba83a1461051057600080fd5b806318160ddd1461046157806323b872dd1461049f578063313ce567146104bf57600080fd5b80630830a22e116103125780630830a22e146103b6578063095ea7b3146103cb578063150b7a02146103eb57600080fd5b806223de291461033857806301ffc9a71461035f57806306fdde0314610394575b600080fd5b34801561034457600080fd5b5061035d610353366004614ff2565b5050505050505050565b005b34801561036b57600080fd5b5061037f61037a3660046150a3565b610b44565b60405190151581526020015b60405180910390f35b3480156103a057600080fd5b506103a9610c29565b60405161038b9190615135565b3480156103c257600080fd5b5061035d610ce4565b3480156103d757600080fd5b5061037f6103e6366004615148565b610d0f565b3480156103f757600080fd5b50610430610406366004615174565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161038b565b34801561046d57600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b60405190815260200161038b565b3480156104ab57600080fd5b5061037f6104ba3660046151e7565b610d27565b3480156104cb57600080fd5b506040516012815260200161038b565b3480156104e757600080fd5b50610491610d4d565b3480156104fc57600080fd5b5061049161050b366004615148565b610d5c565b34801561051c57600080fd5b5061035d610e1f565b34801561053157600080fd5b5061035d610540366004615148565b610e36565b34801561055157600080fd5b5061035d610560366004615228565b610f25565b34801561057157600080fd5b506103a9610ffe565b61035d610588366004615288565b61108f565b34801561059957600080fd5b506104916110aa565b3480156105ae57600080fd5b506105fa6105bd366004615330565b6001600160a01b0390811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260409020541690565b6040516001600160a01b03909116815260200161038b565b34801561061e57600080fd5b5061035d61062d366004615330565b6110d9565b34801561063e57600080fd5b507fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1661037f565b34801561067557600080fd5b5061035d6110e4565b34801561068a57600080fd5b5061069e610699366004615330565b611337565b60405163ffffffff909116815260200161038b565b3480156106bf57600080fd5b506104916106ce366004615330565b611342565b3480156106df57600080fd5b50610491611387565b3480156106f457600080fd5b5061035d6107033660046153e0565b611427565b34801561071457600080fd5b5061035d610723366004615148565b6117c6565b34801561073457600080fd5b5061035d610743366004615330565b6119a4565b34801561075457600080fd5b50610491610763366004615330565b611a83565b34801561077457600080fd5b5061035d611a8e565b34801561078957600080fd5b50610792611a9f565b60405161038b97969594939291906154d7565b3480156107b157600080fd5b506104916107c0366004615228565b611b9b565b3480156107d157600080fd5b50610430611c42565b3480156107e657600080fd5b506107ef611cb7565b60405165ffffffffffff909116815260200161038b565b34801561081257600080fd5b50610826610821366004615330565b611cc1565b60405161038b9190615561565b34801561083f57600080fd5b506103a9611dbf565b34801561085457600080fd5b5061035d611e10565b34801561086957600080fd5b50610491610878366004615330565b611e9a565b34801561088957600080fd5b5061089d6108983660046155c2565b611f0c565b60405161038b91906155f7565b3480156108b657600080fd5b5061037f6108c5366004615148565b61205b565b3480156108d657600080fd5b506103a96040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b34801561091f57600080fd5b5061043061092e366004615677565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b34801561096757600080fd5b507ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b03166105fa565b3480156109a457600080fd5b5061035d6109b3366004615715565b612069565b3480156109c457600080fd5b5061035d6109d3366004615776565b61241c565b3480156109e457600080fd5b5061035d6109f33660046157d0565b6124e9565b348015610a0457600080fd5b50610491610a1336600461583e565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b348015610a6957600080fd5b5061035d610a78366004615330565b612674565b348015610a8957600080fd5b506000546105fa906001600160a01b031681565b348015610aa957600080fd5b50610abd610ab8366004615889565b6126b7565b60408051825165ffffffffffff1681526020928301516001600160d01b0316928101929092520161038b565b348015610af557600080fd5b50610430610b043660046158b7565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b348015610b3b57600080fd5b506105fa6126d5565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f150b7a02000000000000000000000000000000000000000000000000000000001480610bd757507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b80610c2357507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b606060007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b9050806003018054610c6090615933565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8c90615933565b8015610cd95780601f10610cae57610100808354040283529160200191610cd9565b820191906000526020600020905b815481529060010190602001808311610cbc57829003601f168201915b505050505091505090565b73adb13184e6cae2fa47a4ce3f94f4bd6b6bed08c56607124cc8408221610d0b828261276f565b5050565b600033610d1d8185856127be565b5060019392505050565b600033610d358582856127d0565b610d40858585612880565b60019150505b9392505050565b6000610d57612911565b905090565b60007fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0081610d88611cb7565b90508065ffffffffffff168410610de1576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff821660248201526044015b60405180910390fd5b610e0d610ded8561291b565b6001600160a01b038716600090815260018501602052604090209061296b565b6001600160d01b031695945050505050565b610e2c335b600036612a24565b610e34612bef565b565b610e3e612c61565b600080546040517fda88d5410000000000000000000000000000000000000000000000000000000081526001600160a01b0390911660048201523060248201526044810183905273f6d92a4ffa1e9b90b693884b89cf5024dfa50e7d9063da88d54190606401602060405180830381865af4158015610ec1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee5919061596d565b9050610ef18382612ce2565b610efb8384612d31565b50610d0b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b610f2d612c61565b6000546040517f85d9ba910000000000000000000000000000000000000000000000000000000081526001600160a01b0390911660048201523060248201523360448201526064810182905273f6d92a4ffa1e9b90b693884b89cf5024dfa50e7d906385d9ba919060840160006040518083038186803b158015610fb057600080fd5b505af4158015610fc4573d6000803e3d6000fd5b50505050610fd2338261276f565b610ffb60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b50565b6060611008612e43565b65ffffffffffff16611018611cb7565b65ffffffffffff1614611057576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b611097612e4e565b6110a082612f1e565b610d0b8282612f27565b60006110b4613028565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b33610d0b8183612d31565b600080546040517f627447040000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063627447049061115e9060040160208082526004908201527f6170707300000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa15801561117b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190615986565b90506000816001600160a01b031663c04cff196040518163ffffffff1660e01b8152600401600060405180830381865afa1580156111e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261120991908101906159a3565b90506000815167ffffffffffffffff81111561122757611227615241565b604051908082528060200260200182016040528015611250578160200160208202803683370190505b509050600061125e83611f0c565b905060005b83518110156112ab5783818151811061127e5761127e615a29565b602002602001015183828151811061129857611298615a29565b6020908102919091010152600101611263565b506000546040517f98c6b8a900000000000000000000000000000000000000000000000000000000815273ac40e9232b0c8ba6ca3145fde9d2347104215c92916398c6b8a99161130b916001600160a01b03169086908690600401615a3f565b60006040518083038186803b15801561132357600080fd5b505af4158015610353573d6000803e3d6000fd5b6000610c238261308a565b6000807f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b6001600160a01b0390931660009081526020939093525050604090205490565b600080546040517f61b614c30000000000000000000000000000000000000000000000000000000081526001600160a01b03909116600482015230602482015273f6d92a4ffa1e9b90b693884b89cf5024dfa50e7d906361b614c390604401602060405180830381865af4158015611403573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d57919061596d565b8051825114611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4c656e677468206d69736d6174636800000000000000000000000000000000006044820152606401610dd8565b3360009081527f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f836020908152604080832081518154938402810160609081018452928101848152909391928492849184018282801561151057602002820191906000526020600020905b8154815260200190600101908083116114fc575b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561156857602002820191906000526020600020905b815481526020019060010190808311611554575b505050505081525050905060005b815151811015611612578160200151818151811061159657611596615a29565b60200260200101516115c57f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f8390565b6001016000846000015184815181106115e0576115e0615a29565b6020026020010151815260200190815260200160002060008282546116059190615ae7565b9091555050600101611576565b506000805b83518110156116d15783818151811061163257611632615a29565b6020026020010151826116459190615afa565b915083818151811061165957611659615a29565b60200260200101516116887f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f8390565b600101600087848151811061169f5761169f615a29565b6020026020010151815260200190815260200160002060008282546116c49190615afa565b9091555050600101611617565b506116db33611342565b811115611744576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e73756666696369656e742062616c616e636520666f7220766f74696e67006044820152606401610dd8565b6040518060400160405280858152602001848152506117807f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f8390565b3360009081526020918252604090208251805191926117a492849290910190614f3d565b5060208281015180516117bd9260018501920190614f3d565b50505050505050565b6117ce612c61565b6001600160a01b03821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832033845290915290205481111561187a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4275726e20616d6f756e74206578636565647320616c6c6f77616e63650000006044820152606401610dd8565b6000546040517f85d9ba910000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015230602482015290831660448201526064810182905273f6d92a4ffa1e9b90b693884b89cf5024dfa50e7d906385d9ba919060840160006040518083038186803b1580156118ff57600080fd5b505af4158015611913573d6000803e3d6000fd5b50505050611921828261276f565b6001600160a01b03821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01602090815260408083203380855292529091205461197b918491611976908590615ae7565b6127be565b610d0b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b336119d67ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b0316816001600160a01b031614611a2b576040517f068ca9d80000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610dd8565b816001600160a01b03163b600003611a7a576040517fc2f31e5e0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610dd8565b610d0b826130ed565b6000610c2382613178565b611a9733610e24565b610e34613183565b600060608082808083817fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008054909150158015611ade57506001810154155b611b44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610dd8565b611b4c6131de565b611b5461322f565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009c939b5091995046985030975095509350915050565b60007fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0081611bc7611cb7565b90508065ffffffffffff168410611c1b576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff82166024820152604401610dd8565b611c31611c278561291b565b600284019061296b565b6001600160d01b0316949350505050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546000919074010000000000000000000000000000000000000000900460ff16611c8f576000611cb1565b7f8fb36037000000000000000000000000000000000000000000000000000000005b91505090565b6000610d57612e43565b604080518082018252606080825260208083018290526001600160a01b03851660009081527f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f83825284902084518154928302810184018652948501828152939493909284928491840182828015611d5757602002820191906000526020600020905b815481526020019060010190808311611d43575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015611daf57602002820191906000526020600020905b815481526020019060010190808311611d9b575b5050505050815250509050919050565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060917f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0091610c6090615933565b6000546040517fb3eb04060000000000000000000000000000000000000000000000000000000081526001600160a01b03909116600482015273ac40e9232b0c8ba6ca3145fde9d2347104215c929063b3eb04069060240160006040518083038186803b158015611e8057600080fd5b505af4158015611e94573d6000803e3d6000fd5b50505050565b6001600160a01b03811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d01602052604081207fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0090611efc90613259565b6001600160d01b03169392505050565b60606000825167ffffffffffffffff811115611f2a57611f2a615241565b604051908082528060200260200182016040528015611f53578160200160208202803683370190505b50905060005b83518110156120545760007f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f836001016000868481518110611f9c57611f9c615a29565b60200260200101518152602001908152602001600020549050600080611fe07f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b11611fec576000612023565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0254612019836064615b0d565b6120239190615b3a565b90508084848151811061203857612038615a29565b60ff909216602092830291909101909101525050600101611f59565b5092915050565b600033610d1d818585612880565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156120b45750825b905060008267ffffffffffffffff1660011480156120d15750303b155b9050811580156120df575080155b15612116576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156121775784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6121eb6040518060400160405280600681526020017f76654233545200000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f7665423354520000000000000000000000000000000000000000000000000000815250613295565b6121f36132a7565b6121fb6132af565b612204886132bf565b6122426040518060400160405280600681526020017f76654233545200000000000000000000000000000000000000000000000000008152506132d0565b61224a6132a7565b6122526132a7565b61225a613317565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03888116919091179091556040517f02571be30000000000000000000000000000000000000000000000000000000081527f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e26004820152908816906302571be390602401602060405180830381865afa158015612308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232c9190615986565b6040517f1e83409a0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039190911690631e83409a906024016020604051808303816000875af115801561238d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b1919061596d565b5083156103535784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050505050565b83421115612459576040517f4683af0e00000000000000000000000000000000000000000000000000000000815260048101859052602401610dd8565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590526000906124d3906124cb9060a00160405160208183030381529060405280519060200120613327565b85858561336f565b90506124df818761339d565b6117bd8188612d31565b83421115612526576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401610dd8565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886125928c6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006125ed82613327565b905060006125fd8287878761336f565b9050896001600160a01b0316816001600160a01b03161461265d576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401610dd8565b6126688a8a8a6127be565b50505050505050505050565b61267d33610e24565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6040805180820190915260008082526020820152610d468383613428565b600080546040517f539ff5a20000000000000000000000000000000000000000000000000000000081526001600160a01b03909116600482015273ac40e9232b0c8ba6ca3145fde9d2347104215c929063539ff5a290602401602060405180830381865af415801561274b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d579190615986565b6001600160a01b0382166127b2576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610dd8565b610d0b826000836134a5565b6127cb8383836001613519565b505050565b6001600160a01b0383811660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0160209081526040808320938616835292905220546000198114611e945781811015612871576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810182905260448101839052606401610dd8565b611e9484848484036000613519565b6001600160a01b0383166128c3576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610dd8565b6001600160a01b038216612906576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610dd8565b6127cb8383836134a5565b6000610d57613645565b600065ffffffffffff821115612967576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526030600482015260248101839052604401610dd8565b5090565b8154600090818160058111156129ca576000612986846136b9565b6129909085615ae7565b60008881526020902090915081015465ffffffffffff90811690871610156129ba578091506129c8565b6129c5816001615afa565b92505b505b60006129d8878785856137a1565b90508015612a16576129fd876129ef600184615ae7565b600091825260209091200190565b54660100000000000090046001600160d01b0316612a19565b60005b979650505050505050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00600080612a9a612a7c7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b8730612a8c600460008a8c615b5c565b612a9591615b86565b613803565b9150915081612be75763ffffffff811615612baa5782547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178355612b1d7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401612b4c93929190615bce565b600060405180830381600087803b158015612b6657600080fd5b505af1158015612b7a573d6000803e3d6000fd5b505084547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16855550612be79050565b6040517f068ca9d80000000000000000000000000000000000000000000000000000000081526001600160a01b0387166004820152602401610dd8565b505050505050565b612bf7613955565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080547ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01612cdc576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60029055565b6001600160a01b038216612d25576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610dd8565b610d0b600083836134a5565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006000612d95846001600160a01b0390811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260409020541690565b6001600160a01b0385811660008181526020869052604080822080547fffffffffffffffffffffffff000000000000000000000000000000000000000016898616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611e948184612e18876139b0565b6139bb565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6000610d574361291b565b306001600160a01b037f000000000000000000000000745001474aee6f8dca2eae592f46d3a71c7227e1161480612ee757507f000000000000000000000000745001474aee6f8dca2eae592f46d3a71c7227e16001600160a01b0316612edb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15610e34576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ffb33610e24565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612f81575060408051601f3d908101601f19168201909252612f7e9181019061596d565b60015b612fc2576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610dd8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461301e576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610dd8565b6127cb8383613b47565b306001600160a01b037f000000000000000000000000745001474aee6f8dca2eae592f46d3a71c7227e11614610e34576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0160205260408120547fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0090610d4690613b9d565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6000610c2382613be7565b61318b613c10565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612c43565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10091610c6090615933565b606060007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100610c4f565b8054600090801561328c57613273836129ef600184615ae7565b54660100000000000090046001600160d01b0316610d46565b60009392505050565b61329d613c6c565b610d0b8282613cd3565b610e34613c6c565b6132b7613c6c565b610e34613d36565b6132c7613c6c565b610ffb81613d69565b6132d8613c6c565b610ffb816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250613d7a565b61331f613c6c565b610e34613ded565b6000610c23613334612911565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060008061338188888888613df5565b9250925092506133918282613ec4565b50909695505050505050565b6001600160a01b03821660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052604090208054600181019091558181146127cb576040517f752d88c00000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604401610dd8565b604080518082018252600080825260208083018290526001600160a01b03861682527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d019052919091207fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d009061349d9084613fc8565b949350505050565b6134b083838361403b565b6001600160a01b038216158015906134ff57506001600160a01b0382811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00602052604090205416155b1561350e5761350e8283612d31565b6127cb8383836140da565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace006001600160a01b03851661357d576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610dd8565b6001600160a01b0384166135c0576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610dd8565b6001600160a01b0380861660009081526001830160209081526040808320938816835292905220839055811561363e57836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258560405161363591815260200190565b60405180910390a35b5050505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f613670614718565b613678614794565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000816000036136cb57506000919050565b600060016136d8846147ea565b901c6001901b905060018184816136f1576136f1615b24565b048201901c9050600181848161370957613709615b24565b048201901c9050600181848161372157613721615b24565b048201901c9050600181848161373957613739615b24565b048201901c9050600181848161375157613751615b24565b048201901c9050600181848161376957613769615b24565b048201901c9050600181848161378157613781615b24565b048201901c9050610d468182858161379b5761379b615b24565b0461487e565b60005b818310156137fb5760006137b88484614894565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156137e7578092506137f5565b6137f2816001615afa565b93505b506137a4565b509392505050565b6040516001600160a01b03848116602483015283811660448301527fffffffff000000000000000000000000000000000000000000000000000000008316606483015260009182918291829189169060840160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb700961300000000000000000000000000000000000000000000000000000000179052516138b89190615c0d565b600060405180830381855afa9150503d80600081146138f3576040519150601f19603f3d011682016040523d82523d6000602084013e6138f8565b606091505b5091509150811561394a57604081511061392a57808060200190518101906139209190615c39565b909450925061394a565b602081511061394a57808060200190518101906139479190615c65565b93505b505094509492505050565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16610e34576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610c2382611342565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006001600160a01b03848116908416148015906139f85750600082115b15611e94576001600160a01b03841615613aa2576001600160a01b038416600090815260018201602052604081208190613a3d906148af613a38876148bb565b614908565b6001600160d01b031691506001600160d01b03169150856001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613a97929190918252602082015260400190565b60405180910390a250505b6001600160a01b03831615611e94576001600160a01b038316600090815260018201602052604081208190613add90614941613a38876148bb565b6001600160d01b031691506001600160d01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b37929190918252602082015260400190565b60405180910390a2505050505050565b613b508261494d565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613b95576127cb82826149f5565b610d0b614a6b565b600063ffffffff821115612967576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526020600482015260248101839052604401610dd8565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00611367565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1615610e34576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610e34576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613cdb613c6c565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03613d278482615cc8565b5060048101611e948382615cc8565b613d3e613c6c565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff19169055565b613d71613c6c565b610ffb816130ed565b613d82613c6c565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102613dce8482615cc8565b5060038101613ddd8382615cc8565b5060008082556001909101555050565b612e1d613c6c565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115613e305750600091506003905082613eba565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015613e84573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613eb057506000925060019150829050613eba565b9250600091508190505b9450945094915050565b6000826003811115613ed857613ed8615d88565b03613ee1575050565b6001826003811115613ef557613ef5615d88565b03613f2c576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115613f4057613f40615d88565b03613f7a576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610dd8565b6003826003811115613f8e57613f8e615d88565b03610d0b576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610dd8565b6040805180820190915260008082526020820152826000018263ffffffff1681548110613ff757613ff7615a29565b60009182526020918290206040805180820190915291015465ffffffffffff81168252660100000000000090046001600160d01b0316918101919091529392505050565b614046838383614aa3565b6001600160a01b0383166140cf57600061407e7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b90506001600160d01b03808211156140cc576040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610dd8565b50505b6127cb838383614ab6565b6001600160a01b038316158015906140fa57506001600160a01b03821615155b156127cb576001600160a01b03831660009081527f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f836020908152604080832081518154938402810160609081018452928101848152909391928492849184018282801561418657602002820191906000526020600020905b815481526020019060010190808311614172575b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156141de57602002820191906000526020600020905b8154815260200190600101908083116141ca575b505050505081525050905060006142127f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f8390565b6001600160a01b0385166000908152602091825260409081902081518154606094810282018501845292810183815290939192849284919084018282801561427957602002820191906000526020600020905b815481526020019060010190808311614265575b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156142d157602002820191906000526020600020905b8154815260200190600101908083116142bd575b50505050508152505090506000805b836020015151811015614320578360200151818151811061430357614303615a29565b6020026020010151826143169190615afa565b91506001016142e0565b5060005b8360200151518110156144905760008261433e8782615ae7565b8660200151848151811061435457614354615a29565b60200260200101516143669190615b0d565b6143709190615b3a565b90508460200151828151811061438857614388615a29565b60200260200101516143b77f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f8390565b6001016000876000015185815181106143d2576143d2615a29565b6020026020010151815260200190815260200160002060008282546143f79190615ae7565b92505081905550808560200151838151811061441557614415615a29565b6020908102919091010152807f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f8360010160008760000151858151811061445d5761445d615a29565b6020026020010151815260200190815260200160002060008282546144829190615afa565b909155505050600101614324565b506001600160a01b03861660009081527f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f83602090815260409091208451805186936144df928492910190614f3d565b5060208281015180516144f89260018501920190614f3d565b509050506000805b836020015151811015614540578360200151818151811061452357614523615a29565b6020026020010151826145369190615afa565b9150600101614500565b5060005b8360200151518110156146b05760008261455e8882615afa565b8660200151848151811061457457614574615a29565b60200260200101516145869190615b0d565b6145909190615b3a565b9050846020015182815181106145a8576145a8615a29565b60200260200101516145d77f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f8390565b6001016000876000015185815181106145f2576145f2615a29565b6020026020010151815260200190815260200160002060008282546146179190615ae7565b92505081905550808560200151838151811061463557614635615a29565b6020908102919091010152807f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f8360010160008760000151858151811061467d5761467d615a29565b6020026020010151815260200190815260200160002060008282546146a29190615afa565b909155505050600101614544565b506001600160a01b03861660009081527f8f77e2d2311249e66ae0768e0a6f4d7f3047816ea4be5bc9062446700ade3f83602090815260409091208451805186936146ff928492910190614f3d565b5060208281015180516126689260018501920190614f3d565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100816147446131de565b80519091501561475c57805160209091012092915050565b8154801561476b579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100816147c061322f565b8051909150156147d857805160209091012092915050565b6001820154801561476b579392505050565b600080608083901c156147ff57608092831c92015b604083901c1561481157604092831c92015b602083901c1561482357602092831c92015b601083901c1561483557601092831c92015b600883901c1561484757600892831c92015b600483901c1561485957600492831c92015b600283901c1561486b57600292831c92015b600183901c15610c235760010192915050565b600081831061488d5781610d46565b5090919050565b60006148a36002848418615b3a565b610d4690848416615afa565b6000610d468284615d9e565b60006001600160d01b03821115612967576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260d0600482015260248101839052604401610dd8565b600080614934614916611cb7565b61492c61492288613259565b868863ffffffff16565b879190614b70565b915091505b935093915050565b6000610d468284615dbe565b806001600160a01b03163b60000361499c576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610dd8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051614a129190615c0d565b600060405180830381855af49150503d8060008114614a4d576040519150601f19603f3d011682016040523d82523d6000602084013e614a52565b606091505b5091509150614a62858383614b7e565b95945050505050565b3415610e34576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614aab613c10565b6127cb838383614bf3565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006001600160a01b038416614afb57614af881600201614941613a38856148bb565b50505b6001600160a01b038316614b1f57614b1c816002016148af613a38856148bb565b50505b6001600160a01b0384811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006020526040808220548684168352912054611e94929182169116846139bb565b600080614934858585614d5c565b606082614b9357614b8e82614efb565b610d46565b8151158015614baa57506001600160a01b0384163b155b15614bec576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610dd8565b5080610d46565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace006001600160a01b038416614c415781816002016000828254614c369190615afa565b90915550614ccc9050565b6001600160a01b03841660009081526020829052604090205482811015614cad576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024810182905260448101849052606401610dd8565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b038316614cea576002810180548390039055614d09565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051614d4e91815260200190565b60405180910390a350505050565b825460009081908015614e9d576000614d7a876129ef600185615ae7565b60408051808201909152905465ffffffffffff80821680845266010000000000009092046001600160d01b031660208401529192509087161015614dea576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805165ffffffffffff808816911603614e395784614e0d886129ef600186615ae7565b80546001600160d01b039290921666010000000000000265ffffffffffff909216919091179055614e8d565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d815291909120945191519092166601000000000000029216919091179101555b6020015192508391506149399050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a8152918220955192519093166601000000000000029190931617920191909155905081614939565b805115614f0b5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828054828255906000526020600020908101928215614f78579160200282015b82811115614f78578251825591602001919060010190614f5d565b506129679291505b808211156129675760008155600101614f80565b6001600160a01b0381168114610ffb57600080fd5b60008083601f840112614fbb57600080fd5b50813567ffffffffffffffff811115614fd357600080fd5b602083019150836020828501011115614feb57600080fd5b9250929050565b60008060008060008060008060c0898b03121561500e57600080fd5b883561501981614f94565b9750602089013561502981614f94565b9650604089013561503981614f94565b955060608901359450608089013567ffffffffffffffff8082111561505d57600080fd5b6150698c838d01614fa9565b909650945060a08b013591508082111561508257600080fd5b5061508f8b828c01614fa9565b999c989b5096995094979396929594505050565b6000602082840312156150b557600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d4657600080fd5b60005b838110156151005781810151838201526020016150e8565b50506000910152565b600081518084526151218160208601602086016150e5565b601f01601f19169290920160200192915050565b602081526000610d466020830184615109565b6000806040838503121561515b57600080fd5b823561516681614f94565b946020939093013593505050565b60008060008060006080868803121561518c57600080fd5b853561519781614f94565b945060208601356151a781614f94565b935060408601359250606086013567ffffffffffffffff8111156151ca57600080fd5b6151d688828901614fa9565b969995985093965092949392505050565b6000806000606084860312156151fc57600080fd5b833561520781614f94565b9250602084013561521781614f94565b929592945050506040919091013590565b60006020828403121561523a57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561528057615280615241565b604052919050565b6000806040838503121561529b57600080fd5b82356152a681614f94565b915060208381013567ffffffffffffffff808211156152c457600080fd5b818601915086601f8301126152d857600080fd5b8135818111156152ea576152ea615241565b6152fc84601f19601f84011601615257565b9150808252878482850101111561531257600080fd5b80848401858401376000848284010152508093505050509250929050565b60006020828403121561534257600080fd5b8135610d4681614f94565b600067ffffffffffffffff82111561536757615367615241565b5060051b60200190565b600082601f83011261538257600080fd5b813560206153976153928361534d565b615257565b8083825260208201915060208460051b8701019350868411156153b957600080fd5b602086015b848110156153d557803583529183019183016153be565b509695505050505050565b600080604083850312156153f357600080fd5b823567ffffffffffffffff8082111561540b57600080fd5b61541786838701615371565b935060209150818501358181111561542e57600080fd5b85019050601f8101861361544157600080fd5b803561544f6153928261534d565b81815260059190911b8201830190838101908883111561546e57600080fd5b928401925b8284101561548c57833582529284019290840190615473565b80955050505050509250929050565b60008151808452602080850194506020840160005b838110156154cc578151875295820195908201906001016154b0565b509495945050505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e06020820152600061551260e0830189615109565b82810360408401526155248189615109565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152615553818561549b565b9a9950505050505050505050565b6020808252825160408383015280516060840181905260009291820190839060808601905b808310156155a65783518252928401926001929092019190840190615586565b5092860151858403601f1901604087015292612a19818561549b565b6000602082840312156155d457600080fd5b813567ffffffffffffffff8111156155eb57600080fd5b61349d84828501615371565b6020808252825182820181905260009190848201906040850190845b8181101561339157835160ff1683529284019291840191600101615613565b60008083601f84011261564457600080fd5b50813567ffffffffffffffff81111561565c57600080fd5b6020830191508360208260051b8501011115614feb57600080fd5b60008060008060008060008060a0898b03121561569357600080fd5b883561569e81614f94565b975060208901356156ae81614f94565b9650604089013567ffffffffffffffff808211156156cb57600080fd5b6156d78c838d01615632565b909850965060608b01359150808211156156f057600080fd5b6156fc8c838d01615632565b909650945060808b013591508082111561508257600080fd5b60008060006060848603121561572a57600080fd5b833561573581614f94565b9250602084013561574581614f94565b9150604084013561575581614f94565b809150509250925092565b803560ff8116811461577157600080fd5b919050565b60008060008060008060c0878903121561578f57600080fd5b863561579a81614f94565b955060208701359450604087013593506157b660608801615760565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a0312156157eb57600080fd5b87356157f681614f94565b9650602088013561580681614f94565b9550604088013594506060880135935061582260808901615760565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561585157600080fd5b823561585c81614f94565b9150602083013561586c81614f94565b809150509250929050565b63ffffffff81168114610ffb57600080fd5b6000806040838503121561589c57600080fd5b82356158a781614f94565b9150602083013561586c81615877565b60008060008060008060a087890312156158d057600080fd5b86356158db81614f94565b955060208701356158eb81614f94565b94506040870135935060608701359250608087013567ffffffffffffffff81111561591557600080fd5b61592189828a01614fa9565b979a9699509497509295939492505050565b600181811c9082168061594757607f821691505b60208210810361596757634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561597f57600080fd5b5051919050565b60006020828403121561599857600080fd5b8151610d4681614f94565b600060208083850312156159b657600080fd5b825167ffffffffffffffff8111156159cd57600080fd5b8301601f810185136159de57600080fd5b80516159ec6153928261534d565b81815260059190911b82018301908381019087831115615a0b57600080fd5b928401925b82841015612a1957835182529284019290840190615a10565b634e487b7160e01b600052603260045260246000fd5b6000606082016001600160a01b03861683526020606081850152818651808452608086019150828801935060005b81811015615a8957845183529383019391830191600101615a6d565b50508481036040860152855180825290820192508186019060005b81811015615ac357825160ff1685529383019391830191600101615aa4565b509298975050505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610c2357610c23615ad1565b80820180821115610c2357610c23615ad1565b8082028115828204841417610c2357610c23615ad1565b634e487b7160e01b600052601260045260246000fd5b600082615b5757634e487b7160e01b600052601260045260246000fd5b500490565b60008085851115615b6c57600080fd5b83861115615b7957600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015615bc65780818660040360031b1b83161692505b505092915050565b6001600160a01b038416815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251615c1f8184602087016150e5565b9190910192915050565b8051801515811461577157600080fd5b60008060408385031215615c4c57600080fd5b615c5583615c29565b9150602083015161586c81615877565b600060208284031215615c7757600080fd5b610d4682615c29565b601f8211156127cb576000816000526020600020601f850160051c81016020861015615ca95750805b601f850160051c820191505b81811015612be757828155600101615cb5565b815167ffffffffffffffff811115615ce257615ce2615241565b615cf681615cf08454615933565b84615c80565b602080601f831160018114615d2b5760008415615d135750858301515b600019600386901b1c1916600185901b178555612be7565b600085815260208120601f198616915b82811015615d5a57888601518255948401946001909101908401615d3b565b5085821015615d785787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b6001600160d01b0382811682821603908082111561205457612054615ad1565b6001600160d01b0381811683821601908082111561205457612054615ad156fea26469706673582212205522c65b592961de089e7956272ae71c83e8f832eccfc347aac7a782c3641fe464736f6c63430008180033