[ { "inputs": [], "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": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "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" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_transferDelay", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "buyDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "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": "disableTransferDelay", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "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": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "letswap", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "lpPoolPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "openAI", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeAllLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellDevFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapFeeTokensAtAmount", "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": "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": [], "name": "tradingLimits", "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": [ { "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": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "updateBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "updateSellFees", "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" }, { "inputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" }, { "internalType": "address", "name": "_devWallet", "type": "address" } ], "name": "updateWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526001600b5f6101000a81548160ff0219169083151502179055505f600b60016101000a81548160ff0219169083151502179055505f600b60026101000a81548160ff0219169083151502179055505f600b60036101000a81548160ff0219169083151502179055506001600d5f6101000a81548160ff021916908315150217905550348015610091575f80fd5b506040518060400160405280600781526020017f56617275734149000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f5641524149000000000000000000000000000000000000000000000000000000815250816003908161010d9190610e71565b50806004908161011d9190610e71565b5050505f61012f61074060201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d90506101f581600161074760201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610272573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102969190610f9e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061031f9190610f9e565b6040518363ffffffff1660e01b815260040161033c929190610fd8565b6020604051808303815f875af1158015610358573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061037c9190610f9e565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506103c260a051600161074760201b60201c565b6103d560a051600161083b60201b60201c565b5f600290505f600390505f600290505f600390505f67016345785d8a000090506064600182610404919061102c565b61040e919061109a565b6008819055506064600182610423919061102c565b61042d919061109a565b600a81905550612710600582610443919061102c565b61044d919061109a565b60098190555084600f8190555083601081905550601054600f5461047191906110ca565b600e81905550826012819055508160138190555060135460125461049591906110ca565b601181905550733304eaa9b88f900ddc809a44efee770c01a03d8960065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061054d6105406108d960201b60201c565b600161090160201b60201c565b61055e30600161090160201b60201c565b61059060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161090160201b60201c565b6105c260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161090160201b60201c565b6105d561dead600161090160201b60201c565b6105f36105e66108d960201b60201c565b600161074760201b60201c565b61060430600161074760201b60201c565b61063660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161074760201b60201c565b61066860065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600161074760201b60201c565b61067b61dead600161074760201b60201c565b6106c460075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660646002846106af919061102c565b6106b9919061109a565b610a4360201b60201c565b61070d60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660646002846106f8919061102c565b610702919061109a565b610a4360201b60201c565b610735306064606084610720919061102c565b61072a919061109a565b610a4360201b60201c565b5050505050506112a0565b5f33905090565b61075561074060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107da90611157565b60405180910390fd5b8060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61090f61074060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461099d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099490611157565b60405180910390fd5b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051610a37919061118f565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa8906111f2565b60405180910390fd5b610ac25f8383610bd560201b60201c565b610ad781600254610bda60201b90919060201c565b600281905550610b2c815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610bda60201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bc9919061121f565b60405180910390a35050565b505050565b5f808284610be891906110ca565b905083811015610c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2490611282565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610cb257607f821691505b602082108103610cc557610cc4610c6e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610d277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610cec565b610d318683610cec565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610d75610d70610d6b84610d49565b610d52565b610d49565b9050919050565b5f819050919050565b610d8e83610d5b565b610da2610d9a82610d7c565b848454610cf8565b825550505050565b5f90565b610db6610daa565b610dc1818484610d85565b505050565b5b81811015610de457610dd95f82610dae565b600181019050610dc7565b5050565b601f821115610e2957610dfa81610ccb565b610e0384610cdd565b81016020851015610e12578190505b610e26610e1e85610cdd565b830182610dc6565b50505b505050565b5f82821c905092915050565b5f610e495f1984600802610e2e565b1980831691505092915050565b5f610e618383610e3a565b9150826002028217905092915050565b610e7a82610c37565b67ffffffffffffffff811115610e9357610e92610c41565b5b610e9d8254610c9b565b610ea8828285610de8565b5f60209050601f831160018114610ed9575f8415610ec7578287015190505b610ed18582610e56565b865550610f38565b601f198416610ee786610ccb565b5f5b82811015610f0e57848901518255600182019150602085019450602081019050610ee9565b86831015610f2b5784890151610f27601f891682610e3a565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f6d82610f44565b9050919050565b610f7d81610f63565b8114610f87575f80fd5b50565b5f81519050610f9881610f74565b92915050565b5f60208284031215610fb357610fb2610f40565b5b5f610fc084828501610f8a565b91505092915050565b610fd281610f63565b82525050565b5f604082019050610feb5f830185610fc9565b610ff86020830184610fc9565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61103682610d49565b915061104183610d49565b925082820261104f81610d49565b9150828204841483151761106657611065610fff565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6110a482610d49565b91506110af83610d49565b9250826110bf576110be61106d565b5b828204905092915050565b5f6110d482610d49565b91506110df83610d49565b92508282019050808211156110f7576110f6610fff565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6111416020836110fd565b915061114c8261110d565b602082019050919050565b5f6020820190508181035f83015261116e81611135565b9050919050565b5f8115159050919050565b61118981611175565b82525050565b5f6020820190506111a25f830184611180565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6111dc601f836110fd565b91506111e7826111a8565b602082019050919050565b5f6020820190508181035f830152611209816111d0565b9050919050565b61121981610d49565b82525050565b5f6020820190506112325f830184611210565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61126c601b836110fd565b915061127782611238565b602082019050919050565b5f6020820190508181035f83015261129981611260565b9050919050565b60805160a0516145056112f25f395f8181610dad015261231f01525f8181610bf00152818161163701528181611666015281816122c7015281816131d3015281816132b201526132d901526145055ff3fe608060405260043610610275575f3560e01c80638da5cb5b1161014e578063bbc0c742116100c0578063db05e5cb11610079578063db05e5cb1461095c578063dd62ed3e14610986578063e884f260146109c2578063e8ba854f146109ec578063f2fde38b14610a14578063f8b45b0514610a3c5761027c565b8063bbc0c74214610870578063c02466681461089a578063c8c8ebe4146108c2578063d0cae11e146108ec578063d257b34f146108f6578063d85ba063146109325761027c565b80639c3b4fdc116101125780639c3b4fdc1461073e5780639fccce3214610768578063a0d82dc514610792578063a457c2d7146107bc578063a9059cbb146107f8578063bbbee3cd146108345761027c565b80638da5cb5b1461066e5780638f44dbcd1461069857806392136913146106c2578063924de9b7146106ec57806395d89b41146107145761027c565b80634fbee193116101e75780636ddd1713116101ab5780636ddd1713146105765780636ee2a9b2146105a057806370a08231146105ca578063715018a6146106065780637571336a1461061c5780637bce5a04146106445761027c565b80634fbee1931461049457806363361f9f146104d057806366ca9b83146104fa5780636a486a8e146105225780636b37f0c51461054c5761027c565b806318160ddd1161023957806318160ddd146103745780631f3fed8f1461039e57806323b872dd146103c8578063313ce56714610404578063395093511461042e57806349bd5a5e1461046a5761027c565b806302dbd8f81461028057806306fdde03146102a8578063095ea7b3146102d257806310d5de531461030e5780631694505e1461034a5761027c565b3661027c57005b5f80fd5b34801561028b575f80fd5b506102a660048036038101906102a19190613401565b610a66565b005b3480156102b3575f80fd5b506102bc610b24565b6040516102c991906134af565b60405180910390f35b3480156102dd575f80fd5b506102f860048036038101906102f39190613529565b610bb4565b6040516103059190613581565b60405180910390f35b348015610319575f80fd5b50610334600480360381019061032f919061359a565b610bd1565b6040516103419190613581565b60405180910390f35b348015610355575f80fd5b5061035e610bee565b60405161036b9190613620565b60405180910390f35b34801561037f575f80fd5b50610388610c12565b6040516103959190613648565b60405180910390f35b3480156103a9575f80fd5b506103b2610c1b565b6040516103bf9190613648565b60405180910390f35b3480156103d3575f80fd5b506103ee60048036038101906103e99190613661565b610c21565b6040516103fb9190613581565b60405180910390f35b34801561040f575f80fd5b50610418610cf5565b60405161042591906136cc565b60405180910390f35b348015610439575f80fd5b50610454600480360381019061044f9190613529565b610cfd565b6040516104619190613581565b60405180910390f35b348015610475575f80fd5b5061047e610dab565b60405161048b91906136f4565b60405180910390f35b34801561049f575f80fd5b506104ba60048036038101906104b5919061359a565b610dcf565b6040516104c79190613581565b60405180910390f35b3480156104db575f80fd5b506104e4610e21565b6040516104f19190613581565b60405180910390f35b348015610505575f80fd5b50610520600480360381019061051b9190613401565b610e33565b005b34801561052d575f80fd5b50610536610ef1565b6040516105439190613648565b60405180910390f35b348015610557575f80fd5b50610560610ef7565b60405161056d9190613581565b60405180910390f35b348015610581575f80fd5b5061058a610f0a565b6040516105979190613581565b60405180910390f35b3480156105ab575f80fd5b506105b4610f1d565b6040516105c19190613648565b60405180910390f35b3480156105d5575f80fd5b506105f060048036038101906105eb919061359a565b610f23565b6040516105fd9190613648565b60405180910390f35b348015610611575f80fd5b5061061a610f68565b005b348015610627575f80fd5b50610642600480360381019061063d9190613737565b6110bb565b005b34801561064f575f80fd5b506106586111a9565b6040516106659190613648565b60405180910390f35b348015610679575f80fd5b506106826111af565b60405161068f91906136f4565b60405180910390f35b3480156106a3575f80fd5b506106ac6111d7565b6040516106b99190613581565b60405180910390f35b3480156106cd575f80fd5b506106d66111e9565b6040516106e39190613648565b60405180910390f35b3480156106f7575f80fd5b50610712600480360381019061070d9190613775565b6111ef565b005b34801561071f575f80fd5b506107286112a2565b60405161073591906134af565b60405180910390f35b348015610749575f80fd5b50610752611332565b60405161075f9190613648565b60405180910390f35b348015610773575f80fd5b5061077c611338565b6040516107899190613648565b60405180910390f35b34801561079d575f80fd5b506107a661133e565b6040516107b39190613648565b60405180910390f35b3480156107c7575f80fd5b506107e260048036038101906107dd9190613529565b611344565b6040516107ef9190613581565b60405180910390f35b348015610803575f80fd5b5061081e60048036038101906108199190613529565b61140c565b60405161082b9190613581565b60405180910390f35b34801561083f575f80fd5b5061085a6004803603810190610855919061359a565b611429565b6040516108679190613581565b60405180910390f35b34801561087b575f80fd5b50610884611446565b6040516108919190613581565b60405180910390f35b3480156108a5575f80fd5b506108c060048036038101906108bb9190613737565b611459565b005b3480156108cd575f80fd5b506108d6611595565b6040516108e39190613648565b60405180910390f35b6108f461159b565b005b348015610901575f80fd5b5061091c600480360381019061091791906137a0565b611767565b6040516109299190613581565b60405180910390f35b34801561093d575f80fd5b506109466118d5565b6040516109539190613648565b60405180910390f35b348015610967575f80fd5b506109706118db565b60405161097d9190613581565b60405180910390f35b348015610991575f80fd5b506109ac60048036038101906109a791906137cb565b611992565b6040516109b99190613648565b60405180910390f35b3480156109cd575f80fd5b506109d6611a14565b6040516109e39190613581565b60405180910390f35b3480156109f7575f80fd5b50610a126004803603810190610a0d91906137cb565b611acb565b005b348015610a1f575f80fd5b50610a3a6004803603810190610a35919061359a565b611be5565b005b348015610a47575f80fd5b50610a50611da7565b604051610a5d9190613648565b60405180910390f35b610a6e611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af390613853565b60405180910390fd5b8160128190555080601381905550601354601254610b1a919061389e565b6011819055505050565b606060038054610b33906138fe565b80601f0160208091040260200160405190810160405280929190818152602001828054610b5f906138fe565b8015610baa5780601f10610b8157610100808354040283529160200191610baa565b820191905f5260205f20905b815481529060010190602001808311610b8d57829003601f168201915b5050505050905090565b5f610bc7610bc0611dad565b8484611db4565b6001905092915050565b6017602052805f5260405f205f915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b60145481565b5f610c2d848484611f77565b610cea84610c39611dad565b610ce5856040518060600160405280602881526020016144836028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c9c611dad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b669092919063ffffffff16565b611db4565b600190509392505050565b5f600a905090565b5f610da1610d09611dad565b84610d9c8560015f610d19611dad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612bc890919063ffffffff16565b611db4565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60165f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600d5f9054906101000a900460ff1681565b610e3b611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec090613853565b60405180910390fd5b81600f8190555080601081905550601054600f54610ee7919061389e565b600e819055505050565b60115481565b600b60039054906101000a900460ff1681565b600b60029054906101000a900460ff1681565b60095481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610f70611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ffe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff590613853565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6110c3611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114890613853565b60405180910390fd5b8060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b600f5481565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b5f9054906101000a900460ff1681565b60125481565b6111f7611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127c90613853565b60405180910390fd5b80600b60026101000a81548160ff02191690831515021790555050565b6060600480546112b1906138fe565b80601f01602080910402602001604051908101604052809291908181526020018280546112dd906138fe565b80156113285780601f106112ff57610100808354040283529160200191611328565b820191905f5260205f20905b81548152906001019060200180831161130b57829003601f168201915b5050505050905090565b60105481565b60155481565b60135481565b5f611402611350611dad565b846113fd856040518060600160405280602581526020016144ab6025913960015f611379611dad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b669092919063ffffffff16565b611db4565b6001905092915050565b5f61141f611418611dad565b8484611f77565b6001905092915050565b6018602052805f5260405f205f915054906101000a900460ff1681565b600b60019054906101000a900460ff1681565b611461611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e690613853565b60405180910390fd5b8060165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516115899190613581565b60405180910390a25050565b60085481565b6115a3611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162890613853565b60405180910390fd5b611664307f000000000000000000000000000000000000000000000000000000000000000061165f30610f23565b611db4565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71947306116ab30610f23565b5f8033426040518863ffffffff1660e01b81526004016116d096959493929190613967565b60606040518083038185885af11580156116ec573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061171191906139da565b5050506001600b60016101000a81548160ff0219169083151502179055506001600b60026101000a81548160ff0219169083151502179055506001600b60036101000a81548160ff021916908315150217905550565b5f611770611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f590613853565b60405180910390fd5b620186a0600161180c610c12565b6118169190613a2a565b6118209190613a98565b821015611862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185990613b38565b60405180910390fd5b6103e8600561186f610c12565b6118799190613a2a565b6118839190613a98565b8211156118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc90613bc6565b60405180910390fd5b8160098190555060019050919050565b600e5481565b5f6118e4611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196990613853565b60405180910390fd5b5f600b5f6101000a81548160ff0219169083151502179055506001905090565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f611a1d611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa290613853565b60405180910390fd5b5f600d5f6101000a81548160ff0219169083151502179055506001905090565b611ad3611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5890613853565b60405180910390fd5b8160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611bed611dad565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7290613853565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce090613c54565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1990613ce2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8790613d70565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611f6a9190613648565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fe5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdc90613dfe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204a90613e8c565b60405180910390fd5b5f810361206a5761206583835f612c25565b612b61565b600b5f9054906101000a900460ff1615612711576120866111af565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156120f457506120c46111af565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561212c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612166575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561217f5750600560149054906101000a900460ff16155b1561271057600b60019054906101000a900460ff166122735760165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612233575060165f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612272576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226990613ef4565b60405180910390fd5b5b600d5f9054906101000a900460ff16156124365761228f6111af565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561231657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561236e57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156124355743600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106123f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e990613fa8565b60405180910390fd5b43600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156124d3575060175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561257a5760085481111561251d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251490614036565b60405180910390fd5b600a5461252983610f23565b82612534919061389e565b1115612575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256c9061409e565b60405180910390fd5b61270f565b60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612617575060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561266657600854811115612661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126589061412c565b60405180910390fd5b61270e565b60175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661270d57600a546126c083610f23565b826126cb919061389e565b111561270c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127039061409e565b60405180910390fd5b5b5b5b5b5b5f61271b30610f23565b90505f600954821015905080801561273f5750600b60029054906101000a900460ff165b80156127585750600560149054906101000a900460ff16155b80156127ab575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156127fe575060165f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015612851575060165f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612894576001600560146101000a81548160ff021916908315150217905550612879612eae565b5f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff1615905060165f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612943575060165f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561294c575f90505b5f8115612b515760185f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156129aa57505f601154115b15612a42576129d760646129c96011548861307190919063ffffffff16565b6130e890919063ffffffff16565b9050601154601354826129ea9190613a2a565b6129f49190613a98565b60155f828254612a04919061389e565b9250508190555060115460125482612a1c9190613a2a565b612a269190613a98565b60145f828254612a36919061389e565b92505081905550612b2e565b60185f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612a9957505f600e54115b15612b2d57612ac66064612ab8600e548861307190919063ffffffff16565b6130e890919063ffffffff16565b9050600e5460105482612ad99190613a2a565b612ae39190613a98565b60155f828254612af3919061389e565b92505081905550600e54600f5482612b0b9190613a2a565b612b159190613a98565b60145f828254612b25919061389e565b925050819055505b5b5f811115612b4257612b41873083612c25565b5b8085612b4e919061414a565b94505b612b5c878787612c25565b505050505b505050565b5f838311158290612bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba491906134af565b60405180910390fd5b505f8385612bbb919061414a565b9050809150509392505050565b5f808284612bd6919061389e565b905083811015612c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c12906141c7565b60405180910390fd5b8091505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8a90613dfe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cf890613e8c565b60405180910390fd5b612d0c838383613131565b612d758160405180606001604052806026815260200161445d602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b669092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612e04815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612bc890919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ea19190613648565b60405180910390a3505050565b5f612eb830610f23565b90505f601554601454612ecb919061389e565b90505f80831480612edb57505f82145b15612ee85750505061306f565b6014600954612ef79190613a2a565b831115612f10576014600954612f0d9190613a2a565b92505b612f1983613136565b5f4790505f612f4584612f376015548561307190919063ffffffff16565b6130e890919063ffffffff16565b90505f6014819055505f60158190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051612f9a90614212565b5f6040518083038185875af1925050503d805f8114612fd4576040519150601f19603f3d011682016040523d82523d5f602084013e612fd9565b606091505b50508093505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161302490614212565b5f6040518083038185875af1925050503d805f811461305e576040519150601f19603f3d011682016040523d82523d5f602084013e613063565b606091505b50508093505050505050505b565b5f808303613081575f90506130e2565b5f828461308e9190613a2a565b905082848261309d9190613a98565b146130dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d490614296565b60405180910390fd5b809150505b92915050565b5f61312983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613369565b905092915050565b505050565b5f600267ffffffffffffffff811115613152576131516142b4565b5b6040519080825280602002602001820160405280156131805781602001602082028036833780820191505090505b50905030815f81518110613197576131966142e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561323a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061325e9190614322565b81600181518110613272576132716142e1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506132d7307f000000000000000000000000000000000000000000000000000000000000000084611db4565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401613338959493929190614404565b5f604051808303815f87803b15801561334f575f80fd5b505af1158015613361573d5f803e3d5ffd5b505050505050565b5f80831182906133af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133a691906134af565b60405180910390fd5b505f83856133bd9190613a98565b9050809150509392505050565b5f80fd5b5f819050919050565b6133e0816133ce565b81146133ea575f80fd5b50565b5f813590506133fb816133d7565b92915050565b5f8060408385031215613417576134166133ca565b5b5f613424858286016133ed565b9250506020613435858286016133ed565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6134818261343f565b61348b8185613449565b935061349b818560208601613459565b6134a481613467565b840191505092915050565b5f6020820190508181035f8301526134c78184613477565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6134f8826134cf565b9050919050565b613508816134ee565b8114613512575f80fd5b50565b5f81359050613523816134ff565b92915050565b5f806040838503121561353f5761353e6133ca565b5b5f61354c85828601613515565b925050602061355d858286016133ed565b9150509250929050565b5f8115159050919050565b61357b81613567565b82525050565b5f6020820190506135945f830184613572565b92915050565b5f602082840312156135af576135ae6133ca565b5b5f6135bc84828501613515565b91505092915050565b5f819050919050565b5f6135e86135e36135de846134cf565b6135c5565b6134cf565b9050919050565b5f6135f9826135ce565b9050919050565b5f61360a826135ef565b9050919050565b61361a81613600565b82525050565b5f6020820190506136335f830184613611565b92915050565b613642816133ce565b82525050565b5f60208201905061365b5f830184613639565b92915050565b5f805f60608486031215613678576136776133ca565b5b5f61368586828701613515565b935050602061369686828701613515565b92505060406136a7868287016133ed565b9150509250925092565b5f60ff82169050919050565b6136c6816136b1565b82525050565b5f6020820190506136df5f8301846136bd565b92915050565b6136ee816134ee565b82525050565b5f6020820190506137075f8301846136e5565b92915050565b61371681613567565b8114613720575f80fd5b50565b5f813590506137318161370d565b92915050565b5f806040838503121561374d5761374c6133ca565b5b5f61375a85828601613515565b925050602061376b85828601613723565b9150509250929050565b5f6020828403121561378a576137896133ca565b5b5f61379784828501613723565b91505092915050565b5f602082840312156137b5576137b46133ca565b5b5f6137c2848285016133ed565b91505092915050565b5f80604083850312156137e1576137e06133ca565b5b5f6137ee85828601613515565b92505060206137ff85828601613515565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61383d602083613449565b915061384882613809565b602082019050919050565b5f6020820190508181035f83015261386a81613831565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6138a8826133ce565b91506138b3836133ce565b92508282019050808211156138cb576138ca613871565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061391557607f821691505b602082108103613928576139276138d1565b5b50919050565b5f819050919050565b5f61395161394c6139478461392e565b6135c5565b6133ce565b9050919050565b61396181613937565b82525050565b5f60c08201905061397a5f8301896136e5565b6139876020830188613639565b6139946040830187613958565b6139a16060830186613958565b6139ae60808301856136e5565b6139bb60a0830184613639565b979650505050505050565b5f815190506139d4816133d7565b92915050565b5f805f606084860312156139f1576139f06133ca565b5b5f6139fe868287016139c6565b9350506020613a0f868287016139c6565b9250506040613a20868287016139c6565b9150509250925092565b5f613a34826133ce565b9150613a3f836133ce565b9250828202613a4d816133ce565b91508282048414831517613a6457613a63613871565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613aa2826133ce565b9150613aad836133ce565b925082613abd57613abc613a6b565b5b828204905092915050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f613b22603583613449565b9150613b2d82613ac8565b604082019050919050565b5f6020820190508181035f830152613b4f81613b16565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f613bb0603483613449565b9150613bbb82613b56565b604082019050919050565b5f6020820190508181035f830152613bdd81613ba4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613c3e602683613449565b9150613c4982613be4565b604082019050919050565b5f6020820190508181035f830152613c6b81613c32565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613ccc602483613449565b9150613cd782613c72565b604082019050919050565b5f6020820190508181035f830152613cf981613cc0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613d5a602283613449565b9150613d6582613d00565b604082019050919050565b5f6020820190508181035f830152613d8781613d4e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613de8602583613449565b9150613df382613d8e565b604082019050919050565b5f6020820190508181035f830152613e1581613ddc565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613e76602383613449565b9150613e8182613e1c565b604082019050919050565b5f6020820190508181035f830152613ea381613e6a565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f613ede601683613449565b9150613ee982613eaa565b602082019050919050565b5f6020820190508181035f830152613f0b81613ed2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f613f92604983613449565b9150613f9d82613f12565b606082019050919050565b5f6020820190508181035f830152613fbf81613f86565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f614020603583613449565b915061402b82613fc6565b604082019050919050565b5f6020820190508181035f83015261404d81614014565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f614088601383613449565b915061409382614054565b602082019050919050565b5f6020820190508181035f8301526140b58161407c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f614116603683613449565b9150614121826140bc565b604082019050919050565b5f6020820190508181035f8301526141438161410a565b9050919050565b5f614154826133ce565b915061415f836133ce565b925082820390508181111561417757614176613871565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6141b1601b83613449565b91506141bc8261417d565b602082019050919050565b5f6020820190508181035f8301526141de816141a5565b9050919050565b5f81905092915050565b50565b5f6141fd5f836141e5565b9150614208826141ef565b5f82019050919050565b5f61421c826141f2565b9150819050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f614280602183613449565b915061428b82614226565b604082019050919050565b5f6020820190508181035f8301526142ad81614274565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061431c816134ff565b92915050565b5f60208284031215614337576143366133ca565b5b5f6143448482850161430e565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61437f816134ee565b82525050565b5f6143908383614376565b60208301905092915050565b5f602082019050919050565b5f6143b28261434d565b6143bc8185614357565b93506143c783614367565b805f5b838110156143f75781516143de8882614385565b97506143e98361439c565b9250506001810190506143ca565b5085935050505092915050565b5f60a0820190506144175f830188613639565b6144246020830187613958565b818103604083015261443681866143a8565b905061444560608301856136e5565b6144526080830184613639565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206c293ab7f2e003ad89c312c80ef0fb4dadad720b074724cf5561011d3cfa413b64736f6c63430008190033