[ { "inputs": [ { "internalType": "address", "name": "dex_", "type": "address" }, { "internalType": "uint256", "name": "d", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": true, "internalType": "address", "name": "sniper", "type": "address" } ], "name": "BoughtEarly", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [], "name": "ManualNukeLP", "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": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "tokensSwapped", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "ethReceived", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "tokensIntoLiquidity", "type": "uint256" } ], "name": "SwapAndLiquify", "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" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "devWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "marketingWalletUpdated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "pair_", "type": "address" } ], "name": "addPair", "outputs": [], "stateMutability": "nonpayable", "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": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "deadAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "devWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableTransferDelay", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableEarlySellTax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_addresses", "type": "address[]" }, { "internalType": "uint256", "name": "_out", "type": "uint256" } ], "name": "execute", "outputs": [], "stateMutability": "nonpayable", "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": "add_", "type": "address" } ], "name": "isExcludedFromMaxTransaction", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastLpBurnTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastManualLpBurnTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpBurnEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lpBurnFrequency", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualBurnFrequency", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" } ], "name": "manualBurnLiquidityPairTokens", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransactionAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "percentForLPBurn", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_frequencyInSeconds", "type": "uint256" }, { "internalType": "uint256", "name": "_percent", "type": "uint256" }, { "internalType": "bool", "name": "_Enabled", "type": "bool" } ], "name": "setAutoLPBurnSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "onoff", "type": "bool" } ], "name": "setEarlySellTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "updAds", "type": "address[]" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "swap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForDev", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForMarketing", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "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": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateDevWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newMarketingWallet", "type": "address" } ], "name": "updateMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTxnAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60a06040526019600f55611c206011556107086012556001601560016101000a81548160ff0219169083151502179055506001601560026101000a81548160ff0219169083151502179055505f601560036101000a81548160ff0219169083151502179055506001601560046101000a81548160ff0219169083151502179055506001601560056101000a81548160ff0219169083151502179055505f601560066101000a81548160ff021916908315150217905550348015620000c1575f80fd5b5060405162005b5d38038062005b5d8339818101604052810190620000e791906200069c565b816040518060400160405280600a81526020017f5472756d7020466f726b000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f544f524b0000000000000000000000000000000000000000000000000000000081525081600490816200016591906200093c565b5080600590816200017791906200093c565b5050505f6200018b620003ec60201b60201c565b90508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250505f620002c6620003f360201b60201c565b600a620002d4919062000ba9565b6461f313f880620002e6919062000bf9565b905082600182620002f8919062000bf9565b62000304919062000c70565b600c81905550826001826200031a919062000bf9565b62000326919062000c70565b600e819055506127106005826200033e919062000bf9565b6200034a919062000c70565b600d8190555033600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003e23382620003fb60201b60201c565b5050505062000df9565b5f33905090565b5f6009905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200046c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004639062000d05565b60405180910390fd5b6200047f5f83836200059860201b60201c565b62000496816003546200059d60201b90919060201c565b600381905550620004ed815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546200059d60201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200058c919062000d36565b60405180910390a35050565b505050565b5f808284620005ad919062000d51565b905083811015620005f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005ec9062000dd9565b60405180910390fd5b8091505092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200062e8262000603565b9050919050565b620006408162000622565b81146200064b575f80fd5b50565b5f815190506200065e8162000635565b92915050565b5f819050919050565b620006788162000664565b811462000683575f80fd5b50565b5f8151905062000696816200066d565b92915050565b5f8060408385031215620006b557620006b4620005ff565b5b5f620006c4858286016200064e565b9250506020620006d78582860162000686565b9150509250929050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200075d57607f821691505b60208210810362000773576200077262000718565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620007d77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200079a565b620007e386836200079a565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620008246200081e620008188462000664565b620007fb565b62000664565b9050919050565b5f819050919050565b6200083f8362000804565b620008576200084e826200082b565b848454620007a6565b825550505050565b5f90565b6200086d6200085f565b6200087a81848462000834565b505050565b5b81811015620008a157620008955f8262000863565b60018101905062000880565b5050565b601f821115620008f057620008ba8162000779565b620008c5846200078b565b81016020851015620008d5578190505b620008ed620008e4856200078b565b8301826200087f565b50505b505050565b5f82821c905092915050565b5f620009125f1984600802620008f5565b1980831691505092915050565b5f6200092c838362000901565b9150826002028217905092915050565b6200094782620006e1565b67ffffffffffffffff811115620009635762000962620006eb565b5b6200096f825462000745565b6200097c828285620008a5565b5f60209050601f831160018114620009b2575f84156200099d578287015190505b620009a985826200091f565b86555062000a18565b601f198416620009c28662000779565b5f5b82811015620009eb57848901518255600182019150602085019450602081019050620009c4565b8683101562000a0b578489015162000a07601f89168262000901565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000aaa5780860481111562000a825762000a8162000a20565b5b600185161562000a925780820291505b808102905062000aa28562000a4d565b945062000a62565b94509492505050565b5f8262000ac4576001905062000b96565b8162000ad3575f905062000b96565b816001811462000aec576002811462000af75762000b2d565b600191505062000b96565b60ff84111562000b0c5762000b0b62000a20565b5b8360020a91508482111562000b265762000b2562000a20565b5b5062000b96565b5060208310610133831016604e8410600b841016171562000b675782820a90508381111562000b615762000b6062000a20565b5b62000b96565b62000b76848484600162000a59565b9250905081840481111562000b905762000b8f62000a20565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000bb58262000664565b915062000bc28362000b9d565b925062000bf17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ab3565b905092915050565b5f62000c058262000664565b915062000c128362000664565b925082820262000c228162000664565b9150828204841483151762000c3c5762000c3b62000a20565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000c7c8262000664565b915062000c898362000664565b92508262000c9c5762000c9b62000c43565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000ced601f8362000ca7565b915062000cfa8262000cb7565b602082019050919050565b5f6020820190508181035f83015262000d1e8162000cdf565b9050919050565b62000d308162000664565b82525050565b5f60208201905062000d4b5f83018462000d25565b92915050565b5f62000d5d8262000664565b915062000d6a8362000664565b925082820190508082111562000d855762000d8462000a20565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f62000dc1601b8362000ca7565b915062000dce8262000d8b565b602082019050919050565b5f6020820190508181035f83015262000df28162000db3565b9050919050565b608051614d2862000e355f395f8181610d5401528181613484015281816135630152818161358a0152818161362001526136470152614d285ff3fe608060405260043610610338575f3560e01c80638a8c523c116101aa578063aacebbe3116100f6578063d257b34f11610094578063e884f2601161006e578063e884f26014610bed578063f2fde38b14610c17578063f8b45b0514610c3f578063fe72b27a14610c695761033f565b8063d257b34f14610b4b578063dd62ed3e14610b87578063e2f4560514610bc35761033f565b8063c18bc195116100d0578063c18bc19514610aa7578063c2b7bbb614610acf578063c876d0b914610af7578063c8c8ebe414610b215761033f565b8063aacebbe314610a19578063b62496f514610a41578063bbc0c74214610a7d5761033f565b80639ec22c0e11610163578063a457c2d71161013d578063a457c2d71461094d578063a4c82a0014610989578063a4d15b64146109b3578063a9059cbb146109dd5761033f565b80639ec22c0e146108d15780639fccce32146108fb578063a2657778146109255761033f565b80638a8c523c146107ed5780638da5cb5b146108035780638ea5220f1461082d578063924de9b71461085757806395d89b411461087f5780639a7a23d6146108a95761033f565b806327c8f835116102845780636ddd171311610222578063730c1888116101fc578063730c18881461074957806373fa7ddb14610771578063751039fc1461079957806375f0a874146107c35761033f565b80636ddd1713146106cd57806370a08231146106f7578063715018a6146107335761033f565b8063313ce5671161025e578063313ce56714610613578063395093511461063d57806349bd5a5e146106795780634a62bb65146106a35761033f565b806327c8f835146105955780632c3e486c146105bf5780632e82f1a0146105e95761033f565b806318d9ceae116102f15780631f3fed8f116102cb5780631f3fed8f146104df578063203e727e1461050957806323b872dd1461053157806326ededb81461056d5761033f565b806318d9ceae1461044f578063199ffc721461048b5780631a8145bb146104b55761033f565b806306fdde0314610343578063095ea7b31461036d5780631694505e146103a957806318160ddd146103d35780631816467f146103fd578063184c16c5146104255761033f565b3661033f57005b5f80fd5b34801561034e575f80fd5b50610357610ca5565b604051610364919061377d565b60405180910390f35b348015610378575f80fd5b50610393600480360381019061038e9190613832565b610d35565b6040516103a0919061388a565b60405180910390f35b3480156103b4575f80fd5b506103bd610d52565b6040516103ca91906138fe565b60405180910390f35b3480156103de575f80fd5b506103e7610d76565b6040516103f49190613926565b60405180910390f35b348015610408575f80fd5b50610423600480360381019061041e919061393f565b610d7f565b005b348015610430575f80fd5b50610439610e45565b6040516104469190613926565b60405180910390f35b34801561045a575f80fd5b506104756004803603810190610470919061393f565b610e4b565b604051610482919061388a565b60405180910390f35b348015610496575f80fd5b5061049f610e9d565b6040516104ac9190613926565b60405180910390f35b3480156104c0575f80fd5b506104c9610ea3565b6040516104d69190613926565b60405180910390f35b3480156104ea575f80fd5b506104f3610ea9565b6040516105009190613926565b60405180910390f35b348015610514575f80fd5b5061052f600480360381019061052a919061396a565b610eaf565b005b34801561053c575f80fd5b5061055760048036038101906105529190613995565b610f4a565b604051610564919061388a565b60405180910390f35b348015610578575f80fd5b50610593600480360381019061058e9190613a46565b61101e565b005b3480156105a0575f80fd5b506105a96110f9565b6040516105b69190613ab2565b60405180910390f35b3480156105ca575f80fd5b506105d36110ff565b6040516105e09190613926565b60405180910390f35b3480156105f4575f80fd5b506105fd611105565b60405161060a919061388a565b60405180910390f35b34801561061e575f80fd5b50610627611118565b6040516106349190613ae6565b60405180910390f35b348015610648575f80fd5b50610663600480360381019061065e9190613832565b611120565b604051610670919061388a565b60405180910390f35b348015610684575f80fd5b5061068d6111ce565b60405161069a9190613ab2565b60405180910390f35b3480156106ae575f80fd5b506106b76111f3565b6040516106c4919061388a565b60405180910390f35b3480156106d8575f80fd5b506106e1611206565b6040516106ee919061388a565b60405180910390f35b348015610702575f80fd5b5061071d6004803603810190610718919061393f565b611219565b60405161072a9190613926565b60405180910390f35b34801561073e575f80fd5b5061074761125e565b005b348015610754575f80fd5b5061076f600480360381019061076a9190613b29565b611323565b005b34801561077c575f80fd5b5061079760048036038101906107929190613b79565b6113ee565b005b3480156107a4575f80fd5b506107ad611497565b6040516107ba919061388a565b60405180910390f35b3480156107ce575f80fd5b506107d76114c1565b6040516107e49190613ab2565b60405180910390f35b3480156107f8575f80fd5b506108016114e6565b005b34801561080e575f80fd5b50610817611534565b6040516108249190613ab2565b60405180910390f35b348015610838575f80fd5b5061084161155c565b60405161084e9190613ab2565b60405180910390f35b348015610862575f80fd5b5061087d60048036038101906108789190613bd6565b611581565b005b34801561088a575f80fd5b506108936115a6565b6040516108a0919061377d565b60405180910390f35b3480156108b4575f80fd5b506108cf60048036038101906108ca9190613c01565b611636565b005b3480156108dc575f80fd5b506108e56116db565b6040516108f29190613926565b60405180910390f35b348015610906575f80fd5b5061090f6116e1565b60405161091c9190613926565b60405180910390f35b348015610930575f80fd5b5061094b60048036038101906109469190613bd6565b6116e7565b005b348015610958575f80fd5b50610973600480360381019061096e9190613832565b61170c565b604051610980919061388a565b60405180910390f35b348015610994575f80fd5b5061099d6117d4565b6040516109aa9190613926565b60405180910390f35b3480156109be575f80fd5b506109c76117da565b6040516109d4919061388a565b60405180910390f35b3480156109e8575f80fd5b50610a0360048036038101906109fe9190613832565b6117ed565b604051610a10919061388a565b60405180910390f35b348015610a24575f80fd5b50610a3f6004803603810190610a3a919061393f565b61180a565b005b348015610a4c575f80fd5b50610a676004803603810190610a62919061393f565b6118d0565b604051610a74919061388a565b60405180910390f35b348015610a88575f80fd5b50610a916118ed565b604051610a9e919061388a565b60405180910390f35b348015610ab2575f80fd5b50610acd6004803603810190610ac8919061396a565b611900565b005b348015610ada575f80fd5b50610af56004803603810190610af0919061393f565b61199b565b005b348015610b02575f80fd5b50610b0b611a12565b604051610b18919061388a565b60405180910390f35b348015610b2c575f80fd5b50610b35611a25565b604051610b429190613926565b60405180910390f35b348015610b56575f80fd5b50610b716004803603810190610b6c919061396a565b611a2b565b604051610b7e919061388a565b60405180910390f35b348015610b92575f80fd5b50610bad6004803603810190610ba89190613c3f565b611b0b565b604051610bba9190613926565b60405180910390f35b348015610bce575f80fd5b50610bd7611b8d565b604051610be49190613926565b60405180910390f35b348015610bf8575f80fd5b50610c01611b93565b604051610c0e919061388a565b60405180910390f35b348015610c22575f80fd5b50610c3d6004803603810190610c38919061393f565b611bbd565b005b348015610c4a575f80fd5b50610c53611cf1565b604051610c609190613926565b60405180910390f35b348015610c74575f80fd5b50610c8f6004803603810190610c8a919061396a565b611cf7565b604051610c9c919061388a565b60405180910390f35b606060048054610cb490613caa565b80601f0160208091040260200160405190810160405280929190818152602001828054610ce090613caa565b8015610d2b5780601f10610d0257610100808354040283529160200191610d2b565b820191905f5260205f20905b815481529060010190602001808311610d0e57829003601f168201915b5050505050905090565b5f610d48610d41611f52565b8484611f59565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600354905090565b610d8761211c565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125481565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600f5481565b60165481565b60185481565b610eb761211c565b670de0b6b3a76400006103e86005610ecd610d76565b610ed79190613d07565b610ee19190613d75565b610eeb9190613d75565b811015610f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2490613e15565b60405180910390fd5b670de0b6b3a764000081610f419190613d07565b600c8190555050565b5f610f5684848461219a565b61101384610f62611f52565b61100e85604051806060016040528060288152602001614ca66028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610fc5611f52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129709092919063ffffffff16565b611f59565b600190509392505050565b61102661211c565b5f5b838390508110156110f35783838281811061104657611045613e33565b5b905060200201602081019061105b919061393f565b73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110d89190613926565b60405180910390a380806110eb90613e60565b915050611028565b50505050565b61dead81565b60115481565b601560019054906101000a900460ff1681565b5f6009905090565b5f6111c461112c611f52565b846111bf8560015f61113c611f52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129d290919063ffffffff16565b611f59565b6001905092915050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560029054906101000a900460ff1681565b601560039054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61126661211c565b5f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61132b61211c565b610258831015611370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136790613f17565b60405180910390fd5b6103e8821115801561138257505f8210155b6113c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b890613fa5565b60405180910390fd5b8260118190555081600f8190555080601560016101000a81548160ff021916908315150217905550505050565b6113f661211c565b5f5b83839050811015611491578160025f86868581811061141a57611419613e33565b5b905060200201602081019061142f919061393f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061148990613e60565b9150506113f8565b50505050565b5f6114a061211c565b5f601560026101000a81548160ff0219169083151502179055506001905090565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6114ee61211c565b6001601560066101000a81548160ff0219169083151502179055506001601560036101000a81548160ff0219169083151502179055504260108190555043601481905550565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61158961211c565b80601560036101000a81548160ff02191690831515021790555050565b6060600580546115b590613caa565b80601f01602080910402602001604051908101604052809291908181526020018280546115e190613caa565b801561162c5780601f106116035761010080835404028352916020019161162c565b820191905f5260205f20905b81548152906001019060200180831161160f57829003601f168201915b5050505050905090565b61163e61211c565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c490614033565b60405180910390fd5b6116d78282612a2f565b5050565b60135481565b60175481565b6116ef61211c565b80601560046101000a81548160ff02191690831515021790555050565b5f6117ca611718611f52565b846117c585604051806060016040528060258152602001614cce6025913960015f611741611f52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129709092919063ffffffff16565b611f59565b6001905092915050565b60105481565b601560049054906101000a900460ff1681565b5f6118006117f9611f52565b848461219a565b6001905092915050565b61181261211c565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a380600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601a602052805f5260405f205f915054906101000a900460ff1681565b601560069054906101000a900460ff1681565b61190861211c565b670de0b6b3a76400006103e8600f61191e610d76565b6119289190613d07565b6119329190613d75565b61193c9190613d75565b81101561197e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611975906140c1565b60405180910390fd5b670de0b6b3a7640000816119929190613d07565b600e8190555050565b6119a361211c565b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a0f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001612a2f565b50565b601560059054906101000a900460ff1681565b600c5481565b5f611a3461211c565b620186a06001611a42610d76565b611a4c9190613d07565b611a569190613d75565b821015611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f9061414f565b60405180910390fd5b6103e86005611aa5610d76565b611aaf9190613d07565b611ab99190613d75565b821115611afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af2906141dd565b60405180910390fd5b81600d8190555060019050919050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600d5481565b5f611b9c61211c565b5f601560056101000a81548160ff0219169083151502179055506001905090565b611bc561211c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2a9061426b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e5481565b5f611d0061211c565b601254601354611d109190614289565b4211611d51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4890614306565b60405180910390fd5b6103e8821115611d96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8d90614394565b60405180910390fd5b426013819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401611df89190613ab2565b602060405180830381865afa158015611e13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e3791906143c6565b90505f611e61612710611e538685612acd90919063ffffffff16565b612b4490919063ffffffff16565b90505f811115611e9a57611e9960095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead83612b8d565b5b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611f04575f80fd5b505af1158015611f16573d5f803e3d5ffd5b505050507f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb60405160405180910390a160019350505050919050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbe90614461565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202c906144ef565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161210f9190613926565b60405180910390a3505050565b612124611f52565b73ffffffffffffffffffffffffffffffffffffffff16612142612e16565b73ffffffffffffffffffffffffffffffffffffffff1614612198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218f90614557565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612208576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ff906145e5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226d90614673565b60405180910390fd5b5f810361228d5761228883835f612b8d565b61296b565b4360085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550601560029054906101000a900460ff161561267a576122ec611534565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561235a575061232a611534565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561239257505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123cc575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123e4575060155f9054906101000a900460ff16155b1561267957601560069054906101000a900460ff166124e457600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806124a45750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b6124e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124da906146db565b60405180910390fd5b5b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612581575060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156125d057600c548111156125cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c290614769565b60405180910390fd5b612678565b60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661267757600e5461262a83611219565b826126359190614289565b1115612676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266d906147d1565b60405180910390fd5b5b5b5b5b601560059054906101000a900460ff1680156126dd5750601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156127f7576126ea611534565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561276b575060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156127f6576127b660085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612e29565b6127f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ec9061485f565b60405180910390fd5b5b5b5f61280130611219565b90505f600d548210159050808015612825575060155f9054906101000a900460ff16155b80156128785750601a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156128b957600160155f6101000a81548160ff02191690831515021790555061289f612e34565b5f60155f6101000a81548160ff0219169083151502179055505b60155f9054906101000a900460ff1615801561291b5750601a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80156129335750601560019054906101000a900460ff165b801561294e575060115460105461294a9190614289565b4210155b1561295d5761295b613103565b505b612968858585612b8d565b50505b505050565b5f8383111582906129b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ae919061377d565b60405180910390fd5b505f83856129c5919061487d565b9050809150509392505050565b5f8082846129e09190614289565b905083811015612a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1c906148fa565b60405180910390fd5b8091505092915050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f808303612add575f9050612b3e565b5f8284612aea9190613d07565b9050828482612af99190613d75565b14612b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3090614988565b60405180910390fd5b809150505b92915050565b5f612b8583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613294565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf2906145e5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c6090614673565b60405180910390fd5b612c748383836132f5565b612cdd81604051806060016040528060268152602001614c80602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129709092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612d6c815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129d290919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e099190613926565b60405180910390a3505050565b5f80612e206132fa565b90508091505090565b5f4382119050919050565b5f612e3e30611219565b90505f601754601854601654612e549190614289565b612e5e9190614289565b90505f80831480612e6e57505f82145b15612e7b57505050613101565b6014600d54612e8a9190613d07565b831115612ea3576014600d54612ea09190613d07565b92505b5f60028360165486612eb59190613d07565b612ebf9190613d75565b612ec99190613d75565b90505f612edf828661339e90919063ffffffff16565b90505f479050612eee826133e7565b5f612f02824761339e90919063ffffffff16565b90505f612f2c87612f1e60185485612acd90919063ffffffff16565b612b4490919063ffffffff16565b90505f612f5688612f4860175486612acd90919063ffffffff16565b612b4490919063ffffffff16565b90505f818385612f66919061487d565b612f70919061487d565b90505f6016819055505f6018819055505f601781905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612fcc906149d3565b5f6040518083038185875af1925050503d805f8114613006576040519150601f19603f3d011682016040523d82523d5f602084013e61300b565b606091505b5050809850505f8711801561301f57505f81115b1561306c5761302e878261361a565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601654604051613063939291906149e7565b60405180910390a15b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516130b1906149d3565b5f6040518083038185875af1925050503d805f81146130eb576040519150601f19603f3d011682016040523d82523d5f602084013e6130f0565b606091505b505080985050505050505050505050505b565b5f426010819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016131669190613ab2565b602060405180830381865afa158015613181573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131a591906143c6565b90505f6131d16127106131c3600f5485612acd90919063ffffffff16565b612b4490919063ffffffff16565b90505f81111561320a5761320960095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661dead83612b8d565b5b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015613274575f80fd5b505af1158015613286573d5f803e3d5ffd5b505050506001935050505090565b5f80831182906132da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132d1919061377d565b60405180910390fd5b505f83856132e89190613d75565b9050809150509392505050565b505050565b5f8073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146133765760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613399565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b5f6133df83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612970565b905092915050565b5f600267ffffffffffffffff81111561340357613402614a1c565b5b6040519080825280602002602001820160405280156134315781602001602082028036833780820191505090505b50905030815f8151811061344857613447613e33565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061350f9190614a5d565b8160018151811061352357613522613e33565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613588307f000000000000000000000000000000000000000000000000000000000000000084611f59565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016135e9959493929190614b78565b5f604051808303815f87803b158015613600575f80fd5b505af1158015613612573d5f803e3d5ffd5b505050505050565b613645307f000000000000000000000000000000000000000000000000000000000000000084611f59565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8061dead426040518863ffffffff1660e01b81526004016136ab96959493929190614bd0565b60606040518083038185885af11580156136c7573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906136ec9190614c2f565b5050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561372a57808201518184015260208101905061370f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61374f826136f3565b61375981856136fd565b935061376981856020860161370d565b61377281613735565b840191505092915050565b5f6020820190508181035f8301526137958184613745565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6137ce826137a5565b9050919050565b6137de816137c4565b81146137e8575f80fd5b50565b5f813590506137f9816137d5565b92915050565b5f819050919050565b613811816137ff565b811461381b575f80fd5b50565b5f8135905061382c81613808565b92915050565b5f80604083850312156138485761384761379d565b5b5f613855858286016137eb565b92505060206138668582860161381e565b9150509250929050565b5f8115159050919050565b61388481613870565b82525050565b5f60208201905061389d5f83018461387b565b92915050565b5f819050919050565b5f6138c66138c16138bc846137a5565b6138a3565b6137a5565b9050919050565b5f6138d7826138ac565b9050919050565b5f6138e8826138cd565b9050919050565b6138f8816138de565b82525050565b5f6020820190506139115f8301846138ef565b92915050565b613920816137ff565b82525050565b5f6020820190506139395f830184613917565b92915050565b5f602082840312156139545761395361379d565b5b5f613961848285016137eb565b91505092915050565b5f6020828403121561397f5761397e61379d565b5b5f61398c8482850161381e565b91505092915050565b5f805f606084860312156139ac576139ab61379d565b5b5f6139b9868287016137eb565b93505060206139ca868287016137eb565b92505060406139db8682870161381e565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112613a0657613a056139e5565b5b8235905067ffffffffffffffff811115613a2357613a226139e9565b5b602083019150836020820283011115613a3f57613a3e6139ed565b5b9250929050565b5f805f60408486031215613a5d57613a5c61379d565b5b5f84013567ffffffffffffffff811115613a7a57613a796137a1565b5b613a86868287016139f1565b93509350506020613a998682870161381e565b9150509250925092565b613aac816137c4565b82525050565b5f602082019050613ac55f830184613aa3565b92915050565b5f60ff82169050919050565b613ae081613acb565b82525050565b5f602082019050613af95f830184613ad7565b92915050565b613b0881613870565b8114613b12575f80fd5b50565b5f81359050613b2381613aff565b92915050565b5f805f60608486031215613b4057613b3f61379d565b5b5f613b4d8682870161381e565b9350506020613b5e8682870161381e565b9250506040613b6f86828701613b15565b9150509250925092565b5f805f60408486031215613b9057613b8f61379d565b5b5f84013567ffffffffffffffff811115613bad57613bac6137a1565b5b613bb9868287016139f1565b93509350506020613bcc86828701613b15565b9150509250925092565b5f60208284031215613beb57613bea61379d565b5b5f613bf884828501613b15565b91505092915050565b5f8060408385031215613c1757613c1661379d565b5b5f613c24858286016137eb565b9250506020613c3585828601613b15565b9150509250929050565b5f8060408385031215613c5557613c5461379d565b5b5f613c62858286016137eb565b9250506020613c73858286016137eb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613cc157607f821691505b602082108103613cd457613cd3613c7d565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613d11826137ff565b9150613d1c836137ff565b9250828202613d2a816137ff565b91508282048414831517613d4157613d40613cda565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613d7f826137ff565b9150613d8a836137ff565b925082613d9a57613d99613d48565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74205f8201527f6c6f776572207468616e20302e35250000000000000000000000000000000000602082015250565b5f613dff602f836136fd565b9150613e0a82613da5565b604082019050919050565b5f6020820190508181035f830152613e2c81613df3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613e6a826137ff565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613e9c57613e9b613cda565b5b600182019050919050565b7f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e2074685f8201527f616e206576657279203130206d696e7574657300000000000000000000000000602082015250565b5f613f016033836136fd565b9150613f0c82613ea7565b604082019050919050565b5f6020820190508181035f830152613f2e81613ef5565b9050919050565b7f4d75737420736574206175746f204c50206275726e2070657263656e742062655f8201527f747765656e20302520616e642031302500000000000000000000000000000000602082015250565b5f613f8f6030836136fd565b9150613f9a82613f35565b604082019050919050565b5f6020820190508181035f830152613fbc81613f83565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f61401d6039836136fd565b915061402882613fc3565b604082019050919050565b5f6020820190508181035f83015261404a81614011565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f312e352500000000000000000000000000000000000000000000000000000000602082015250565b5f6140ab6024836136fd565b91506140b682614051565b604082019050919050565b5f6020820190508181035f8301526140d88161409f565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f6141396035836136fd565b9150614144826140df565b604082019050919050565b5f6020820190508181035f8301526141668161412d565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f6141c76034836136fd565b91506141d28261416d565b604082019050919050565b5f6020820190508181035f8301526141f4816141bb565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6142556026836136fd565b9150614260826141fb565b604082019050919050565b5f6020820190508181035f83015261428281614249565b9050919050565b5f614293826137ff565b915061429e836137ff565b92508282019050808211156142b6576142b5613cda565b5b92915050565b7f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973685f82015250565b5f6142f06020836136fd565b91506142fb826142bc565b602082019050919050565b5f6020820190508181035f83015261431d816142e4565b9050919050565b7f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f5f8201527f6b656e7320696e204c5000000000000000000000000000000000000000000000602082015250565b5f61437e602a836136fd565b915061438982614324565b604082019050919050565b5f6020820190508181035f8301526143ab81614372565b9050919050565b5f815190506143c081613808565b92915050565b5f602082840312156143db576143da61379d565b5b5f6143e8848285016143b2565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61444b6024836136fd565b9150614456826143f1565b604082019050919050565b5f6020820190508181035f8301526144788161443f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6144d96022836136fd565b91506144e48261447f565b604082019050919050565b5f6020820190508181035f830152614506816144cd565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6145416020836136fd565b915061454c8261450d565b602082019050919050565b5f6020820190508181035f83015261456e81614535565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6145cf6025836136fd565b91506145da82614575565b604082019050919050565b5f6020820190508181035f8301526145fc816145c3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61465d6023836136fd565b915061466882614603565b604082019050919050565b5f6020820190508181035f83015261468a81614651565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f6146c56016836136fd565b91506146d082614691565b602082019050919050565b5f6020820190508181035f8301526146f2816146b9565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f6147536036836136fd565b915061475e826146f9565b604082019050919050565b5f6020820190508181035f83015261478081614747565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6147bb6013836136fd565b91506147c682614787565b602082019050919050565b5f6020820190508181035f8301526147e8816147af565b9050919050565b7f5472616e736665722044656c617920656e61626c65642e20204f6e6c79206f6e5f8201527f652070757263686173652070657220626c6f636b20616c6c6f7765642e000000602082015250565b5f614849603d836136fd565b9150614854826147ef565b604082019050919050565b5f6020820190508181035f8301526148768161483d565b9050919050565b5f614887826137ff565b9150614892836137ff565b92508282039050818111156148aa576148a9613cda565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6148e4601b836136fd565b91506148ef826148b0565b602082019050919050565b5f6020820190508181035f830152614911816148d8565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6149726021836136fd565b915061497d82614918565b604082019050919050565b5f6020820190508181035f83015261499f81614966565b9050919050565b5f81905092915050565b50565b5f6149be5f836149a6565b91506149c9826149b0565b5f82019050919050565b5f6149dd826149b3565b9150819050919050565b5f6060820190506149fa5f830186613917565b614a076020830185613917565b614a146040830184613917565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050614a57816137d5565b92915050565b5f60208284031215614a7257614a7161379d565b5b5f614a7f84828501614a49565b91505092915050565b5f819050919050565b5f614aab614aa6614aa184614a88565b6138a3565b6137ff565b9050919050565b614abb81614a91565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614af3816137c4565b82525050565b5f614b048383614aea565b60208301905092915050565b5f602082019050919050565b5f614b2682614ac1565b614b308185614acb565b9350614b3b83614adb565b805f5b83811015614b6b578151614b528882614af9565b9750614b5d83614b10565b925050600181019050614b3e565b5085935050505092915050565b5f60a082019050614b8b5f830188613917565b614b986020830187614ab2565b8181036040830152614baa8186614b1c565b9050614bb96060830185613aa3565b614bc66080830184613917565b9695505050505050565b5f60c082019050614be35f830189613aa3565b614bf06020830188613917565b614bfd6040830187614ab2565b614c0a6060830186614ab2565b614c176080830185613aa3565b614c2460a0830184613917565b979650505050505050565b5f805f60608486031215614c4657614c4561379d565b5b5f614c53868287016143b2565b9350506020614c64868287016143b2565b9250506040614c75868287016143b2565b915050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fff86852230a677c8ebafe25c99eb7d44812ebf49654930a63675f0318f0b6e664736f6c634300081400330000000000000000000000002893cd38a02bed8461fcf2d1dd4476dd65d3d85b0000000000000000000000000000000000000000000000000000000000000001