1 line
199 KiB
JSON
1 line
199 KiB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"router_","type":"address","internalType":"contract IRouter"},{"name":"feeManager_","type":"address","internalType":"contract IFeeManager"}],"stateMutability":"nonpayable"},{"type":"function","name":"cancelAllDexorders","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelDexorder","inputs":[{"name":"orderIndex","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"execute","inputs":[{"name":"orderIndex","type":"uint64","internalType":"uint64"},{"name":"tranche_index","type":"uint8","internalType":"uint8"},{"name":"proof","type":"tuple","internalType":"struct PriceProof","components":[{"name":"proof","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"feeManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IFeeManager"}],"stateMutability":"view"},{"type":"function","name":"numSwapOrders","inputs":[],"outputs":[{"name":"num","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"orderCanceled","inputs":[{"name":"orderIndex","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"placeDexorder","inputs":[{"name":"order","type":"tuple","internalType":"struct SwapOrder","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"route","type":"tuple","internalType":"struct Route","components":[{"name":"exchange","type":"uint8","internalType":"enum Exchange"},{"name":"fee","type":"uint24","internalType":"uint24"}]},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"minFillAmount","type":"uint256","internalType":"uint256"},{"name":"amountIsInput","type":"bool","internalType":"bool"},{"name":"outputDirectlyToOwner","type":"bool","internalType":"bool"},{"name":"inverted","type":"bool","internalType":"bool"},{"name":"conditionalOrder","type":"uint64","internalType":"uint64"},{"name":"tranches","type":"tuple[]","internalType":"struct Tranche[]","components":[{"name":"fraction","type":"uint16","internalType":"uint16"},{"name":"startTimeIsRelative","type":"bool","internalType":"bool"},{"name":"endTimeIsRelative","type":"bool","internalType":"bool"},{"name":"minIsBarrier","type":"bool","internalType":"bool"},{"name":"maxIsBarrier","type":"bool","internalType":"bool"},{"name":"marketOrder","type":"bool","internalType":"bool"},{"name":"minIsRatio","type":"bool","internalType":"bool"},{"name":"maxIsRatio","type":"bool","internalType":"bool"},{"name":"_reserved7","type":"bool","internalType":"bool"},{"name":"rateLimitFraction","type":"uint16","internalType":"uint16"},{"name":"rateLimitPeriod","type":"uint24","internalType":"uint24"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"},{"name":"minLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]},{"name":"maxLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]}]}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"placeDexorders","inputs":[{"name":"orders","type":"tuple[]","internalType":"struct SwapOrder[]","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"route","type":"tuple","internalType":"struct Route","components":[{"name":"exchange","type":"uint8","internalType":"enum Exchange"},{"name":"fee","type":"uint24","internalType":"uint24"}]},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"minFillAmount","type":"uint256","internalType":"uint256"},{"name":"amountIsInput","type":"bool","internalType":"bool"},{"name":"outputDirectlyToOwner","type":"bool","internalType":"bool"},{"name":"inverted","type":"bool","internalType":"bool"},{"name":"conditionalOrder","type":"uint64","internalType":"uint64"},{"name":"tranches","type":"tuple[]","internalType":"struct Tranche[]","components":[{"name":"fraction","type":"uint16","internalType":"uint16"},{"name":"startTimeIsRelative","type":"bool","internalType":"bool"},{"name":"endTimeIsRelative","type":"bool","internalType":"bool"},{"name":"minIsBarrier","type":"bool","internalType":"bool"},{"name":"maxIsBarrier","type":"bool","internalType":"bool"},{"name":"marketOrder","type":"bool","internalType":"bool"},{"name":"minIsRatio","type":"bool","internalType":"bool"},{"name":"maxIsRatio","type":"bool","internalType":"bool"},{"name":"_reserved7","type":"bool","internalType":"bool"},{"name":"rateLimitFraction","type":"uint16","internalType":"uint16"},{"name":"rateLimitPeriod","type":"uint24","internalType":"uint24"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"},{"name":"minLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]},{"name":"maxLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]}]}]},{"name":"ocoMode","type":"uint8","internalType":"enum OcoMode"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"placementFee","inputs":[{"name":"order","type":"tuple","internalType":"struct SwapOrder","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"route","type":"tuple","internalType":"struct Route","components":[{"name":"exchange","type":"uint8","internalType":"enum Exchange"},{"name":"fee","type":"uint24","internalType":"uint24"}]},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"minFillAmount","type":"uint256","internalType":"uint256"},{"name":"amountIsInput","type":"bool","internalType":"bool"},{"name":"outputDirectlyToOwner","type":"bool","internalType":"bool"},{"name":"inverted","type":"bool","internalType":"bool"},{"name":"conditionalOrder","type":"uint64","internalType":"uint64"},{"name":"tranches","type":"tuple[]","internalType":"struct Tranche[]","components":[{"name":"fraction","type":"uint16","internalType":"uint16"},{"name":"startTimeIsRelative","type":"bool","internalType":"bool"},{"name":"endTimeIsRelative","type":"bool","internalType":"bool"},{"name":"minIsBarrier","type":"bool","internalType":"bool"},{"name":"maxIsBarrier","type":"bool","internalType":"bool"},{"name":"marketOrder","type":"bool","internalType":"bool"},{"name":"minIsRatio","type":"bool","internalType":"bool"},{"name":"maxIsRatio","type":"bool","internalType":"bool"},{"name":"_reserved7","type":"bool","internalType":"bool"},{"name":"rateLimitFraction","type":"uint16","internalType":"uint16"},{"name":"rateLimitPeriod","type":"uint24","internalType":"uint24"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"},{"name":"minLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]},{"name":"maxLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]}]}]},{"name":"sched","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"outputs":[{"name":"orderFee","type":"uint256","internalType":"uint256"},{"name":"gasFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"placementFee","inputs":[{"name":"orders","type":"tuple[]","internalType":"struct SwapOrder[]","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"route","type":"tuple","internalType":"struct Route","components":[{"name":"exchange","type":"uint8","internalType":"enum Exchange"},{"name":"fee","type":"uint24","internalType":"uint24"}]},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"minFillAmount","type":"uint256","internalType":"uint256"},{"name":"amountIsInput","type":"bool","internalType":"bool"},{"name":"outputDirectlyToOwner","type":"bool","internalType":"bool"},{"name":"inverted","type":"bool","internalType":"bool"},{"name":"conditionalOrder","type":"uint64","internalType":"uint64"},{"name":"tranches","type":"tuple[]","internalType":"struct Tranche[]","components":[{"name":"fraction","type":"uint16","internalType":"uint16"},{"name":"startTimeIsRelative","type":"bool","internalType":"bool"},{"name":"endTimeIsRelative","type":"bool","internalType":"bool"},{"name":"minIsBarrier","type":"bool","internalType":"bool"},{"name":"maxIsBarrier","type":"bool","internalType":"bool"},{"name":"marketOrder","type":"bool","internalType":"bool"},{"name":"minIsRatio","type":"bool","internalType":"bool"},{"name":"maxIsRatio","type":"bool","internalType":"bool"},{"name":"_reserved7","type":"bool","internalType":"bool"},{"name":"rateLimitFraction","type":"uint16","internalType":"uint16"},{"name":"rateLimitPeriod","type":"uint24","internalType":"uint24"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"},{"name":"minLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]},{"name":"maxLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]}]}]},{"name":"sched","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"outputs":[{"name":"orderFee","type":"uint256","internalType":"uint256"},{"name":"gasFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"swapOrderStatus","inputs":[{"name":"orderIndex","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"status","type":"tuple","internalType":"struct SwapOrderStatus","components":[{"name":"order","type":"tuple","internalType":"struct SwapOrder","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"route","type":"tuple","internalType":"struct Route","components":[{"name":"exchange","type":"uint8","internalType":"enum Exchange"},{"name":"fee","type":"uint24","internalType":"uint24"}]},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"minFillAmount","type":"uint256","internalType":"uint256"},{"name":"amountIsInput","type":"bool","internalType":"bool"},{"name":"outputDirectlyToOwner","type":"bool","internalType":"bool"},{"name":"inverted","type":"bool","internalType":"bool"},{"name":"conditionalOrder","type":"uint64","internalType":"uint64"},{"name":"tranches","type":"tuple[]","internalType":"struct Tranche[]","components":[{"name":"fraction","type":"uint16","internalType":"uint16"},{"name":"startTimeIsRelative","type":"bool","internalType":"bool"},{"name":"endTimeIsRelative","type":"bool","internalType":"bool"},{"name":"minIsBarrier","type":"bool","internalType":"bool"},{"name":"maxIsBarrier","type":"bool","internalType":"bool"},{"name":"marketOrder","type":"bool","internalType":"bool"},{"name":"minIsRatio","type":"bool","internalType":"bool"},{"name":"maxIsRatio","type":"bool","internalType":"bool"},{"name":"_reserved7","type":"bool","internalType":"bool"},{"name":"rateLimitFraction","type":"uint16","internalType":"uint16"},{"name":"rateLimitPeriod","type":"uint24","internalType":"uint24"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"},{"name":"minLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]},{"name":"maxLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]}]}]},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"},{"name":"canceled","type":"bool","internalType":"bool"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"ocoGroup","type":"uint64","internalType":"uint64"},{"name":"originalOrder","type":"uint64","internalType":"uint64"},{"name":"startPrice","type":"uint256","internalType":"uint256"},{"name":"filled","type":"uint256","internalType":"uint256"},{"name":"trancheStatus","type":"tuple[]","internalType":"struct TrancheStatus[]","components":[{"name":"filled","type":"uint256","internalType":"uint256"},{"name":"activationTime","type":"uint32","internalType":"uint32"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"}]}]}],"stateMutability":"view"},{"type":"function","name":"unwrap","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"vaultImplDidChange","inputs":[{"name":"oldAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"wrap","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"wrapper","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"DexorderCancelAll","inputs":[{"name":"cancelAllIndex","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"DexorderSwapCanceled","inputs":[{"name":"orderIndex","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"DexorderSwapFilled","inputs":[{"name":"orderIndex","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"trancheIndex","type":"uint8","indexed":true,"internalType":"uint8"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fillFee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nextExecutionTime","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"DexorderSwapPlaced","inputs":[{"name":"startOrderIndex","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"numOrders","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"orderFee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"gasFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"bytecode":{"object":"0x60e03461010d57601f61595a38819003918201601f19168301916001600160401b0383118484101761011257808492604094855283398101031261010d578051906001600160a01b038216820361010d5760200151906001600160a01b038216820361010d57600160005560a0526080527382af49447d8a07e3bd95bd0d56f35241523fbab160c052604051615831908161012982396080518181816103eb015281816104d50152818161188301528181613348015281816143930152614465015260a0518181816105360152818161145a015281816117440152818161225901528181612ca201528181612db201526133a9015260c0518181816101b2015281816103060152610b2e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b6000803560e01c806316ddc0731461328f5780632800c78f146131cd57806354fd4d501461319357806358b72a09146131575780636e98833d1461120a57806377bad6b514610d4c5780638489f9bf14610c755780638f46487614610c11578063a449d03014610b52578063ac210cc714610ae3578063b39f43621461040f578063d0fb0203146103a0578063de0e9a3e14610293578063e78f84e71461024d578063ea598cb01461013f5763eaa3aa72146100cd57600080fd5b3461013c5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c576004359067ffffffffffffffff821161013c5760406101306101213660048601613c7b565b61012a36613bea565b9061419d565b82519182526020820152f35b80fd5b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c5761019273ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b61019a6141e8565b8073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166101dd8115156140db565b803b1561024a5781600491604051928380927fd0e30db00000000000000000000000000000000000000000000000000000000082528235905af1801561023f5761022a575b506001905580f35b81610234916137ee565b61013c578038610222565b6040513d84823e3d90fd5b50fd5b503461013c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57602067ffffffffffffffff60045416604051908152f35b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c576102e673ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b6102ee6141e8565b8073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166103318115156140db565b803b1561024a578180916024604051809581937f2e1a7d4d00000000000000000000000000000000000000000000000000000000835260043560048401525af1801561039357610383575b6001815580f35b61038c916137ee565b388161037c565b50604051903d90823e3d90fd5b503461013c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c5760043567ffffffffffffffff8111610adf5761045a903690600401613c7b565b6024356003811015610adb5761048973ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b6104916141e8565b604051917f9af1d35a00000000000000000000000000000000000000000000000000000000835260a08360048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa928315610ad0578493610a9f575b50610510838261419d565b93909261051e8585336142c8565b60ff608067ffffffffffffffff6004541693015116947f00000000000000000000000000000000000000000000000000000000000000009361056360ff825110614677565b67ffffffffffffffff60045461058361057c845161429f565b8210614677565b169280610892575067ffffffffffffffff935b885b825160ff82169081101561084d576105b0908461414d565b51906105bf60408301516146dc565b6002811015610820576001036107c25787878b610100850167ffffffffffffffff81511667ffffffffffffffff8103610644575b505090610605929160ff956003614a6b565b501660ff811461061757600101610598565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b915092506106539150886155e0565b9067ffffffffffffffff8216809152600454111561076457610676906004613e8c565b5073ffffffffffffffffffffffffffffffffffffffff60208401511673ffffffffffffffffffffffffffffffffffffffff825416149081610755575b81610748575b8161072c575b50156106ce5787878b38806105f3565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f5300000000000000000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff915060058291015460181c1614386106be565b60038101541591506106b8565b600581015460ff1691506106b2565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f4900000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f55520000000000000000000000000000000000000000000000000000000000006044820152fd5b60248c7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8a837fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df96683560608c8960ff8a51169160405192835260208301526040820152a26001815580f35b9388600186148015610a93575b15610a355760055467ffffffffffffffff81169660ff85511690604051936060850185811067ffffffffffffffff821117610a0857604052610982578352602083019187835260408401918252680100000000000000008110156109db5780600161090f920160055560056145ca565b9390936109af5751916003831015610982578354905191517fffffffffffffffffffffffffffffffffffffffffffff000000000000000000009190911660ff939093169290921760089190911b68ffffffffffffffff00161760489190911b69ff00000000000000000016179055610596565b60248d7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b60248d7f4e487b7100000000000000000000000000000000000000000000000000000000815280600452fd5b60248d7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60248f7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600460248201527f4f434f4d000000000000000000000000000000000000000000000000000000006044820152fd5b5050886002861461089f565b610ac291935060a03d60a011610ac9575b610aba81836137ee565b810190613d6d565b9138610505565b503d610ab0565b6040513d86823e3d90fd5b8280fd5b5080fd5b503461013c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57610b8a613895565b60045467ffffffffffffffff82161015610bb357610ba9602091614638565b6040519015158152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4f490000000000000000000000000000000000000000000000000000000000006044820152fd5b503461013c5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c576004359067ffffffffffffffff821161013c576040610130610c66366004860161391a565b610c6f36613bea565b906145e2565b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c577f74a075ee230588b5c76ea493a6d21b086384f29139b7227b9c6329e66106dc486020610cd0613895565b610cf373ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b610cfb6141e8565b6007610d08826004613e8c565b50016101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff82541617905567ffffffffffffffff60405191168152a16001815580f35b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57610dd2610d87613895565b6060610100604051610d988161377c565b610da0613dd6565b815285602082015285604082015285838201528560808201528560a08201528560c08201528560e08201520152613e3e565b509060405190610de18261377c565b610dea83613ed8565b8252600783015490602083019160ff81168352604084019460ff8260081c1615158652606085019163ffffffff8160101c168352608086019067ffffffffffffffff8160301c16825267ffffffffffffffff60a088019160701c16815260088301549160c08801928352600a60098501549460e08a019586520194855495610e71876138ac565b96610e7f60405198896137ee565b808852602088019189526020892089925b82841061119b57505050506101008901958652604051998a9960208b52519861012060208c01526101206102a08c019a8c61014073ffffffffffffffffffffffffffffffffffffffff8351169101528c61016073ffffffffffffffffffffffffffffffffffffffff6020840151169101528c6101a062ffffff60206040850151610f1f61018086018251613bae565b01511691015260608101516101c08e015260808101516101e08e015260a081015115156102008e015260c081015115156102208e015260e081015115156102408e015261010081015167ffffffffffffffff166102608e015201516101606102808d015280519a8b90526102c08c019a6020909101908a5b818110611074575050905160ff1660408c01525051151560608a01525163ffffffff1660808901525167ffffffffffffffff90811660a089015290511660c08701525160e086015251610100850152518383037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016101208501528051808452602093840193909101915b818110611030575050500390f35b919350916020608060019263ffffffff6060885180518452828682015116868501528260408201511660408501520151166060820152019401910191849392611022565b919b600191939495969798999a9b9d506102206020916111858f6101c0905161ffff81511684528581015115158685015260408101511515604085015260608101511515606085015260808101511515608085015260a0810151151560a085015260c0810151151560c085015260e0810151151560e0850152610100810151151561010085015261ffff6101208201511661012085015262ffffff6101408201511661014085015263ffffffff6101608201511661016085015263ffffffff610180820151166101808501526111666101a08201516101a086019063ffffffff60208092828151168552015116910152565b01516101e083019063ffffffff60208092828151168552015116910152565b019c019101918d9c9a9998979695949392610f97565b60409d9495969798999a9c9d516080810181811067ffffffffffffffff821117610a08576001926002926020926040528554815263ffffffff85870154818116858401528181861c16604084015260401c1660608201528152019201930192909c9b999897969594939c610e90565b503461013c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57611242613895565b906024359160ff83168303610adf5760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc360112610adf576040516020810181811067ffffffffffffffff82111761312a5760405260443590526112a56141e8565b6040517f8da5cb5b000000000000000000000000000000000000000000000000000000008152602081600481305afa90811561311f5783916130d0575b506112ec82613e3e565b50916112f781614638565b613072576006830180548610156130455784526020842061131b86600a8601614552565b509560405191610100830183811067ffffffffffffffff821117613018576040528683528660208401528660408401528660608401528660808401528660a08401528660c08401528660e0840152600188015463ffffffff8160401c16421015612fba5763ffffffff8160201c164210612f5c5763ffffffff164210612efe576003820281015460ff8160301c1680612ee6575b15612aaf57611441600288015473ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b015416602060ff60058d015460101c16809460405196879283927f5b1b3179000000000000000000000000000000000000000000000000000000008452868860ff62ffffff8460081c1693166004870161456e565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa938415612aa4578c94612a6b575b506114a363ffffffff600160038a028901015416614806565b921515911114612a2557806c01000000000000000000000000016c01000000000000000000000000116106175761153792916114ee916c0100000000000000000000000001906149ec565b60208601525b61ffff60038901549161151c8261150d818416866145b7565b048060808a01528d54906142bb565b60c088015260501c16806129f6575b506009880154906142bb565b8060e08501528060c0850151116129eb575b5060c083015197600487015480991061298d5760058701549560ff8760081c1660001461298557955b8873ffffffffffffffffffffffffffffffffffffffff60018a0154169767ffffffffffffffff808460181c16146000146128dd5781928a8a849e62ffffff9360ff915b8c73ffffffffffffffffffffffffffffffffffffffff80600288015497541698602060c0840151930151966040519a6115ed8c613730565b6115f9888b168d613ea8565b60208c015260408b0152166060890152608088015260a0870152818116151560c087015260101c16151560e085015261010084015260081c1661012082015260405162ffffff61012060208301937f802b95df000000000000000000000000000000000000000000000000000000008552611678602485018251613bae565b73ffffffffffffffffffffffffffffffffffffffff602082015116604485015273ffffffffffffffffffffffffffffffffffffffff604082015116606485015273ffffffffffffffffffffffffffffffffffffffff6060820151166084850152608081015160a485015260a081015160c485015260c0810151151560e485015260e08101511515610104850152610100810151610124850152015116610144820152610144815261172b610164826137ee565b519073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af4913d156128d5573d9267ffffffffffffffff84116128a857604051936117b460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601866137ee565b84523d8a602086013e5b15612898576040838051810103126127aa57604060208401519301519280604087015260ff60058a01541660001461288e57611805905b8060c088015260098a0154614161565b600989015561181960c08601518354614161565b825560a08501516127f0575b50614e2061183a60ff60078a015416846145b7565b0460608501526040517fea43b36b00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156127b65789916127c1575b50606085015173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb00000000000000000000000000000000000000000000000000000000845216600483015260248201526020816044818c8b5af180156127b657612777575b5060ff7f234549737f22f93fc832ad92234b4a16c08b5e5f40bfb872ec6540904522fc549360809367ffffffffffffffff9363ffffffff6001606060408b01519a0151920154169160405198895260208901526040880152606087015216941692a3600582015467ffffffffffffffff8160181c169467ffffffffffffffff8603611acb575b50505067ffffffffffffffff919250806119c0600360079301546009830154906142bb565b600482015411156119f857015460301c1667ffffffffffffffff81036119e9575b506001815580f35b6119f290615501565b386119e1565b015460301c1667ffffffffffffffff81141580611a2a575b611a1b575b5061037c565b611a2490615501565b38611a15565b50600554811015611a9e57600582527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081015460ff166003811015611a7157600114611a10565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6020611ae5611adf60249497969598613e3e565b50613ed8565b96604051938480927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa8015610ad057849061273d575b611b2f92506142bb565b606085015260ff6007820154166004549067ffffffffffffffff8216916801000000000000000081101561271057806001611b6f92016004556004613e8c565b5050611b7c826004613e8c565b509473ffffffffffffffffffffffffffffffffffffffff80885116167fffffffffffffffffffffffff000000000000000000000000000000000000000087541617865573ffffffffffffffffffffffffffffffffffffffff60208801511673ffffffffffffffffffffffffffffffffffffffff6001880191167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055604087015180519060028210156126e3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060ff63ffffff00602060028c015494015160081b16931691161717600287015560608701516003870155608087015160048701556005860160a0880151151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116178155611cf860c0890151151582907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff00835492151560081b169116179055565b60e088015181547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1690151560101b62ff0000161781556101008801517fffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffff6affffffffffffffff00000083549260181b1691161790556101208701518051906801000000000000000082116120bd5760068801548260068a0155808310612662575b506020016006880187526020872087915b8383106122ee57505050507fffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffff6dffffffffffffffff00000000000060078801937fffffffffffffffffffffffffffffffffffff000000000000000000000000ff0075ffffffffffffffff0000000000000000000000000000807fffffffffffffffffffffffffffffffffffff000000000000000000000000000088549760581b16161694161765ffffffff00004260101b161717161790558291835b61012087015180518210156121555781611e809161414d565b51606081015115801590612148575b6120ea57600a870154680100000000000000008110156120bd57806001611ebf9201600a8a0155600a8901614552565b5050611ece82600a8901614552565b506020820151156120a657611f376001611ef963ffffffff6101608601511663ffffffff42166157e1565b925b019182907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b6040820151156120935763ffffffff80611f5a81610180860151168242166157e1565b7fffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffff6bffffffff000000000000000085549260401b1691161780845560201c16167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000082541617905560c081015115801590612086575b61207d575b60a08101511590811561204e575b5015611ff057600101611e67565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4e534c00000000000000000000000000000000000000000000000000000000006044820152fd5b6101a001515163ffffffff8116151591508161206d575b501538611fe2565b6380000000915016151538612065565b60019450611fd4565b5060e08101511515611fcf565b63ffffffff808061018085015116611f5a565b611f37600163ffffffff6101608501511692611efb565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4e490000000000000000000000000000000000000000000000000000000000006044820152fd5b5060808101511515611e8f565b50509294919390936121b1575b505060079067ffffffffffffffff927fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df966835606060405160018152876020820152876040820152a29083923861199b565b60206121c060408401516146dc565b73ffffffffffffffffffffffffffffffffffffffff8451169061224073ffffffffffffffffffffffffffffffffffffffff84870151169560e062ffffff86604084015101511691015115159060405197889586957f5b1b31790000000000000000000000000000000000000000000000000000000087526004870161456e565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9182156122e357859261229d575b50600801558067ffffffffffffffff612162565b929150926020833d6020116122db575b816122ba602093836137ee565b810103126122d7579151919290919067ffffffffffffffff612289565b8480fd5b3d91506122ad565b6040513d87823e3d90fd5b805180518354602083015162ff000090151560101b1661ffff9092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000909116171783556040810151151583546060830151151560201b64ff00000000166080840151151560281b60a0850151151560301b60c0860151151560381b60e0870151151560401b90610100880151151560481b9261012089015160501b6bffff0000000000000000000016946101408a015160601b6effffff00000000000000000000000016966101608b015160781b72ffffffff00000000000000000000000000000016986101808c015160981b76ffffffff00000000000000000000000000000000000000169a60181b63ff00000016907fffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffff16177fffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff16177fffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff169065ff000000000016177fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff169066ff00000000000016177fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff169067ff0000000000000016177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff169068ff000000000000000016177fffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffff169069ff00000000000000000016177fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff16177fffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffff161717178355600183016101a0820151805163ffffffff1663ffffffff1682547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000161782556020015163ffffffff166125fc91907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b6101c0015180516002840180546020938401517fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911663ffffffff909316929092179190921b67ffffffff000000001617905560200190600301916001019190611dab565b60038181020481036126b65760038381020483036126b657600689018852602088208360030281015b826003028201811061269e575050611d9a565b808a600392558a60018201558a60028201550161268b565b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b50906020813d60201161276f575b81612758602093836137ee565b8101031261276b5790611b2f9151611b25565b8380fd5b3d915061274b565b6020813d6020116127ae575b81612790602093836137ee565b810103126127aa575180151581036127aa575060ff611915565b8880fd5b3d9150612783565b6040513d8b823e3d90fd5b6127e3915060203d6020116127e9575b6127db81836137ee565b810190614273565b386118b3565b503d6127d1565b61280e9062ffffff60c08701519160038702015460601c16906145b7565b60a08501519081156128615761282c63ffffffff9283920442614161565b16167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060018301541617600182015538611825565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526012600452fd5b50611805836117f5565b8251838a821561013c5750602001fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6060926117be565b9050604051917f70a082310000000000000000000000000000000000000000000000000000000083523060048401526020836024818c5afa801561297a57908a8a8d94938590612939575b8596509e62ffffff9360ff916115b5565b5050509150916020813d602011612972575b81612958602093836137ee565b8101031261296e57918a92918a8a859451612928565b8a80fd5b3d915061294b565b6040513d8d823e3d90fd5b503095611572565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f54460000000000000000000000000000000000000000000000000000000000006044820152fd5b60c084015238611549565b612a0761ffff9160808801516145b7565b048060a08701528060c0870151111561152b5760c08601523861152b565b806c01000000000000000000000000016c0100000000000000000000000011610617576115379291612a66916c01000000000000000000000000019061492c565b6114ee565b9093508b8160203d602011612a9d575b602092612a8882846137ee565b5081010312612a995751923861148a565b8b80fd5b503d612a7b565b6040513d8e823e3d90fd5b878452612ac36001600385028401016146e9565b612d0c575b612ad96002600385028401016146e9565b612ae7575b611537906114f4565b835115612bff575b60ff8160401c16600014612be857612b2263ffffffff600789015460101c16600889015490600260038702860101614782565b905b81855111612b8a576115379173ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b0154161060ff60058b015460101c16151503612b7f575b509050612ade565b602086015238612b77565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c550000000000000000000000000000000000000000000000000000000000006044820152fd5b612bf960026003850284010161470e565b90612b24565b6002870154602073ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b01541690612c8960ff60058d015460101c1660405195869485947f0f82d67500000000000000000000000000000000000000000000000000000000865260ff62ffffff8460081c1693166004870161456e565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156127b6578991612cda575b508452612aef565b90506020813d602011612d04575b81612cf5602093836137ee565b810103126127aa575138612cd2565b3d9150612ce8565b600287015473ffffffffffffffffffffffffffffffffffffffff88541673ffffffffffffffffffffffffffffffffffffffff60018a015416612d99602060ff60058d015460101c16809560405193849283927f0f82d675000000000000000000000000000000000000000000000000000000008452878960ff62ffffff8460081c1693166004870161456e565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612aa4578c91612eb3575b50875260ff8460381c16600014612e9c57612e1863ffffffff60078c015460101c1660088c015490600160038a02890101614782565b925b8388511115612e3e571515911003612e33575b50612ac8565b602085015238612e2d565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c4c0000000000000000000000000000000000000000000000000000000000006044820152fd5b612ead60016003880287010161470e565b92612e1a565b90508b8160203d602011612edf575b602092612ecf82846137ee565b5081010312612a99575138612de2565b503d612ec2565b5063ffffffff600160038502840101541615156113af565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f524c0000000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f54450000000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f544c0000000000000000000000000000000000000000000000000000000000006044820152fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4e4f0000000000000000000000000000000000000000000000000000000000006044820152fd5b90506020813d602011613117575b816130eb602093836137ee565b81010312610adb575173ffffffffffffffffffffffffffffffffffffffff81168103610adb57386112e2565b3d91506130de565b6040513d85823e3d90fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c5761318f61382f565b5080f35b503461013c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57602060405160028152f35b503461013c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c5761321f73ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b6132276141e8565b7fce65bc44c9caad3bb118ec247275ee69b1ce0e86e3099162ad165bbb3eb3238b602067ffffffffffffffff60045416807fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006003541617600355604051908152a16001815580f35b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c5760043567ffffffffffffffff8111610adf576132da90369060040161391a565b6132fd73ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b6133056141e8565b6040517f9af1d35a00000000000000000000000000000000000000000000000000000000815260a08160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561311f578391613711575b506133838183614223565b9190926133918385336142c8565b60ff608067ffffffffffffffff6004541693015116907f0000000000000000000000000000000000000000000000000000000000000000936040908151926133d983856137ee565b600184527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08301895b8181106136fa57505061341484614140565b5261341e83614140565b5061342c60ff845110614677565b67ffffffffffffffff60045461344561057c865161429f565b169267ffffffffffffffff95895b825160ff8216908110156136bb5761346b908461414d565b51613478868201516146dc565b60028110156109825760010361365e578888826101008d9401838151168481036134ef575b50509160ff9493916134b0936003614a6b565b501660ff81146134c257600101613453565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b91945092506134ff9150896155e0565b908a821680915260045411156136015761351a906004613e8c565b508973ffffffffffffffffffffffffffffffffffffffff60208401511673ffffffffffffffffffffffffffffffffffffffff8354161491826135f2575b826135e5575b826135d2575b5050156135755788888b92388061349d565b606486517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f5300000000000000000000000000000000000000000000000000000000006044820152fd5b8192506005015460181c16148938613563565b600381015415925061355d565b600581015460ff169250613557565b606487517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f4900000000000000000000000000000000000000000000000000000000006044820152fd5b606486517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f55520000000000000000000000000000000000000000000000000000000000006044820152fd5b8b837fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df96683560608e898b805192600184526020840152820152a26001815580f35b602090613705613dd6565b82828901015201613402565b61372a915060a03d60a011610ac957610aba81836137ee565b38613378565b610140810190811067ffffffffffffffff82111761374d57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610120810190811067ffffffffffffffff82111761374d57604052565b6040810190811067ffffffffffffffff82111761374d57604052565b6101e0810190811067ffffffffffffffff82111761374d57604052565b60a0810190811067ffffffffffffffff82111761374d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761374d57604052565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361385257565b600080fd5b359073ffffffffffffffffffffffffffffffffffffffff8216820361385257565b359062ffffff8216820361385257565b3590811515820361385257565b6004359067ffffffffffffffff8216820361385257565b67ffffffffffffffff811161374d5760051b60200190565b359061ffff8216820361385257565b359063ffffffff8216820361385257565b9190826040910312613852576040516138fc81613799565b602061391581839561390d816138d3565b8552016138d3565b910152565b9190828103926101608412613852576040519061393682613730565b60407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0839661396484613857565b855261397260208501613857565b602086015201126138525760405161398981613799565b604082013560028110156138525781526139a560608301613878565b602082015260408301526080810135606083015260a081013560808301526139cf60c08201613888565b60a08301526139e060e08201613888565b60c08301526139f26101008201613888565b60e083015261012081013567ffffffffffffffff81168103613852576101008301526101408101359067ffffffffffffffff8211613852570182601f8201121561385257803590613a42826138ac565b93613a5060405195866137ee565b828552602061022081870194028301019181831161385257602001925b828410613a7f57505050506101200152565b6102208483031261385257602061022091604051613a9c816137b5565b613aa5876138c4565b8152613ab2838801613888565b83820152613ac260408801613888565b6040820152613ad360608801613888565b6060820152613ae460808801613888565b6080820152613af560a08801613888565b60a0820152613b0660c08801613888565b60c0820152613b1760e08801613888565b60e0820152613b296101008801613888565b610100820152613b3c61012088016138c4565b610120820152613b4f6101408801613878565b610140820152613b6261016088016138d3565b610160820152613b7561018088016138d3565b610180820152613b89856101a089016138e4565b6101a0820152613b9d856101e089016138e4565b6101c0820152815201930192613a6d565b906002821015613bbb5752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc60a09101126138525760405190613c21826137d2565b8160243560ff8116810361385257815260443560ff8116810361385257602082015260643560ff8116810361385257604082015260843560ff8116810361385257606082015260a4359060ff821682036138525760800152565b9080601f83011215613852578135613c92816138ac565b92613ca060405194856137ee565b81845260208085019260051b820101918383116138525760208201905b838210613ccc57505050505090565b813567ffffffffffffffff811161385257602091613cef8784809488010161391a565b815201910190613cbd565b15613d0157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152fd5b519060ff8216820361385257565b908160a091031261385257613dce608060405192613d8a846137d2565b613d9381613d5f565b8452613da160208201613d5f565b6020850152613db260408201613d5f565b6040850152613dc360608201613d5f565b606085015201613d5f565b608082015290565b60405190613de382613730565b6060610120836000815260006020820152604051613e0081613799565b6000815260006020820152604082015260008382015260006080820152600060a0820152600060c0820152600060e082015260006101008201520152565b600454811015613e5d576004600052600b602060002091020190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8054821015613e5d57600052600b602060002091020190600090565b6002821015613bbb5752565b90604051613ec181613799565b602063ffffffff8294548181168452821c16910152565b90604051613ee581613730565b6006819373ffffffffffffffffffffffffffffffffffffffff815416835273ffffffffffffffffffffffffffffffffffffffff6001820154166020840152604051613f2f81613799565b62ffffff6002830154613f4560ff821684613ea8565b60081c1660208201526040840152600381015460608401526004810154608084015267ffffffffffffffff600582015460ff8116151560a086015260ff8160081c16151560c086015260ff8160101c16151560e086015260181c1661010084015201908154613fb3816138ac565b92613fc160405194856137ee565b818452602084019060005260206000206000915b838310613fe757505050506101200152565b60036020600192604051613ffa816137b5565b63ffffffff865461ffff8116835260ff8160101c1615158584015260ff8160181c161515604084015260ff81861c161515606084015260ff8160281c161515608084015260ff8160301c16151560a084015260ff8160381c16151560c084015260ff8160401c16151560e084015260ff8160481c16151561010084015261ffff8160501c1661012084015262ffffff8160601c16610140840152818160781c1661016084015260981c166101808201526140b5858701613eb4565b6101a08201526140c760028701613eb4565b6101c0820152815201920192019190613fd5565b156140e257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f57550000000000000000000000000000000000000000000000000000000000006044820152fd5b805115613e5d5760200190565b8051821015613e5d5760209160051b010190565b9190820180921161416e57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600092918391825b81518410156141e0576141d76001916141d16141cb866141c5898861414d565b516145e2565b92614161565b97614161565b930192946141a5565b949392505050565b6002600054146141f9576002600055565b7f3ee5aeb50000000000000000000000000000000000000000000000000000000060005260046000fd5b919060608301511561426a578061425061424a6142679360ff602081835116920151161b90565b946156a1565b9060ff606081604084015116920151161b906145b7565b90565b50600091508190565b90816020910312613852575173ffffffffffffffffffffffffffffffffffffffff811681036138525790565b67ffffffffffffffff039067ffffffffffffffff821161416e57565b9190820391821161416e57565b916142d38183614161565b34106144f45781158015614422575b5080158015614350575b506142f691614161565b348110614301575050565b60008080936143118294346142bb565b9082908215614346575b73ffffffffffffffffffffffffffffffffffffffff1690f11561433a57565b6040513d6000823e3d90fd5b6108fc915061431b565b6040517f1db89da100000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561433a5760008481949282949383948491614403575b5083916143f9575b73ffffffffffffffffffffffffffffffffffffffff1690f11561433a57386142ec565b6108fc91506143d6565b61441c915060203d6020116127e9576127db81836137ee565b386143ce565b6040517febd3cdcd00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561433a57600085819492829493839484916144d5575b5083916144cb575b73ffffffffffffffffffffffffffffffffffffffff1690f11561433a57386142e2565b6108fc91506144a8565b6144ee915060203d6020116127e9576127db81836137ee565b386144a0565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f46454500000000000000000000000000000000000000000000000000000000006044820152fd5b8054821015613e5d5760005260206000209060011b0190600090565b9373ffffffffffffffffffffffffffffffffffffffff6080948162ffffff9499989561459e8960a081019c613bae565b1660208801521660408601521660608401521515910152565b8181029291811591840414171561416e57565b8054821015613e5d5760005260206000200190600090565b61010081019167ffffffffffffffff808451161461462d57614623611adf61461e6146299567ffffffffffffffff8060045416915116906155e0565b613e3e565b9161564e565b9091565b906146299250614223565b67ffffffffffffffff6003541667ffffffffffffffff82161090811561465c575090565b60ff915061466d6007916004613e8c565b50015460081c1690565b1561467e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f544d4f00000000000000000000000000000000000000000000000000000000006044820152fd5b516002811015613bbb5790565b5463ffffffff811615908115916146fe575090565b63ffffffff915060201c16151590565b5463ffffffff61471f818316614806565b9160201c16801561473f579061473761426792614806565b904291615758565b5090565b8181029291600082127f800000000000000000000000000000000000000000000000000000000000000082141661416e57818405149015171561416e57565b54909163ffffffff6147a381614799818616614806565b9460201c16614806565b931660030b916147b38385614743565b91600083820393128184128116908285139015161761416e576c01000000000000000000000000916147e491614743565b05906000828201928312911290801582169115161761416e5761426792615758565b637fffffff81161561492657637f800000811660030b60171d60030b60ff81146148c8576380000000627fffff831660030b826148bd5760011b925b166148b1575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810160030b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb70360030b600081126000146148a4576000031b90565b600081131561473f571d90565b60009190910390614848565b628000001792614842565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4e614e00000000000000000000000000000000000000000000000000000000006044820152fd5b50600090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6c010000000000000000000000008209918160601b918280851094039380850394146149df5783821115613852576c01000000000000000000000000829109818060000316809204600281600302188082026002030280820260020302808202600203028082026002030280820260020302809102600203029360018380600003040190848311900302920304170290565b5080925015613852570490565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183099181810293848085109403938085039414614a6157836c01000000000000000000000000111561013c5750906c01000000000000000000000000910990828211900360a01b910360601c1790565b5050505060601c90565b60010180549295939491934263ffffffff169367ffffffffffffffff811692906801000000000000000081101561374d57614ab891614ab1826001879401835582613e8c565b5050613e8c565b5073ffffffffffffffffffffffffffffffffffffffff80875116167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416178155602086019773ffffffffffffffffffffffffffffffffffffffff89511673ffffffffffffffffffffffffffffffffffffffff6001840191167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560028201966040810180519889516002811015613bbb5760009a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060ff63ffffff006020865494015160081b1693169116171790556060820151600385015560808201516004850155600584019260a0830151151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008654169116178455614c3960c0840151151585907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff00835492151560081b169116179055565b60e08301805185547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1690151560101b62ff000016178555936101008401517fffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffff6affffffffffffffff00000083549260181b169116179055600685019a61012084019b8c5190815191680100000000000000008311614f7d578154838355808410615454575b509d9e9d602001908d5260208d208d915b8383106150ad575050505075ffffffffffffffff0000000000000000000000000000906dffffffffffffffff0000000000007fffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffff60078901947fffffffffffffffffffffffffffffffffffff000000000000000000000000ff0060ff875492169116171665ffffffff00004260101b16179160301b16171790558896899a600a86019b5b8d518051821015614fb75781614da89161414d565b51606081015115801590614faa575b6120ea578d5468010000000000000000811015614f7d578c8f8f92614dee91614de7826001899401835582614552565b5050614552565b50602084015190929015614f6657614e546001614e1663ffffffff61016088015116856157e1565b945b019384907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b50604083015115614f525763ffffffff614e7781928261018087015116906157e1565b7fffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffff6bffffffff000000000000000085549260401b1691161780845560201c16167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000082541617905560c081015115801590614f45575b614f3c575b60a081015115908115614f0d575b5015611ff057600101614d93565b6101a001515163ffffffff81161515915081614f2c575b501538614eff565b6380000000915016151538614f24565b60019a50614ef1565b5060e08101511515614eec565b5063ffffffff808061018085015116614e77565b614e54600163ffffffff6101608701511694614e18565b60248e7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b5060808101511515614db7565b5050939792969b50939750939850614fd3575b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff60209461504462ffffff878480614fff8a516146dc565b955116965116975101511697511515604051988997889687957f5b1b31790000000000000000000000000000000000000000000000000000000087526004870161456e565b0392165afa9283156150a1578093615069575b50506008015538808080808080614fca565b909192506020823d602011615099575b81615086602093836137ee565b8101031261013c57505190600838615057565b3d9150615079565b604051903d90823e3d90fd5b9e9f9e8051805161ffff1683547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016178355602081015115156151219084907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff0000835492151560101b169116179055565b6040810151151583546060830151151560201b64ff00000000166080840151151560281b60a0850151151560301b60c0860151151560381b60e0870151151560401b90610100880151151560481b9261012089015160501b6bffff0000000000000000000016946101408a015160601b6effffff00000000000000000000000016966101608b015160781b72ffffffff00000000000000000000000000000016986101808c015160981b76ffffffff00000000000000000000000000000000000000169a60181b63ff00000016907fffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffff16177fffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff16177fffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff169065ff000000000016177fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff169066ff00000000000016177fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff169067ff0000000000000016177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff169068ff000000000000000016177fffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffff169069ff00000000000000000016177fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff16177fffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffff161717178355600183016101a0820151805163ffffffff1663ffffffff1682547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000161782556020015163ffffffff166153eb91907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b6101c0015180516002840180546020938401517fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911663ffffffff909316929092179190921b67ffffffff0000000016179055602001906003019160010191909f9e9f614cf0565b806003029060038204036154d457836003026003810485036154a6578f90848252602082209283019201905b82821061548e575050614cdf565b8082556001820181905560028201556003018f615480565b5060248f7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60248f7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b61550c9060056145ca565b505467ffffffffffffffff60ff818360081c169260481c161667ffffffffffffffff8216019067ffffffffffffffff821161416e5767ffffffffffffffff91909116906004905b8267ffffffffffffffff82161061556957505050565b600181600761558167ffffffffffffffff9486613e8c565b50016101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff8254161790557f74a075ee230588b5c76ea493a6d21b086384f29139b7227b9c6329e66106dc4860206040518584168152a10116615553565b60009067800000000000000083166155f757505090565b67ffffffffffffffff677fffffffffffffff9116019067ffffffffffffffff821161562157501690565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b90929192606082015115615695579061569061568a6156848461567e6142679660ff602081835116920151161b90565b97614223565b90614161565b916156a1565b6145b7565b50509050600090600090565b600091825b6101208301518051851015615751576101206156c58661ffff9361414d565b51015116906000826156ee575061012091506156e46001918290614161565b94019390506156a6565b5061ffff615701818481041693846145b7565b10615716575b6156e461012092600192614161565b6001820180921115615707577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5092509050565b909182818302019282156157b25783038290050361577f5750600081136142675750600090565b6000121590506157ad577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b9063ffffffff8091169116019063ffffffff821161416e5756fea2646970667358221220e41aa89a7d8f3a0ffe95c4f20a2f1d3105b18cc961571931d53049cad4bad35264736f6c634300081a0033","sourceMap":"6326:182:75:-:0;;;;;;;;;;;;;-1:-1:-1;;6326:182:75;;;;-1:-1:-1;;;;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6326:182:75;;;;;;;;;;-1:-1:-1;;;;;6326:182:75;;;;;;1857:1:33;-1:-1:-1;1857:1:33;1373:16:75;;1399:24;;909:42:71;1433:22:75;;6326:182;;;;;;;;1399:24;6326:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1373:16;6326:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1433:22;6326:182;;;;;;;;;;;;;;;;;-1:-1:-1;6326:182:75;;;;;;-1:-1:-1;6326:182:75;;;;;-1:-1:-1;6326:182:75","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b6000803560e01c806316ddc0731461328f5780632800c78f146131cd57806354fd4d501461319357806358b72a09146131575780636e98833d1461120a57806377bad6b514610d4c5780638489f9bf14610c755780638f46487614610c11578063a449d03014610b52578063ac210cc714610ae3578063b39f43621461040f578063d0fb0203146103a0578063de0e9a3e14610293578063e78f84e71461024d578063ea598cb01461013f5763eaa3aa72146100cd57600080fd5b3461013c5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c576004359067ffffffffffffffff821161013c5760406101306101213660048601613c7b565b61012a36613bea565b9061419d565b82519182526020820152f35b80fd5b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c5761019273ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b61019a6141e8565b8073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166101dd8115156140db565b803b1561024a5781600491604051928380927fd0e30db00000000000000000000000000000000000000000000000000000000082528235905af1801561023f5761022a575b506001905580f35b81610234916137ee565b61013c578038610222565b6040513d84823e3d90fd5b50fd5b503461013c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57602067ffffffffffffffff60045416604051908152f35b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c576102e673ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b6102ee6141e8565b8073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166103318115156140db565b803b1561024a578180916024604051809581937f2e1a7d4d00000000000000000000000000000000000000000000000000000000835260043560048401525af1801561039357610383575b6001815580f35b61038c916137ee565b388161037c565b50604051903d90823e3d90fd5b503461013c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c5760043567ffffffffffffffff8111610adf5761045a903690600401613c7b565b6024356003811015610adb5761048973ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b6104916141e8565b604051917f9af1d35a00000000000000000000000000000000000000000000000000000000835260a08360048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa928315610ad0578493610a9f575b50610510838261419d565b93909261051e8585336142c8565b60ff608067ffffffffffffffff6004541693015116947f00000000000000000000000000000000000000000000000000000000000000009361056360ff825110614677565b67ffffffffffffffff60045461058361057c845161429f565b8210614677565b169280610892575067ffffffffffffffff935b885b825160ff82169081101561084d576105b0908461414d565b51906105bf60408301516146dc565b6002811015610820576001036107c25787878b610100850167ffffffffffffffff81511667ffffffffffffffff8103610644575b505090610605929160ff956003614a6b565b501660ff811461061757600101610598565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b915092506106539150886155e0565b9067ffffffffffffffff8216809152600454111561076457610676906004613e8c565b5073ffffffffffffffffffffffffffffffffffffffff60208401511673ffffffffffffffffffffffffffffffffffffffff825416149081610755575b81610748575b8161072c575b50156106ce5787878b38806105f3565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f5300000000000000000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff915060058291015460181c1614386106be565b60038101541591506106b8565b600581015460ff1691506106b2565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f4900000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f55520000000000000000000000000000000000000000000000000000000000006044820152fd5b60248c7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8a837fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df96683560608c8960ff8a51169160405192835260208301526040820152a26001815580f35b9388600186148015610a93575b15610a355760055467ffffffffffffffff81169660ff85511690604051936060850185811067ffffffffffffffff821117610a0857604052610982578352602083019187835260408401918252680100000000000000008110156109db5780600161090f920160055560056145ca565b9390936109af5751916003831015610982578354905191517fffffffffffffffffffffffffffffffffffffffffffff000000000000000000009190911660ff939093169290921760089190911b68ffffffffffffffff00161760489190911b69ff00000000000000000016179055610596565b60248d7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b60248d7f4e487b7100000000000000000000000000000000000000000000000000000000815280600452fd5b60248d7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60248f7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600460248201527f4f434f4d000000000000000000000000000000000000000000000000000000006044820152fd5b5050886002861461089f565b610ac291935060a03d60a011610ac9575b610aba81836137ee565b810190613d6d565b9138610505565b503d610ab0565b6040513d86823e3d90fd5b8280fd5b5080fd5b503461013c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57610b8a613895565b60045467ffffffffffffffff82161015610bb357610ba9602091614638565b6040519015158152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4f490000000000000000000000000000000000000000000000000000000000006044820152fd5b503461013c5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c576004359067ffffffffffffffff821161013c576040610130610c66366004860161391a565b610c6f36613bea565b906145e2565b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c577f74a075ee230588b5c76ea493a6d21b086384f29139b7227b9c6329e66106dc486020610cd0613895565b610cf373ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b610cfb6141e8565b6007610d08826004613e8c565b50016101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff82541617905567ffffffffffffffff60405191168152a16001815580f35b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57610dd2610d87613895565b6060610100604051610d988161377c565b610da0613dd6565b815285602082015285604082015285838201528560808201528560a08201528560c08201528560e08201520152613e3e565b509060405190610de18261377c565b610dea83613ed8565b8252600783015490602083019160ff81168352604084019460ff8260081c1615158652606085019163ffffffff8160101c168352608086019067ffffffffffffffff8160301c16825267ffffffffffffffff60a088019160701c16815260088301549160c08801928352600a60098501549460e08a019586520194855495610e71876138ac565b96610e7f60405198896137ee565b808852602088019189526020892089925b82841061119b57505050506101008901958652604051998a9960208b52519861012060208c01526101206102a08c019a8c61014073ffffffffffffffffffffffffffffffffffffffff8351169101528c61016073ffffffffffffffffffffffffffffffffffffffff6020840151169101528c6101a062ffffff60206040850151610f1f61018086018251613bae565b01511691015260608101516101c08e015260808101516101e08e015260a081015115156102008e015260c081015115156102208e015260e081015115156102408e015261010081015167ffffffffffffffff166102608e015201516101606102808d015280519a8b90526102c08c019a6020909101908a5b818110611074575050905160ff1660408c01525051151560608a01525163ffffffff1660808901525167ffffffffffffffff90811660a089015290511660c08701525160e086015251610100850152518383037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016101208501528051808452602093840193909101915b818110611030575050500390f35b919350916020608060019263ffffffff6060885180518452828682015116868501528260408201511660408501520151166060820152019401910191849392611022565b919b600191939495969798999a9b9d506102206020916111858f6101c0905161ffff81511684528581015115158685015260408101511515604085015260608101511515606085015260808101511515608085015260a0810151151560a085015260c0810151151560c085015260e0810151151560e0850152610100810151151561010085015261ffff6101208201511661012085015262ffffff6101408201511661014085015263ffffffff6101608201511661016085015263ffffffff610180820151166101808501526111666101a08201516101a086019063ffffffff60208092828151168552015116910152565b01516101e083019063ffffffff60208092828151168552015116910152565b019c019101918d9c9a9998979695949392610f97565b60409d9495969798999a9c9d516080810181811067ffffffffffffffff821117610a08576001926002926020926040528554815263ffffffff85870154818116858401528181861c16604084015260401c1660608201528152019201930192909c9b999897969594939c610e90565b503461013c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57611242613895565b906024359160ff83168303610adf5760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc360112610adf576040516020810181811067ffffffffffffffff82111761312a5760405260443590526112a56141e8565b6040517f8da5cb5b000000000000000000000000000000000000000000000000000000008152602081600481305afa90811561311f5783916130d0575b506112ec82613e3e565b50916112f781614638565b613072576006830180548610156130455784526020842061131b86600a8601614552565b509560405191610100830183811067ffffffffffffffff821117613018576040528683528660208401528660408401528660608401528660808401528660a08401528660c08401528660e0840152600188015463ffffffff8160401c16421015612fba5763ffffffff8160201c164210612f5c5763ffffffff164210612efe576003820281015460ff8160301c1680612ee6575b15612aaf57611441600288015473ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b015416602060ff60058d015460101c16809460405196879283927f5b1b3179000000000000000000000000000000000000000000000000000000008452868860ff62ffffff8460081c1693166004870161456e565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa938415612aa4578c94612a6b575b506114a363ffffffff600160038a028901015416614806565b921515911114612a2557806c01000000000000000000000000016c01000000000000000000000000116106175761153792916114ee916c0100000000000000000000000001906149ec565b60208601525b61ffff60038901549161151c8261150d818416866145b7565b048060808a01528d54906142bb565b60c088015260501c16806129f6575b506009880154906142bb565b8060e08501528060c0850151116129eb575b5060c083015197600487015480991061298d5760058701549560ff8760081c1660001461298557955b8873ffffffffffffffffffffffffffffffffffffffff60018a0154169767ffffffffffffffff808460181c16146000146128dd5781928a8a849e62ffffff9360ff915b8c73ffffffffffffffffffffffffffffffffffffffff80600288015497541698602060c0840151930151966040519a6115ed8c613730565b6115f9888b168d613ea8565b60208c015260408b0152166060890152608088015260a0870152818116151560c087015260101c16151560e085015261010084015260081c1661012082015260405162ffffff61012060208301937f802b95df000000000000000000000000000000000000000000000000000000008552611678602485018251613bae565b73ffffffffffffffffffffffffffffffffffffffff602082015116604485015273ffffffffffffffffffffffffffffffffffffffff604082015116606485015273ffffffffffffffffffffffffffffffffffffffff6060820151166084850152608081015160a485015260a081015160c485015260c0810151151560e485015260e08101511515610104850152610100810151610124850152015116610144820152610144815261172b610164826137ee565b519073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af4913d156128d5573d9267ffffffffffffffff84116128a857604051936117b460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601866137ee565b84523d8a602086013e5b15612898576040838051810103126127aa57604060208401519301519280604087015260ff60058a01541660001461288e57611805905b8060c088015260098a0154614161565b600989015561181960c08601518354614161565b825560a08501516127f0575b50614e2061183a60ff60078a015416846145b7565b0460608501526040517fea43b36b00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156127b65789916127c1575b50606085015173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb00000000000000000000000000000000000000000000000000000000845216600483015260248201526020816044818c8b5af180156127b657612777575b5060ff7f234549737f22f93fc832ad92234b4a16c08b5e5f40bfb872ec6540904522fc549360809367ffffffffffffffff9363ffffffff6001606060408b01519a0151920154169160405198895260208901526040880152606087015216941692a3600582015467ffffffffffffffff8160181c169467ffffffffffffffff8603611acb575b50505067ffffffffffffffff919250806119c0600360079301546009830154906142bb565b600482015411156119f857015460301c1667ffffffffffffffff81036119e9575b506001815580f35b6119f290615501565b386119e1565b015460301c1667ffffffffffffffff81141580611a2a575b611a1b575b5061037c565b611a2490615501565b38611a15565b50600554811015611a9e57600582527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081015460ff166003811015611a7157600114611a10565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6020611ae5611adf60249497969598613e3e565b50613ed8565b96604051938480927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa8015610ad057849061273d575b611b2f92506142bb565b606085015260ff6007820154166004549067ffffffffffffffff8216916801000000000000000081101561271057806001611b6f92016004556004613e8c565b5050611b7c826004613e8c565b509473ffffffffffffffffffffffffffffffffffffffff80885116167fffffffffffffffffffffffff000000000000000000000000000000000000000087541617865573ffffffffffffffffffffffffffffffffffffffff60208801511673ffffffffffffffffffffffffffffffffffffffff6001880191167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055604087015180519060028210156126e3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060ff63ffffff00602060028c015494015160081b16931691161717600287015560608701516003870155608087015160048701556005860160a0880151151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116178155611cf860c0890151151582907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff00835492151560081b169116179055565b60e088015181547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1690151560101b62ff0000161781556101008801517fffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffff6affffffffffffffff00000083549260181b1691161790556101208701518051906801000000000000000082116120bd5760068801548260068a0155808310612662575b506020016006880187526020872087915b8383106122ee57505050507fffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffff6dffffffffffffffff00000000000060078801937fffffffffffffffffffffffffffffffffffff000000000000000000000000ff0075ffffffffffffffff0000000000000000000000000000807fffffffffffffffffffffffffffffffffffff000000000000000000000000000088549760581b16161694161765ffffffff00004260101b161717161790558291835b61012087015180518210156121555781611e809161414d565b51606081015115801590612148575b6120ea57600a870154680100000000000000008110156120bd57806001611ebf9201600a8a0155600a8901614552565b5050611ece82600a8901614552565b506020820151156120a657611f376001611ef963ffffffff6101608601511663ffffffff42166157e1565b925b019182907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b6040820151156120935763ffffffff80611f5a81610180860151168242166157e1565b7fffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffff6bffffffff000000000000000085549260401b1691161780845560201c16167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000082541617905560c081015115801590612086575b61207d575b60a08101511590811561204e575b5015611ff057600101611e67565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4e534c00000000000000000000000000000000000000000000000000000000006044820152fd5b6101a001515163ffffffff8116151591508161206d575b501538611fe2565b6380000000915016151538612065565b60019450611fd4565b5060e08101511515611fcf565b63ffffffff808061018085015116611f5a565b611f37600163ffffffff6101608501511692611efb565b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4e490000000000000000000000000000000000000000000000000000000000006044820152fd5b5060808101511515611e8f565b50509294919390936121b1575b505060079067ffffffffffffffff927fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df966835606060405160018152876020820152876040820152a29083923861199b565b60206121c060408401516146dc565b73ffffffffffffffffffffffffffffffffffffffff8451169061224073ffffffffffffffffffffffffffffffffffffffff84870151169560e062ffffff86604084015101511691015115159060405197889586957f5b1b31790000000000000000000000000000000000000000000000000000000087526004870161456e565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9182156122e357859261229d575b50600801558067ffffffffffffffff612162565b929150926020833d6020116122db575b816122ba602093836137ee565b810103126122d7579151919290919067ffffffffffffffff612289565b8480fd5b3d91506122ad565b6040513d87823e3d90fd5b805180518354602083015162ff000090151560101b1661ffff9092167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000909116171783556040810151151583546060830151151560201b64ff00000000166080840151151560281b60a0850151151560301b60c0860151151560381b60e0870151151560401b90610100880151151560481b9261012089015160501b6bffff0000000000000000000016946101408a015160601b6effffff00000000000000000000000016966101608b015160781b72ffffffff00000000000000000000000000000016986101808c015160981b76ffffffff00000000000000000000000000000000000000169a60181b63ff00000016907fffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffff16177fffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff16177fffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff169065ff000000000016177fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff169066ff00000000000016177fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff169067ff0000000000000016177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff169068ff000000000000000016177fffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffff169069ff00000000000000000016177fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff16177fffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffff161717178355600183016101a0820151805163ffffffff1663ffffffff1682547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000161782556020015163ffffffff166125fc91907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b6101c0015180516002840180546020938401517fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911663ffffffff909316929092179190921b67ffffffff000000001617905560200190600301916001019190611dab565b60038181020481036126b65760038381020483036126b657600689018852602088208360030281015b826003028201811061269e575050611d9a565b808a600392558a60018201558a60028201550161268b565b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b50906020813d60201161276f575b81612758602093836137ee565b8101031261276b5790611b2f9151611b25565b8380fd5b3d915061274b565b6020813d6020116127ae575b81612790602093836137ee565b810103126127aa575180151581036127aa575060ff611915565b8880fd5b3d9150612783565b6040513d8b823e3d90fd5b6127e3915060203d6020116127e9575b6127db81836137ee565b810190614273565b386118b3565b503d6127d1565b61280e9062ffffff60c08701519160038702015460601c16906145b7565b60a08501519081156128615761282c63ffffffff9283920442614161565b16167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060018301541617600182015538611825565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526012600452fd5b50611805836117f5565b8251838a821561013c5750602001fd5b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6060926117be565b9050604051917f70a082310000000000000000000000000000000000000000000000000000000083523060048401526020836024818c5afa801561297a57908a8a8d94938590612939575b8596509e62ffffff9360ff916115b5565b5050509150916020813d602011612972575b81612958602093836137ee565b8101031261296e57918a92918a8a859451612928565b8a80fd5b3d915061294b565b6040513d8d823e3d90fd5b503095611572565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f54460000000000000000000000000000000000000000000000000000000000006044820152fd5b60c084015238611549565b612a0761ffff9160808801516145b7565b048060a08701528060c0870151111561152b5760c08601523861152b565b806c01000000000000000000000000016c0100000000000000000000000011610617576115379291612a66916c01000000000000000000000000019061492c565b6114ee565b9093508b8160203d602011612a9d575b602092612a8882846137ee565b5081010312612a995751923861148a565b8b80fd5b503d612a7b565b6040513d8e823e3d90fd5b878452612ac36001600385028401016146e9565b612d0c575b612ad96002600385028401016146e9565b612ae7575b611537906114f4565b835115612bff575b60ff8160401c16600014612be857612b2263ffffffff600789015460101c16600889015490600260038702860101614782565b905b81855111612b8a576115379173ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b0154161060ff60058b015460101c16151503612b7f575b509050612ade565b602086015238612b77565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c550000000000000000000000000000000000000000000000000000000000006044820152fd5b612bf960026003850284010161470e565b90612b24565b6002870154602073ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b01541690612c8960ff60058d015460101c1660405195869485947f0f82d67500000000000000000000000000000000000000000000000000000000865260ff62ffffff8460081c1693166004870161456e565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156127b6578991612cda575b508452612aef565b90506020813d602011612d04575b81612cf5602093836137ee565b810103126127aa575138612cd2565b3d9150612ce8565b600287015473ffffffffffffffffffffffffffffffffffffffff88541673ffffffffffffffffffffffffffffffffffffffff60018a015416612d99602060ff60058d015460101c16809560405193849283927f0f82d675000000000000000000000000000000000000000000000000000000008452878960ff62ffffff8460081c1693166004870161456e565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612aa4578c91612eb3575b50875260ff8460381c16600014612e9c57612e1863ffffffff60078c015460101c1660088c015490600160038a02890101614782565b925b8388511115612e3e571515911003612e33575b50612ac8565b602085015238612e2d565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c4c0000000000000000000000000000000000000000000000000000000000006044820152fd5b612ead60016003880287010161470e565b92612e1a565b90508b8160203d602011612edf575b602092612ecf82846137ee565b5081010312612a99575138612de2565b503d612ec2565b5063ffffffff600160038502840101541615156113af565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f524c0000000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f54450000000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f544c0000000000000000000000000000000000000000000000000000000000006044820152fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4e4f0000000000000000000000000000000000000000000000000000000000006044820152fd5b90506020813d602011613117575b816130eb602093836137ee565b81010312610adb575173ffffffffffffffffffffffffffffffffffffffff81168103610adb57386112e2565b3d91506130de565b6040513d85823e3d90fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b503461013c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c5761318f61382f565b5080f35b503461013c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c57602060405160028152f35b503461013c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c5761321f73ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b6132276141e8565b7fce65bc44c9caad3bb118ec247275ee69b1ce0e86e3099162ad165bbb3eb3238b602067ffffffffffffffff60045416807fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006003541617600355604051908152a16001815580f35b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013c5760043567ffffffffffffffff8111610adf576132da90369060040161391a565b6132fd73ffffffffffffffffffffffffffffffffffffffff600254163314613cfa565b6133056141e8565b6040517f9af1d35a00000000000000000000000000000000000000000000000000000000815260a08160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561311f578391613711575b506133838183614223565b9190926133918385336142c8565b60ff608067ffffffffffffffff6004541693015116907f0000000000000000000000000000000000000000000000000000000000000000936040908151926133d983856137ee565b600184527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08301895b8181106136fa57505061341484614140565b5261341e83614140565b5061342c60ff845110614677565b67ffffffffffffffff60045461344561057c865161429f565b169267ffffffffffffffff95895b825160ff8216908110156136bb5761346b908461414d565b51613478868201516146dc565b60028110156109825760010361365e578888826101008d9401838151168481036134ef575b50509160ff9493916134b0936003614a6b565b501660ff81146134c257600101613453565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b91945092506134ff9150896155e0565b908a821680915260045411156136015761351a906004613e8c565b508973ffffffffffffffffffffffffffffffffffffffff60208401511673ffffffffffffffffffffffffffffffffffffffff8354161491826135f2575b826135e5575b826135d2575b5050156135755788888b92388061349d565b606486517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f5300000000000000000000000000000000000000000000000000000000006044820152fd5b8192506005015460181c16148938613563565b600381015415925061355d565b600581015460ff169250613557565b606487517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f4900000000000000000000000000000000000000000000000000000000006044820152fd5b606486517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f55520000000000000000000000000000000000000000000000000000000000006044820152fd5b8b837fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df96683560608e898b805192600184526020840152820152a26001815580f35b602090613705613dd6565b82828901015201613402565b61372a915060a03d60a011610ac957610aba81836137ee565b38613378565b610140810190811067ffffffffffffffff82111761374d57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610120810190811067ffffffffffffffff82111761374d57604052565b6040810190811067ffffffffffffffff82111761374d57604052565b6101e0810190811067ffffffffffffffff82111761374d57604052565b60a0810190811067ffffffffffffffff82111761374d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761374d57604052565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361385257565b600080fd5b359073ffffffffffffffffffffffffffffffffffffffff8216820361385257565b359062ffffff8216820361385257565b3590811515820361385257565b6004359067ffffffffffffffff8216820361385257565b67ffffffffffffffff811161374d5760051b60200190565b359061ffff8216820361385257565b359063ffffffff8216820361385257565b9190826040910312613852576040516138fc81613799565b602061391581839561390d816138d3565b8552016138d3565b910152565b9190828103926101608412613852576040519061393682613730565b60407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0839661396484613857565b855261397260208501613857565b602086015201126138525760405161398981613799565b604082013560028110156138525781526139a560608301613878565b602082015260408301526080810135606083015260a081013560808301526139cf60c08201613888565b60a08301526139e060e08201613888565b60c08301526139f26101008201613888565b60e083015261012081013567ffffffffffffffff81168103613852576101008301526101408101359067ffffffffffffffff8211613852570182601f8201121561385257803590613a42826138ac565b93613a5060405195866137ee565b828552602061022081870194028301019181831161385257602001925b828410613a7f57505050506101200152565b6102208483031261385257602061022091604051613a9c816137b5565b613aa5876138c4565b8152613ab2838801613888565b83820152613ac260408801613888565b6040820152613ad360608801613888565b6060820152613ae460808801613888565b6080820152613af560a08801613888565b60a0820152613b0660c08801613888565b60c0820152613b1760e08801613888565b60e0820152613b296101008801613888565b610100820152613b3c61012088016138c4565b610120820152613b4f6101408801613878565b610140820152613b6261016088016138d3565b610160820152613b7561018088016138d3565b610180820152613b89856101a089016138e4565b6101a0820152613b9d856101e089016138e4565b6101c0820152815201930192613a6d565b906002821015613bbb5752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc60a09101126138525760405190613c21826137d2565b8160243560ff8116810361385257815260443560ff8116810361385257602082015260643560ff8116810361385257604082015260843560ff8116810361385257606082015260a4359060ff821682036138525760800152565b9080601f83011215613852578135613c92816138ac565b92613ca060405194856137ee565b81845260208085019260051b820101918383116138525760208201905b838210613ccc57505050505090565b813567ffffffffffffffff811161385257602091613cef8784809488010161391a565b815201910190613cbd565b15613d0157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152fd5b519060ff8216820361385257565b908160a091031261385257613dce608060405192613d8a846137d2565b613d9381613d5f565b8452613da160208201613d5f565b6020850152613db260408201613d5f565b6040850152613dc360608201613d5f565b606085015201613d5f565b608082015290565b60405190613de382613730565b6060610120836000815260006020820152604051613e0081613799565b6000815260006020820152604082015260008382015260006080820152600060a0820152600060c0820152600060e082015260006101008201520152565b600454811015613e5d576004600052600b602060002091020190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8054821015613e5d57600052600b602060002091020190600090565b6002821015613bbb5752565b90604051613ec181613799565b602063ffffffff8294548181168452821c16910152565b90604051613ee581613730565b6006819373ffffffffffffffffffffffffffffffffffffffff815416835273ffffffffffffffffffffffffffffffffffffffff6001820154166020840152604051613f2f81613799565b62ffffff6002830154613f4560ff821684613ea8565b60081c1660208201526040840152600381015460608401526004810154608084015267ffffffffffffffff600582015460ff8116151560a086015260ff8160081c16151560c086015260ff8160101c16151560e086015260181c1661010084015201908154613fb3816138ac565b92613fc160405194856137ee565b818452602084019060005260206000206000915b838310613fe757505050506101200152565b60036020600192604051613ffa816137b5565b63ffffffff865461ffff8116835260ff8160101c1615158584015260ff8160181c161515604084015260ff81861c161515606084015260ff8160281c161515608084015260ff8160301c16151560a084015260ff8160381c16151560c084015260ff8160401c16151560e084015260ff8160481c16151561010084015261ffff8160501c1661012084015262ffffff8160601c16610140840152818160781c1661016084015260981c166101808201526140b5858701613eb4565b6101a08201526140c760028701613eb4565b6101c0820152815201920192019190613fd5565b156140e257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f57550000000000000000000000000000000000000000000000000000000000006044820152fd5b805115613e5d5760200190565b8051821015613e5d5760209160051b010190565b9190820180921161416e57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600092918391825b81518410156141e0576141d76001916141d16141cb866141c5898861414d565b516145e2565b92614161565b97614161565b930192946141a5565b949392505050565b6002600054146141f9576002600055565b7f3ee5aeb50000000000000000000000000000000000000000000000000000000060005260046000fd5b919060608301511561426a578061425061424a6142679360ff602081835116920151161b90565b946156a1565b9060ff606081604084015116920151161b906145b7565b90565b50600091508190565b90816020910312613852575173ffffffffffffffffffffffffffffffffffffffff811681036138525790565b67ffffffffffffffff039067ffffffffffffffff821161416e57565b9190820391821161416e57565b916142d38183614161565b34106144f45781158015614422575b5080158015614350575b506142f691614161565b348110614301575050565b60008080936143118294346142bb565b9082908215614346575b73ffffffffffffffffffffffffffffffffffffffff1690f11561433a57565b6040513d6000823e3d90fd5b6108fc915061431b565b6040517f1db89da100000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561433a5760008481949282949383948491614403575b5083916143f9575b73ffffffffffffffffffffffffffffffffffffffff1690f11561433a57386142ec565b6108fc91506143d6565b61441c915060203d6020116127e9576127db81836137ee565b386143ce565b6040517febd3cdcd00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561433a57600085819492829493839484916144d5575b5083916144cb575b73ffffffffffffffffffffffffffffffffffffffff1690f11561433a57386142e2565b6108fc91506144a8565b6144ee915060203d6020116127e9576127db81836137ee565b386144a0565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f46454500000000000000000000000000000000000000000000000000000000006044820152fd5b8054821015613e5d5760005260206000209060011b0190600090565b9373ffffffffffffffffffffffffffffffffffffffff6080948162ffffff9499989561459e8960a081019c613bae565b1660208801521660408601521660608401521515910152565b8181029291811591840414171561416e57565b8054821015613e5d5760005260206000200190600090565b61010081019167ffffffffffffffff808451161461462d57614623611adf61461e6146299567ffffffffffffffff8060045416915116906155e0565b613e3e565b9161564e565b9091565b906146299250614223565b67ffffffffffffffff6003541667ffffffffffffffff82161090811561465c575090565b60ff915061466d6007916004613e8c565b50015460081c1690565b1561467e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f544d4f00000000000000000000000000000000000000000000000000000000006044820152fd5b516002811015613bbb5790565b5463ffffffff811615908115916146fe575090565b63ffffffff915060201c16151590565b5463ffffffff61471f818316614806565b9160201c16801561473f579061473761426792614806565b904291615758565b5090565b8181029291600082127f800000000000000000000000000000000000000000000000000000000000000082141661416e57818405149015171561416e57565b54909163ffffffff6147a381614799818616614806565b9460201c16614806565b931660030b916147b38385614743565b91600083820393128184128116908285139015161761416e576c01000000000000000000000000916147e491614743565b05906000828201928312911290801582169115161761416e5761426792615758565b637fffffff81161561492657637f800000811660030b60171d60030b60ff81146148c8576380000000627fffff831660030b826148bd5760011b925b166148b1575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810160030b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb70360030b600081126000146148a4576000031b90565b600081131561473f571d90565b60009190910390614848565b628000001792614842565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4e614e00000000000000000000000000000000000000000000000000000000006044820152fd5b50600090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6c010000000000000000000000008209918160601b918280851094039380850394146149df5783821115613852576c01000000000000000000000000829109818060000316809204600281600302188082026002030280820260020302808202600203028082026002030280820260020302809102600203029360018380600003040190848311900302920304170290565b5080925015613852570490565b6000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183099181810293848085109403938085039414614a6157836c01000000000000000000000000111561013c5750906c01000000000000000000000000910990828211900360a01b910360601c1790565b5050505060601c90565b60010180549295939491934263ffffffff169367ffffffffffffffff811692906801000000000000000081101561374d57614ab891614ab1826001879401835582613e8c565b5050613e8c565b5073ffffffffffffffffffffffffffffffffffffffff80875116167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416178155602086019773ffffffffffffffffffffffffffffffffffffffff89511673ffffffffffffffffffffffffffffffffffffffff6001840191167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560028201966040810180519889516002811015613bbb5760009a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060ff63ffffff006020865494015160081b1693169116171790556060820151600385015560808201516004850155600584019260a0830151151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008654169116178455614c3960c0840151151585907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff00835492151560081b169116179055565b60e08301805185547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff1690151560101b62ff000016178555936101008401517fffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffff6affffffffffffffff00000083549260181b169116179055600685019a61012084019b8c5190815191680100000000000000008311614f7d578154838355808410615454575b509d9e9d602001908d5260208d208d915b8383106150ad575050505075ffffffffffffffff0000000000000000000000000000906dffffffffffffffff0000000000007fffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffff60078901947fffffffffffffffffffffffffffffffffffff000000000000000000000000ff0060ff875492169116171665ffffffff00004260101b16179160301b16171790558896899a600a86019b5b8d518051821015614fb75781614da89161414d565b51606081015115801590614faa575b6120ea578d5468010000000000000000811015614f7d578c8f8f92614dee91614de7826001899401835582614552565b5050614552565b50602084015190929015614f6657614e546001614e1663ffffffff61016088015116856157e1565b945b019384907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b50604083015115614f525763ffffffff614e7781928261018087015116906157e1565b7fffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffff6bffffffff000000000000000085549260401b1691161780845560201c16167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000082541617905560c081015115801590614f45575b614f3c575b60a081015115908115614f0d575b5015611ff057600101614d93565b6101a001515163ffffffff81161515915081614f2c575b501538614eff565b6380000000915016151538614f24565b60019a50614ef1565b5060e08101511515614eec565b5063ffffffff808061018085015116614e77565b614e54600163ffffffff6101608701511694614e18565b60248e7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b5060808101511515614db7565b5050939792969b50939750939850614fd3575b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff60209461504462ffffff878480614fff8a516146dc565b955116965116975101511697511515604051988997889687957f5b1b31790000000000000000000000000000000000000000000000000000000087526004870161456e565b0392165afa9283156150a1578093615069575b50506008015538808080808080614fca565b909192506020823d602011615099575b81615086602093836137ee565b8101031261013c57505190600838615057565b3d9150615079565b604051903d90823e3d90fd5b9e9f9e8051805161ffff1683547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016178355602081015115156151219084907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff62ff0000835492151560101b169116179055565b6040810151151583546060830151151560201b64ff00000000166080840151151560281b60a0850151151560301b60c0860151151560381b60e0870151151560401b90610100880151151560481b9261012089015160501b6bffff0000000000000000000016946101408a015160601b6effffff00000000000000000000000016966101608b015160781b72ffffffff00000000000000000000000000000016986101808c015160981b76ffffffff00000000000000000000000000000000000000169a60181b63ff00000016907fffffffffffffffffffffffffffffffffffffffffffffffffffff000000ffffff16177fffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff16177fffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff169065ff000000000016177fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff169066ff00000000000016177fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff169067ff0000000000000016177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff169068ff000000000000000016177fffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffff169069ff00000000000000000016177fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff16177fffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffff161717178355600183016101a0820151805163ffffffff1663ffffffff1682547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000161782556020015163ffffffff166153eb91907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b6101c0015180516002840180546020938401517fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911663ffffffff909316929092179190921b67ffffffff0000000016179055602001906003019160010191909f9e9f614cf0565b806003029060038204036154d457836003026003810485036154a6578f90848252602082209283019201905b82821061548e575050614cdf565b8082556001820181905560028201556003018f615480565b5060248f7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60248f7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b61550c9060056145ca565b505467ffffffffffffffff60ff818360081c169260481c161667ffffffffffffffff8216019067ffffffffffffffff821161416e5767ffffffffffffffff91909116906004905b8267ffffffffffffffff82161061556957505050565b600181600761558167ffffffffffffffff9486613e8c565b50016101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff8254161790557f74a075ee230588b5c76ea493a6d21b086384f29139b7227b9c6329e66106dc4860206040518584168152a10116615553565b60009067800000000000000083166155f757505090565b67ffffffffffffffff677fffffffffffffff9116019067ffffffffffffffff821161562157501690565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b90929192606082015115615695579061569061568a6156848461567e6142679660ff602081835116920151161b90565b97614223565b90614161565b916156a1565b6145b7565b50509050600090600090565b600091825b6101208301518051851015615751576101206156c58661ffff9361414d565b51015116906000826156ee575061012091506156e46001918290614161565b94019390506156a6565b5061ffff615701818481041693846145b7565b10615716575b6156e461012092600192614161565b6001820180921115615707577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5092509050565b909182818302019282156157b25783038290050361577f5750600081136142675750600090565b6000121590506157ad577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b9063ffffffff8091169116019063ffffffff821161416e5756fea2646970667358221220e41aa89a7d8f3a0ffe95c4f20a2f1d3105b18cc961571931d53049cad4bad35264736f6c634300081a0033","sourceMap":"6326:182:75:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;6260:42;6326:182;6282:6;6326:182;;6268:10;:20;6260:42;:::i;:::-;2466:103:33;;:::i;:::-;5994:5:75;6326:182;5994:5;6326:182;5978:40;5986:26;;;5978:40;:::i;:::-;6028:29;;;;;6326:182;;;;;6028:29;;;;6326:182;6028:29;;6326:182;;6028:29;;;;;;;;;6326:182;1899:1:33;6326:182:75;1899:1:33;;6326:182:75;;6028:29;;;;;:::i;:::-;6326:182;;6028:29;;;;;6326:182;;;;;;;;;6028:29;6326:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6260:42;6326:182;6282:6;6326:182;;6268:10;:20;6260:42;:::i;:::-;2466:103:33;;:::i;:::-;6160:5:75;6326:182;6160:5;6326:182;6144:40;6152:26;;;6144:40;:::i;:::-;6194:22;;;;;6326:182;;;6194:22;6326:182;;6194:22;;;;6326:182;6194:22;;6326:182;;;6194:22;;6326:182;6194:22;;;;;;;;6326:182;;1899:1:33;;6326:182:75;;6194:22;;;;:::i;:::-;;;;;;6326:182;;;;;;;;;;;;;;;;;;;;;;;;;;;1171:39;6326:182;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;6260:42;6326:182;6282:6;6326:182;;6268:10;:20;6260:42;:::i;:::-;2466:103:33;;:::i;:::-;6326:182:75;;3738:17;6326:182;3738:17;;;:10;6326:182;3738:10;6326:182;3738:10;6326:182;3738:17;;;;;;;;;;;6326:182;3802:27;;;;;:::i;:::-;6268:10;;;3879:6;6268:10;;;3879:6;:::i;:::-;6326:182;4002:20;6326:182;;;;4002:20;;6326:182;;4033:6;;6326:182;3836:50:67;6326:182:75;;;3844:34:67;3836:50;:::i;:::-;6326:182:75;;;3921:72:67;3950:35;6326:182:75;;3950:35:67;:::i;:::-;3929:56;;3921:72;:::i;:::-;6326:182:75;;4088:25:67;;;4128:23;6326:182:75;4084:367:67;;4627:11;4662:3;6326:182:75;;;;;4640:20:67;;;;;;4707:12;;;;:::i;:::-;;4741:11;:20;6326:182:75;4741:11:67;;;:20;:::i;:::-;6282:6:75;6326:182;;;;;3929:11:67;4741:42;6326:182:75;;5521:22:67;;;;;;6326:182:75;;;;;5521:46:67;;5517:1493;;4662:3;7023:81;;;;;;6326:182:75;7023:81:67;6326:182:75;7023:81:67;:::i;:::-;;6326:182:75;;;;;;3929:11:67;6326:182:75;4627:11:67;;6326:182:75;;;;;;;;;;5517:1493:67;5604:58;;;;;;;;;:::i;:::-;6326:182:75;;;;;;;;;-1:-1:-1;6326:182:75;;;6279:20:67;;6326:182:75;6279:20:67;:::i;:::-;6492:14;6326:182:75;;6492:14:67;;6326:182:75;;;;;;6492:37:67;:136;;;;5517:1493;6492:240;;;5517:1493;6492:419;;;5517:1493;6326:182:75;;;;5517:1493:67;;;;;;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;6492:419:67;6326:182:75;6859:28:67;;;;;;6326:182:75;;;;6859:52:67;6492:419;;;:240;6326:182:75;6709:18:67;;6326:182:75;6709:23:67;;-1:-1:-1;6492:240:67;;:136;6603:25;;;6326:182:75;;;;-1:-1:-1;6492:136:67;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6282:6;6326:182;;;;;;;;;;;;;;;;;;;;4640:20:67;;;4055:70:75;6326:182;4640:20:67;;6326:182:75;4640:20:67;6326:182:75;;;;;;;;;;;;;;;;4055:70;3929:11:67;1899:1:33;;6326:182:75;;4084:367:67;268:16:68;;3929:11:67;4171:41;;:84;;;;4084:367;4166:285;;;4289:14;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;268:16:68;;6326:182:75;;;4345:54:67;;6326:182:75;;;;;4345:54:67;;6326:182:75;;;;;;;;;;3929:11:67;6326:182:75;;;4289:14:67;6326:182:75;4289:14:67;6326:182:75;:::i;:::-;;;;;;;268:16:68;6326:182:75;268:16:68;;;;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4084:367:67;;268:16:68;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4166:285:67;4437:14;6326:182:75;;4437:14:67;;;6326:182:75;;4437:14:67;;6326:182:75;;;;;;;;;;;4437:14:67;4171:84;268:16:68;;;6282:6:75;4216:39:67;;4171:84;;3738:17:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;6326:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5891:5;6326:182;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;5632:38;6326:182;;;5695:45;6326:182;5695:45;;:::i;:::-;6326:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1751:26;6326:182;;;;;;:::i;:::-;;;;:::i;:::-;1751:26;;:::i;6326:182::-;;;;;;;;;;;;19154:32:67;6326:182:75;;;:::i;:::-;6260:42;6326:182;6282:6;6326:182;;6268:10;:20;6260:42;:::i;:::-;2466:103:33;;:::i;:::-;19100:32:67;:23;;6326:182:75;19100:23:67;:::i;:::-;:32;;6326:182:75;;;;;;;;;;;;;;;19154:32:67;19135:4;1899:1:33;;6326:182:75;;;;;;;;;;;;;;4883:30;6326:182;;:::i;:::-;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4883:30;:::i;:::-;6326:182;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6326:182:75;;;;;;;;-1:-1:-1;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2466:103:33;;:::i;:::-;6326:182:75;;;5156:13;;6326:182;5080:4;6326:182;5080:4;;5156:13;;;;;;;;;;;6326:182;10456:23:67;;;;:::i;:::-;10493:29;;;;;:::i;:::-;10489:59;;10644:21;;;6326:182:75;;;;;;;;;;;;10721:34:67;:20;;;;:34;:::i;:::-;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10905:15:67;;6326:182:75;;;;;;10887:15:67;:33;6326:182:75;;;;;;;;10887:15:67;10959:36;6326:182:75;;;;10887:15:67;11035:41;6326:182:75;;5196:11;6326:182;;;;;;;;;;11211:58:67;;;6326:182:75;11207:2725:67;;;11352:123;11374:11;;;6326:182:75;;;;;;;11427:14:67;;6326:182:75;;;;11460:14:67;;;6326:182:75;;;;;;;;11352:123:67;;;;;6326:182:75;11352:123:67;;6326:182:75;;;;;;;;;;;11352:123:67;;;:::i;:::-;;5250:6:75;6326:182;5250:6;6326:182;11352:123:67;;;;;;;;;;;11207:2725;6326:182:75;11586:37:67;6326:182:75;;5196:11;6326:182;;;;11586:15:67;6326:182:75;;11586:37:67;:::i;:::-;11723:151;6326:182:75;;11650:30:67;;11649:50;6326:182:75;;;11778:5:67;6326:182:75;11778:5:67;6326:182:75;;;14465:28:67;6326:182:75;;11745:55:67;6326:182:75;11778:5:67;6326:182:75;11745:55:67;;:::i;:::-;6326:182:75;;;;11207:2725:67;6326:182:75;5196:11;13984:12:67;;6326:182:75;;14085:32:67;6326:182:75;13984:31:67;6326:182:75;;;13984:31:67;;:::i;:::-;317:16:68;6326:182:75;;;;;;;14085:32:67;;:::i;:::-;6326:182:75;;;;;;;14154:30:67;14150:258;;11207:2725;14480:13;;;;6326:182:75;14465:28:67;;:::i;:::-;6326:182:75;;;;;;;;;;14507:22:67;14503:117;;11207:2725;6326:182:75;;;;;14651:19:67;6326:182:75;14651:19:67;;6326:182:75;14639:31:67;;;317:16:68;;14708:27:67;;;6326:182:75;14708:51:67;6326:182:75;;;;;14708:51:67;6326:182:75;;;14708:51:67;;14794:14;6326:182:75;;14794:14:67;;6326:182:75;;14983:86:67;6326:182:75;;;;;;14983:46:67;:86;6326:182:75;;;14983:86:67;;;;;;6326:182:75;14983:86:67;6326:182:75;14983:86:67;;15609:11;6326:182:75;15609:11:67;;;;6326:182:75;;;;;;;;;;;;;;;;;;;;:::i;:::-;15577:213:67;6326:182:75;;;15577:213:67;;:::i;:::-;6326:182:75;15577:213:67;;6326:182:75;;15577:213:67;;6326:182:75;;;15577:213:67;;6326:182:75;;15577:213:67;;6326:182:75;;15577:213:67;;6326:182:75;;;;;;;15577:213:67;;6326:182:75;;;;;;;15577:213:67;;6326:182:75;;15577:213:67;;6326:182:75;;;;15577:213:67;;;6326:182:75;;;;15577:213:67;6326:182:75;15904:57:67;;;15927:21;15904:57;;139:16:68;6326:182:75;15904:57:67;;139:16:68;;;:::i;:::-;6326:182:75;;15577:213:67;;139:16:68;6326:182:75;;139:16:68;;6326:182:75;;;15577:213:67;;139:16:68;6326:182:75;139:16:68;;;6326:182:75;;;15577:213:67;;139:16:68;6326:182:75;139:16:68;;;6326:182:75;;15577:213:67;;139:16:68;;;;6326:182:75;;15577:213:67;;139:16:68;;;;6326:182:75;;15577:213:67;;139:16:68;6326:182:75;;139:16:68;;;6326:182:75;;15577:213:67;;139:16:68;6326:182:75;;139:16:68;;;6326:182:75;;15577:213:67;;139:16:68;;;;6326:182:75;15577:213:67;139:16:68;6326:182:75;139:16:68;;;6326:182:75;139:16:68;15904:57:67;;;;;;:::i;:::-;15862:100;5250:6:75;6326:182;5250:6;6326:182;15862:100:67;;;139:16:68;;;;;;6326:182:75;139:16:68;;;;6326:182:75;;;;;;;;;;139:16:68;6326:182:75;;:::i;:::-;139:16:68;;;;6326:182:75;139:16:68;;;;15976:8:67;15972:319;;6326:182:75;;;;16360:38:67;;139:16:68;;;;6326:182:75;;16360:38:67;;6326:182:75;139:16:68;;6326:182:75;;;;;;;;14708:27:67;;;6326:182:75;;16490:44:67;;;;16544:25;16490:44;;6326:182:75;;;;;14480:13:67;;;6326:182:75;16544:25:67;:::i;:::-;14480:13;;;1899:1:33;16579:26:67;6326:182:75;;;;;;16579:26:67;:::i;:::-;1899:1:33;;6326:182:75;;;;16652:238:67;;16490:44;16949:21;16973:6;16937:33;6326:182:75;16949:21:67;;;6326:182:75;;16937:33:67;;:::i;:::-;317:16:68;6326:182:75;;;;;;;17007:27:67;;6326:182:75;5258:10;6326:182;5258:10;6326:182;5258:10;6326:182;17007:27:67;;;;;;;;;;;16490:44;6326:182:75;;;;;;;;16989:57:67;6326:182:75;16989:57:67;;6326:182:75;;16989:57:67;;6326:182:75;;139:16:68;;6326:182:75;;16989:57:67;6326:182:75;16989:57:67;;;;;;;;;;;16490:44;6326:182:75;;17062:102:67;6326:182:75;;;;;;;;;;;;;;;10905:15:67;;6326:182:75;;;;;;;;;139:16:68;;6326:182:75;;139:16:68;;6326:182:75;;139:16:68;;6326:182:75;;;;17062:102:67;;14708:27;;;6326:182:75;;;;;;17319:46:67;6326:182:75;17319:46:67;;17315:733;;16490:44;13984:12;;;6326:182:75;13984:12:67;;;;18130:28;5196:11:75;16949:21:67;13984:12;;6326:182:75;14480:13:67;;;6326:182:75;18130:28:67;;:::i;:::-;6326:182:75;14651:19:67;;6326:182:75;-1:-1:-1;6326:182:75;;;16949:21:67;6326:182:75;;;;;18331:31:67;;18327:86;;18168:427;;6326:182:75;1899:1:33;;6326:182:75;;18327:86:67;18397:15;;;:::i;:::-;18327:86;;;18168:427;16949:21;6326:182:75;;;;;18442:31:67;;;:105;;;18168:427;18438:157;;18168:427;;;;18438:157;18579:15;;;:::i;:::-;18438:157;;;18442:105;18477:31;14708:27;6326:182:75;268:16:68;;;;;14708:27:67;6326:182:75;;;268:16:68;;;6326:182:75;;5196:11;268:16:68;;;;;6326:182:75;18477:70:67;18442:105;;268:16:68;6326:182:75;;;;;;;;;268:16:68;6326:182:75;;;;;;;;;17315:733:67;6326:182:75;139:16:68;17512:35:67;6326:182:75;17512:35:67;;;;;;:::i;:::-;139:16:68;;:::i;:::-;6326:182:75;;;17700:33:67;;;;6326:182:75;17700:33:67;;5080:4:75;6326:182;17700:33:67;;6326:182:75;17700:33:67;;;;;;;;;;17315:733;17700:59;;;;:::i;:::-;6326:182:75;17685:12:67;;6326:182:75;;16949:21:67;;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8599:23:67;;;;6326:182:75;8599:23:67;:::i;:::-;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15609:11:67;6326:182:75;;;;;;;;;15609:11:67;6326:182:75;;;;;;;;;;;;;;;15609:11:67;6326:182:75;;;;17685:12:67;;6326:182:75;5196:11;6326:182;;1899:1:33;6326:182:75;;;;;;;1899:1:33;14708:27:67;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15577:213:67;6326:182:75;;;;;;;;;;;10644:21:67;6326:182:75;;;;10644:21:67;6326:182:75;;;;;;;;17315:733:67;6326:182:75;;;10644:21:67;6326:182:75;;;;;;;;;;;;;;;8662:21:67;;;;6326:182:75;;16949:21:67;8662;;6326:182:75;;;;;;;;;;;;;;;;;10887:15:67;6326:182:75;;;;;;;;;8871:27:67;8913:8;;8948:3;15577:213;6326:182:75;;8925:14:67;6326:182:75;;8923:23:67;;;;;8993:17;;;;:::i;:::-;;6326:182:75;9068:20:67;;6326:182:75;;;;9068:44:67;;;8948:3;9064:79;;10721:20;9178;;6326:182:75;;;;;;;;;;;;10721:20:67;9178;;6326:182:75;10721:20:67;9178;;6326:182:75;:::i;:::-;9178:20:67;;9246:23;9178:20;10721;9178;;9246:23;:::i;:::-;-1:-1:-1;6326:182:75;7860:27:67;;6326:182:75;;7860:78:67;;7833:106;6326:182:75;7890:29:67;6326:182:75;;7902:17:67;;6326:182:75;;;10887:15:67;6326:182:75;7890:29:67;:::i;:::-;7860:78;;7833:23;:106;;6326:182:75;;;;;;;;;;;;;;;7833:106:67;6326:182:75;7974:25:67;;6326:182:75;;7974:72:67;;6326:182:75;8014:15:67;8002:27;8014:15;6326:182:75;8014:15:67;;6326:182:75;;10887:15:67;;6326:182:75;8002:27:67;:::i;:::-;6326:182:75;;;;;;;;;;;;;;;;;;139:16:68;;;;;;;6326:182:75;9298:18:67;;6326:182:75;;;;9298:40:67;;;7974:72;9294:83;;7974:72;6326:182:75;9400:19:67;;6326:182:75;;;;;9399:63:67;;7974:72;6326:182:75;;;;;;8913:8:67;;6326:182:75;139:16:68;6326:182:75;;;;;;;;;;5196:11;6326:182;;;;;;;;;;9399:63:67;6326:182:75;9424:15:67;;6326:182:75;;;;2357:8:65;;;-1:-1:-1;2357:8:65;:32;;9399:63:67;9423:39;;9399:63;;;2357:32:65;636:11;2369:15;;;:20;;2357:32;;;9294:83:67;6326:182:75;;-1:-1:-1;9294:83:67;;9298:40;9320:18;6326:182:75;9320:18:67;;6326:182:75;;;9298:40:67;;7974:72;6326:182:75;8031:15:67;;6326:182:75;8031:15:67;;6326:182:75;;7974:72:67;;7860:78;7833:106;6326:182:75;;;7921:17:67;;6326:182:75;;7860:78:67;;;6326:182:75;;;;;;;;;;9064:79:67;139:16:68;6326:182:75;;9131:12:67;;;6326:182:75;;9131:12:67;;6326:182:75;15609:11:67;6326:182:75;;;;;;;;;9131:12:67;9068:44;9092:20;6326:182:75;9092:20:67;;6326:182:75;;;9068:44:67;;8923:23;;;;;;;;;9548:159;;8908:595;6326:182:75;;16949:21:67;6326:182:75;;;17980:44:67;6326:182:75;;;;;;268:16:68;6326:182:75;268:16:68;;6326:182:75;268:16:68;6326:182:75;268:16:68;;6326:182:75;17980:44:67;17315:733;;;;;;9548:159;6326:182:75;9622:20:67;6326:182:75;;;9622:11:67;:20;:::i;:::-;6326:182:75;;;;;9600:107:67;6326:182:75;;;;;;;;;;;;;9675:11:67;:15;6326:182:75;;;;;;;;;;9600:107:67;;;;;6326:182:75;9600:107:67;;6326:182:75;9600:107:67;;;:::i;:::-;;5250:6:75;6326:182;5250:6;6326:182;9600:107:67;;;;;;;;;;;9548:159;-1:-1:-1;6326:182:75;9580:17:67;1899:1:33;9580:17:67;6326:182:75;9548:159:67;;9600:107;;;;;6326:182:75;9600:107:67;;6326:182:75;9600:107:67;;;;;;6326:182:75;9600:107:67;;;:::i;:::-;;;6326:182:75;;;;;;9600:107:67;;;;6326:182:75;;9600:107:67;;6326:182:75;;;;9600:107:67;;;-1:-1:-1;9600:107:67;;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15577:213:67;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;139:16:68;;;;;;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;15609:11:67;6326:182:75;;139:16:68;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5196:11;6326:182;;;;;;;;;5196:11;6326:182;;;;;;;;5196:11;6326:182;;;;;;;;10644:21:67;6326:182:75;;;;;;;;5196:11;6326:182;;;;;5196:11;6326:182;;;;;;;;;;;;;;5196:11;6326:182;;;;;;;;15609:11:67;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17700:33:67;;;6326:182:75;17700:33:67;;6326:182:75;17700:33:67;;;;;;6326:182:75;17700:33:67;;;:::i;:::-;;;6326:182:75;;;;;17700:59:67;6326:182:75;;17700:33:67;;6326:182:75;;;;17700:33:67;;;-1:-1:-1;17700:33:67;;16989:57;6326:182:75;16989:57:67;;6326:182:75;16989:57:67;;;;;;6326:182:75;16989:57:67;;;:::i;:::-;;;139:16:68;;;;;6326:182:75;;;;;;;-1:-1:-1;6326:182:75;16989:57:67;;6326:182:75;;;;16989:57:67;;;-1:-1:-1;16989:57:67;;;6326:182:75;;;;;;;;;17007:27:67;;;;6326:182:75;17007:27:67;6326:182:75;17007:27:67;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;16652:238;16825:34;6326:182:75;;;;;;;5196:11;6326:182;;;;;;;16825:34:67;;:::i;:::-;6326:182:75;;;;16825:52:67;317:16:68;;;;16807:70:67;6326:182:75;317:16:68;;;;10887:15:67;16807:70;:::i;:::-;6326:182:75;;139:16:68;6326:182:75;10905:15:67;;139:16:68;;;6326:182:75;10905:15:67;;139:16:68;16652:238:67;;;317:16:68;6326:182:75;317:16:68;;;;;6326:182:75;317:16:68;;16490:44:67;;16544:25;16490:44;;;15972:319;6326:182:75;;;;16004:17:67;;;;16084:140;6326:182:75;16084:140:67;;139:16:68;6326:182:75;;;;;;;;;139:16:68;6326:182:75;139:16:68;;;14983:86:67;6326:182:75;;;;15036:33:67;6326:182:75;15036:33:67;;5080:4:75;6326:182;15036:33:67;;6326:182:75;;15036:33:67;6326:182:75;15036:33:67;;;;;;;;;;;;;;;;;;14983:86;;;;;6326:182:75;14983:86:67;6326:182:75;14983:86:67;;;15036:33;;;;;;;6326:182:75;15036:33:67;;6326:182:75;15036:33:67;;;;;;6326:182:75;15036:33:67;;;:::i;:::-;;;6326:182:75;;;;;;;;;;;;;15036:33:67;;6326:182:75;;;;15036:33:67;;;-1:-1:-1;15036:33:67;;;6326:182:75;;;;;;;;;14708:51:67;5080:4:75;;14708:51:67;;;317:16:68;;6326:182:75;;317:16:68;;;6326:182:75;;317:16:68;;;;6326:182:75;317:16:68;;6326:182:75;317:16:68;6326:182:75;;;317:16:68;;14503:117:67;6326:182:75;;;;14503:117:67;;;14150:258;14251:43;6326:182:75;;;;;;14251:43:67;:::i;:::-;317:16:68;6326:182:75;;;;;;;;;;14327:26:67;14323:74;14150:258;14323:74;6326:182:75;;;;14323:74:67;14150:258;;11723:151;6326:182:75;11852:5:67;6326:182:75;11852:5:67;6326:182:75;;;14465:28:67;6326:182:75;;11819:55:67;6326:182:75;11852:5:67;6326:182:75;11819:55:67;;:::i;:::-;11723:151;;11352:123;;;;;;6326:182:75;11352:123:67;6326:182:75;11352:123:67;;;;6326:182:75;11352:123:67;;;;;:::i;:::-;;;;6326:182:75;;;;;11352:123:67;;;;6326:182:75;;;;11352:123:67;-1:-1:-1;11352:123:67;;;;6326:182:75;;;;;;;;;11207:2725:67;6326:182:75;;;12233:27:67;6326:182:75;5196:11;6326:182;;;;12233:15:67;:27;:::i;:::-;12229:715;;11207:2725;12991:27;:15;5196:11:75;6326:182;;;;12991:15:67;:27;:::i;:::-;12987:935;;11207:2725;14465:28;11207:2725;;;12987:935;6326:182:75;;13117:12:67;13113:345;;12987:935;6326:182:75;;;;;13494:153:67;6326:182:75;;;13535:63:67;6326:182:75;13562:16:67;;;6326:182:75;;;;13580:17:67;;;6326:182:75;;12991:15:67;5196:11:75;6326:182;;;;12991:15:67;13535:63;:::i;:::-;13494:153;;6326:182:75;;;13768:19:67;6326:182:75;;14465:28:67;6326:182:75;;;;;;;13834:14:67;;6326:182:75;;-1:-1:-1;6326:182:75;13853:14:67;;;6326:182:75;;;;;;13817:50:67;13813:94;;13494:153;12987:935;;;;;13813:94;6326:182:75;;;;13813:94:67;;;6326:182:75;;;;;;;;;;;;12991:15:67;6326:182:75;;;;;;;;;;13494:153:67;13621:26;12991:15;5196:11:75;6326:182;;;;12991:15:67;13621:26;:::i;:::-;13494:153;;;13113:345;12991:15;13238:11;;6326:182:75;;;;;;;;13299:14:67;;6326:182:75;;13332:14:67;13222:125;6326:182:75;13332:14:67;;;6326:182:75;;;;;;13222:125:67;;;;;6326:182:75;13222:125:67;;6326:182:75;;;;;;;;;13222:125:67;;;:::i;:::-;;5250:6:75;6326:182;5250:6;6326:182;13222:125:67;;;;;;;;;;;13113:345;6326:182:75;;;13113:345:67;;13222:125;;;6326:182:75;13222:125:67;;6326:182:75;13222:125:67;;;;;;6326:182:75;13222:125:67;;;:::i;:::-;;;6326:182:75;;;;;13222:125:67;;;;;;-1:-1:-1;13222:125:67;;12229:715;12307:11;;;6326:182:75;;;;;;;12364:14:67;;6326:182:75;;12291:121:67;6326:182:75;;12397:14:67;;;6326:182:75;;;;;;;;12291:121:67;;;;;6326:182:75;12291:121:67;;6326:182:75;;;;;;;;;;;12291:121:67;;;:::i;:::-;;5250:6:75;6326:182;5250:6;6326:182;12291:121:67;;;;;;;;;;;12229:715;6326:182:75;;;;;;;;12500:153:67;6326:182:75;;;12541:63:67;6326:182:75;12568:16:67;;;6326:182:75;;;;;12586:17:67;;6326:182:75;;;5196:11;6326:182;;;;12233:15:67;12541:63;:::i;:::-;12500:153;;6326:182:75;;;12791:18:67;6326:182:75;;;;;12840:30:67;;12839:50;12835:94;;12500:153;12229:715;;;12835:94;6326:182:75;;;;12835:94:67;;;6326:182:75;;;;;;;;;;;;12307:11:67;6326:182:75;;;;;;;;;;12500:153:67;12627:26;6326:182:75;5196:11;6326:182;;;;12233:15:67;12627:26;:::i;:::-;12500:153;;;12291:121;;;;;6326:182:75;12291:121:67;6326:182:75;12291:121:67;;;;6326:182:75;12291:121:67;;;;;:::i;:::-;;;;6326:182:75;;;;;12291:121:67;;;;-1:-1:-1;12291:121:67;;;11211:58;6326:182:75;;;5196:11;6326:182;;;;11235:15:67;6326:182:75;;2473:20:65;11234:35:67;11211:58;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10489:59:67;10536:12;6326:182:75;;10536:12:67;;;6326:182:75;;10536:12:67;;6326:182:75;;;;;;;;;;;10536:12:67;5156:13:75;;;6326:182;5156:13;;6326:182;5156:13;;;;;;6326:182;5156:13;;;:::i;:::-;;;6326:182;;;;;;;;;;;;5156:13;;;;;;-1:-1:-1;5156:13:75;;;6326:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1163:1;6326:182;;;;;;;;;;;;;;;6260:42;6326:182;6282:6;6326:182;;6268:10;:20;6260:42;:::i;:::-;2466:103:33;;:::i;:::-;19383:38:67;6326:182:75;;;;;;;5517:11;6326:182;;;5517:11;6326:182;;;;;;19383:38:67;19349:11;1899:1:33;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6260:42;6326:182;6282:6;6326:182;;6268:10;:20;6260:42;:::i;:::-;2466:103:33;;:::i;:::-;6326:182:75;;;2889:17;;;:10;6326:182;2889:10;6326:182;2889:10;6326:182;2889:17;;;;;;;;;;;6326:182;2953:36;;;;;:::i;:::-;6268:10;;;3268:6;6268:10;;;3268:6;:::i;:::-;6326:182;3389:20;6326:182;;;;3389:20;;6326:182;;3411:6;;6326:182;;;;;;;;;;:::i;:::-;3516:1:67;6326:182:75;;;;;;;;;;;;3528:20:67;;;;;:::i;:::-;;;;;:::i;:::-;;3836:50;6326:182:75;;;3844:34:67;3836:50;:::i;:::-;6326:182:75;;;3921:72:67;3950:35;6326:182:75;;3950:35:67;:::i;3921:72::-;6326:182:75;4059:15:67;6326:182:75;4627:11:67;;4662:3;6326:182:75;;;;;4640:20:67;;;;;;4707:12;;;;:::i;:::-;;4741:20;:11;;;;:20;:::i;:::-;6282:6:75;6326:182;;;;;3516:1:67;4741:42;6326:182:75;;5521:22:67;;;;;;;6326:182:75;;;;5521:46:67;;;5517:1493;;4662:3;7023:81;;;6326:182:75;7023:81:67;;;;;3312:11:75;7023:81:67;:::i;:::-;;6326:182:75;;;;;;3516:1:67;6326:182:75;4627:11:67;;6326:182:75;;;;;;;;;;5517:1493:67;5604:58;;;;;;;;;;:::i;:::-;6326:182:75;;;;;;;;;-1:-1:-1;6326:182:75;;;6279:20:67;;6326:182:75;6279:20:67;:::i;:::-;6492:14;;6326:182:75;;6492:14:67;;6326:182:75;;;;;;6492:37:67;:136;;;;5517:1493;6492:240;;;5517:1493;6492:419;;;5517:1493;6326:182:75;;;;;5517:1493:67;;;;;;;;6326:182:75;;;;;;;;;;;;3312:11;6326:182;;;;;;;;;;6492:419:67;6859:28;;;;;6326:182:75;;;;6859:52:67;6492:419;;;;:240;3312:11:75;6709:18:67;;6326:182:75;6709:23:67;;-1:-1:-1;6492:240:67;;:136;6603:25;;;6326:182:75;;;;-1:-1:-1;6492:136:67;;6326:182:75;;;;;;;;;;;;3312:11;6326:182;;;;;;;;;;;;;;;;;;;;;;6282:6;6326:182;;;;;;;;;;4640:20:67;;;3433:51:75;6326:182;4640:20:67;;;6326:182:75;;;3516:1:67;6326:182:75;;;;;;;;;3433:51;3516:1:67;1899::33;;6326:182:75;;;;;;;:::i;:::-;;;;;;;;;;2889:17;;;;;;;;;;;;;;:::i;:::-;;;;6326:182;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;6326:182:75;;;;;-1:-1:-1;6326:182:75;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;6326:182:75;;;;;-1:-1:-1;6326:182:75;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;6326:182:75;;-1:-1:-1;6326:182:75;;;;;;;;;:::i;:::-;-1:-1:-1;6326:182:75;;-1:-1:-1;6326:182:75;;;;;;;;-1:-1:-1;6326:182:75;;;;-1:-1:-1;6326:182:75;;;;-1:-1:-1;6326:182:75;;;;-1:-1:-1;6326:182:75;;;;-1:-1:-1;6326:182:75;;;;-1:-1:-1;6326:182:75;;;;;;:::o;:::-;10456:11:67;6326:182:75;;;;;;10456:11:67;-1:-1:-1;6326:182:75;;;-1:-1:-1;6326:182:75;;;;;-1:-1:-1;6326:182:75;:::o;:::-;;;;;10456:11:67;6326:182:75;;;;;;;;;;;;-1:-1:-1;6326:182:75;;;-1:-1:-1;6326:182:75;;;;;-1:-1:-1;6326:182:75;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;6326:182:75;;-1:-1:-1;6326:182:75;-1:-1:-1;6326:182:75;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;2318:387;2485:1;;2318:387;2485:1;;;2548:3;6326:182;;2531:15;;;;;2674:14;6326:182;2613:9;2644:16;2599:31;2613:9;;;;;:::i;:::-;;2599:31;:::i;:::-;2644:16;;:::i;:::-;2674:14;;:::i;:::-;2548:3;6326:182;2521:8;;;;2531:15;;;;;;;2318:387::o;2575:307:33:-;1163:1:75;2702:7:33;6326:182:75;2702:18:33;2698:86;;1163:1:75;2702:7:33;1899:1;2575:307::o;2698:86::-;2743:30;2702:7;2743:30;;2702:7;2743:30;1080:867:67;;;1440:12;;;6326:182:75;1440:15:67;1436:45;;1751:16;2290:21;1751:16;2290:63;1751:16;6326:182:75;2104:14:67;6326:182:75;;;;2104:14:67;;6326:182:75;;;1954:171:67;;1751:16;2290:21;;:::i;:::-;2323:12;6326:182:75;1440:12:67;2323;;;;6326:182:75;;2340:12:67;;6326:182:75;;;2290:63:67;;:::i;:::-;1080:867;:::o;1436:45::-;-1:-1:-1;;;;;;1469:12:67:o;6326:182:75:-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;4180:582::-;;4299:17;;;;:::i;:::-;4286:9;:30;6326:182;;4338:12;;;;4334:77;;4180:582;4425:10;;;;;4421:71;;4180:582;4521:17;;;;:::i;:::-;4286:9;4552:20;;4548:208;;4180:582;;:::o;4548:208::-;-1:-1:-1;4286:9:75;;;4605:20;4286:9;;;4605:20;:::i;:::-;4722:23;;;;;;;4548:208;6326:182;;4722:23;;;;;4180:582::o;4722:23::-;6326:182;;;-1:-1:-1;6326:182:75;;;;;4722:23;;;-1:-1:-1;4722:23:75;;4421:71;6326:182;;;4449:26;;;:10;:26;:10;6326:182;4449:10;6326:182;4449:26;;;;;;;-1:-1:-1;4449:26:75;;;;;;;;;;;;;4421:71;4449:43;;;;;4421:71;6326:182;;4449:43;;;;;4421:71;;;4449:43;;;-1:-1:-1;4449:43:75;;:26;;;;;;;;;;;;;;:::i;:::-;;;;4334:77;6326:182;;;4364:28;;;:10;:28;:10;6326:182;4364:10;6326:182;4364:28;;;;;;;-1:-1:-1;4364:28:75;;;;;;;;;;;;;4334:77;4364:47;;;;;4334:77;6326:182;;4364:47;;;;;4334:77;;;4364:47;;;-1:-1:-1;4364:47:75;;:28;;;;;;;;;;;;;;:::i;:::-;;;;6326:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6326:182:75;;-1:-1:-1;6326:182:75;;;;;;-1:-1:-1;6326:182:75;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;268:16:68:-;6326:182:75;;268:16:68;;;;;-1:-1:-1;6326:182:75;;-1:-1:-1;6326:182:75;268:16:68;;-1:-1:-1;268:16:68;:::o;1790:522:75:-;1950:22;;;6326:182;;;;;;1950:46;1946:107;;139:16:68;2208:30:75;2083:90;2261:43;6326:182;;;2122:18;6326:182;;;;;2083:90;;:::i;:::-;2208:30;:::i;139:16:68:-;2261:43:75;;:::i;:::-;2254:50;;1790:522::o;1946:107::-;2017:36;;;;;:::i;19434:185:67:-;6326:182:75;5196:11;6326:182;;;;;19544:32:67;:68;;;;;19537:75;19434:185;:::o;19544:68::-;6326:182:75;19580:23:67;;;:32;:23;:11;:23;:::i;:::-;:32;;6326:182:75;;;;19434:185:67;:::o;6326:182:75:-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;252:130:66:-;6326:182:75;;;;2473:20:65;333:21:66;;;:42;;;326:49;252:130;:::o;333:42::-;6326:182:75;;;;;;2473:20:65;358:17:66;252:130;:::o;430:307::-;6326:182:75;;527:23:66;6326:182:75;;;527:23:66;:::i;:::-;6326:182:75;;;;2473:20:65;;560:50:66;;631:19;;712:18;631:19;;:::i;:::-;678:15;;712:18;;:::i;560:50::-;593:17;;:::o;6326:182:75:-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;839:794:66:-;6326:182:75;839:794:66;;6326:182:75;1203:19:66;6326:182:75;980:23:66;6326:182:75;;;980:23:66;:::i;:::-;6326:182:75;;;;1203:19:66;:::i;:::-;6326:182:75;;;;1281:5:66;;;;;:::i;:::-;6326:182:75;-1:-1:-1;6326:182:75;;;;;;;;;;;;;;;;;;;;1479:5:66;1467:9;;;;:::i;:::-;6326:182:75;;-1:-1:-1;6326:182:75;;;;;;;;;;;;;;;;;;;1608:18:66;;;:::i;884:1196:65:-;801:20;1108:25;;:30;1104:44;;691:11;1213:24;;6326:182:75;;1242:2:65;801:20;6326:182:75;;;1263:11:65;;516:4;;636:11;746;1342:25;;6326:182:75;;1382:15:65;;;1408:1;6326:182:75;1378:57:65;;1501:25;1497:48;;1378:57;469:3;;6326:182:75;;469:3:65;;6326:182:75;;;1843:9:65;;1839:205;6326:182:75;;;;636:11:65;6326:182:75;884:1196:65;:::o;1839:205::-;6326:182:75;1942:9:65;;6326:182:75;;;801:20:65;884:1196;:::o;1497:48::-;6326:182:75;636:11:65;;;;;1497:48;;1378:57;865:11;1424;1378:57;;;516:4;;6326:182:75;;516:4:65;;;;;;;;6326:182:75;516:4:65;;;6326:182:75;516:4:65;6326:182:75;;;516:4:65;;1104:44;1140:8;6326:182:75;1140:8:65;:::o;834:3804:45:-;1420:150;11852:5:67;1420:150:45;;;;;;;;;;;;;;;;;1642:10;;1638:179;;1930:19;;;6326:182:75;;;11852:5:67;2254:71:45;;;636:11:65;;6326:182:75;636:11:65;2670:43:45;2769:70;;;3610:1;6326:182:75;3591:1:45;6326:182:75;3590:21:45;6326:182:75;;;3610:1:45;6326:182:75;;;;;3610:1:45;6326:182:75;;;;;3610:1:45;6326:182:75;;;;;3610:1:45;6326:182:75;;;;;3610:1:45;6326:182:75;;;;;3610:1:45;6326:182:75;;3140:72:45;;;;6326:182:75;3140:72:45;;;2389:117;;;;;;6326:182:75;2389:117:45;;2903:58;3221:21;6326:182:75;834:3804:45;:::o;1638:179::-;1676:15;;;;;6326:182:75;;1706:74:45;1793:13;:::o;834:3804::-;6326:182:75;946:14:45;1420:150;;;;;;;;;;;;;;;;;;;1642:10;;1638:179;;1930:19;11778:5:67;1930:19:45;6326:182:75;;;2254:71:45;;11778:5:67;2254:71:45;;2389:117;;;;;;6326:182:75;;2389:117:45;;2903:58;;3221:21;834:3804;:::o;1638:179::-;6326:182:75;;;;1706:74:45;;1793:13;:::o;8124:1590:67:-;8474:11;;6326:182:75;;8124:1590:67;;;;;;8428:15;6326:182:75;;;;;;;8474:11:67;6326:182:75;;;;;;8599:23:67;6326:182:75;;;8474:11:67;6326:182:75;;;;;;;:::i;:::-;8599:23:67;;;:::i;:::-;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;8474:11:67;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;1899:1:33;6326:182:75;;;;;;;1899:1:33;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8124:1590:67;6326:182:75;;;;;;;;;;;;;;;;;;;;8662:21:67;;;;6326:182:75;8662:21:67;6326:182:75;;8662:21:67;;;6326:182:75;;;;;;;;;;;;8428:15:67;6326:182:75;;;;;;;;;;;;8871:27:67;8913:8;;9178:20;;;;8908:595;8948:3;8925:14;;6326:182:75;;8923:23:67;;;;;8993:17;;;;:::i;:::-;;6326:182:75;9068:20:67;;6326:182:75;;;;9068:44:67;;;8948:3;9064:79;;6326:182:75;;;;;;;;;;;;9246:23:67;6326:182:75;;;8474:11:67;6326:182:75;;;;;;;:::i;:::-;9246:23:67;;;:::i;:::-;-1:-1:-1;6326:182:75;7860:27:67;;6326:182:75;7860:27:67;;;6326:182:75;7860:78:67;;7833:106;8474:11;7890:29;6326:182:75;;7902:17:67;;6326:182:75;;7890:29:67;;:::i;:::-;7860:78;;7833:23;:106;;6326:182:75;;;;;;;;;;;;;;;7833:106:67;-1:-1:-1;6326:182:75;7974:25:67;;6326:182:75;;7974:72:67;;6326:182:75;8002:27:67;8014:15;;;6326:182:75;8014:15:67;;6326:182:75;;8002:27:67;;:::i;:::-;6326:182:75;;;;;;;;;;;;;;;;;;139:16:68;;;;;;;6326:182:75;9298:18:67;;6326:182:75;;;;9298:40:67;;;7974:72;9294:83;;7974:72;6326:182:75;9400:19:67;;6326:182:75;;;;;9399:63:67;;7974:72;6326:182:75;;;;8474:11:67;6326:182:75;8913:8:67;;9399:63;6326:182:75;9424:15:67;;6326:182:75;;;;2357:8:65;;;-1:-1:-1;2357:8:65;:32;;9399:63:67;9423:39;;9399:63;;;2357:32:65;636:11;2369:15;;;:20;;2357:32;;;9294:83:67;8474:11;;-1:-1:-1;9294:83:67;;9298:40;9320:18;6326:182:75;9320:18:67;;6326:182:75;;;9298:40:67;;7974:72;8031:15;6326:182:75;8031:15:67;;6326:182:75;8031:15:67;;6326:182:75;;7974:72:67;;7860:78;7833:106;8474:11;6326:182:75;;7921:17:67;;6326:182:75;;7860:78:67;;;6326:182:75;;;;;;;;;;9068:44:67;9092:20;6326:182:75;9092:20:67;;6326:182:75;;;9068:44:67;;8923:23;;;;;;;;;;;;;;;9548:159;;8908:595;8124:1590;;;;;;;:::o;9548:159::-;6326:182:75;;9622:11:67;9600:107;6326:182:75;9622:11:67;;;:20;:11;;:20;:::i;:::-;6326:182:75;;;;;;9675:11:67;;:15;6326:182:75;;;;;;;;9600:107:67;;;;;;;6326:182:75;9600:107:67;;6326:182:75;9600:107:67;;;:::i;:::-;;6326:182:75;;9600:107:67;;;;;;;;;;;9548:159;9580:17;;6326:182:75;9580:17:67;1899:1:33;9548:159:67;;;;;;;;;9600:107;;;;;6326:182:75;9600:107:67;;6326:182:75;9600:107:67;;;;;;6326:182:75;9600:107:67;;;:::i;:::-;;;6326:182:75;;;;-1:-1:-1;6326:182:75;;;9600:107:67;;;;;;-1:-1:-1;9600:107:67;;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8474:11:67;6326:182:75;;;;;;;;;;;;139:16:68;;;;;;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;139:16:68;;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8474:11:67;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8474:11:67;6326:182:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18723:286:67;18829:24;18723:286;18829:14;:24;:::i;:::-;6326:182:75;;;;;;;;;18881:28:67;6326:182:75;;;;;;;;;;;;;;;;;;;;19100:11:67;;18951:10;6326:182:75;;;;18951:10:67;;;18723:286;;;:::o;18963:3::-;6326:182:75;19100:23:67;:32;:23;6326:182:75;19100:23:67;;;:::i;:::-;:32;;6326:182:75;;;;;;;;19154:32:67;6326:182:75;;;;;;;;19154:32:67;6326:182:75;;18924:25:67;;7281:420;7606:1;;210:7:68;7558:44:67;;210:7:68;;7558:136:67;;7281:420;:::o;7558:136::-;6326:182:75;210:7:68;7632:52:67;6326:182:75;;;;;;;;7632:62:67;;7281:420;:::o;6326:182:75:-;;;;;;;;;;616:457:67;;;;;892:12;;;6326:182:75;892:15:67;888:45;;954:16;2696:21;2654:17;2583:38;954:16;;2696:36;954:16;6326:182:75;2104:14:67;6326:182:75;;;;2104:14:67;;6326:182:75;;;1954:171:67;;954:16;2583:38;;:::i;:::-;2654:17;;:::i;:::-;2696:21;;:::i;:::-;:36;:::i;888:45::-;921:12;;;;-1:-1:-1;921:12:67;-1:-1:-1;921:12:67;:::o;2745:591::-;2869:1;;;2920:3;2897:14;;;;6326:182:75;;2895:23:67;;;;;2897:14;2954:17;;6326:182:75;2954:17:67;;:::i;:::-;;:35;6326:182:75;;;2869:1:67;3033:9;;;3060:8;2897:14;3060:8;;3298:21;6326:182:75;3060:8:67;;3029:221;3298:21;:::i;:::-;2920:3;6326:182:75;2885:8:67;;;;;3029:221;6326:182:75;;3178:11:67;6326:182:75;;;;;3178:11:67;;;:::i;:::-;:26;3174:61;;3029:221;3298:21;2897:14;3029:221;6326:182:75;3029:221:67;3298:21;:::i;3174:61::-;6326:182:75;;;;;;;3174:61:67;6326:182:75;;2869:1:67;6326:182:75;;;;;2869:1:67;6326:182:75;2895:23:67;;;;;;2745:591::o;1639:695:66:-;;;6326:182:75;;;;;;;;;;;;;;;2013:16:66;;;-1:-1:-1;6326:182:75;2084:6:66;;6326:182:75;;2084:23:66;6326:182:75;2009:308:66;1639:695::o;2009:308::-;6326:182:75;-1:-1:-1;6326:182:75;;-1:-1:-1;6326:182:75;;2296:17:66;2009:308;1639:695::o;2288:29::-;6326:182:75;1080:867:67;:::o;6326:182:75:-;317:16:68;6326:182:75;317:16:68;;;;;6326:182:75;317:16:68;6326:182:75;;;;;;;;;;;;;;;:::o","linkReferences":{},"immutableReferences":{"55474":[{"start":1003,"length":32},{"start":1237,"length":32},{"start":6275,"length":32},{"start":13128,"length":32},{"start":17299,"length":32},{"start":17509,"length":32}],"55477":[{"start":1334,"length":32},{"start":5210,"length":32},{"start":5956,"length":32},{"start":8793,"length":32},{"start":11426,"length":32},{"start":11698,"length":32},{"start":13225,"length":32}],"55480":[{"start":434,"length":32},{"start":774,"length":32},{"start":2862,"length":32}]}},"methodIdentifiers":{"cancelAllDexorders()":"2800c78f","cancelDexorder(uint64)":"8489f9bf","execute(uint64,uint8,(uint256))":"6e98833d","feeManager()":"d0fb0203","numSwapOrders()":"e78f84e7","orderCanceled(uint64)":"a449d030","placeDexorder((address,address,(uint8,uint24),uint256,uint256,bool,bool,bool,uint64,(uint16,bool,bool,bool,bool,bool,bool,bool,bool,uint16,uint24,uint32,uint32,(uint32,uint32),(uint32,uint32))[]))":"16ddc073","placeDexorders((address,address,(uint8,uint24),uint256,uint256,bool,bool,bool,uint64,(uint16,bool,bool,bool,bool,bool,bool,bool,bool,uint16,uint24,uint32,uint32,(uint32,uint32),(uint32,uint32))[])[],uint8)":"b39f4362","placementFee((address,address,(uint8,uint24),uint256,uint256,bool,bool,bool,uint64,(uint16,bool,bool,bool,bool,bool,bool,bool,bool,uint16,uint24,uint32,uint32,(uint32,uint32),(uint32,uint32))[]),(uint8,uint8,uint8,uint8,uint8))":"8f464876","placementFee((address,address,(uint8,uint24),uint256,uint256,bool,bool,bool,uint64,(uint16,bool,bool,bool,bool,bool,bool,bool,bool,uint16,uint24,uint32,uint32,(uint32,uint32),(uint32,uint32))[])[],(uint8,uint8,uint8,uint8,uint8))":"eaa3aa72","swapOrderStatus(uint64)":"77bad6b5","unwrap(uint256)":"de0e9a3e","vaultImplDidChange(address)":"58b72a09","version()":"54fd4d50","wrap(uint256)":"ea598cb0","wrapper()":"ac210cc7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IRouter\",\"name\":\"router_\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"cancelAllIndex\",\"type\":\"uint64\"}],\"name\":\"DexorderCancelAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"}],\"name\":\"DexorderSwapCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"},{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"trancheIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fillFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"nextExecutionTime\",\"type\":\"uint32\"}],\"name\":\"DexorderSwapFilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"startOrderIndex\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"numOrders\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"name\":\"DexorderSwapPlaced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"cancelAllDexorders\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"}],\"name\":\"cancelDexorder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"tranche_index\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"proof\",\"type\":\"uint256\"}],\"internalType\":\"struct PriceProof\",\"name\":\"proof\",\"type\":\"tuple\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"numSwapOrders\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"num\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"}],\"name\":\"orderCanceled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"internalType\":\"struct Route\",\"name\":\"route\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minFillAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"amountIsInput\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"outputDirectlyToOwner\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"inverted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"conditionalOrder\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"fraction\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"startTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"endTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"marketOrder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_reserved7\",\"type\":\"bool\"},{\"internalType\":\"uint16\",\"name\":\"rateLimitFraction\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"rateLimitPeriod\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"minLine\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"maxLine\",\"type\":\"tuple\"}],\"internalType\":\"struct Tranche[]\",\"name\":\"tranches\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrder\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"placeDexorder\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"internalType\":\"struct Route\",\"name\":\"route\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minFillAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"amountIsInput\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"outputDirectlyToOwner\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"inverted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"conditionalOrder\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"fraction\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"startTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"endTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"marketOrder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_reserved7\",\"type\":\"bool\"},{\"internalType\":\"uint16\",\"name\":\"rateLimitFraction\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"rateLimitPeriod\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"minLine\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"maxLine\",\"type\":\"tuple\"}],\"internalType\":\"struct Tranche[]\",\"name\":\"tranches\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrder[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"enum OcoMode\",\"name\":\"ocoMode\",\"type\":\"uint8\"}],\"name\":\"placeDexorders\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"internalType\":\"struct Route\",\"name\":\"route\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minFillAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"amountIsInput\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"outputDirectlyToOwner\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"inverted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"conditionalOrder\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"fraction\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"startTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"endTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"marketOrder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_reserved7\",\"type\":\"bool\"},{\"internalType\":\"uint16\",\"name\":\"rateLimitFraction\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"rateLimitPeriod\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"minLine\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"maxLine\",\"type\":\"tuple\"}],\"internalType\":\"struct Tranche[]\",\"name\":\"tranches\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrder\",\"name\":\"order\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"sched\",\"type\":\"tuple\"}],\"name\":\"placementFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"orderFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"internalType\":\"struct Route\",\"name\":\"route\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minFillAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"amountIsInput\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"outputDirectlyToOwner\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"inverted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"conditionalOrder\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"fraction\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"startTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"endTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"marketOrder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_reserved7\",\"type\":\"bool\"},{\"internalType\":\"uint16\",\"name\":\"rateLimitFraction\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"rateLimitPeriod\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"minLine\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"maxLine\",\"type\":\"tuple\"}],\"internalType\":\"struct Tranche[]\",\"name\":\"tranches\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrder[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"sched\",\"type\":\"tuple\"}],\"name\":\"placementFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"orderFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"}],\"name\":\"swapOrderStatus\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"internalType\":\"struct Route\",\"name\":\"route\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minFillAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"amountIsInput\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"outputDirectlyToOwner\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"inverted\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"conditionalOrder\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"fraction\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"startTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"endTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"marketOrder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_reserved7\",\"type\":\"bool\"},{\"internalType\":\"uint16\",\"name\":\"rateLimitFraction\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"rateLimitPeriod\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"minLine\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"maxLine\",\"type\":\"tuple\"}],\"internalType\":\"struct Tranche[]\",\"name\":\"tranches\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrder\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"canceled\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"ocoGroup\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"originalOrder\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"startPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"filled\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"filled\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"activationTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"}],\"internalType\":\"struct TrancheStatus[]\",\"name\":\"trancheStatus\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrderStatus\",\"name\":\"status\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unwrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"vaultImplDidChange\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"wrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"wrapper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/VaultImpl.sol\":\"ArbitrumVaultImpl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib_openzeppelin_contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib_openzeppelin_contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xee2337af2dc162a973b4be6d3f7c16f06298259e0af48c5470d2839bfa8a22f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30c476b4b2f405c1bb3f0bae15b006d129c80f1bfd9d0f2038160a3bb9745009\",\"dweb:/ipfs/Qmb3VcuDufv6xbHeVgksC4tHpc5gKYVqBEwjEXW72XzSvN\"]},\"lib_openzeppelin_contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xe0e3a2099f2e2ce3579dd35548f613928739642058dfec95b1745f93364ce3de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36a3930518e5c4a3c83839aaa136b863af513e6eeee6a3654e8f910f8007f827\",\"dweb:/ipfs/QmcU1b6SYYUMiXJ6jd5HY6sgYjJLdBu4smak1X1FDgkoaA\"]},\"lib_openzeppelin_contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"lib_openzeppelin_contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"lib_openzeppelin_contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x84496688b0b80f8e592f0db8ef82c3e7172a1658169b8f0832b522e935e216c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c98e6288d465afdbe084108995c6a8f19db173d6f068b92ef1f70f7edf6ffb3a\",\"dweb:/ipfs/QmShqKgJLqoRK2vv4sFU3iouqFGvWUbvGopbZS8Qn9Bp1X\"]},\"lib_openzeppelin_contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xc859863e3bda7ec3cddf6dafe2ffe91bcbe648d1395b856b839c32ee9617c44c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9d5417888b873cf2225ed5d50b2a67be97c1504134a2a580512168d587ad82e\",\"dweb:/ipfs/QmNr5fTb2heFW658NZn7dDnofZgFvQTnNxKRJ3wdnR1skX\"]},\"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]},\"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol\":{\"keccak256\":\"0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652\",\"dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"lib_uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0x77608bce1ddeb28ed9963b554b55e8a083277eda7be31e2c7255ef532cc408be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fcb307cf783b612ab9abd339296391d202974e7aa158deff23d9fb3aaac832d\",\"dweb:/ipfs/QmXhcwQajcGZADQtVoQpSWYNY4tB3Y42GPPyiaW62M5JH2\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0x3357b065654abb7f4a9ebd184a260bc39efde2afa4e99dca2e72ffc28e9c2984\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f7682dab014724be8e0a5a401b047788ff9c70b77fa5bd567ea6adc333cb3b56\",\"dweb:/ipfs/QmatH1Gc6z3AkP4dHjAEBKfCBbgBfD4vCceF4TuZU2bCyW\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol\":{\"keccak256\":\"0x9bfaf1feb32814623e627ab70f2409760b15d95f1f9b058e2b3399a8bb732975\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://a8a2c3e55965b61bcd91993d8e1d5d34b8b8a63e0fdfce87a85f6af92526fd53\",\"dweb:/ipfs/QmQj2CSCSwqDSU4KMNWxGsN2336Cy64WgpV1X1EHXNZWxM\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/external/IWETH9.sol\":{\"keccak256\":\"0xa15c06ebc0fac4057529d5580114c73a9ec1ceed1c4192d6a2c8178e5cad5f82\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bc05180f3b4fe5f8e5f604f3e2e84dec88b9b05c02d82c672cec8047e573c12b\",\"dweb:/ipfs/QmQLbbXriaQBGC1MMgFysrmafnmLvpHYd66DvcbhyTxxGW\"]},\"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x0a107d09991fd2dc9a3ca13bf0745f0b6f6f6ffea3e55ad3677ecdbadef089b4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e179110a9ec825b7f15384a9c61f90261fe6227b289dac9996b0ed9cf1655b48\",\"dweb:/ipfs/Qma2amC8zJSW2PzPCk1nBYiFd4mjZiAW9z4kxjoYZPCtRr\"]},\"src/core/IEEE754.sol\":{\"keccak256\":\"0x0e82f6729756c4697b3a603a56ed2c72747dd61ebc85e5e2f9042900d776a82d\",\"urls\":[\"bzz-raw://ca88595511ac4f6c50f1492c9a140dd6f5ab98c953438e0c9c57f77fd95c8495\",\"dweb:/ipfs/QmPHn9rmFf3AhyPCqqPp2pEZGQbvtyS6CpdZqvgEEHu217\"]},\"src/core/LineLib.sol\":{\"keccak256\":\"0xf72474162cefdb8d591e5c5db911288ba5ec61acff198f12b0a581fdcd0b1b06\",\"urls\":[\"bzz-raw://770c8d00911448fd8242441edda313c7c9559a75ab10c1f5f626bc4e4f7243eb\",\"dweb:/ipfs/QmeJhPWRr6QXGDViu1czrVTcAYDc2FwDnYV7jyNGLCXqdr\"]},\"src/core/OrderLib.sol\":{\"keccak256\":\"0x5b02146ea8ed0d7a0d0dd5284c4da635cdcd31539e4db4fd1598bc7e0d87bde7\",\"urls\":[\"bzz-raw://bb713eb417c4e9e3ea6a80b8024482caf795738bb509467811a8008627e158c6\",\"dweb:/ipfs/QmXQVinXdosLnG8vrFoRHdYrsALg9ssmP4gRUirarurMYM\"]},\"src/core/OrderSpec.sol\":{\"keccak256\":\"0xf51eaf348c95b8e2b60f479ca3383c4d7f045dd99d6eb9bca7b4af00a036e300\",\"urls\":[\"bzz-raw://a0f9026cb7fd179c4839f76b3d0c6f793b8f0280ac770f29a2d87fd890e9df71\",\"dweb:/ipfs/QmbAEKS5sYqeiVPnhg25BU2ddLsu6GGyaqtRUHYbsuD74D\"]},\"src/core/UniswapV3.sol\":{\"keccak256\":\"0xdc77030acc484b0ccf874288b32e0a06463faa12d1f054841b0b5adba6b3b278\",\"urls\":[\"bzz-raw://23d90797fe8397c870c678af525a370a9521388847772dcdefd084e5efb63924\",\"dweb:/ipfs/QmRp4xzV8kPeejGM8saXSzuwxYjxXAgWZKEDRxdRpsjHWT\"]},\"src/core/Util.sol\":{\"keccak256\":\"0xe97bfa45237eebe5ea061a763f6a5d39435d5441afa4471ca43e2b69b4669dc8\",\"urls\":[\"bzz-raw://70d517a964a5d1019303097ce83fa127e76d1e1f34154da1c95b9108128b81ce\",\"dweb:/ipfs/Qmbc7g5hxCz4LS3ykKJuehyXTH3bR2xuUurLNyiRFSsL3a\"]},\"src/core/Vault.sol\":{\"keccak256\":\"0xe7bf3ebbedfb36d03f550638814826a0462a54cd19bf480c12e47a61a1f3c3e8\",\"urls\":[\"bzz-raw://9d92f622dd17e9faf74e0cc686994ec43ca9fafd5d9b43a162d60f1ccd9e589e\",\"dweb:/ipfs/Qmcw95EsgadYHZtvD32TWy4nK6T7GHmY3gWwUArSMe1pwX\"]},\"src/core/VaultImpl.sol\":{\"keccak256\":\"0xd0188794ab02bc9ca4b456655534d306f69b6e3735a74f71f63f9a507251877f\",\"urls\":[\"bzz-raw://9b2e1cd67edae2bf63d3c5212f355c4128c2bddddde4726d73ae9bcc8fbde80c\",\"dweb:/ipfs/QmYZ4fm9G72nhK6tBfzMnTR6VQwwRfER3xAmu2dwYsBXZv\"]},\"src/interface/IFeeManager.sol\":{\"keccak256\":\"0xa350861e47d6fbf70d722208ad3ae3ac9797c1f2f15b488272379c891655c477\",\"urls\":[\"bzz-raw://22be3ef5693eef7e57579cf2d3df4e7d9d164d293a1199d2ec0e58413ea501a8\",\"dweb:/ipfs/QmVPHMMtEZAbGrsH9xydL3pQBEwHBErYs1S26u5yDtvCxj\"]},\"src/interface/IRouter.sol\":{\"keccak256\":\"0x97a5b9d4e25009cd6a80cd49de13db537dc2567191094ae9a910dd6c95dc6052\",\"urls\":[\"bzz-raw://bd1e8dee4853139a5004bd2348854fd43e6d96aea8cec01959ba640ee7f4eff6\",\"dweb:/ipfs/QmbSbkZsCm388SnAoGp2CGiNo8jEJCVugJuQbL16Jhy7Qr\"]},\"src/interface/IVault.sol\":{\"keccak256\":\"0x69388a3db9eaf4a69f01bc54be91e4b6978e390f5516bd02467f500586fbaf66\",\"urls\":[\"bzz-raw://9d1495203aacb7f608f3feb4a59b5d1b62099559066880839c0c3f4da3895a21\",\"dweb:/ipfs/QmXjrJvS3rCWUz8bkswbhKDXkeAaJY9zV2fwwtL9KkgL5d\"]},\"src/interface/IVaultFactory.sol\":{\"keccak256\":\"0x0ade495999ead05e88736612617b2105d386c2ca61094ebaf95e2f7c8ccb3897\",\"urls\":[\"bzz-raw://3b8fde71fa61148ba18b751bceffa81c575a9fed9756569b1952be79b23883e4\",\"dweb:/ipfs/QmQdYPW5PjV6KREgvEQLqKMK4CcCePJBZedux7ZD5QLTPc\"]},\"src/more/Dexorder.sol\":{\"keccak256\":\"0xd8c42ce1bed8a9ff297b3978ba4d4f1cc810e267f1ca8662a5a4a71280238448\",\"urls\":[\"bzz-raw://d3fc00ffae58d06db103f0db14c8528791b118b2582327f6ad57a45df6e34c67\",\"dweb:/ipfs/QmVqnwbDBKP2vbADbb9fUMCXLw29RCWGpoyj5dLfAPKTzK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IRouter","name":"router_","type":"address"},{"internalType":"contract IFeeManager","name":"feeManager_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint64","name":"cancelAllIndex","type":"uint64","indexed":false}],"type":"event","name":"DexorderCancelAll","anonymous":false},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64","indexed":false}],"type":"event","name":"DexorderSwapCanceled","anonymous":false},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64","indexed":true},{"internalType":"uint8","name":"trancheIndex","type":"uint8","indexed":true},{"internalType":"uint256","name":"amountIn","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountOut","type":"uint256","indexed":false},{"internalType":"uint256","name":"fillFee","type":"uint256","indexed":false},{"internalType":"uint32","name":"nextExecutionTime","type":"uint32","indexed":false}],"type":"event","name":"DexorderSwapFilled","anonymous":false},{"inputs":[{"internalType":"uint64","name":"startOrderIndex","type":"uint64","indexed":true},{"internalType":"uint8","name":"numOrders","type":"uint8","indexed":false},{"internalType":"uint256","name":"orderFee","type":"uint256","indexed":false},{"internalType":"uint256","name":"gasFee","type":"uint256","indexed":false}],"type":"event","name":"DexorderSwapPlaced","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"cancelAllDexorders"},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"cancelDexorder"},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64"},{"internalType":"uint8","name":"tranche_index","type":"uint8"},{"internalType":"struct PriceProof","name":"proof","type":"tuple","components":[{"internalType":"uint256","name":"proof","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"execute"},{"inputs":[],"stateMutability":"view","type":"function","name":"feeManager","outputs":[{"internalType":"contract IFeeManager","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"numSwapOrders","outputs":[{"internalType":"uint64","name":"num","type":"uint64"}]},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64"}],"stateMutability":"view","type":"function","name":"orderCanceled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct SwapOrder","name":"order","type":"tuple","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"struct Route","name":"route","type":"tuple","components":[{"internalType":"enum Exchange","name":"exchange","type":"uint8"},{"internalType":"uint24","name":"fee","type":"uint24"}]},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minFillAmount","type":"uint256"},{"internalType":"bool","name":"amountIsInput","type":"bool"},{"internalType":"bool","name":"outputDirectlyToOwner","type":"bool"},{"internalType":"bool","name":"inverted","type":"bool"},{"internalType":"uint64","name":"conditionalOrder","type":"uint64"},{"internalType":"struct Tranche[]","name":"tranches","type":"tuple[]","components":[{"internalType":"uint16","name":"fraction","type":"uint16"},{"internalType":"bool","name":"startTimeIsRelative","type":"bool"},{"internalType":"bool","name":"endTimeIsRelative","type":"bool"},{"internalType":"bool","name":"minIsBarrier","type":"bool"},{"internalType":"bool","name":"maxIsBarrier","type":"bool"},{"internalType":"bool","name":"marketOrder","type":"bool"},{"internalType":"bool","name":"minIsRatio","type":"bool"},{"internalType":"bool","name":"maxIsRatio","type":"bool"},{"internalType":"bool","name":"_reserved7","type":"bool"},{"internalType":"uint16","name":"rateLimitFraction","type":"uint16"},{"internalType":"uint24","name":"rateLimitPeriod","type":"uint24"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"},{"internalType":"struct Line","name":"minLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]},{"internalType":"struct Line","name":"maxLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]}]}]}],"stateMutability":"payable","type":"function","name":"placeDexorder"},{"inputs":[{"internalType":"struct SwapOrder[]","name":"orders","type":"tuple[]","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"struct Route","name":"route","type":"tuple","components":[{"internalType":"enum Exchange","name":"exchange","type":"uint8"},{"internalType":"uint24","name":"fee","type":"uint24"}]},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minFillAmount","type":"uint256"},{"internalType":"bool","name":"amountIsInput","type":"bool"},{"internalType":"bool","name":"outputDirectlyToOwner","type":"bool"},{"internalType":"bool","name":"inverted","type":"bool"},{"internalType":"uint64","name":"conditionalOrder","type":"uint64"},{"internalType":"struct Tranche[]","name":"tranches","type":"tuple[]","components":[{"internalType":"uint16","name":"fraction","type":"uint16"},{"internalType":"bool","name":"startTimeIsRelative","type":"bool"},{"internalType":"bool","name":"endTimeIsRelative","type":"bool"},{"internalType":"bool","name":"minIsBarrier","type":"bool"},{"internalType":"bool","name":"maxIsBarrier","type":"bool"},{"internalType":"bool","name":"marketOrder","type":"bool"},{"internalType":"bool","name":"minIsRatio","type":"bool"},{"internalType":"bool","name":"maxIsRatio","type":"bool"},{"internalType":"bool","name":"_reserved7","type":"bool"},{"internalType":"uint16","name":"rateLimitFraction","type":"uint16"},{"internalType":"uint24","name":"rateLimitPeriod","type":"uint24"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"},{"internalType":"struct Line","name":"minLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]},{"internalType":"struct Line","name":"maxLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]}]}]},{"internalType":"enum OcoMode","name":"ocoMode","type":"uint8"}],"stateMutability":"payable","type":"function","name":"placeDexorders"},{"inputs":[{"internalType":"struct SwapOrder","name":"order","type":"tuple","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"struct Route","name":"route","type":"tuple","components":[{"internalType":"enum Exchange","name":"exchange","type":"uint8"},{"internalType":"uint24","name":"fee","type":"uint24"}]},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minFillAmount","type":"uint256"},{"internalType":"bool","name":"amountIsInput","type":"bool"},{"internalType":"bool","name":"outputDirectlyToOwner","type":"bool"},{"internalType":"bool","name":"inverted","type":"bool"},{"internalType":"uint64","name":"conditionalOrder","type":"uint64"},{"internalType":"struct Tranche[]","name":"tranches","type":"tuple[]","components":[{"internalType":"uint16","name":"fraction","type":"uint16"},{"internalType":"bool","name":"startTimeIsRelative","type":"bool"},{"internalType":"bool","name":"endTimeIsRelative","type":"bool"},{"internalType":"bool","name":"minIsBarrier","type":"bool"},{"internalType":"bool","name":"maxIsBarrier","type":"bool"},{"internalType":"bool","name":"marketOrder","type":"bool"},{"internalType":"bool","name":"minIsRatio","type":"bool"},{"internalType":"bool","name":"maxIsRatio","type":"bool"},{"internalType":"bool","name":"_reserved7","type":"bool"},{"internalType":"uint16","name":"rateLimitFraction","type":"uint16"},{"internalType":"uint24","name":"rateLimitPeriod","type":"uint24"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"},{"internalType":"struct Line","name":"minLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]},{"internalType":"struct Line","name":"maxLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]}]}]},{"internalType":"struct IFeeManager.FeeSchedule","name":"sched","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]}],"stateMutability":"view","type":"function","name":"placementFee","outputs":[{"internalType":"uint256","name":"orderFee","type":"uint256"},{"internalType":"uint256","name":"gasFee","type":"uint256"}]},{"inputs":[{"internalType":"struct SwapOrder[]","name":"orders","type":"tuple[]","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"struct Route","name":"route","type":"tuple","components":[{"internalType":"enum Exchange","name":"exchange","type":"uint8"},{"internalType":"uint24","name":"fee","type":"uint24"}]},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minFillAmount","type":"uint256"},{"internalType":"bool","name":"amountIsInput","type":"bool"},{"internalType":"bool","name":"outputDirectlyToOwner","type":"bool"},{"internalType":"bool","name":"inverted","type":"bool"},{"internalType":"uint64","name":"conditionalOrder","type":"uint64"},{"internalType":"struct Tranche[]","name":"tranches","type":"tuple[]","components":[{"internalType":"uint16","name":"fraction","type":"uint16"},{"internalType":"bool","name":"startTimeIsRelative","type":"bool"},{"internalType":"bool","name":"endTimeIsRelative","type":"bool"},{"internalType":"bool","name":"minIsBarrier","type":"bool"},{"internalType":"bool","name":"maxIsBarrier","type":"bool"},{"internalType":"bool","name":"marketOrder","type":"bool"},{"internalType":"bool","name":"minIsRatio","type":"bool"},{"internalType":"bool","name":"maxIsRatio","type":"bool"},{"internalType":"bool","name":"_reserved7","type":"bool"},{"internalType":"uint16","name":"rateLimitFraction","type":"uint16"},{"internalType":"uint24","name":"rateLimitPeriod","type":"uint24"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"},{"internalType":"struct Line","name":"minLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]},{"internalType":"struct Line","name":"maxLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]}]}]},{"internalType":"struct IFeeManager.FeeSchedule","name":"sched","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]}],"stateMutability":"view","type":"function","name":"placementFee","outputs":[{"internalType":"uint256","name":"orderFee","type":"uint256"},{"internalType":"uint256","name":"gasFee","type":"uint256"}]},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64"}],"stateMutability":"view","type":"function","name":"swapOrderStatus","outputs":[{"internalType":"struct SwapOrderStatus","name":"status","type":"tuple","components":[{"internalType":"struct SwapOrder","name":"order","type":"tuple","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"struct Route","name":"route","type":"tuple","components":[{"internalType":"enum Exchange","name":"exchange","type":"uint8"},{"internalType":"uint24","name":"fee","type":"uint24"}]},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minFillAmount","type":"uint256"},{"internalType":"bool","name":"amountIsInput","type":"bool"},{"internalType":"bool","name":"outputDirectlyToOwner","type":"bool"},{"internalType":"bool","name":"inverted","type":"bool"},{"internalType":"uint64","name":"conditionalOrder","type":"uint64"},{"internalType":"struct Tranche[]","name":"tranches","type":"tuple[]","components":[{"internalType":"uint16","name":"fraction","type":"uint16"},{"internalType":"bool","name":"startTimeIsRelative","type":"bool"},{"internalType":"bool","name":"endTimeIsRelative","type":"bool"},{"internalType":"bool","name":"minIsBarrier","type":"bool"},{"internalType":"bool","name":"maxIsBarrier","type":"bool"},{"internalType":"bool","name":"marketOrder","type":"bool"},{"internalType":"bool","name":"minIsRatio","type":"bool"},{"internalType":"bool","name":"maxIsRatio","type":"bool"},{"internalType":"bool","name":"_reserved7","type":"bool"},{"internalType":"uint16","name":"rateLimitFraction","type":"uint16"},{"internalType":"uint24","name":"rateLimitPeriod","type":"uint24"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"},{"internalType":"struct Line","name":"minLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]},{"internalType":"struct Line","name":"maxLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]}]}]},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint64","name":"ocoGroup","type":"uint64"},{"internalType":"uint64","name":"originalOrder","type":"uint64"},{"internalType":"uint256","name":"startPrice","type":"uint256"},{"internalType":"uint256","name":"filled","type":"uint256"},{"internalType":"struct TrancheStatus[]","name":"trancheStatus","type":"tuple[]","components":[{"internalType":"uint256","name":"filled","type":"uint256"},{"internalType":"uint32","name":"activationTime","type":"uint32"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"}]}]}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unwrap"},{"inputs":[{"internalType":"address","name":"oldAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"vaultImplDidChange"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"wrap"},{"inputs":[],"stateMutability":"view","type":"function","name":"wrapper","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/VaultImpl.sol":"ArbitrumVaultImpl"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xee2337af2dc162a973b4be6d3f7c16f06298259e0af48c5470d2839bfa8a22f4","urls":["bzz-raw://30c476b4b2f405c1bb3f0bae15b006d129c80f1bfd9d0f2038160a3bb9745009","dweb:/ipfs/Qmb3VcuDufv6xbHeVgksC4tHpc5gKYVqBEwjEXW72XzSvN"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0xe0e3a2099f2e2ce3579dd35548f613928739642058dfec95b1745f93364ce3de","urls":["bzz-raw://36a3930518e5c4a3c83839aaa136b863af513e6eeee6a3654e8f910f8007f827","dweb:/ipfs/QmcU1b6SYYUMiXJ6jd5HY6sgYjJLdBu4smak1X1FDgkoaA"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol":{"keccak256":"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de","urls":["bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff","dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1","urls":["bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02","dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/utils/ReentrancyGuard.sol":{"keccak256":"0x84496688b0b80f8e592f0db8ef82c3e7172a1658169b8f0832b522e935e216c0","urls":["bzz-raw://c98e6288d465afdbe084108995c6a8f19db173d6f068b92ef1f70f7edf6ffb3a","dweb:/ipfs/QmShqKgJLqoRK2vv4sFU3iouqFGvWUbvGopbZS8Qn9Bp1X"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0xc859863e3bda7ec3cddf6dafe2ffe91bcbe648d1395b856b839c32ee9617c44c","urls":["bzz-raw://a9d5417888b873cf2225ed5d50b2a67be97c1504134a2a580512168d587ad82e","dweb:/ipfs/QmNr5fTb2heFW658NZn7dDnofZgFvQTnNxKRJ3wdnR1skX"],"license":"MIT"},"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol":{"keccak256":"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489","urls":["bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2","dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol":{"keccak256":"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1","urls":["bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5","dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol":{"keccak256":"0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69","urls":["bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652","dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol":{"keccak256":"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634","urls":["bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5","dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol":{"keccak256":"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5","urls":["bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7","dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol":{"keccak256":"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd","urls":["bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03","dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol":{"keccak256":"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7","urls":["bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047","dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol":{"keccak256":"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235","urls":["bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735","dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol":{"keccak256":"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f","urls":["bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f","dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/libraries/FullMath.sol":{"keccak256":"0x77608bce1ddeb28ed9963b554b55e8a083277eda7be31e2c7255ef532cc408be","urls":["bzz-raw://8fcb307cf783b612ab9abd339296391d202974e7aa158deff23d9fb3aaac832d","dweb:/ipfs/QmXhcwQajcGZADQtVoQpSWYNY4tB3Y42GPPyiaW62M5JH2"],"license":"MIT"},"lib_uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol":{"keccak256":"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4","urls":["bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471","dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol":{"keccak256":"0x3357b065654abb7f4a9ebd184a260bc39efde2afa4e99dca2e72ffc28e9c2984","urls":["bzz-raw://f7682dab014724be8e0a5a401b047788ff9c70b77fa5bd567ea6adc333cb3b56","dweb:/ipfs/QmatH1Gc6z3AkP4dHjAEBKfCBbgBfD4vCceF4TuZU2bCyW"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol":{"keccak256":"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d","urls":["bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f","dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol":{"keccak256":"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274","urls":["bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407","dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol":{"keccak256":"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862","urls":["bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f","dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol":{"keccak256":"0x9bfaf1feb32814623e627ab70f2409760b15d95f1f9b058e2b3399a8bb732975","urls":["bzz-raw://a8a2c3e55965b61bcd91993d8e1d5d34b8b8a63e0fdfce87a85f6af92526fd53","dweb:/ipfs/QmQj2CSCSwqDSU4KMNWxGsN2336Cy64WgpV1X1EHXNZWxM"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/external/IWETH9.sol":{"keccak256":"0xa15c06ebc0fac4057529d5580114c73a9ec1ceed1c4192d6a2c8178e5cad5f82","urls":["bzz-raw://bc05180f3b4fe5f8e5f604f3e2e84dec88b9b05c02d82c672cec8047e573c12b","dweb:/ipfs/QmQLbbXriaQBGC1MMgFysrmafnmLvpHYd66DvcbhyTxxGW"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol":{"keccak256":"0x0a107d09991fd2dc9a3ca13bf0745f0b6f6f6ffea3e55ad3677ecdbadef089b4","urls":["bzz-raw://e179110a9ec825b7f15384a9c61f90261fe6227b289dac9996b0ed9cf1655b48","dweb:/ipfs/Qma2amC8zJSW2PzPCk1nBYiFd4mjZiAW9z4kxjoYZPCtRr"],"license":"GPL-2.0-or-later"},"src/core/IEEE754.sol":{"keccak256":"0x0e82f6729756c4697b3a603a56ed2c72747dd61ebc85e5e2f9042900d776a82d","urls":["bzz-raw://ca88595511ac4f6c50f1492c9a140dd6f5ab98c953438e0c9c57f77fd95c8495","dweb:/ipfs/QmPHn9rmFf3AhyPCqqPp2pEZGQbvtyS6CpdZqvgEEHu217"],"license":null},"src/core/LineLib.sol":{"keccak256":"0xf72474162cefdb8d591e5c5db911288ba5ec61acff198f12b0a581fdcd0b1b06","urls":["bzz-raw://770c8d00911448fd8242441edda313c7c9559a75ab10c1f5f626bc4e4f7243eb","dweb:/ipfs/QmeJhPWRr6QXGDViu1czrVTcAYDc2FwDnYV7jyNGLCXqdr"],"license":null},"src/core/OrderLib.sol":{"keccak256":"0x5b02146ea8ed0d7a0d0dd5284c4da635cdcd31539e4db4fd1598bc7e0d87bde7","urls":["bzz-raw://bb713eb417c4e9e3ea6a80b8024482caf795738bb509467811a8008627e158c6","dweb:/ipfs/QmXQVinXdosLnG8vrFoRHdYrsALg9ssmP4gRUirarurMYM"],"license":null},"src/core/OrderSpec.sol":{"keccak256":"0xf51eaf348c95b8e2b60f479ca3383c4d7f045dd99d6eb9bca7b4af00a036e300","urls":["bzz-raw://a0f9026cb7fd179c4839f76b3d0c6f793b8f0280ac770f29a2d87fd890e9df71","dweb:/ipfs/QmbAEKS5sYqeiVPnhg25BU2ddLsu6GGyaqtRUHYbsuD74D"],"license":null},"src/core/UniswapV3.sol":{"keccak256":"0xdc77030acc484b0ccf874288b32e0a06463faa12d1f054841b0b5adba6b3b278","urls":["bzz-raw://23d90797fe8397c870c678af525a370a9521388847772dcdefd084e5efb63924","dweb:/ipfs/QmRp4xzV8kPeejGM8saXSzuwxYjxXAgWZKEDRxdRpsjHWT"],"license":null},"src/core/Util.sol":{"keccak256":"0xe97bfa45237eebe5ea061a763f6a5d39435d5441afa4471ca43e2b69b4669dc8","urls":["bzz-raw://70d517a964a5d1019303097ce83fa127e76d1e1f34154da1c95b9108128b81ce","dweb:/ipfs/Qmbc7g5hxCz4LS3ykKJuehyXTH3bR2xuUurLNyiRFSsL3a"],"license":null},"src/core/Vault.sol":{"keccak256":"0xe7bf3ebbedfb36d03f550638814826a0462a54cd19bf480c12e47a61a1f3c3e8","urls":["bzz-raw://9d92f622dd17e9faf74e0cc686994ec43ca9fafd5d9b43a162d60f1ccd9e589e","dweb:/ipfs/Qmcw95EsgadYHZtvD32TWy4nK6T7GHmY3gWwUArSMe1pwX"],"license":null},"src/core/VaultImpl.sol":{"keccak256":"0xd0188794ab02bc9ca4b456655534d306f69b6e3735a74f71f63f9a507251877f","urls":["bzz-raw://9b2e1cd67edae2bf63d3c5212f355c4128c2bddddde4726d73ae9bcc8fbde80c","dweb:/ipfs/QmYZ4fm9G72nhK6tBfzMnTR6VQwwRfER3xAmu2dwYsBXZv"],"license":null},"src/interface/IFeeManager.sol":{"keccak256":"0xa350861e47d6fbf70d722208ad3ae3ac9797c1f2f15b488272379c891655c477","urls":["bzz-raw://22be3ef5693eef7e57579cf2d3df4e7d9d164d293a1199d2ec0e58413ea501a8","dweb:/ipfs/QmVPHMMtEZAbGrsH9xydL3pQBEwHBErYs1S26u5yDtvCxj"],"license":null},"src/interface/IRouter.sol":{"keccak256":"0x97a5b9d4e25009cd6a80cd49de13db537dc2567191094ae9a910dd6c95dc6052","urls":["bzz-raw://bd1e8dee4853139a5004bd2348854fd43e6d96aea8cec01959ba640ee7f4eff6","dweb:/ipfs/QmbSbkZsCm388SnAoGp2CGiNo8jEJCVugJuQbL16Jhy7Qr"],"license":null},"src/interface/IVault.sol":{"keccak256":"0x69388a3db9eaf4a69f01bc54be91e4b6978e390f5516bd02467f500586fbaf66","urls":["bzz-raw://9d1495203aacb7f608f3feb4a59b5d1b62099559066880839c0c3f4da3895a21","dweb:/ipfs/QmXjrJvS3rCWUz8bkswbhKDXkeAaJY9zV2fwwtL9KkgL5d"],"license":null},"src/interface/IVaultFactory.sol":{"keccak256":"0x0ade495999ead05e88736612617b2105d386c2ca61094ebaf95e2f7c8ccb3897","urls":["bzz-raw://3b8fde71fa61148ba18b751bceffa81c575a9fed9756569b1952be79b23883e4","dweb:/ipfs/QmQdYPW5PjV6KREgvEQLqKMK4CcCePJBZedux7ZD5QLTPc"],"license":null},"src/more/Dexorder.sol":{"keccak256":"0xd8c42ce1bed8a9ff297b3978ba4d4f1cc810e267f1ca8662a5a4a71280238448","urls":["bzz-raw://d3fc00ffae58d06db103f0db14c8528791b118b2582327f6ad57a45df6e34c67","dweb:/ipfs/QmVqnwbDBKP2vbADbb9fUMCXLw29RCWGpoyj5dLfAPKTzK"],"license":null}},"version":1},"id":75} |