ETH Price: $1,793.47 (+1.19%)

Token

SPCX6900 (SPCX)
 

Overview

Max Total Supply

1,000,000,000 SPCX

Holders

203

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume
Source Code Verified Exact Match

Contract Name

Token

Compiler Version
v0.8.34+commit.80d5c536
Optimization Enabled
No with 200 runs
Other Settings
default evmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[],"stateMutability":"payable","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":[],"name":"AutoNukeLP","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sniper","type":"address"}],"name":"BoughtEarly","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[],"name":"ManualNukeLP","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"devWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"marketingWalletUpdated","type":"event"},{"inputs":[],"name":"OpenTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isBlacklisted","type":"bool"}],"name":"blacklistAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","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":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableTransferDelay","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"earlySellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"earlySellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableEarlySellTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","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":"sellLiquidityFee","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":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setEarlySellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMarketingWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_earlySellLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"_earlySellMarketingFee","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"},{"stateMutability":"payable","type":"receive"}]
60c06040526001600b5f6101000a81548160ff0219169083151502179055505f600b60016101000a81548160ff0219169083151502179055505f600b60026101000a81548160ff0219169083151502179055506001600b60036101000a81548160ff0219169083151502179055506001600f5f6101000a81548160ff0219169083151502179055506040518060400160405280600881526020017f53504358363930300000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f535043580000000000000000000000000000000000000000000000000000000081525081600390816101029190610d3c565b5080600490816101129190610d3c565b5050505f6101246105f760201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d90503360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061026a8160016105fe60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030b9190610e69565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610370573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103949190610e69565b6040518363ffffffff1660e01b81526004016103b1929190610ea3565b6020604051808303815f875af11580156103cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f19190610e69565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505061043760a05160016105fe60201b60201c565b61044a60a05160016106f260201b60201c565b5f5f90505f5f90505f5f90505f5f90505f5f90505f5f90505f5f90505f5f90505f670de0b6b3a764000090506103e86014826104869190610ef7565b6104909190610f65565b6008819055506103e86014826104a69190610ef7565b6104b09190610f65565b600a819055506127106005826104c69190610ef7565b6104d09190610f65565b6009819055508860118190555087601281905550866013819055506013546012546011546104fe9190610f95565b6105089190610f95565b6010819055508560158190555084601681905550836017819055506017546016546015546105369190610f95565b6105409190610f95565b601481905550826018819055508160198190555061057261056561079060201b60201c565b60016107b860201b60201c565b6105833060016107b860201b60201c565b61059661dead60016107b860201b60201c565b6105b46105a761079060201b60201c565b60016105fe60201b60201c565b6105c53060016105fe60201b60201c565b6105d861dead60016105fe60201b60201c565b6105e830826108fa60201b60201c565b5050505050505050505061116b565b5f33905090565b61060c6105f760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461069a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069190611022565b60405180910390fd5b80601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6107c66105f760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084b90611022565b60405180910390fd5b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516108ee919061105a565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610968576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095f906110bd565b60405180910390fd5b6109795f8383610a8c60201b60201c565b61098e81600254610a9160201b90919060201c565b6002819055506109e3815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a9160201b90919060201c565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a8091906110ea565b60405180910390a35050565b505050565b5f5f8284610a9f9190610f95565b905083811015610ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adb9061114d565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610b6957607f821691505b602082108103610b7c57610b7b610b25565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610bde7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610ba3565b610be88683610ba3565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610c2c610c27610c2284610c00565b610c09565b610c00565b9050919050565b5f819050919050565b610c4583610c12565b610c59610c5182610c33565b848454610baf565b825550505050565b5f5f905090565b610c70610c61565b610c7b818484610c3c565b505050565b5f5b82811015610ca157610c965f828401610c68565b600181019050610c82565b505050565b601f821115610cf45782821115610cf357610cc081610b82565b610cc983610b94565b610cd285610b94565b6020861015610cdf575f90505b808301610cee82840382610c80565b505050505b5b505050565b5f82821c905092915050565b5f610d145f1984600802610cf9565b1980831691505092915050565b5f610d2c8383610d05565b9150826002028217905092915050565b610d4582610aee565b67ffffffffffffffff811115610d5e57610d5d610af8565b5b610d688254610b52565b610d73828285610ca6565b5f60209050601f831160018114610da4575f8415610d92578287015190505b610d9c8582610d21565b865550610e03565b601f198416610db286610b82565b5f5b82811015610dd957848901518255600182019150602085019450602081019050610db4565b86831015610df65784890151610df2601f891682610d05565b8355505b6001600288020188555050505b505050505050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e3882610e0f565b9050919050565b610e4881610e2e565b8114610e52575f5ffd5b50565b5f81519050610e6381610e3f565b92915050565b5f60208284031215610e7e57610e7d610e0b565b5b5f610e8b84828501610e55565b91505092915050565b610e9d81610e2e565b82525050565b5f604082019050610eb65f830185610e94565b610ec36020830184610e94565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610f0182610c00565b9150610f0c83610c00565b9250828202610f1a81610c00565b91508282048414831517610f3157610f30610eca565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610f6f82610c00565b9150610f7a83610c00565b925082610f8a57610f89610f38565b5b828204905092915050565b5f610f9f82610c00565b9150610faa83610c00565b9250828201905080821115610fc257610fc1610eca565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61100c602083610fc8565b915061101782610fd8565b602082019050919050565b5f6020820190508181035f83015261103981611000565b9050919050565b5f8115159050919050565b61105481611040565b82525050565b5f60208201905061106d5f83018461104b565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6110a7601f83610fc8565b91506110b282611073565b602082019050919050565b5f6020820190508181035f8301526110d48161109b565b9050919050565b6110e481610c00565b82525050565b5f6020820190506110fd5f8301846110db565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f611137601b83610fc8565b915061114282611103565b602082019050919050565b5f6020820190508181035f8301526111648161112b565b9050919050565b60805160a051615c736111fc5f395f818161138f0152818161153701528181611d7d01528181612f610152818161336d015281816135fc015281816136f301528181613c0201528181613c5f0152613c9b01525f8181610e6301528181611509015281816115730152818161161301528181612f090152818161451a015281816145f901526146200152615c735ff3fe608060405260043610610384575f3560e01c80638ea5220f116101d0578063bbc0c74211610101578063dd62ed3e1161009f578063f2fde38b1161006e578063f2fde38b14610cf3578063f637434214610d1b578063f8b45b0514610d45578063ff935af614610d6f5761038b565b8063dd62ed3e14610c39578063e2f4560514610c75578063e884f26014610c9f578063f11a24d314610cc95761038b565b8063c876d0b9116100db578063c876d0b914610b7f578063c8c8ebe414610ba9578063d257b34f14610bd3578063d85ba06314610c0f5761038b565b8063bbc0c74214610b05578063c024666814610b2f578063c18bc19514610b575761038b565b8063a0d82dc51161016e578063a4d15b6411610148578063a4d15b6414610a3b578063a9059cbb14610a65578063aacebbe314610aa1578063b62496f514610ac95761038b565b8063a0d82dc5146109ad578063a2657778146109d7578063a457c2d7146109ff5761038b565b806395d89b41116101aa57806395d89b41146109075780639a7a23d6146109315780639c3b4fdc146109595780639fccce32146109835761038b565b80638ea5220f1461088b57806392136913146108b5578063924de9b7146108df5761038b565b806349bd5a5e116102b557806370a082311161025357806375f0a8741161022257806375f0a874146107e55780637bce5a041461080f5780638095d564146108395780638da5cb5b146108615761038b565b806370a0823114610741578063715018a61461077d578063751039fc146107935780637571336a146107bd5761038b565b806351cd7cc31161028f57806351cd7cc3146106ad578063541a43cf146106c35780636a486a8e146106ed5780636ddd1713146107175761038b565b806349bd5a5e1461061d5780634a62bb65146106475780634fbee193146106715761038b565b80631f3fed8f116103225780632bf3d42d116102fc5780632bf3d42d146105655780632d5a5d341461058f578063313ce567146105b757806339509351146105e15761038b565b80631f3fed8f146104d7578063203e727e1461050157806323b872dd146105295761038b565b80631694505e1161035e5780631694505e1461043157806318160ddd1461045b5780631816467f146104855780631a8145bb146104ad5761038b565b806306fdde031461038f578063095ea7b3146103b957806310d5de53146103f55761038b565b3661038b57005b5f5ffd5b34801561039a575f5ffd5b506103a3610d97565b6040516103b09190614786565b60405180910390f35b3480156103c4575f5ffd5b506103df60048036038101906103da9190614837565b610e27565b6040516103ec919061488f565b60405180910390f35b348015610400575f5ffd5b5061041b600480360381019061041691906148a8565b610e44565b604051610428919061488f565b60405180910390f35b34801561043c575f5ffd5b50610445610e61565b604051610452919061492e565b60405180910390f35b348015610466575f5ffd5b5061046f610e85565b60405161047c9190614956565b60405180910390f35b348015610490575f5ffd5b506104ab60048036038101906104a691906148a8565b610e8e565b005b3480156104b8575f5ffd5b506104c1610fe2565b6040516104ce9190614956565b60405180910390f35b3480156104e2575f5ffd5b506104eb610fe8565b6040516104f89190614956565b60405180910390f35b34801561050c575f5ffd5b506105276004803603810190610522919061496f565b610fee565b005b348015610534575f5ffd5b5061054f600480360381019061054a919061499a565b61110f565b60405161055c919061488f565b60405180910390f35b348015610570575f5ffd5b506105796111e3565b6040516105869190614956565b60405180910390f35b34801561059a575f5ffd5b506105b560048036038101906105b09190614a14565b6111e9565b005b3480156105c2575f5ffd5b506105cb6112d7565b6040516105d89190614a6d565b60405180910390f35b3480156105ec575f5ffd5b5061060760048036038101906106029190614837565b6112df565b604051610614919061488f565b60405180910390f35b348015610628575f5ffd5b5061063161138d565b60405161063e9190614a95565b60405180910390f35b348015610652575f5ffd5b5061065b6113b1565b604051610668919061488f565b60405180910390f35b34801561067c575f5ffd5b50610697600480360381019061069291906148a8565b6113c3565b6040516106a4919061488f565b60405180910390f35b3480156106b8575f5ffd5b506106c1611415565b005b3480156106ce575f5ffd5b506106d76116d0565b6040516106e49190614956565b60405180910390f35b3480156106f8575f5ffd5b506107016116d6565b60405161070e9190614956565b60405180910390f35b348015610722575f5ffd5b5061072b6116dc565b604051610738919061488f565b60405180910390f35b34801561074c575f5ffd5b50610767600480360381019061076291906148a8565b6116ef565b6040516107749190614956565b60405180910390f35b348015610788575f5ffd5b50610791611713565b005b34801561079e575f5ffd5b506107a7611866565b6040516107b4919061488f565b60405180910390f35b3480156107c8575f5ffd5b506107e360048036038101906107de9190614a14565b61191d565b005b3480156107f0575f5ffd5b506107f9611a0b565b6040516108069190614a95565b60405180910390f35b34801561081a575f5ffd5b50610823611a30565b6040516108309190614956565b60405180910390f35b348015610844575f5ffd5b5061085f600480360381019061085a9190614aae565b611a36565b005b34801561086c575f5ffd5b50610875611b4f565b6040516108829190614a95565b60405180910390f35b348015610896575f5ffd5b5061089f611b77565b6040516108ac9190614a95565b60405180910390f35b3480156108c0575f5ffd5b506108c9611b9c565b6040516108d69190614956565b60405180910390f35b3480156108ea575f5ffd5b5061090560048036038101906109009190614afe565b611ba2565b005b348015610912575f5ffd5b5061091b611c55565b6040516109289190614786565b60405180910390f35b34801561093c575f5ffd5b5061095760048036038101906109529190614a14565b611ce5565b005b348015610964575f5ffd5b5061096d611e17565b60405161097a9190614956565b60405180910390f35b34801561098e575f5ffd5b50610997611e1d565b6040516109a49190614956565b60405180910390f35b3480156109b8575f5ffd5b506109c1611e23565b6040516109ce9190614956565b60405180910390f35b3480156109e2575f5ffd5b506109fd60048036038101906109f89190614afe565b611e29565b005b348015610a0a575f5ffd5b50610a256004803603810190610a209190614837565b611edc565b604051610a32919061488f565b60405180910390f35b348015610a46575f5ffd5b50610a4f611fa4565b604051610a5c919061488f565b60405180910390f35b348015610a70575f5ffd5b50610a8b6004803603810190610a869190614837565b611fb7565b604051610a98919061488f565b60405180910390f35b348015610aac575f5ffd5b50610ac76004803603810190610ac291906148a8565b611fd4565b005b348015610ad4575f5ffd5b50610aef6004803603810190610aea91906148a8565b612128565b604051610afc919061488f565b60405180910390f35b348015610b10575f5ffd5b50610b19612144565b604051610b26919061488f565b60405180910390f35b348015610b3a575f5ffd5b50610b556004803603810190610b509190614a14565b612157565b005b348015610b62575f5ffd5b50610b7d6004803603810190610b78919061496f565b612293565b005b348015610b8a575f5ffd5b50610b936123b4565b604051610ba0919061488f565b60405180910390f35b348015610bb4575f5ffd5b50610bbd6123c6565b604051610bca9190614956565b60405180910390f35b348015610bde575f5ffd5b50610bf96004803603810190610bf4919061496f565b6123cc565b604051610c06919061488f565b60405180910390f35b348015610c1a575f5ffd5b50610c2361253a565b604051610c309190614956565b60405180910390f35b348015610c44575f5ffd5b50610c5f6004803603810190610c5a9190614b29565b612540565b604051610c6c9190614956565b60405180910390f35b348015610c80575f5ffd5b50610c896125c2565b604051610c969190614956565b60405180910390f35b348015610caa575f5ffd5b50610cb36125c8565b604051610cc0919061488f565b60405180910390f35b348015610cd4575f5ffd5b50610cdd61267f565b604051610cea9190614956565b60405180910390f35b348015610cfe575f5ffd5b50610d196004803603810190610d1491906148a8565b612685565b005b348015610d26575f5ffd5b50610d2f612847565b604051610d3c9190614956565b60405180910390f35b348015610d50575f5ffd5b50610d5961284d565b604051610d669190614956565b60405180910390f35b348015610d7a575f5ffd5b50610d956004803603810190610d909190614b67565b612853565b005b606060038054610da690614c0b565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd290614c0b565b8015610e1d5780601f10610df457610100808354040283529160200191610e1d565b820191905f5260205f20905b815481529060010190602001808311610e0057829003601f168201915b5050505050905090565b5f610e3a610e3361297c565b8484612983565b6001905092915050565b601f602052805f5260405f205f915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b610e9661297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b90614c85565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a38060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601b5481565b601a5481565b610ff661297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b90614c85565b60405180910390fd5b633b9aca006103e86005611096610e85565b6110a09190614cd0565b6110aa9190614d3e565b6110b49190614d3e565b8110156110f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ed90614dde565b60405180910390fd5b633b9aca00816111069190614cd0565b60088190555050565b5f61111b848484612b46565b6111d88461112761297c565b6111d385604051806060016040528060288152602001615bf16028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61118a61297c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613b409092919063ffffffff16565b612983565b600190509392505050565b60195481565b6111f161297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461127f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127690614c85565b60405180910390fd5b80600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f6009905090565b5f6113836112eb61297c565b8461137e8560015f6112fb61297c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613ba290919063ffffffff16565b612983565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600b5f9054906101000a900460ff1681565b5f601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61141d61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a290614c85565b60405180910390fd5b6114b3611866565b506001600b60016101000a81548160ff0219169083151502179055506001600b60026101000a81548160ff0219169083151502179055505f600b5f6101000a81548160ff021916908315150217905550611535307f0000000000000000000000000000000000000000000000000000000000000000611530610e85565b612983565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016115d0929190614dfc565b6020604051808303815f875af11580156115ec573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116109190614e37565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611657610e85565b5f5f611661611b4f565b426040518863ffffffff1660e01b815260040161168396959493929190614e9b565b60606040518083038185885af115801561169f573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906116c49190614f0e565b50505043601d81905550565b60185481565b60145481565b600b60029054906101000a900460ff1681565b5f815f6116fb82613bff565b031561170d5761170a83613dd3565b91505b50919050565b61171b61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a090614c85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f61186f61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f490614c85565b60405180910390fd5b5f600b5f6101000a81548160ff0219169083151502179055506001905090565b61192561297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119aa90614c85565b60405180910390fd5b80601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b611a3e61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac390614c85565b60405180910390fd5b826011819055508160128190555080601381905550601354601254601154611af49190614f5e565b611afe9190614f5e565b60108190555060326010541115611b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4190614fdb565b60405180910390fd5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b611baa61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2f90614c85565b60405180910390fd5b80600b60026101000a81548160ff02191690831515021790555050565b606060048054611c6490614c0b565b80601f0160208091040260200160405190810160405280929190818152602001828054611c9090614c0b565b8015611cdb5780601f10611cb257610100808354040283529160200191611cdb565b820191905f5260205f20905b815481529060010190602001808311611cbe57829003601f168201915b5050505050905090565b611ced61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7290614c85565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0090615069565b60405180910390fd5b611e138282613e18565b5050565b60135481565b601c5481565b60175481565b611e3161297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb690614c85565b60405180910390fd5b80600b60036101000a81548160ff02191690831515021790555050565b5f611f9a611ee861297c565b84611f9585604051806060016040528060258152602001615c196025913960015f611f1161297c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613b409092919063ffffffff16565b612983565b6001905092915050565b600b60039054906101000a900460ff1681565b5f611fca611fc361297c565b8484612b46565b6001905092915050565b611fdc61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461206a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206190614c85565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60208052805f5260405f205f915054906101000a900460ff1681565b600b60019054906101000a900460ff1681565b61215f61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e490614c85565b60405180910390fd5b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051612287919061488f565b60405180910390a25050565b61229b61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232090614c85565b60405180910390fd5b633b9aca006103e8600f61233b610e85565b6123459190614cd0565b61234f9190614d3e565b6123599190614d3e565b81101561239b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612392906150f7565b60405180910390fd5b633b9aca00816123ab9190614cd0565b600a8190555050565b600f5f9054906101000a900460ff1681565b60085481565b5f6123d561297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245a90614c85565b60405180910390fd5b620186a06001612471610e85565b61247b9190614cd0565b6124859190614d3e565b8210156124c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124be90615185565b60405180910390fd5b6103e860056124d4610e85565b6124de9190614cd0565b6124e89190614d3e565b82111561252a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252190615213565b60405180910390fd5b8160098190555060019050919050565b60105481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b5f6125d161297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461265f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265690614c85565b60405180910390fd5b5f600f5f6101000a81548160ff0219169083151502179055506001905090565b60125481565b61268d61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461271b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271290614c85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612789576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612780906152a1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b600a5481565b61285b61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146128e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e090614c85565b60405180910390fd5b846015819055508360168190555082601781905550816018819055508060198190555060175460165460155461291f9190614f5e565b6129299190614f5e565b60148190555060636014541115612975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296c90615309565b60405180910390fd5b5050505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036129f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e890615397565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5690615425565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612b399190614956565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bab906154b3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1990615541565b60405180910390fd5b600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca3906155cf565b60405180910390fd5b600b5f9054906101000a900460ff161561335357612cc8611b4f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612d365750612d06611b4f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612d6e57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612da8575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612dc15750600560149054906101000a900460ff16155b1561335257600b60019054906101000a900460ff16612eb557601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612e755750601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eab90615637565b60405180910390fd5b5b600f5f9054906101000a900460ff161561307857612ed1611b4f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612f5857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612fb057507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156130775743600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410613034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161302b906156eb565b60405180910390fd5b43600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156131155750601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156131bc5760085481111561315f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161315690615779565b60405180910390fd5b600a5461316b836116ef565b826131769190614f5e565b11156131b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131ae906157e1565b60405180910390fd5b613351565b60205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156132595750601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156132a8576008548111156132a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329a9061586f565b60405180910390fd5b613350565b601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661334f57600a54613302836116ef565b8261330d9190614f5e565b111561334e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613345906157e1565b60405180910390fd5b5b5b5b5b5b5f601d546133619190614f5e565b43111580156133bc57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156134085750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15613462575f600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b5f61346c306116ef565b90505f60095482101590508080156134905750600b60029054906101000a900460ff165b80156134a95750600560149054906101000a900460ff16155b80156134fc575060205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561354f5750601e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156135a25750601e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156135e5576001600560146101000a81548160ff0219169083151502179055506135ca613eb6565b5f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff161590505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415801561369c5750601e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80156136ee5750601e5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161480156137995750601e5f61375261297c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b9050601e5f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806138365750601e5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561383f575f92505b81156138a4576001600e5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050505050613b3b565b80156138bd576138bc886138b661297c565b88612983565b5b5f5f90508315613b295760205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561391e57505f601454115b156139e85761394b606461393d6014548a6140e490919063ffffffff16565b61415b90919063ffffffff16565b90506014546016548261395e9190614cd0565b6139689190614d3e565b601b5f8282546139789190614f5e565b92505081905550601454601754826139909190614cd0565b61399a9190614d3e565b601c5f8282546139aa9190614f5e565b92505081905550601454601554826139c29190614cd0565b6139cc9190614d3e565b601a5f8282546139dc9190614f5e565b92505081905550613b06565b60205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015613a3f57505f601054115b15613b0557613a6c6064613a5e6010548a6140e490919063ffffffff16565b61415b90919063ffffffff16565b905060105460125482613a7f9190614cd0565b613a899190614d3e565b601b5f828254613a999190614f5e565b9250508190555060105460135482613ab19190614cd0565b613abb9190614d3e565b601c5f828254613acb9190614f5e565b9250508190555060105460115482613ae39190614cd0565b613aed9190614d3e565b601a5f828254613afd9190614f5e565b925050819055505b5b5f811115613b1a57613b198930836141a4565b5b8087613b26919061588d565b96505b613b348989896141a4565b5050505050505b505050565b5f838311158290613b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b7e9190614786565b60405180910390fd5b505f8385613b95919061588d565b9050809150509392505050565b5f5f8284613bb09190614f5e565b905083811015613bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bec9061590a565b60405180910390fd5b8091505092915050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614613c5c5760019050613dce565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401613cd69190614a95565b602060405180830381865afa158015613cf1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d159190615928565b11613d235760019050613dce565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16613d6361442d565b73ffffffffffffffffffffffffffffffffffffffff1603613d875760019050613dce565b5f73ffffffffffffffffffffffffffffffffffffffff16613da661442d565b73ffffffffffffffffffffffffffffffffffffffff1603613dca5760019050613dce565b5f90505b919050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8060205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f613ec0306116ef565b90505f601c54601a54601b54613ed69190614f5e565b613ee09190614f5e565b90505f5f831480613ef057505f82145b15613efd575050506140e2565b6014600954613f0c9190614cd0565b831115613f25576014600954613f229190614cd0565b92505b5f600283601b5486613f379190614cd0565b613f419190614d3e565b613f4b9190614d3e565b90505f613f61828661443490919063ffffffff16565b90505f479050613f708261447d565b5f613f84824761443490919063ffffffff16565b90505f613fae87613fa0601c54856140e490919063ffffffff16565b61415b90919063ffffffff16565b90505f601b819055505f601a819055505f601c8190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405161400a90615980565b5f6040518083038185875af1925050503d805f8114614044576040519150601f19603f3d011682016040523d82523d5f602084013e614049565b606091505b50508096505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161409490615980565b5f6040518083038185875af1925050503d805f81146140ce576040519150601f19603f3d011682016040523d82523d5f602084013e6140d3565b606091505b50508096505050505050505050505b565b5f5f83036140f4575f9050614155565b5f82846141019190614cd0565b90508284826141109190614d3e565b14614150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161414790615a04565b60405180910390fd5b809150505b92915050565b5f61419c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506146b0565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603614212576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614209906154b3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603614280576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161427790615541565b60405180910390fd5b61428b838383614711565b6142f481604051806060016040528060268152602001615bcb602691395f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613b409092919063ffffffff16565b5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550614383815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613ba290919063ffffffff16565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516144209190614956565b60405180910390a3505050565b5f32905090565b5f61447583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613b40565b905092915050565b5f600267ffffffffffffffff81111561449957614498615a22565b5b6040519080825280602002602001820160405280156144c75781602001602082028036833780820191505090505b50905030815f815181106144de576144dd615a4f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015614581573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906145a59190615a90565b816001815181106145b9576145b8615a4f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061461e307f000000000000000000000000000000000000000000000000000000000000000084612983565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161467f959493929190615b72565b5f604051808303815f87803b158015614696575f5ffd5b505af11580156146a8573d5f5f3e3d5ffd5b505050505050565b5f5f831182906146f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016146ed9190614786565b60405180910390fd5b505f83856147049190614d3e565b9050809150509392505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61475882614716565b6147628185614720565b9350614772818560208601614730565b61477b8161473e565b840191505092915050565b5f6020820190508181035f83015261479e818461474e565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6147d3826147aa565b9050919050565b6147e3816147c9565b81146147ed575f5ffd5b50565b5f813590506147fe816147da565b92915050565b5f819050919050565b61481681614804565b8114614820575f5ffd5b50565b5f813590506148318161480d565b92915050565b5f5f6040838503121561484d5761484c6147a6565b5b5f61485a858286016147f0565b925050602061486b85828601614823565b9150509250929050565b5f8115159050919050565b61488981614875565b82525050565b5f6020820190506148a25f830184614880565b92915050565b5f602082840312156148bd576148bc6147a6565b5b5f6148ca848285016147f0565b91505092915050565b5f819050919050565b5f6148f66148f16148ec846147aa565b6148d3565b6147aa565b9050919050565b5f614907826148dc565b9050919050565b5f614918826148fd565b9050919050565b6149288161490e565b82525050565b5f6020820190506149415f83018461491f565b92915050565b61495081614804565b82525050565b5f6020820190506149695f830184614947565b92915050565b5f60208284031215614984576149836147a6565b5b5f61499184828501614823565b91505092915050565b5f5f5f606084860312156149b1576149b06147a6565b5b5f6149be868287016147f0565b93505060206149cf868287016147f0565b92505060406149e086828701614823565b9150509250925092565b6149f381614875565b81146149fd575f5ffd5b50565b5f81359050614a0e816149ea565b92915050565b5f5f60408385031215614a2a57614a296147a6565b5b5f614a37858286016147f0565b9250506020614a4885828601614a00565b9150509250929050565b5f60ff82169050919050565b614a6781614a52565b82525050565b5f602082019050614a805f830184614a5e565b92915050565b614a8f816147c9565b82525050565b5f602082019050614aa85f830184614a86565b92915050565b5f5f5f60608486031215614ac557614ac46147a6565b5b5f614ad286828701614823565b9350506020614ae386828701614823565b9250506040614af486828701614823565b9150509250925092565b5f60208284031215614b1357614b126147a6565b5b5f614b2084828501614a00565b91505092915050565b5f5f60408385031215614b3f57614b3e6147a6565b5b5f614b4c858286016147f0565b9250506020614b5d858286016147f0565b9150509250929050565b5f5f5f5f5f60a08688031215614b8057614b7f6147a6565b5b5f614b8d88828901614823565b9550506020614b9e88828901614823565b9450506040614baf88828901614823565b9350506060614bc088828901614823565b9250506080614bd188828901614823565b9150509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680614c2257607f821691505b602082108103614c3557614c34614bde565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f614c6f602083614720565b9150614c7a82614c3b565b602082019050919050565b5f6020820190508181035f830152614c9c81614c63565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614cda82614804565b9150614ce583614804565b9250828202614cf381614804565b91508282048414831517614d0a57614d09614ca3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614d4882614804565b9150614d5383614804565b925082614d6357614d62614d11565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74205f8201527f6c6f776572207468616e20302e35250000000000000000000000000000000000602082015250565b5f614dc8602f83614720565b9150614dd382614d6e565b604082019050919050565b5f6020820190508181035f830152614df581614dbc565b9050919050565b5f604082019050614e0f5f830185614a86565b614e1c6020830184614947565b9392505050565b5f81519050614e31816149ea565b92915050565b5f60208284031215614e4c57614e4b6147a6565b5b5f614e5984828501614e23565b91505092915050565b5f819050919050565b5f614e85614e80614e7b84614e62565b6148d3565b614804565b9050919050565b614e9581614e6b565b82525050565b5f60c082019050614eae5f830189614a86565b614ebb6020830188614947565b614ec86040830187614e8c565b614ed56060830186614e8c565b614ee26080830185614a86565b614eef60a0830184614947565b979650505050505050565b5f81519050614f088161480d565b92915050565b5f5f5f60608486031215614f2557614f246147a6565b5b5f614f3286828701614efa565b9350506020614f4386828701614efa565b9250506040614f5486828701614efa565b9150509250925092565b5f614f6882614804565b9150614f7383614804565b9250828201905080821115614f8b57614f8a614ca3565b5b92915050565b7f4d757374206b656570206665657320617420353025206f72206c6573730000005f82015250565b5f614fc5601d83614720565b9150614fd082614f91565b602082019050919050565b5f6020820190508181035f830152614ff281614fb9565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f615053603983614720565b915061505e82614ff9565b604082019050919050565b5f6020820190508181035f83015261508081615047565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f312e352500000000000000000000000000000000000000000000000000000000602082015250565b5f6150e1602483614720565b91506150ec82615087565b604082019050919050565b5f6020820190508181035f83015261510e816150d5565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f61516f603583614720565b915061517a82615115565b604082019050919050565b5f6020820190508181035f83015261519c81615163565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f6151fd603483614720565b9150615208826151a3565b604082019050919050565b5f6020820190508181035f83015261522a816151f1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61528b602683614720565b915061529682615231565b604082019050919050565b5f6020820190508181035f8301526152b88161527f565b9050919050565b7f4d757374206b656570206665657320617420393925206f72206c6573730000005f82015250565b5f6152f3601d83614720565b91506152fe826152bf565b602082019050919050565b5f6020820190508181035f830152615320816152e7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f615381602483614720565b915061538c82615327565b604082019050919050565b5f6020820190508181035f8301526153ae81615375565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61540f602283614720565b915061541a826153b5565b604082019050919050565b5f6020820190508181035f83015261543c81615403565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61549d602583614720565b91506154a882615443565b604082019050919050565b5f6020820190508181035f8301526154ca81615491565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61552b602383614720565b9150615536826154d1565b604082019050919050565b5f6020820190508181035f8301526155588161551f565b9050919050565b7f596f752068617665206265656e20626c61636b6c69737465642066726f6d20745f8201527f72616e73666572696e6720746f6b656e73000000000000000000000000000000602082015250565b5f6155b9603183614720565b91506155c48261555f565b604082019050919050565b5f6020820190508181035f8301526155e6816155ad565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f615621601683614720565b915061562c826155ed565b602082019050919050565b5f6020820190508181035f83015261564e81615615565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f6156d5604983614720565b91506156e082615655565b606082019050919050565b5f6020820190508181035f830152615702816156c9565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f615763603583614720565b915061576e82615709565b604082019050919050565b5f6020820190508181035f83015261579081615757565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6157cb601383614720565b91506157d682615797565b602082019050919050565b5f6020820190508181035f8301526157f8816157bf565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f615859603683614720565b9150615864826157ff565b604082019050919050565b5f6020820190508181035f8301526158868161584d565b9050919050565b5f61589782614804565b91506158a283614804565b92508282039050818111156158ba576158b9614ca3565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6158f4601b83614720565b91506158ff826158c0565b602082019050919050565b5f6020820190508181035f830152615921816158e8565b9050919050565b5f6020828403121561593d5761593c6147a6565b5b5f61594a84828501614efa565b91505092915050565b5f81905092915050565b50565b5f61596b5f83615953565b91506159768261595d565b5f82019050919050565b5f61598a82615960565b9150819050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6159ee602183614720565b91506159f982615994565b604082019050919050565b5f6020820190508181035f830152615a1b816159e2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050615a8a816147da565b92915050565b5f60208284031215615aa557615aa46147a6565b5b5f615ab284828501615a7c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b615aed816147c9565b82525050565b5f615afe8383615ae4565b60208301905092915050565b5f602082019050919050565b5f615b2082615abb565b615b2a8185615ac5565b9350615b3583615ad5565b805f5b83811015615b65578151615b4c8882615af3565b9750615b5783615b0a565b925050600181019050615b38565b5085935050505092915050565b5f60a082019050615b855f830188614947565b615b926020830187614e8c565b8181036040830152615ba48186615b16565b9050615bb36060830185614a86565b615bc06080830184614947565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208e055146eecd1e2baeb2094f4007e2c9d455c976bf84637f949d1e947ec8605964736f6c63430008220033
Deployed Bytecode
0x608060405260043610610384575f3560e01c80638ea5220f116101d0578063bbc0c74211610101578063dd62ed3e1161009f578063f2fde38b1161006e578063f2fde38b14610cf3578063f637434214610d1b578063f8b45b0514610d45578063ff935af614610d6f5761038b565b8063dd62ed3e14610c39578063e2f4560514610c75578063e884f26014610c9f578063f11a24d314610cc95761038b565b8063c876d0b9116100db578063c876d0b914610b7f578063c8c8ebe414610ba9578063d257b34f14610bd3578063d85ba06314610c0f5761038b565b8063bbc0c74214610b05578063c024666814610b2f578063c18bc19514610b575761038b565b8063a0d82dc51161016e578063a4d15b6411610148578063a4d15b6414610a3b578063a9059cbb14610a65578063aacebbe314610aa1578063b62496f514610ac95761038b565b8063a0d82dc5146109ad578063a2657778146109d7578063a457c2d7146109ff5761038b565b806395d89b41116101aa57806395d89b41146109075780639a7a23d6146109315780639c3b4fdc146109595780639fccce32146109835761038b565b80638ea5220f1461088b57806392136913146108b5578063924de9b7146108df5761038b565b806349bd5a5e116102b557806370a082311161025357806375f0a8741161022257806375f0a874146107e55780637bce5a041461080f5780638095d564146108395780638da5cb5b146108615761038b565b806370a0823114610741578063715018a61461077d578063751039fc146107935780637571336a146107bd5761038b565b806351cd7cc31161028f57806351cd7cc3146106ad578063541a43cf146106c35780636a486a8e146106ed5780636ddd1713146107175761038b565b806349bd5a5e1461061d5780634a62bb65146106475780634fbee193146106715761038b565b80631f3fed8f116103225780632bf3d42d116102fc5780632bf3d42d146105655780632d5a5d341461058f578063313ce567146105b757806339509351146105e15761038b565b80631f3fed8f146104d7578063203e727e1461050157806323b872dd146105295761038b565b80631694505e1161035e5780631694505e1461043157806318160ddd1461045b5780631816467f146104855780631a8145bb146104ad5761038b565b806306fdde031461038f578063095ea7b3146103b957806310d5de53146103f55761038b565b3661038b57005b5f5ffd5b34801561039a575f5ffd5b506103a3610d97565b6040516103b09190614786565b60405180910390f35b3480156103c4575f5ffd5b506103df60048036038101906103da9190614837565b610e27565b6040516103ec919061488f565b60405180910390f35b348015610400575f5ffd5b5061041b600480360381019061041691906148a8565b610e44565b604051610428919061488f565b60405180910390f35b34801561043c575f5ffd5b50610445610e61565b604051610452919061492e565b60405180910390f35b348015610466575f5ffd5b5061046f610e85565b60405161047c9190614956565b60405180910390f35b348015610490575f5ffd5b506104ab60048036038101906104a691906148a8565b610e8e565b005b3480156104b8575f5ffd5b506104c1610fe2565b6040516104ce9190614956565b60405180910390f35b3480156104e2575f5ffd5b506104eb610fe8565b6040516104f89190614956565b60405180910390f35b34801561050c575f5ffd5b506105276004803603810190610522919061496f565b610fee565b005b348015610534575f5ffd5b5061054f600480360381019061054a919061499a565b61110f565b60405161055c919061488f565b60405180910390f35b348015610570575f5ffd5b506105796111e3565b6040516105869190614956565b60405180910390f35b34801561059a575f5ffd5b506105b560048036038101906105b09190614a14565b6111e9565b005b3480156105c2575f5ffd5b506105cb6112d7565b6040516105d89190614a6d565b60405180910390f35b3480156105ec575f5ffd5b5061060760048036038101906106029190614837565b6112df565b604051610614919061488f565b60405180910390f35b348015610628575f5ffd5b5061063161138d565b60405161063e9190614a95565b60405180910390f35b348015610652575f5ffd5b5061065b6113b1565b604051610668919061488f565b60405180910390f35b34801561067c575f5ffd5b50610697600480360381019061069291906148a8565b6113c3565b6040516106a4919061488f565b60405180910390f35b3480156106b8575f5ffd5b506106c1611415565b005b3480156106ce575f5ffd5b506106d76116d0565b6040516106e49190614956565b60405180910390f35b3480156106f8575f5ffd5b506107016116d6565b60405161070e9190614956565b60405180910390f35b348015610722575f5ffd5b5061072b6116dc565b604051610738919061488f565b60405180910390f35b34801561074c575f5ffd5b50610767600480360381019061076291906148a8565b6116ef565b6040516107749190614956565b60405180910390f35b348015610788575f5ffd5b50610791611713565b005b34801561079e575f5ffd5b506107a7611866565b6040516107b4919061488f565b60405180910390f35b3480156107c8575f5ffd5b506107e360048036038101906107de9190614a14565b61191d565b005b3480156107f0575f5ffd5b506107f9611a0b565b6040516108069190614a95565b60405180910390f35b34801561081a575f5ffd5b50610823611a30565b6040516108309190614956565b60405180910390f35b348015610844575f5ffd5b5061085f600480360381019061085a9190614aae565b611a36565b005b34801561086c575f5ffd5b50610875611b4f565b6040516108829190614a95565b60405180910390f35b348015610896575f5ffd5b5061089f611b77565b6040516108ac9190614a95565b60405180910390f35b3480156108c0575f5ffd5b506108c9611b9c565b6040516108d69190614956565b60405180910390f35b3480156108ea575f5ffd5b5061090560048036038101906109009190614afe565b611ba2565b005b348015610912575f5ffd5b5061091b611c55565b6040516109289190614786565b60405180910390f35b34801561093c575f5ffd5b5061095760048036038101906109529190614a14565b611ce5565b005b348015610964575f5ffd5b5061096d611e17565b60405161097a9190614956565b60405180910390f35b34801561098e575f5ffd5b50610997611e1d565b6040516109a49190614956565b60405180910390f35b3480156109b8575f5ffd5b506109c1611e23565b6040516109ce9190614956565b60405180910390f35b3480156109e2575f5ffd5b506109fd60048036038101906109f89190614afe565b611e29565b005b348015610a0a575f5ffd5b50610a256004803603810190610a209190614837565b611edc565b604051610a32919061488f565b60405180910390f35b348015610a46575f5ffd5b50610a4f611fa4565b604051610a5c919061488f565b60405180910390f35b348015610a70575f5ffd5b50610a8b6004803603810190610a869190614837565b611fb7565b604051610a98919061488f565b60405180910390f35b348015610aac575f5ffd5b50610ac76004803603810190610ac291906148a8565b611fd4565b005b348015610ad4575f5ffd5b50610aef6004803603810190610aea91906148a8565b612128565b604051610afc919061488f565b60405180910390f35b348015610b10575f5ffd5b50610b19612144565b604051610b26919061488f565b60405180910390f35b348015610b3a575f5ffd5b50610b556004803603810190610b509190614a14565b612157565b005b348015610b62575f5ffd5b50610b7d6004803603810190610b78919061496f565b612293565b005b348015610b8a575f5ffd5b50610b936123b4565b604051610ba0919061488f565b60405180910390f35b348015610bb4575f5ffd5b50610bbd6123c6565b604051610bca9190614956565b60405180910390f35b348015610bde575f5ffd5b50610bf96004803603810190610bf4919061496f565b6123cc565b604051610c06919061488f565b60405180910390f35b348015610c1a575f5ffd5b50610c2361253a565b604051610c309190614956565b60405180910390f35b348015610c44575f5ffd5b50610c5f6004803603810190610c5a9190614b29565b612540565b604051610c6c9190614956565b60405180910390f35b348015610c80575f5ffd5b50610c896125c2565b604051610c969190614956565b60405180910390f35b348015610caa575f5ffd5b50610cb36125c8565b604051610cc0919061488f565b60405180910390f35b348015610cd4575f5ffd5b50610cdd61267f565b604051610cea9190614956565b60405180910390f35b348015610cfe575f5ffd5b50610d196004803603810190610d1491906148a8565b612685565b005b348015610d26575f5ffd5b50610d2f612847565b604051610d3c9190614956565b60405180910390f35b348015610d50575f5ffd5b50610d5961284d565b604051610d669190614956565b60405180910390f35b348015610d7a575f5ffd5b50610d956004803603810190610d909190614b67565b612853565b005b606060038054610da690614c0b565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd290614c0b565b8015610e1d5780601f10610df457610100808354040283529160200191610e1d565b820191905f5260205f20905b815481529060010190602001808311610e0057829003601f168201915b5050505050905090565b5f610e3a610e3361297c565b8484612983565b6001905092915050565b601f602052805f5260405f205f915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b610e9661297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1b90614c85565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a38060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601b5481565b601a5481565b610ff661297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b90614c85565b60405180910390fd5b633b9aca006103e86005611096610e85565b6110a09190614cd0565b6110aa9190614d3e565b6110b49190614d3e565b8110156110f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ed90614dde565b60405180910390fd5b633b9aca00816111069190614cd0565b60088190555050565b5f61111b848484612b46565b6111d88461112761297c565b6111d385604051806060016040528060288152602001615bf16028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61118a61297c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613b409092919063ffffffff16565b612983565b600190509392505050565b60195481565b6111f161297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461127f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127690614c85565b60405180910390fd5b80600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f6009905090565b5f6113836112eb61297c565b8461137e8560015f6112fb61297c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613ba290919063ffffffff16565b612983565b6001905092915050565b7f0000000000000000000000002880cc3c8b67047ec461d3b8285bfae17e36d3a181565b600b5f9054906101000a900460ff1681565b5f601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61141d61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a290614c85565b60405180910390fd5b6114b3611866565b506001600b60016101000a81548160ff0219169083151502179055506001600b60026101000a81548160ff0219169083151502179055505f600b5f6101000a81548160ff021916908315150217905550611535307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d611530610e85565b612983565b7f0000000000000000000000002880cc3c8b67047ec461d3b8285bfae17e36d3a173ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016115d0929190614dfc565b6020604051808303815f875af11580156115ec573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116109190614e37565b507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611657610e85565b5f5f611661611b4f565b426040518863ffffffff1660e01b815260040161168396959493929190614e9b565b60606040518083038185885af115801561169f573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906116c49190614f0e565b50505043601d81905550565b60185481565b60145481565b600b60029054906101000a900460ff1681565b5f815f6116fb82613bff565b031561170d5761170a83613dd3565b91505b50919050565b61171b61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a090614c85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f61186f61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f490614c85565b60405180910390fd5b5f600b5f6101000a81548160ff0219169083151502179055506001905090565b61192561297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119aa90614c85565b60405180910390fd5b80601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b611a3e61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac390614c85565b60405180910390fd5b826011819055508160128190555080601381905550601354601254601154611af49190614f5e565b611afe9190614f5e565b60108190555060326010541115611b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4190614fdb565b60405180910390fd5b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b611baa61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2f90614c85565b60405180910390fd5b80600b60026101000a81548160ff02191690831515021790555050565b606060048054611c6490614c0b565b80601f0160208091040260200160405190810160405280929190818152602001828054611c9090614c0b565b8015611cdb5780601f10611cb257610100808354040283529160200191611cdb565b820191905f5260205f20905b815481529060010190602001808311611cbe57829003601f168201915b5050505050905090565b611ced61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7290614c85565b60405180910390fd5b7f0000000000000000000000002880cc3c8b67047ec461d3b8285bfae17e36d3a173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0090615069565b60405180910390fd5b611e138282613e18565b5050565b60135481565b601c5481565b60175481565b611e3161297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb690614c85565b60405180910390fd5b80600b60036101000a81548160ff02191690831515021790555050565b5f611f9a611ee861297c565b84611f9585604051806060016040528060258152602001615c196025913960015f611f1161297c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613b409092919063ffffffff16565b612983565b6001905092915050565b600b60039054906101000a900460ff1681565b5f611fca611fc361297c565b8484612b46565b6001905092915050565b611fdc61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461206a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206190614c85565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60208052805f5260405f205f915054906101000a900460ff1681565b600b60019054906101000a900460ff1681565b61215f61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e490614c85565b60405180910390fd5b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051612287919061488f565b60405180910390a25050565b61229b61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232090614c85565b60405180910390fd5b633b9aca006103e8600f61233b610e85565b6123459190614cd0565b61234f9190614d3e565b6123599190614d3e565b81101561239b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612392906150f7565b60405180910390fd5b633b9aca00816123ab9190614cd0565b600a8190555050565b600f5f9054906101000a900460ff1681565b60085481565b5f6123d561297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245a90614c85565b60405180910390fd5b620186a06001612471610e85565b61247b9190614cd0565b6124859190614d3e565b8210156124c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124be90615185565b60405180910390fd5b6103e860056124d4610e85565b6124de9190614cd0565b6124e89190614d3e565b82111561252a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252190615213565b60405180910390fd5b8160098190555060019050919050565b60105481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b5f6125d161297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461265f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265690614c85565b60405180910390fd5b5f600f5f6101000a81548160ff0219169083151502179055506001905090565b60125481565b61268d61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461271b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271290614c85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612789576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612780906152a1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b600a5481565b61285b61297c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146128e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e090614c85565b60405180910390fd5b846015819055508360168190555082601781905550816018819055508060198190555060175460165460155461291f9190614f5e565b6129299190614f5e565b60148190555060636014541115612975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296c90615309565b60405180910390fd5b5050505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036129f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e890615397565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612a5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5690615425565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612b399190614956565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bab906154b3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1990615541565b60405180910390fd5b600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca3906155cf565b60405180910390fd5b600b5f9054906101000a900460ff161561335357612cc8611b4f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612d365750612d06611b4f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612d6e57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612da8575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612dc15750600560149054906101000a900460ff16155b1561335257600b60019054906101000a900460ff16612eb557601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612e755750601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eab90615637565b60405180910390fd5b5b600f5f9054906101000a900460ff161561307857612ed1611b4f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612f5857507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612fb057507f0000000000000000000000002880cc3c8b67047ec461d3b8285bfae17e36d3a173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156130775743600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410613034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161302b906156eb565b60405180910390fd5b43600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156131155750601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156131bc5760085481111561315f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161315690615779565b60405180910390fd5b600a5461316b836116ef565b826131769190614f5e565b11156131b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131ae906157e1565b60405180910390fd5b613351565b60205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156132595750601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156132a8576008548111156132a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329a9061586f565b60405180910390fd5b613350565b601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661334f57600a54613302836116ef565b8261330d9190614f5e565b111561334e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613345906157e1565b60405180910390fd5b5b5b5b5b5b5f601d546133619190614f5e565b43111580156133bc57507f0000000000000000000000002880cc3c8b67047ec461d3b8285bfae17e36d3a173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156134085750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15613462575f600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b5f61346c306116ef565b90505f60095482101590508080156134905750600b60029054906101000a900460ff165b80156134a95750600560149054906101000a900460ff16155b80156134fc575060205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561354f5750601e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156135a25750601e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156135e5576001600560146101000a81548160ff0219169083151502179055506135ca613eb6565b5f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff161590505f7f0000000000000000000000002880cc3c8b67047ec461d3b8285bfae17e36d3a173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415801561369c5750601e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80156136ee5750601e5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f7f0000000000000000000000002880cc3c8b67047ec461d3b8285bfae17e36d3a173ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161480156137995750601e5f61375261297c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b9050601e5f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806138365750601e5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561383f575f92505b81156138a4576001600e5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050505050613b3b565b80156138bd576138bc886138b661297c565b88612983565b5b5f5f90508315613b295760205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561391e57505f601454115b156139e85761394b606461393d6014548a6140e490919063ffffffff16565b61415b90919063ffffffff16565b90506014546016548261395e9190614cd0565b6139689190614d3e565b601b5f8282546139789190614f5e565b92505081905550601454601754826139909190614cd0565b61399a9190614d3e565b601c5f8282546139aa9190614f5e565b92505081905550601454601554826139c29190614cd0565b6139cc9190614d3e565b601a5f8282546139dc9190614f5e565b92505081905550613b06565b60205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015613a3f57505f601054115b15613b0557613a6c6064613a5e6010548a6140e490919063ffffffff16565b61415b90919063ffffffff16565b905060105460125482613a7f9190614cd0565b613a899190614d3e565b601b5f828254613a999190614f5e565b9250508190555060105460135482613ab19190614cd0565b613abb9190614d3e565b601c5f828254613acb9190614f5e565b9250508190555060105460115482613ae39190614cd0565b613aed9190614d3e565b601a5f828254613afd9190614f5e565b925050819055505b5b5f811115613b1a57613b198930836141a4565b5b8087613b26919061588d565b96505b613b348989896141a4565b5050505050505b505050565b5f838311158290613b87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b7e9190614786565b60405180910390fd5b505f8385613b95919061588d565b9050809150509392505050565b5f5f8284613bb09190614f5e565b905083811015613bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bec9061590a565b60405180910390fd5b8091505092915050565b5f7f0000000000000000000000002880cc3c8b67047ec461d3b8285bfae17e36d3a173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614613c5c5760019050613dce565b5f7f0000000000000000000000002880cc3c8b67047ec461d3b8285bfae17e36d3a173ffffffffffffffffffffffffffffffffffffffff166370a082317f0000000000000000000000002880cc3c8b67047ec461d3b8285bfae17e36d3a16040518263ffffffff1660e01b8152600401613cd69190614a95565b602060405180830381865afa158015613cf1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d159190615928565b11613d235760019050613dce565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16613d6361442d565b73ffffffffffffffffffffffffffffffffffffffff1603613d875760019050613dce565b5f73ffffffffffffffffffffffffffffffffffffffff16613da661442d565b73ffffffffffffffffffffffffffffffffffffffff1603613dca5760019050613dce565b5f90505b919050565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8060205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f613ec0306116ef565b90505f601c54601a54601b54613ed69190614f5e565b613ee09190614f5e565b90505f5f831480613ef057505f82145b15613efd575050506140e2565b6014600954613f0c9190614cd0565b831115613f25576014600954613f229190614cd0565b92505b5f600283601b5486613f379190614cd0565b613f419190614d3e565b613f4b9190614d3e565b90505f613f61828661443490919063ffffffff16565b90505f479050613f708261447d565b5f613f84824761443490919063ffffffff16565b90505f613fae87613fa0601c54856140e490919063ffffffff16565b61415b90919063ffffffff16565b90505f601b819055505f601a819055505f601c8190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405161400a90615980565b5f6040518083038185875af1925050503d805f8114614044576040519150601f19603f3d011682016040523d82523d5f602084013e614049565b606091505b50508096505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161409490615980565b5f6040518083038185875af1925050503d805f81146140ce576040519150601f19603f3d011682016040523d82523d5f602084013e6140d3565b606091505b50508096505050505050505050505b565b5f5f83036140f4575f9050614155565b5f82846141019190614cd0565b90508284826141109190614d3e565b14614150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161414790615a04565b60405180910390fd5b809150505b92915050565b5f61419c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506146b0565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603614212576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614209906154b3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603614280576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161427790615541565b60405180910390fd5b61428b838383614711565b6142f481604051806060016040528060268152602001615bcb602691395f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613b409092919063ffffffff16565b5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550614383815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054613ba290919063ffffffff16565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516144209190614956565b60405180910390a3505050565b5f32905090565b5f61447583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613b40565b905092915050565b5f600267ffffffffffffffff81111561449957614498615a22565b5b6040519080825280602002602001820160405280156144c75781602001602082028036833780820191505090505b50905030815f815181106144de576144dd615a4f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015614581573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906145a59190615a90565b816001815181106145b9576145b8615a4f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061461e307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84612983565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161467f959493929190615b72565b5f604051808303815f87803b158015614696575f5ffd5b505af11580156146a8573d5f5f3e3d5ffd5b505050505050565b5f5f831182906146f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016146ed9190614786565b60405180910390fd5b505f83856147049190614d3e565b9050809150509392505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61475882614716565b6147628185614720565b9350614772818560208601614730565b61477b8161473e565b840191505092915050565b5f6020820190508181035f83015261479e818461474e565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6147d3826147aa565b9050919050565b6147e3816147c9565b81146147ed575f5ffd5b50565b5f813590506147fe816147da565b92915050565b5f819050919050565b61481681614804565b8114614820575f5ffd5b50565b5f813590506148318161480d565b92915050565b5f5f6040838503121561484d5761484c6147a6565b5b5f61485a858286016147f0565b925050602061486b85828601614823565b9150509250929050565b5f8115159050919050565b61488981614875565b82525050565b5f6020820190506148a25f830184614880565b92915050565b5f602082840312156148bd576148bc6147a6565b5b5f6148ca848285016147f0565b91505092915050565b5f819050919050565b5f6148f66148f16148ec846147aa565b6148d3565b6147aa565b9050919050565b5f614907826148dc565b9050919050565b5f614918826148fd565b9050919050565b6149288161490e565b82525050565b5f6020820190506149415f83018461491f565b92915050565b61495081614804565b82525050565b5f6020820190506149695f830184614947565b92915050565b5f60208284031215614984576149836147a6565b5b5f61499184828501614823565b91505092915050565b5f5f5f606084860312156149b1576149b06147a6565b5b5f6149be868287016147f0565b93505060206149cf868287016147f0565b92505060406149e086828701614823565b9150509250925092565b6149f381614875565b81146149fd575f5ffd5b50565b5f81359050614a0e816149ea565b92915050565b5f5f60408385031215614a2a57614a296147a6565b5b5f614a37858286016147f0565b9250506020614a4885828601614a00565b9150509250929050565b5f60ff82169050919050565b614a6781614a52565b82525050565b5f602082019050614a805f830184614a5e565b92915050565b614a8f816147c9565b82525050565b5f602082019050614aa85f830184614a86565b92915050565b5f5f5f60608486031215614ac557614ac46147a6565b5b5f614ad286828701614823565b9350506020614ae386828701614823565b9250506040614af486828701614823565b9150509250925092565b5f60208284031215614b1357614b126147a6565b5b5f614b2084828501614a00565b91505092915050565b5f5f60408385031215614b3f57614b3e6147a6565b5b5f614b4c858286016147f0565b9250506020614b5d858286016147f0565b9150509250929050565b5f5f5f5f5f60a08688031215614b8057614b7f6147a6565b5b5f614b8d88828901614823565b9550506020614b9e88828901614823565b9450506040614baf88828901614823565b9350506060614bc088828901614823565b9250506080614bd188828901614823565b9150509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680614c2257607f821691505b602082108103614c3557614c34614bde565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f614c6f602083614720565b9150614c7a82614c3b565b602082019050919050565b5f6020820190508181035f830152614c9c81614c63565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614cda82614804565b9150614ce583614804565b9250828202614cf381614804565b91508282048414831517614d0a57614d09614ca3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614d4882614804565b9150614d5383614804565b925082614d6357614d62614d11565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74205f8201527f6c6f776572207468616e20302e35250000000000000000000000000000000000602082015250565b5f614dc8602f83614720565b9150614dd382614d6e565b604082019050919050565b5f6020820190508181035f830152614df581614dbc565b9050919050565b5f604082019050614e0f5f830185614a86565b614e1c6020830184614947565b9392505050565b5f81519050614e31816149ea565b92915050565b5f60208284031215614e4c57614e4b6147a6565b5b5f614e5984828501614e23565b91505092915050565b5f819050919050565b5f614e85614e80614e7b84614e62565b6148d3565b614804565b9050919050565b614e9581614e6b565b82525050565b5f60c082019050614eae5f830189614a86565b614ebb6020830188614947565b614ec86040830187614e8c565b614ed56060830186614e8c565b614ee26080830185614a86565b614eef60a0830184614947565b979650505050505050565b5f81519050614f088161480d565b92915050565b5f5f5f60608486031215614f2557614f246147a6565b5b5f614f3286828701614efa565b9350506020614f4386828701614efa565b9250506040614f5486828701614efa565b9150509250925092565b5f614f6882614804565b9150614f7383614804565b9250828201905080821115614f8b57614f8a614ca3565b5b92915050565b7f4d757374206b656570206665657320617420353025206f72206c6573730000005f82015250565b5f614fc5601d83614720565b9150614fd082614f91565b602082019050919050565b5f6020820190508181035f830152614ff281614fb9565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f615053603983614720565b915061505e82614ff9565b604082019050919050565b5f6020820190508181035f83015261508081615047565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f312e352500000000000000000000000000000000000000000000000000000000602082015250565b5f6150e1602483614720565b91506150ec82615087565b604082019050919050565b5f6020820190508181035f83015261510e816150d5565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f61516f603583614720565b915061517a82615115565b604082019050919050565b5f6020820190508181035f83015261519c81615163565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f6151fd603483614720565b9150615208826151a3565b604082019050919050565b5f6020820190508181035f83015261522a816151f1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61528b602683614720565b915061529682615231565b604082019050919050565b5f6020820190508181035f8301526152b88161527f565b9050919050565b7f4d757374206b656570206665657320617420393925206f72206c6573730000005f82015250565b5f6152f3601d83614720565b91506152fe826152bf565b602082019050919050565b5f6020820190508181035f830152615320816152e7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f615381602483614720565b915061538c82615327565b604082019050919050565b5f6020820190508181035f8301526153ae81615375565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61540f602283614720565b915061541a826153b5565b604082019050919050565b5f6020820190508181035f83015261543c81615403565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61549d602583614720565b91506154a882615443565b604082019050919050565b5f6020820190508181035f8301526154ca81615491565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61552b602383614720565b9150615536826154d1565b604082019050919050565b5f6020820190508181035f8301526155588161551f565b9050919050565b7f596f752068617665206265656e20626c61636b6c69737465642066726f6d20745f8201527f72616e73666572696e6720746f6b656e73000000000000000000000000000000602082015250565b5f6155b9603183614720565b91506155c48261555f565b604082019050919050565b5f6020820190508181035f8301526155e6816155ad565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f615621601683614720565b915061562c826155ed565b602082019050919050565b5f6020820190508181035f83015261564e81615615565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f6156d5604983614720565b91506156e082615655565b606082019050919050565b5f6020820190508181035f830152615702816156c9565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f615763603583614720565b915061576e82615709565b604082019050919050565b5f6020820190508181035f83015261579081615757565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6157cb601383614720565b91506157d682615797565b602082019050919050565b5f6020820190508181035f8301526157f8816157bf565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f615859603683614720565b9150615864826157ff565b604082019050919050565b5f6020820190508181035f8301526158868161584d565b9050919050565b5f61589782614804565b91506158a283614804565b92508282039050818111156158ba576158b9614ca3565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6158f4601b83614720565b91506158ff826158c0565b602082019050919050565b5f6020820190508181035f830152615921816158e8565b9050919050565b5f6020828403121561593d5761593c6147a6565b5b5f61594a84828501614efa565b91505092915050565b5f81905092915050565b50565b5f61596b5f83615953565b91506159768261595d565b5f82019050919050565b5f61598a82615960565b9150819050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6159ee602183614720565b91506159f982615994565b604082019050919050565b5f6020820190508181035f830152615a1b816159e2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050615a8a816147da565b92915050565b5f60208284031215615aa557615aa46147a6565b5b5f615ab284828501615a7c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b615aed816147c9565b82525050565b5f615afe8383615ae4565b60208301905092915050565b5f602082019050919050565b5f615b2082615abb565b615b2a8185615ac5565b9350615b3583615ad5565b805f5b83811015615b65578151615b4c8882615af3565b9750615b5783615b0a565b925050600181019050615b38565b5085935050505092915050565b5f60a082019050615b855f830188614947565b615b926020830187614e8c565b8181036040830152615ba48186615b16565b9050615bb36060830185614a86565b615bc06080830184614947565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208e055146eecd1e2baeb2094f4007e2c9d455c976bf84637f949d1e947ec8605964736f6c63430008220033
🤖 Code Reader

Generate instant answers for your smart contract questions using Al Models. Read more.

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.

Etherscan Logo Etherscan Logo
Etherscan AI Beta
Holders Overview


Etherscan AI can make mistakes, please DYOR. Not financial advice