[ { "inputs": [ { "internalType": "contract IPool", "name": "_pool", "type": "address" }, { "internalType": "uint128[]", "name": "_binIds", "type": "uint128[]" }, { "internalType": "uint128[]", "name": "_ratios", "type": "uint128[]" }, { "internalType": "uint256", "name": "factoryCount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "BinIsMerged", "type": "error" }, { "inputs": [ { "internalType": "uint128[]", "name": "binIds", "type": "uint128[]" } ], "name": "InvalidBinIds", "type": "error" }, { "inputs": [], "name": "InvalidRatio", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "InvalidTokenId", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint128", "name": "oldBinId", "type": "uint128" }, { "indexed": false, "internalType": "uint128", "name": "newBinId", "type": "uint128" } ], "name": "MigrateBinLiquidity", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "amountA", "type": "uint256" }, { "internalType": "uint256", "name": "amountB", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "addLiquidityCallback", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "allBinIds", "outputs": [ { "internalType": "uint128[]", "name": "", "type": "uint128[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "binIds", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint128", "name": "binZeroLpAddAmount", "type": "uint128" } ], "name": "binLpAddAmountRequirement", "outputs": [ { "components": [ { "internalType": "uint128", "name": "binId", "type": "uint128" }, { "internalType": "uint128", "name": "amount", "type": "uint128" } ], "internalType": "struct IPool.RemoveLiquidityParams[]", "name": "params", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "lpAmountToUnStake", "type": "uint256" } ], "name": "burnFromToAddressAsReserves", "outputs": [ { "internalType": "uint256", "name": "amountA", "type": "uint256" }, { "internalType": "uint256", "name": "amountB", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "toTokenId", "type": "uint256" }, { "internalType": "uint256", "name": "lpAmountToUnStake", "type": "uint256" } ], "name": "burnFromToTokenIdAsBinLiquidity", "outputs": [ { "components": [ { "internalType": "uint128", "name": "binId", "type": "uint128" }, { "internalType": "uint128", "name": "amount", "type": "uint128" } ], "internalType": "struct IPool.RemoveLiquidityParams[]", "name": "params", "type": "tuple[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getReserves", "outputs": [ { "internalType": "uint256", "name": "reserveA", "type": "uint256" }, { "internalType": "uint256", "name": "reserveB", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isStatic", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "migrateBinLiquidity", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "fromTokenId", "type": "uint256" }, { "internalType": "uint128", "name": "binZeroLpAddAmount", "type": "uint128" } ], "name": "mint", "outputs": [ { "internalType": "uint256", "name": "amountMinted", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pool", "outputs": [ { "internalType": "contract IPool", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "ratios", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
6101206040523480156200001257600080fd5b506040516200525f3803806200525f833981016040819052620000359162000aaf565b83838383600062000054858360016200054b60201b62001bd01760201c565b6200006d868460006200054b60201b62001bd01760201c565b60036200007b838262000bc5565b5060046200008a828262000bc5565b50506001600555508351801580620000ad575081158015620000ad575080600114155b80620000ba575083518114155b15620000e5578460405162637c7360e31b8152600401620000dc919062000c91565b60405180910390fd5b670de0b6b3a76400008460008151811062000104576200010462000ce0565b60200260200101516001600160801b031614620001345760405163648564d360e01b815260040160405180910390fd5b6001600160a01b0386166080528351620001569060079060208701906200089e565b5084516200016c9060069060208801906200089e565b50856001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d2919062000cf6565b6001600160a01b03166309218e916040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000210573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000236919062000cf6565b6040516335313c2160e11b81523060048201526001600160a01b039190911690636a627842906024016020604051808303816000875af11580156200027f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a5919062000d1d565b6101005281151560a0526080516040805162fc63d160e41b815290516001600160a01b0390921691630fc63d10916004808201926020929091908290030181865afa158015620002f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031f919062000cf6565b6001600160a01b031660c0816001600160a01b0316815250506080516001600160a01b0316635f64b55b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000379573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039f919062000cf6565b6001600160a01b031660e0908152604080519182018152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082018190529060005b8381101562000538576080516001600160a01b03166344a185bb89838151811062000417576200041762000ce0565b60200260200101516040518263ffffffff1660e01b81526004016200044b91906001600160801b0391909116815260200190565b60e060405180830381865afa15801562000469573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200048f919062000d4a565b915060a0518015620004a7575060a082015160ff1615155b80620004e15750826001600160801b0316888281518110620004cd57620004cd62000ce0565b60200260200101516001600160801b031611155b1562000503578760405162637c7360e31b8152600401620000dc919062000c91565b87818151811062000518576200051862000ce0565b6020026020010151925080806200052f9062000e0a565b915050620003e8565b5050505050505050505050505062000fd7565b6060816200057557604051806040016040528060038152602001624d502d60e81b815250620005a1565b604051806040016040528060128152602001714d6176657269636b20506f736974696f6e2d60701b8152505b846001600160a01b0316630fc63d106040518163ffffffff1660e01b8152600401602060405180830381865afa158015620005e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000606919062000cf6565b6001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000644573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200066e919081019062000e4c565b856001600160a01b0316635f64b55b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620006ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006d3919062000cf6565b6001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562000711573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200073b919081019062000e4c565b62000751866200077e60201b62001e7b1760201c565b60405160200162000766949392919062000eea565b60405160208183030381529060405290509392505050565b606081600003620007a65750506040805180820190915260018152600360fc1b602082015290565b8160005b8115620007d65780620007bd8162000e0a565b9150620007ce9050600a8362000f77565b9150620007aa565b6000816001600160401b03811115620007f357620007f36200098d565b6040519080825280601f01601f1916602001820160405280156200081e576020820181803683370190505b5090505b841562000896576200083660018362000f8e565b915062000845600a8662000faa565b6200085290603062000fc1565b60f81b8183815181106200086a576200086a62000ce0565b60200101906001600160f81b031916908160001a9053506200088e600a8662000f77565b945062000822565b949350505050565b828054828255906000526020600020906001016002900481019282156200094b5791602002820160005b838211156200091457835183826101000a8154816001600160801b0302191690836001600160801b031602179055509260200192601001602081600f01049283019260010302620008c8565b8015620009495782816101000a8154906001600160801b030219169055601001602081600f0104928301926001030262000914565b505b50620009599291506200095d565b5090565b5b808211156200095957600081556001016200095e565b6001600160a01b03811681146200098a57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715620009c857620009c86200098d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620009f957620009f96200098d565b604052919050565b80516001600160801b038116811462000a1957600080fd5b919050565b600082601f83011262000a3057600080fd5b815160206001600160401b0382111562000a4e5762000a4e6200098d565b8160051b62000a5f828201620009ce565b928352848101820192828101908785111562000a7a57600080fd5b83870192505b8483101562000aa45762000a948362000a01565b8252918301919083019062000a80565b979650505050505050565b6000806000806080858703121562000ac657600080fd5b845162000ad38162000974565b60208601519094506001600160401b038082111562000af157600080fd5b62000aff8883890162000a1e565b9450604087015191508082111562000b1657600080fd5b5062000b258782880162000a1e565b606096909601519497939650505050565b600181811c9082168062000b4b57607f821691505b60208210810362000b6c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000bc057600081815260208120601f850160051c8101602086101562000b9b5750805b601f850160051c820191505b8181101562000bbc5782815560010162000ba7565b5050505b505050565b81516001600160401b0381111562000be15762000be16200098d565b62000bf98162000bf2845462000b36565b8462000b72565b602080601f83116001811462000c31576000841562000c185750858301515b600019600386901b1c1916600185901b17855562000bbc565b600085815260208120601f198616915b8281101562000c625788860151825594840194600190910190840162000c41565b508582101562000c815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020808252825182820181905260009190848201906040850190845b8181101562000cd45783516001600160801b03168352928401929184019160010162000cad565b50909695505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121562000d0957600080fd5b815162000d168162000974565b9392505050565b60006020828403121562000d3057600080fd5b5051919050565b8051600381900b811462000a1957600080fd5b600060e0828403121562000d5d57600080fd5b62000d67620009a3565b62000d728362000a01565b815262000d826020840162000a01565b602082015262000d956040840162000a01565b604082015262000da86060840162000a01565b606082015262000dbb6080840162000a01565b608082015260a083015160ff8116811462000dd557600080fd5b60a082015262000de860c0840162000d37565b60c08201529392505050565b634e487b7160e01b600052601160045260246000fd5b60006001820162000e1f5762000e1f62000df4565b5060010190565b60005b8381101562000e4357818101518382015260200162000e29565b50506000910152565b60006020828403121562000e5f57600080fd5b81516001600160401b038082111562000e7757600080fd5b818401915084601f83011262000e8c57600080fd5b81518181111562000ea15762000ea16200098d565b62000eb6601f8201601f1916602001620009ce565b915080825285602082850101111562000ece57600080fd5b62000ee181602084016020860162000e26565b50949350505050565b6000855162000efe818460208a0162000e26565b85519083019062000f14818360208a0162000e26565b602d60f81b9101818152855190919062000f36816001850160208a0162000e26565b6001920191820152835162000f5381600284016020880162000e26565b016002019695505050505050565b634e487b7160e01b600052601260045260246000fd5b60008262000f895762000f8962000f61565b500490565b8181038181111562000fa45762000fa462000df4565b92915050565b60008262000fbc5762000fbc62000f61565b500690565b8082018082111562000fa45762000fa462000df4565b60805160a05160c05160e0516101005161414e620011116000396000818161026c015281816105dd015281816107be01528181610aa101528181610b6201528181610d0b01528181611220015281816114e90152818161183801526121f201526000611a0a015260006119a301526000818161043a0152818161064d0152818161093201528181610e0d01528181611a5b01528181611fbc01526123c6015260008181610220015281816105b0015281816106760152818161095b01528181610b2601528181610cce01528181610ea601528181610f4f01528181611078015281816111f10152818161130b015281816114ad01528181611809015281816119c501528181611a2c01528181611a8401528181611fe5015281816121b6015281816123ef015281816132740152613344015261414e6000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370a08231116100e3578063a9059cbb1161008c578063dd62ed3e11610066578063dd62ed3e146103dc578063e0da8d4a14610422578063ef0def6a1461043557600080fd5b8063a9059cbb146103a1578063b15a3bc6146103b4578063dc8fd182146103c957600080fd5b806395d89b41116100bd57806395d89b4114610373578063a457c2d71461037b578063a796f7111461038e57600080fd5b806370a08231146103205780637279f59314610356578063771dc86a1461036057600080fd5b806318160ddd11610145578063313ce5671161011f578063313ce567146102eb57806339509351146102fa578063499d10811461030d57600080fd5b806318160ddd1461029c5780631f2fce96146102a457806323b872dd146102d857600080fd5b8063095ea7b311610176578063095ea7b3146101f857806316f0115b1461021b57806317d70f7c1461026757600080fd5b806306fdde031461019d578063088da5f6146101bb5780630902f1ac146101db575b600080fd5b6101a561045c565b6040516101b29190613716565b60405180910390f35b6101ce6101c936600461374e565b6104ee565b6040516101b291906137df565b6101e3610648565b604080519283526020830191909152016101b2565b61020b6102063660046137f2565b6107eb565b60405190151581526020016101b2565b6102427f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b2565b61028e7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016101b2565b60025461028e565b6102b76102b236600461381e565b610805565b6040516fffffffffffffffffffffffffffffffff90911681526020016101b2565b61020b6102e6366004613837565b61084b565b604051601281526020016101b2565b61020b6103083660046137f2565b610871565b61028e61031b366004613896565b6108bd565b61028e61032e3660046138d8565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61035e610d9a565b005b6102b761036e36600461381e565b61164e565b6101a561165e565b61020b6103893660046137f2565b61166d565b6101e361039c366004613837565b611749565b61020b6103af3660046137f2565b6118da565b6103bc6118e8565b6040516101b291906138f5565b61035e6103d736600461394b565b611983565b61028e6103ea3660046139cb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101ce610430366004613a04565b611a57565b61020b7f000000000000000000000000000000000000000000000000000000000000000081565b60606003805461046b90613a21565b80601f016020809104026020016040519081016040528092919081815260200182805461049790613a21565b80156104e45780601f106104b9576101008083540402835291602001916104e4565b820191906000526020600020905b8154815290600101906020018083116104c757829003601f168201915b5050505050905090565b6060600260055403610561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026005556105708483611fb8565b6040517fd279735f00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063d279735f90610609907f00000000000000000000000000000000000000000000000000000000000000009087908690600401613a74565b600060405180830381600087803b15801561062357600080fd5b505af1158015610637573d6000803e3d6000fd5b505060016005555090949350505050565b6000807f000000000000000000000000000000000000000000000000000000000000000015801561078257507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166344a185bb60066000815481106106c4576106c4613a9c565b6000918252602090912060028204015460405160e084901b7fffffffff0000000000000000000000000000000000000000000000000000000016815260019092166010026101000a90046fffffffffffffffffffffffffffffffff16600482015260240160e060405180830381865afa158015610745573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107699190613ba5565b606001516fffffffffffffffffffffffffffffffff1615155b156107b9576040517f3fecff8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107e27f00000000000000000000000000000000000000000000000000000000000000006123c1565b90939092509050565b6000336107f9818585612587565b60019150505b92915050565b6006818154811061081557600080fd5b9060005260206000209060029182820401919006601002915054906101000a90046fffffffffffffffffffffffffffffffff1681565b60003361085985828561273a565b61086485858561280b565b60019150505b9392505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906107f990829086906108b8908790613c8c565b612587565b600060026005540361092b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610558565b60026005557f0000000000000000000000000000000000000000000000000000000000000000158015610a6757507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166344a185bb60066000815481106109a9576109a9613a9c565b6000918252602090912060028204015460405160e084901b7fffffffff0000000000000000000000000000000000000000000000000000000016815260019092166010026101000a90046fffffffffffffffffffffffffffffffff16600482015260240160e060405180830381865afa158015610a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4e9190613ba5565b606001516fffffffffffffffffffffffffffffffff1615155b15610a9e576040517f3fecff8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b827f000000000000000000000000000000000000000000000000000000000000000003610afa576040517fed15e6cf00000000000000000000000000000000000000000000000000000000815260048101849052602401610558565b6000610b0560025490565b90508015610c4c57610c47836fffffffffffffffffffffffffffffffff16827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636da3bf8b7f00000000000000000000000000000000000000000000000000000000000000006006600081548110610b9557610b95613a9c565b6000918252602090912060028204015460405160e085901b7fffffffff00000000000000000000000000000000000000000000000000000000168152600481019390935260019091166010026101000a90046fffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa158015610c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c429190613c9f565b612abe565b610c60565b826fffffffffffffffffffffffffffffffff165b915081600003610ccc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f50503a207a65726f206d696e74000000000000000000000000000000000000006044820152606401610558565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d279735f857f0000000000000000000000000000000000000000000000000000000000000000610d3387612b8b565b6040518463ffffffff1660e01b8152600401610d5193929190613a74565b600060405180830381600087803b158015610d6b57600080fd5b505af1158015610d7f573d6000803e3d6000fd5b50505050610d8d8583612db6565b5060016005559392505050565b600260055403610e06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610558565b60026005557f00000000000000000000000000000000000000000000000000000000000000006116475760006006600081548110610e4657610e46613a9c565b6000918252602082206002820401546040517f44a185bb00000000000000000000000000000000000000000000000000000000815260019092166010026101000a90046fffffffffffffffffffffffffffffffff166004820181905292507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906344a185bb9060240160e060405180830381865afa158015610f02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f269190613ba5565b905080606001516fffffffffffffffffffffffffffffffff16600003610f4d575050611647565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c0c5d7fb6006600081548110610f9d57610f9d613a9c565b60009182526020822060028204015460405160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815260019092166010026101000a90046fffffffffffffffffffffffffffffffff1660048201526024810191909152604401600060405180830381600087803b15801561102257600080fd5b505af1158015611036573d6000803e3d6000fd5b50506040517f44a185bb0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff851660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1692506344a185bb915060240160e060405180830381865afa1580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fa9190613ba5565b60608101516040805160018082528183019092529293509091600091816020015b604080518082019091526000808252602082015281526020019060019003908161111b579050509050838160008151811061115857611158613a9c565b60209081029190910101516fffffffffffffffffffffffffffffffff91821690528151829060009061118c5761118c613a9c565b6020908102919091018101516fffffffffffffffffffffffffffffffff9092169101526040517f57c8c7b0000000000000000000000000000000000000000000000000000000008152600090819073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906357c8c7b09061124a9030907f0000000000000000000000000000000000000000000000000000000000000000908890600401613cb8565b6000604051808303816000875af1158015611269573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526112af9190810190613cfd565b50915091508160001415806112c357508015155b15611594576040517f44a185bb0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff851660048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906344a185bb9060240160e060405180830381865afa158015611367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b9190613ba5565b60408051600180825281830190925291925060009190816020015b6040805160a0810182526000808252602080830182905292820181905260608201819052608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816113a65790505090506040518060a001604052808360a0015160ff1681526020018360c0015160030b8152602001600015158152602001856000146114455761144086612ed6565b611448565b60005b6fffffffffffffffffffffffffffffffff16815260200184156114735761146e85612ed6565b611476565b60005b6fffffffffffffffffffffffffffffffff168152508160008151811061149e5761149e613a9c565b602002602001018190525060607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639d5f20bb7f000000000000000000000000000000000000000000000000000000000000000084846040518463ffffffff1660e01b815260040161152893929190613e3e565b6000604051808303816000875af1158015611547573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261158d9190810190613cfd565b5050505050505b604080516fffffffffffffffffffffffffffffffff8089168252861660208201527f18d5c8312850a747460ad5ffaf5339c6ab22099d1f684c9c1f8770d631d32d37910160405180910390a18360066000815481106115f5576115f5613a9c565b90600052602060002090600291828204019190066010026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505050505050505b6001600555565b6007818154811061081557600080fd5b60606004805461046b90613a21565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015611731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610558565b61173e8286868403612587565b506001949350505050565b6000806002600554036117b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610558565b600260055560006117c98685611fb8565b6040517f57c8c7b000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906357c8c7b0906118629088907f0000000000000000000000000000000000000000000000000000000000000000908690600401613cb8565b6000604051808303816000875af1158015611881573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526118c79190810190613cfd565b5060016005559097909650945050505050565b6000336107f981858561280b565b606060068054806020026020016040519081016040528092919081815260200182805480156104e457602002820191906000526020600020906000905b82829054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020019060100190602082600f010492830192600103820291508084116119255790505050505050905090565b83156119ea576119ea73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000086612f7c565b8215611a5157611a5173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000085612f7c565b50505050565b60607f0000000000000000000000000000000000000000000000000000000000000000158015611b9057507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166344a185bb6006600081548110611ad257611ad2613a9c565b6000918252602090912060028204015460405160e084901b7fffffffff0000000000000000000000000000000000000000000000000000000016815260019092166010026101000a90046fffffffffffffffffffffffffffffffff16600482015260240160e060405180830381865afa158015611b53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b779190613ba5565b606001516fffffffffffffffffffffffffffffffff1615155b15611bc7576040517f3fecff8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107ff82612b8b565b606081611c12576040518060400160405280600381526020017f4d502d0000000000000000000000000000000000000000000000000000000000815250611c49565b6040518060400160405280601281526020017f4d6176657269636b20506f736974696f6e2d00000000000000000000000000008152505b8473ffffffffffffffffffffffffffffffffffffffff16630fc63d106040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb89190613ee5565b73ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015611d02573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611d489190810190613f02565b8573ffffffffffffffffffffffffffffffffffffffff16635f64b55b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db79190613ee5565b73ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015611e01573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611e479190810190613f02565b611e5086611e7b565b604051602001611e639493929190613fb4565b60405160208183030381529060405290509392505050565b606081600003611ebe57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611ee85780611ed28161403f565b9150611ee19050600a836140a6565b9150611ec2565b60008167ffffffffffffffff811115611f0357611f03613acb565b6040519080825280601f01601f191660200182016040528015611f2d576020820181803683370190505b5090505b8415611fb057611f426001836140ba565b9150611f4f600a866140cd565b611f5a906030613c8c565b60f81b818381518110611f6f57611f6f613a9c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611fa9600a866140a6565b9450611f31565b949350505050565b60607f00000000000000000000000000000000000000000000000000000000000000001580156120f157507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166344a185bb600660008154811061203357612033613a9c565b6000918252602090912060028204015460405160e084901b7fffffffff0000000000000000000000000000000000000000000000000000000016815260019092166010026101000a90046fffffffffffffffffffffffffffffffff16600482015260240160e060405180830381865afa1580156120b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d89190613ba5565b606001516fffffffffffffffffffffffffffffffff1615155b15612128576040517f3fecff8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612140670de0b6b3a764000084610c4260025490565b6006549091508067ffffffffffffffff81111561215f5761215f613acb565b6040519080825280602002602001820160405280156121a457816020015b604080518082019091526000808252602082015281526020019060019003908161217d5790505b50925060005b818110156123865760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636da3bf8b7f00000000000000000000000000000000000000000000000000000000000000006006858154811061222457612224613a9c565b6000918252602090912060028204015460405160e085901b7fffffffff00000000000000000000000000000000000000000000000000000000168152600481019390935260019091166010026101000a90046fffffffffffffffffffffffffffffffff166024820152604401602060405180830381865afa1580156122ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d19190613c9f565b90506040518060400160405280600684815481106122f1576122f1613a9c565b600091825260209182902060028204015460019091166010026101000a90046fffffffffffffffffffffffffffffffff1682520161234061233b8488670de0b6b3a7640000612abe565b612ed6565b6fffffffffffffffffffffffffffffffff1681525085838151811061236757612367613a9c565b602002602001018190525050808061237e9061403f565b9150506121aa565b5073ffffffffffffffffffffffffffffffffffffffff851633146123af576123af85338661273a565b6123b9858561300e565b505092915050565b6000807f00000000000000000000000000000000000000000000000000000000000000001580156124fb57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166344a185bb600660008154811061243d5761243d613a9c565b6000918252602090912060028204015460405160e084901b7fffffffff0000000000000000000000000000000000000000000000000000000016815260019092166010026101000a90046fffffffffffffffffffffffffffffffff16600482015260240160e060405180830381865afa1580156124be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124e29190613ba5565b606001516fffffffffffffffffffffffffffffffff1615155b15612532576040517f3fecff8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60065460005b818110156125805760008061254d87846131fb565b50909250905061255d8287613c8c565b95506125698186613c8c565b9450505080806125789061403f565b915050612538565b5050915091565b73ffffffffffffffffffffffffffffffffffffffff8316612629576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610558565b73ffffffffffffffffffffffffffffffffffffffff82166126cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610558565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a5157818110156127fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610558565b611a518484848403612587565b73ffffffffffffffffffffffffffffffffffffffff83166128ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610558565b73ffffffffffffffffffffffffffffffffffffffff8216612951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610558565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015612a07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610558565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220858503905591851681529081208054849290612a4b908490613c8c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ab191815260200190565b60405180910390a3611a51565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003612b1657838281612b0c57612b0c614077565b049250505061086a565b808411612b2257600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6006546060908067ffffffffffffffff811115612baa57612baa613acb565b604051908082528060200260200182016040528015612bef57816020015b6040805180820190915260008082526020820152815260200190600190039081612bc85790505b50915060405180604001604052806006600081548110612c1157612c11613a9c565b90600052602060002090600291828204019190066010029054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001846fffffffffffffffffffffffffffffffff1681525082600081518110612c8357612c83613a9c565b602090810291909101015260015b81811015612daf57604051806040016040528060068381548110612cb757612cb7613a9c565b90600052602060002090600291828204019190066010029054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001612d6a61233b876fffffffffffffffffffffffffffffffff1660078681548110612d2c57612d2c613a9c565b6000918252602090912060028204015460019091166010026101000a90046fffffffffffffffffffffffffffffffff16670de0b6b3a7640000612abe565b6fffffffffffffffffffffffffffffffff16815250838281518110612d9157612d91613a9c565b60200260200101819052508080612da79061403f565b915050612c91565b5050919050565b73ffffffffffffffffffffffffffffffffffffffff8216612e33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610558565b8060026000828254612e459190613c8c565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290612e7f908490613c8c565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60006fffffffffffffffffffffffffffffffff821115612f78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610558565b5090565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261300990849061343a565b505050565b73ffffffffffffffffffffffffffffffffffffffff82166130b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610558565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015613167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610558565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604081208383039055600280548492906131a39084906140ba565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6000806000806006858154811061321457613214613a9c565b6000918252602082206002820401546040517f44a185bb00000000000000000000000000000000000000000000000000000000815260019092166010026101000a90046fffffffffffffffffffffffffffffffff166004820181905292507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906344a185bb9060240160e060405180830381865afa1580156132d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132f49190613ba5565b60808101516040517f6da3bf8b000000000000000000000000000000000000000000000000000000008152600481018a90526fffffffffffffffffffffffffffffffff85166024820152919250907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690636da3bf8b90604401602060405180830381865afa1580156133a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133c49190613c9f565b93506133f982600001516fffffffffffffffffffffffffffffffff1685836fffffffffffffffffffffffffffffffff16612abe565b955061342e82602001516fffffffffffffffffffffffffffffffff1685836fffffffffffffffffffffffffffffffff16612abe565b94505050509250925092565b600061349c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166135469092919063ffffffff16565b80519091501561300957808060200190518101906134ba91906140e1565b613009576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610558565b6060611fb084846000858573ffffffffffffffffffffffffffffffffffffffff85163b6135cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610558565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516135f891906140fc565b60006040518083038185875af1925050503d8060008114613635576040519150601f19603f3d011682016040523d82523d6000602084013e61363a565b606091505b509150915061364a828286613655565b979650505050505050565b6060831561366457508161086a565b8251156136745782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105589190613716565b60005b838110156136c35781810151838201526020016136ab565b50506000910152565b600081518084526136e48160208601602086016136a8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061086a60208301846136cc565b73ffffffffffffffffffffffffffffffffffffffff8116811461374b57600080fd5b50565b60008060006060848603121561376357600080fd5b833561376e81613729565b95602085013595506040909401359392505050565b600081518084526020808501945080840160005b838110156137d457815180516fffffffffffffffffffffffffffffffff908116895290840151168388015260409096019590820190600101613797565b509495945050505050565b60208152600061086a6020830184613783565b6000806040838503121561380557600080fd5b823561381081613729565b946020939093013593505050565b60006020828403121561383057600080fd5b5035919050565b60008060006060848603121561384c57600080fd5b833561385781613729565b9250602084013561386781613729565b929592945050506040919091013590565b6fffffffffffffffffffffffffffffffff8116811461374b57600080fd5b6000806000606084860312156138ab57600080fd5b83356138b681613729565b92506020840135915060408401356138cd81613878565b809150509250925092565b6000602082840312156138ea57600080fd5b813561086a81613729565b6020808252825182820181905260009190848201906040850190845b8181101561393f5783516fffffffffffffffffffffffffffffffff1683529284019291840191600101613911565b50909695505050505050565b6000806000806060858703121561396157600080fd5b8435935060208501359250604085013567ffffffffffffffff8082111561398757600080fd5b818701915087601f83011261399b57600080fd5b8135818111156139aa57600080fd5b8860208285010111156139bc57600080fd5b95989497505060200194505050565b600080604083850312156139de57600080fd5b82356139e981613729565b915060208301356139f981613729565b809150509250929050565b600060208284031215613a1657600080fd5b813561086a81613878565b600181811c90821680613a3557607f821691505b602082108103613a6e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b838152826020820152606060408201526000613a936060830184613783565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715613b1d57613b1d613acb565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613b6a57613b6a613acb565b604052919050565b8051613b7d81613878565b919050565b805160ff81168114613b7d57600080fd5b8051600381900b8114613b7d57600080fd5b600060e08284031215613bb757600080fd5b60405160e0810181811067ffffffffffffffff82111715613bda57613bda613acb565b6040528251613be881613878565b81526020830151613bf881613878565b60208201526040830151613c0b81613878565b60408201526060830151613c1e81613878565b6060820152613c2f60808401613b72565b6080820152613c4060a08401613b82565b60a0820152613c5160c08401613b93565b60c08201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156107ff576107ff613c5d565b600060208284031215613cb157600080fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000613a936060830184613783565b80518015158114613b7d57600080fd5b60008060006060808587031215613d1357600080fd5b84519350602080860151935060408087015167ffffffffffffffff80821115613d3b57600080fd5b818901915089601f830112613d4f57600080fd5b815181811115613d6157613d61613acb565b613d6f858260051b01613b23565b818152858101925060e091820284018601918c831115613d8e57600080fd5b938601935b82851015613e2c5780858e031215613dab5760008081fd5b613db3613afa565b8551613dbe81613878565b815285880151613dcd81613878565b81890152858701518782015288860151613de681613878565b818a01526080613df7878201613b82565b9082015260a0613e08878201613b93565b9082015260c0613e19878201613ced565b9082015284529384019392860192613d93565b50809750505050505050509250925092565b600060608083018684526020828186015281875180845260809350838701915082890160005b82811015613ec3578151805160ff1685528581015160030b86860152604080820151151590860152878101516fffffffffffffffffffffffffffffffff9081168987015290870151168685015260a09093019290840190600101613e64565b5050508581036040870152613ed881886136cc565b9998505050505050505050565b600060208284031215613ef757600080fd5b815161086a81613729565b600060208284031215613f1457600080fd5b815167ffffffffffffffff80821115613f2c57600080fd5b818401915084601f830112613f4057600080fd5b815181811115613f5257613f52613acb565b613f8360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613b23565b9150808252856020828501011115613f9a57600080fd5b613fab8160208401602086016136a8565b50949350505050565b60008551613fc6818460208a016136a8565b855190830190613fda818360208a016136a8565b7f2d0000000000000000000000000000000000000000000000000000000000000091018181528551909190614016816001850160208a016136a8565b600192019182015283516140318160028401602088016136a8565b016002019695505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361407057614070613c5d565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826140b5576140b5614077565b500490565b818103818111156107ff576107ff613c5d565b6000826140dc576140dc614077565b500690565b6000602082840312156140f357600080fd5b61086a82613ced565b6000825161410e8184602087016136a8565b919091019291505056fea26469706673582212200387f74fbc222bcf9f47d10d50d22f1170ce29c61212d9d7cc5db7d9526c84ce64736f6c634300081100330000000000000000000000006c6fc818b25df89a8ada8da5a43669023bad1f4c000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000de0b6b3a7640000
0xa26469706673582212200387f74fbc222bcf9f47d10d50d22f1170ce29c61212d9d7cc5db7d9526c84ce64736f6c634300081100330000000000000000000000006c6fc818b25df89a8ada8da5a43669023bad1f4c000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000006b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000de0b6b3a7640000