solc-0.8.36-fakeopcode 0xd86756dbb01e75a11aadacb75c8495759ed92033 via-ir-high-runs

9957 bytes

6080806040526004361015610012575f80fd5b5f3560e01c90816306a2da3d1461149a5750806306fdde0314611443578063077f22b714611420578063095ea7b31461139f5780630c340a241461135a57806318160ddd1461133d57806323b872dd14611214578063313ce567146111f857806339a7919f146111c557806340c10f1914611077578063430bf08a14611048578063456ee28614610ffb5780635d36b19014610e8c5780635f5a857714610e39578063609350cd14610df85780636691cb3d14610dd55780636b96be3914610d8257806370a0823114610d575780637a46a9c514610d3a5780637d0d66ff14610d1d57806395d89b4114610cc25780639d01fc72146106805780639dc29fac14610644578063a9059cbb146105c2578063baa9c9db1461054e578063c2376dff14610535578063c7af3352146104dd578063cd6dc68714610395578063d38bfff4146102bf578063dd62ed3e14610254578063e5c4fffe146101fd578063e696393a146101e0578063f51b0fd4146101c55763f9854bfc14610192575f80fd5b346101c15760206003193601126101c15760406101b56101b061172e565b611dd8565b82519182526020820152f35b5f80fd5b346101c1575f6003193601126101c1576101de336124f8565b005b346101c1575f6003193601126101c157602060a054604051908152f35b346101c15760206003193601126101c157606061021861172e565b806001600160a01b03166001600160a01b03165f52609d60205261024060405f205491612345565b604051918252602082015260016040820152f35b346101c15760406003193601126101c15760206102b661027261172e565b61027a611744565b906001600160a01b03166001600160a01b03165f52609b835260405f20906001600160a01b03166001600160a01b03165f5260205260405f2090565b54604051908152f35b346101c15760206003193601126101c1576102d861172e565b61031c6103177f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a546001600160a01b0316336001600160a01b03161490565b611d8d565b7f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db8190557f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a546001600160a01b0391821691167fa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d5f80a3005b346101c15760406003193601126101c1576103ae61172e565b6103ed6103177f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a546001600160a01b0316336001600160a01b03161490565b5f906001600160a01b0316801561049957609c54916001600160a01b03831603610455576001600160a01b037fffffffffffffffffffffffff000000000000000000000000000000000000000091602435609f556001600160a01b031616911617609c555f80f35b606460405162461bcd60e51b815260206004820152601360248201527f416c726561647920696e697469616c697a6564000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f5a65726f207661756c74206164647265737300000000000000000000000000006044820152fd5b346101c1575f6003193601126101c157602061052b7f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a546001600160a01b0316336001600160a01b03161490565b6040519015158152f35b346101c1575f6003193601126101c1576101de3361236c565b346101c15760206003193601126101c1576101de61056a61172e565b6105a96103177f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a546001600160a01b0316336001600160a01b03161490565b6105bd6001600160a01b03821615156118a0565b6124f8565b346101c15760406003193601126101c1576105db61172e565b602435906001600160a01b038116906106019083906105fb841515611967565b33611f82565b6040519182526001600160a01b03169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a3602060405160018152f35b346101c15760406003193601126101c1576101de61066061172e565b609c54610677906001600160a01b031633146119b2565b60243590611cc6565b346101c15760406003193601126101c15761069961172e565b6106a1611744565b7f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a546001600160a01b031633148015610c1b575b6106de9061182f565b5f916001600160a01b0381168015610bd757826001600160a01b0316848114610b9357808214610b4f576001600160a01b031693845f5260a56020528060405f20546001600160a01b03166001600160a01b0316149081610b2f575b81610b0c575b81610adb575b5015610a72576001600160a01b031692835f5260a260205260405f205460ff16815f5260a260205260405f205460ff1690600581101590816109d6578015918215610a65575b8215610a54575b505015610a1057600581101590816109d6578015918215610a03575b82156109c5575b505015610981578361094161093c610936610947947f31e39e4bb9df9d4143551c8a3a4798fc19b0854768570ce84d966f6adffd01a3985f5260a160205260405f205415610973575b805f5260a160205260405f2054610965575b61093061092a61082089611bdd565b9661082a8b611bdd565b93805f52609d60205261084a61084560405f2054968b611a0a565b611e42565b5f83815260a46020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16179055915f82815260a56020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038e16179055805f5260a260205260405f20600360ff19825416179055805f5260a1602052670de0b6b3a764000060405f20555f52609d6020528860405f2055805f5260a260205260405f20600460ff198254161790555f52609d6020528060405f2055611e88565b91611e88565b906118eb565b92611e88565b611c9a565b90611f37565b604080516001600160a01b03928316815292909116602083015290a1005b61096e886124f8565b610811565b61097c8761236c565b6107ff565b606460405162461bcd60e51b815260206004820152601660248201527f496e76616c696420726562617365537461746520746f000000000000000000006044820152fd5b9091506109d65760021485806107b6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b506001811491505f6107af565b606460405162461bcd60e51b815260206004820152601860248201527f496e76616c69642072656261736553746174652066726f6d00000000000000006044820152fd5b9091506109d6576002148680610793565b506001811491505f61078c565b608460405162461bcd60e51b8152602060048201526024808201527f426c6f636b6564206279206578697374696e67207969656c642064656c65676160448201527f74696f6e000000000000000000000000000000000000000000000000000000006064820152fd5b9050816001600160a01b03165f5260a460205260405f20546001600160a01b03166001600160a01b03161485610746565b6001600160a01b038084165f90815260a560205260409020541681149150610740565b5f86815260a460205260409020546001600160a01b03168114915061073a565b606460405162461bcd60e51b815260206004820152601760248201527f43616e6e6f742064656c656761746520746f2073656c660000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5a65726f20746f2061646472657373206e6f7420616c6c6f77656400000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f5a65726f2066726f6d2061646472657373206e6f7420616c6c6f7765640000006044820152fd5b50609c546040517f570d8e1d00000000000000000000000000000000000000000000000000000000815290602090829060049082906001600160a01b03165afa8015610cb7576106de915f91610c88575b506001600160a01b0316336001600160a01b03161490506106d5565b610caa915060203d602011610cb0575b610ca281836117a2565b810190611810565b84610c6c565b503d610c98565b6040513d5f823e3d90fd5b346101c1575f6003193601126101c157610d19604051610ce36040826117a2565b600481527f4f4554480000000000000000000000000000000000000000000000000000000060208201526040519182918261175a565b0390f35b346101c1575f6003193601126101c1576020609e54604051908152f35b346101c1575f6003193601126101c1576020609f54604051908152f35b346101c15760206003193601126101c1576020610d7a610d7561172e565b611bdd565b604051908152f35b346101c15760206003193601126101c157610d9b61172e565b6001600160a01b03166001600160a01b03165f5260a5602052602060405f20546001600160a01b0316604051906001600160a01b03168152f35b346101c1575f6003193601126101c1576020633b9aca00609f5404604051908152f35b346101c15760206003193601126101c157610e1161172e565b6001600160a01b03166001600160a01b03165f5260a1602052602060405f2054604051908152f35b346101c15760206003193601126101c157610e5261172e565b6001600160a01b03166001600160a01b03165f5260a4602052602060405f20546001600160a01b0316604051906001600160a01b03168152f35b346101c1575f6003193601126101c1577f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db5433906001600160a01b03168103610f91578015610f4d577f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a546001600160a01b0391821691167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a5f80a3337f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a55005b606460405162461bcd60e51b815260206004820152601a60248201527f4e657720476f7665726e6f7220697320616464726573732830290000000000006044820152fd5b608460405162461bcd60e51b815260206004820152603060248201527f4f6e6c79207468652070656e64696e6720476f7665726e6f722063616e20636f60448201527f6d706c6574652074686520636c61696d000000000000000000000000000000006064820152fd5b346101c15760206003193601126101c15761101461172e565b6001600160a01b03166001600160a01b03165f5260a260205260405f205460ff1660405160058210156109d6576020918152f35b346101c1575f6003193601126101c1576020609c546001600160a01b0316604051906001600160a01b03168152f35b346101c15760406003193601126101c15761109061172e565b609c54602435906110ab906001600160a01b031633146119b2565b5f916001600160a01b038116908115611181576109416110d4916110ce85611e88565b90611fb3565b6110e082609a54611a0a565b609a8190556fffffffffffffffffffffffffffffffff111561113d5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916040519384526001600160a01b0316936001600160a01b031692a3005b606460405162461bcd60e51b815260206004820152600a60248201527f4d617820737570706c79000000000000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601860248201527f4d696e7420746f20746865207a65726f206164647265737300000000000000006044820152fd5b346101c15760206003193601126101c157609c546111ed906001600160a01b031633146119b2565b6101de600435611a17565b346101c1575f6003193601126101c15760405160128152602090f35b346101c15760606003193601126101c15761122d61172e565b611235611744565b604435916001600160a01b0382169161124f831515611967565b6001600160a01b0382165f818152609b60209081526040808320338452909152902090939054928386116112f957856020936112dd92827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef97895f52609b8852036112d73360405f20906001600160a01b03166001600160a01b03165f5260205260405f2090565b55611f82565b6040519485526001600160a01b031693a3602060405160018152f35b606460405162461bcd60e51b815260206004820152601260248201527f416c6c6f77616e636520657863656564656400000000000000000000000000006044820152fd5b346101c1575f6003193601126101c1576020609a54604051908152f35b346101c1575f6003193601126101c15760207f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a54604051906001600160a01b03168152f35b346101c15760406003193601126101c1576113b861172e565b335f818152609b602090815260408083206001600160a01b03861684528252909120602435937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92592918590556040519485526001600160a01b031693a3602060405160018152f35b346101c1575f6003193601126101c1576020633b9aca00609e5404604051908152f35b346101c1575f6003193601126101c157610d196040516114646040826117a2565b600c81527f4f726967696e204574686572000000000000000000000000000000000000000060208201526040519182918261175a565b346101c15760206003193601126101c1576114b361172e565b7f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a546001600160a01b03163314918215611681575b506115137fa4fa89dd14422a509261a2d4d459f93abdc84c6e92c5e7ae5448243713967bd39261182f565b6001600160a01b038082165f81815260a460205260408120549193926109479261153f911615156118a0565b835f5260a460205261094161092a60405f20546001600160a01b03169561093061092a61156b88611bdd565b956115758a611bdd565b938a6001600160a01b03166001600160a01b031690815f52609d6020526116346115a360405f205497611e42565b5f84815260a56020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03871617905593825f5260a460205260405f20906001600160a01b037fffffffffffffffffffffffff0000000000000000000000000000000000000000835416916001600160a01b03166001600160a01b031616179055565b805f5260a260205260405f20600160ff198254161790555f52609d6020528760405f2055805f5260a260205260405f20600260ff198254161790555f52609d6020528060405f2055611e88565b609c547f570d8e1d000000000000000000000000000000000000000000000000000000008252909250602090839060049082906001600160a01b03165afa918215610cb7577fa4fa89dd14422a509261a2d4d459f93abdc84c6e92c5e7ae5448243713967bd392611513915f9161170f575b506001600160a01b0316336001600160a01b03161492506114e8565b611728915060203d602011610cb057610ca281836117a2565b846116f3565b60043590816001600160a01b031682036101c157565b60243590816001600160a01b031682036101c157565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176117e357604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b908160209103126101c15751806001600160a01b031681036101c15790565b1561183657565b608460405162461bcd60e51b815260206004820152602860248201527f43616c6c6572206973206e6f74207468652053747261746567697374206f722060448201527f476f7665726e6f720000000000000000000000000000000000000000000000006064820152fd5b156118a757565b606460405162461bcd60e51b815260206004820152601860248201527f5a65726f2061646472657373206e6f7420616c6c6f77656400000000000000006044820152fd5b81810392915f13801582851316918412161761190357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b811561193a570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b1561196e57565b606460405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220746f207a65726f206164647265737300000000000000006044820152fd5b156119b957565b606460405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865205661756c740000000000000000006044820152fd5b9190820391821161190357565b9190820180921161190357565b609a548015611b9957818114611b5357506fffffffffffffffffffffffffffffffff9081811115611b4c57505b80609a55611a5460a054826119fd565b609e5490670de0b6b3a76400008202828104670de0b6b3a764000014831517156119035781611a8291611a0a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820191821161190357611ab691611930565b9182609f558215611b0857611b037f41645eb819d3011b13f97696a8109d14bfcddfaca7d063ec0564d62a3e25723593604051938493846040919493926060820195825260208201520152565b0390a1565b606460405162461bcd60e51b815260206004820152601860248201527f496e76616c6964206368616e676520696e20737570706c7900000000000000006044820152fd5b9050611a44565b609e54609f54604080519384526020840192909252908201527f41645eb819d3011b13f97696a8109d14bfcddfaca7d063ec0564d62a3e25723591508060608101611b03565b606460405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420696e637265617365203020737570706c7900000000000000006044820152fd5b6001600160a01b0381165f81815260a2602052604090205460ff169160058310156109d65760038314611c8857815f52609d60205260405f205490670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561190357600491611c48611c4e92612345565b90611930565b9214611c58575090565b5f90815260a560209081526040808320546001600160a01b03168352609d909152902054611c85916119fd565b90565b5090505f52609d60205260405f205490565b7f80000000000000000000000000000000000000000000000000000000000000008114611903575f0390565b6001600160a01b03811691905f908315611d49578215611d43577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91611d176109416020936110ce61093c88611e88565b611d2384609a546119fd565b609a556040519384526001600160a01b0316936001600160a01b031692a3565b50505050565b606460405162461bcd60e51b815260206004820152601a60248201527f4275726e2066726f6d20746865207a65726f20616464726573730000000000006044820152fd5b15611d9457565b606460405162461bcd60e51b815260206004820152601a60248201527f43616c6c6572206973206e6f742074686520476f7665726e6f720000000000006044820152fd5b90611de282612345565b916b033b2e3c9fd0803ce80000008303611e18576001600160a01b03166001600160a01b03165f52609d60205260405f20549190565b6001600160a01b03166001600160a01b03165f52609d602052633b9aca008060405f205404920490565b609f549081810291818304149015171561190357670de0b6b3a764000081019081811161190357670de0b6b3a763ffff0190811161190357670de0b6b3a7640000900490565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111611eb25790565b608460405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e743235360000000000000000000000000000000000000000000000006064820152fd5b9190915f838201938412911290801582169115161761190357565b80611f67575b5080611f465750565b611f5d611f6291611f5860a054611e88565b611f1c565b612697565b60a055565b611f5d611f7991611f58609e54611e88565b609e555f611f3d565b611fb192611fab611fab6110ce94611fa3610941956110ce61093c87611e88565b969094611e88565b92611f1c565b565b90915f915f92816001600160a01b03166001600160a01b031694855f5260a260205260405f205460ff1692611fef611fea82611bdd565b611e88565b5f611ffa8483611f1c565b1261230157611f5d8361200c92611f1c565b9360058110156109d6576003810361209e5750505050835f5260a460205260405f20546001600160a01b031661204d6108458361204884611bdd565b611a0a565b9161208361205a84611e88565b926001600160a01b03166001600160a01b031692835f52609d60205261093060405f2054611e88565b955f52609d60205260405f20555f52609d60205260405f2055565b600403612119575050506108456120e991855f5260a560205260405f20546001600160a01b03166001600160a01b03166001600160a01b03165f52609d60205260405f205490611a0a565b61210a6120f582611e88565b855f52609d60205261093060405f2054611e88565b935f52609d60205260405f2055565b809692963b80159081156121f4575b5015806121d4575b806121c0575b6121b1575b505f82815260a160205260409020549485156121a35750937ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000001612188575b5f52609d60205260405f2055565b805f5260a1602052670de0b6b3a764000060405f205561217a565b94505093506120e990611e42565b6121ba9061236c565b5f61213b565b50825f5260a160205260405f205415612136565b50825f5260a260205260405f205460ff1660058110156109d65715612130565b601791501480612205575b5f612128565b50803b67ffffffffffffffff81116117e35760405161224c601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016602001826117a2565b81815260208101915f83853c5190517fffffff00000000000000000000000000000000000000000000000000000000001690600381106122d1575b507fffffff0000000000000000000000000000000000000000000000000000000000167fef01000000000000000000000000000000000000000000000000000000000000146121ff565b7fffffff00000000000000000000000000000000000000000000000000000000009060030360031b1b165f612287565b606460405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e7420657863656564732062616c616e6365006044820152fd5b6001600160a01b03165f90815260a1602052604090205480156123655790565b50609f5490565b6001600160a01b0381165f81815260a1602052604090205481906124b457815f5260a260205260405f205460ff1660058110156109d657600281149081156124ab575b5015612441576124388261094161092a61093c7f201ace89ad3f5ab7428b91989f6a50d1998791c7b94a0fa812fd64a57687165e976020975f52609d88526123fb60405f205491611bdd565b94805f5260a2895260405f20600160ff19825416179055805f5260a18952670de0b6b3a764000060405f20555f52609d88528460405f2055611e88565b604051908152a1565b608460405162461bcd60e51b815260206004820152602b60248201527f4f6e6c79207374616e64617264207265626173696e67206163636f756e74732060448201527f63616e206f7074206f75740000000000000000000000000000000000000000006064820152fd5b9050155f6123af565b606460405162461bcd60e51b815260206004820152601860248201527f4163636f756e74206d757374206265207265626173696e6700000000000000006044820152fd5b61250181611bdd565b906001600160a01b031690816001600160a01b031691825f5260a160205260405f205415801590612683575b1561263f57825f5260a260205260405f205460ff1660058110156109d65760018114908115612636575b50156125cc576124388261094161093c6109367f19a249fa2050bac8314ac10e3ad420bd9825574bf750f58810c3c7adfc7b1c6f97612597602098611e42565b90805f5260a2895260405f20600260ff19825416179055805f5260a189525f60408120555f52609d88528060405f2055611e88565b608460405162461bcd60e51b815260206004820152602e60248201527f4f6e6c79207374616e64617264206e6f6e2d7265626173696e67206163636f7560448201527f6e74732063616e206f707420696e0000000000000000000000000000000000006064820152fd5b9050155f612557565b606460405162461bcd60e51b815260206004820152601c60248201527f4163636f756e74206d757374206265206e6f6e2d7265626173696e67000000006044820152fd5b50825f52609d60205260405f20541561252d565b5f81126126a15790565b606460405162461bcd60e51b815260206004820152602060248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152fd