UNPKG

95.7 kBJSONView Raw
1{
2 "abi": [
3 {
4 "inputs": [
5 {
6 "internalType": "address",
7 "name": "factory_",
8 "type": "address"
9 }
10 ],
11 "stateMutability": "nonpayable",
12 "type": "constructor"
13 },
14 {
15 "inputs": [],
16 "name": "factory",
17 "outputs": [
18 {
19 "internalType": "address",
20 "name": "",
21 "type": "address"
22 }
23 ],
24 "stateMutability": "view",
25 "type": "function"
26 },
27 {
28 "inputs": [
29 {
30 "internalType": "address",
31 "name": "tokenA",
32 "type": "address"
33 },
34 {
35 "internalType": "address",
36 "name": "tokenB",
37 "type": "address"
38 },
39 {
40 "internalType": "uint256",
41 "name": "truePriceTokenA",
42 "type": "uint256"
43 },
44 {
45 "internalType": "uint256",
46 "name": "truePriceTokenB",
47 "type": "uint256"
48 },
49 {
50 "internalType": "uint256",
51 "name": "liquidityAmount",
52 "type": "uint256"
53 }
54 ],
55 "name": "getGasCostOfGetLiquidityValueAfterArbitrageToPrice",
56 "outputs": [
57 {
58 "internalType": "uint256",
59 "name": "",
60 "type": "uint256"
61 }
62 ],
63 "stateMutability": "view",
64 "type": "function"
65 },
66 {
67 "inputs": [
68 {
69 "internalType": "address",
70 "name": "tokenA",
71 "type": "address"
72 },
73 {
74 "internalType": "address",
75 "name": "tokenB",
76 "type": "address"
77 },
78 {
79 "internalType": "uint256",
80 "name": "liquidityAmount",
81 "type": "uint256"
82 }
83 ],
84 "name": "getLiquidityValue",
85 "outputs": [
86 {
87 "internalType": "uint256",
88 "name": "tokenAAmount",
89 "type": "uint256"
90 },
91 {
92 "internalType": "uint256",
93 "name": "tokenBAmount",
94 "type": "uint256"
95 }
96 ],
97 "stateMutability": "view",
98 "type": "function"
99 },
100 {
101 "inputs": [
102 {
103 "internalType": "address",
104 "name": "tokenA",
105 "type": "address"
106 },
107 {
108 "internalType": "address",
109 "name": "tokenB",
110 "type": "address"
111 },
112 {
113 "internalType": "uint256",
114 "name": "truePriceTokenA",
115 "type": "uint256"
116 },
117 {
118 "internalType": "uint256",
119 "name": "truePriceTokenB",
120 "type": "uint256"
121 },
122 {
123 "internalType": "uint256",
124 "name": "liquidityAmount",
125 "type": "uint256"
126 }
127 ],
128 "name": "getLiquidityValueAfterArbitrageToPrice",
129 "outputs": [
130 {
131 "internalType": "uint256",
132 "name": "tokenAAmount",
133 "type": "uint256"
134 },
135 {
136 "internalType": "uint256",
137 "name": "tokenBAmount",
138 "type": "uint256"
139 }
140 ],
141 "stateMutability": "view",
142 "type": "function"
143 },
144 {
145 "inputs": [
146 {
147 "internalType": "address",
148 "name": "tokenA",
149 "type": "address"
150 },
151 {
152 "internalType": "address",
153 "name": "tokenB",
154 "type": "address"
155 },
156 {
157 "internalType": "uint256",
158 "name": "truePriceTokenA",
159 "type": "uint256"
160 },
161 {
162 "internalType": "uint256",
163 "name": "truePriceTokenB",
164 "type": "uint256"
165 }
166 ],
167 "name": "getReservesAfterArbitrage",
168 "outputs": [
169 {
170 "internalType": "uint256",
171 "name": "reserveA",
172 "type": "uint256"
173 },
174 {
175 "internalType": "uint256",
176 "name": "reserveB",
177 "type": "uint256"
178 }
179 ],
180 "stateMutability": "view",
181 "type": "function"
182 }
183 ],
184 "evm": {
185 "bytecode": {
186 "linkReferences": {},
187 "object": "60a060405234801561001057600080fd5b506040516113a23803806113a28339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661132761007b600039806101fa5280610238528061027b52806102b952806102e352506113276000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806380caa3531161005057806380caa3531461011d578063c45a01551461017e578063d9b7a6e7146101af57610067565b80633558e94c1461006c57806369a2fcbd146100ce575b600080fd5b6100b56004803603608081101561008257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604081013590606001356101f2565b6040805192835260208301919091528051918290030190f35b6100b5600480360360a08110156100e457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060800135610230565b61016c600480360360a081101561013357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060800135610270565b60408051918252519081900360200190f35b6101866102b7565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b5600480360360608110156101c557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356102db565b6000806102227f000000000000000000000000000000000000000000000000000000000000000087878787610316565b915091505b94509492505050565b6000806102617f000000000000000000000000000000000000000000000000000000000000000088888888886103f4565b915091505b9550959350505050565b6000805a90506102a47f000000000000000000000000000000000000000000000000000000000000000088888888886103f4565b505060005a909103979650505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061030a7f0000000000000000000000000000000000000000000000000000000000000000868686610640565b91509150935093915050565b600080610324878787610823565b909250905081158015906103385750600081115b61038d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611226602d913960400191505060405180910390fd5b60008061039c8686868661090b565b9150915080600014156103b0575050610266565b81156103d15760006103c38286866109d1565b9482019490930392506103e8565b60006103de8285876109d1565b9094039350918201915b50509550959350505050565b60008060008073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561045657600080fd5b505afa15801561046a573d6000803e3d6000fd5b505050506040513d602081101561048057600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161415905060006104a98a8a8a610add565b90506000826104b957600061052c565b8173ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104ff57600080fd5b505afa158015610513573d6000803e3d6000fd5b505050506040513d602081101561052957600080fd5b50515b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057657600080fd5b505afa15801561058a573d6000803e3d6000fd5b505050506040513d60208110156105a057600080fd5b505190508681108015906105b45750600087115b610609576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806112a06027913960400191505060405180910390fd5b6000806106198e8e8e8e8e610316565b9150915061062b8282858c8a89610bc8565b97509750505050505050965096945050505050565b600080600080610651888888610823565b915091506000610662898989610add565b905060008073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d60208110156106ed57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161415905060008161071757600061078a565b8273ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561075d57600080fd5b505afa158015610771573d6000803e3d6000fd5b505050506040513d602081101561078757600080fd5b50515b905060008373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d457600080fd5b505afa1580156107e8573d6000803e3d6000fd5b505050506040513d60208110156107fe57600080fd5b505190506108108686838c8787610bc8565b9750975050505050505094509492505050565b60008060006108328585610c7d565b509050600080610843888888610add565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561088857600080fd5b505afa15801561089c573d6000803e3d6000fd5b505050506040513d60608110156108b257600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff878116908416146108f95780826108fc565b81815b90999098509650505050505050565b6000808561091a858786610dd0565b10915060006109298585610ea5565b9050600061096f61096a61093f846103e8610ea5565b8661094a578961094c565b8a5b6109656103e58961095d578d61095f565b8c5b90610ea5565b610dd0565b610f31565b905060006103e58561098c57610987876103e8610ea5565b610998565b610998886103e8610ea5565b8161099f57fe5b049050808210156109b95760008094509450505050610227565b6109c38282611086565b935050505094509492505050565b6000808411610a2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806112c7602b913960400191505060405180910390fd5b600083118015610a3b5750600082115b610a90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806112786028913960400191505060405180910390fd5b6000610a9e856103e5610ea5565b90506000610aac8285610ea5565b90506000610ac683610ac0886103e8610ea5565b906110f8565b9050808281610ad157fe5b04979650505050505050565b6000806000610aec8585610c7d565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f162f79e638367cd45a118c778971dfd8d96c625d2798d3b71994b035cfe9b6dc609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080838015610bd85750600083115b15610c48576000610bec61096a8a8a610ea5565b90506000610bf985610f31565b905080821115610c4557876000610c108484611086565b90506000610c2384610ac0876005610ea5565b90506000610c32848484610dd0565b9050610c3e8c826110f8565b9b50505050505b50505b85610c538987610ea5565b81610c5a57fe5b0486610c668988610ea5565b81610c6d57fe5b0491509150965096945050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806112536025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610d3f578284610d42565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216610dc957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b6000806000610ddf868661116a565b9150915060008480610ded57fe5b868809905082811115610e01576001820391505b918290039181610e1f57848381610e1457fe5b049350505050610e9e565b848210610e8d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f46756c6c4d6174683a2046554c4c4449565f4f564552464c4f57000000000000604482015290519081900360640190fd5b610e988383876111b5565b93505050505b9392505050565b6000811580610ec057505080820282828281610ebd57fe5b04145b610f2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b92915050565b600081610f4057506000611081565b8160017001000000000000000000000000000000008210610f665760809190911c9060401b5b680100000000000000008210610f815760409190911c9060201b5b6401000000008210610f985760209190911c9060101b5b620100008210610fad5760109190911c9060081b5b6101008210610fc15760089190911c9060041b5b60108210610fd45760049190911c9060021b5b60088210610fe05760011b5b6001818581610feb57fe5b048201901c90506001818581610ffd57fe5b048201901c9050600181858161100f57fe5b048201901c9050600181858161102157fe5b048201901c9050600181858161103357fe5b048201901c9050600181858161104557fe5b048201901c9050600181858161105757fe5b048201901c9050600081858161106957fe5b049050808210611079578061107b565b815b93505050505b919050565b80820382811115610f2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b80820182811015610f2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848609905083850292508281039150828110156111ad576001820391505b509250929050565b600081810382168083816111c557fe5b0492508085816111d157fe5b0494508081600003816111e057fe5b6002858103808702820302808702820302808702820302808702820302808702820302808702820302958602900390940293046001019390930293909301029291505056fe556e697377617056324172626974726167654c6962726172793a205a45524f5f504149525f5245534552564553556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459436f6d707574654c697175696469747956616c75653a204c49515549444954595f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a26469706673582212209da732478d9999987a58ea7dd46f104d265ca4ef1987de15a1883eb30a25ac7964736f6c634300060c0033",
188 "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x13A2 CODESIZE SUB DUP1 PUSH2 0x13A2 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH1 0x60 DUP2 SWAP1 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x60 SHL SUB NOT AND PUSH1 0x80 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1327 PUSH2 0x7B PUSH1 0x0 CODECOPY DUP1 PUSH2 0x1FA MSTORE DUP1 PUSH2 0x238 MSTORE DUP1 PUSH2 0x27B MSTORE DUP1 PUSH2 0x2B9 MSTORE DUP1 PUSH2 0x2E3 MSTORE POP PUSH2 0x1327 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x67 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80CAA353 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x80CAA353 EQ PUSH2 0x11D JUMPI DUP1 PUSH4 0xC45A0155 EQ PUSH2 0x17E JUMPI DUP1 PUSH4 0xD9B7A6E7 EQ PUSH2 0x1AF JUMPI PUSH2 0x67 JUMP JUMPDEST DUP1 PUSH4 0x3558E94C EQ PUSH2 0x6C JUMPI DUP1 PUSH4 0x69A2FCBD EQ PUSH2 0xCE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 ADD CALLDATALOAD PUSH2 0x1F2 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB ADD SWAP1 RETURN JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0xE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x80 ADD CALLDATALOAD PUSH2 0x230 JUMP JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x80 ADD CALLDATALOAD PUSH2 0x270 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x186 PUSH2 0x2B7 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x1C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x2DB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x222 PUSH32 0x0 DUP8 DUP8 DUP8 DUP8 PUSH2 0x316 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x261 PUSH32 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x3F4 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP6 POP SWAP6 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 GAS SWAP1 POP PUSH2 0x2A4 PUSH32 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x3F4 JUMP JUMPDEST POP POP PUSH1 0x0 GAS SWAP1 SWAP2 SUB SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x30A PUSH32 0x0 DUP7 DUP7 DUP7 PUSH2 0x640 JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x324 DUP8 DUP8 DUP8 PUSH2 0x823 JUMP JUMPDEST SWAP1 SWAP3 POP SWAP1 POP DUP2 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x338 JUMPI POP PUSH1 0x0 DUP2 GT JUMPDEST PUSH2 0x38D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2D DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1226 PUSH1 0x2D SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x39C DUP7 DUP7 DUP7 DUP7 PUSH2 0x90B JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP1 PUSH1 0x0 EQ ISZERO PUSH2 0x3B0 JUMPI POP POP PUSH2 0x266 JUMP JUMPDEST DUP2 ISZERO PUSH2 0x3D1 JUMPI PUSH1 0x0 PUSH2 0x3C3 DUP3 DUP7 DUP7 PUSH2 0x9D1 JUMP JUMPDEST SWAP5 DUP3 ADD SWAP5 SWAP1 SWAP4 SUB SWAP3 POP PUSH2 0x3E8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DE DUP3 DUP6 DUP8 PUSH2 0x9D1 JUMP JUMPDEST SWAP1 SWAP5 SUB SWAP4 POP SWAP2 DUP3 ADD SWAP2 JUMPDEST POP POP SWAP6 POP SWAP6 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x17E7E58 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x46A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x480 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH1 0x0 PUSH2 0x4A9 DUP11 DUP11 DUP11 PUSH2 0xADD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH2 0x4B9 JUMPI PUSH1 0x0 PUSH2 0x52C JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x7464FC3D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x513 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x529 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x576 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x5A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP DUP7 DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0x5B4 JUMPI POP PUSH1 0x0 DUP8 GT JUMPDEST PUSH2 0x609 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x12A0 PUSH1 0x27 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x619 DUP15 DUP15 DUP15 DUP15 DUP15 PUSH2 0x316 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x62B DUP3 DUP3 DUP6 DUP13 DUP11 DUP10 PUSH2 0xBC8 JUMP JUMPDEST SWAP8 POP SWAP8 POP POP POP POP POP POP POP SWAP7 POP SWAP7 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x651 DUP9 DUP9 DUP9 PUSH2 0x823 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0x662 DUP10 DUP10 DUP10 PUSH2 0xADD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x17E7E58 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6D7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x717 JUMPI PUSH1 0x0 PUSH2 0x78A JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x7464FC3D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x75D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x771 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x787 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7E8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x7FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH2 0x810 DUP7 DUP7 DUP4 DUP13 DUP8 DUP8 PUSH2 0xBC8 JUMP JUMPDEST SWAP8 POP SWAP8 POP POP POP POP POP POP POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x832 DUP6 DUP6 PUSH2 0xC7D JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x843 DUP9 DUP9 DUP9 PUSH2 0xADD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x902F1AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x888 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x89C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x8B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND SWAP4 POP AND SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP8 DUP2 AND SWAP1 DUP5 AND EQ PUSH2 0x8F9 JUMPI DUP1 DUP3 PUSH2 0x8FC JUMP JUMPDEST DUP2 DUP2 JUMPDEST SWAP1 SWAP10 SWAP1 SWAP9 POP SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH2 0x91A DUP6 DUP8 DUP7 PUSH2 0xDD0 JUMP JUMPDEST LT SWAP2 POP PUSH1 0x0 PUSH2 0x929 DUP6 DUP6 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x96F PUSH2 0x96A PUSH2 0x93F DUP5 PUSH2 0x3E8 PUSH2 0xEA5 JUMP JUMPDEST DUP7 PUSH2 0x94A JUMPI DUP10 PUSH2 0x94C JUMP JUMPDEST DUP11 JUMPDEST PUSH2 0x965 PUSH2 0x3E5 DUP10 PUSH2 0x95D JUMPI DUP14 PUSH2 0x95F JUMP JUMPDEST DUP13 JUMPDEST SWAP1 PUSH2 0xEA5 JUMP JUMPDEST PUSH2 0xDD0 JUMP JUMPDEST PUSH2 0xF31 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3E5 DUP6 PUSH2 0x98C JUMPI PUSH2 0x987 DUP8 PUSH2 0x3E8 PUSH2 0xEA5 JUMP JUMPDEST PUSH2 0x998 JUMP JUMPDEST PUSH2 0x998 DUP9 PUSH2 0x3E8 PUSH2 0xEA5 JUMP JUMPDEST DUP2 PUSH2 0x99F JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 DUP3 LT ISZERO PUSH2 0x9B9 JUMPI PUSH1 0x0 DUP1 SWAP5 POP SWAP5 POP POP POP POP PUSH2 0x227 JUMP JUMPDEST PUSH2 0x9C3 DUP3 DUP3 PUSH2 0x1086 JUMP JUMPDEST SWAP4 POP POP POP POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 GT PUSH2 0xA2B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x12C7 PUSH1 0x2B SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 GT DUP1 ISZERO PUSH2 0xA3B JUMPI POP PUSH1 0x0 DUP3 GT JUMPDEST PUSH2 0xA90 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1278 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA9E DUP6 PUSH2 0x3E5 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xAAC DUP3 DUP6 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xAC6 DUP4 PUSH2 0xAC0 DUP9 PUSH2 0x3E8 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 PUSH2 0x10F8 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 DUP2 PUSH2 0xAD1 JUMPI INVALID JUMPDEST DIV SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0xAEC DUP6 DUP6 PUSH2 0xC7D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 PUSH1 0x60 SWAP5 DUP6 SHL DUP2 AND PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 DUP6 SHL DUP2 AND PUSH1 0x34 DUP4 ADD MSTORE DUP3 MLOAD PUSH1 0x28 DUP2 DUP5 SUB ADD DUP2 MSTORE PUSH1 0x48 DUP4 ADD DUP5 MSTORE DUP1 MLOAD SWAP1 DUP6 ADD KECCAK256 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x68 DUP5 ADD MSTORE SWAP11 SWAP1 SWAP5 SHL SWAP1 SWAP4 AND PUSH1 0x69 DUP5 ADD MSTORE PUSH1 0x7D DUP4 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH32 0x162F79E638367CD45A118C778971DFD8D96C625D2798D3B71994B035CFE9B6DC PUSH1 0x9D DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP9 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xBD SWAP1 SWAP3 ADD SWAP1 SWAP8 MSTORE DUP1 MLOAD SWAP7 ADD SWAP6 SWAP1 SWAP6 KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP1 ISZERO PUSH2 0xBD8 JUMPI POP PUSH1 0x0 DUP4 GT JUMPDEST ISZERO PUSH2 0xC48 JUMPI PUSH1 0x0 PUSH2 0xBEC PUSH2 0x96A DUP11 DUP11 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xBF9 DUP6 PUSH2 0xF31 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xC45 JUMPI DUP8 PUSH1 0x0 PUSH2 0xC10 DUP5 DUP5 PUSH2 0x1086 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC23 DUP5 PUSH2 0xAC0 DUP8 PUSH1 0x5 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC32 DUP5 DUP5 DUP5 PUSH2 0xDD0 JUMP JUMPDEST SWAP1 POP PUSH2 0xC3E DUP13 DUP3 PUSH2 0x10F8 JUMP JUMPDEST SWAP12 POP POP POP POP POP JUMPDEST POP POP JUMPDEST DUP6 PUSH2 0xC53 DUP10 DUP8 PUSH2 0xEA5 JUMP JUMPDEST DUP2 PUSH2 0xC5A JUMPI INVALID JUMPDEST DIV DUP7 PUSH2 0xC66 DUP10 DUP9 PUSH2 0xEA5 JUMP JUMPDEST DUP2 PUSH2 0xC6D JUMPI INVALID JUMPDEST DIV SWAP2 POP SWAP2 POP SWAP7 POP SWAP7 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xD05 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1253 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND LT PUSH2 0xD3F JUMPI DUP3 DUP5 PUSH2 0xD42 JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND PUSH2 0xDC9 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x556E697377617056324C6962726172793A205A45524F5F414444524553530000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0xDDF DUP7 DUP7 PUSH2 0x116A JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP5 DUP1 PUSH2 0xDED JUMPI INVALID JUMPDEST DUP7 DUP9 MULMOD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0xE01 JUMPI PUSH1 0x1 DUP3 SUB SWAP2 POP JUMPDEST SWAP2 DUP3 SWAP1 SUB SWAP2 DUP2 PUSH2 0xE1F JUMPI DUP5 DUP4 DUP2 PUSH2 0xE14 JUMPI INVALID JUMPDEST DIV SWAP4 POP POP POP POP PUSH2 0xE9E JUMP JUMPDEST DUP5 DUP3 LT PUSH2 0xE8D JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46756C6C4D6174683A2046554C4C4449565F4F564552464C4F57000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0xE98 DUP4 DUP4 DUP8 PUSH2 0x11B5 JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO DUP1 PUSH2 0xEC0 JUMPI POP POP DUP1 DUP3 MUL DUP3 DUP3 DUP3 DUP2 PUSH2 0xEBD JUMPI INVALID JUMPDEST DIV EQ JUMPDEST PUSH2 0xF2B JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D6D756C2D6F766572666C6F77000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0xF40 JUMPI POP PUSH1 0x0 PUSH2 0x1081 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH17 0x100000000000000000000000000000000 DUP3 LT PUSH2 0xF66 JUMPI PUSH1 0x80 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x40 SHL JUMPDEST PUSH9 0x10000000000000000 DUP3 LT PUSH2 0xF81 JUMPI PUSH1 0x40 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x20 SHL JUMPDEST PUSH5 0x100000000 DUP3 LT PUSH2 0xF98 JUMPI PUSH1 0x20 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x10 SHL JUMPDEST PUSH3 0x10000 DUP3 LT PUSH2 0xFAD JUMPI PUSH1 0x10 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x8 SHL JUMPDEST PUSH2 0x100 DUP3 LT PUSH2 0xFC1 JUMPI PUSH1 0x8 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x4 SHL JUMPDEST PUSH1 0x10 DUP3 LT PUSH2 0xFD4 JUMPI PUSH1 0x4 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x2 SHL JUMPDEST PUSH1 0x8 DUP3 LT PUSH2 0xFE0 JUMPI PUSH1 0x1 SHL JUMPDEST PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0xFEB JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0xFFD JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x100F JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1021 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1033 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1045 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1057 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x0 DUP2 DUP6 DUP2 PUSH2 0x1069 JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 DUP3 LT PUSH2 0x1079 JUMPI DUP1 PUSH2 0x107B JUMP JUMPDEST DUP2 JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 SUB DUP3 DUP2 GT ISZERO PUSH2 0xF2B JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D7375622D756E646572666C6F770000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP3 DUP2 LT ISZERO PUSH2 0xF2B JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D6164642D6F766572666C6F77000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP7 MULMOD SWAP1 POP DUP4 DUP6 MUL SWAP3 POP DUP3 DUP2 SUB SWAP2 POP DUP3 DUP2 LT ISZERO PUSH2 0x11AD JUMPI PUSH1 0x1 DUP3 SUB SWAP2 POP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SUB DUP3 AND DUP1 DUP4 DUP2 PUSH2 0x11C5 JUMPI INVALID JUMPDEST DIV SWAP3 POP DUP1 DUP6 DUP2 PUSH2 0x11D1 JUMPI INVALID JUMPDEST DIV SWAP5 POP DUP1 DUP2 PUSH1 0x0 SUB DUP2 PUSH2 0x11E0 JUMPI INVALID JUMPDEST PUSH1 0x2 DUP6 DUP2 SUB DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL SWAP6 DUP7 MUL SWAP1 SUB SWAP1 SWAP5 MUL SWAP4 DIV PUSH1 0x1 ADD SWAP4 SWAP1 SWAP4 MUL SWAP4 SWAP1 SWAP4 ADD MUL SWAP3 SWAP2 POP POP JUMP INVALID SSTORE PUSH15 0x697377617056324172626974726167 PUSH6 0x4C6962726172 PUSH26 0x3A205A45524F5F504149525F5245534552564553556E69737761 PUSH17 0x56324C6962726172793A204944454E5449 NUMBER COINBASE 0x4C 0x5F COINBASE DIFFICULTY DIFFICULTY MSTORE GASLIMIT MSTORE8 MSTORE8 GASLIMIT MSTORE8 SSTORE PUSH15 0x697377617056324C6962726172793A KECCAK256 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x4C 0x49 MLOAD SSTORE 0x49 DIFFICULTY 0x49 SLOAD MSIZE NUMBER PUSH16 0x6D707574654C69717569646974795661 PUSH13 0x75653A204C4951554944495459 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD SSTORE PUSH15 0x697377617056324C6962726172793A KECCAK256 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x49 0x4E POP SSTORE SLOAD 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 0xA7 ORIGIN SELFBALANCE DUP14 SWAP10 SWAP10 SWAP9 PUSH27 0x58EA7DD46F104D265CA4EF1987DE15A1883EB30A25AC7964736F6C PUSH4 0x4300060C STOP CALLER ",
189 "sourceMap": "120:2433:11:-:0;;;236:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;236:72:11;283:18;;;;-1:-1:-1;;;;;;283:18:11;;;-1:-1:-1;;;;;120:2433:11;;;;;;;;"
190 },
191 "deployedBytecode": {
192 "immutableReferences": {
193 "5483": [
194 {
195 "length": 32,
196 "start": 506
197 },
198 {
199 "length": 32,
200 "start": 568
201 },
202 {
203 "length": 32,
204 "start": 635
205 },
206 {
207 "length": 32,
208 "start": 697
209 },
210 {
211 "length": 32,
212 "start": 739
213 }
214 ]
215 },
216 "linkReferences": {},
217 "object": "608060405234801561001057600080fd5b50600436106100675760003560e01c806380caa3531161005057806380caa3531461011d578063c45a01551461017e578063d9b7a6e7146101af57610067565b80633558e94c1461006c57806369a2fcbd146100ce575b600080fd5b6100b56004803603608081101561008257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604081013590606001356101f2565b6040805192835260208301919091528051918290030190f35b6100b5600480360360a08110156100e457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060800135610230565b61016c600480360360a081101561013357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060800135610270565b60408051918252519081900360200190f35b6101866102b7565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b5600480360360608110156101c557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356102db565b6000806102227f000000000000000000000000000000000000000000000000000000000000000087878787610316565b915091505b94509492505050565b6000806102617f000000000000000000000000000000000000000000000000000000000000000088888888886103f4565b915091505b9550959350505050565b6000805a90506102a47f000000000000000000000000000000000000000000000000000000000000000088888888886103f4565b505060005a909103979650505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061030a7f0000000000000000000000000000000000000000000000000000000000000000868686610640565b91509150935093915050565b600080610324878787610823565b909250905081158015906103385750600081115b61038d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611226602d913960400191505060405180910390fd5b60008061039c8686868661090b565b9150915080600014156103b0575050610266565b81156103d15760006103c38286866109d1565b9482019490930392506103e8565b60006103de8285876109d1565b9094039350918201915b50509550959350505050565b60008060008073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561045657600080fd5b505afa15801561046a573d6000803e3d6000fd5b505050506040513d602081101561048057600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161415905060006104a98a8a8a610add565b90506000826104b957600061052c565b8173ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104ff57600080fd5b505afa158015610513573d6000803e3d6000fd5b505050506040513d602081101561052957600080fd5b50515b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057657600080fd5b505afa15801561058a573d6000803e3d6000fd5b505050506040513d60208110156105a057600080fd5b505190508681108015906105b45750600087115b610609576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806112a06027913960400191505060405180910390fd5b6000806106198e8e8e8e8e610316565b9150915061062b8282858c8a89610bc8565b97509750505050505050965096945050505050565b600080600080610651888888610823565b915091506000610662898989610add565b905060008073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d60208110156106ed57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161415905060008161071757600061078a565b8273ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561075d57600080fd5b505afa158015610771573d6000803e3d6000fd5b505050506040513d602081101561078757600080fd5b50515b905060008373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d457600080fd5b505afa1580156107e8573d6000803e3d6000fd5b505050506040513d60208110156107fe57600080fd5b505190506108108686838c8787610bc8565b9750975050505050505094509492505050565b60008060006108328585610c7d565b509050600080610843888888610add565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561088857600080fd5b505afa15801561089c573d6000803e3d6000fd5b505050506040513d60608110156108b257600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff878116908416146108f95780826108fc565b81815b90999098509650505050505050565b6000808561091a858786610dd0565b10915060006109298585610ea5565b9050600061096f61096a61093f846103e8610ea5565b8661094a578961094c565b8a5b6109656103e58961095d578d61095f565b8c5b90610ea5565b610dd0565b610f31565b905060006103e58561098c57610987876103e8610ea5565b610998565b610998886103e8610ea5565b8161099f57fe5b049050808210156109b95760008094509450505050610227565b6109c38282611086565b935050505094509492505050565b6000808411610a2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806112c7602b913960400191505060405180910390fd5b600083118015610a3b5750600082115b610a90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806112786028913960400191505060405180910390fd5b6000610a9e856103e5610ea5565b90506000610aac8285610ea5565b90506000610ac683610ac0886103e8610ea5565b906110f8565b9050808281610ad157fe5b04979650505050505050565b6000806000610aec8585610c7d565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f162f79e638367cd45a118c778971dfd8d96c625d2798d3b71994b035cfe9b6dc609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080838015610bd85750600083115b15610c48576000610bec61096a8a8a610ea5565b90506000610bf985610f31565b905080821115610c4557876000610c108484611086565b90506000610c2384610ac0876005610ea5565b90506000610c32848484610dd0565b9050610c3e8c826110f8565b9b50505050505b50505b85610c538987610ea5565b81610c5a57fe5b0486610c668988610ea5565b81610c6d57fe5b0491509150965096945050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806112536025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610d3f578284610d42565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216610dc957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b6000806000610ddf868661116a565b9150915060008480610ded57fe5b868809905082811115610e01576001820391505b918290039181610e1f57848381610e1457fe5b049350505050610e9e565b848210610e8d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f46756c6c4d6174683a2046554c4c4449565f4f564552464c4f57000000000000604482015290519081900360640190fd5b610e988383876111b5565b93505050505b9392505050565b6000811580610ec057505080820282828281610ebd57fe5b04145b610f2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b92915050565b600081610f4057506000611081565b8160017001000000000000000000000000000000008210610f665760809190911c9060401b5b680100000000000000008210610f815760409190911c9060201b5b6401000000008210610f985760209190911c9060101b5b620100008210610fad5760109190911c9060081b5b6101008210610fc15760089190911c9060041b5b60108210610fd45760049190911c9060021b5b60088210610fe05760011b5b6001818581610feb57fe5b048201901c90506001818581610ffd57fe5b048201901c9050600181858161100f57fe5b048201901c9050600181858161102157fe5b048201901c9050600181858161103357fe5b048201901c9050600181858161104557fe5b048201901c9050600181858161105757fe5b048201901c9050600081858161106957fe5b049050808210611079578061107b565b815b93505050505b919050565b80820382811115610f2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b80820182811015610f2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848609905083850292508281039150828110156111ad576001820391505b509250929050565b600081810382168083816111c557fe5b0492508085816111d157fe5b0494508081600003816111e057fe5b6002858103808702820302808702820302808702820302808702820302808702820302808702820302958602900390940293046001019390930293909301029291505056fe556e697377617056324172626974726167654c6962726172793a205a45524f5f504149525f5245534552564553556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459436f6d707574654c697175696469747956616c75653a204c49515549444954595f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a26469706673582212209da732478d9999987a58ea7dd46f104d265ca4ef1987de15a1883eb30a25ac7964736f6c634300060c0033",
218 "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x67 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x80CAA353 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x80CAA353 EQ PUSH2 0x11D JUMPI DUP1 PUSH4 0xC45A0155 EQ PUSH2 0x17E JUMPI DUP1 PUSH4 0xD9B7A6E7 EQ PUSH2 0x1AF JUMPI PUSH2 0x67 JUMP JUMPDEST DUP1 PUSH4 0x3558E94C EQ PUSH2 0x6C JUMPI DUP1 PUSH4 0x69A2FCBD EQ PUSH2 0xCE JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 ADD CALLDATALOAD PUSH2 0x1F2 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB ADD SWAP1 RETURN JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0xE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x80 ADD CALLDATALOAD PUSH2 0x230 JUMP JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0xA0 DUP2 LT ISZERO PUSH2 0x133 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP1 PUSH1 0x80 ADD CALLDATALOAD PUSH2 0x270 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x186 PUSH2 0x2B7 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xB5 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x1C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 CALLDATALOAD DUP2 AND SWAP2 PUSH1 0x20 DUP2 ADD CALLDATALOAD SWAP1 SWAP2 AND SWAP1 PUSH1 0x40 ADD CALLDATALOAD PUSH2 0x2DB JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x222 PUSH32 0x0 DUP8 DUP8 DUP8 DUP8 PUSH2 0x316 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x261 PUSH32 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x3F4 JUMP JUMPDEST SWAP2 POP SWAP2 POP JUMPDEST SWAP6 POP SWAP6 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 GAS SWAP1 POP PUSH2 0x2A4 PUSH32 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x3F4 JUMP JUMPDEST POP POP PUSH1 0x0 GAS SWAP1 SWAP2 SUB SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x30A PUSH32 0x0 DUP7 DUP7 DUP7 PUSH2 0x640 JUMP JUMPDEST SWAP2 POP SWAP2 POP SWAP4 POP SWAP4 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x324 DUP8 DUP8 DUP8 PUSH2 0x823 JUMP JUMPDEST SWAP1 SWAP3 POP SWAP1 POP DUP2 ISZERO DUP1 ISZERO SWAP1 PUSH2 0x338 JUMPI POP PUSH1 0x0 DUP2 GT JUMPDEST PUSH2 0x38D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2D DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1226 PUSH1 0x2D SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x39C DUP7 DUP7 DUP7 DUP7 PUSH2 0x90B JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP1 PUSH1 0x0 EQ ISZERO PUSH2 0x3B0 JUMPI POP POP PUSH2 0x266 JUMP JUMPDEST DUP2 ISZERO PUSH2 0x3D1 JUMPI PUSH1 0x0 PUSH2 0x3C3 DUP3 DUP7 DUP7 PUSH2 0x9D1 JUMP JUMPDEST SWAP5 DUP3 ADD SWAP5 SWAP1 SWAP4 SUB SWAP3 POP PUSH2 0x3E8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DE DUP3 DUP6 DUP8 PUSH2 0x9D1 JUMP JUMPDEST SWAP1 SWAP5 SUB SWAP4 POP SWAP2 DUP3 ADD SWAP2 JUMPDEST POP POP SWAP6 POP SWAP6 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x17E7E58 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x46A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x480 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH1 0x0 PUSH2 0x4A9 DUP11 DUP11 DUP11 PUSH2 0xADD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH2 0x4B9 JUMPI PUSH1 0x0 PUSH2 0x52C JUMP JUMPDEST DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x7464FC3D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x513 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x529 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x576 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x5A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP DUP7 DUP2 LT DUP1 ISZERO SWAP1 PUSH2 0x5B4 JUMPI POP PUSH1 0x0 DUP8 GT JUMPDEST PUSH2 0x609 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x12A0 PUSH1 0x27 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x619 DUP15 DUP15 DUP15 DUP15 DUP15 PUSH2 0x316 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0x62B DUP3 DUP3 DUP6 DUP13 DUP11 DUP10 PUSH2 0xBC8 JUMP JUMPDEST SWAP8 POP SWAP8 POP POP POP POP POP POP POP SWAP7 POP SWAP7 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x651 DUP9 DUP9 DUP9 PUSH2 0x823 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0x662 DUP10 DUP10 DUP10 PUSH2 0xADD JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP11 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x17E7E58 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6D7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x6ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO SWAP1 POP PUSH1 0x0 DUP2 PUSH2 0x717 JUMPI PUSH1 0x0 PUSH2 0x78A JUMP JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x7464FC3D PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x75D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x771 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x787 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD JUMPDEST SWAP1 POP PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x18160DDD PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x7D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7E8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x7FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP1 POP PUSH2 0x810 DUP7 DUP7 DUP4 DUP13 DUP8 DUP8 PUSH2 0xBC8 JUMP JUMPDEST SWAP8 POP SWAP8 POP POP POP POP POP POP POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x832 DUP6 DUP6 PUSH2 0xC7D JUMP JUMPDEST POP SWAP1 POP PUSH1 0x0 DUP1 PUSH2 0x843 DUP9 DUP9 DUP9 PUSH2 0xADD JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x902F1AC PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x60 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x888 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x89C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x8B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH14 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP2 DUP3 AND SWAP4 POP AND SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP8 DUP2 AND SWAP1 DUP5 AND EQ PUSH2 0x8F9 JUMPI DUP1 DUP3 PUSH2 0x8FC JUMP JUMPDEST DUP2 DUP2 JUMPDEST SWAP1 SWAP10 SWAP1 SWAP9 POP SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP6 PUSH2 0x91A DUP6 DUP8 DUP7 PUSH2 0xDD0 JUMP JUMPDEST LT SWAP2 POP PUSH1 0x0 PUSH2 0x929 DUP6 DUP6 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x96F PUSH2 0x96A PUSH2 0x93F DUP5 PUSH2 0x3E8 PUSH2 0xEA5 JUMP JUMPDEST DUP7 PUSH2 0x94A JUMPI DUP10 PUSH2 0x94C JUMP JUMPDEST DUP11 JUMPDEST PUSH2 0x965 PUSH2 0x3E5 DUP10 PUSH2 0x95D JUMPI DUP14 PUSH2 0x95F JUMP JUMPDEST DUP13 JUMPDEST SWAP1 PUSH2 0xEA5 JUMP JUMPDEST PUSH2 0xDD0 JUMP JUMPDEST PUSH2 0xF31 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0x3E5 DUP6 PUSH2 0x98C JUMPI PUSH2 0x987 DUP8 PUSH2 0x3E8 PUSH2 0xEA5 JUMP JUMPDEST PUSH2 0x998 JUMP JUMPDEST PUSH2 0x998 DUP9 PUSH2 0x3E8 PUSH2 0xEA5 JUMP JUMPDEST DUP2 PUSH2 0x99F JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 DUP3 LT ISZERO PUSH2 0x9B9 JUMPI PUSH1 0x0 DUP1 SWAP5 POP SWAP5 POP POP POP POP PUSH2 0x227 JUMP JUMPDEST PUSH2 0x9C3 DUP3 DUP3 PUSH2 0x1086 JUMP JUMPDEST SWAP4 POP POP POP POP SWAP5 POP SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 GT PUSH2 0xA2B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x2B DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x12C7 PUSH1 0x2B SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 GT DUP1 ISZERO PUSH2 0xA3B JUMPI POP PUSH1 0x0 DUP3 GT JUMPDEST PUSH2 0xA90 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1278 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA9E DUP6 PUSH2 0x3E5 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xAAC DUP3 DUP6 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xAC6 DUP4 PUSH2 0xAC0 DUP9 PUSH2 0x3E8 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 PUSH2 0x10F8 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 DUP2 PUSH2 0xAD1 JUMPI INVALID JUMPDEST DIV SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0xAEC DUP6 DUP6 PUSH2 0xC7D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000 PUSH1 0x60 SWAP5 DUP6 SHL DUP2 AND PUSH1 0x20 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 DUP6 SHL DUP2 AND PUSH1 0x34 DUP4 ADD MSTORE DUP3 MLOAD PUSH1 0x28 DUP2 DUP5 SUB ADD DUP2 MSTORE PUSH1 0x48 DUP4 ADD DUP5 MSTORE DUP1 MLOAD SWAP1 DUP6 ADD KECCAK256 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x68 DUP5 ADD MSTORE SWAP11 SWAP1 SWAP5 SHL SWAP1 SWAP4 AND PUSH1 0x69 DUP5 ADD MSTORE PUSH1 0x7D DUP4 ADD SWAP9 SWAP1 SWAP9 MSTORE PUSH32 0x162F79E638367CD45A118C778971DFD8D96C625D2798D3B71994B035CFE9B6DC PUSH1 0x9D DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP9 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0xBD SWAP1 SWAP3 ADD SWAP1 SWAP8 MSTORE DUP1 MLOAD SWAP7 ADD SWAP6 SWAP1 SWAP6 KECCAK256 SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP1 ISZERO PUSH2 0xBD8 JUMPI POP PUSH1 0x0 DUP4 GT JUMPDEST ISZERO PUSH2 0xC48 JUMPI PUSH1 0x0 PUSH2 0xBEC PUSH2 0x96A DUP11 DUP11 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xBF9 DUP6 PUSH2 0xF31 JUMP JUMPDEST SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xC45 JUMPI DUP8 PUSH1 0x0 PUSH2 0xC10 DUP5 DUP5 PUSH2 0x1086 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC23 DUP5 PUSH2 0xAC0 DUP8 PUSH1 0x5 PUSH2 0xEA5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH2 0xC32 DUP5 DUP5 DUP5 PUSH2 0xDD0 JUMP JUMPDEST SWAP1 POP PUSH2 0xC3E DUP13 DUP3 PUSH2 0x10F8 JUMP JUMPDEST SWAP12 POP POP POP POP POP JUMPDEST POP POP JUMPDEST DUP6 PUSH2 0xC53 DUP10 DUP8 PUSH2 0xEA5 JUMP JUMPDEST DUP2 PUSH2 0xC5A JUMPI INVALID JUMPDEST DIV DUP7 PUSH2 0xC66 DUP10 DUP9 PUSH2 0xEA5 JUMP JUMPDEST DUP2 PUSH2 0xC6D JUMPI INVALID JUMPDEST DIV SWAP2 POP SWAP2 POP SWAP7 POP SWAP7 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xD05 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x25 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x1253 PUSH1 0x25 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND LT PUSH2 0xD3F JUMPI DUP3 DUP5 PUSH2 0xD42 JUMP JUMPDEST DUP4 DUP4 JUMPDEST SWAP1 SWAP3 POP SWAP1 POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND PUSH2 0xDC9 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x556E697377617056324C6962726172793A205A45524F5F414444524553530000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0xDDF DUP7 DUP7 PUSH2 0x116A JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP5 DUP1 PUSH2 0xDED JUMPI INVALID JUMPDEST DUP7 DUP9 MULMOD SWAP1 POP DUP3 DUP2 GT ISZERO PUSH2 0xE01 JUMPI PUSH1 0x1 DUP3 SUB SWAP2 POP JUMPDEST SWAP2 DUP3 SWAP1 SUB SWAP2 DUP2 PUSH2 0xE1F JUMPI DUP5 DUP4 DUP2 PUSH2 0xE14 JUMPI INVALID JUMPDEST DIV SWAP4 POP POP POP POP PUSH2 0xE9E JUMP JUMPDEST DUP5 DUP3 LT PUSH2 0xE8D JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46756C6C4D6174683A2046554C4C4449565F4F564552464C4F57000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH2 0xE98 DUP4 DUP4 DUP8 PUSH2 0x11B5 JUMP JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO DUP1 PUSH2 0xEC0 JUMPI POP POP DUP1 DUP3 MUL DUP3 DUP3 DUP3 DUP2 PUSH2 0xEBD JUMPI INVALID JUMPDEST DIV EQ JUMPDEST PUSH2 0xF2B JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D6D756C2D6F766572666C6F77000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0xF40 JUMPI POP PUSH1 0x0 PUSH2 0x1081 JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH17 0x100000000000000000000000000000000 DUP3 LT PUSH2 0xF66 JUMPI PUSH1 0x80 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x40 SHL JUMPDEST PUSH9 0x10000000000000000 DUP3 LT PUSH2 0xF81 JUMPI PUSH1 0x40 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x20 SHL JUMPDEST PUSH5 0x100000000 DUP3 LT PUSH2 0xF98 JUMPI PUSH1 0x20 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x10 SHL JUMPDEST PUSH3 0x10000 DUP3 LT PUSH2 0xFAD JUMPI PUSH1 0x10 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x8 SHL JUMPDEST PUSH2 0x100 DUP3 LT PUSH2 0xFC1 JUMPI PUSH1 0x8 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x4 SHL JUMPDEST PUSH1 0x10 DUP3 LT PUSH2 0xFD4 JUMPI PUSH1 0x4 SWAP2 SWAP1 SWAP2 SHR SWAP1 PUSH1 0x2 SHL JUMPDEST PUSH1 0x8 DUP3 LT PUSH2 0xFE0 JUMPI PUSH1 0x1 SHL JUMPDEST PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0xFEB JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0xFFD JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x100F JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1021 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1033 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1045 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x1 DUP2 DUP6 DUP2 PUSH2 0x1057 JUMPI INVALID JUMPDEST DIV DUP3 ADD SWAP1 SHR SWAP1 POP PUSH1 0x0 DUP2 DUP6 DUP2 PUSH2 0x1069 JUMPI INVALID JUMPDEST DIV SWAP1 POP DUP1 DUP3 LT PUSH2 0x1079 JUMPI DUP1 PUSH2 0x107B JUMP JUMPDEST DUP2 JUMPDEST SWAP4 POP POP POP POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 SUB DUP3 DUP2 GT ISZERO PUSH2 0xF2B JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D7375622D756E646572666C6F770000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST DUP1 DUP3 ADD DUP3 DUP2 LT ISZERO PUSH2 0xF2B JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x64732D6D6174682D6164642D6F766572666C6F77000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 DUP7 MULMOD SWAP1 POP DUP4 DUP6 MUL SWAP3 POP DUP3 DUP2 SUB SWAP2 POP DUP3 DUP2 LT ISZERO PUSH2 0x11AD JUMPI PUSH1 0x1 DUP3 SUB SWAP2 POP JUMPDEST POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 SUB DUP3 AND DUP1 DUP4 DUP2 PUSH2 0x11C5 JUMPI INVALID JUMPDEST DIV SWAP3 POP DUP1 DUP6 DUP2 PUSH2 0x11D1 JUMPI INVALID JUMPDEST DIV SWAP5 POP DUP1 DUP2 PUSH1 0x0 SUB DUP2 PUSH2 0x11E0 JUMPI INVALID JUMPDEST PUSH1 0x2 DUP6 DUP2 SUB DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL DUP1 DUP8 MUL DUP3 SUB MUL SWAP6 DUP7 MUL SWAP1 SUB SWAP1 SWAP5 MUL SWAP4 DIV PUSH1 0x1 ADD SWAP4 SWAP1 SWAP4 MUL SWAP4 SWAP1 SWAP4 ADD MUL SWAP3 SWAP2 POP POP JUMP INVALID SSTORE PUSH15 0x697377617056324172626974726167 PUSH6 0x4C6962726172 PUSH26 0x3A205A45524F5F504149525F5245534552564553556E69737761 PUSH17 0x56324C6962726172793A204944454E5449 NUMBER COINBASE 0x4C 0x5F COINBASE DIFFICULTY DIFFICULTY MSTORE GASLIMIT MSTORE8 MSTORE8 GASLIMIT MSTORE8 SSTORE PUSH15 0x697377617056324C6962726172793A KECCAK256 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x4C 0x49 MLOAD SSTORE 0x49 DIFFICULTY 0x49 SLOAD MSIZE NUMBER PUSH16 0x6D707574654C69717569646974795661 PUSH13 0x75653A204C4951554944495459 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD SSTORE PUSH15 0x697377617056324C6962726172793A KECCAK256 0x49 0x4E MSTORE8 SSTORE CHAINID CHAINID 0x49 NUMBER 0x49 GASLIMIT 0x4E SLOAD 0x5F 0x49 0x4E POP SSTORE SLOAD 0x5F COINBASE 0x4D 0x4F SSTORE 0x4E SLOAD LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 0xA7 ORIGIN SELFBALANCE DUP14 SWAP10 SWAP10 SWAP9 PUSH27 0x58EA7DD46F104D265CA4EF1987DE15A1883EB30A25AC7964736F6C PUSH4 0x4300060C STOP CALLER ",
219 "sourceMap": "120:2433:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;381:422;;;;;;;;;;;;;;;;-1:-1:-1;381:422:11;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1328:540;;;;;;;;;;;;;;;;-1:-1:-1;1328:540:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1941:610::-;;;;;;;;;;;;;;;;-1:-1:-1;1941:610:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;197:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;868:374;;;;;;;;;;;;;;;;-1:-1:-1;868:374:11;;;;;;;;;;;;;;;;;;:::i;381:422::-;559:16;577;612:184;681:7;702:6;722;742:15;771;612:55;:184::i;:::-;605:191;;;;381:422;;;;;;;;:::o;1328:540::-;1561:20;1591;1635:226;1717:7;1738:6;1758;1778:15;1807;1836;1635:68;:226::i;:::-;1628:233;;;;1328:540;;;;;;;;;:::o;1941:610::-;2186:7;2210:14;2227:9;2210:26;;2246:226;2328:7;2349:6;2369;2389:15;2418;2447;2246:68;:226::i;:::-;;;2482:13;2498:9;2524:20;;;;1941:610;-1:-1:-1;;;;;;;1941:610:11:o;197:32::-;;;:::o;868:374::-;1014:20;1044;1088:147;1149:7;1170:6;1190;1210:15;1088:47;:147::i;:::-;1081:154;;;;868:374;;;;;;:::o;1718:1161:25:-;1921:16;1939;2036:53;2065:7;2074:6;2082;2036:28;:53::i;:::-;2013:76;;-1:-1:-1;2013:76:25;-1:-1:-1;2108:12:25;;;;;:28;;;2135:1;2124:8;:12;2108:28;2100:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2264:9;2275:16;2295:82;2324:15;2341;2358:8;2368;2295:28;:82::i;:::-;2263:114;;;;2392:8;2404:1;2392:13;2388:71;;;2421:27;;;;2388:71;2521:4;2517:356;;;2541:14;2558:59;2588:8;2598;2608;2558:29;:59::i;:::-;2631:20;;;;2665:21;;;;-1:-1:-1;2517:356:25;;;2717:14;2734:59;2764:8;2774;2784;2734:29;:59::i;:::-;2841:21;;;;-1:-1:-1;2807:20:25;;;;2517:356;1718:1161;;;;;;;;;;:::o;5035:984::-;5293:20;5323;5360:10;5419:1;5373:48;;5391:7;5373:32;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5373:34:25;:48;;;;;-1:-1:-1;5431:19:25;5468:49;5493:7;5502:6;5510;5468:24;:49::i;:::-;5431:87;;5528:10;5541:5;:24;;5564:1;5541:24;;;5549:4;:10;;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5549:12:25;5541:24;5528:37;;5575:16;5594:4;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5594:18:25;;-1:-1:-1;5680:30:25;;;;;;:53;;;5732:1;5714:15;:19;5680:53;5672:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5789:14;5805;5823:84;5849:7;5858:6;5866;5874:15;5891;5823:25;:84::i;:::-;5788:119;;;;5925:87;5947:9;5958;5969:11;5982:15;5999:5;6006;5925:21;:87::i;:::-;5918:94;;;;;;;;;;5035:984;;;;;;;;;:::o;4126:683::-;4288:20;4310;4343:17;4362;4383:53;4412:7;4421:6;4429;4383:28;:53::i;:::-;4342:94;;;;4446:19;4483:49;4508:7;4517:6;4525;4483:24;:49::i;:::-;4446:87;;4543:10;4602:1;4556:48;;4574:7;4556:32;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4556:34:25;:48;;;;;-1:-1:-1;4614:10:25;4556:48;4627:24;;4650:1;4627:24;;;4635:4;:10;;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4635:12:25;4627:24;4614:37;;4661:16;4680:4;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4680:18:25;;-1:-1:-1;4715:87:25;4737:9;4748;4680:18;4772:15;4789:5;4796;4715:21;:87::i;:::-;4708:94;;;;;;;;;;4126:683;;;;;;;:::o;1275:387:24:-;1368:13;1383;1409:14;1428:26;1439:6;1447;1428:10;:26::i;:::-;1408:46;;;1465:13;1480;1513:32;1521:7;1530:6;1538;1513:7;:32::i;:::-;1498:60;;;:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1498:62:24;;;;;;;1464:96;;;;;-1:-1:-1;1464:96:24;;-1:-1:-1;1593:16:24;;;;;;;;:62;;1636:8;1646;1593:62;;;1613:8;1623;1593:62;1570:85;;;;-1:-1:-1;1275:387:24;-1:-1:-1;;;;;;;1275:387:24:o;678:903:25:-;863:9;874:16;964:15;909:52;925:8;935:15;952:8;909:15;:52::i;:::-;:70;;-1:-1:-1;990:17:25;1010:22;:8;1023;1010:12;:22::i;:::-;990:42;-1:-1:-1;1043:16:25;1062:232;1091:193;1124:19;990:42;1138:4;1124:13;:19::i;:::-;1161:4;:40;;1186:15;1161:40;;;1168:15;1161:40;1219:51;1266:3;1220:4;:40;;1245:15;1220:40;;;1227:15;1220:40;1219:46;;:51::i;:::-;1091:15;:193::i;:::-;1062:15;:232::i;:::-;1043:251;;1304:17;1375:3;1325:4;:46;;1353:18;:8;1366:4;1353:12;:18::i;:::-;1325:46;;;1332:18;:8;1345:4;1332:12;:18::i;:::-;1324:54;;;;;;1304:74;;1404:9;1393:8;:20;1389:43;;;1423:5;1430:1;1415:17;;;;;;;;;1389:43;1551:23;:8;1564:9;1551:12;:23::i;:::-;1540:34;;678:903;;;;;;;;;;:::o;2208:510:24:-;2301:14;2346:1;2335:8;:12;2327:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2425:1;2413:9;:13;:31;;;;;2443:1;2430:10;:14;2413:31;2405:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:20;2522:17;:8;2535:3;2522:12;:17::i;:::-;2499:40;-1:-1:-1;2549:14:24;2566:31;2499:40;2586:10;2566:19;:31::i;:::-;2549:48;-1:-1:-1;2607:16:24;2626:40;2650:15;2626:19;:9;2640:4;2626:13;:19::i;:::-;:23;;:40::i;:::-;2607:59;;2700:11;2688:9;:23;;;;;;;2208:510;-1:-1:-1;;;;;;;2208:510:24:o;750:470::-;839:12;864:14;880;898:26;909:6;917;898:10;:26::i;:::-;1058:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1048:43;;;;;;964:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;954:257;;;;;;;;;750:470;-1:-1:-1;;;;;750:470:24:o;2954:910:25:-;3170:20;3192;3228:5;:18;;;;;3245:1;3237:5;:9;3228:18;3224:525;;;3262:10;3275:41;3291:24;:9;3305;3291:13;:24::i;3275:41::-;3262:54;;3330:14;3347:22;3363:5;3347:15;:22::i;:::-;3330:39;;3395:9;3387:5;:17;3383:356;;;3442:11;3424:15;3489:20;:5;3499:9;3489;:20::i;:::-;3471:38;-1:-1:-1;3527:16:25;3546:27;3563:9;3546:12;:5;3556:1;3546:9;:12::i;:27::-;3527:46;;3591:17;3611:52;3627:10;3639;3651:11;3611:15;:52::i;:::-;3591:72;-1:-1:-1;3695:29:25;:11;3591:72;3695:15;:29::i;:::-;3681:43;;3383:356;;;;;3224:525;;;3799:11;3766:30;:9;3780:15;3766:13;:30::i;:::-;:44;;;;;;3845:11;3812:30;:9;3826:15;3812:13;:30::i;:::-;:44;;;;;;3758:99;;;;2954:910;;;;;;;;;:::o;316:345:24:-;391:14;407;451:6;441:16;;:6;:16;;;;433:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:6;528:15;;:6;:15;;;:53;;566:6;574;528:53;;;547:6;555;528:53;509:72;;-1:-1:-1;509:72:24;-1:-1:-1;599:20:24;;;591:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;316:345;;;;;:::o;897:373:6:-;999:7;1019:9;1030;1043:13;1051:1;1054;1043:7;:13::i;:::-;1018:38;;;;1067:10;1093:1;1080:15;;;;;1090:1;1087;1080:15;1067:28;;1114:1;1109:2;:6;1105:18;;;1122:1;1117:6;;;;1105:18;1133:7;;;;;1155:6;1151:24;;1174:1;1170;:5;;;;;;1163:12;;;;;;;1151:24;1198:1;1194;:5;1186:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1247:16;1255:1;1258;1261;1247:7;:16::i;:::-;1240:23;;;;;897:373;;;;;;:::o;456:140:23:-;508:6;534;;;:30;;-1:-1:-1;;549:5:23;;;563:1;558;549:5;558:1;544:15;;;;;:20;534:30;526:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;456:140;;;;:::o;382:1197:3:-;430:7;453:6;449:20;;-1:-1:-1;468:1:3;461:8;;449:20;644:1;667;688:35;682:41;;678:104;;746:3;739:10;;;;;769:2;763:8;678:104;801:19;795:2;:25;791:87;;843:2;836:9;;;;;865:2;859:8;791:87;897:11;891:2;:17;887:79;;931:2;924:9;;;;;953:2;947:8;887:79;985:7;979:2;:13;975:74;;1015:2;1008:9;;;;;1037:1;1031:7;975:74;1068:5;1062:2;:11;1058:71;;1096:1;1089:8;;;;;1117:1;1111:7;1058:71;1148:4;1142:2;:10;1138:70;;1175:1;1168:8;;;;;1196:1;1190:7;1138:70;1227:3;1221:2;:9;1217:47;;1252:1;1246:7;1217:47;1292:1;1286;1282;:5;;;;;;1278:1;:9;1277:16;;1273:20;;1322:1;1316;1312;:5;;;;;;1308:1;:9;1307:16;;1303:20;;1352:1;1346;1342;:5;;;;;;1338:1;:9;1337:16;;1333:20;;1382:1;1376;1372;:5;;;;;;1368:1;:9;1367:16;;1363:20;;1412:1;1406;1402;:5;;;;;;1398:1;:9;1397:16;;1393:20;;1442:1;1436;1432;:5;;;;;;1428:1;:9;1427:16;;1423:20;;1472:1;1466;1462;:5;;;;;;1458:1;:9;1457:16;;1453:20;;1520:10;1537:1;1533;:5;;;;;;1520:18;;1560:2;1556:1;:6;:15;;1569:2;1556:15;;;1565:1;1556:15;1548:24;;;;;382:1197;;;;:::o;323:127:23:-;406:5;;;401:16;;;;393:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;191:126;274:5;;;269:16;;;;261:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;216:206:6;278:9;;;344:2;333:1;330;323:25;310:38;;366:1;362;:5;358:9;;386:1;381:2;:6;377:10;;406:1;401:2;:6;397:18;;;414:1;409:6;;;;397:18;216:206;;;;;;:::o;428:463::-;530:7;568:2;;;564:6;;;569:1;564:6;580:9;;;;;;;604:4;599:9;;;;;;;;;638:4;630;629:5;;628:14;;;;;685:1;:9;;;713:5;;;709:9;;704:14;737:5;;;733:9;;728:14;761:5;;;757:9;;752:14;785:5;;;781:9;;776:14;809:5;;;805:9;;800:14;833:5;;;829:9;;824:14;857:5;;;853:9;;848:14;;;628;;645:1;628:18;623:24;;;;618:29;;;;879:5;;428:463;-1:-1:-1;;428:463:6:o"
220 }
221 },
222 "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"factory_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"truePriceTokenA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"truePriceTokenB\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"liquidityAmount\",\"type\":\"uint256\"}],\"name\":\"getGasCostOfGetLiquidityValueAfterArbitrageToPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"liquidityAmount\",\"type\":\"uint256\"}],\"name\":\"getLiquidityValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenAAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenBAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"truePriceTokenA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"truePriceTokenB\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"liquidityAmount\",\"type\":\"uint256\"}],\"name\":\"getLiquidityValueAfterArbitrageToPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenAAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenBAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenA\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenB\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"truePriceTokenA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"truePriceTokenB\",\"type\":\"uint256\"}],\"name\":\"getReservesAfterArbitrage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reserveA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserveB\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/examples/ExampleComputeLiquidityValue.sol\":\"ExampleComputeLiquidityValue\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"@venomswap/core/contracts/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0xb8d3fecafdca8fc36865db78ea552c0ab311df74b44d3d82015f1dc151e0537f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://eeaab619ce439ebc1244237981f5557e3a892e62b1e9c43adbfee646707ae17f\",\"dweb:/ipfs/QmfU4zVedNZhBT1fQAaKwc34bkxqDnGNTPYf5zpz3Hjmk3\"]},\"@venomswap/core/contracts/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0x3368b1700fc4a77b780967cdd03c731da787a99f054f69f4b404d3cd3691712d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://47521585cb5e7f2a8a1586b7d4f09e5ffc80929af8f9ed18012a1b4a82920b9f\",\"dweb:/ipfs/QmdHmVCdnyDq9GFDuRKXe69ATcY4ABXehHzoKRnzxtWNFv\"]},\"@venomswap/lib/contracts/libraries/Babylonian.sol\":{\"keccak256\":\"0xc2389737a1d4954f93ed88099f8833ccc350a62b8b29b61c2a24f237eb4649bc\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d95218a6f0c7c5030e1f81aabcfe297449bf8bb92fcac1c4ba9bcfc8d61e62b\",\"dweb:/ipfs/QmXzJQLQfgqCuxL5JGMrKRQf5ziRNvQiQkNK3ZK6Lkn4CR\"]},\"@venomswap/lib/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0x074f43cf798f046118ed21bb9859a7fa1074b9581fe315c8702d6d292fdb2784\",\"license\":\"CC-BY-4.0\",\"urls\":[\"bzz-raw://55a5cb6c5ae9ccc1e6870315bfa5f23f4c758db606f6a292fdff2224fcec082e\",\"dweb:/ipfs/QmRZayK4DWdWHaape9XcVj6VobzX7en7Tejk7gbzv7CHTy\"]},\"contracts/examples/ExampleComputeLiquidityValue.sol\":{\"keccak256\":\"0x99ee6106bd365b105bbfc689b3916ceed1d4a1ba9f097963f20deafd141af2db\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d2185bcc86bcb7fd000bb00d4affeaccafeab49bbbcddaeda3e6cd4cb5dd6782\",\"dweb:/ipfs/Qmar2JLkzPTMWkG97J8gyrfT2nnr2LKZYEZ7rMYMm68ddA\"]},\"contracts/libraries/SafeMath.sol\":{\"keccak256\":\"0x97845129a51dbb1869a765595d1c671fa473b97ef800756402afaadc7640a94e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5928803fe14654103d3f15b57b5b8df40b98f58cbe4e7044888f092f2462af04\",\"dweb:/ipfs/QmdnB83EBtNjwoKFHizxsTo6e2ytKN97SCvYnX28p75DCu\"]},\"contracts/libraries/UniswapV2Library.sol\":{\"keccak256\":\"0x23c29c0e5c366840a68add4ccee24678bc2c0a199af64ff9d8175b89fdb131f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2fd277bccf021fbdeb652f346cc0855e0d1bbbce88241a51d4b45af4021b4b29\",\"dweb:/ipfs/QmdLQS64uzbK1xasiqwm4TDkbv5SPtcrNc6DaS73NaXzaz\"]},\"contracts/libraries/UniswapV2LiquidityMathLibrary.sol\":{\"keccak256\":\"0x5887cd2c1f08c23c8c230767910377fbb004bd4d6ae12a89d326bd612adea6bf\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://264289e46ca578c2b7adb87c4a43d914aee63523f3980abc1a7cb070f7c4cbba\",\"dweb:/ipfs/QmbTmpaF4cwPrVBoQb1MTmmwMLMmXR8sUdpYWefhSrQYbs\"]}},\"version\":1}",
223 "interface": [
224 {
225 "inputs": [
226 {
227 "internalType": "address",
228 "name": "factory_",
229 "type": "address"
230 }
231 ],
232 "stateMutability": "nonpayable",
233 "type": "constructor"
234 },
235 {
236 "inputs": [],
237 "name": "factory",
238 "outputs": [
239 {
240 "internalType": "address",
241 "name": "",
242 "type": "address"
243 }
244 ],
245 "stateMutability": "view",
246 "type": "function"
247 },
248 {
249 "inputs": [
250 {
251 "internalType": "address",
252 "name": "tokenA",
253 "type": "address"
254 },
255 {
256 "internalType": "address",
257 "name": "tokenB",
258 "type": "address"
259 },
260 {
261 "internalType": "uint256",
262 "name": "truePriceTokenA",
263 "type": "uint256"
264 },
265 {
266 "internalType": "uint256",
267 "name": "truePriceTokenB",
268 "type": "uint256"
269 },
270 {
271 "internalType": "uint256",
272 "name": "liquidityAmount",
273 "type": "uint256"
274 }
275 ],
276 "name": "getGasCostOfGetLiquidityValueAfterArbitrageToPrice",
277 "outputs": [
278 {
279 "internalType": "uint256",
280 "name": "",
281 "type": "uint256"
282 }
283 ],
284 "stateMutability": "view",
285 "type": "function"
286 },
287 {
288 "inputs": [
289 {
290 "internalType": "address",
291 "name": "tokenA",
292 "type": "address"
293 },
294 {
295 "internalType": "address",
296 "name": "tokenB",
297 "type": "address"
298 },
299 {
300 "internalType": "uint256",
301 "name": "liquidityAmount",
302 "type": "uint256"
303 }
304 ],
305 "name": "getLiquidityValue",
306 "outputs": [
307 {
308 "internalType": "uint256",
309 "name": "tokenAAmount",
310 "type": "uint256"
311 },
312 {
313 "internalType": "uint256",
314 "name": "tokenBAmount",
315 "type": "uint256"
316 }
317 ],
318 "stateMutability": "view",
319 "type": "function"
320 },
321 {
322 "inputs": [
323 {
324 "internalType": "address",
325 "name": "tokenA",
326 "type": "address"
327 },
328 {
329 "internalType": "address",
330 "name": "tokenB",
331 "type": "address"
332 },
333 {
334 "internalType": "uint256",
335 "name": "truePriceTokenA",
336 "type": "uint256"
337 },
338 {
339 "internalType": "uint256",
340 "name": "truePriceTokenB",
341 "type": "uint256"
342 },
343 {
344 "internalType": "uint256",
345 "name": "liquidityAmount",
346 "type": "uint256"
347 }
348 ],
349 "name": "getLiquidityValueAfterArbitrageToPrice",
350 "outputs": [
351 {
352 "internalType": "uint256",
353 "name": "tokenAAmount",
354 "type": "uint256"
355 },
356 {
357 "internalType": "uint256",
358 "name": "tokenBAmount",
359 "type": "uint256"
360 }
361 ],
362 "stateMutability": "view",
363 "type": "function"
364 },
365 {
366 "inputs": [
367 {
368 "internalType": "address",
369 "name": "tokenA",
370 "type": "address"
371 },
372 {
373 "internalType": "address",
374 "name": "tokenB",
375 "type": "address"
376 },
377 {
378 "internalType": "uint256",
379 "name": "truePriceTokenA",
380 "type": "uint256"
381 },
382 {
383 "internalType": "uint256",
384 "name": "truePriceTokenB",
385 "type": "uint256"
386 }
387 ],
388 "name": "getReservesAfterArbitrage",
389 "outputs": [
390 {
391 "internalType": "uint256",
392 "name": "reserveA",
393 "type": "uint256"
394 },
395 {
396 "internalType": "uint256",
397 "name": "reserveB",
398 "type": "uint256"
399 }
400 ],
401 "stateMutability": "view",
402 "type": "function"
403 }
404 ],
405 "bytecode": "60a060405234801561001057600080fd5b506040516113a23803806113a28339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661132761007b600039806101fa5280610238528061027b52806102b952806102e352506113276000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806380caa3531161005057806380caa3531461011d578063c45a01551461017e578063d9b7a6e7146101af57610067565b80633558e94c1461006c57806369a2fcbd146100ce575b600080fd5b6100b56004803603608081101561008257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604081013590606001356101f2565b6040805192835260208301919091528051918290030190f35b6100b5600480360360a08110156100e457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060800135610230565b61016c600480360360a081101561013357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060800135610270565b60408051918252519081900360200190f35b6101866102b7565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100b5600480360360608110156101c557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356102db565b6000806102227f000000000000000000000000000000000000000000000000000000000000000087878787610316565b915091505b94509492505050565b6000806102617f000000000000000000000000000000000000000000000000000000000000000088888888886103f4565b915091505b9550959350505050565b6000805a90506102a47f000000000000000000000000000000000000000000000000000000000000000088888888886103f4565b505060005a909103979650505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061030a7f0000000000000000000000000000000000000000000000000000000000000000868686610640565b91509150935093915050565b600080610324878787610823565b909250905081158015906103385750600081115b61038d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611226602d913960400191505060405180910390fd5b60008061039c8686868661090b565b9150915080600014156103b0575050610266565b81156103d15760006103c38286866109d1565b9482019490930392506103e8565b60006103de8285876109d1565b9094039350918201915b50509550959350505050565b60008060008073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561045657600080fd5b505afa15801561046a573d6000803e3d6000fd5b505050506040513d602081101561048057600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161415905060006104a98a8a8a610add565b90506000826104b957600061052c565b8173ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104ff57600080fd5b505afa158015610513573d6000803e3d6000fd5b505050506040513d602081101561052957600080fd5b50515b905060008273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057657600080fd5b505afa15801561058a573d6000803e3d6000fd5b505050506040513d60208110156105a057600080fd5b505190508681108015906105b45750600087115b610609576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806112a06027913960400191505060405180910390fd5b6000806106198e8e8e8e8e610316565b9150915061062b8282858c8a89610bc8565b97509750505050505050965096945050505050565b600080600080610651888888610823565b915091506000610662898989610add565b905060008073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d60208110156106ed57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff161415905060008161071757600061078a565b8273ffffffffffffffffffffffffffffffffffffffff16637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561075d57600080fd5b505afa158015610771573d6000803e3d6000fd5b505050506040513d602081101561078757600080fd5b50515b905060008373ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d457600080fd5b505afa1580156107e8573d6000803e3d6000fd5b505050506040513d60208110156107fe57600080fd5b505190506108108686838c8787610bc8565b9750975050505050505094509492505050565b60008060006108328585610c7d565b509050600080610843888888610add565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561088857600080fd5b505afa15801561089c573d6000803e3d6000fd5b505050506040513d60608110156108b257600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff878116908416146108f95780826108fc565b81815b90999098509650505050505050565b6000808561091a858786610dd0565b10915060006109298585610ea5565b9050600061096f61096a61093f846103e8610ea5565b8661094a578961094c565b8a5b6109656103e58961095d578d61095f565b8c5b90610ea5565b610dd0565b610f31565b905060006103e58561098c57610987876103e8610ea5565b610998565b610998886103e8610ea5565b8161099f57fe5b049050808210156109b95760008094509450505050610227565b6109c38282611086565b935050505094509492505050565b6000808411610a2b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806112c7602b913960400191505060405180910390fd5b600083118015610a3b5750600082115b610a90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806112786028913960400191505060405180910390fd5b6000610a9e856103e5610ea5565b90506000610aac8285610ea5565b90506000610ac683610ac0886103e8610ea5565b906110f8565b9050808281610ad157fe5b04979650505050505050565b6000806000610aec8585610c7d565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f162f79e638367cd45a118c778971dfd8d96c625d2798d3b71994b035cfe9b6dc609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b600080838015610bd85750600083115b15610c48576000610bec61096a8a8a610ea5565b90506000610bf985610f31565b905080821115610c4557876000610c108484611086565b90506000610c2384610ac0876005610ea5565b90506000610c32848484610dd0565b9050610c3e8c826110f8565b9b50505050505b50505b85610c538987610ea5565b81610c5a57fe5b0486610c668988610ea5565b81610c6d57fe5b0491509150965096945050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806112536025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610d3f578284610d42565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216610dc957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b6000806000610ddf868661116a565b9150915060008480610ded57fe5b868809905082811115610e01576001820391505b918290039181610e1f57848381610e1457fe5b049350505050610e9e565b848210610e8d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f46756c6c4d6174683a2046554c4c4449565f4f564552464c4f57000000000000604482015290519081900360640190fd5b610e988383876111b5565b93505050505b9392505050565b6000811580610ec057505080820282828281610ebd57fe5b04145b610f2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b92915050565b600081610f4057506000611081565b8160017001000000000000000000000000000000008210610f665760809190911c9060401b5b680100000000000000008210610f815760409190911c9060201b5b6401000000008210610f985760209190911c9060101b5b620100008210610fad5760109190911c9060081b5b6101008210610fc15760089190911c9060041b5b60108210610fd45760049190911c9060021b5b60088210610fe05760011b5b6001818581610feb57fe5b048201901c90506001818581610ffd57fe5b048201901c9050600181858161100f57fe5b048201901c9050600181858161102157fe5b048201901c9050600181858161103357fe5b048201901c9050600181858161104557fe5b048201901c9050600181858161105757fe5b048201901c9050600081858161106957fe5b049050808210611079578061107b565b815b93505050505b919050565b80820382811115610f2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b80820182811015610f2b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848609905083850292508281039150828110156111ad576001820391505b509250929050565b600081810382168083816111c557fe5b0492508085816111d157fe5b0494508081600003816111e057fe5b6002858103808702820302808702820302808702820302808702820302808702820302808702820302958602900390940293046001019390930293909301029291505056fe556e697377617056324172626974726167654c6962726172793a205a45524f5f504149525f5245534552564553556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459436f6d707574654c697175696469747956616c75653a204c49515549444954595f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a26469706673582212209da732478d9999987a58ea7dd46f104d265ca4ef1987de15a1883eb30a25ac7964736f6c634300060c0033"
406}
\No newline at end of file