wemix-logo
WEMIX3.0 Testnet Explorer

Address

0x5f571937b089d1389ce442264d726e304b22eddb
Contract Name
N/A
Optimization Enabled
No
Compiler Version
N/A
EVM Version
N/A
License
N/A
Audited
No
Contract Security Audit
No contract security audit has been submitted
Submit Audit
Contract Creation Code
0x60806040526004361061036e5760003560e01c80637cad6cd1116101c6578063bd8711f5116100f7578063e357415a11610095578063f2fde38b1161006f578063f2fde38b14610997578063f3995c67146109b7578063f8c8765e146109ca578063fc6f7865146109ea576103c1565b8063e357415a1461095c578063e985e9c514610964578063eed51e4a14610984576103c1565b8063c45a0155116100d1578063c45a015514610901578063c87b56dd14610916578063cbd946ac14610936578063df2ab5bb14610949576103c1565b8063bd8711f5146108b9578063bff1f9e1146108d9578063c2e3140a146108ee576103c1565b806399fbab8811610164578063a4a78f0c1161013e578063a4a78f0c14610851578063a7b23b3914610864578063ac9650d814610879578063b88d4fde14610899576103c1565b806399fbab88146107cb578063a22cb46514610803578063a3b261f214610823576103c1565b80638da5cb5b116101a05780638da5cb5b1461076c5780638e8b0e151461078157806390646b4a1461079657806395d89b41146107b6576103c1565b80637cad6cd1146107095780637ecad9db146107295780638831645614610749576103c1565b806330adf81f116102a05780635528f2b91161023e5780636c0360eb116102185780636c0360eb146106ac57806370a08231146106c1578063715018a6146106e15780637ac2ff7b146106f6576103c1565b80635528f2b9146106555780636352211e1461066a578063673a2a1f1461068a576103c1565b806342966c681161027a57806342966c68146105ed5780634659a494146106005780634ce272ee146106135780634f6ccce714610635576103c1565b806330adf81f146105a35780633644e515146105b857806342842e0e146105cd576103c1565b806313ead5621161030d578063219f5d17116102e7578063219f5d171461052157806323b872dd146105435780632bbccc5d146105635780632f745c5914610583576103c1565b806313ead562146104cc57806314ca4752146104df57806318160ddd1461050c576103c1565b8063081812fc11610349578063081812fc1461044b578063095ea7b31461046b5780630a7215dd1461048b5780630c49ccbe146104ab576103c1565b8062ba7197146103c657806301ffc9a7146103fc57806306fdde0314610429576103c1565b366103c15760fb546001600160a01b031633146103bf576040805162461bcd60e51b815260206004820152600a60248201526909cdee840aeae8a9a92b60b31b604482015290519081900360640190fd5b005b600080fd5b3480156103d257600080fd5b506103e66103e1366004617519565b6109fd565b6040516103f3919061773e565b60405180910390f35b34801561040857600080fd5b5061041c610417366004616f56565b610ad3565b6040516103f391906178de565b34801561043557600080fd5b5061043e610af6565b6040516103f39190617918565b34801561045757600080fd5b506103e6610466366004617428565b610b8c565b34801561047757600080fd5b506103bf610486366004616e05565b610bd7565b34801561049757600080fd5b506103bf6104a636600461749f565b610cad565b6104be6104b9366004617084565b610d18565b6040516103f3929190617b75565b6103e66104da366004616cb2565b610e48565b3480156104eb57600080fd5b506104ff6104fa366004616be7565b610f88565b6040516103f391906178e9565b34801561051857600080fd5b506104ff610fbb565b61053461052f366004617106565b610fcc565b6040516103f393929190617b30565b34801561054f57600080fd5b506103bf61055e366004616cf2565b6110d8565b34801561056f57600080fd5b506104ff61057e366004617519565b61112f565b34801561058f57600080fd5b506104ff61059e366004616e05565b611142565b3480156105af57600080fd5b506104ff61116d565b3480156105c457600080fd5b506104ff611191565b3480156105d957600080fd5b506103bf6105e8366004616cf2565b611213565b6103bf6105fb366004617428565b61122e565b6103bf61060e366004616e71565b6112ed565b34801561061f57600080fd5b50610628611387565b6040516103f39190617b83565b34801561064157600080fd5b506104ff610650366004617428565b61139e565b34801561066157600080fd5b506103e66113b4565b34801561067657600080fd5b506103e6610685366004617428565b6113c4565b34801561069657600080fd5b5061069f6113ec565b6040516103f39190617814565b3480156106b857600080fd5b5061043e611513565b3480156106cd57600080fd5b506104ff6106dc366004616be7565b611518565b3480156106ed57600080fd5b506103bf611580565b6103bf610704366004616e71565b61162c565b34801561071557600080fd5b506103bf610724366004616be7565b611a1e565b34801561073557600080fd5b5061043e610744366004616f7e565b611aa3565b61075c610757366004617239565b611bcc565b6040516103f39493929190617b51565b34801561077857600080fd5b506103e6611cdd565b34801561078d57600080fd5b506103e6611cec565b3480156107a257600080fd5b506103bf6107b1366004616be7565b611cfb565b3480156107c257600080fd5b5061043e611d80565b3480156107d757600080fd5b506107eb6107e6366004617428565b611de1565b6040516103f39c9b9a99989796959493929190617b97565b34801561080f57600080fd5b506103bf61081e366004616dd8565b612000565b34801561082f57600080fd5b5061084361083e366004616be7565b612105565b6040516103f3929190617887565b6103bf61085f366004616e71565b61235a565b34801561087057600080fd5b506103e66123f3565b61088c610887366004616ecc565b612403565b6040516103f39190617827565b3480156108a557600080fd5b506103bf6108b4366004616d32565b612542565b3480156108c557600080fd5b506104ff6108d4366004617428565b6125a0565b3480156108e557600080fd5b506104ff612692565b6103bf6108fc366004616e71565b612699565b34801561090d57600080fd5b506103e6612728565b34801561092257600080fd5b5061043e610931366004617428565b612737565b6103bf610944366004617458565b612c37565b6103bf610957366004616e30565b612d70565b6103bf612e48565b34801561097057600080fd5b5061041c61097f366004616c1f565b612e5a565b6103bf610992366004617458565b612e88565b3480156109a357600080fd5b506103bf6109b2366004616be7565b612fc0565b6103bf6109c5366004616e71565b6130c3565b3480156109d657600080fd5b506103bf6109e5366004616c57565b613135565b6104be6109f8366004616ff9565b6132ae565b60006001600160501b038216610a2e5760405162461bcd60e51b8152600401610a25906179a8565b60405180910390fd5b610130546001600160501b03600160b01b909104811690831610610a645760405162461bcd60e51b8152600401610a259061792b565b6001600160501b038216600090815261012d6020908152604091829020825160608101845281546001600160a01b03908116825260019092015480831693820193909352600160a01b90920462ffffff169282019290925260fa549091610acc911682613385565b9392505050565b6001600160e01b0319811660009081526065602052604090205460ff165b919050565b609c8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b825780601f10610b5757610100808354040283529160200191610b82565b820191906000526020600020905b815481529060010190602001808311610b6557829003601f168201915b5050505050905090565b6000610b9782613464565b610bb35760405162461bcd60e51b8152600401610a25906179d2565b50600090815261012f6020526040902054600160601b90046001600160a01b031690565b6000610be2826113c4565b9050806001600160a01b0316836001600160a01b03161415610c355760405162461bcd60e51b8152600401808060200182810382526021815260200180617f886021913960400191505060405180910390fd5b806001600160a01b0316610c47613471565b6001600160a01b03161480610c635750610c638161097f613471565b610c9e5760405162461bcd60e51b8152600401808060200182810382526038815260200180617e646038913960400191505060405180910390fd5b610ca88383613475565b505050565b6000610cbb82840184617189565b60fa548151919250610cd8916001600160a01b03909116906134ec565b508415610cf3578051516020820151610cf39190338861350f565b8315610d1157610d118160000151602001518260200151338761350f565b5050505050565b6000808235610d27338261364d565b610d435760405162461bcd60e51b8152600401610a2590617954565b836080013580610d516136f1565b1115610d9a576040805162461bcd60e51b8152602060048201526013602482015272151c985b9cd858dd1a5bdb881d1bdbc81bdb19606a1b604482015290519081900360640190fd5b61013254604051633371bfff60e01b81526001600160a01b0390911690633371bfff90610dcb90339060040161773e565b60206040518083038186803b158015610de357600080fd5b505afa158015610df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1b9190616f3a565b15610e2557600080fd5b610e3c610e3736879003870187617095565b6136f5565b935093505b5050915091565b61013254604051633371bfff60e01b81526000916001600160a01b031690633371bfff90610e7a90339060040161773e565b60206040518083038186803b158015610e9257600080fd5b505afa158015610ea6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eca9190616f3a565b15610ed457600080fd5b610edc613471565b6001600160a01b0316610eed611cdd565b6001600160a01b031614610f36576040805162461bcd60e51b81526020600482018190526024820152600080516020617f3f833981519152604482015290519081900360640190fd5b610f4285858585613a40565b9050610f7f816040518060600160405280886001600160a01b03168152602001876001600160a01b031681526020018662ffffff16815250613cdc565b50949350505050565b6001600160a01b0316600090815261012c60209081526040808320546001600160501b0316835261012e90915290205490565b6000610fc76098613dc2565b905090565b60008060008360a0013580610fdf6136f1565b1115611028576040805162461bcd60e51b8152602060048201526013602482015272151c985b9cd858dd1a5bdb881d1bdbc81bdb19606a1b604482015290519081900360640190fd5b61013254604051633371bfff60e01b81526001600160a01b0390911690633371bfff9061105990339060040161773e565b60206040518083038186803b15801561107157600080fd5b505afa158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a99190616f3a565b156110b357600080fd5b6110ca6110c536879003870187617117565b613dcd565b935093509350509193909250565b6110e96110e3613471565b8261364d565b6111245760405162461bcd60e51b8152600401808060200182810382526031815260200180617fa96031913960400191505060405180910390fd5b610ca883838361408a565b6101356020526000908152604090205481565b6001600160a01b038216600090815260976020526040812061116490836141d6565b90505b92915050565b7f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad81565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60c95460ca546111c26141e2565b3060405160200180868152602001858152602001848152602001838152602001826001600160a01b031681526020019550505050505060405160208183030381529060405280519060200120905090565b610ca883838360405180602001604052806000815250612542565b80611239338261364d565b6112555760405162461bcd60e51b8152600401610a2590617954565b61013254604051633371bfff60e01b81526001600160a01b0390911690633371bfff9061128690339060040161773e565b60206040518083038186803b15801561129e57600080fd5b505afa1580156112b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d69190616f3a565b156112e057600080fd5b6112e9826141e6565b5050565b604080516323f2ebc360e21b815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e4810183905290516001600160a01b03881691638fcbaf0c9161010480830192600092919082900301818387803b15801561136757600080fd5b505af115801561137b573d6000803e3d6000fd5b50505050505050505050565b61013054600160b01b90046001600160501b031681565b6000806113ac60988461432a565b509392505050565b610137546001600160a01b031681565b600061116782604051806060016040528060298152602001617ec66029913960989190614348565b610130546060906000196001600160501b03600160b01b909204821601166001600160401b038111801561141f57600080fd5b50604051908082528060200260200182016040528015611449578160200160208202803683370190505b50905060015b610130546001600160501b03600160b01b9091048116908216101561150f576001600160501b038116600090815261012d6020908152604091829020825160608101845281546001600160a01b03908116825260019092015480831693820193909352600160a01b90920462ffffff169282019290925260fa5490916114d6911682613385565b83600184036001600160501b0316815181106114ee57fe5b6001600160a01b03909216602092830291909101909101525060010161144f565b5090565b606090565b60006001600160a01b03821661155f5760405162461bcd60e51b815260040180806020018281038252602a815260200180617e9c602a913960400191505060405180910390fd5b6001600160a01b038216600090815260976020526040902061116790613dc2565b611588613471565b6001600160a01b0316611599611cdd565b6001600160a01b0316146115e2576040805162461bcd60e51b81526020600482018190526024820152600080516020617f3f833981519152604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b836116356136f1565b1115611679576040805162461bcd60e51b815260206004820152600e60248201526d14195c9b5a5d08195e1c1a5c995960921b604482015290519081900360640190fd5b6000611683611191565b7f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad88886116af81614355565b604080516020808201969096526001600160a01b03909416848201526060840192909252608083015260a08083018a90528151808403909101815260c08301825280519084012061190160f01b60e084015260e283019490945261010280830194909452805180830390940184526101229091019052815191012090506000611737876113c4565b9050806001600160a01b0316886001600160a01b0316141561178a5760405162461bcd60e51b8152600401808060200182810382526027815260200180617dc76027913960400191505060405180910390fd5b6117938161438b565b156118fb576040805160208082018790528183018690526001600160f81b031960f889901b1660608301528251604181840301815260618301808552630b135d3f60e11b90526065830186815260858401948552815160a585015281516001600160a01b03871695631626ba7e958995919260c59091019185019080838360005b8381101561182c578181015183820152602001611814565b50505050905090810190601f1680156118595780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561187757600080fd5b505afa15801561188b573d6000803e3d6000fd5b505050506040513d60208110156118a157600080fd5b50516001600160e01b031916630b135d3f60e11b146118f6576040805162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b611a0a565b600060018387878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611957573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166119b3576040805162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b604482015290519081900360640190fd5b816001600160a01b0316816001600160a01b031614611a08576040805162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b505b611a148888613475565b5050505050505050565b611a26613471565b6001600160a01b0316611a37611cdd565b6001600160a01b031614611a80576040805162461bcd60e51b81526020600482018190526024820152600080516020617f3f833981519152604482015290519081900360640190fd5b61013180546001600160a01b0319166001600160a01b0392909216919091179055565b60606000836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611ae057600080fd5b505afa158015611af4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b1c9190810190616f90565b90506000836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611b5957600080fd5b505afa158015611b6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b959190810190616f90565b9050611b9f610af6565b8282604051602001611bb3939291906176df565b6040516020818303038152906040529250505092915050565b60008060008084610140013580611be16136f1565b1115611c2a576040805162461bcd60e51b8152602060048201526013602482015272151c985b9cd858dd1a5bdb881d1bdbc81bdb19606a1b604482015290519081900360640190fd5b61013254604051633371bfff60e01b81526001600160a01b0390911690633371bfff90611c5b90339060040161773e565b60206040518083038186803b158015611c7357600080fd5b505afa158015611c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cab9190616f3a565b15611cb557600080fd5b611ccc611cc73688900388018861724b565b614391565b94509450945094505b509193509193565b6033546001600160a01b031690565b60fb546001600160a01b031681565b611d03613471565b6001600160a01b0316611d14611cdd565b6001600160a01b031614611d5d576040805162461bcd60e51b81526020600482018190526024820152600080516020617f3f833981519152604482015290519081900360640190fd5b61013780546001600160a01b0319166001600160a01b0392909216919091179055565b609d8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b825780601f10610b5757610100808354040283529160200191610b82565b600081815261012f6020908152604080832081516101608101835281546001600160601b03811682526001600160a01b03600160601b909104169381019390935260018101546001600160501b038116928401839052600160501b8104600290810b810b810b6060860152600160681b8204810b810b810b60808601526001600160801b03600160801b92839004811660a08701529083015460c0860152600383015460e086015260048301548082166101008701529190910416610120840152600501546101408301528291829182918291829182918291829182918291829190611edf5760405162461bcd60e51b8152600401610a25906179a8565b600061012d600083604001516001600160501b03166001600160501b031681526020019081526020016000206040518060600160405290816000820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016001820160149054906101000a900462ffffff1662ffffff1662ffffff1681525050905081600001518260200151826000015183602001518460400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001519d509d509d509d509d509d509d509d509d509d509d509d50505091939597999b5091939597999b565b612008613471565b6001600160a01b0316826001600160a01b0316141561206e576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80609b600061207b613471565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff1916921515929092179091556120bf613471565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b606080600061211384611518565b9050806001600160401b038111801561212b57600080fd5b50604051908082528060200260200182016040528015612155578160200160208202803683370190505b509250806001600160401b038111801561216e57600080fd5b50604051908082528060200260200182016040528015612198578160200160208202803683370190505b50915060005b81811015610e415760006121b28683611142565b9050808583815181106121c157fe5b602090810291909101810191909152600082815261012f825260409081902081516101608101835281546001600160601b03811682526001600160a01b03600160601b909104169381019390935260018101546001600160501b038116928401839052600160501b8104600290810b810b810b6060860152600160681b8204810b810b810b60808601526001600160801b03600160801b92839004811660a08701529083015460c0860152600383015460e086015260048301548082166101008701529190910416610120840152600501546101408301526122b55760405162461bcd60e51b8152600401610a25906179a8565b6040818101516001600160501b0316600090815261012d602090815290829020825160608101845281546001600160a01b03908116825260019092015480831693820193909352600160a01b90920462ffffff169282019290925260fa549091612320911682613385565b86858151811061232c57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505050505080600101905061219e565b60408051636eb1769f60e11b81523360048201523060248201529051600019916001600160a01b0389169163dd62ed3e91604480820192602092909190829003018186803b1580156123ab57600080fd5b505afa1580156123bf573d6000803e3d6000fd5b505050506040513d60208110156123d557600080fd5b505110156123eb576123eb8686868686866112ed565b505050505050565b610132546001600160a01b031681565b6060816001600160401b038111801561241b57600080fd5b5060405190808252806020026020018201604052801561244f57816020015b606081526020019060019003908161243a5790505b50905060005b8281101561253b576000803086868581811061246d57fe5b905060200281019061247f9190617c31565b60405161248d9291906176cf565b600060405180830381855af49150503d80600081146124c8576040519150601f19603f3d011682016040523d82523d6000602084013e6124cd565b606091505b509150915081612519576044815110156124e657600080fd5b600481019050808060200190518101906125009190616f90565b60405162461bcd60e51b8152600401610a259190617918565b8084848151811061252657fe5b60209081029190910101525050600101612455565b5092915050565b61255361254d613471565b8361364d565b61258e5760405162461bcd60e51b8152600401808060200182810382526031815260200180617fa96031913960400191505060405180910390fd5b61259a84848484614955565b50505050565b600081815261012f6020908152604080832081516101608101835281546001600160601b03811682526001600160a01b03600160601b909104169381019390935260018101546001600160501b038116928401839052600160501b8104600290810b810b810b6060860152600160681b8204810b810b810b60808601526001600160801b03600160801b92839004811660a08701529083015460c0860152600383015460e086015260048301548082166101008701529190910416610120840152600501546101408301526126875760405162461bcd60e51b8152600401610a25906179a8565b610140015192915050565b6101335481565b60408051636eb1769f60e11b8152336004820152306024820152905186916001600160a01b0389169163dd62ed3e91604480820192602092909190829003018186803b1580156126e857600080fd5b505afa1580156126fc573d6000803e3d6000fd5b505050506040513d602081101561271257600080fd5b505110156123eb576123eb8686868686866130c3565b60fa546001600160a01b031681565b606061274282613464565b61274b57600080fd5b6000806000806000306001600160a01b03166399fbab88886040518263ffffffff1660e01b815260040161277f91906178e9565b6101806040518083038186803b15801561279857600080fd5b505afa1580156127ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d0919061755c565b5050505050965096509650965096505050600061288e306001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561281f57600080fd5b505afa158015612833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128579190616c03565b6040518060600160405280896001600160a01b03168152602001886001600160a01b031681526020018762ffffff16815250613385565b610137546040516339d6fe8b60e11b815291925060009182916001600160a01b0316906373adfd16906128c79086908e906004016177fb565b604080518083038186803b1580156128de57600080fd5b505afa1580156128f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612916919061747c565b915091506000876001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561295557600080fd5b505afa158015612969573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061298d9190617540565b61013754604051630681320d60e51b815260ff92909216600a0a916001600160a01b039091169063d02641a0906129c8908c9060040161773e565b60206040518083038186803b1580156129e057600080fd5b505afa1580156129f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a189190617440565b830281612a2157fe5b04896001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612a5b57600080fd5b505afa158015612a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a939190617540565b61013754604051630681320d60e51b815260ff92909216600a0a916001600160a01b039091169063d02641a090612ace908e9060040161773e565b60206040518083038186803b158015612ae657600080fd5b505afa158015612afa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b1e9190617440565b850281612b2757fe5b0401905061013160009054906101000a90046001600160a01b03166001600160a01b03166391bddb65604051806101200160405280876001600160a01b031681526020018c6001600160a01b031681526020018b6001600160a01b031681526020018a62ffffff1681526020018960020b81526020018860020b8152602001868152602001858152602001848152508d6040518363ffffffff1660e01b8152600401612bd4929190617a94565b60006040518083038186803b158015612bec57600080fd5b505afa158015612c00573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612c289190810190616f90565b9b9a5050505050505050505050565b60fb54604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015612c8257600080fd5b505afa158015612c96573d6000803e3d6000fd5b505050506040513d6020811015612cac57600080fd5b5051905082811015612cfb576040805162461bcd60e51b8152602060048201526013602482015272092dce6eaccccd2c6d2cadce840aeae8a9a92b606b1b604482015290519081900360640190fd5b8015610ca85760fb5460408051632e1a7d4d60e01b81526004810184905290516001600160a01b0390921691632e1a7d4d9160248082019260009290919082900301818387803b158015612d4e57600080fd5b505af1158015612d62573d6000803e3d6000fd5b50505050610ca882826149a7565b6000836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612dbf57600080fd5b505afa158015612dd3573d6000803e3d6000fd5b505050506040513d6020811015612de957600080fd5b5051905082811015612e37576040805162461bcd60e51b815260206004820152601260248201527124b739bab33334b1b4b2b73a103a37b5b2b760711b604482015290519081900360640190fd5b801561259a5761259a848383614a96565b4715612e5857612e5833476149a7565b565b6001600160a01b039182166000908152609b6020908152604080832093909416825291909152205460ff1690565b4782811015612ed3576040805162461bcd60e51b8152602060048201526012602482015271092dce6eaccccd2c6d2cadce840ae8a9a92b60731b604482015290519081900360640190fd5b8015610ca85760fb60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f2957600080fd5b505af1158015612f3d573d6000803e3d6000fd5b505060fb546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216945063a9059cbb9350604480830193506020928290030181600087803b158015612f9657600080fd5b505af1158015612faa573d6000803e3d6000fd5b505050506040513d6020811015610d1157600080fd5b612fc8613471565b6001600160a01b0316612fd9611cdd565b6001600160a01b031614613022576040805162461bcd60e51b81526020600482018190526024820152600080516020617f3f833981519152604482015290519081900360640190fd5b6001600160a01b0381166130675760405162461bcd60e51b8152600401808060200182810382526026815260200180617da16026913960400191505060405180910390fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b6040805163d505accf60e01b8152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c4810183905290516001600160a01b0388169163d505accf9160e480830192600092919082900301818387803b15801561136757600080fd5b600054610100900460ff168061314e575061314e614bdd565b8061315c575060005460ff16155b6131975760405162461bcd60e51b815260040180806020018281038252602e815260200180617eef602e913960400191505060405180910390fd5b600054610100900460ff161580156131c2576000805460ff1961ff0019909116610100171660011790555b6131ca614bee565b61322a6040518060400160405280601a81526020017f57657377617020563320506f736974696f6e73204e46542d56310000000000008152506040518060400160405280600981526020016857452d56332d504f5360b81b815250614ca0565b6132826040518060400160405280601a81526020017f57657377617020563320506f736974696f6e73204e46542d5631000000000000815250604051806040016040528060018152602001603160f81b815250614d5d565b61328c8585614e17565b6132968383614eea565b8015610d11576000805461ff00191690555050505050565b60008082356132bd338261364d565b6132d95760405162461bcd60e51b8152600401610a2590617954565b61013254604051633371bfff60e01b81526001600160a01b0390911690633371bfff9061330a90339060040161773e565b60206040518083038186803b15801561332257600080fd5b505afa158015613336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061335a9190616f3a565b1561336457600080fd5b61337b61337636869003860186617010565b614fe2565b9250925050915091565b600081602001516001600160a01b031682600001516001600160a01b0316106133ad57600080fd5b50805160208083015160409384015184516001600160a01b0394851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301206001600160f81b031960a085015294901b6001600160601b03191660a183015260b58201939093527fca48321e8cb140e37a7d7ce66e055e7927429b4343c8fd9fb0dccadc72829bd560d5808301919091528251808303909101815260f5909101909152805191012090565b600061116760988361544a565b3390565b600081815261012f6020526040902080546001600160601b0316600160601b6001600160a01b0385169081029190911790915581906134b3826113c4565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006134f88383613385565b9050336001600160a01b0382161461116757600080fd5b60fb546001600160a01b03858116911614801561352c5750804710155b156136205760fb60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561358157600080fd5b505af1158015613595573d6000803e3d6000fd5b505060fb546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216945063a9059cbb9350604480830193506020928290030181600087803b1580156135ee57600080fd5b505af1158015613602573d6000803e3d6000fd5b505050506040513d602081101561361857600080fd5b5061259a9050565b6001600160a01b0383163014156136415761363c848383614a96565b61259a565b61259a84848484615456565b600061365882613464565b6136935760405162461bcd60e51b815260040180806020018281038252602c815260200180617e38602c913960400191505060405180910390fd5b600061369e836113c4565b9050806001600160a01b0316846001600160a01b031614806136d95750836001600160a01b03166136ce84610b8c565b6001600160a01b0316145b806136e957506136e98185612e5a565b949350505050565b4290565b600080600083602001516001600160801b03161161371257600080fd5b8251600090815261012f6020908152604090912060018101549185015190916001600160801b03600160801b9091048116911681101561375157600080fd5b6001828101546001600160501b0316600090815261012d60209081526040808320815160608101835281546001600160a01b039081168252919095015480821693860193909352600160a01b90920462ffffff169084015260fa546137b7911683613385565b6001850154602089015160405163a34123a760e01b81529293506001600160a01b0384169263a34123a79261380692600160501b8204600290810b93600160681b909304900b916004016178f2565b6040805180830381600087803b15801561381f57600080fd5b505af1158015613833573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613857919061747c565b604089015191975095508610801590613874575086606001518510155b6138905760405162461bcd60e51b8152600401610a259061797a565b60018401546000906138b9903090600160501b8104600290810b91600160681b9004900b6155a6565b9050600080836001600160a01b031663514ea4bf846040518263ffffffff1660e01b81526004016138ea91906178e9565b60a06040518083038186803b15801561390257600080fd5b505afa158015613916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061393a9190617336565b5050925092505061395f87600201548303876001600160801b0316600160801b6155f7565b6004880180546001600160801b03198116928c016001600160801b0391821601811692909217905560038801546139a091908303908816600160801b6155f7565b6004880180546001600160801b03808216938c01600160801b928390048216018116820293909317909155600289018490556003890183905560208c015160018a0180548416828b039094169092029290921790558a5160405190917f26f6a048ee9138f2c0ce266f322cb99228e8d619ae2bff30c67f8dcf9d2377b491613a2c91908d908d90617b30565b60405180910390a250505050505050915091565b6000836001600160a01b0316856001600160a01b031610613a6057600080fd5b60fa5460408051630b4c774160e11b81526001600160a01b038881166004830152878116602483015262ffffff8716604483015291519190921691631698ee82916064808301926020929190829003018186803b158015613ac057600080fd5b505afa158015613ad4573d6000803e3d6000fd5b505050506040513d6020811015613aea57600080fd5b505190506001600160a01b038116613bf55760fa546040805163a167129560e01b81526001600160a01b038881166004830152878116602483015262ffffff871660448301529151919092169163a16712959160648083019260209291908290030181600087803b158015613b5e57600080fd5b505af1158015613b72573d6000803e3d6000fd5b505050506040513d6020811015613b8857600080fd5b50516040805163f637731d60e01b81526001600160a01b03858116600483015291519293509083169163f637731d9160248082019260009290919082900301818387803b158015613bd857600080fd5b505af1158015613bec573d6000803e3d6000fd5b505050506136e9565b6000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b158015613c3057600080fd5b505afa158015613c44573d6000803e3d6000fd5b505050506040513d60e0811015613c5a57600080fd5b505190506001600160a01b038116610f7f57816001600160a01b031663f637731d846040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015613cbb57600080fd5b505af1158015613ccf573d6000803e3d6000fd5b5050505050949350505050565b6001600160a01b038216600090815261012c60205260409020546001600160501b0316806111675750610130805460016001600160501b03600160b01b8084048216838101909216026001600160b01b03909316929092179092556001600160a01b03808516600090815261012c60209081526040808320805469ffffffffffffffffffff19168617905584835261012d825291829020865181549085166001600160a01b031991821617825591870151950180549287015162ffffff16600160a01b0262ffffff60a01b19969094169290911691909117939093161790915592915050565b6000611167826156a6565b8051600090815261012f602090815260408083206001808201546001600160501b038116865261012d855283862084516060808201875282546001600160a01b039081168352929094015480831682890190815262ffffff600160a01b9092048216838901908152885161014081018a528451861681529151909416818a0152925116828701523082850152600160501b8304600290810b810b608080850191909152600160681b909404810b900b60a08301529588015160c08201529387015160e085015290860151610100840152850151610120830152839283928390613eb5906156aa565b600187015493995091975095509150600090613ee8903090600160501b8104600290810b91600160681b9004900b6155a6565b9050600080836001600160a01b031663514ea4bf846040518263ffffffff1660e01b8152600401613f1991906178e9565b60a06040518083038186803b158015613f3157600080fd5b505afa158015613f45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f699190617336565b50509250925050613fa5866002015483038760010160109054906101000a90046001600160801b03166001600160801b0316600160801b6155f7565b6004870180546001600160801b0380821690930183166001600160801b031990911617905560038701546001880154613fec9291840391600160801b9182900416906155f7565b6004870180546001600160801b03600160801b80830482169094018116840291811691909117909155600288018490556003880183905560018801805483810483168d0183169093029290911691909117905589516040517f3067048beee31b25b2f1681f88dac838c8bba36af25bfb2b7cf7473a5847e35f90614075908c908c908c90617b30565b60405180910390a25050505050509193909250565b826001600160a01b031661409d826113c4565b6001600160a01b0316146140e25760405162461bcd60e51b8152600401808060200182810382526029815260200180617f5f6029913960400191505060405180910390fd5b6001600160a01b0382166141275760405162461bcd60e51b8152600401808060200182810382526024815260200180617dee6024913960400191505060405180910390fd5b614132838383610ca8565b61413d600082613475565b6001600160a01b038316600090815260976020526040902061415f90826158b7565b506001600160a01b038216600090815260976020526040902061418290826158c3565b5061418f609882846158cf565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061116483836158e5565b4690565b600081815261012f602052604090206001810154600160801b90046001600160801b0316158015614222575060048101546001600160801b0316155b801561424057506004810154600160801b90046001600160801b0316155b61425c5760405162461bcd60e51b8152600401610a2590617a2f565b600180820154600084815261012f602052604081208181559283018190556002830181905560038301819055600483018190556005909201919091556001600160501b03166142aa83615949565b33600090815261013460205260409020805460001901908190556142d45761013380546000190190555b6001600160501b038116600090815261013660209081526040808320338452909152902080546000190190819055610ca8576001600160501b031660009081526101356020526040902080546000190190555050565b60008080806143398686615a16565b909450925050505b9250929050565b60006136e9848484615a91565b600090815261012f6020526040902080546001600160601b0319811660016001600160601b039283169081019092161790915590565b3b151590565b600080600080600061443260405180610140016040528088600001516001600160a01b0316815260200188602001516001600160a01b03168152602001886040015162ffffff168152602001306001600160a01b03168152602001886060015160020b8152602001886080015160020b81526020018860a0015181526020018860c0015181526020018860e0015181526020018861010001518152506156aa565b6101208a015161013080546001600160b01b0319811660016001600160b01b03928316908101909216179091559950939750919550935091506144759086615b5b565b600061448a30886060015189608001516155a6565b9050600080836001600160a01b031663514ea4bf846040518263ffffffff1660e01b81526004016144bb91906178e9565b60a06040518083038186803b1580156144d357600080fd5b505afa1580156144e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061450b9190617336565b50509250925050600061455b8560405180606001604052808d600001516001600160a01b031681526020018d602001516001600160a01b031681526020018d6040015162ffffff16815250613cdc565b9050600161012e6000836001600160501b03166001600160501b031681526020019081526020016000206000828254019250508190555060405180610160016040528060006001600160601b0316815260200160006001600160a01b03168152602001826001600160501b031681526020018b6060015160020b81526020018b6080015160020b8152602001896001600160801b0316815260200184815260200183815260200160006001600160801b0316815260200160006001600160801b031681526020014381525061012f60008b815260200190815260200160002060008201518160000160006101000a8154816001600160601b0302191690836001600160601b03160217905550602082015181600001600c6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a8154816001600160501b0302191690836001600160501b03160217905550606082015181600101600a6101000a81548162ffffff021916908360020b62ffffff160217905550608082015181600101600d6101000a81548162ffffff021916908360020b62ffffff16021790555060a08201518160010160106101000a8154816001600160801b0302191690836001600160801b0316021790555060c0820151816002015560e082015181600301556101008201518160040160006101000a8154816001600160801b0302191690836001600160801b031602179055506101208201518160040160106101000a8154816001600160801b0302191690836001600160801b031602179055506101408201518160050155905050887f3067048beee31b25b2f1681f88dac838c8bba36af25bfb2b7cf7473a5847e35f8989896040516147f093929190617b30565b60405180910390a26101208a0180516001600160a01b039081166000908152610134602052604080822080546001908101909155935190921681522054141561483e57610133805460010190555b60016101366000836001600160501b03166001600160501b0316815260200190815260200160002060008c61012001516001600160a01b03166001600160a01b03168152602001908152602001600020600082825401925050819055506101366000826001600160501b03166001600160501b0316815260200190815260200160002060008b61012001516001600160a01b03166001600160a01b031681526020019081526020016000205460011415614913576001600160501b038116600090815261013560205260409020805460010190555b6040516001600160a01b038616908a907ff3cea5493d790af0133817606f7350a91d7f154ea52eaa79d179d4d231e5010290600090a350505050509193509193565b61496084848461408a565b61496c84848484615c89565b61259a5760405162461bcd60e51b8152600401808060200182810382526032815260200180617d6f6032913960400191505060405180910390fd5b604080516000808252602082019092526001600160a01b0384169083906040518082805190602001908083835b602083106149f35780518252601f1990920191602091820191016149d4565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114614a55576040519150601f19603f3d011682016040523d82523d6000602084013e614a5a565b606091505b5050905080610ca8576040805162461bcd60e51b815260206004820152600360248201526253544560e81b604482015290519081900360640190fd5b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310614b125780518252601f199092019160209182019101614af3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114614b74576040519150601f19603f3d011682016040523d82523d6000602084013e614b79565b606091505b5091509150818015614ba7575080511580614ba75750808060200190516020811015614ba457600080fd5b50515b610d11576040805162461bcd60e51b815260206004820152600260248201526114d560f21b604482015290519081900360640190fd5b6000614be83061438b565b15905090565b600054610100900460ff1680614c075750614c07614bdd565b80614c15575060005460ff16155b614c505760405162461bcd60e51b815260040180806020018281038252602e815260200180617eef602e913960400191505060405180910390fd5b600054610100900460ff16158015614c7b576000805460ff1961ff0019909116610100171660011790555b614c83615df1565b614c8b615e91565b8015614c9d576000805461ff00191690555b50565b600054610100900460ff1680614cb95750614cb9614bdd565b80614cc7575060005460ff16155b614d025760405162461bcd60e51b815260040180806020018281038252602e815260200180617eef602e913960400191505060405180910390fd5b600054610100900460ff16158015614d2d576000805460ff1961ff0019909116610100171660011790555b614d35615df1565b614d3d615f8a565b614d478383616027565b8015610ca8576000805461ff0019169055505050565b600054610100900460ff1680614d765750614d76614bdd565b80614d84575060005460ff16155b614dbf5760405162461bcd60e51b815260040180806020018281038252602e815260200180617eef602e913960400191505060405180910390fd5b600054610100900460ff16158015614dea576000805460ff1961ff0019909116610100171660011790555b825160208085019190912060c95582519083012060ca558015610ca8576000805461ff0019169055505050565b600054610100900460ff1680614e305750614e30614bdd565b80614e3e575060005460ff16155b614e795760405162461bcd60e51b815260040180806020018281038252602e815260200180617eef602e913960400191505060405180910390fd5b600054610100900460ff16158015614ea4576000805460ff1961ff0019909116610100171660011790555b60fa80546001600160a01b038086166001600160a01b03199283161790925560fb8054928516929091169190911790558015610ca8576000805461ff0019169055505050565b600054610100900460ff1680614f035750614f03614bdd565b80614f11575060005460ff16155b614f4c5760405162461bcd60e51b815260040180806020018281038252602e815260200180617eef602e913960400191505060405180910390fd5b600054610100900460ff16158015614f77576000805460ff1961ff0019909116610100171660011790555b61013180546001600160a01b038086166001600160a01b03199283161790925561013080546001600160b01b0319166001176001600160b01b0316600160b01b1790556101328054928516929091169190911790558015610ca8576000805461ff0019169055505050565b600080600083604001516001600160801b0316118061500e5750600083606001516001600160801b0316115b61501757600080fd5b60208301516000906001600160a01b031615615037578360200151615039565b305b8451600090815261012f602090815260408083206001808201546001600160501b0316855261012d8452828520835160608101855281546001600160a01b039081168252919092015480821695830195909552600160a01b90940462ffffff169281019290925260fa54949550939092916150b5911683613385565b600484015460018501549192506001600160801b0380821692600160801b92839004821692900416156152ab57600185015460405163a34123a760e01b81526001600160a01b0385169163a34123a79161512c91600160501b8104600290810b92600160681b909204900b906000906004016178f2565b6040805180830381600087803b15801561514557600080fd5b505af1158015615159573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061517d919061747c565b5050600185015460009081906001600160a01b0386169063514ea4bf906151bb903090600160501b8104600290810b91600160681b9004900b6155a6565b6040518263ffffffff1660e01b81526004016151d791906178e9565b60a06040518083038186803b1580156151ef57600080fd5b505afa158015615203573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906152279190617336565b50509250925050615263876002015483038860010160109054906101000a90046001600160801b03166001600160801b0316600160801b6155f7565b8401935061529c876003015482038860010160109054906101000a90046001600160801b03166001600160801b0316600160801b6155f7565b60028801929092556003870155015b600080836001600160801b03168b604001516001600160801b0316116152d5578a604001516152d7565b835b836001600160801b03168c606001516001600160801b0316116152fe578b60600151615300565b835b60018901546040516309e3d67b60e31b81529294509092506001600160a01b03871691634f1eb3d891615353918c91600160501b8104600290810b92600160681b909204900b9088908890600401617794565b6040805180830381600087803b15801561536c57600080fd5b505af1158015615380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906153a49190617308565b6004890180546001600160801b03196001600160801b03918216600160801b878a0384160217168689038216179091559182169b508116995084161580156153f357506001600160801b038316155b156153ff574360058801555b8a516040517f40d0efd1a53d60ecbf40971b9daf7dc90178c3aadc7aab1765632738fa8b8f0190615435908b90869086906177d1565b60405180910390a25050505050505050915091565b6000611164838361610c565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000948594938a169392918291908083835b602083106154da5780518252601f1990920191602091820191016154bb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461553c576040519150601f19603f3d011682016040523d82523d6000602084013e615541565b606091505b509150915081801561556f57508051158061556f575080806020019051602081101561556c57600080fd5b50515b6123eb576040805162461bcd60e51b815260206004820152600360248201526229aa2360e91b604482015290519081900360640190fd5b6040805160609490941b6001600160601b031916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a9093019052815191012090565b600080806000198587098686029250828110908390030390508061562d576000841161562257600080fd5b508290049050610acc565b80841161563957600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5490565b6040805160608101825282516001600160a01b0390811682526020808501518216908301528383015162ffffff169282019290925260fa546000928392839283926156f6911682613385565b91506000826001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561573357600080fd5b505afa158015615747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061576b9190617397565b505050505050905060006157828860800151616124565b905060006157938960a00151616124565b90506157aa8383838c60c001518d60e00151616456565b9750505050816001600160a01b0316633c8a7d8d876060015188608001518960a00151896040518060400160405280888152602001336001600160a01b03168152506040516020016157fc9190617a54565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161582b959493929190617752565b6040805180830381600087803b15801561584457600080fd5b505af1158015615858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061587c919061747c565b6101008801519195509350841080159061589b57508561012001518310155b611cd55760405162461bcd60e51b8152600401610a259061797a565b6000611164838361651a565b600061116483836165e0565b60006136e984846001600160a01b03851661662a565b815460009082106159275760405162461bcd60e51b8152600401808060200182810382526022815260200180617d4d6022913960400191505060405180910390fd5b82600001828154811061593657fe5b9060005260206000200154905092915050565b6000615954826113c4565b905061596281600084610ca8565b61596d600083613475565b6000828152609e602052604090205460026000196101006001841615020190911604156159ab576000828152609e602052604081206159ab91616aab565b6001600160a01b03811660009081526097602052604090206159cd90836158b7565b506159d96098836166c1565b5060405182906000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b815460009081908310615a5a5760405162461bcd60e51b8152600401808060200182810382526022815260200180617f1d6022913960400191505060405180910390fd5b6000846000018481548110615a6b57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b60008281526001840160205260408120548281615b2c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015615af1578181015183820152602001615ad9565b50505050905090810190601f168015615b1e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50846000016001820381548110615b3f57fe5b9060005260206000209060020201600101549150509392505050565b6001600160a01b038216615bb6576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b615bbf81613464565b15615c11576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b615c1d60008383610ca8565b6001600160a01b0382166000908152609760205260409020615c3f90826158c3565b50615c4c609882846158cf565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000615c9d846001600160a01b031661438b565b615ca9575060016136e9565b6000615db7630a85bd0160e11b615cbe613471565b88878760405160240180856001600160a01b03168152602001846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015615d25578181015183820152602001615d0d565b50505050905090810190601f168015615d525780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001617d6f603291396001600160a01b03881691906166cd565b90506000818060200190516020811015615dd057600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b600054610100900460ff1680615e0a5750615e0a614bdd565b80615e18575060005460ff16155b615e535760405162461bcd60e51b815260040180806020018281038252602e815260200180617eef602e913960400191505060405180910390fd5b600054610100900460ff16158015614c8b576000805460ff1961ff0019909116610100171660011790558015614c9d576000805461ff001916905550565b600054610100900460ff1680615eaa5750615eaa614bdd565b80615eb8575060005460ff16155b615ef35760405162461bcd60e51b815260040180806020018281038252602e815260200180617eef602e913960400191505060405180910390fd5b600054610100900460ff16158015615f1e576000805460ff1961ff0019909116610100171660011790555b6000615f28613471565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015614c9d576000805461ff001916905550565b600054610100900460ff1680615fa35750615fa3614bdd565b80615fb1575060005460ff16155b615fec5760405162461bcd60e51b815260040180806020018281038252602e815260200180617eef602e913960400191505060405180910390fd5b600054610100900460ff16158015616017576000805460ff1961ff0019909116610100171660011790555b614c8b6301ffc9a760e01b6166dc565b600054610100900460ff16806160405750616040614bdd565b8061604e575060005460ff16155b6160895760405162461bcd60e51b815260040180806020018281038252602e815260200180617eef602e913960400191505060405180910390fd5b600054610100900460ff161580156160b4576000805460ff1961ff0019909116610100171660011790555b82516160c790609c906020860190616aef565b5081516160db90609d906020850190616aef565b506160ec6380ac58cd60e01b6166dc565b6160fc635b5e139f60e01b6166dc565b614d4763780e9d6360e01b6166dc565b60009081526001919091016020526040902054151590565b60008060008360020b1261613b578260020b616143565b8260020b6000035b9050620d89e8811115616181576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b60006001821661619557600160801b6161a7565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156161db576ffff97272373d413259a46990580e213a0260801c5b60048216156161fa576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615616219576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615616238576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615616257576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615616276576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615616295576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156162b5576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156162d5576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156162f5576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615616315576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615616335576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615616355576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615616375576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615616395576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156163b6576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156163d6576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156163f5576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615616412576b048a170391f7dc42444e8fa20260801c5b60008460020b131561642d57806000198161642957fe5b0490505b640100000000810615616441576001616444565b60005b60ff16602082901c0192505050919050565b6000836001600160a01b0316856001600160a01b03161115616476579293925b846001600160a01b0316866001600160a01b0316116164a15761649a858585616760565b9050616511565b836001600160a01b0316866001600160a01b031610156165035760006164c8878686616760565b905060006164d78789866167c3565b9050806001600160801b0316826001600160801b0316106164f857806164fa565b815b92505050616511565b61650e8585846167c3565b90505b95945050505050565b600081815260018301602052604081205480156165d6578354600019808301919081019060009087908390811061654d57fe5b906000526020600020015490508087600001848154811061656a57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061659a57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611167565b6000915050611167565b60006165ec838361610c565b61662257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611167565b506000611167565b60008281526001840160205260408120548061668f575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055610acc565b828560000160018303815481106166a257fe5b9060005260206000209060020201600101819055506000915050610acc565b60006111648383616800565b60606136e984846000856168d4565b6001600160e01b0319808216141561673b576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152606560205260409020805460ff19166001179055565b6000826001600160a01b0316846001600160a01b03161115616780579192915b60006167a3856001600160a01b0316856001600160a01b0316600160601b6155f7565b90506165116167be84838888036001600160a01b03166155f7565b616a2f565b6000826001600160a01b0316846001600160a01b031611156167e3579192915b6136e96167be83600160601b8787036001600160a01b03166155f7565b600081815260018301602052604081205480156165d6578354600019808301919081019060009087908390811061683357fe5b906000526020600020906002020190508087600001848154811061685357fe5b60009182526020808320845460029093020191825560019384015491840191909155835482528983019052604090209084019055865487908061689257fe5b60008281526020808220600260001990940193840201828155600190810183905592909355888152898201909252604082209190915594506111679350505050565b6060824710156169155760405162461bcd60e51b8152600401808060200182810382526026815260200180617e126026913960400191505060405180910390fd5b61691e8561438b565b61696f576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106169ad5780518252601f19909201916020918201910161698e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114616a0f576040519150601f19603f3d011682016040523d82523d6000602084013e616a14565b606091505b5091509150616a24828286616a45565b979650505050505050565b806001600160801b0381168114610af157600080fd5b60608315616a54575081610acc565b825115616a645782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315615af1578181015183820152602001615ad9565b50805460018160011615610100020316600290046000825580601f10616ad15750614c9d565b601f016020900490600052602060002090810190614c9d9190616b73565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282616b255760008555616b6b565b82601f10616b3e57805160ff1916838001178555616b6b565b82800160010185558215616b6b579182015b82811115616b6b578251825591602001919060010190616b50565b5061150f9291505b5b8082111561150f5760008155600101616b74565b8035610af181617ce5565b8051610af181617ce5565b8035610af181617d08565b8051610af181617d08565b8051610af181617d17565b805161ffff81168114610af157600080fd5b8035610af181617d2c565b8051610af181617d2c565b600060208284031215616bf8578081fd5b8135610acc81617ce5565b600060208284031215616c14578081fd5b8151610acc81617ce5565b60008060408385031215616c31578081fd5b8235616c3c81617ce5565b91506020830135616c4c81617ce5565b809150509250929050565b60008060008060808587031215616c6c578182fd5b8435616c7781617ce5565b93506020850135616c8781617ce5565b92506040850135616c9781617ce5565b91506060850135616ca781617ce5565b939692955090935050565b60008060008060808587031215616cc7578182fd5b8435616cd281617ce5565b93506020850135616ce281617ce5565b92506040850135616c9781617d2c565b600080600060608486031215616d06578081fd5b8335616d1181617ce5565b92506020840135616d2181617ce5565b929592945050506040919091013590565b60008060008060808587031215616d47578182fd5b8435616d5281617ce5565b93506020850135616d6281617ce5565b92506040850135915060608501356001600160401b03811115616d83578182fd5b8501601f81018713616d93578182fd5b8035616da6616da182617c98565b617c75565b818152886020838501011115616dba578384fd5b81602084016020830137908101602001929092525092959194509250565b60008060408385031215616dea578182fd5b8235616df581617ce5565b91506020830135616c4c81617cfa565b60008060408385031215616e17578182fd5b8235616e2281617ce5565b946020939093013593505050565b600080600060608486031215616e44578081fd5b8335616e4f81617ce5565b9250602084013591506040840135616e6681617ce5565b809150509250925092565b60008060008060008060c08789031215616e89578384fd5b8635616e9481617ce5565b955060208701359450604087013593506060870135616eb281617d3d565b9598949750929560808101359460a0909101359350915050565b60008060208385031215616ede578182fd5b82356001600160401b0380821115616ef4578384fd5b818501915085601f830112616f07578384fd5b813581811115616f15578485fd5b8660208083028501011115616f28578485fd5b60209290920196919550909350505050565b600060208284031215616f4b578081fd5b8151610acc81617cfa565b600060208284031215616f67578081fd5b81356001600160e01b031981168114610acc578182fd5b60008060408385031215616c31578182fd5b600060208284031215616fa1578081fd5b81516001600160401b03811115616fb6578182fd5b8201601f81018413616fc6578182fd5b8051616fd4616da182617c98565b818152856020838501011115616fe8578384fd5b616511826020830160208601617cb9565b60006080828403121561700a578081fd5b50919050565b600060808284031215617021578081fd5b604051608081018181106001600160401b038211171561703d57fe5b60405282358152602083013561705281617ce5565b6020820152604083013561706581617d17565b6040820152606083013561707881617d17565b60608201529392505050565b600060a0828403121561700a578081fd5b600060a082840312156170a6578081fd5b60405160a081018181106001600160401b03821117156170c257fe5b6040528235815260208301356170d781617d17565b806020830152506040830135604082015260608301356060820152608083013560808201528091505092915050565b600060c0828403121561700a578081fd5b600060c08284031215617128578081fd5b60405160c081018181106001600160401b038211171561714457fe5b8060405250823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201528091505092915050565b6000818303608081121561719b578182fd5b604051604081016001600160401b0382821081831117156171b857fe5b8160405260608412156171c9578485fd5b60a08301935081841081851117156171dd57fe5b5082604052843592506171ef83617ce5565b91825260208401359161720183617ce5565b8260608301526040850135925061721783617d2c565b60808201839052815261722c60608501616b88565b6020820152949350505050565b6000610160828403121561700a578081fd5b600061016080838503121561725e578182fd5b61726781617c75565b905061727283616b88565b815261728060208401616b88565b602082015261729160408401616bd1565b60408201526172a260608401616b9e565b60608201526172b360808401616b9e565b608082015260a083013560a082015260c083013560c082015260e083013560e08201526101008084013581830152506101206172f0818501616b88565b90820152610140928301359281019290925250919050565b6000806040838503121561731a578182fd5b825161732581617d17565b6020840151909250616c4c81617d17565b600080600080600060a0868803121561734d578283fd5b855161735881617d17565b809550506020860151935060408601519250606086015161737881617d17565b608087015190925061738981617d17565b809150509295509295909350565b600080600080600080600060e0888a0312156173b1578485fd5b87516173bc81617ce5565b60208901519097506173cd81617d08565b95506173db60408901616bbf565b94506173e960608901616bbf565b93506173f760808901616bbf565b925060a088015161740781617d3d565b60c089015190925061741881617cfa565b8091505092959891949750929550565b600060208284031215617439578081fd5b5035919050565b600060208284031215617451578081fd5b5051919050565b6000806040838503121561746a578182fd5b823591506020830135616c4c81617ce5565b6000806040838503121561748e578182fd5b505080516020909101519092909150565b600080600080606085870312156174b4578182fd5b843593506020850135925060408501356001600160401b03808211156174d8578384fd5b818701915087601f8301126174eb578384fd5b8135818111156174f9578485fd5b88602082850101111561750a578485fd5b95989497505060200194505050565b60006020828403121561752a578081fd5b81356001600160501b0381168114610acc578182fd5b600060208284031215617551578081fd5b8151610acc81617d3d565b6000806000806000806000806000806000806101808d8f03121561757e578586fd5b8c516001600160601b0381168114617594578687fd5b9b506175a260208e01616b93565b9a506175b060408e01616b93565b99506175be60608e01616b93565b98506175cc60808e01616bdc565b97506175da60a08e01616ba9565b96506175e860c08e01616ba9565b95506175f660e08e01616bb4565b94506101008d015193506101208d015192506176156101408e01616bb4565b91506176246101608e01616bb4565b90509295989b509295989b509295989b565b6001600160a01b03169052565b6000815180845260208085019450808401835b8381101561767b5781516001600160a01b031687529582019590820190600101617656565b509495945050505050565b6000815180845261769e816020860160208601617cb9565b601f01601f19169290920160200192915050565b60020b9052565b6001600160801b03169052565b62ffffff169052565b6000828483379101908152919050565b600084516176f1818460208901617cb9565b600160fd1b908301908152845161770f816001840160208901617cb9565b602d60f81b600192909101918201528351617731816002840160208801617cb9565b0160020195945050505050565b6001600160a01b0391909116815260200190565b600060018060a01b03871682528560020b60208301528460020b60408301526001600160801b038416606083015260a06080830152616a2460a0830184617686565b6001600160a01b03959095168552600293840b60208601529190920b60408401526001600160801b03918216606084015216608082015260a00190565b6001600160a01b039390931683526001600160801b03918216602084015216604082015260600190565b6001600160a01b03929092168252602082015260400190565b6000602082526111646020830184617643565b6000602080830181845280855180835260408601915060408482028701019250838701855b8281101561787a57603f19888603018452617868858351617686565b9450928501929085019060010161784c565b5092979650505050505050565b604080825283519082018190526000906020906060840190828701845b828110156178c0578151845292840192908401906001016178a4565b505050838103828501526178d48186617643565b9695505050505050565b901515815260200190565b90815260200190565b600293840b81529190920b60208201526001600160801b03909116604082015260600190565b6000602082526111646020830184617686565b6020808252600f908201526e125b9d985b1a59081c1bdbdb081251608a1b604082015260600190565b6020808252600c908201526b139bdd08185c1c1c9bdd995960a21b604082015260600190565b602080825260149082015273507269636520736c69707061676520636865636b60601b604082015260600190565b60208082526010908201526f125b9d985b1a59081d1bdad95b88125160821b604082015260600190565b60208082526037908201527f4552433732315570677261646561626c653a20617070726f766564207175657260408201527f7920666f72206e6f6e6578697374656e7420746f6b656e000000000000000000606082015260800190565b6020808252600b908201526a139bdd0818db19585c995960aa1b604082015260600190565b815180516001600160a01b03908116835260208083015182168185015260409283015162ffffff1692840192909252920151909116606082015260800190565b82516001600160a01b03168152602080840151610140830191617ab990840182617636565b506040840151617acc6040840182617636565b506060840151617adf60608401826176c6565b506080840151617af260808401826176b2565b5060a0840151617b0560a08401826176b2565b5060c0848101519083015260e080850151908301526101009384015193820193909352610120015290565b6001600160801b039390931683526020830191909152604082015260600190565b9384526001600160801b039290921660208401526040830152606082015260800190565b918252602082015260400190565b6001600160501b0391909116815260200190565b6001600160601b038d1681526001600160a01b038c811660208301528b811660408301528a16606082015262ffffff89166080820152600288900b60a08201526101808101617be960c08301896176b2565b617bf660e08301886176b9565b8561010083015284610120830152617c126101408301856176b9565b617c206101608301846176b9565b9d9c50505050505050505050505050565b6000808335601e19843603018112617c47578283fd5b8301803591506001600160401b03821115617c60578283fd5b60200191503681900382131561434157600080fd5b6040518181016001600160401b0381118282101715617c9057fe5b604052919050565b60006001600160401b03821115617cab57fe5b50601f01601f191660200190565b60005b83811015617cd4578181015183820152602001617cbc565b8381111561259a5750506000910152565b6001600160a01b0381168114614c9d57600080fd5b8015158114614c9d57600080fd5b8060020b8114614c9d57600080fd5b6001600160801b0381168114614c9d57600080fd5b62ffffff81168114614c9d57600080fd5b60ff81168114614c9d57600080fdfe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734552433732315065726d69743a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e7366657220746f20746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65724552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a26469706673582212203b275fb577ff6d9eece847707632862c872e193e76e08fc73509e58a17d51ac564736f6c63430007060033