solc-0.8.36-fakeopcode 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d via-ir-low-runs
9588 bytes
60806040526004361015610011575f80fd5b5f3560e01c8063018a2c371461026457806301ffc9a71461025f57806306fdde031461025a578063081812fc14610255578063095ea7b314610250578063109695231461024b57806318160ddd1461024657806318e20a381461024157806323b872dd1461023c5780632f745c591461023757806334918dfd146102325780633ccfd60b1461022d57806342842e0e146102285780634f6ccce71461022357806355f804b31461021e578063571dff3b14610219578063607e20e3146102145780636352211e1461020f5780636c0360eb1461020a57806370a0823114610205578063715018a6146102005780637a3f451e146101fb5780637d17fcbe146101f65780638da5cb5b146101f157806395d89b41146101ec578063a22cb465146101e7578063a723533e146101e2578063b0f67427146101dd578063b88d4fde146101d8578063bb8a16bd146101d3578063c87b56dd146101ce578063cb774d47146101c9578063e36d6498146101c4578063e985e9c5146101bf578063e9866550146101ba578063eb8d2444146101b55763f2fde38b146101b0575f80fd5b61133d565b61131b565b611253565b611203565b6111e6565b6111c9565b6111aa565b61118d565b61112d565b6110d5565b611016565b610f33565b610e8e565b610e66565b610e2d565b610e0b565b610da9565b610d03565b610cd4565b610cb6565b610c24565b610a7c565b610999565b61090d565b6108e4565b61088c565b61084d565b61079b565b610772565b61071b565b6106fe565b61060f565b61045c565b610400565b610326565b6102ab565b3461029557602036600319011261029557600a5460043590610290906001600160a01b03163314611416565b601055005b5f80fd5b6001600160e01b031981160361029557565b34610295576020366003190112610295576004356102c881610299565b60e01c63ffffffff1660e01b5f525f602052602060405f205460ff166040519015158152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9060206103239281815201906102ee565b90565b34610295575f366003190112610295576040515f60065461034681610aaa565b80845290600181169081156103dc575060011461037e575b61037a8361036e81850382610560565b60405191829182610312565b0390f35b60065f9081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f939250905b8082106103c25750909150810160200161036e61035e565b9192600181602092548385880101520191019092916103aa565b60ff191660208086019190915291151560051b8401909101915061036e905061035e565b3461029557602036600319011261029557602061041e600435611461565b6040516001600160a01b039091168152f35b600435906001600160a01b038216820361029557565b602435906001600160a01b038216820361029557565b3461029557604036600319011261029557610475610430565b602435610481816116d7565b916001600160a01b0380841690821681146104dd576104b6936104b191339081149182156104b8575b50506114de565b611aa5565b005b6104d69250906104ca6104cf9261168c565b6116be565b5460ff1690565b5f806104aa565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761055b57604052565b61052c565b601f909101601f19168101906001600160401b0382119082101761055b57604052565b6001600160401b03811161055b57601f01601f191660200190565b9291926105aa82610583565b916105b86040519384610560565b829481845281830111610295578281602093845f960137010152565b602060031982011261029557600435906001600160401b0382116102955780602383011215610295578160246103239360040135910161059e565b346102955761061d366105d4565b600a54610634906001600160a01b03163314611416565b80516001600160401b03811161055b5761065881610653600b54610aaa565b611568565b602091601f821160011461069657610686925f918361068b575b50508160011b915f199060031b1c19161790565b600b55005b015190505f80610672565b600b5f52601f198216925f5160206125545f395f51905f52915f5b8581106106e6575083600195106106ce575b505050811b01600b55005b01515f1960f88460031b161c191690555f80806106c3565b919260206001819286850151815501940192016106b1565b34610295575f366003190112610295576020600254604051908152f35b34610295575f366003190112610295576020601054604051908152f35b6060906003190112610295576004356001600160a01b038116810361029557906024356001600160a01b0381168103610295579060443590565b34610295576104b661078336610738565b916107966107918433611b06565b611626565b611c24565b34610295576040366003190112610295576107b4610430565b6024356001600160a01b039091165f90815260016020526040902080548210156107fd5761037a916107e5916120c1565b90549060031b1c604051918291829190602083019252565b60405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608490fd5b34610295575f36600319011261029557600a54610874906001600160a01b03163314611416565b600f5460ff8160ff1615169060ff191617600f555f80f35b34610295575f36600319011261029557600a545f9081908190819033906108bd906001600160a01b03168214611416565b3031908282156108db575bf1156108d057005b6040513d5f823e3d90fd5b506108fc6108c8565b34610295576104b66108f536610738565b9060405192610905602085610560565b5f8452611942565b34610295576020366003190112610295576004358060025411156109495761093761037a916120d6565b50546040519081529081906020820190565b60405162461bcd60e51b815260206004820152602260248201527f456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e604482015261647360f01b6064820152608490fd5b34610295576109a7366105d4565b600a546109be906001600160a01b03163314611416565b80516001600160401b03811161055b576109e2816109dd600954610aaa565b6115c7565b602091601f8211600114610a1457610a0f925f918361068b5750508160011b915f199060031b1c19161790565b600955005b60095f52601f198216925f5160206125345f395f51905f52915f5b858110610a6457508360019510610a4c575b505050811b01600955005b01515f1960f88460031b161c191690555f8080610a41565b91926020600181928685015181550194019201610a2f565b34610295575f36600319011261029557602060405160148152f35b634e487b7160e01b5f525f60045260245ffd5b90600182811c92168015610ad8575b6020831014610ac457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610ab9565b604051905f8260095491610af583610aaa565b8083529260018116908115610b675750600114610b1b575b610b1992500383610560565b565b5060095f90815290915f5160206125345f395f51905f525b818310610b4b575050906020610b1992820101610b0d565b6020919350806001915483858901015201910190918492610b33565b60209250610b1994915060ff191682840152151560051b820101610b0d565b9060405191825f825492610b9984610aaa565b8084529360018116908115610c025750600114610bbe575b50610b1992500383610560565b90505f9291925260205f20905f915b818310610be6575050906020610b19928201015f610bb1565b6020919350806001915483858901015201910190918492610bcd565b905060209250610b1994915060ff191682840152151560051b8201015f610bb1565b34610295575f366003190112610295576040515f600b54610c4481610aaa565b80845290600181169081156103dc5750600114610c6b5761037a8361036e81850382610560565b600b5f9081525f5160206125545f395f51905f52939250905b808210610c9c5750909150810160200161036e61035e565b919260018160209254838588010152019101909291610c84565b3461029557602036600319011261029557602061041e6004356116d7565b34610295575f3660031901126102955761037a610cef610ae2565b6040519182916020835260208301906102ee565b3461029557602036600319011261029557610d1c610430565b6001600160a01b03168015610d515760601b60601c5f52600160205261037a60405f2054604051918291829190602083019252565b60405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608490fd5b34610295575f36600319011261029557600a546001600160a01b038116610dd1338214611416565b5f9081906001600160a01b03165f5160206124f45f395f51905f528280a36001600160a01b03166001600160a01b03199190911617600a55005b34610295575f36600319011261029557602060405167011c37937e0800008152f35b34610295575f36600319011261029557600a54610e54906001600160a01b03163314611416565b610e60600d541561177b565b43600c55005b34610295575f36600319011261029557600a546040516001600160a01b039091168152602090f35b34610295575f366003190112610295576040515f600754610eae81610aaa565b80845290600181169081156103dc5750600114610ed55761037a8361036e81850382610560565b60075f9081527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688939250905b808210610f195750909150810160200161036e61035e565b919260018160209254838588010152019101909291610f01565b3461029557604036600319011261029557610f4c610430565b60243590811515820361029557339081906001600160a01b038116808314610fd557610fb485610fa3610fd0946104ca7f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319761168c565b9060ff801983541691151516179055565b60405194151585526001600160a01b0316939081906020820190565b0390a3005b60405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606490fd5b602036600319011261029557600435611039611034600f5460ff1690565b6117c7565b6110466014821115611813565b61105f61105582600254611d60565b600e541015611869565b61107361106b82611d74565b3410156118c6565b5f5b8181106110ae57600c541580611095575b61108c57005b6104b643600c55565b50600254600e5414806110865750601054421015611086565b600190600254600e5481106110c5575b5001611075565b6110cf9033611de9565b5f6110be565b34610295575f36600319011261029557600a546110fc906001600160a01b03163314611416565b6002545f5b601e811061110b57005b808201908183116111285761112260019233611de9565b01611101565b611912565b3461029557608036600319011261029557611146610430565b61114e610446565b6064359190604435906001600160401b0384116102955736602385011215610295576111876104b694369060248160040135910161059e565b92611942565b34610295575f366003190112610295576020600e54604051908152f35b346102955760203660031901126102955761037a610cef600435611982565b34610295575f366003190112610295576020600d54604051908152f35b34610295575f366003190112610295576020600c54604051908152f35b34610295576040366003190112610295576020611245611221610430565b611229610446565b6001600160a01b039091165f90815260058452604090206116be565b5460ff166040519015158152f35b34610295575f3660031901126102955761126f600d541561177b565b600c5480156112d75761128961128e91600e549040611a79565b600d55565b60ff61129c600c5443612053565b116112b9575b600d5480156112ad57005b6112896104b691611d08565b6112d26112896112c843611a97565b40600e5490611a79565b6112a2565b606460405162461bcd60e51b815260206004820152602060248201527f5374617274696e6720696e64657820626c6f636b206d757374206265207365746044820152fd5b34610295575f366003190112610295576020600f5460ff166040519015158152f35b3461029557602036600319011261029557611356610430565b600a549061136e6001600160a01b0383163314611416565b6001600160a01b03811680156113c2576104b6926001600160a01b0391821691165f5160206124f45f395f51905f525f80a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b1561141d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b61146a816121e4565b15611484575f52600460205260405f205460601b60601c90565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b156114e557565b60405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b6064820152608490fd5b916115649183549060031b91821b915f19901b19161790565b9055565b90601f8211611575575050565b808211611580575050565b600b5f5260205f206020601f830160051c92106115bf575b81601f9101920160051c03905f5b8281106115b257505050565b5f828201556001016115a6565b5f9150611598565b90601f82116115d4575050565b8082116115df575050565b60095f5260205f206020601f830160051c921061161e575b81601f9101920160051c03905f5b82811061161157505050565b5f82820155600101611605565b5f91506115f7565b1561162d57565b60405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6044820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b6064820152608490fd5b6001600160a01b03165f90815260056020526040902090565b6001600160a01b03165f90815260016020526040902090565b9060601b60601c60601b60601c5f5260205260405f2090565b604051906116e6606083610560565b602982527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460208301526832b73a103a37b5b2b760b91b60408301525f52600360205260405f205490811561175b57505f1981019081116111285761174c6001916120d6565b5001546001600160a01b031690565b60405162461bcd60e51b81529081906117779060048301610312565b0390fd5b1561178257565b60405162461bcd60e51b815260206004820152601d60248201527f5374617274696e6720696e64657820697320616c7265616479207365740000006044820152606490fd5b156117ce57565b60405162461bcd60e51b815260206004820152601f60248201527f53616c65206d7573742062652061637469766520746f206d696e7420417065006044820152606490fd5b1561181a57565b60405162461bcd60e51b815260206004820152602160248201527f43616e206f6e6c79206d696e7420323020746f6b656e7320617420612074696d6044820152606560f81b6064820152608490fd5b1561187057565b60405162461bcd60e51b815260206004820152602860248201527f507572636861736520776f756c6420657863656564206d617820737570706c79604482015267206f66204170657360c01b6064820152608490fd5b156118cd57565b60405162461bcd60e51b815260206004820152601f60248201527f45746865722076616c75652073656e74206973206e6f7420636f7272656374006044820152606490fd5b634e487b7160e01b5f52601160045260245ffd5b603001908160301161112857565b906001820180921161112857565b610b199361196b939092909161195b6107918433611b06565b611966838383611c24565b612170565b611ef0565b805191908290602001825e015f815290565b61198b816121e4565b15611a1c576119aa6119a5825f52600860205260405f2090565b610b86565b906119b3610ae2565b91825115611a165780516119f957506119e5916119eb6119d561032393611f98565b6040519485936020850190611970565b90611970565b03601f198101835282610560565b6103239150916119eb6119e5936040519485936020850190611970565b91505090565b60405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608490fd5b8115611a83570690565b634e487b7160e01b5f52601260045260245ffd5b5f1981019190821161112857565b5f82815260046020526040902080546001600160a01b0319166001600160a01b039092169182179055611ad7826116d7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4565b611b0f826121e4565b15611b7257611b1d826116d7565b6001600160a01b038281169082168114938415611b54575b50508215611b4257505090565b6103239250906104ca6104cf9261168c565b611b6091929450611461565b6001600160a01b031614915f80611b35565b60405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608490fd5b15611bd357565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b611c2d836116d7565b6001600160a01b03808316939116839003611cb1576001600160a01b03811691611c909190611c76908690611c7190611c6c835f6104b18a1515611bcc565b6116a5565b612230565b50611c8985611c84836116a5565b6122ce565b50846120ac565b506001600160a01b0390811691165f5160206125145f395f51905f525f80a4565b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608490fd5b6001810190818111611128578110611d1d5790565b60405162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b6044820152606490fd5b90810190818111611128578110611d1d5790565b8067011c37937e080000029067011c37937e08000082048082036111285703611d9a5790565b60405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608490fd5b604051611df7602082610560565b5f8082526001600160a01b038316939092838515611e6c578261196b95610b1997611e30611e2b611e27856121e4565b1590565b6123d4565b611e3d83611c84876116a5565b50611e4885846120ac565b506001600160a01b0390811691165f5160206125145f395f51905f525f80a4612170565b606460405162461bcd60e51b815260206004820152602060248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b60207131b2b4bb32b91034b6b83632b6b2b73a32b960711b917f4552433732313a207472616e7366657220746f206e6f6e20455243373231526581520152565b15611ef757565b60405162461bcd60e51b81526020600482015260326024820152608490611f2060448201611eb0565bfd5b5f1981146111285760010190565b90611f3a82610583565b611f476040519182610560565b8281528092611f58601f1991610583565b0190602036910137565b8015611128575f190190565b634e487b7160e01b5f52603260045260245ffd5b908151811015611f93570160200190565b611f6e565b908115612032575f82805b6120175750611fba611fb482611f30565b91611a97565b92805b611fc657509150565b61201190611ff2611fe2611fdc600a8406611926565b60ff1690565b60f81b6001600160f81b03191690565b94612009611fff82611f62565b965f1a9185611f82565b53600a900490565b80611fbd565b9061202461202c91611f22565b91600a900490565b80611fa3565b9050604051612042604082610560565b60018152600360fc1b602082015290565b908181116120675781039081116111285790565b60405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606490fd5b610323916001600160a01b0316906002612338565b8054821015611f93575f5260205f2001905f90565b600254811015611f935760025f5260205f209060011b01905f90565b8054821015611f93575f5260205f209060011b01905f90565b6001600160a01b039182168152911660208201526040810191909152608060608201819052610323929101906102ee565b6040519061214b606083610560565b60328252610b1960208301611eb0565b90816020910312610295575161032381610299565b91813b156121db57604051630a85bd0160e11b60208201526121c5946121b69491926121a89284926119eb929091336024860161210b565b6121b061213c565b9161241f565b6020808251830101910161215b565b6001600160e01b031916630a85bd0160e11b1490565b50505050600190565b5f52600360205260405f2054151590565b8054801561221c575f19019061220b82826120c1565b8154905f199060031b1b1916905555565b634e487b7160e01b5f52603160045260245ffd5b906001820190805f528160205260405f2054918215155f146122c6575f1983019283116111285783545f19810190811161112857846122c0946122ad61229e61227d6122b3955f9a6120c1565b90549060031b1c926122998461229383886120c1565b9061154b565b611934565b9185905f5260205260405f2090565b556121f5565b905f5260205260405f2090565b55600190565b505050505f90565b6001810190825f528160205260405f2054155f14612331578054600160401b81101561055b5761231e6123088260018794018555846120c1565b819391549060031b91821b915f19901b19161790565b905554915f5260205260405f2055600190565b5050505f90565b91906001830192815f528360205260405f205480155f146123b1575060405161236081610540565b828152602081019384528154600160401b81101561055b5780600161238892018455836120f2565b9190916123ac576122c094600191518355519101555492905f5260205260405f2090565b610a97565b92935090505f198201918211611128576001916123cd916120f2565b5001555f90565b156123db57565b60405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606490fd5b9190823b1561246e575f81610323948260208195519301915af13d15612466573d9061244a82610583565b916124586040519384610560565b82523d5f602084013e6124b3565b6060906124b3565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b909190156124bf575090565b8151156124cf5750805190602001fd5b60405162461bcd60e51b8152602060048201529081906117779060248301906102ee56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9