[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_maxTxAmount", "type": "uint256" } ], "name": "MaxTxAmountUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "VERSION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxTaxSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWalletSize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_taxSwapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "description", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "discordLink", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner_", "type": "address" }, { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "uint256", "name": "totalSupply", "type": "uint256" }, { "internalType": "string", "name": "logoLink", "type": "string" }, { "internalType": "string", "name": "twitterLink", "type": "string" }, { "internalType": "string", "name": "telegramLink", "type": "string" }, { "internalType": "string", "name": "discordLink", "type": "string" }, { "internalType": "string", "name": "websiteLink", "type": "string" }, { "internalType": "uint256", "name": "maxTxAmount", "type": "uint256" }, { "internalType": "uint256", "name": "maxWalletSize", "type": "uint256" }, { "internalType": "uint256", "name": "taxSwapThreshold", "type": "uint256" }, { "internalType": "uint256", "name": "maxTaxSwap", "type": "uint256" }, { "internalType": "uint256", "name": "initialBuyTax", "type": "uint256" }, { "internalType": "uint256", "name": "initialSellTax", "type": "uint256" }, { "internalType": "uint256", "name": "finalBuyTax", "type": "uint256" }, { "internalType": "uint256", "name": "finalSellTax", "type": "uint256" }, { "internalType": "uint256", "name": "reduceBuyTaxAt", "type": "uint256" }, { "internalType": "uint256", "name": "reduceSellTaxAt", "type": "uint256" }, { "internalType": "uint256", "name": "noSwapBefore", "type": "uint256" }, { "internalType": "string", "name": "description", "type": "string" } ], "internalType": "struct TokenMetadata", "name": "tokenMetadata", "type": "tuple" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "logoLink", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "uniswapV2Router", "type": "address" }, { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "openTrading", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "telegramLink", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transferDelayEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "twitterLink", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "websiteLink", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60808060405234620000e15760ff19806015541660155560006016556017541660175563ffffff0019602054166020557ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c16620000d257506001600160401b036002600160401b0319828216016200008c575b60405161404a9081620000e78239f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a13880806200007c565b63f92ee8a960e01b8152600490fd5b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816304837ead14612e175750806306fdde0314612d51578063079219d514612c8b578063095ea7b314612c475780630faee56f14612c0b57806318160ddd14612bcf57806321b2530f1461141a57806323b872dd14611389578063313ce5671461134a57806336c8694014611284578063395093511461120e57806351bc3c851461115357806370a08231146110ee5780637141a03b14611028578063715018a614610f6a5780637284e41614610ea4578063751039fc14610de25780637d1db4a514610da6578063816e817914610ce05780638da5cb5b14610c6f5780638f9a55c014610c3357806395d89b4114610b14578063a457c2d714610a97578063a9059cbb14610a48578063bf474bed14610a0c578063c56af465146102fb578063c876d0b9146102ba578063dd62ed3e1461023d578063f2fde38b146101f4578063ffa1ad74146101ba5763ffb54a991461017457600080fd5b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557602060ff601054166040519015158152f35b600080fd5b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557602060405160018152f35b346101b55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55761023b61022e612ff0565b610236613da6565b61315c565b005b346101b55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610274612ff0565b61027c613013565b9073ffffffffffffffffffffffffffffffffffffffff8091166000526001602052604060002091166000526020526020604060002054604051908152f35b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557602060ff601554166040519015158152f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55761032d612ff0565b602480359061033a613da6565b60109260ff8454166109ae57600554831161092a57604051927f23b872dd000000000000000000000000000000000000000000000000000000008452336004850152308385015280604485015260209384816064816000305af19081156106ab5760009161090d575b50156108b057341561082d5761041273ffffffffffffffffffffffffffffffffffffffff9186547fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff008660081b169116178755833061321f565b80855460081c166040517fc45a01550000000000000000000000000000000000000000000000000000000081528581600481855afa80156106ab578391600091610810575b5016604051917fad5c464800000000000000000000000000000000000000000000000000000000928381528781600481855afa9081156106ab576104f59189916000916107f3575b506040517fe6a4390500000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116602482015291829081906044820190565b0381865afa9081156106ab57889186916000916107d6575b5016937fffffffffffffffffffffffff00000000000000000000000000000000000000009480866011541617601155156106e6575b505050505080855460081c1691606047306000526000875260c4604060002054857f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054169260405197889485937ff305d7190000000000000000000000000000000000000000000000000000000085523060048601528b850152600060448501526000606485015260848401524260a48401525af19283156106ab5785936106b7575b50604490600083601154167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60405197889687957f095ea7b30000000000000000000000000000000000000000000000000000000087521660048601528401525af180156106ab5761067d575b82547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001178355005b8161069c92903d106106a4575b6106948183612f49565b810190613118565b508180610652565b503d61068a565b6040513d6000823e3d90fd5b6060809294503d83116106df575b6106cf8183612f49565b810103126101b5578391866105e5565b503d6106c5565b60046040518094819382525afa9081156106ab5760009288926107639285916107b9575b506040517fc9c6539600000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116602482015293849283919082906044820190565b03925af180156106ab57839160009161078c575b50169060115416176011558580808681610542565b6107ac9150873d89116107b2575b6107a48183612f49565b810190613130565b88610777565b503d61079a565b6107d09150843d86116107b2576107a48183612f49565b8b61070a565b6107ed9150833d85116107b2576107a48183612f49565b8b61050d565b61080a9150823d84116107b2576107a48183612f49565b8b61049f565b6108279150873d89116107b2576107a48183612f49565b88610457565b608484602185604051927f08c379a000000000000000000000000000000000000000000000000000000000845260048401528201527f45544820616d6f756e74206d7573742062652067726561746572207468616e2060448201527f30000000000000000000000000000000000000000000000000000000000000006064820152fd5b606484601585604051927f08c379a000000000000000000000000000000000000000000000000000000000845260048401528201527f546f6b656e207472616e73666572206661696c656400000000000000000000006044820152fd5b6109249150853d87116106a4576106948183612f49565b866103a3565b6084826021604051917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401528201527f546f6b656e20616d6f756e74206578636565647320746f74616c20737570706c60448201527f79000000000000000000000000000000000000000000000000000000000000006064820152fd5b6064826017604051917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401528201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152fd5b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576020600854604051908152f35b346101b55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610a8c610a82612ff0565b60243590336133f9565b602060405160018152f35b346101b55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610a8c610ad1612ff0565b336000526001602052604060002073ffffffffffffffffffffffffffffffffffffffff8216600052602052610b0d6024356040600020546130fe565b903361321f565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576040516000600354610b5481612eda565b80845290602090600190818116908115610beb5750600114610b91575b610b8d85610b8181870382612f49565b60405191829182612f8a565b0390f35b6003600090815293507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b838510610bd857505050508101602001610b8182610b8d610b71565b8054868601840152938201938101610bbc565b869550610b8d96935060209250610b819491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b8201019293610b71565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576020600754604051908152f35b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557602073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416604051908152f35b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576040516000600b54610d2081612eda565b80845290602090600190818116908115610beb5750600114610d4c57610b8d85610b8181870382612f49565b600b600090815293507f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b838510610d9357505050508101602001610b8182610b8d610b71565b8054868601840152938201938101610d77565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576020600654604051908152f35b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610e19613da6565b7f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf602060055480600655806007557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006015541660155563010000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff835416178255604051908152a1005b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576040516000600a54610ee481612eda565b80845290602090600190818116908115610beb5750600114610f1057610b8d85610b8181870382612f49565b600a600090815293507fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85b838510610f5757505050508101602001610b8182610b8d610b71565b8054868601840152938201938101610f3b565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610fa1613da6565b600073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993008054907fffffffffffffffffffffffff000000000000000000000000000000000000000082169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576040516000600c5461106881612eda565b80845290602090600190818116908115610beb575060011461109457610b8d85610b8181870382612f49565b600c600090815293507fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c75b8385106110db57505050508101602001610b8182610b8d610b71565b80548686018401529382019381016110bf565b346101b55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55773ffffffffffffffffffffffffffffffffffffffff61113a612ff0565b1660005260006020526020604060002054604051908152f35b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b55773ffffffffffffffffffffffffffffffffffffffff60155460081c1633036101b557306000526000602052604060002054806111cb575b5047806111c257005b61023b90613d6b565b6112017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff91610100836020541617602055613b7f565b60205416602055806111b9565b346101b55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610a8c611248612ff0565b336000526001602052604060002073ffffffffffffffffffffffffffffffffffffffff8216600052602052610b0d60243560406000205461310b565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576040516000600d546112c481612eda565b80845290602090600190818116908115610beb57506001146112f057610b8d85610b8181870382612f49565b600d600090815293507fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb55b83851061133757505050508101602001610b8182610b8d610b71565b805486860184015293820193810161131b565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557602060ff60045416604051908152f35b346101b55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610a8c6113c3612ff0565b6114126113ce613013565b6113dc6044358092856133f9565b73ffffffffffffffffffffffffffffffffffffffff831660005260016020526040600020336000526020526040600020546130fe565b90339061321f565b346101b5577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126101b557611452612ff0565b67ffffffffffffffff602435116101b5576102a08092602435360301126101b55760405191820182811067ffffffffffffffff821117612033576040526024356004013567ffffffffffffffff81116101b5576114b790600436916024350101613036565b825260248035013567ffffffffffffffff81116101b5576114e090600436916024350101613036565b60208301526044602435013560ff811681036101b5576040830152602435606481013560608401526084013567ffffffffffffffff81116101b55761152d90600436916024350101613036565b608083015260a4602435013567ffffffffffffffff81116101b55761155a90600436916024350101613036565b60a083015260c4602435013567ffffffffffffffff81116101b55761158790600436916024350101613036565b60c083015260e4602435013567ffffffffffffffff81116101b5576115b490600436916024350101613036565b60e0830152610104602435013567ffffffffffffffff81116101b5576115e290600436916024350101613036565b6101008301526024356101248101356101208401526101448101356101408401526101648101356101608401526101848101356101808401526101a48101356101a08401526101c48101356101c08401526101e48101356101e084015261020481013561020084015261022481013561022084015261024481013561024084015261026481013561026084015267ffffffffffffffff61028490910135116101b55761169a3660243561028481013501600401613036565b6102808301527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549167ffffffffffffffff83161580612bc1575b600167ffffffffffffffff8516149081612bb7575b159081612bae575b50612b845760017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005560ff8360401c1615612b2f575b805192835167ffffffffffffffff81116120335761176b600254612eda565b601f8111612a90575b506020601f82116001146129af5781929394956000926129a4575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176002555b602082015192835167ffffffffffffffff8111612033576117e4600354612eda565b601f8111612905575b506020601f8211600114612824578192939495600092612819575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916176003555b60ff6040840151167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006004541617600455608083015192835167ffffffffffffffff81116120335761188e600b54612eda565b601f811161277a575b506020601f821160011461269957819293949560009261268e575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617600b555b60a081015192835167ffffffffffffffff811161203357611907600c54612eda565b601f81116125ef575b506020601f821160011461250e578192939495600092612503575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617600c555b60c082015192835167ffffffffffffffff811161203357611980600d54612eda565b601f8111612464575b506020601f8211600114612383578192939495600092612378575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617600d555b60e083015192835167ffffffffffffffff8111612033576119f9600e54612eda565b601f81116122d9575b506020601f82116001146121f85781929394956000926121ed575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617600e555b61010081015192835167ffffffffffffffff811161203357611a73600f54612eda565b601f811161214e575b506020601f821160011461206d578192939495600092612062575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617600f555b61028082015192835167ffffffffffffffff811161203357611aed600a54612eda565b601f8111611f94575b506020601f8211600114611eb3578192939495600092611ea8575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c191617600a555b611ba2610120840151611b6660ff6004541691611b60836130ab565b906130eb565b600655611b7b610140860151611b60836130ab565b600755611b90610160860151611b60836130ab565b600855611b60610180860151916130ab565b6009556101a08301516018556101c08301516019556101e0830151601a55610200830151601b55610220830151601c55610240830151601d55610260830151601e55611bec613e16565b611bf4613e16565b611bfd3361315c565b611c05613da6565b611c0e8161315c565b73ffffffffffffffffffffffffffffffffffffffff907f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300611c5f606084835416960151611b6060ff600454166130ab565b918515611e4a5760ff9560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602086611c9c899860055461310b565b600555848452838252611cb381604086205461310b565b8585528483526040852055604051908152a37fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff006015549260081b1691161760155554166000526012602052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905530600052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905560155460081c16600052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905560401c1615611db757005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b015190508580611b11565b600a6000527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89060005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084168110611f7c5750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0811610611f45575b505050811b01600a55611b44565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080611f37565b9091602060018192858b015181550193019101611edd565b600a600052601f820160051c7fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8016020831061200c575b601f820160051c7fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80181106120005750611af6565b60008155600101611fcb565b507fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8611fcb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b015190508580611a97565b600f6000527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8029060005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841681106121365750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08116106120ff575b505050811b01600f55611aca565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558580806120f1565b9091602060018192858b015181550193019101612097565b600f600052601f820160051c7f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80201602083106121c6575b601f820160051c7f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020181106121ba5750611a7c565b60008155600101612185565b507f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802612185565b015190508580611a1d565b600e6000527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd9060005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841681106122c15750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081161061228a575b505050811b01600e55611a50565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c1916905585808061227c565b9091602060018192858b015181550193019101612222565b600e600052601f820160051c7fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0160208310612351575b601f820160051c7fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0181106123455750611a02565b60008155600101612310565b507fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd612310565b0151905085806119a4565b600d6000527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb59060005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08416811061244c5750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0811610612415575b505050811b01600d556119d7565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080612407565b9091602060018192858b0151815501930191016123ad565b600d600052601f820160051c7fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb501602083106124dc575b601f820160051c7fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50181106124d05750611989565b6000815560010161249b565b507fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb561249b565b01519050858061192b565b600c6000527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c79060005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841681106125d75750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08116106125a0575b505050811b01600c5561195e565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080612592565b9091602060018192858b015181550193019101612538565b600c600052601f820160051c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70160208310612667575b601f820160051c7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701811061265b5750611910565b60008155600101612626565b507fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7612626565b0151905085806118b2565b600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db99060005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841681106127625750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081161061272b575b505050811b01600b556118e5565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c1916905585808061271d565b9091602060018192858b0151815501930191016126c3565b600b600052601f820160051c7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901602083106127f2575b601f820160051c7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90181106127e65750611897565b600081556001016127b1565b507f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db96127b1565b015190508580611808565b60036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9060005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0841681106128ed5750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08116106128b6575b505050811b0160035561183b565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c191690558580806128a8565b9091602060018192858b01518155019301910161284e565b6003600052601f820160051c7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b016020831061297d575b601f820160051c7fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01811061297157506117ed565b6000815560010161293c565b507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b61293c565b01519050858061178f565b60026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9060005b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe084168110612a785750600193949596837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0811610612a41575b505050811b016002556117c2565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080612a33565b9091602060018192858b0151815501930191016129d9565b6002600052601f820160051c7f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0160208310612b08575b601f820160051c7f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace018110612afc5750611774565b60008155600101612ac7565b507f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace612ac7565b680100000000000000017fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000008416177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561174c565b60046040517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b905015846116f2565b303b1591506116ea565b5060ff8360401c16156116d5565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576020600554604051908152f35b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576020600954604051908152f35b346101b55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b557610a8c612c81612ff0565b602435903361321f565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576040516000600f54612ccb81612eda565b80845290602090600190818116908115610beb5750600114612cf757610b8d85610b8181870382612f49565b600f600090815293507f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8025b838510612d3e57505050508101602001610b8182610b8d610b71565b8054868601840152938201938101612d22565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576040516000600254612d9181612eda565b80845290602090600190818116908115610beb5750600114612dbd57610b8d85610b8181870382612f49565b6002600090815293507f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b838510612e0457505050508101602001610b8182610b8d610b71565b8054868601840152938201938101612de8565b346101b55760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101b5576000600e54612e5481612eda565b80845290602090600190818116908115610beb5750600114612e8057610b8d85610b8181870382612f49565b600e600090815293507fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd5b838510612ec757505050508101602001610b8182610b8d610b71565b8054868601840152938201938101612eab565b90600182811c92168015612f23575b6020831014612ef457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691612ee9565b6040810190811067ffffffffffffffff82111761203357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761203357604052565b60208082528251818301819052939260005b858110612fdc575050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b818101830151848201604001528201612f9c565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101b557565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101b557565b81601f820112156101b55780359067ffffffffffffffff8211612033576040519261308960207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8601160185612f49565b828452602083830101116101b557816000926020809301838601378301015290565b60ff16604d81116130bc57600a0a90565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818102929181159184041417156130bc57565b919082039182116130bc57565b919082018092116130bc57565b908160209103126101b5575180151581036101b55790565b908160209103126101b5575173ffffffffffffffffffffffffffffffffffffffff811681036101b55790565b73ffffffffffffffffffffffffffffffffffffffff8091169081156131ee577f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805490837fffffffffffffffffffffffff00000000000000000000000000000000000000008316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b60246040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152fd5b73ffffffffffffffffffffffffffffffffffffffff809116918215613311571691821561328d5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b1561339b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff809116918215613afb57818116938415613a775780156139f3576000916001847f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054168087141590816139e8575b5061355f575b50507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92508161352091602093613529575b85600052600084526134bf816040600020546134ba6134b1613fc2565b82841115613ffb565b6130fe565b8660005260008552604060002055866000526134ba6040600020546135046134e5613fc2565b916134f4858711159384613ffb565b6134fe86866130fe565b90613f4f565b896000526000875260406000205561351a613fc2565b90613ffb565b604051908152a3565b306000526000845261354082604060002054613f4f565b30600052600085526040600020556040518281528686863093a3613494565b60ff93919394602092868454166000146139da576135806064915b86613e6f565b613588613f16565b500494866015541661390a575b81601154168814806138f9575b806138e2575b613792575b50917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95613520949260209694601154168a14808091613788575b6136f1575b306000526000845260406000205491845493808560081c161592836136e9575b50826136db575b50816136cf575b816136c1575b816136b9575b50613639575b50505091819350613462565b60095490818111156136b257505b808411156136a857613683905b6101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff809416178455613b7f565b815416905547613696575b38808061362d565b61369f47613d6b565b4360165561368e565b5061368383613654565b9050613647565b905038613627565b601f54601e54109150613621565b6008548311915061361b565b601085901c16915038613614565b92503861360d565b9450613701600654851115613394565b601f54601d54101561377b57606461371b601b5486613e6f565b613723613f16565b5004948960005260138452604060002054428114908115613772575b50613769575b82601754168061375e575b156135ed57600091506135ed565b506016544314613750565b60009150613745565b9050153861373f565b606461371b60195461357a565b50308a14156135e8565b93919450916137a5600654831115613394565b87600052600081526137bc8260406000205461310b565b6007541061388457601f5493601e548510613879575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84146130bc577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9560209560016135209601601f55896000526013835242604060002055601f54601c541060001461386c576064613854601a5486613e6f565b61385c613f16565b50049650929450959290926135ad565b606461385460185461357a565b3b6101b557386137d2565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152fd5b5088600052601284528660406000205416156135a8565b508160105460081c168914156135a2565b8160105460081c16891415806139cc575b1561359557326000526014845260406000205443111561394957326000526014845243604060002055613595565b608484604051907f08c379a000000000000000000000000000000000000000000000000000000000825260048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60448201527f7765642e000000000000000000000000000000000000000000000000000000006064820152fd5b50816011541689141561391b565b50606461358060185461357a565b90508714153861345c565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f00000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b8015613d6857602060ff81541615613d6457604090815192606084019167ffffffffffffffff9285811084821117612033578452600285528085019084368337855115613d0b5730825273ffffffffffffffffffffffffffffffffffffffff928360105460081c16918651927fad5c46480000000000000000000000000000000000000000000000000000000084528184600481845afa938415613d5957600094613d3a575b5088519360019460011015613d0b57613c4691878592168a8c01523061321f565b8460105460081c1694853b156101b55791879894939198519889957f791ac94700000000000000000000000000000000000000000000000000000000875260a487019260048801526000602488015260a060448801525180925260c4860194936000905b838210613cf1575050505050509181600081819530606483015242608483015203925af18015613ce657613cdd57505050565b82116120335752565b82513d6000823e3d90fd5b8551811687528b9750958201959482019490840190613caa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b613d52919450823d84116107b2576107a48183612f49565b9238613c25565b88513d6000823e3d90fd5b5050565b50565b60008080809373ffffffffffffffffffffffffffffffffffffffff60155460081c16828215613d9d575bf1156106ab57565b506108fc613d95565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054163303613de657565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615613e4557565b60046040517fd7e6bcf8000000000000000000000000000000000000000000000000000000008152fd5b908115613f0f57613e8081836130eb565b91820403613e8b5790565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f77000000000000000000000000000000000000000000000000000000000000006064820152fd5b5050600090565b60405190613f2382612f2d565b601a82527f536166654d6174683a206469766973696f6e206279207a65726f0000000000006020830152565b90613f5a908261310b565b908110613f645790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152fd5b60405190613fcf82612f2d565b601e82527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006020830152565b156140035750565b614039906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260048301612f8a565b0390fdfea164736f6c6343000818000a