Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@uniswap/v3-periphery

Package Overview
Dependencies
Maintainers
8
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uniswap/v3-periphery - npm Package Compare versions

Comparing version 1.0.0-beta.11 to 1.0.0-beta.12

artifacts/contracts/interfaces/IERC20Metadata.sol/IERC20Metadata.json

4

artifacts/contracts/NonfungibleTokenPositionDescriptor.sol/NonfungibleTokenPositionDescriptor.json

@@ -31,6 +31,6 @@ {

],
"bytecode": "0x608060405234801561001057600080fd5b506105de806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e9dc637514610030575b600080fd5b6100696004803603604081101561004657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356100de565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100a357818101518382015260200161008b565b50505050905090810190601f1680156100d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008060008573ffffffffffffffffffffffffffffffffffffffff166399fbab88866040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b15801561013757600080fd5b505afa15801561014b573d6000803e3d6000fd5b505050506040513d61018081101561016257600080fd5b50604080820151606083015160809093015182517fc45a015500000000000000000000000000000000000000000000000000000000815292519196509294509192506000916102529173ffffffffffffffffffffffffffffffffffffffff8a169163c45a015591600480820192602092909190829003018186803b1580156101e957600080fd5b505afa1580156101fd573d6000803e3d6000fd5b505050506040513d602081101561021357600080fd5b50516040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528716602082015262ffffff861691810191909152610477565b905060006040518060400160405280601381526020017f556e697377617020563320506f736974696f6e00000000000000000000000000815250905060006040518060600160405280602481526020016105ae602491399050818160405160200180807f646174613a6170706c69636174696f6e2f6a736f6e2c7b226e616d65223a2200815250601f0183805190602001908083835b6020831061032557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016102e8565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790527f222c20226465736372697074696f6e223a220000000000000000000000000000919093019081528451601290910192850191508083835b602083106103d257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610395565b5181516020939093036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990911692169190911790527f227d000000000000000000000000000000000000000000000000000000000000920191825250604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2018152600290920190529c9b505050505050505050505050565b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16106104b957600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527f01d4d358e07707f4db84b6a7527455b06f95ee89b5d059b4a1298ada7b6c7d6760d5808301919091528251808303909101815260f590910190915280519101209056fe526570726573656e7473206120706f736974696f6e20696e20556e69737761702056332ea164736f6c6343000706000a",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e9dc637514610030575b600080fd5b6100696004803603604081101561004657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356100de565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100a357818101518382015260200161008b565b50505050905090810190601f1680156100d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060008060008573ffffffffffffffffffffffffffffffffffffffff166399fbab88866040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b15801561013757600080fd5b505afa15801561014b573d6000803e3d6000fd5b505050506040513d61018081101561016257600080fd5b50604080820151606083015160809093015182517fc45a015500000000000000000000000000000000000000000000000000000000815292519196509294509192506000916102529173ffffffffffffffffffffffffffffffffffffffff8a169163c45a015591600480820192602092909190829003018186803b1580156101e957600080fd5b505afa1580156101fd573d6000803e3d6000fd5b505050506040513d602081101561021357600080fd5b50516040805160608101825273ffffffffffffffffffffffffffffffffffffffff80891682528716602082015262ffffff861691810191909152610477565b905060006040518060400160405280601381526020017f556e697377617020563320506f736974696f6e00000000000000000000000000815250905060006040518060600160405280602481526020016105ae602491399050818160405160200180807f646174613a6170706c69636174696f6e2f6a736f6e2c7b226e616d65223a2200815250601f0183805190602001908083835b6020831061032557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016102e8565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790527f222c20226465736372697074696f6e223a220000000000000000000000000000919093019081528451601290910192850191508083835b602083106103d257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610395565b5181516020939093036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990911692169190911790527f227d000000000000000000000000000000000000000000000000000000000000920191825250604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2018152600290920190529c9b505050505050505050505050565b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16106104b957600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527f01d4d358e07707f4db84b6a7527455b06f95ee89b5d059b4a1298ada7b6c7d6760d5808301919091528251808303909101815260f590910190915280519101209056fe526570726573656e7473206120706f736974696f6e20696e20556e69737761702056332ea164736f6c6343000706000a",
"bytecode": "0x608060405234801561001057600080fd5b506126df806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e9dc637514610030575b600080fd5b6100696004803603604081101561004657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356100de565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100a357818101518382015260200161008b565b50505050905090810190601f1680156100d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60606000806000806000808873ffffffffffffffffffffffffffffffffffffffff166399fbab88896040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d61018081101561016657600080fd5b506040808201516060830151608084015160a085015160c086015160e09096015185517fc45a01550000000000000000000000000000000000000000000000000000000081529551949c50929a50909850965092945091925060009161026d9173ffffffffffffffffffffffffffffffffffffffff8d169163c45a015591600480820192602092909190829003018186803b15801561020457600080fd5b505afa158015610218573d6000803e3d6000fd5b505050506040513d602081101561022e57600080fd5b50516040805160608101825273ffffffffffffffffffffffffffffffffffffffff808c1682528a16602082015262ffffff8916918101919091526104d2565b90506104c26040518061018001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016102bf8a610608565b81526020016102cd89610608565b81526020018973ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561031857600080fd5b505afa15801561032c573d6000803e3d6000fd5b505050506040513d602081101561034257600080fd5b505160ff168152604080517f313ce567000000000000000000000000000000000000000000000000000000008152905160209283019273ffffffffffffffffffffffffffffffffffffffff8c169263313ce5679260048083019392829003018186803b1580156103b157600080fd5b505afa1580156103c5573d6000803e3d6000fd5b505050506040513d60208110156103db57600080fd5b810190808051906020019092919050505060ff1681526020018660020b81526020018560020b81526020018373ffffffffffffffffffffffffffffffffffffffff1663d0c93a7c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561044c57600080fd5b505afa158015610460573d6000803e3d6000fd5b505050506040513d602081101561047657600080fd5b505160020b815262ffffff881660208201526fffffffffffffffffffffffffffffffff8516604082015273ffffffffffffffffffffffffffffffffffffffff841660609091015261065b565b9750505050505050505b92915050565b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161061051457600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fa8180af292c6986c74fa300a542e049db8a89221e2452e431c3d8103b610c56860d5808301919091528251808303909101815260f5909101909152805191012090565b60606000610636837f95d89b4100000000000000000000000000000000000000000000000000000000610c82565b90508051600014156106535761064b83610ee4565b915050610656565b90505b919050565b6060600061066d836101200151610ef1565b836040015184606001516106948660c0015187610100015188608001518960a00151611152565b6106b18760e0015188610100015189608001518a60a00151611152565b60405160200180807f556e6973776170205633202d2000000000000000000000000000000000000000815250600d0186805190602001908083835b6020831061070b5780518252601f1990920191602091820191016106ec565b51815160209384036101000a60001901801990921691161790527f202d200000000000000000000000000000000000000000000000000000000000919093019081528751600390910192880191508083835b6020831061077c5780518252601f19909201916020918201910161075d565b6001836020036101000a038019825116818451168082178552505050505050905001807f2f0000000000000000000000000000000000000000000000000000000000000081525060010184805190602001908083835b602083106107f15780518252601f1990920191602091820191016107d2565b51815160209384036101000a60001901801990921691161790527f202d200000000000000000000000000000000000000000000000000000000000919093019081528551600390910192860191508083835b602083106108625780518252601f199092019160209182019101610843565b51815160209384036101000a60001901801990921691161790527f3c3e000000000000000000000000000000000000000000000000000000000000919093019081528451600290910192850191508083835b602083106108d35780518252601f1990920191602091820191016108b4565b6001836020036101000a038019825116818451168082178552505050505050905001955050505050506040516020818303038152906040529050600061091d846101400151611243565b61092b856101600151611352565b6109388660200151611352565b865161094390611352565b6040516020018060596126358239605901807f5c6e6c69717569646974793a2000000000000000000000000000000000000000815250600d0185805190602001908083835b602083106109a75780518252601f199092019160209182019101610988565b51815160209384036101000a60001901801990921691161790527f5c6e706f6f6c416464726573733a200000000000000000000000000000000000919093019081528651600f90910192870191508083835b60208310610a185780518252601f1990920191602091820191016109f9565b51815160209384036101000a60001901801990921691161790527f5c6e746f6b656e30416464726573733a20000000000000000000000000000000919093019081528551601190910192860191508083835b60208310610a895780518252601f199092019160209182019101610a6a565b51815160209384036101000a60001901801990921691161790527f5c6e746f6b656e31416464726573733a20000000000000000000000000000000919093019081528451601190910192850191508083835b60208310610afa5780518252601f199092019160209182019101610adb565b6001836020036101000a0380198251168184511680821785525050505050509050019450505050506040516020818303038152906040529050818160405160200180807f646174613a6170706c69636174696f6e2f6a736f6e2c7b226e616d65223a2200815250601f0183805190602001908083835b60208310610b8f5780518252601f199092019160209182019101610b70565b51815160209384036101000a60001901801990921691161790527f222c20226465736372697074696f6e223a220000000000000000000000000000919093019081528451601290910192850191508083835b60208310610c005780518252601f199092019160209182019101610be1565b5181516020939093036101000a60001901801990911692169190911790527f227d000000000000000000000000000000000000000000000000000000000000920191825250604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe201815260029092019052979650505050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000851617815291518151606093600093849373ffffffffffffffffffffffffffffffffffffffff891693919290918291908083835b60208310610d285780518252601f199092019160209182019101610d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114610d88576040519150601f19603f3d011682016040523d82523d6000602084013e610d8d565b606091505b5091509150811580610d9e57508051155b15610dbc5760405180602001604052806000815250925050506104cc565b805160201415610df4576000818060200190516020811015610ddd57600080fd5b50519050610dea81611375565b93505050506104cc565b604081511115610ecc57808060200190516020811015610e1357600080fd5b8101908080516040519392919084640100000000821115610e3357600080fd5b908301906020820185811115610e4857600080fd5b8251640100000000811182820188101715610e6257600080fd5b82525081516020918201929091019080838360005b83811015610e8f578181015183820152602001610e77565b50505050905090810190601f168015610ebc5780820380516001836020036101000a031916815260200191505b50604052505050925050506104cc565b50506040805160208101909152600081529392505050565b60606106538260066114dc565b606062ffffff8216610f37575060408051808201909152600281527f30250000000000000000000000000000000000000000000000000000000000006020820152610656565b816000805b62ffffff831615610f875760ff811615610f5857600101610f71565b600a62ffffff84160662ffffff16600014610f71576001015b600190910190600a62ffffff8416049250610f3c565b610f8f6125f0565b6000600584106110845760006004610faa8660ff8716611696565b1015610fb7576001610fba565b60005b60ff9081169150610fce9085166001611696565b610fd9866005611696565b1061100557611000610fef60ff86166001611696565b610ffa876005611696565b90611696565b611008565b60005b60ff85166080850181905290925061102790600190610ffa908561170d565b60ff90811660a0850152608084015161104e91839161104891166001611696565b9061170d565b60ff90811660408501526110769082906110489061106f908816600161170d565b859061170d565b60ff166020840152506110f4565b61108f600585611696565b6002608084018190529091506110ad90600190610ffa90849061170d565b60ff90811660a08401526110cf906110c8908516600261170d565b829061170d565b60ff16602083018190526110e4906002611696565b60ff166040830152600160c08301525b6111136111048560ff8616611696565b62ffffff891690600a0a611788565b8252600160e08301526004841161112b576000611136565b611136846004611696565b60ff16606083015261114782611809565b979650505050505050565b606083600281900b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276188161118257fe5b050260020b8560020b14156111cb575060408051808201909152600381527f4d494e0000000000000000000000000000000000000000000000000000000000602082015261123b565b83600281900b620d89e8816111dc57fe5b050260020b8560020b1415611225575060408051808201909152600381527f4d41580000000000000000000000000000000000000000000000000000000000602082015261123b565b61123861123186611b19565b8484611e8e565b90505b949350505050565b606081611284575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152610656565b8160005b811561129c57600101600a82049150611288565b60008167ffffffffffffffff811180156112b557600080fd5b506040519080825280601f01601f1916602001820160405280156112e0576020820181803683370190505b50859350905060001982015b831561134957600a840660300160f81b8282806001900393508151811061130f57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a840493506112ec565b50949350505050565b606061065373ffffffffffffffffffffffffffffffffffffffff83166014612076565b604080516020808252818301909252606091600091906020820181803683370190505090506000805b602081101561142f5760008582602081106113b557fe5b1a60f81b90507fff0000000000000000000000000000000000000000000000000000000000000081161561142657808484815181106113f057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001909201915b5060010161139e565b5060008167ffffffffffffffff8111801561144957600080fd5b506040519080825280601f01601f191660200182016040528015611474576020820181803683370190505b50905060005b828110156113495783818151811061148e57fe5b602001015160f81c60f81b8282815181106114a557fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060010161147a565b6060600282061580156114ef5750600082115b80156114fc575060288211155b61156757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f41646472657373537472696e675574696c3a20494e56414c49445f4c454e0000604482015290519081900360640190fd5b60008267ffffffffffffffff8111801561158057600080fd5b506040519080825280601f01601f1916602001820160405280156115ab576020820181803683370190505b50905073ffffffffffffffffffffffffffffffffffffffff841660005b6002850481101561168c57600860138290030282901c600f600482901c1660f0821682036115f58261227c565b86856002028151811061160457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061163c8161227c565b86856002026001018151811061164e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050600190920191506115c89050565b5090949350505050565b60008282111561170757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561178157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60008082116117f857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161180157fe5b049392505050565b60606000826020015160ff1667ffffffffffffffff8111801561182b57600080fd5b506040519080825280601f01601f191660200182016040528015611856576020820181803683370190505b5090508260e00151156118c4577f25000000000000000000000000000000000000000000000000000000000000008160018351038151811061189457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8260c0015115611989577f3000000000000000000000000000000000000000000000000000000000000000816000815181106118fc57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f2e000000000000000000000000000000000000000000000000000000000000008160018151811061195957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b608083015160ff165b60a08401516119a59060ff16600161170d565b8110156119f457603060f81b8282815181106119bd57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600101611992565b505b825115610653576000836060015160ff16118015611a215750826060015160ff16836040015160ff16145b15611a985760408301805160ff6000198201811690925282517f2e0000000000000000000000000000000000000000000000000000000000000092849216908110611a6857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8251611aaa90603090600a900661170d565b60f81b818460400180518091906001900360ff1660ff1681525060ff1681518110611ad157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8360000181815181611b1057fe5b049052506119f6565b60008060008360020b12611b30578260020b611b38565b8260020b6000035b9050620d89e8811115611bac57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5400000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600060018216611bcd57700100000000000000000000000000000000611bdf565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615611c13576ffff97272373d413259a46990580e213a0260801c5b6004821615611c32576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611c51576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611c70576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611c8f576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611cae576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611ccd576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611ced576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611d0d576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611d2d576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611d4d576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611d6d576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611d8d576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611dad576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611dcd576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611dee576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611e0e576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611e2d576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615611e4a576b048a170391f7dc42444e8fa20260801c5b60008460020b1315611e65578060001981611e6157fe5b0490505b640100000000810615611e79576001611e7c565b60005b60ff16602082901c0192505050919050565b60606000611e9d8585856122a4565b90506000611eb58283680100000000000000006123ae565b90506c0100000000000000000000000082108015611f0357611efc8272047bf19673df52e37f2410011d1000000000007001000000000000000000000000000000006123ae565b9150611f25565b611f2282620186a07001000000000000000000000000000000006123ae565b91505b8160005b8115611f3d57600101600a82049150611f29565b60001901600080611f4e868461245d565b915091508015611f5f576001909201915b611f676125f0565b8515611fd457611f86611f7e602b60ff8716611696565b60079061170d565b60ff908116602083015260026080830152611fac9060019061104890602b908816611696565b60ff90811660a08301526020820151611fc791166001611696565b60ff16604082015261204b565b60098460ff161061201d57611fed60ff85166004611696565b60ff166020820181905260056080830152612009906001611696565b60ff1660a08201526004604082015261204b565b60066020820152600560408201819052612042906001906110489060ff881690611696565b60ff1660608201525b82815285151560c0820152600060e082015261206681611809565b9c9b505050505050505050505050565b606060008260020260020167ffffffffffffffff8111801561209757600080fd5b506040519080825280601f01601f1916602001820160405280156120c2576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106120f357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061215057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600160028402015b600181111561220e577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106121bf57fe5b1a60f81b8282815181106121cf57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9360001901612187565b50831561178157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015290519081900360640190fd5b6000600a8260ff16101561229757506030810160f81b610656565b506037810160f81b610656565b6000806122bf6122ba60ff8681169086166124e7565b612566565b90506000811180156122d2575060128111155b1561238c578260ff168460ff16111561231a576123136122f3826002611788565b73ffffffffffffffffffffffffffffffffffffffff871690600a0a61257d565b915061234b565b612348612328826002611788565b73ffffffffffffffffffffffffffffffffffffffff871690600a0a611788565b91505b600281066001141561238757612384827003298b075b4b6a5240945790619b37fd4a7001000000000000000000000000000000006123ae565b91505b6123a6565b8473ffffffffffffffffffffffffffffffffffffffff1691505b509392505050565b60008080600019858709868602925082811090839003039050806123e457600084116123d957600080fd5b508290049050611781565b8084116123f057600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b600080600060058460ff1611156124a3576124a08560ff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb870116600a0a611788565b94505b60006004600a87061190506124b986600a611788565b955080156124c8578560010195505b85620186a014156124de57600a86049550600191505b50939492505050565b60008183038183128015906124fc5750838113155b80612511575060008312801561251157508381135b611781576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806126af6024913960400191505060405180910390fd5b6000808212156125795781600003610653565b5090565b60008261258c575060006104cc565b8282028284828161259957fe5b0414611781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061268e6021913960400191505060405180910390fd5b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091529056fe526570726573656e74732061206c697175696469747920706f736974696f6e20696e206120556e697377617020563320706f6f6c2e2052656465656d61626c6520666f72206f776564207265736572766520746f6b656e732e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f77a164736f6c6343000706000a",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e9dc637514610030575b600080fd5b6100696004803603604081101561004657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356100de565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100a357818101518382015260200161008b565b50505050905090810190601f1680156100d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60606000806000806000808873ffffffffffffffffffffffffffffffffffffffff166399fbab88896040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d61018081101561016657600080fd5b506040808201516060830151608084015160a085015160c086015160e09096015185517fc45a01550000000000000000000000000000000000000000000000000000000081529551949c50929a50909850965092945091925060009161026d9173ffffffffffffffffffffffffffffffffffffffff8d169163c45a015591600480820192602092909190829003018186803b15801561020457600080fd5b505afa158015610218573d6000803e3d6000fd5b505050506040513d602081101561022e57600080fd5b50516040805160608101825273ffffffffffffffffffffffffffffffffffffffff808c1682528a16602082015262ffffff8916918101919091526104d2565b90506104c26040518061018001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016102bf8a610608565b81526020016102cd89610608565b81526020018973ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561031857600080fd5b505afa15801561032c573d6000803e3d6000fd5b505050506040513d602081101561034257600080fd5b505160ff168152604080517f313ce567000000000000000000000000000000000000000000000000000000008152905160209283019273ffffffffffffffffffffffffffffffffffffffff8c169263313ce5679260048083019392829003018186803b1580156103b157600080fd5b505afa1580156103c5573d6000803e3d6000fd5b505050506040513d60208110156103db57600080fd5b810190808051906020019092919050505060ff1681526020018660020b81526020018560020b81526020018373ffffffffffffffffffffffffffffffffffffffff1663d0c93a7c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561044c57600080fd5b505afa158015610460573d6000803e3d6000fd5b505050506040513d602081101561047657600080fd5b505160020b815262ffffff881660208201526fffffffffffffffffffffffffffffffff8516604082015273ffffffffffffffffffffffffffffffffffffffff841660609091015261065b565b9750505050505050505b92915050565b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161061051457600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fa8180af292c6986c74fa300a542e049db8a89221e2452e431c3d8103b610c56860d5808301919091528251808303909101815260f5909101909152805191012090565b60606000610636837f95d89b4100000000000000000000000000000000000000000000000000000000610c82565b90508051600014156106535761064b83610ee4565b915050610656565b90505b919050565b6060600061066d836101200151610ef1565b836040015184606001516106948660c0015187610100015188608001518960a00151611152565b6106b18760e0015188610100015189608001518a60a00151611152565b60405160200180807f556e6973776170205633202d2000000000000000000000000000000000000000815250600d0186805190602001908083835b6020831061070b5780518252601f1990920191602091820191016106ec565b51815160209384036101000a60001901801990921691161790527f202d200000000000000000000000000000000000000000000000000000000000919093019081528751600390910192880191508083835b6020831061077c5780518252601f19909201916020918201910161075d565b6001836020036101000a038019825116818451168082178552505050505050905001807f2f0000000000000000000000000000000000000000000000000000000000000081525060010184805190602001908083835b602083106107f15780518252601f1990920191602091820191016107d2565b51815160209384036101000a60001901801990921691161790527f202d200000000000000000000000000000000000000000000000000000000000919093019081528551600390910192860191508083835b602083106108625780518252601f199092019160209182019101610843565b51815160209384036101000a60001901801990921691161790527f3c3e000000000000000000000000000000000000000000000000000000000000919093019081528451600290910192850191508083835b602083106108d35780518252601f1990920191602091820191016108b4565b6001836020036101000a038019825116818451168082178552505050505050905001955050505050506040516020818303038152906040529050600061091d846101400151611243565b61092b856101600151611352565b6109388660200151611352565b865161094390611352565b6040516020018060596126358239605901807f5c6e6c69717569646974793a2000000000000000000000000000000000000000815250600d0185805190602001908083835b602083106109a75780518252601f199092019160209182019101610988565b51815160209384036101000a60001901801990921691161790527f5c6e706f6f6c416464726573733a200000000000000000000000000000000000919093019081528651600f90910192870191508083835b60208310610a185780518252601f1990920191602091820191016109f9565b51815160209384036101000a60001901801990921691161790527f5c6e746f6b656e30416464726573733a20000000000000000000000000000000919093019081528551601190910192860191508083835b60208310610a895780518252601f199092019160209182019101610a6a565b51815160209384036101000a60001901801990921691161790527f5c6e746f6b656e31416464726573733a20000000000000000000000000000000919093019081528451601190910192850191508083835b60208310610afa5780518252601f199092019160209182019101610adb565b6001836020036101000a0380198251168184511680821785525050505050509050019450505050506040516020818303038152906040529050818160405160200180807f646174613a6170706c69636174696f6e2f6a736f6e2c7b226e616d65223a2200815250601f0183805190602001908083835b60208310610b8f5780518252601f199092019160209182019101610b70565b51815160209384036101000a60001901801990921691161790527f222c20226465736372697074696f6e223a220000000000000000000000000000919093019081528451601290910192850191508083835b60208310610c005780518252601f199092019160209182019101610be1565b5181516020939093036101000a60001901801990911692169190911790527f227d000000000000000000000000000000000000000000000000000000000000920191825250604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe201815260029092019052979650505050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000851617815291518151606093600093849373ffffffffffffffffffffffffffffffffffffffff891693919290918291908083835b60208310610d285780518252601f199092019160209182019101610d09565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114610d88576040519150601f19603f3d011682016040523d82523d6000602084013e610d8d565b606091505b5091509150811580610d9e57508051155b15610dbc5760405180602001604052806000815250925050506104cc565b805160201415610df4576000818060200190516020811015610ddd57600080fd5b50519050610dea81611375565b93505050506104cc565b604081511115610ecc57808060200190516020811015610e1357600080fd5b8101908080516040519392919084640100000000821115610e3357600080fd5b908301906020820185811115610e4857600080fd5b8251640100000000811182820188101715610e6257600080fd5b82525081516020918201929091019080838360005b83811015610e8f578181015183820152602001610e77565b50505050905090810190601f168015610ebc5780820380516001836020036101000a031916815260200191505b50604052505050925050506104cc565b50506040805160208101909152600081529392505050565b60606106538260066114dc565b606062ffffff8216610f37575060408051808201909152600281527f30250000000000000000000000000000000000000000000000000000000000006020820152610656565b816000805b62ffffff831615610f875760ff811615610f5857600101610f71565b600a62ffffff84160662ffffff16600014610f71576001015b600190910190600a62ffffff8416049250610f3c565b610f8f6125f0565b6000600584106110845760006004610faa8660ff8716611696565b1015610fb7576001610fba565b60005b60ff9081169150610fce9085166001611696565b610fd9866005611696565b1061100557611000610fef60ff86166001611696565b610ffa876005611696565b90611696565b611008565b60005b60ff85166080850181905290925061102790600190610ffa908561170d565b60ff90811660a0850152608084015161104e91839161104891166001611696565b9061170d565b60ff90811660408501526110769082906110489061106f908816600161170d565b859061170d565b60ff166020840152506110f4565b61108f600585611696565b6002608084018190529091506110ad90600190610ffa90849061170d565b60ff90811660a08401526110cf906110c8908516600261170d565b829061170d565b60ff16602083018190526110e4906002611696565b60ff166040830152600160c08301525b6111136111048560ff8616611696565b62ffffff891690600a0a611788565b8252600160e08301526004841161112b576000611136565b611136846004611696565b60ff16606083015261114782611809565b979650505050505050565b606083600281900b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276188161118257fe5b050260020b8560020b14156111cb575060408051808201909152600381527f4d494e0000000000000000000000000000000000000000000000000000000000602082015261123b565b83600281900b620d89e8816111dc57fe5b050260020b8560020b1415611225575060408051808201909152600381527f4d41580000000000000000000000000000000000000000000000000000000000602082015261123b565b61123861123186611b19565b8484611e8e565b90505b949350505050565b606081611284575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152610656565b8160005b811561129c57600101600a82049150611288565b60008167ffffffffffffffff811180156112b557600080fd5b506040519080825280601f01601f1916602001820160405280156112e0576020820181803683370190505b50859350905060001982015b831561134957600a840660300160f81b8282806001900393508151811061130f57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a840493506112ec565b50949350505050565b606061065373ffffffffffffffffffffffffffffffffffffffff83166014612076565b604080516020808252818301909252606091600091906020820181803683370190505090506000805b602081101561142f5760008582602081106113b557fe5b1a60f81b90507fff0000000000000000000000000000000000000000000000000000000000000081161561142657808484815181106113f057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001909201915b5060010161139e565b5060008167ffffffffffffffff8111801561144957600080fd5b506040519080825280601f01601f191660200182016040528015611474576020820181803683370190505b50905060005b828110156113495783818151811061148e57fe5b602001015160f81c60f81b8282815181106114a557fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060010161147a565b6060600282061580156114ef5750600082115b80156114fc575060288211155b61156757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f41646472657373537472696e675574696c3a20494e56414c49445f4c454e0000604482015290519081900360640190fd5b60008267ffffffffffffffff8111801561158057600080fd5b506040519080825280601f01601f1916602001820160405280156115ab576020820181803683370190505b50905073ffffffffffffffffffffffffffffffffffffffff841660005b6002850481101561168c57600860138290030282901c600f600482901c1660f0821682036115f58261227c565b86856002028151811061160457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061163c8161227c565b86856002026001018151811061164e57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050600190920191506115c89050565b5090949350505050565b60008282111561170757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561178157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60008082116117f857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161180157fe5b049392505050565b60606000826020015160ff1667ffffffffffffffff8111801561182b57600080fd5b506040519080825280601f01601f191660200182016040528015611856576020820181803683370190505b5090508260e00151156118c4577f25000000000000000000000000000000000000000000000000000000000000008160018351038151811061189457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8260c0015115611989577f3000000000000000000000000000000000000000000000000000000000000000816000815181106118fc57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f2e000000000000000000000000000000000000000000000000000000000000008160018151811061195957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b608083015160ff165b60a08401516119a59060ff16600161170d565b8110156119f457603060f81b8282815181106119bd57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600101611992565b505b825115610653576000836060015160ff16118015611a215750826060015160ff16836040015160ff16145b15611a985760408301805160ff6000198201811690925282517f2e0000000000000000000000000000000000000000000000000000000000000092849216908110611a6857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8251611aaa90603090600a900661170d565b60f81b818460400180518091906001900360ff1660ff1681525060ff1681518110611ad157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8360000181815181611b1057fe5b049052506119f6565b60008060008360020b12611b30578260020b611b38565b8260020b6000035b9050620d89e8811115611bac57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5400000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600060018216611bcd57700100000000000000000000000000000000611bdf565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615611c13576ffff97272373d413259a46990580e213a0260801c5b6004821615611c32576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611c51576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611c70576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611c8f576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611cae576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611ccd576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611ced576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611d0d576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611d2d576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611d4d576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611d6d576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611d8d576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611dad576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611dcd576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611dee576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611e0e576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611e2d576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615611e4a576b048a170391f7dc42444e8fa20260801c5b60008460020b1315611e65578060001981611e6157fe5b0490505b640100000000810615611e79576001611e7c565b60005b60ff16602082901c0192505050919050565b60606000611e9d8585856122a4565b90506000611eb58283680100000000000000006123ae565b90506c0100000000000000000000000082108015611f0357611efc8272047bf19673df52e37f2410011d1000000000007001000000000000000000000000000000006123ae565b9150611f25565b611f2282620186a07001000000000000000000000000000000006123ae565b91505b8160005b8115611f3d57600101600a82049150611f29565b60001901600080611f4e868461245d565b915091508015611f5f576001909201915b611f676125f0565b8515611fd457611f86611f7e602b60ff8716611696565b60079061170d565b60ff908116602083015260026080830152611fac9060019061104890602b908816611696565b60ff90811660a08301526020820151611fc791166001611696565b60ff16604082015261204b565b60098460ff161061201d57611fed60ff85166004611696565b60ff166020820181905260056080830152612009906001611696565b60ff1660a08201526004604082015261204b565b60066020820152600560408201819052612042906001906110489060ff881690611696565b60ff1660608201525b82815285151560c0820152600060e082015261206681611809565b9c9b505050505050505050505050565b606060008260020260020167ffffffffffffffff8111801561209757600080fd5b506040519080825280601f01601f1916602001820160405280156120c2576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106120f357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061215057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600160028402015b600181111561220e577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106121bf57fe5b1a60f81b8282815181106121cf57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9360001901612187565b50831561178157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015290519081900360640190fd5b6000600a8260ff16101561229757506030810160f81b610656565b506037810160f81b610656565b6000806122bf6122ba60ff8681169086166124e7565b612566565b90506000811180156122d2575060128111155b1561238c578260ff168460ff16111561231a576123136122f3826002611788565b73ffffffffffffffffffffffffffffffffffffffff871690600a0a61257d565b915061234b565b612348612328826002611788565b73ffffffffffffffffffffffffffffffffffffffff871690600a0a611788565b91505b600281066001141561238757612384827003298b075b4b6a5240945790619b37fd4a7001000000000000000000000000000000006123ae565b91505b6123a6565b8473ffffffffffffffffffffffffffffffffffffffff1691505b509392505050565b60008080600019858709868602925082811090839003039050806123e457600084116123d957600080fd5b508290049050611781565b8084116123f057600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b600080600060058460ff1611156124a3576124a08560ff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb870116600a0a611788565b94505b60006004600a87061190506124b986600a611788565b955080156124c8578560010195505b85620186a014156124de57600a86049550600191505b50939492505050565b60008183038183128015906124fc5750838113155b80612511575060008312801561251157508381135b611781576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806126af6024913960400191505060405180910390fd5b6000808212156125795781600003610653565b5090565b60008261258c575060006104cc565b8282028284828161259957fe5b0414611781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061268e6021913960400191505060405180910390fd5b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101919091529056fe526570726573656e74732061206c697175696469747920706f736974696f6e20696e206120556e697377617020563320706f6f6c2e2052656465656d61626c6520666f72206f776564207265736572766520746f6b656e732e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775369676e6564536166654d6174683a207375627472616374696f6e206f766572666c6f77a164736f6c6343000706000a",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -380,6 +380,6 @@ {

],
"bytecode": "0x60c06040526000196000553480156200001757600080fd5b506040516200268c3803806200268c8339810160408190526200003a9162000076565b6001600160601b0319606092831b8116608052911b1660a052620000ad565b80516001600160a01b03811681146200007157600080fd5b919050565b6000806040838503121562000089578182fd5b620000948362000059565b9150620000a46020840162000059565b90509250929050565b60805160601c60a05160601c61258e620000fe6000398060e852806103645280610494528061052e52806114265280611489528061150a5250806109885280610ce752806117f3525061258e6000f3fe6080604052600436106100cb5760003560e01c8063c2e3140a11610074578063f28c04981161004e578063f28c04981461025a578063f3995c671461026d578063fa461e331461028057610176565b8063c2e3140a1461021f578063c45a015514610232578063df2ab5bb1461024757610176565b8063a4a78f0c116100a5578063a4a78f0c146101cc578063ac9650d8146101df578063c04b8d59146101ff57610176565b80634659a4941461017b57806349404b7c1461018e5780634aa4a4fc146101a157610176565b36610176573373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b610174610189366004611efd565b6102a0565b61017461019c36600461223f565b610360565b3480156101ad57600080fd5b506101b661052c565b6040516101c391906122c4565b60405180910390f35b6101746101da366004611efd565b610550565b6101f26101ed366004611f5b565b61062d565b6040516101c39190612337565b61021261020d3660046120d2565b610790565b6040516101c3919061247e565b61017461022d366004611efd565b6108d1565b34801561023e57600080fd5b506101b6610986565b610174610255366004611ec2565b6109aa565b61021261026836600461217d565b610acd565b61017461027b366004611efd565b610c22565b34801561028c57600080fd5b5061017461029b366004611fed565b610cba565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561034057600080fd5b505af1158015610354573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156103e957600080fd5b505afa1580156103fd573d6000803e3d6000fd5b505050506040513d602081101561041357600080fd5b50519050821561048c578281101561048c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610527577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561050557600080fd5b505af1158015610519573d6000803e3d6000fd5b505050506105278282610de1565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b1580156105e557600080fd5b505afa1580156105f9573d6000803e3d6000fd5b505050506040513d602081101561060f57600080fd5b50511015610625576106258686868686866102a0565b505050505050565b60608167ffffffffffffffff8111801561064657600080fd5b5060405190808252806020026020018201604052801561067a57816020015b60608152602001906001900390816106655790505b50905060005b82811015610789576000803086868581811061069857fe5b90506020028101906106aa9190612487565b6040516106b89291906122b4565b600060405180830381855af49150503d80600081146106f3576040519150601f19603f3d011682016040523d82523d6000602084013e6106f8565b606091505b5091509150816107675760448151101561071157600080fd5b6004810190508080602001905181019061072b9190612068565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e91906123b5565b60405180910390fd5b8084848151811061077457fe5b60209081029190910101525050600101610680565b5092915050565b60008160400151806107a0610f2f565b111561080d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b600061081c8460000151610f33565b905061085d846060015182610835578560200151610837565b305b604051806040016040528061084f8960000151610f3e565b815233602090910152610f53565b6060850152801561087a57835161087390611096565b8452610887565b836060015192505061088d565b5061080d565b82608001518210156108cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e906123ff565b50919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b15801561094657600080fd5b505afa15801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b5051101561062557610625868686868686610c22565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a1357600080fd5b505afa158015610a27573d6000803e3d6000fd5b505050506040513d6020811015610a3d57600080fd5b505190508215610ab65782811015610ab657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b8015610ac757610ac78483836110cb565b50505050565b6000816040013580610add610f2f565b1115610b4a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610bba6060840135610b626040860160208701611ea1565b6040805180820190915280610b778880612487565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250336020909101526112a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909155915060808301358211156108cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e906123c8565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561034057600080fd5b6000610cc8828401846121b5565b90506000806000610cdc84600001516113d2565b925092509250610d0e7f0000000000000000000000000000000000000000000000000000000000000000848484611403565b5060008060008a13610d4f578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161089610d80565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b915091508115610d9f57610d9a8587602001513384611422565b610354565b8551610daa90610f33565b15610dc7578551610dba90611096565b8652610d9a8133886112a7565b806000819055508394506103548587602001513384611422565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310610e5857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610e1b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610eba576040519150601f19603f3d011682016040523d82523d6000602084013e610ebf565b606091505b505090508061052757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b8051602b105b919050565b6060610f4d826000602b611605565b92915050565b600080600080610f6685600001516113d2565b9194509250905073ffffffffffffffffffffffffffffffffffffffff80831690841610600080610f978686866117ec565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088a85610fbd8e61182a565b87610fdc5773fffd8963efd1fc6a506488495d951d5263988d25610fe3565b6401000276a45b8d604051602001610ff49190612436565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016110239594939291906122e5565b6040805180830381600087803b15801561103c57600080fd5b505af1158015611050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110749190611fca565b91509150826110835781611085565b805b6000039a9950505050505050505050565b8051606090610f4d9083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611605565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b602083106111a057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611163565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611202576040519150601f19603f3d011682016040523d82523d6000602084013e611207565b606091505b5091509150818015611235575080511580611235575080806020019051602081101561123257600080fd5b50515b6112a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5050505050565b60008060006112b984600001516113d2565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808416908316106112e78385846117ec565b73ffffffffffffffffffffffffffffffffffffffff1663128acb08878361130d8b61182a565b6000038561132f5773fffd8963efd1fc6a506488495d951d5263988d25611336565b6401000276a45b8a6040516020016113479190612436565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016113769594939291906122e5565b6040805180830381600087803b15801561138f57600080fd5b505af11580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c79190611fca565b505050505050505050565b600080806113e0848261185c565b92506113ed84601461195c565b90506113fa84601761185c565b91509193909250565b600061141985611414868686611a4c565b611ac9565b95945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156114825750814791508110155b156115cb577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156114ef57600080fd5b505af1158015611503573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561159957600080fd5b505af11580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b506112a09050565b73ffffffffffffffffffffffffffffffffffffffff84163014156115f9576115f48584846110cb565b6112a0565b6112a085858585611af9565b60608182601f01101561167957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b8282840110156116ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b8183018451101561175c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b60608215801561177b57604051915060008252602082016040526117e3565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156117b457805183526020928301920161179c565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b60006118227f000000000000000000000000000000000000000000000000000000000000000061181d868686611a4c565b611cd6565b949350505050565b60007f8000000000000000000000000000000000000000000000000000000000000000821061185857600080fd5b5090565b6000818260140110156118d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561194357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b6000818260030110156119d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b8160030183511015611a4357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b611a54611e0c565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115611a8c579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b6000611ad58383611cd6565b90503373ffffffffffffffffffffffffffffffffffffffff821614610f4d57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b60208310611bd657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611b99565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c38576040519150601f19603f3d011682016040523d82523d6000602084013e611c3d565b606091505b5091509150818015611c6b575080511580611c6b5750808060200190516020811015611c6857600080fd5b50515b61062557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1610611d1857600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527f01d4d358e07707f4db84b6a7527455b06f95ee89b5d059b4a1298ada7b6c7d6760d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b803573ffffffffffffffffffffffffffffffffffffffff81168114610f3957600080fd5b600082601f830112611e60578081fd5b8135611e73611e6e82612515565b6124f1565b818152846020838601011115611e87578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611eb2578081fd5b611ebb82611e2c565b9392505050565b600080600060608486031215611ed6578182fd5b611edf84611e2c565b925060208401359150611ef460408501611e2c565b90509250925092565b60008060008060008060c08789031215611f15578182fd5b611f1e87611e2c565b95506020870135945060408701359350606087013560ff81168114611f41578283fd5b9598949750929560808101359460a0909101359350915050565b60008060208385031215611f6d578182fd5b823567ffffffffffffffff80821115611f84578384fd5b818501915085601f830112611f97578384fd5b813581811115611fa5578485fd5b8660208083028501011115611fb8578485fd5b60209290920196919550909350505050565b60008060408385031215611fdc578182fd5b505080516020909101519092909150565b60008060008060608587031215612002578384fd5b8435935060208501359250604085013567ffffffffffffffff80821115612027578384fd5b818701915087601f83011261203a578384fd5b813581811115612048578485fd5b886020828501011115612059578485fd5b95989497505060200194505050565b600060208284031215612079578081fd5b815167ffffffffffffffff81111561208f578182fd5b8201601f8101841361209f578182fd5b80516120ad611e6e82612515565b8181528560208385010111156120c1578384fd5b611419826020830160208601612555565b6000602082840312156120e3578081fd5b813567ffffffffffffffff808211156120fa578283fd5b9083019060a0828603121561210d578283fd5b60405160a08101818110838211171561212257fe5b604052823582811115612133578485fd5b61213f87828601611e50565b82525061214e60208401611e2c565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b60006020828403121561218e578081fd5b813567ffffffffffffffff8111156121a4578182fd5b820160a08185031215611ebb578182fd5b6000602082840312156121c6578081fd5b813567ffffffffffffffff808211156121dd578283fd5b90830190604082860312156121f0578283fd5b60405160408101818110838211171561220557fe5b604052823582811115612216578485fd5b61222287828601611e50565b82525061223160208401611e2c565b602082015295945050505050565b60008060408385031215612251578182fd5b8235915061226160208401611e2c565b90509250929050565b60008151808452612282816020860160208601612555565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a0608083015261232c60a083018461226a565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156123a8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261239685835161226a565b9450928501929085019060010161235c565b5092979650505050505050565b600060208252611ebb602083018461226a565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612452606084018261226a565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124bb578283fd5b83018035915067ffffffffffffffff8211156124d5578283fd5b6020019150368190038213156124ea57600080fd5b9250929050565b60405181810167ffffffffffffffff8111828210171561250d57fe5b604052919050565b600067ffffffffffffffff82111561252957fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612570578181015183820152602001612558565b83811115610ac7575050600091015256fea164736f6c6343000706000a",
"deployedBytecode": "0x6080604052600436106100cb5760003560e01c8063c2e3140a11610074578063f28c04981161004e578063f28c04981461025a578063f3995c671461026d578063fa461e331461028057610176565b8063c2e3140a1461021f578063c45a015514610232578063df2ab5bb1461024757610176565b8063a4a78f0c116100a5578063a4a78f0c146101cc578063ac9650d8146101df578063c04b8d59146101ff57610176565b80634659a4941461017b57806349404b7c1461018e5780634aa4a4fc146101a157610176565b36610176573373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b610174610189366004611efd565b6102a0565b61017461019c36600461223f565b610360565b3480156101ad57600080fd5b506101b661052c565b6040516101c391906122c4565b60405180910390f35b6101746101da366004611efd565b610550565b6101f26101ed366004611f5b565b61062d565b6040516101c39190612337565b61021261020d3660046120d2565b610790565b6040516101c3919061247e565b61017461022d366004611efd565b6108d1565b34801561023e57600080fd5b506101b6610986565b610174610255366004611ec2565b6109aa565b61021261026836600461217d565b610acd565b61017461027b366004611efd565b610c22565b34801561028c57600080fd5b5061017461029b366004611fed565b610cba565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561034057600080fd5b505af1158015610354573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156103e957600080fd5b505afa1580156103fd573d6000803e3d6000fd5b505050506040513d602081101561041357600080fd5b50519050821561048c578281101561048c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610527577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561050557600080fd5b505af1158015610519573d6000803e3d6000fd5b505050506105278282610de1565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b1580156105e557600080fd5b505afa1580156105f9573d6000803e3d6000fd5b505050506040513d602081101561060f57600080fd5b50511015610625576106258686868686866102a0565b505050505050565b60608167ffffffffffffffff8111801561064657600080fd5b5060405190808252806020026020018201604052801561067a57816020015b60608152602001906001900390816106655790505b50905060005b82811015610789576000803086868581811061069857fe5b90506020028101906106aa9190612487565b6040516106b89291906122b4565b600060405180830381855af49150503d80600081146106f3576040519150601f19603f3d011682016040523d82523d6000602084013e6106f8565b606091505b5091509150816107675760448151101561071157600080fd5b6004810190508080602001905181019061072b9190612068565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e91906123b5565b60405180910390fd5b8084848151811061077457fe5b60209081029190910101525050600101610680565b5092915050565b60008160400151806107a0610f2f565b111561080d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b600061081c8460000151610f33565b905061085d846060015182610835578560200151610837565b305b604051806040016040528061084f8960000151610f3e565b815233602090910152610f53565b6060850152801561087a57835161087390611096565b8452610887565b836060015192505061088d565b5061080d565b82608001518210156108cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e906123ff565b50919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b15801561094657600080fd5b505afa15801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b5051101561062557610625868686868686610c22565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a1357600080fd5b505afa158015610a27573d6000803e3d6000fd5b505050506040513d6020811015610a3d57600080fd5b505190508215610ab65782811015610ab657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b8015610ac757610ac78483836110cb565b50505050565b6000816040013580610add610f2f565b1115610b4a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610bba6060840135610b626040860160208701611ea1565b6040805180820190915280610b778880612487565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250336020909101526112a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909155915060808301358211156108cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e906123c8565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561034057600080fd5b6000610cc8828401846121b5565b90506000806000610cdc84600001516113d2565b925092509250610d0e7f0000000000000000000000000000000000000000000000000000000000000000848484611403565b5060008060008a13610d4f578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161089610d80565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b915091508115610d9f57610d9a8587602001513384611422565b610354565b8551610daa90610f33565b15610dc7578551610dba90611096565b8652610d9a8133886112a7565b806000819055508394506103548587602001513384611422565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310610e5857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610e1b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610eba576040519150601f19603f3d011682016040523d82523d6000602084013e610ebf565b606091505b505090508061052757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b8051602b105b919050565b6060610f4d826000602b611605565b92915050565b600080600080610f6685600001516113d2565b9194509250905073ffffffffffffffffffffffffffffffffffffffff80831690841610600080610f978686866117ec565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088a85610fbd8e61182a565b87610fdc5773fffd8963efd1fc6a506488495d951d5263988d25610fe3565b6401000276a45b8d604051602001610ff49190612436565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016110239594939291906122e5565b6040805180830381600087803b15801561103c57600080fd5b505af1158015611050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110749190611fca565b91509150826110835781611085565b805b6000039a9950505050505050505050565b8051606090610f4d9083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611605565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b602083106111a057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611163565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611202576040519150601f19603f3d011682016040523d82523d6000602084013e611207565b606091505b5091509150818015611235575080511580611235575080806020019051602081101561123257600080fd5b50515b6112a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5050505050565b60008060006112b984600001516113d2565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808416908316106112e78385846117ec565b73ffffffffffffffffffffffffffffffffffffffff1663128acb08878361130d8b61182a565b6000038561132f5773fffd8963efd1fc6a506488495d951d5263988d25611336565b6401000276a45b8a6040516020016113479190612436565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016113769594939291906122e5565b6040805180830381600087803b15801561138f57600080fd5b505af11580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c79190611fca565b505050505050505050565b600080806113e0848261185c565b92506113ed84601461195c565b90506113fa84601761185c565b91509193909250565b600061141985611414868686611a4c565b611ac9565b95945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156114825750814791508110155b156115cb577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156114ef57600080fd5b505af1158015611503573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561159957600080fd5b505af11580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b506112a09050565b73ffffffffffffffffffffffffffffffffffffffff84163014156115f9576115f48584846110cb565b6112a0565b6112a085858585611af9565b60608182601f01101561167957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b8282840110156116ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b8183018451101561175c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b60608215801561177b57604051915060008252602082016040526117e3565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156117b457805183526020928301920161179c565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b60006118227f000000000000000000000000000000000000000000000000000000000000000061181d868686611a4c565b611cd6565b949350505050565b60007f8000000000000000000000000000000000000000000000000000000000000000821061185857600080fd5b5090565b6000818260140110156118d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561194357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b6000818260030110156119d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b8160030183511015611a4357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b611a54611e0c565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115611a8c579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b6000611ad58383611cd6565b90503373ffffffffffffffffffffffffffffffffffffffff821614610f4d57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b60208310611bd657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611b99565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c38576040519150601f19603f3d011682016040523d82523d6000602084013e611c3d565b606091505b5091509150818015611c6b575080511580611c6b5750808060200190516020811015611c6857600080fd5b50515b61062557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1610611d1857600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527f01d4d358e07707f4db84b6a7527455b06f95ee89b5d059b4a1298ada7b6c7d6760d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b803573ffffffffffffffffffffffffffffffffffffffff81168114610f3957600080fd5b600082601f830112611e60578081fd5b8135611e73611e6e82612515565b6124f1565b818152846020838601011115611e87578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611eb2578081fd5b611ebb82611e2c565b9392505050565b600080600060608486031215611ed6578182fd5b611edf84611e2c565b925060208401359150611ef460408501611e2c565b90509250925092565b60008060008060008060c08789031215611f15578182fd5b611f1e87611e2c565b95506020870135945060408701359350606087013560ff81168114611f41578283fd5b9598949750929560808101359460a0909101359350915050565b60008060208385031215611f6d578182fd5b823567ffffffffffffffff80821115611f84578384fd5b818501915085601f830112611f97578384fd5b813581811115611fa5578485fd5b8660208083028501011115611fb8578485fd5b60209290920196919550909350505050565b60008060408385031215611fdc578182fd5b505080516020909101519092909150565b60008060008060608587031215612002578384fd5b8435935060208501359250604085013567ffffffffffffffff80821115612027578384fd5b818701915087601f83011261203a578384fd5b813581811115612048578485fd5b886020828501011115612059578485fd5b95989497505060200194505050565b600060208284031215612079578081fd5b815167ffffffffffffffff81111561208f578182fd5b8201601f8101841361209f578182fd5b80516120ad611e6e82612515565b8181528560208385010111156120c1578384fd5b611419826020830160208601612555565b6000602082840312156120e3578081fd5b813567ffffffffffffffff808211156120fa578283fd5b9083019060a0828603121561210d578283fd5b60405160a08101818110838211171561212257fe5b604052823582811115612133578485fd5b61213f87828601611e50565b82525061214e60208401611e2c565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b60006020828403121561218e578081fd5b813567ffffffffffffffff8111156121a4578182fd5b820160a08185031215611ebb578182fd5b6000602082840312156121c6578081fd5b813567ffffffffffffffff808211156121dd578283fd5b90830190604082860312156121f0578283fd5b60405160408101818110838211171561220557fe5b604052823582811115612216578485fd5b61222287828601611e50565b82525061223160208401611e2c565b602082015295945050505050565b60008060408385031215612251578182fd5b8235915061226160208401611e2c565b90509250929050565b60008151808452612282816020860160208601612555565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a0608083015261232c60a083018461226a565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156123a8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261239685835161226a565b9450928501929085019060010161235c565b5092979650505050505050565b600060208252611ebb602083018461226a565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612452606084018261226a565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124bb578283fd5b83018035915067ffffffffffffffff8211156124d5578283fd5b6020019150368190038213156124ea57600080fd5b9250929050565b60405181810167ffffffffffffffff8111828210171561250d57fe5b604052919050565b600067ffffffffffffffff82111561252957fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612570578181015183820152602001612558565b83811115610ac7575050600091015256fea164736f6c6343000706000a",
"bytecode": "0x60c06040526000196000553480156200001757600080fd5b506040516200268c3803806200268c8339810160408190526200003a9162000076565b6001600160601b0319606092831b8116608052911b1660a052620000ad565b80516001600160a01b03811681146200007157600080fd5b919050565b6000806040838503121562000089578182fd5b620000948362000059565b9150620000a46020840162000059565b90509250929050565b60805160601c60a05160601c61258e620000fe6000398060e852806103645280610494528061052e52806114265280611489528061150a5250806109885280610ce752806117f3525061258e6000f3fe6080604052600436106100cb5760003560e01c8063c2e3140a11610074578063f28c04981161004e578063f28c04981461025a578063f3995c671461026d578063fa461e331461028057610176565b8063c2e3140a1461021f578063c45a015514610232578063df2ab5bb1461024757610176565b8063a4a78f0c116100a5578063a4a78f0c146101cc578063ac9650d8146101df578063c04b8d59146101ff57610176565b80634659a4941461017b57806349404b7c1461018e5780634aa4a4fc146101a157610176565b36610176573373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b610174610189366004611efd565b6102a0565b61017461019c36600461223f565b610360565b3480156101ad57600080fd5b506101b661052c565b6040516101c391906122c4565b60405180910390f35b6101746101da366004611efd565b610550565b6101f26101ed366004611f5b565b61062d565b6040516101c39190612337565b61021261020d3660046120d2565b610790565b6040516101c3919061247e565b61017461022d366004611efd565b6108d1565b34801561023e57600080fd5b506101b6610986565b610174610255366004611ec2565b6109aa565b61021261026836600461217d565b610acd565b61017461027b366004611efd565b610c22565b34801561028c57600080fd5b5061017461029b366004611fed565b610cba565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561034057600080fd5b505af1158015610354573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156103e957600080fd5b505afa1580156103fd573d6000803e3d6000fd5b505050506040513d602081101561041357600080fd5b50519050821561048c578281101561048c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610527577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561050557600080fd5b505af1158015610519573d6000803e3d6000fd5b505050506105278282610de1565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b1580156105e557600080fd5b505afa1580156105f9573d6000803e3d6000fd5b505050506040513d602081101561060f57600080fd5b50511015610625576106258686868686866102a0565b505050505050565b60608167ffffffffffffffff8111801561064657600080fd5b5060405190808252806020026020018201604052801561067a57816020015b60608152602001906001900390816106655790505b50905060005b82811015610789576000803086868581811061069857fe5b90506020028101906106aa9190612487565b6040516106b89291906122b4565b600060405180830381855af49150503d80600081146106f3576040519150601f19603f3d011682016040523d82523d6000602084013e6106f8565b606091505b5091509150816107675760448151101561071157600080fd5b6004810190508080602001905181019061072b9190612068565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e91906123b5565b60405180910390fd5b8084848151811061077457fe5b60209081029190910101525050600101610680565b5092915050565b60008160400151806107a0610f2f565b111561080d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b600061081c8460000151610f33565b905061085d846060015182610835578560200151610837565b305b604051806040016040528061084f8960000151610f3e565b815233602090910152610f53565b6060850152801561087a57835161087390611096565b8452610887565b836060015192505061088d565b5061080d565b82608001518210156108cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e906123ff565b50919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b15801561094657600080fd5b505afa15801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b5051101561062557610625868686868686610c22565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a1357600080fd5b505afa158015610a27573d6000803e3d6000fd5b505050506040513d6020811015610a3d57600080fd5b505190508215610ab65782811015610ab657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b8015610ac757610ac78483836110cb565b50505050565b6000816040013580610add610f2f565b1115610b4a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610bba6060840135610b626040860160208701611ea1565b6040805180820190915280610b778880612487565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250336020909101526112a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909155915060808301358211156108cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e906123c8565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561034057600080fd5b6000610cc8828401846121b5565b90506000806000610cdc84600001516113d2565b925092509250610d0e7f0000000000000000000000000000000000000000000000000000000000000000848484611403565b5060008060008a13610d4f578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161089610d80565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b915091508115610d9f57610d9a8587602001513384611422565b610354565b8551610daa90610f33565b15610dc7578551610dba90611096565b8652610d9a8133886112a7565b806000819055508394506103548587602001513384611422565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310610e5857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610e1b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610eba576040519150601f19603f3d011682016040523d82523d6000602084013e610ebf565b606091505b505090508061052757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b8051602b105b919050565b6060610f4d826000602b611605565b92915050565b600080600080610f6685600001516113d2565b9194509250905073ffffffffffffffffffffffffffffffffffffffff80831690841610600080610f978686866117ec565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088a85610fbd8e61182a565b87610fdc5773fffd8963efd1fc6a506488495d951d5263988d25610fe3565b6401000276a45b8d604051602001610ff49190612436565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016110239594939291906122e5565b6040805180830381600087803b15801561103c57600080fd5b505af1158015611050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110749190611fca565b91509150826110835781611085565b805b6000039a9950505050505050505050565b8051606090610f4d9083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611605565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b602083106111a057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611163565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611202576040519150601f19603f3d011682016040523d82523d6000602084013e611207565b606091505b5091509150818015611235575080511580611235575080806020019051602081101561123257600080fd5b50515b6112a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5050505050565b60008060006112b984600001516113d2565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808416908316106112e78385846117ec565b73ffffffffffffffffffffffffffffffffffffffff1663128acb08878361130d8b61182a565b6000038561132f5773fffd8963efd1fc6a506488495d951d5263988d25611336565b6401000276a45b8a6040516020016113479190612436565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016113769594939291906122e5565b6040805180830381600087803b15801561138f57600080fd5b505af11580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c79190611fca565b505050505050505050565b600080806113e0848261185c565b92506113ed84601461195c565b90506113fa84601761185c565b91509193909250565b600061141985611414868686611a4c565b611ac9565b95945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156114825750814791508110155b156115cb577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156114ef57600080fd5b505af1158015611503573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561159957600080fd5b505af11580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b506112a09050565b73ffffffffffffffffffffffffffffffffffffffff84163014156115f9576115f48584846110cb565b6112a0565b6112a085858585611af9565b60608182601f01101561167957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b8282840110156116ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b8183018451101561175c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b60608215801561177b57604051915060008252602082016040526117e3565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156117b457805183526020928301920161179c565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b60006118227f000000000000000000000000000000000000000000000000000000000000000061181d868686611a4c565b611cd6565b949350505050565b60007f8000000000000000000000000000000000000000000000000000000000000000821061185857600080fd5b5090565b6000818260140110156118d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561194357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b6000818260030110156119d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b8160030183511015611a4357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b611a54611e0c565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115611a8c579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b6000611ad58383611cd6565b90503373ffffffffffffffffffffffffffffffffffffffff821614610f4d57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b60208310611bd657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611b99565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c38576040519150601f19603f3d011682016040523d82523d6000602084013e611c3d565b606091505b5091509150818015611c6b575080511580611c6b5750808060200190516020811015611c6857600080fd5b50515b61062557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1610611d1857600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fa8180af292c6986c74fa300a542e049db8a89221e2452e431c3d8103b610c56860d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b803573ffffffffffffffffffffffffffffffffffffffff81168114610f3957600080fd5b600082601f830112611e60578081fd5b8135611e73611e6e82612515565b6124f1565b818152846020838601011115611e87578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611eb2578081fd5b611ebb82611e2c565b9392505050565b600080600060608486031215611ed6578182fd5b611edf84611e2c565b925060208401359150611ef460408501611e2c565b90509250925092565b60008060008060008060c08789031215611f15578182fd5b611f1e87611e2c565b95506020870135945060408701359350606087013560ff81168114611f41578283fd5b9598949750929560808101359460a0909101359350915050565b60008060208385031215611f6d578182fd5b823567ffffffffffffffff80821115611f84578384fd5b818501915085601f830112611f97578384fd5b813581811115611fa5578485fd5b8660208083028501011115611fb8578485fd5b60209290920196919550909350505050565b60008060408385031215611fdc578182fd5b505080516020909101519092909150565b60008060008060608587031215612002578384fd5b8435935060208501359250604085013567ffffffffffffffff80821115612027578384fd5b818701915087601f83011261203a578384fd5b813581811115612048578485fd5b886020828501011115612059578485fd5b95989497505060200194505050565b600060208284031215612079578081fd5b815167ffffffffffffffff81111561208f578182fd5b8201601f8101841361209f578182fd5b80516120ad611e6e82612515565b8181528560208385010111156120c1578384fd5b611419826020830160208601612555565b6000602082840312156120e3578081fd5b813567ffffffffffffffff808211156120fa578283fd5b9083019060a0828603121561210d578283fd5b60405160a08101818110838211171561212257fe5b604052823582811115612133578485fd5b61213f87828601611e50565b82525061214e60208401611e2c565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b60006020828403121561218e578081fd5b813567ffffffffffffffff8111156121a4578182fd5b820160a08185031215611ebb578182fd5b6000602082840312156121c6578081fd5b813567ffffffffffffffff808211156121dd578283fd5b90830190604082860312156121f0578283fd5b60405160408101818110838211171561220557fe5b604052823582811115612216578485fd5b61222287828601611e50565b82525061223160208401611e2c565b602082015295945050505050565b60008060408385031215612251578182fd5b8235915061226160208401611e2c565b90509250929050565b60008151808452612282816020860160208601612555565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a0608083015261232c60a083018461226a565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156123a8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261239685835161226a565b9450928501929085019060010161235c565b5092979650505050505050565b600060208252611ebb602083018461226a565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612452606084018261226a565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124bb578283fd5b83018035915067ffffffffffffffff8211156124d5578283fd5b6020019150368190038213156124ea57600080fd5b9250929050565b60405181810167ffffffffffffffff8111828210171561250d57fe5b604052919050565b600067ffffffffffffffff82111561252957fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612570578181015183820152602001612558565b83811115610ac7575050600091015256fea164736f6c6343000706000a",
"deployedBytecode": "0x6080604052600436106100cb5760003560e01c8063c2e3140a11610074578063f28c04981161004e578063f28c04981461025a578063f3995c671461026d578063fa461e331461028057610176565b8063c2e3140a1461021f578063c45a015514610232578063df2ab5bb1461024757610176565b8063a4a78f0c116100a5578063a4a78f0c146101cc578063ac9650d8146101df578063c04b8d59146101ff57610176565b80634659a4941461017b57806349404b7c1461018e5780634aa4a4fc146101a157610176565b36610176573373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461017457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b610174610189366004611efd565b6102a0565b61017461019c36600461223f565b610360565b3480156101ad57600080fd5b506101b661052c565b6040516101c391906122c4565b60405180910390f35b6101746101da366004611efd565b610550565b6101f26101ed366004611f5b565b61062d565b6040516101c39190612337565b61021261020d3660046120d2565b610790565b6040516101c3919061247e565b61017461022d366004611efd565b6108d1565b34801561023e57600080fd5b506101b6610986565b610174610255366004611ec2565b6109aa565b61021261026836600461217d565b610acd565b61017461027b366004611efd565b610c22565b34801561028c57600080fd5b5061017461029b366004611fed565b610cba565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561034057600080fd5b505af1158015610354573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156103e957600080fd5b505afa1580156103fd573d6000803e3d6000fd5b505050506040513d602081101561041357600080fd5b50519050821561048c578281101561048c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610527577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561050557600080fd5b505af1158015610519573d6000803e3d6000fd5b505050506105278282610de1565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b1580156105e557600080fd5b505afa1580156105f9573d6000803e3d6000fd5b505050506040513d602081101561060f57600080fd5b50511015610625576106258686868686866102a0565b505050505050565b60608167ffffffffffffffff8111801561064657600080fd5b5060405190808252806020026020018201604052801561067a57816020015b60608152602001906001900390816106655790505b50905060005b82811015610789576000803086868581811061069857fe5b90506020028101906106aa9190612487565b6040516106b89291906122b4565b600060405180830381855af49150503d80600081146106f3576040519150601f19603f3d011682016040523d82523d6000602084013e6106f8565b606091505b5091509150816107675760448151101561071157600080fd5b6004810190508080602001905181019061072b9190612068565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e91906123b5565b60405180910390fd5b8084848151811061077457fe5b60209081029190910101525050600101610680565b5092915050565b60008160400151806107a0610f2f565b111561080d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b600061081c8460000151610f33565b905061085d846060015182610835578560200151610837565b305b604051806040016040528061084f8960000151610f3e565b815233602090910152610f53565b6060850152801561087a57835161087390611096565b8452610887565b836060015192505061088d565b5061080d565b82608001518210156108cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e906123ff565b50919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b15801561094657600080fd5b505afa15801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b5051101561062557610625868686868686610c22565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a1357600080fd5b505afa158015610a27573d6000803e3d6000fd5b505050506040513d6020811015610a3d57600080fd5b505190508215610ab65782811015610ab657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b8015610ac757610ac78483836110cb565b50505050565b6000816040013580610add610f2f565b1115610b4a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610bba6060840135610b626040860160208701611ea1565b6040805180820190915280610b778880612487565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250336020909101526112a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909155915060808301358211156108cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075e906123c8565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561034057600080fd5b6000610cc8828401846121b5565b90506000806000610cdc84600001516113d2565b925092509250610d0e7f0000000000000000000000000000000000000000000000000000000000000000848484611403565b5060008060008a13610d4f578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161089610d80565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b915091508115610d9f57610d9a8587602001513384611422565b610354565b8551610daa90610f33565b15610dc7578551610dba90611096565b8652610d9a8133886112a7565b806000819055508394506103548587602001513384611422565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310610e5857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610e1b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610eba576040519150601f19603f3d011682016040523d82523d6000602084013e610ebf565b606091505b505090508061052757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b8051602b105b919050565b6060610f4d826000602b611605565b92915050565b600080600080610f6685600001516113d2565b9194509250905073ffffffffffffffffffffffffffffffffffffffff80831690841610600080610f978686866117ec565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088a85610fbd8e61182a565b87610fdc5773fffd8963efd1fc6a506488495d951d5263988d25610fe3565b6401000276a45b8d604051602001610ff49190612436565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016110239594939291906122e5565b6040805180830381600087803b15801561103c57600080fd5b505af1158015611050573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110749190611fca565b91509150826110835781611085565b805b6000039a9950505050505050505050565b8051606090610f4d9083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611605565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b602083106111a057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611163565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611202576040519150601f19603f3d011682016040523d82523d6000602084013e611207565b606091505b5091509150818015611235575080511580611235575080806020019051602081101561123257600080fd5b50515b6112a057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b5050505050565b60008060006112b984600001516113d2565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808416908316106112e78385846117ec565b73ffffffffffffffffffffffffffffffffffffffff1663128acb08878361130d8b61182a565b6000038561132f5773fffd8963efd1fc6a506488495d951d5263988d25611336565b6401000276a45b8a6040516020016113479190612436565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016113769594939291906122e5565b6040805180830381600087803b15801561138f57600080fd5b505af11580156113a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c79190611fca565b505050505050505050565b600080806113e0848261185c565b92506113ed84601461195c565b90506113fa84601761185c565b91509193909250565b600061141985611414868686611a4c565b611ac9565b95945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156114825750814791508110155b156115cb577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156114ef57600080fd5b505af1158015611503573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561159957600080fd5b505af11580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b506112a09050565b73ffffffffffffffffffffffffffffffffffffffff84163014156115f9576115f48584846110cb565b6112a0565b6112a085858585611af9565b60608182601f01101561167957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b8282840110156116ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b8183018451101561175c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b60608215801561177b57604051915060008252602082016040526117e3565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156117b457805183526020928301920161179c565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b60006118227f000000000000000000000000000000000000000000000000000000000000000061181d868686611a4c565b611cd6565b949350505050565b60007f8000000000000000000000000000000000000000000000000000000000000000821061185857600080fd5b5090565b6000818260140110156118d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561194357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b6000818260030110156119d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b8160030183511015611a4357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b611a54611e0c565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115611a8c579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b6000611ad58383611cd6565b90503373ffffffffffffffffffffffffffffffffffffffff821614610f4d57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b60208310611bd657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611b99565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c38576040519150601f19603f3d011682016040523d82523d6000602084013e611c3d565b606091505b5091509150818015611c6b575080511580611c6b5750808060200190516020811015611c6857600080fd5b50515b61062557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1610611d1857600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fa8180af292c6986c74fa300a542e049db8a89221e2452e431c3d8103b610c56860d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b803573ffffffffffffffffffffffffffffffffffffffff81168114610f3957600080fd5b600082601f830112611e60578081fd5b8135611e73611e6e82612515565b6124f1565b818152846020838601011115611e87578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215611eb2578081fd5b611ebb82611e2c565b9392505050565b600080600060608486031215611ed6578182fd5b611edf84611e2c565b925060208401359150611ef460408501611e2c565b90509250925092565b60008060008060008060c08789031215611f15578182fd5b611f1e87611e2c565b95506020870135945060408701359350606087013560ff81168114611f41578283fd5b9598949750929560808101359460a0909101359350915050565b60008060208385031215611f6d578182fd5b823567ffffffffffffffff80821115611f84578384fd5b818501915085601f830112611f97578384fd5b813581811115611fa5578485fd5b8660208083028501011115611fb8578485fd5b60209290920196919550909350505050565b60008060408385031215611fdc578182fd5b505080516020909101519092909150565b60008060008060608587031215612002578384fd5b8435935060208501359250604085013567ffffffffffffffff80821115612027578384fd5b818701915087601f83011261203a578384fd5b813581811115612048578485fd5b886020828501011115612059578485fd5b95989497505060200194505050565b600060208284031215612079578081fd5b815167ffffffffffffffff81111561208f578182fd5b8201601f8101841361209f578182fd5b80516120ad611e6e82612515565b8181528560208385010111156120c1578384fd5b611419826020830160208601612555565b6000602082840312156120e3578081fd5b813567ffffffffffffffff808211156120fa578283fd5b9083019060a0828603121561210d578283fd5b60405160a08101818110838211171561212257fe5b604052823582811115612133578485fd5b61213f87828601611e50565b82525061214e60208401611e2c565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b60006020828403121561218e578081fd5b813567ffffffffffffffff8111156121a4578182fd5b820160a08185031215611ebb578182fd5b6000602082840312156121c6578081fd5b813567ffffffffffffffff808211156121dd578283fd5b90830190604082860312156121f0578283fd5b60405160408101818110838211171561220557fe5b604052823582811115612216578485fd5b61222287828601611e50565b82525061223160208401611e2c565b602082015295945050505050565b60008060408385031215612251578182fd5b8235915061226160208401611e2c565b90509250929050565b60008151808452612282816020860160208601612555565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a0608083015261232c60a083018461226a565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156123a8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261239685835161226a565b9450928501929085019060010161235c565b5092979650505050505050565b600060208252611ebb602083018461226a565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612452606084018261226a565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124bb578283fd5b83018035915067ffffffffffffffff8211156124d5578283fd5b6020019150368190038213156124ea57600080fd5b9250929050565b60405181810167ffffffffffffffff8111828210171561250d57fe5b604052919050565b600067ffffffffffffffff82111561252957fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612570578181015183820152602001612558565b83811115610ac7575050600091015256fea164736f6c6343000706000a",
"linkReferences": {},
"deployedLinkReferences": {}
}

@@ -8,3 +8,3 @@ {

},
"version": "1.0.0-beta.11",
"version": "1.0.0-beta.12",
"homepage": "https://uniswap.org",

@@ -33,4 +33,10 @@ "keywords": [

"@openzeppelin/contracts": "3.4.1-solc-0.7-2",
"@uniswap/v3-core": "^1.0.0-rc.0"
"@uniswap/lib": "^4.0.1-alpha",
"@uniswap/v2-core": "1.0.1",
"@uniswap/v3-core": "1.0.0-rc.1"
},
"peerDependencies": {
"@uniswap/v2-core": "1.0.1",
"@uniswap/v3-core": "1.0.0-rc.1"
},
"devDependencies": {

@@ -37,0 +43,0 @@ "@nomiclabs/hardhat-ethers": "^2.0.0",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc