[ { "inputs": [ { "internalType": "address", "name": "dev", "type": "address" } ], "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": false, "internalType": "uint256", "name": "buyTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyProjectTax", "type": "uint256" } ], "name": "BuyFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "DisabledTransferDelay", "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": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "LimitsRemoved", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxTx", "type": "uint256" } ], "name": "MaxTxUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxWallet", "type": "uint256" } ], "name": "MaxWalletUpdated", "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": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "ProjectWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "sellTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellProjectTax", "type": "uint256" } ], "name": "SellFeeUpdated", "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": "bool", "name": "enabled", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMin", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMax", "type": "uint256" } ], "name": "SwapbackSettingsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "TradingEnabled", "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" }, { "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": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "call", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "changeMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "changeProjectWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" } ], "name": "checkMappings", "outputs": [ { "internalType": "bool", "name": "_transferTaxExempt", "type": "bool" }, { "internalType": "bool", "name": "_transferLimitExempt", "type": "bool" }, { "internalType": "bool", "name": "_automatedMarketMakerPairs", "type": "bool" } ], "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": "dexPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableTransferDelay", "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": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "exemptFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "exemptFromLimits", "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": [], "name": "lastLpBurnTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "maxTxValues", "outputs": [ { "internalType": "bool", "name": "_limitsEnabled", "type": "bool" }, { "internalType": "bool", "name": "_transferDelayEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" }, { "internalType": "uint256", "name": "_maxTx", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "address_", "type": "address[]" }, { "internalType": "bool", "name": "val", "type": "bool" } ], "name": "multicall", "outputs": [], "stateMutability": "nonpayable", "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": "receiverwallets", "outputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" }, { "internalType": "address", "name": "_projectWallet", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeAllLimits", "outputs": [], "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": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "setFeesBuy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" } ], "name": "setFeesSell", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_min", "type": "uint256" }, { "internalType": "uint256", "name": "_max", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "setTheMaxTx", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "setTheMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapbackValues", "outputs": [ { "internalType": "bool", "name": "_swapbackEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_swapBackValueMin", "type": "uint256" }, { "internalType": "uint256", "name": "_swapBackValueMax", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxValues", "outputs": [ { "internalType": "uint256", "name": "_buyTaxTotal", "type": "uint256" }, { "internalType": "uint256", "name": "_buyMarketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "_buyProjectTax", "type": "uint256" }, { "internalType": "uint256", "name": "_sellTaxTotal", "type": "uint256" }, { "internalType": "uint256", "name": "_sellMarketingTax", "type": "uint256" }, { "internalType": "uint256", "name": "_sellProjectTax", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingEnabled", "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" }, { "stateMutability": "payable", "type": "receive" } ]
60a06040526000600860156101000a81548160ff0219169083151502179055506001600b5565013ca6512000600c556001601160006101000a81548160ff0219169083151502179055506001601160016101000a81548160ff0219169083151502179055506001601160026101000a81548160ff0219169083151502179055506000601160036101000a81548160ff021916908315150217905550348015620000a757600080fd5b50604051620062a6380380620062a68339818101604052810190620000cd919062000b7c565b806040518060400160405280600981526020017f5175696c205377617000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5155494c0000000000000000000000000000000000000000000000000000000081525081600390816200014b919062000e28565b5080600490816200015d919062000e28565b50505080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001c1620001b5620004e160201b60201c565b620004e960201b60201c565b506000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000620001ed620005af60201b60201c565b600a620001fb91906200109f565b633b9aca006200020c9190620010f0565b905062000221826001620005b860201b60201c565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506000601490506000806014905060006103e8600a86620002769190620010f0565b6200028291906200116a565b600f819055506103e8600a866200029a9190620010f0565b620002a691906200116a565b600e819055506103e8600186620002be9190620010f0565b620002ca91906200116a565b6009819055506064600286620002e19190620010f0565b620002ed91906200116a565b600a819055508160178190555080601881905550601854601754620003139190620011a2565b6016819055508360148190555082601581905550601554601454620003399190620011a2565b60138190555033601160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003d43360016200067360201b60201c565b620003e73060016200067360201b60201c565b620003fc61dead60016200067360201b60201c565b62000431601160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200067360201b60201c565b62000444336001620005b860201b60201c565b62000457306001620005b860201b60201c565b6200046c61dead6001620005b860201b60201c565b620004a1601160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620005b860201b60201c565b620004b2336200072e60201b60201c565b620004c43386620007c460201b60201c565b620004d46200093c60201b60201c565b50505050505050620013d2565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006009905090565b620005c8620009b160201b60201c565b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9282604051620006679190620011fa565b60405180910390a25050565b62000683620009b160201b60201c565b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620007229190620011fa565b60405180910390a25050565b6200073e620009b160201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620007b0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007a7906200129e565b60405180910390fd5b620007c181620004e960201b60201c565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000836576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200082d9062001310565b60405180910390fd5b6200084a6000838362000a4260201b60201c565b80600260008282546200085e9190620011a2565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620008b59190620011a2565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200091c919062001343565b60405180910390a3620009386000838362000a4760201b60201c565b5050565b6200094c620009b160201b60201c565b6001601160036101000a81548160ff0219169083151502179055506000601160006101000a81548160ff021916908315150217905550427fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92360405160405180910390a2565b620009c1620004e160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620009e762000a4c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000a40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a3790620013b0565b60405180910390fd5b565b505050565b505050565b60008062000a5f62000a6860201b60201c565b90508091505090565b60008073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000ae957600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662000b0d565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b448262000b17565b9050919050565b62000b568162000b37565b811462000b6257600080fd5b50565b60008151905062000b768162000b4b565b92915050565b60006020828403121562000b955762000b9462000b12565b5b600062000ba58482850162000b65565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c3057607f821691505b60208210810362000c465762000c4562000be8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000cb07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c71565b62000cbc868362000c71565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000d0962000d0362000cfd8462000cd4565b62000cde565b62000cd4565b9050919050565b6000819050919050565b62000d258362000ce8565b62000d3d62000d348262000d10565b84845462000c7e565b825550505050565b600090565b62000d5462000d45565b62000d6181848462000d1a565b505050565b5b8181101562000d895762000d7d60008262000d4a565b60018101905062000d67565b5050565b601f82111562000dd85762000da28162000c4c565b62000dad8462000c61565b8101602085101562000dbd578190505b62000dd562000dcc8562000c61565b83018262000d66565b50505b505050565b600082821c905092915050565b600062000dfd6000198460080262000ddd565b1980831691505092915050565b600062000e18838362000dea565b9150826002028217905092915050565b62000e338262000bae565b67ffffffffffffffff81111562000e4f5762000e4e62000bb9565b5b62000e5b825462000c17565b62000e6882828562000d8d565b600060209050601f83116001811462000ea0576000841562000e8b578287015190505b62000e97858262000e0a565b86555062000f07565b601f19841662000eb08662000c4c565b60005b8281101562000eda5784890151825560018201915060208501945060208101905062000eb3565b8683101562000efa578489015162000ef6601f89168262000dea565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000f9d5780860481111562000f755762000f7462000f0f565b5b600185161562000f855780820291505b808102905062000f958562000f3e565b945062000f55565b94509492505050565b60008262000fb857600190506200108b565b8162000fc857600090506200108b565b816001811462000fe1576002811462000fec5762001022565b60019150506200108b565b60ff84111562001001576200100062000f0f565b5b8360020a9150848211156200101b576200101a62000f0f565b5b506200108b565b5060208310610133831016604e8410600b84101617156200105c5782820a90508381111562001056576200105562000f0f565b5b6200108b565b6200106b848484600162000f4b565b9250905081840481111562001085576200108462000f0f565b5b81810290505b9392505050565b600060ff82169050919050565b6000620010ac8262000cd4565b9150620010b98362001092565b9250620010e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000fa6565b905092915050565b6000620010fd8262000cd4565b91506200110a8362000cd4565b92508282026200111a8162000cd4565b9150828204841483151762001134576200113362000f0f565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620011778262000cd4565b9150620011848362000cd4565b9250826200119757620011966200113b565b5b828204905092915050565b6000620011af8262000cd4565b9150620011bc8362000cd4565b9250828201905080821115620011d757620011d662000f0f565b5b92915050565b60008115159050919050565b620011f481620011dd565b82525050565b6000602082019050620012116000830184620011e9565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006200128660268362001217565b9150620012938262001228565b604082019050919050565b60006020820190508181036000830152620012b98162001277565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620012f8601f8362001217565b91506200130582620012c0565b602082019050919050565b600060208201905081810360008301526200132b81620012e9565b9050919050565b6200133d8162000cd4565b82525050565b60006020820190506200135a600083018462001332565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006200139860208362001217565b9150620013a58262001360565b602082019050919050565b60006020820190508181036000830152620013cb8162001389565b9050919050565b608051614ea362001403600039600081816122fb0152818161344201528181613523015261354a0152614ea36000f3fe6080604052600436106102605760003560e01c80638da5cb5b11610144578063d0889358116100b6578063f242ab411161007a578063f242ab41146108d0578063f2fde38b146108fb578063f3dc390214610924578063f55332ab14610954578063fab82a8e14610991578063fcbb7607146109bd57610267565b8063d0889358146107fd578063db05e5cb14610826578063dd62ed3e1461083d578063e13b20071461087a578063e884f260146108b957610267565b80639fe64094116101085780639fe64094146106dd578063a457c2d714610706578063a4c82a0014610743578063a9059cbb1461076e578063bb85c6d1146107ab578063c2b7bbb6146107d457610267565b80638da5cb5b1461060c57806395d89b411461063757806399e5b5c8146106625780639a7a23d61461068b5780639b6b5499146106b457610267565b8063313ce567116101dd57806352d65858116101a157806352d65858146105105780635580145f1461053957806370a0823114610562578063715018a61461059f578063730c1888146105b657806377b5312c146105df57610267565b8063313ce5671461042657806331f8151114610451578063395093511461047f5780634ada218b146104bc5780634b896a3e146104e757610267565b806323b872dd1161022457806323b872dd1461035357806326ededb814610390578063293230b8146103b95780632c3e486c146103d05780632e82f1a0146103fb57610267565b806306fdde031461026c578063095ea7b3146102975780631111f43f146102d457806318160ddd146102fd578063199ffc721461032857610267565b3661026757005b600080fd5b34801561027857600080fd5b506102816109e6565b60405161028e919061369c565b60405180910390f35b3480156102a357600080fd5b506102be60048036038101906102b9919061375c565b610a78565b6040516102cb91906137b7565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f69190613863565b610a96565b005b34801561030957600080fd5b50610312610b43565b60405161031f91906138d2565b60405180910390f35b34801561033457600080fd5b5061033d610b4d565b60405161034a91906138d2565b60405180910390f35b34801561035f57600080fd5b5061037a600480360381019061037591906138ed565b610b53565b60405161038791906137b7565b60405180910390f35b34801561039c57600080fd5b506103b760048036038101906103b29190613940565b610c4b565b005b3480156103c557600080fd5b506103ce610d28565b005b3480156103dc57600080fd5b506103e5610d95565b6040516103f291906138d2565b60405180910390f35b34801561040757600080fd5b50610410610d9b565b60405161041d91906137b7565b60405180910390f35b34801561043257600080fd5b5061043b610dae565b60405161044891906139bc565b60405180910390f35b34801561045d57600080fd5b50610466610db7565b60405161047694939291906139d7565b60405180910390f35b34801561048b57600080fd5b506104a660048036038101906104a1919061375c565b610df1565b6040516104b391906137b7565b60405180910390f35b3480156104c857600080fd5b506104d1610e9d565b6040516104de91906137b7565b60405180910390f35b3480156104f357600080fd5b5061050e60048036038101906105099190613a1c565b610eb0565b005b34801561051c57600080fd5b5061053760048036038101906105329190613a49565b610f5e565b005b34801561054557600080fd5b50610560600480360381019061055b9190613a1c565b611015565b005b34801561056e57600080fd5b5061058960048036038101906105849190613a89565b6110c3565b60405161059691906138d2565b60405180910390f35b3480156105ab57600080fd5b506105b461110b565b005b3480156105c257600080fd5b506105dd60048036038101906105d89190613ab6565b61111f565b005b3480156105eb57600080fd5b506105f46111eb565b60405161060393929190613b09565b60405180910390f35b34801561061857600080fd5b50610621611211565b60405161062e9190613b4f565b60405180910390f35b34801561064357600080fd5b5061064c61123b565b604051610659919061369c565b60405180910390f35b34801561066e57600080fd5b5061068960048036038101906106849190613a89565b6112cd565b005b34801561069757600080fd5b506106b260048036038101906106ad9190613b6a565b611395565b005b3480156106c057600080fd5b506106db60048036038101906106d69190613b6a565b61143b565b005b3480156106e957600080fd5b5061070460048036038101906106ff9190613a49565b6114ec565b005b34801561071257600080fd5b5061072d6004803603810190610728919061375c565b6115a3565b60405161073a91906137b7565b60405180910390f35b34801561074f57600080fd5b5061075861168e565b60405161076591906138d2565b60405180910390f35b34801561077a57600080fd5b506107956004803603810190610790919061375c565b611694565b6040516107a291906137b7565b60405180910390f35b3480156107b757600080fd5b506107d260048036038101906107cd9190613a89565b6116b2565b005b3480156107e057600080fd5b506107fb60048036038101906107f69190613a89565b61177a565b005b34801561080957600080fd5b50610824600480360381019061081f9190613baa565b6117c6565b005b34801561083257600080fd5b5061083b6118fb565b005b34801561084957600080fd5b50610864600480360381019061085f9190613bfd565b61194d565b60405161087191906138d2565b60405180910390f35b34801561088657600080fd5b506108a1600480360381019061089c9190613a89565b6119d4565b6040516108b093929190613c3d565b60405180910390f35b3480156108c557600080fd5b506108ce611acd565b005b3480156108dc57600080fd5b506108e5611b1f565b6040516108f29190613b4f565b60405180910390f35b34801561090757600080fd5b50610922600480360381019061091d9190613a89565b611b45565b005b34801561093057600080fd5b50610939611bc8565b60405161094b96959493929190613c74565b60405180910390f35b34801561096057600080fd5b5061097b60048036038101906109769190613a89565b611bf7565b60405161098891906137b7565b60405180910390f35b34801561099d57600080fd5b506109a6611c4d565b6040516109b4929190613cd5565b60405180910390f35b3480156109c957600080fd5b506109e460048036038101906109df9190613b6a565b611c9e565b005b6060600380546109f590613d2d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2190613d2d565b8015610a6e5780601f10610a4357610100808354040283529160200191610a6e565b820191906000526020600020905b815481529060010190602001808311610a5157829003601f168201915b5050505050905090565b6000610a8c610a85611d4f565b8484611d57565b6001905092915050565b610a9e611f20565b60005b83839050811015610b3d5781601e6000868685818110610ac457610ac3613d5e565b5b9050602002016020810190610ad99190613a89565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b3590613dbc565b915050610aa1565b50505050565b6000600254905090565b600b5481565b6000610b60848484611f9e565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610bab611d4f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2290613e76565b60405180910390fd5b610c3f85610c37611d4f565b858403611d57565b60019150509392505050565b610c53611f20565b60005b83839050811015610d2257838382818110610c7457610c73613d5e565b5b9050602002016020810190610c899190613a89565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d0791906138d2565b60405180910390a38080610d1a90613dbc565b915050610c56565b50505050565b610d30611f20565b6001601160036101000a81548160ff0219169083151502179055506000601160006101000a81548160ff021916908315150217905550427fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92360405160405180910390a2565b600c5481565b601160029054906101000a900460ff1681565b60006009905090565b600080600080601160009054906101000a900460ff169350601160019054906101000a900460ff169250600e549150600f54905090919293565b6000610e93610dfe611d4f565b848460016000610e0c611d4f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8e9190613e96565b611d57565b6001905092915050565b601160039054906101000a900460ff1681565b610eb8611f20565b6005811015610efc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef390613f3c565b60405180910390fd5b6103e8610f07610b43565b82610f129190613f5c565b610f1c9190613fcd565b600e819055507f12528a3c61e0f3b2d6fc707a9fc58b1af86e252cad0d7f4c154ebeabb162dace600e54604051610f5391906138d2565b60405180910390a150565b610f66611f20565b8160178190555080601881905550601854601754610f849190613e96565b60168190555060646016541115610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc790614070565b60405180910390fd5b7f38513c502b0ab4834ac1df9502b76f75dcf7092469782cfd0db7fe664388e25e60165460175460185460405161100993929190614090565b60405180910390a15050565b61101d611f20565b6002811015611061576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105890614113565b60405180910390fd5b6103e861106c610b43565b826110779190613f5c565b6110819190613fcd565b600f819055507fff3dd5e80294197918c284bbfc3dadd97d0b40ce92106110946329088f80068a600f546040516110b891906138d2565b60405180910390a150565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611113611f20565b61111d6000612c0a565b565b611127611f20565b61025883101561116c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611163906141a5565b60405180910390fd5b6103e8821115801561117f575060008210155b6111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b590614237565b60405180910390fd5b82600c8190555081600b8190555080601160026101000a81548160ff021916908315150217905550505050565b6000806000600860159054906101000a900460ff1692506009549150600a549050909192565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461124a90613d2d565b80601f016020809104026020016040519081016040528092919081815260200182805461127690613d2d565b80156112c35780601f10611298576101008083540402835291602001916112c3565b820191906000526020600020905b8154815290600101906020018083116112a657829003601f168201915b5050505050905090565b6112d5611f20565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fb91dbdeaf34f885ccae2d8abc3967cb03c079b6af2c7944e3893fd29427d75e760405160405180910390a380601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61139d611f20565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361142d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611424906142c9565b60405180910390fd5b6114378282612cd0565b5050565b611443611f20565b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516114e091906137b7565b60405180910390a25050565b6114f4611f20565b81601481905550806015819055506015546014546115129190613e96565b6013819055506064601354111561155e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115559061435b565b60405180910390fd5b7fcb5f36df892836a2eaedc349de29a7581176990398ee185d16eaa8f6c1abd8f160135460145460155460405161159793929190614090565b60405180910390a15050565b600080600160006115b2611d4f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561166f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611666906143ed565b60405180910390fd5b61168361167a611d4f565b85858403611d57565b600191505092915050565b600d5481565b60006116a86116a1611d4f565b8484611f9e565b6001905092915050565b6116ba611f20565b601160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6760405160405180910390a380601160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611782611f20565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6117ce611f20565b6001821015611812576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118099061447f565b60405180910390fd5b81811015611855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184c90614511565b60405180910390fd5b82600860156101000a81548160ff0219169083151502179055506127108261187b610b43565b6118859190613f5c565b61188f9190613fcd565b600981905550612710816118a1610b43565b6118ab9190613f5c565b6118b59190613fcd565b600a819055507f52cd2cdb42ff0eeec9362d7ed5b04f64c8d022697128b5378fc51cea7e63c7798383836040516118ee93929190613b09565b60405180910390a1505050565b611903611f20565b6000601160006101000a81548160ff021916908315150217905550427ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261660405160405180910390a2565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806000601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169250601c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169150601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690509193909250565b611ad5611f20565b6000601160016101000a81548160ff021916908315150217905550427f26e776fcf7ca20aa79b5b946e9b5111f47205539ece9d7a7995271dd6a8b5bad60405160405180910390a2565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611b4d611f20565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611bbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb3906145a3565b60405180910390fd5b611bc581612c0a565b50565b600080600080600080601654955060175494506018549350601354925060145491506015549050909192939495565b6000601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080601160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915091509091565b611ca6611f20565b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9282604051611d4391906137b7565b60405180910390a25050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbd90614635565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c906146c7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611f1391906138d2565b60405180910390a3505050565b611f28611d4f565b73ffffffffffffffffffffffffffffffffffffffff16611f46612d71565b73ffffffffffffffffffffffffffffffffffffffff1614611f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9390614733565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361200d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612004906147c5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361207c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207390614857565b60405180910390fd5b600081036120955761209083836000612d85565b612c05565b601160009054906101000a900460ff161561275a576120b2611211565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561212057506120f0611211565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121595750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612193575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121ac5750600860149054906101000a900460ff16155b1561275957601160039054906101000a900460ff166122a657601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122665750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6122a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229c906148e9565b60405180910390fd5b5b601160019054906101000a900460ff1615612470576122c3611211565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561234a57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156123a45750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561246f5743601060003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061242a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612421906149a1565b60405180910390fd5b43601060003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156125135750601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156125ba57600f5481111561255d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255490614a33565b60405180910390fd5b600e54612569836110c3565b826125749190613e96565b11156125b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ac90614a9f565b60405180910390fd5b612758565b601d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561265d5750601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126ac57600f548111156126a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269e90614b31565b60405180910390fd5b612757565b601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661275657600e54612709836110c3565b826127149190613e96565b1115612755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274c90614a9f565b60405180910390fd5b5b5b5b5b5b6000612765306110c3565b90506000600954821015905080801561278a5750600860159054906101000a900460ff165b80156127a35750600860149054906101000a900460ff16155b80156127f95750601d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561284f5750601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128a55750601b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156128e9576001600860146101000a81548160ff0219169083151502179055506128cd613004565b6000600860146101000a81548160ff0219169083151502179055505b6000600860149054906101000a900460ff16159050601b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061299f5750601b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156129a957600090505b60008115612bbc57601d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612a0c57506000601354115b15612aa657612a396064612a2b601354886131c290919063ffffffff16565b6131d890919063ffffffff16565b905060135460155482612a4c9190613f5c565b612a569190613fcd565b601a6000828254612a679190613e96565b9250508190555060135460145482612a7f9190613f5c565b612a899190613fcd565b60196000828254612a9a9190613e96565b92505081905550612b98565b601d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612b0157506000601654115b15612b9757612b2e6064612b20601654886131c290919063ffffffff16565b6131d890919063ffffffff16565b905060165460185482612b419190613f5c565b612b4b9190613fcd565b601a6000828254612b5c9190613e96565b9250508190555060165460175482612b749190613f5c565b612b7e9190613fcd565b60196000828254612b8f9190613e96565b925050819055505b5b6000811115612bad57612bac873083612d85565b5b8085612bb99190614b51565b94505b600860149054906101000a900460ff16158015612be55750601160029054906101000a900460ff165b15612bf557612bf3876131ee565b505b612c00878787612d85565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600080612d7c6132f1565b90508091505090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612df4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612deb906147c5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5a90614857565b60405180910390fd5b612e6e838383613399565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612ef4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eeb90614bf7565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f879190613e96565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612feb91906138d2565b60405180910390a3612ffe84848461339e565b50505050565b600061300f306110c3565b905060008190506000808303613027575050506131c0565b600a5483111561303757600a5492505b6000839050600047905061304a826133a3565b600061305f82476135e090919063ffffffff16565b9050600061308a8661307c601a54856131c290919063ffffffff16565b6131d890919063ffffffff16565b905060006019819055506000601a81905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816040516130e290614c48565b60006040518083038185875af1925050503d806000811461311f576040519150601f19603f3d011682016040523d82523d6000602084013e613124565b606091505b505080955050601160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161317090614c48565b60006040518083038185875af1925050503d80600081146131ad576040519150601f19603f3d011682016040523d82523d6000602084013e6131b2565b606091505b505080955050505050505050505b565b600081836131d09190613f5c565b905092915050565b600081836131e69190613fcd565b905092915050565b6000803073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161322a9190613b4f565b602060405180830381865afa158015613247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061326b9190614c72565b90506000613284600b54836135f690919063ffffffff16565b9050601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156132e657600081146132e557600080fd5b5b600192505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461337057600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613394565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b505050565b505050565b6000600267ffffffffffffffff8111156133c0576133bf614c9f565b5b6040519080825280602002602001820160405280156133ee5781602001602082028036833780820191505090505b509050308160008151811061340657613405613d5e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134cf9190614ce3565b816001815181106134e3576134e2613d5e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613548307f000000000000000000000000000000000000000000000000000000000000000084611d57565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016135aa959493929190614e13565b600060405180830381600087803b1580156135c457600080fd5b505af11580156135d8573d6000803e3d6000fd5b505050505050565b600081836135ee9190614b51565b905092915050565b600081836136049190613e96565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561364657808201518184015260208101905061362b565b60008484015250505050565b6000601f19601f8301169050919050565b600061366e8261360c565b6136788185613617565b9350613688818560208601613628565b61369181613652565b840191505092915050565b600060208201905081810360008301526136b68184613663565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006136f3826136c8565b9050919050565b613703816136e8565b811461370e57600080fd5b50565b600081359050613720816136fa565b92915050565b6000819050919050565b61373981613726565b811461374457600080fd5b50565b60008135905061375681613730565b92915050565b60008060408385031215613773576137726136be565b5b600061378185828601613711565b925050602061379285828601613747565b9150509250929050565b60008115159050919050565b6137b18161379c565b82525050565b60006020820190506137cc60008301846137a8565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126137f7576137f66137d2565b5b8235905067ffffffffffffffff811115613814576138136137d7565b5b6020830191508360208202830111156138305761382f6137dc565b5b9250929050565b6138408161379c565b811461384b57600080fd5b50565b60008135905061385d81613837565b92915050565b60008060006040848603121561387c5761387b6136be565b5b600084013567ffffffffffffffff81111561389a576138996136c3565b5b6138a6868287016137e1565b935093505060206138b98682870161384e565b9150509250925092565b6138cc81613726565b82525050565b60006020820190506138e760008301846138c3565b92915050565b600080600060608486031215613906576139056136be565b5b600061391486828701613711565b935050602061392586828701613711565b925050604061393686828701613747565b9150509250925092565b600080600060408486031215613959576139586136be565b5b600084013567ffffffffffffffff811115613977576139766136c3565b5b613983868287016137e1565b9350935050602061399686828701613747565b9150509250925092565b600060ff82169050919050565b6139b6816139a0565b82525050565b60006020820190506139d160008301846139ad565b92915050565b60006080820190506139ec60008301876137a8565b6139f960208301866137a8565b613a0660408301856138c3565b613a1360608301846138c3565b95945050505050565b600060208284031215613a3257613a316136be565b5b6000613a4084828501613747565b91505092915050565b60008060408385031215613a6057613a5f6136be565b5b6000613a6e85828601613747565b9250506020613a7f85828601613747565b9150509250929050565b600060208284031215613a9f57613a9e6136be565b5b6000613aad84828501613711565b91505092915050565b600080600060608486031215613acf57613ace6136be565b5b6000613add86828701613747565b9350506020613aee86828701613747565b9250506040613aff8682870161384e565b9150509250925092565b6000606082019050613b1e60008301866137a8565b613b2b60208301856138c3565b613b3860408301846138c3565b949350505050565b613b49816136e8565b82525050565b6000602082019050613b646000830184613b40565b92915050565b60008060408385031215613b8157613b806136be565b5b6000613b8f85828601613711565b9250506020613ba08582860161384e565b9150509250929050565b600080600060608486031215613bc357613bc26136be565b5b6000613bd18682870161384e565b9350506020613be286828701613747565b9250506040613bf386828701613747565b9150509250925092565b60008060408385031215613c1457613c136136be565b5b6000613c2285828601613711565b9250506020613c3385828601613711565b9150509250929050565b6000606082019050613c5260008301866137a8565b613c5f60208301856137a8565b613c6c60408301846137a8565b949350505050565b600060c082019050613c8960008301896138c3565b613c9660208301886138c3565b613ca360408301876138c3565b613cb060608301866138c3565b613cbd60808301856138c3565b613cca60a08301846138c3565b979650505050505050565b6000604082019050613cea6000830185613b40565b613cf76020830184613b40565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613d4557607f821691505b602082108103613d5857613d57613cfe565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613dc782613726565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613df957613df8613d8d565b5b600182019050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613e60602883613617565b9150613e6b82613e04565b604082019050919050565b60006020820190508181036000830152613e8f81613e53565b9050919050565b6000613ea182613726565b9150613eac83613726565b9250828201905080821115613ec457613ec3613d8d565b5b92915050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613f26602483613617565b9150613f3182613eca565b604082019050919050565b60006020820190508181036000830152613f5581613f19565b9050919050565b6000613f6782613726565b9150613f7283613726565b9250828202613f8081613726565b91508282048414831517613f9757613f96613d8d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fd882613726565b9150613fe383613726565b925082613ff357613ff2613f9e565b5b828204905092915050565b7f546f74616c20627579206665652063616e6e6f7420626520686967686572207460008201527f68616e2031303025000000000000000000000000000000000000000000000000602082015250565b600061405a602883613617565b915061406582613ffe565b604082019050919050565b600060208201905081810360008301526140898161404d565b9050919050565b60006060820190506140a560008301866138c3565b6140b260208301856138c3565b6140bf60408301846138c3565b949350505050565b7f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e3225600082015250565b60006140fd602083613617565b9150614108826140c7565b602082019050919050565b6000602082019050818103600083015261412c816140f0565b9050919050565b7f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e20746860008201527f616e206576657279203130206d696e7574657300000000000000000000000000602082015250565b600061418f603383613617565b915061419a82614133565b604082019050919050565b600060208201905081810360008301526141be81614182565b9050919050565b7f4d75737420736574206175746f204c50206275726e2070657263656e7420626560008201527f747765656e20302520616e642031302500000000000000000000000000000000602082015250565b6000614221603083613617565b915061422c826141c5565b604082019050919050565b6000602082019050818103600083015261425081614214565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b60006142b3603983613617565b91506142be82614257565b604082019050919050565b600060208201905081810360008301526142e2816142a6565b9050919050565b7f546f74616c2073656c6c206665652063616e6e6f74206265206869676865722060008201527f7468616e20313030250000000000000000000000000000000000000000000000602082015250565b6000614345602983613617565b9150614350826142e9565b604082019050919050565b6000602082019050818103600083015261437481614338565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006143d7602583613617565b91506143e28261437b565b604082019050919050565b60006020820190508181036000830152614406816143ca565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e30312520746f74616c20737570706c792e000000000000000000000000602082015250565b6000614469603483613617565b91506144748261440d565b604082019050919050565b600060208201905081810360008301526144988161445c565b9050919050565b7f6d6178696d756d20616d6f756e742063616e742062652068696768657220746860008201527f616e206d696e696d756d00000000000000000000000000000000000000000000602082015250565b60006144fb602a83613617565b91506145068261449f565b604082019050919050565b6000602082019050818103600083015261452a816144ee565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061458d602683613617565b915061459882614531565b604082019050919050565b600060208201905081810360008301526145bc81614580565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061461f602483613617565b915061462a826145c3565b604082019050919050565b6000602082019050818103600083015261464e81614612565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006146b1602283613617565b91506146bc82614655565b604082019050919050565b600060208201905081810360008301526146e0816146a4565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061471d602083613617565b9150614728826146e7565b602082019050919050565b6000602082019050818103600083015261474c81614710565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006147af602583613617565b91506147ba82614753565b604082019050919050565b600060208201905081810360008301526147de816147a2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614841602383613617565b915061484c826147e5565b604082019050919050565b6000602082019050818103600083015261487081614834565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f7420616374697660008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b60006148d3602283613617565b91506148de82614877565b604082019050919050565b60006020820190508181036000830152614902816148c6565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b600061498b604983613617565b915061499682614909565b606082019050919050565b600060208201905081810360008301526149ba8161497e565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b6000614a1d602683613617565b9150614a28826149c1565b604082019050919050565b60006020820190508181036000830152614a4c81614a10565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000614a89601383613617565b9150614a9482614a53565b602082019050919050565b60006020820190508181036000830152614ab881614a7c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b6000614b1b602783613617565b9150614b2682614abf565b604082019050919050565b60006020820190508181036000830152614b4a81614b0e565b9050919050565b6000614b5c82613726565b9150614b6783613726565b9250828203905081811115614b7f57614b7e613d8d565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614be1602683613617565b9150614bec82614b85565b604082019050919050565b60006020820190508181036000830152614c1081614bd4565b9050919050565b600081905092915050565b50565b6000614c32600083614c17565b9150614c3d82614c22565b600082019050919050565b6000614c5382614c25565b9150819050919050565b600081519050614c6c81613730565b92915050565b600060208284031215614c8857614c876136be565b5b6000614c9684828501614c5d565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050614cdd816136fa565b92915050565b600060208284031215614cf957614cf86136be565b5b6000614d0784828501614cce565b91505092915050565b6000819050919050565b6000819050919050565b6000614d3f614d3a614d3584614d10565b614d1a565b613726565b9050919050565b614d4f81614d24565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614d8a816136e8565b82525050565b6000614d9c8383614d81565b60208301905092915050565b6000602082019050919050565b6000614dc082614d55565b614dca8185614d60565b9350614dd583614d71565b8060005b83811015614e06578151614ded8882614d90565b9750614df883614da8565b925050600181019050614dd9565b5085935050505092915050565b600060a082019050614e2860008301886138c3565b614e356020830187614d46565b8181036040830152614e478186614db5565b9050614e566060830185613b40565b614e6360808301846138c3565b969550505050505056fea26469706673582212209dc630571cb349e38f3dc7fd9dbf4b78834da7cbbd6b8533c511493eb157d09564736f6c634300081300330000000000000000000000004deb2077ad3051f305ac18a7b823ebdd8d657e93