BNB Price: $602.03 (+1.28%)
 

Overview

Max Total Supply

100,000,000,000,000,000CATGIRL

Holders

228,305 ( 0.003%)

Transfers

-
0

Market

Price

$0.00 @ 0.000000 BNB (+1.70%)

Onchain Market Cap

$557,200.00

Circulating Supply Market Cap

$198,758.00

Other Info

Token Contract (WITH 9 Decimals)

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

OVERVIEW

Catgirl is an innovative NFT project that combines the limitless potential of crypto and NFTs into one contemporary, vibrant, and interactive experience

Market

Volume (24H):$129.61
Market Capitalization:$198,758.00
Circulating Supply:35,672,679,218,361,400.00 CATGIRL
Market Data Source: Coinmarketcap


Update? Click here to update the token ICO / general information
BEP-8056 UI Multiplier changes (based on UIMultiplierUpdated event). Displayed token amounts are scaled by the active multiplier.
Transaction Hash Block
Age
Multiplier Status
Source Code Verified Exact Match

Contract Name

CatGirlCoin

Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled
Yes with 200 runs
Other Settings
default evmVersion
License
None
Contract Source Code (Solidity)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_lottoDrawCount","type":"uint256"}],"name":"DrawLotto","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_antiWhaleThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isAntiWhaleEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromAntiWhale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lastLottoWinnerAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lottoDrawCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lottoFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_shouldSwapToBNB","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalLottoPrize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentLottoPool","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":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"geUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","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":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isIncludeFromLotto","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lotteryThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lottoEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minLottoBalance","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":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e","type":"bool"}],"name":"setAntiWhaleEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setAntiWhaleThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"dev","type":"address"}],"name":"setDevAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"devFee","type":"uint256"}],"name":"setDevFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"e","type":"bool"}],"name":"setExcludedFromAntiWhale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"setLotteryThresHold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setLottoEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lottoFee","type":"uint256"}],"name":"setLottoFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minBalance","type":"uint256"}],"name":"setMinLottoBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"p","type":"address"}],"name":"setUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"r","type":"address"}],"name":"setUniswapRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setshouldSwapToBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
60806040526000601155670de0b6b3a76400006012556a52b7d2dcc80cd2e400000060138190556200003490600019620006a3565b620000429060001962000642565b6014556040805180820190915260078082526610d85d11da5c9b60ca1b602090920191825262000075916016916200056c565b506040805180820190915260078082526610d05511d2549360ca1b6020909201918252620000a6916017916200056c565b506018805460ff1990811660091790915560046019819055601a556001601b819055601c8190556002601d819055601e55601f81905560208190556022805462ffffff60b01b191661010160b01b1790556a52b7d2dcc80cd2e40000006023556969e10de76676d080000060245569021e19e0c9bab24000006025556026805490921617905569d3c21bcecceda10000006027553480156200014757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060145433600081815260036020526040902091909155620001aa90620004e1565b600d80546001600160a01b03191660011790556040805163c45a015560e01b815290517310ed43c718714eb63d5aa57b78b54704e256024e91829163c45a015591600480820192602092909190829003018186803b1580156200020c57600080fd5b505afa15801562000221573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000247919062000612565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029057600080fd5b505afa158015620002a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cb919062000612565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200031457600080fd5b505af115801562000329573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034f919062000612565b602280546001600160a01b03199081166001600160a01b039384161790915560218054909116918316919091179055600160066000620003976000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600d549091168152600690925280822080548416600190811790915530835290822080549093168117909255600890620004076000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600d5482168152600890935281832080548516600190811790915530845282842080548616821790556021548216845282842080548616821790556022549091168352912080549092161790556200048a3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601354604051620004d291815260200190565b60405180910390a350620006c4565b6001600160a01b03811660009081526009602052604090205460ff1615620005065750565b6001600160a01b03166000818152600960205260408120805460ff19166001908117909155600a805491820181559091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319169091179055565b8280546200057a9062000666565b90600052602060002090601f0160209004810192826200059e5760008555620005e9565b82601f10620005b957805160ff1916838001178555620005e9565b82800160010185558215620005e9579182015b82811115620005e9578251825591602001919060010190620005cc565b50620005f7929150620005fb565b5090565b5b80821115620005f75760008155600101620005fc565b60006020828403121562000624578081fd5b81516001600160a01b03811681146200063b578182fd5b9392505050565b6000828210156200066157634e487b7160e01b81526011600452602481fd5b500390565b600181811c908216806200067b57607f821691505b602082108114156200069d57634e487b7160e01b600052602260045260246000fd5b50919050565b600082620006bf57634e487b7160e01b81526012600452602481fd5b500690565b6137dd80620006d46000396000f3fe6080604052600436106103bc5760003560e01c80638152661a116101f2578063c33660991161010d578063dd467064116100a0578063ea92df561161006f578063ea92df5614610b3d578063f2fde38b14610b53578063f7632f4c14610b73578063fcc659d414610b8957600080fd5b8063dd46706414610aa1578063dd62ed3e14610ac1578063df375e4914610b07578063ea2f0b3714610b1d57600080fd5b8063d543dbeb116100dc578063d543dbeb14610a20578063d5aed6bf14610a40578063da7034ff14610a60578063dc68716614610a8057600080fd5b8063c3366099146109aa578063c49b9a80146109c0578063c7f59a67146109e0578063d0d41fe114610a0057600080fd5b8063a69df4b511610185578063aff8b0e011610154578063aff8b0e01461093e578063b6c523241461095f578063bea9849e14610974578063c151ff1c1461099457600080fd5b8063a69df4b5146108d3578063a9059cbb146108e8578063aa45026b14610908578063aa5f57ca1461091e57600080fd5b806395d89b41116101c157806395d89b411461086957806395dbe67b1461087e5780639d04404614610893578063a457c2d7146108b357600080fd5b80638152661a146107b957806388f82020146107f25780638da5cb5b1461082b5780638ee88c531461084957600080fd5b806339509351116102e257806352390c021161027557806370a082311161024457806370a082311461074e578063715018a61461076e578063795f694f146107835780637d1db4a5146107a357600080fd5b806352390c02146106bf5780635342acb4146106df5780636787d184146107185780636bc87c3a1461073857600080fd5b8063437823ec116102b1578063437823ec1461063e5780634549b0391461065e57806349bd5a5e1461067e5780634a74bb021461069e57600080fd5b806339509351146105ce5780633b124fe7146105ee5780633bd5d1731461060457806342737bb11461062457600080fd5b806318160ddd1161035a5780632d838119116103295780632d8381191461054c578063313ce5671461056c5780633685d4191461058e578063379e2919146105ae57600080fd5b806318160ddd146104d157806323b872dd146104e6578063260978d8146105065780632c505e901461051c57600080fd5b8063095ea7b311610396578063095ea7b31461043557806313114a9d146104655780631694505e1461048457806317fc654c146104bc57600080fd5b8063061c82d0146103c857806306fdde03146103ea57806307eb38c01461041557600080fd5b366103c357005b600080fd5b3480156103d457600080fd5b506103e86103e33660046134cb565b610ba9565b005b3480156103f657600080fd5b506103ff610be1565b60405161040c9190613532565b60405180910390f35b34801561042157600080fd5b506103e86104303660046134cb565b610c73565b34801561044157600080fd5b50610455610450366004613486565b610ca2565b604051901515815260200161040c565b34801561047157600080fd5b506015545b60405190815260200161040c565b34801561049057600080fd5b506021546104a4906001600160a01b031681565b6040516001600160a01b03909116815260200161040c565b3480156104c857600080fd5b50601254610476565b3480156104dd57600080fd5b50601354610476565b3480156104f257600080fd5b50610455610501366004613412565b610cb9565b34801561051257600080fd5b5061047660275481565b34801561052857600080fd5b506104556105373660046133a2565b60086020526000908152604090205460ff1681565b34801561055857600080fd5b506104766105673660046134cb565b610d22565b34801561057857600080fd5b5060185460405160ff909116815260200161040c565b34801561059a57600080fd5b506103e86105a93660046133a2565b610da6565b3480156105ba57600080fd5b506103e86105c93660046134cb565b610f95565b3480156105da57600080fd5b506104556105e9366004613486565b610fc4565b3480156105fa57600080fd5b5061047660195481565b34801561061057600080fd5b506103e861061f3660046134cb565b610ffa565b34801561063057600080fd5b506026546104559060ff1681565b34801561064a57600080fd5b506103e86106593660046133a2565b6110e8565b34801561066a57600080fd5b506104766106793660046134e3565b611136565b34801561068a57600080fd5b506022546104a4906001600160a01b031681565b3480156106aa57600080fd5b5060225461045590600160b01b900460ff1681565b3480156106cb57600080fd5b506103e86106da3660046133a2565b6111c7565b3480156106eb57600080fd5b506104556106fa3660046133a2565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561072457600080fd5b506103e86107333660046134cb565b61131a565b34801561074457600080fd5b50610476601b5481565b34801561075a57600080fd5b506104766107693660046133a2565b611349565b34801561077a57600080fd5b506103e86113a8565b34801561078f57600080fd5b506103e861079e3660046134cb565b61140a565b3480156107af57600080fd5b5061047660235481565b3480156107c557600080fd5b506104556107d43660046133a2565b6001600160a01b031660009081526009602052604090205460ff1690565b3480156107fe57600080fd5b5061045561080d3660046133a2565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561083757600080fd5b506000546001600160a01b03166104a4565b34801561085557600080fd5b506103e86108643660046134cb565b611439565b34801561087557600080fd5b506103ff611468565b34801561088a57600080fd5b50610476611477565b34801561089f57600080fd5b506103e86108ae3660046134b1565b611494565b3480156108bf57600080fd5b506104556108ce366004613486565b6114dc565b3480156108df57600080fd5b506103e861152b565b3480156108f457600080fd5b50610455610903366004613486565b611631565b34801561091457600080fd5b50610476601f5481565b34801561092a57600080fd5b506103e86109393660046134b1565b61163e565b34801561094a57600080fd5b5060225461045590600160c01b900460ff1681565b34801561096b57600080fd5b50600254610476565b34801561098057600080fd5b506103e861098f3660046133a2565b61167b565b3480156109a057600080fd5b5061047660255481565b3480156109b657600080fd5b5061047660115481565b3480156109cc57600080fd5b506103e86109db3660046134b1565b6116c7565b3480156109ec57600080fd5b506103e86109fb366004613452565b611749565b348015610a0c57600080fd5b506103e8610a1b3660046133a2565b61179e565b348015610a2c57600080fd5b506103e8610a3b3660046134cb565b6117ea565b348015610a4c57600080fd5b506103e8610a5b3660046133a2565b61183a565b348015610a6c57600080fd5b506103e8610a7b3660046134b1565b611886565b348015610a8c57600080fd5b5060225461045590600160b81b900460ff1681565b348015610aad57600080fd5b506103e8610abc3660046134cb565b6118ce565b348015610acd57600080fd5b50610476610adc3660046133da565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b348015610b1357600080fd5b50610476600f5481565b348015610b2957600080fd5b506103e8610b383660046133a2565b611953565b348015610b4957600080fd5b50610476601d5481565b348015610b5f57600080fd5b506103e8610b6e3660046133a2565b61199e565b348015610b7f57600080fd5b5061047660105481565b348015610b9557600080fd5b506103e8610ba43660046134cb565b611a76565b6000546001600160a01b03163314610bdc5760405162461bcd60e51b8152600401610bd390613585565b60405180910390fd5b601955565b606060168054610bf09061368c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1c9061368c565b8015610c695780601f10610c3e57610100808354040283529160200191610c69565b820191906000526020600020905b815481529060010190602001808311610c4c57829003601f168201915b5050505050905090565b6000546001600160a01b03163314610c9d5760405162461bcd60e51b8152600401610bd390613585565b601255565b6000610caf338484611aa5565b5060015b92915050565b6000610cc6848484611bc9565b610d188433610d138560405180606001604052806028815260200161373b602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190612045565b611aa5565b5060019392505050565b6000601454821115610d895760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610bd3565b6000610d9361207f565b9050610d9f83826120a2565b9392505050565b6000546001600160a01b03163314610dd05760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b03811660009081526007602052604090205460ff16610e385760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610bd3565b60005b600b54811015610f9157816001600160a01b0316600b8281548110610e7057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610f7f57600b8054610e9b90600190613675565b81548110610eb957634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600b80546001600160a01b039092169183908110610ef357634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff19169055600b805480610f5957634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610f89816136c7565b915050610e3b565b5050565b6000546001600160a01b03163314610fbf5760405162461bcd60e51b8152600401610bd390613585565b601f55565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610caf918590610d1390866120e4565b3360008181526007602052604090205460ff161561106f5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610bd3565b600061107a83612143565b5050506001600160a01b0387166000908152600360205260409020549495506110aa949350859250506121bb9050565b6001600160a01b0383166000908152600360205260409020556014546110d090826121bb565b6014556015546110e090846120e4565b601555505050565b6000546001600160a01b031633146111125760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b600060135483111561118a5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610bd3565b816111ab57600061119a84612143565b50959750610cb39650505050505050565b60006111b684612143565b50949750610cb39650505050505050565b6000546001600160a01b031633146111f15760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b03811660009081526007602052604090205460ff161561125a5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610bd3565b6001600160a01b038116600090815260036020526040902054156112b4576001600160a01b03811660009081526003602052604090205461129a90610d22565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600760205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6000546001600160a01b031633146113445760405162461bcd60e51b8152600401610bd390613585565b601d55565b6001600160a01b03811660009081526007602052604081205460ff161561138657506001600160a01b031660009081526004602052604090205490565b6001600160a01b038216600090815260036020526040902054610cb390610d22565b6000546001600160a01b031633146113d25760405162461bcd60e51b8152600401610bd390613585565b600080546040516001600160a01b0390911690600080516020613763833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146114345760405162461bcd60e51b8152600401610bd390613585565b602755565b6000546001600160a01b031633146114635760405162461bcd60e51b8152600401610bd390613585565b601b55565b606060178054610bf09061368c565b600d5460009061148f906001600160a01b0316611349565b905090565b6000546001600160a01b031633146114be5760405162461bcd60e51b8152600401610bd390613585565b60228054911515600160b81b0260ff60b81b19909216919091179055565b6000610caf3384610d1385604051806060016040528060258152602001613783602591393360009081526005602090815260408083206001600160a01b038d1684529091529020549190612045565b6001546001600160a01b031633146115915760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610bd3565b60025442116115e25760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610bd3565b600154600080546040516001600160a01b03938416939091169160008051602061376383398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000610caf338484611bc9565b6000546001600160a01b031633146116685760405162461bcd60e51b8152600401610bd390613585565b6026805460ff1916911515919091179055565b6000546001600160a01b031633146116a55760405162461bcd60e51b8152600401610bd390613585565b602180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146116f15760405162461bcd60e51b8152600401610bd390613585565b60228054821515600160b01b0260ff60b01b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061173e90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146117735760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146117c85760405162461bcd60e51b8152600401610bd390613585565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146118145760405162461bcd60e51b8152600401610bd390613585565b611834606461182e836013546121fd90919063ffffffff16565b906120a2565b60235550565b6000546001600160a01b031633146118645760405162461bcd60e51b8152600401610bd390613585565b602280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146118b05760405162461bcd60e51b8152600401610bd390613585565b60228054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146118f85760405162461bcd60e51b8152600401610bd390613585565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055611927814261362a565b600255600080546040516001600160a01b0390911690600080516020613763833981519152908390a350565b6000546001600160a01b0316331461197d5760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146119c85760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b038116611a2d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bd3565b600080546040516001600160a01b038085169392169160008051602061376383398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611aa05760405162461bcd60e51b8152600401610bd390613585565b602555565b6001600160a01b038316611b075760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bd3565b6001600160a01b038216611b685760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bd3565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611c2d5760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bd3565b6001600160a01b038216611c8f5760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bd3565b60008111611cf15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610bd3565b6000546001600160a01b03848116911614801590611d1d57506000546001600160a01b03838116911614155b15611d8557602354811115611d855760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610bd3565b60265460ff168015611db057506001600160a01b03821660009081526008602052604090205460ff16155b15611ee5576022546001600160a01b0384811691161480611dde57506021546001600160a01b038481169116145b15611ee557602754811115611e5b5760405162461bcd60e51b815260206004820152603760248201527f416e7469207768616c653a2063616e277420627579206d6f7265207468616e2060448201527f74686520737065636966696564207468726573686f6c640000000000000000006064820152608401610bd3565b602754611e7182611e6b85611349565b906120e4565b1115611ee55760405162461bcd60e51b815260206004820152603860248201527f416e7469207768616c653a2063616e277420686f6c64206d6f7265207468616e60448201527f2074686520737065636966696564207468726573686f6c6400000000000000006064820152608401610bd3565b6000611ef030611349565b90506023548110611f0057506023545b60245481108015908190611f1e5750602254600160a01b900460ff16155b8015611f3857506022546001600160a01b03868116911614155b8015611f4d5750602254600160b01b900460ff165b15611f60576024549150611f608261227c565b600d54600090611f78906001600160a01b0316611349565b60255490915081108015908190611f995750602254600160a01b900460ff16155b8015611faf5750602254600160a81b900460ff16155b8015611fc45750602254600160b81b900460ff165b15611fd257611fd282612323565b6001600160a01b03871660009081526006602052604090205460019060ff168061201457506001600160a01b03871660009081526006602052604090205460ff165b1561201d575060005b612026886123e2565b61202f876123e2565b61203b8888888461246c565b5050505050505050565b600081848411156120695760405162461bcd60e51b8152600401610bd39190613532565b5060006120768486613675565b95945050505050565b600080600061208c6125f5565b909250905061209b82826120a2565b9250505090565b6000610d9f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127af565b6000806120f1838561362a565b905083811015610d9f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bd3565b60008060008060008060008060008061215b8b6127dd565b8c8152909250905061216b61207f565b60a08201526000808061217d846128a6565b925092509250828282878760200151886040015189606001518a608001519c509c509c509c509c509c509c509c505050505050919395975091939597565b6000610d9f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612045565b60008261220c57506000610cb3565b60006122188385613656565b9050826122258583613642565b14610d9f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bd3565b6022805460ff60a01b1916600160a01b179055600061229c8260026120a2565b905060006122aa83836121bb565b9050476122b68361296b565b60006122c247836121bb565b90506122ce8382612af0565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a150506022805460ff60a01b19169055505050565b6022805460ff60a81b1916600160a81b17905561233e612bd4565b600e80546001600160a01b0319166001600160a01b03928316908117909155600d5461236c92169083611bc9565b600f81905560105461237e90826120e4565b60105560118054600090612391906136c7565b909155506011546040805183815260208101929092527f3d40d6d9f2e561cf54025fe604724909e335ee220f8b414233750744eaa89714910160405180910390a1506022805460ff60a81b19169055565b6001600160a01b03811660009081526009602052604090205460ff16156124065750565b6001600160a01b03166000818152600960205260408120805460ff19166001908117909155600a805491820181559091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319169091179055565b8061247957612479612ccf565b6001600160a01b03841660009081526007602052604090205460ff1680156124ba57506001600160a01b03831660009081526007602052604090205460ff16155b156124cf576124ca848484612d2a565b6125cd565b6001600160a01b03841660009081526007602052604090205460ff1615801561251057506001600160a01b03831660009081526007602052604090205460ff165b15612520576124ca848484612e7d565b6001600160a01b03841660009081526007602052604090205460ff1615801561256257506001600160a01b03831660009081526007602052604090205460ff16155b15612572576124ca848484612f3f565b6001600160a01b03841660009081526007602052604090205460ff1680156125b257506001600160a01b03831660009081526007602052604090205460ff165b156125c2576124ca848484612f9c565b6125cd848484612f3f565b806125ef576125ef601a54601955601e54601d55602054601f55601c54601b55565b50505050565b6014546013546000918291825b600b5481101561277f578260036000600b848154811061263257634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806126ab57508160046000600b848154811061268457634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156126c157601454601354945094505050509091565b61271560036000600b84815481106126e957634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906121bb565b925061276b60046000600b848154811061273f57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906121bb565b915080612777816136c7565b915050612602565b5060135460145461278f916120a2565b8210156127a6576014546013549350935050509091565b90939092509050565b600081836127d05760405162461bcd60e51b8152600401610bd39190613532565b5060006120768486613642565b60006128186040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600061282384613028565b9050600061283085613044565b9050600061283d86613060565b9050600061284a8761307c565b9050600061286682612860858188818e8c6121bb565b906121bb565b9050806040518060c00160405280600081526020018781526020018681526020018581526020018481526020016000815250965096505050505050915091565b6000806000806128c78560a0015186600001516121fd90919063ffffffff16565b905060006128e68660a0015187602001516121fd90919063ffffffff16565b905060006129058760a0015188604001516121fd90919063ffffffff16565b905060006129248860a0015189606001516121fd90919063ffffffff16565b905060006129438960a001518a608001516121fd90919063ffffffff16565b9050600061295982612860858188818c8c6121bb565b959a9599509397509395505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106129ae57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152602154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612a0257600080fd5b505afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a91906133be565b81600181518110612a5b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152602154612a819130911684611aa5565b60215460405163791ac94760e01b81526001600160a01b039091169063791ac94790612aba9085906000908690309042906004016135ba565b600060405180830381600087803b158015612ad457600080fd5b505af1158015612ae8573d6000803e3d6000fd5b505050505050565b602154612b089030906001600160a01b031684611aa5565b6021546001600160a01b031663f305d719823085600080612b316000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015612b9457600080fd5b505af1158015612ba8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612bcd9190613505565b5050505050565b600080612c25600a80549050612c1f6040805144602082015242918101919091524360608201526000906080016040516020818303038152906040528051906020012060001c905090565b90613098565b9050600060036000600a8481548110612c4e57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020546012549091508110612cbc57600a8281548110612ca057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03169392505050565b5050600c546001600160a01b0316919050565b601954158015612cdf5750601b54155b8015612ceb5750601f54155b8015612cf75750601d54155b15612cfe57565b60198054601a55601d8054601e55601f8054602055601b8054601c556000938490559183905582905555565b600080600080600080600080612d3f89612143565b97509750975097509750975097509750612d8789600460008e6001600160a01b03166001600160a01b03168152602001908152602001600020546121bb90919063ffffffff16565b6001600160a01b038c16600090815260046020908152604080832093909355600390522054612db690896121bb565b6001600160a01b03808d1660009081526003602052604080822093909355908c1681522054612de590886120e4565b6001600160a01b038b16600090815260036020526040902055612e07836130da565b612e1082613163565b612e1981613222565b612e238685613335565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051612e6891815260200190565b60405180910390a35050505050505050505050565b600080600080600080600080612e9289612143565b97509750975097509750975097509750612eda88600360008e6001600160a01b03166001600160a01b03168152602001908152602001600020546121bb90919063ffffffff16565b6001600160a01b03808d16600090815260036020908152604080832094909455918d16815260049091522054612f1090866120e4565b6001600160a01b038b16600090815260046020908152604080832093909355600390522054612de590886120e4565b600080600080600080600080612f5489612143565b97509750975097509750975097509750612db688600360008e6001600160a01b03166001600160a01b03168152602001908152602001600020546121bb90919063ffffffff16565b600080600080600080600080612fb189612143565b97509750975097509750975097509750612ff989600460008e6001600160a01b03166001600160a01b03168152602001908152602001600020546121bb90919063ffffffff16565b6001600160a01b038c16600090815260046020908152604080832093909355600390522054612eda90896121bb565b6000610cb3606461182e601954856121fd90919063ffffffff16565b6000610cb3606461182e601b54856121fd90919063ffffffff16565b6000610cb3606461182e601d54856121fd90919063ffffffff16565b6000610cb3606461182e601f54856121fd90919063ffffffff16565b6000610d9f83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250613359565b60006130e461207f565b905060006130f283836121fd565b3060009081526003602052604090205490915061310f90826120e4565b3060009081526003602090815260408083209390935560079052205460ff161561315e573060009081526004602052604090205461314d90846120e4565b306000908152600460205260409020555b505050565b600061316d61207f565b9050600061317b83836121fd565b600d546001600160a01b03166000908152600360205260409020549091506131a390826120e4565b600d80546001600160a01b03908116600090815260036020908152604080832095909555925490911681526007909152205460ff161561315e57600d546001600160a01b031660009081526004602052604090205461320290846120e4565b600d546001600160a01b0316600090815260046020526040902055505050565b600061322c61207f565b9050600061323a83836121fd565b602254909150600160c01b900460ff1615613291576132588161296b565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156125ef573d6000803e3d6000fd5b600c546001600160a01b03166000908152600360205260409020546132b690826120e4565b600c80546001600160a01b03908116600090815260036020908152604080832095909555925490911681526007909152205460ff161561315e57600c546001600160a01b031660009081526004602052604090205461331590846120e4565b600c546001600160a01b0316600090815260046020526040902055505050565b60145461334290836121bb565b60145560155461335290826120e4565b6015555050565b6000818361337a5760405162461bcd60e51b8152600401610bd39190613532565b5061338583856136e2565b949350505050565b8035801515811461339d57600080fd5b919050565b6000602082840312156133b3578081fd5b8135610d9f81613722565b6000602082840312156133cf578081fd5b8151610d9f81613722565b600080604083850312156133ec578081fd5b82356133f781613722565b9150602083013561340781613722565b809150509250929050565b600080600060608486031215613426578081fd5b833561343181613722565b9250602084013561344181613722565b929592945050506040919091013590565b60008060408385031215613464578182fd5b823561346f81613722565b915061347d6020840161338d565b90509250929050565b60008060408385031215613498578182fd5b82356134a381613722565b946020939093013593505050565b6000602082840312156134c2578081fd5b610d9f8261338d565b6000602082840312156134dc578081fd5b5035919050565b600080604083850312156134f5578182fd5b8235915061347d6020840161338d565b600080600060608486031215613519578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561355e57858101830151858201604001528201613542565b8181111561356f5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156136095784516001600160a01b0316835293830193918301916001016135e4565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561363d5761363d6136f6565b500190565b6000826136515761365161370c565b500490565b6000816000190483118215151615613670576136706136f6565b500290565b600082821015613687576136876136f6565b500390565b600181811c908216806136a057607f821691505b602082108114156136c157634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156136db576136db6136f6565b5060010190565b6000826136f1576136f161370c565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6001600160a01b038116811461373757600080fd5b5056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e042455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200949b938bef817cb1d59937efbdad09eeec614b2eeaa3f8ab09c86704ea5264464736f6c63430008040033
Deployed Bytecode
0x6080604052600436106103bc5760003560e01c80638152661a116101f2578063c33660991161010d578063dd467064116100a0578063ea92df561161006f578063ea92df5614610b3d578063f2fde38b14610b53578063f7632f4c14610b73578063fcc659d414610b8957600080fd5b8063dd46706414610aa1578063dd62ed3e14610ac1578063df375e4914610b07578063ea2f0b3714610b1d57600080fd5b8063d543dbeb116100dc578063d543dbeb14610a20578063d5aed6bf14610a40578063da7034ff14610a60578063dc68716614610a8057600080fd5b8063c3366099146109aa578063c49b9a80146109c0578063c7f59a67146109e0578063d0d41fe114610a0057600080fd5b8063a69df4b511610185578063aff8b0e011610154578063aff8b0e01461093e578063b6c523241461095f578063bea9849e14610974578063c151ff1c1461099457600080fd5b8063a69df4b5146108d3578063a9059cbb146108e8578063aa45026b14610908578063aa5f57ca1461091e57600080fd5b806395d89b41116101c157806395d89b411461086957806395dbe67b1461087e5780639d04404614610893578063a457c2d7146108b357600080fd5b80638152661a146107b957806388f82020146107f25780638da5cb5b1461082b5780638ee88c531461084957600080fd5b806339509351116102e257806352390c021161027557806370a082311161024457806370a082311461074e578063715018a61461076e578063795f694f146107835780637d1db4a5146107a357600080fd5b806352390c02146106bf5780635342acb4146106df5780636787d184146107185780636bc87c3a1461073857600080fd5b8063437823ec116102b1578063437823ec1461063e5780634549b0391461065e57806349bd5a5e1461067e5780634a74bb021461069e57600080fd5b806339509351146105ce5780633b124fe7146105ee5780633bd5d1731461060457806342737bb11461062457600080fd5b806318160ddd1161035a5780632d838119116103295780632d8381191461054c578063313ce5671461056c5780633685d4191461058e578063379e2919146105ae57600080fd5b806318160ddd146104d157806323b872dd146104e6578063260978d8146105065780632c505e901461051c57600080fd5b8063095ea7b311610396578063095ea7b31461043557806313114a9d146104655780631694505e1461048457806317fc654c146104bc57600080fd5b8063061c82d0146103c857806306fdde03146103ea57806307eb38c01461041557600080fd5b366103c357005b600080fd5b3480156103d457600080fd5b506103e86103e33660046134cb565b610ba9565b005b3480156103f657600080fd5b506103ff610be1565b60405161040c9190613532565b60405180910390f35b34801561042157600080fd5b506103e86104303660046134cb565b610c73565b34801561044157600080fd5b50610455610450366004613486565b610ca2565b604051901515815260200161040c565b34801561047157600080fd5b506015545b60405190815260200161040c565b34801561049057600080fd5b506021546104a4906001600160a01b031681565b6040516001600160a01b03909116815260200161040c565b3480156104c857600080fd5b50601254610476565b3480156104dd57600080fd5b50601354610476565b3480156104f257600080fd5b50610455610501366004613412565b610cb9565b34801561051257600080fd5b5061047660275481565b34801561052857600080fd5b506104556105373660046133a2565b60086020526000908152604090205460ff1681565b34801561055857600080fd5b506104766105673660046134cb565b610d22565b34801561057857600080fd5b5060185460405160ff909116815260200161040c565b34801561059a57600080fd5b506103e86105a93660046133a2565b610da6565b3480156105ba57600080fd5b506103e86105c93660046134cb565b610f95565b3480156105da57600080fd5b506104556105e9366004613486565b610fc4565b3480156105fa57600080fd5b5061047660195481565b34801561061057600080fd5b506103e861061f3660046134cb565b610ffa565b34801561063057600080fd5b506026546104559060ff1681565b34801561064a57600080fd5b506103e86106593660046133a2565b6110e8565b34801561066a57600080fd5b506104766106793660046134e3565b611136565b34801561068a57600080fd5b506022546104a4906001600160a01b031681565b3480156106aa57600080fd5b5060225461045590600160b01b900460ff1681565b3480156106cb57600080fd5b506103e86106da3660046133a2565b6111c7565b3480156106eb57600080fd5b506104556106fa3660046133a2565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561072457600080fd5b506103e86107333660046134cb565b61131a565b34801561074457600080fd5b50610476601b5481565b34801561075a57600080fd5b506104766107693660046133a2565b611349565b34801561077a57600080fd5b506103e86113a8565b34801561078f57600080fd5b506103e861079e3660046134cb565b61140a565b3480156107af57600080fd5b5061047660235481565b3480156107c557600080fd5b506104556107d43660046133a2565b6001600160a01b031660009081526009602052604090205460ff1690565b3480156107fe57600080fd5b5061045561080d3660046133a2565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561083757600080fd5b506000546001600160a01b03166104a4565b34801561085557600080fd5b506103e86108643660046134cb565b611439565b34801561087557600080fd5b506103ff611468565b34801561088a57600080fd5b50610476611477565b34801561089f57600080fd5b506103e86108ae3660046134b1565b611494565b3480156108bf57600080fd5b506104556108ce366004613486565b6114dc565b3480156108df57600080fd5b506103e861152b565b3480156108f457600080fd5b50610455610903366004613486565b611631565b34801561091457600080fd5b50610476601f5481565b34801561092a57600080fd5b506103e86109393660046134b1565b61163e565b34801561094a57600080fd5b5060225461045590600160c01b900460ff1681565b34801561096b57600080fd5b50600254610476565b34801561098057600080fd5b506103e861098f3660046133a2565b61167b565b3480156109a057600080fd5b5061047660255481565b3480156109b657600080fd5b5061047660115481565b3480156109cc57600080fd5b506103e86109db3660046134b1565b6116c7565b3480156109ec57600080fd5b506103e86109fb366004613452565b611749565b348015610a0c57600080fd5b506103e8610a1b3660046133a2565b61179e565b348015610a2c57600080fd5b506103e8610a3b3660046134cb565b6117ea565b348015610a4c57600080fd5b506103e8610a5b3660046133a2565b61183a565b348015610a6c57600080fd5b506103e8610a7b3660046134b1565b611886565b348015610a8c57600080fd5b5060225461045590600160b81b900460ff1681565b348015610aad57600080fd5b506103e8610abc3660046134cb565b6118ce565b348015610acd57600080fd5b50610476610adc3660046133da565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b348015610b1357600080fd5b50610476600f5481565b348015610b2957600080fd5b506103e8610b383660046133a2565b611953565b348015610b4957600080fd5b50610476601d5481565b348015610b5f57600080fd5b506103e8610b6e3660046133a2565b61199e565b348015610b7f57600080fd5b5061047660105481565b348015610b9557600080fd5b506103e8610ba43660046134cb565b611a76565b6000546001600160a01b03163314610bdc5760405162461bcd60e51b8152600401610bd390613585565b60405180910390fd5b601955565b606060168054610bf09061368c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1c9061368c565b8015610c695780601f10610c3e57610100808354040283529160200191610c69565b820191906000526020600020905b815481529060010190602001808311610c4c57829003601f168201915b5050505050905090565b6000546001600160a01b03163314610c9d5760405162461bcd60e51b8152600401610bd390613585565b601255565b6000610caf338484611aa5565b5060015b92915050565b6000610cc6848484611bc9565b610d188433610d138560405180606001604052806028815260200161373b602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190612045565b611aa5565b5060019392505050565b6000601454821115610d895760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610bd3565b6000610d9361207f565b9050610d9f83826120a2565b9392505050565b6000546001600160a01b03163314610dd05760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b03811660009081526007602052604090205460ff16610e385760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610bd3565b60005b600b54811015610f9157816001600160a01b0316600b8281548110610e7057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415610f7f57600b8054610e9b90600190613675565b81548110610eb957634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600b80546001600160a01b039092169183908110610ef357634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff19169055600b805480610f5957634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610f89816136c7565b915050610e3b565b5050565b6000546001600160a01b03163314610fbf5760405162461bcd60e51b8152600401610bd390613585565b601f55565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610caf918590610d1390866120e4565b3360008181526007602052604090205460ff161561106f5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610bd3565b600061107a83612143565b5050506001600160a01b0387166000908152600360205260409020549495506110aa949350859250506121bb9050565b6001600160a01b0383166000908152600360205260409020556014546110d090826121bb565b6014556015546110e090846120e4565b601555505050565b6000546001600160a01b031633146111125760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b600060135483111561118a5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610bd3565b816111ab57600061119a84612143565b50959750610cb39650505050505050565b60006111b684612143565b50949750610cb39650505050505050565b6000546001600160a01b031633146111f15760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b03811660009081526007602052604090205460ff161561125a5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610bd3565b6001600160a01b038116600090815260036020526040902054156112b4576001600160a01b03811660009081526003602052604090205461129a90610d22565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600760205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b6000546001600160a01b031633146113445760405162461bcd60e51b8152600401610bd390613585565b601d55565b6001600160a01b03811660009081526007602052604081205460ff161561138657506001600160a01b031660009081526004602052604090205490565b6001600160a01b038216600090815260036020526040902054610cb390610d22565b6000546001600160a01b031633146113d25760405162461bcd60e51b8152600401610bd390613585565b600080546040516001600160a01b0390911690600080516020613763833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146114345760405162461bcd60e51b8152600401610bd390613585565b602755565b6000546001600160a01b031633146114635760405162461bcd60e51b8152600401610bd390613585565b601b55565b606060178054610bf09061368c565b600d5460009061148f906001600160a01b0316611349565b905090565b6000546001600160a01b031633146114be5760405162461bcd60e51b8152600401610bd390613585565b60228054911515600160b81b0260ff60b81b19909216919091179055565b6000610caf3384610d1385604051806060016040528060258152602001613783602591393360009081526005602090815260408083206001600160a01b038d1684529091529020549190612045565b6001546001600160a01b031633146115915760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610bd3565b60025442116115e25760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610bd3565b600154600080546040516001600160a01b03938416939091169160008051602061376383398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000610caf338484611bc9565b6000546001600160a01b031633146116685760405162461bcd60e51b8152600401610bd390613585565b6026805460ff1916911515919091179055565b6000546001600160a01b031633146116a55760405162461bcd60e51b8152600401610bd390613585565b602180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146116f15760405162461bcd60e51b8152600401610bd390613585565b60228054821515600160b01b0260ff60b01b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061173e90831515815260200190565b60405180910390a150565b6000546001600160a01b031633146117735760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b03919091166000908152600860205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146117c85760405162461bcd60e51b8152600401610bd390613585565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146118145760405162461bcd60e51b8152600401610bd390613585565b611834606461182e836013546121fd90919063ffffffff16565b906120a2565b60235550565b6000546001600160a01b031633146118645760405162461bcd60e51b8152600401610bd390613585565b602280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146118b05760405162461bcd60e51b8152600401610bd390613585565b60228054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b031633146118f85760405162461bcd60e51b8152600401610bd390613585565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055611927814261362a565b600255600080546040516001600160a01b0390911690600080516020613763833981519152908390a350565b6000546001600160a01b0316331461197d5760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146119c85760405162461bcd60e51b8152600401610bd390613585565b6001600160a01b038116611a2d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bd3565b600080546040516001600160a01b038085169392169160008051602061376383398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611aa05760405162461bcd60e51b8152600401610bd390613585565b602555565b6001600160a01b038316611b075760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610bd3565b6001600160a01b038216611b685760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610bd3565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611c2d5760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610bd3565b6001600160a01b038216611c8f5760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610bd3565b60008111611cf15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610bd3565b6000546001600160a01b03848116911614801590611d1d57506000546001600160a01b03838116911614155b15611d8557602354811115611d855760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610bd3565b60265460ff168015611db057506001600160a01b03821660009081526008602052604090205460ff16155b15611ee5576022546001600160a01b0384811691161480611dde57506021546001600160a01b038481169116145b15611ee557602754811115611e5b5760405162461bcd60e51b815260206004820152603760248201527f416e7469207768616c653a2063616e277420627579206d6f7265207468616e2060448201527f74686520737065636966696564207468726573686f6c640000000000000000006064820152608401610bd3565b602754611e7182611e6b85611349565b906120e4565b1115611ee55760405162461bcd60e51b815260206004820152603860248201527f416e7469207768616c653a2063616e277420686f6c64206d6f7265207468616e60448201527f2074686520737065636966696564207468726573686f6c6400000000000000006064820152608401610bd3565b6000611ef030611349565b90506023548110611f0057506023545b60245481108015908190611f1e5750602254600160a01b900460ff16155b8015611f3857506022546001600160a01b03868116911614155b8015611f4d5750602254600160b01b900460ff165b15611f60576024549150611f608261227c565b600d54600090611f78906001600160a01b0316611349565b60255490915081108015908190611f995750602254600160a01b900460ff16155b8015611faf5750602254600160a81b900460ff16155b8015611fc45750602254600160b81b900460ff165b15611fd257611fd282612323565b6001600160a01b03871660009081526006602052604090205460019060ff168061201457506001600160a01b03871660009081526006602052604090205460ff165b1561201d575060005b612026886123e2565b61202f876123e2565b61203b8888888461246c565b5050505050505050565b600081848411156120695760405162461bcd60e51b8152600401610bd39190613532565b5060006120768486613675565b95945050505050565b600080600061208c6125f5565b909250905061209b82826120a2565b9250505090565b6000610d9f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127af565b6000806120f1838561362a565b905083811015610d9f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610bd3565b60008060008060008060008060008061215b8b6127dd565b8c8152909250905061216b61207f565b60a08201526000808061217d846128a6565b925092509250828282878760200151886040015189606001518a608001519c509c509c509c509c509c509c509c505050505050919395975091939597565b6000610d9f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612045565b60008261220c57506000610cb3565b60006122188385613656565b9050826122258583613642565b14610d9f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610bd3565b6022805460ff60a01b1916600160a01b179055600061229c8260026120a2565b905060006122aa83836121bb565b9050476122b68361296b565b60006122c247836121bb565b90506122ce8382612af0565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a150506022805460ff60a01b19169055505050565b6022805460ff60a81b1916600160a81b17905561233e612bd4565b600e80546001600160a01b0319166001600160a01b03928316908117909155600d5461236c92169083611bc9565b600f81905560105461237e90826120e4565b60105560118054600090612391906136c7565b909155506011546040805183815260208101929092527f3d40d6d9f2e561cf54025fe604724909e335ee220f8b414233750744eaa89714910160405180910390a1506022805460ff60a81b19169055565b6001600160a01b03811660009081526009602052604090205460ff16156124065750565b6001600160a01b03166000818152600960205260408120805460ff19166001908117909155600a805491820181559091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319169091179055565b8061247957612479612ccf565b6001600160a01b03841660009081526007602052604090205460ff1680156124ba57506001600160a01b03831660009081526007602052604090205460ff16155b156124cf576124ca848484612d2a565b6125cd565b6001600160a01b03841660009081526007602052604090205460ff1615801561251057506001600160a01b03831660009081526007602052604090205460ff165b15612520576124ca848484612e7d565b6001600160a01b03841660009081526007602052604090205460ff1615801561256257506001600160a01b03831660009081526007602052604090205460ff16155b15612572576124ca848484612f3f565b6001600160a01b03841660009081526007602052604090205460ff1680156125b257506001600160a01b03831660009081526007602052604090205460ff165b156125c2576124ca848484612f9c565b6125cd848484612f3f565b806125ef576125ef601a54601955601e54601d55602054601f55601c54601b55565b50505050565b6014546013546000918291825b600b5481101561277f578260036000600b848154811061263257634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806126ab57508160046000600b848154811061268457634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156126c157601454601354945094505050509091565b61271560036000600b84815481106126e957634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906121bb565b925061276b60046000600b848154811061273f57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906121bb565b915080612777816136c7565b915050612602565b5060135460145461278f916120a2565b8210156127a6576014546013549350935050509091565b90939092509050565b600081836127d05760405162461bcd60e51b8152600401610bd39190613532565b5060006120768486613642565b60006128186040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b600061282384613028565b9050600061283085613044565b9050600061283d86613060565b9050600061284a8761307c565b9050600061286682612860858188818e8c6121bb565b906121bb565b9050806040518060c00160405280600081526020018781526020018681526020018581526020018481526020016000815250965096505050505050915091565b6000806000806128c78560a0015186600001516121fd90919063ffffffff16565b905060006128e68660a0015187602001516121fd90919063ffffffff16565b905060006129058760a0015188604001516121fd90919063ffffffff16565b905060006129248860a0015189606001516121fd90919063ffffffff16565b905060006129438960a001518a608001516121fd90919063ffffffff16565b9050600061295982612860858188818c8c6121bb565b959a9599509397509395505050505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106129ae57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152602154604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612a0257600080fd5b505afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a91906133be565b81600181518110612a5b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152602154612a819130911684611aa5565b60215460405163791ac94760e01b81526001600160a01b039091169063791ac94790612aba9085906000908690309042906004016135ba565b600060405180830381600087803b158015612ad457600080fd5b505af1158015612ae8573d6000803e3d6000fd5b505050505050565b602154612b089030906001600160a01b031684611aa5565b6021546001600160a01b031663f305d719823085600080612b316000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015612b9457600080fd5b505af1158015612ba8573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612bcd9190613505565b5050505050565b600080612c25600a80549050612c1f6040805144602082015242918101919091524360608201526000906080016040516020818303038152906040528051906020012060001c905090565b90613098565b9050600060036000600a8481548110612c4e57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020546012549091508110612cbc57600a8281548110612ca057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03169392505050565b5050600c546001600160a01b0316919050565b601954158015612cdf5750601b54155b8015612ceb5750601f54155b8015612cf75750601d54155b15612cfe57565b60198054601a55601d8054601e55601f8054602055601b8054601c556000938490559183905582905555565b600080600080600080600080612d3f89612143565b97509750975097509750975097509750612d8789600460008e6001600160a01b03166001600160a01b03168152602001908152602001600020546121bb90919063ffffffff16565b6001600160a01b038c16600090815260046020908152604080832093909355600390522054612db690896121bb565b6001600160a01b03808d1660009081526003602052604080822093909355908c1681522054612de590886120e4565b6001600160a01b038b16600090815260036020526040902055612e07836130da565b612e1082613163565b612e1981613222565b612e238685613335565b896001600160a01b03168b6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051612e6891815260200190565b60405180910390a35050505050505050505050565b600080600080600080600080612e9289612143565b97509750975097509750975097509750612eda88600360008e6001600160a01b03166001600160a01b03168152602001908152602001600020546121bb90919063ffffffff16565b6001600160a01b03808d16600090815260036020908152604080832094909455918d16815260049091522054612f1090866120e4565b6001600160a01b038b16600090815260046020908152604080832093909355600390522054612de590886120e4565b600080600080600080600080612f5489612143565b97509750975097509750975097509750612db688600360008e6001600160a01b03166001600160a01b03168152602001908152602001600020546121bb90919063ffffffff16565b600080600080600080600080612fb189612143565b97509750975097509750975097509750612ff989600460008e6001600160a01b03166001600160a01b03168152602001908152602001600020546121bb90919063ffffffff16565b6001600160a01b038c16600090815260046020908152604080832093909355600390522054612eda90896121bb565b6000610cb3606461182e601954856121fd90919063ffffffff16565b6000610cb3606461182e601b54856121fd90919063ffffffff16565b6000610cb3606461182e601d54856121fd90919063ffffffff16565b6000610cb3606461182e601f54856121fd90919063ffffffff16565b6000610d9f83836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250613359565b60006130e461207f565b905060006130f283836121fd565b3060009081526003602052604090205490915061310f90826120e4565b3060009081526003602090815260408083209390935560079052205460ff161561315e573060009081526004602052604090205461314d90846120e4565b306000908152600460205260409020555b505050565b600061316d61207f565b9050600061317b83836121fd565b600d546001600160a01b03166000908152600360205260409020549091506131a390826120e4565b600d80546001600160a01b03908116600090815260036020908152604080832095909555925490911681526007909152205460ff161561315e57600d546001600160a01b031660009081526004602052604090205461320290846120e4565b600d546001600160a01b0316600090815260046020526040902055505050565b600061322c61207f565b9050600061323a83836121fd565b602254909150600160c01b900460ff1615613291576132588161296b565b600c546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156125ef573d6000803e3d6000fd5b600c546001600160a01b03166000908152600360205260409020546132b690826120e4565b600c80546001600160a01b03908116600090815260036020908152604080832095909555925490911681526007909152205460ff161561315e57600c546001600160a01b031660009081526004602052604090205461331590846120e4565b600c546001600160a01b0316600090815260046020526040902055505050565b60145461334290836121bb565b60145560155461335290826120e4565b6015555050565b6000818361337a5760405162461bcd60e51b8152600401610bd39190613532565b5061338583856136e2565b949350505050565b8035801515811461339d57600080fd5b919050565b6000602082840312156133b3578081fd5b8135610d9f81613722565b6000602082840312156133cf578081fd5b8151610d9f81613722565b600080604083850312156133ec578081fd5b82356133f781613722565b9150602083013561340781613722565b809150509250929050565b600080600060608486031215613426578081fd5b833561343181613722565b9250602084013561344181613722565b929592945050506040919091013590565b60008060408385031215613464578182fd5b823561346f81613722565b915061347d6020840161338d565b90509250929050565b60008060408385031215613498578182fd5b82356134a381613722565b946020939093013593505050565b6000602082840312156134c2578081fd5b610d9f8261338d565b6000602082840312156134dc578081fd5b5035919050565b600080604083850312156134f5578182fd5b8235915061347d6020840161338d565b600080600060608486031215613519578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561355e57858101830151858201604001528201613542565b8181111561356f5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156136095784516001600160a01b0316835293830193918301916001016135e4565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561363d5761363d6136f6565b500190565b6000826136515761365161370c565b500490565b6000816000190483118215151615613670576136706136f6565b500290565b600082821015613687576136876136f6565b500390565b600181811c908216806136a057607f821691505b602082108114156136c157634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156136db576136db6136f6565b5060010190565b6000826136f1576136f161370c565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b6001600160a01b038116811461373757600080fd5b5056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e042455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200949b938bef817cb1d59937efbdad09eeec614b2eeaa3f8ab09c86704ea5264464736f6c63430008040033
Deployed Bytecode Sourcemap
26115:26189:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36130:100;;;;;;;;;;-1:-1:-1;36130:100:0;;;;;:::i;:::-;;:::i;:::-;;30272:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;36782:115;;;;;;;;;;-1:-1:-1;36782:115:0;;;;;:::i;:::-;;:::i;31418:164::-;;;;;;;;;;-1:-1:-1;31418:164:0;;;;;:::i;:::-;;:::i;:::-;;;4787:14:1;;4780:22;4762:41;;4750:2;4735:18;31418:164:0;4717:92:1;32678:89:0;;;;;;;;;;-1:-1:-1;32748:10:0;;32678:89;;;12919:25:1;;;12907:2;12892:18;32678:89:0;12874:76:1;27750:41:0;;;;;;;;;;-1:-1:-1;27750:41:0;;;;-1:-1:-1;;;;;27750:41:0;;;;;;-1:-1:-1;;;;;3966:32:1;;;3948:51;;3936:2;3921:18;27750:41:0;3903:102:1;30655:101:0;;;;;;;;;;-1:-1:-1;30731:16:0;;30655:101;;30552:97;;;;;;;;;;-1:-1:-1;30633:7:0;;30552:97;;31589:317;;;;;;;;;;-1:-1:-1;31589:317:0;;;;;:::i;:::-;;:::i;28296:55::-;;;;;;;;;;;;;;;;26533:57;;;;;;;;;;-1:-1:-1;26533:57:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;33623:257;;;;;;;;;;-1:-1:-1;33623:257:0;;;;;:::i;:::-;;:::i;30460:85::-;;;;;;;;;;-1:-1:-1;30527:9:0;;30460:85;;30527:9;;;;14662:36:1;;14650:2;14635:18;30460:85:0;14617:87:1;34349:491:0;;;;;;;;;;-1:-1:-1;34349:491:0;;;;;:::i;:::-;;:::i;36354:98::-;;;;;;;;;;-1:-1:-1;36354:98:0;;;;;:::i;:::-;;:::i;31913:221::-;;;;;;;;;;-1:-1:-1;31913:221:0;;;;;:::i;:::-;;:::i;27380:26::-;;;;;;;;;;;;;;;;32774:386;;;;;;;;;;-1:-1:-1;32774:386:0;;;;;:::i;:::-;;:::i;28248:41::-;;;;;;;;;;-1:-1:-1;28248:41:0;;;;;;;;35877:113;;;;;;;;;;-1:-1:-1;35877:113:0;;;;;:::i;:::-;;:::i;33167:449::-;;;;;;;;;;-1:-1:-1;33167:449:0;;;;;:::i;:::-;;:::i;27799:28::-;;;;;;;;;;-1:-1:-1;27799:28:0;;;;-1:-1:-1;;;;;27799:28:0;;;27897:40;;;;;;;;;;-1:-1:-1;27897:40:0;;;;-1:-1:-1;;;27897:40:0;;;;;;33887:455;;;;;;;;;;-1:-1:-1;33887:455:0;;;;;:::i;:::-;;:::i;43997:125::-;;;;;;;;;;-1:-1:-1;43997:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;44086:27:0;44061:4;44086:27;;;:18;:27;;;;;;;;;43997:125;36243:106;;;;;;;;;;-1:-1:-1;36243:106:0;;;;;:::i;:::-;;:::i;27469:32::-;;;;;;;;;;;;;;;;30881:201;;;;;;;;;;-1:-1:-1;30881:201:0;;;;;:::i;:::-;;:::i;16529:151::-;;;;;;;;;;;;;:::i;37609:113::-;;;;;;;;;;-1:-1:-1;37609:113:0;;;;;:::i;:::-;;:::i;28032:53::-;;;;;;;;;;;;;;;;32549:123;;;;;;;;;;-1:-1:-1;32549:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;32640:23:0;32615:4;32640:23;;;:14;:23;;;;;;;;;32549:123;32420:122;;;;;;;;;;-1:-1:-1;32420:122:0;;;;;:::i;:::-;-1:-1:-1;;;;;32513:20:0;32488:4;32513:20;;;:11;:20;;;;;;;;;32420:122;15873:81;;;;;;;;;;-1:-1:-1;15911:7:0;15939:6;-1:-1:-1;;;;;15939:6:0;15873:81;;37020:124;;;;;;;;;;-1:-1:-1;37020:124:0;;;;;:::i;:::-;;:::i;30364:89::-;;;;;;;;;;;;;:::i;30762:113::-;;;;;;;;;;;;;:::i;36576:99::-;;;;;;;;;;-1:-1:-1;36576:99:0;;;;;:::i;:::-;;:::i;32141:272::-;;;;;;;;;;-1:-1:-1;32141:272:0;;;;;:::i;:::-;;:::i;17570:310::-;;;;;;;;;;;;;:::i;31089:170::-;;;;;;;;;;-1:-1:-1;31089:170:0;;;;;:::i;:::-;;:::i;27663:26::-;;;;;;;;;;;;;;;;37505:98;;;;;;;;;;-1:-1:-1;37505:98:0;;;;;:::i;:::-;;:::i;27983:36::-;;;;;;;;;;-1:-1:-1;27983:36:0;;;;-1:-1:-1;;;27983:36:0;;;;;;17093:91;;;;;;;;;;-1:-1:-1;17166:9:0;;17093:91;;35594:179;;;;;;;;;;-1:-1:-1;35594:179:0;;;;;:::i;:::-;;:::i;28168:53::-;;;;;;;;;;;;;;;;26933:31;;;;;;;;;;;;;;;;37324:174;;;;;;;;;;-1:-1:-1;37324:174:0;;;;;:::i;:::-;;:::i;37728:134::-;;;;;;;;;;-1:-1:-1;37728:134:0;;;;;:::i;:::-;;:::i;36681:98::-;;;;;;;;;;-1:-1:-1;36681:98:0;;;;;:::i;:::-;;:::i;37151:166::-;;;;;;;;;;-1:-1:-1;37151:166:0;;;;;:::i;:::-;;:::i;35781:90::-;;;;;;;;;;-1:-1:-1;35781:90:0;;;;;:::i;:::-;;:::i;36464:106::-;;;;;;;;;;-1:-1:-1;36464:106:0;;;;;:::i;:::-;;:::i;27945:31::-;;;;;;;;;;-1:-1:-1;27945:31:0;;;;-1:-1:-1;;;27945:31:0;;;;;;17260:231;;;;;;;;;;-1:-1:-1;17260:231:0;;;;;:::i;:::-;;:::i;31266:145::-;;;;;;;;;;-1:-1:-1;31266:145:0;;;;;:::i;:::-;-1:-1:-1;;;;;31375:18:0;;;31347:7;31375:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;31266:145;26851:37;;;;;;;;;;;;;;;;36004:112;;;;;;;;;;-1:-1:-1;36004:112:0;;;;;:::i;:::-;;:::i;27576:28::-;;;;;;;;;;;;;;;;16838:248;;;;;;;;;;-1:-1:-1;16838:248:0;;;;;:::i;:::-;;:::i;26895:31::-;;;;;;;;;;;;;;;;36900:114;;;;;;;;;;-1:-1:-1;36900:114:0;;;;;:::i;:::-;;:::i;36130:100::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;;;;;;;;;36205:7:::1;:16:::0;36130:100::o;30272:85::-;30309:13;30343:5;30336:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30272:85;:::o;36782:115::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;36860:16:::1;:29:::0;36782:115::o;31418:164::-;31493:4;31511:39;8247:10;31534:7;31543:6;31511:8;:39::i;:::-;-1:-1:-1;31569:4:0;31418:164;;;;;:::o;31589:317::-;31687:4;31705:36;31715:6;31723:9;31734:6;31705:9;:36::i;:::-;31753:121;31762:6;8247:10;31784:89;31822:6;31784:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;31784:19:0;;;;;;:11;:19;;;;;;;;8247:10;31784:33;;;;;;;;;;:37;:89::i;:::-;31753:8;:121::i;:::-;-1:-1:-1;31893:4:0;31589:317;;;;;:::o;33623:257::-;33689:7;33729;;33718;:18;;33710:73;;;;-1:-1:-1;;;33710:73:0;;6670:2:1;33710:73:0;;;6652:21:1;6709:2;6689:18;;;6682:30;6748:34;6728:18;;;6721:62;-1:-1:-1;;;6799:18:1;;;6792:40;6849:19;;33710:73:0;6642:232:1;33710:73:0;33795:19;33818:10;:8;:10::i;:::-;33795:33;-1:-1:-1;33847:24:0;:7;33795:33;33847:11;:24::i;:::-;33840:31;33623:257;-1:-1:-1;;;33623:257:0:o;34349:491::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;34432:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;34424:60;;;::::0;-1:-1:-1;;;34424:60:0;;7844:2:1;34424:60:0::1;::::0;::::1;7826:21:1::0;7883:2;7863:18;;;7856:30;7922:29;7902:18;;;7895:57;7969:18;;34424:60:0::1;7816:177:1::0;34424:60:0::1;34501:9;34496:336;34520:9;:16:::0;34516:20;::::1;34496:336;;;34579:7;-1:-1:-1::0;;;;;34563:23:0::1;:9;34573:1;34563:12;;;;;;-1:-1:-1::0;;;34563:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;34563:12:0::1;:23;34559:260;;;34623:9;34633:16:::0;;:20:::1;::::0;34652:1:::1;::::0;34633:20:::1;:::i;:::-;34623:31;;;;;;-1:-1:-1::0;;;34623:31:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;34608:9:::1;:12:::0;;-1:-1:-1;;;;;34623:31:0;;::::1;::::0;34618:1;;34608:12;::::1;;;-1:-1:-1::0;;;34608:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;34608:46:0::1;-1:-1:-1::0;;;;;34608:46:0;;::::1;;::::0;;34674:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;34714:11:::1;:20:::0;;;;:28;;-1:-1:-1;;34714:28:0::1;::::0;;34762:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;34762:15:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;34762:15:0;;;;;-1:-1:-1;;;;;;34762:15:0::1;::::0;;;;;34496:336:::1;34349:491:::0;:::o;34559:260::-:1;34538:3:::0;::::1;::::0;::::1;:::i;:::-;;;;34496:336;;;;34349:491:::0;:::o;36354:98::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;36428:7:::1;:16:::0;36354:98::o;31913:221::-;8247:10;32001:4;32051:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;32051:34:0;;;;;;;;;;32001:4;;32019:83;;32042:7;;32051:50;;32090:10;32051:38;:50::i;32774:386::-;8247:10;32827:14;32877:19;;;:11;:19;;;;;;;;32876:20;32868:77;;;;-1:-1:-1;;;32868:77:0;;11755:2:1;32868:77:0;;;11737:21:1;11794:2;11774:18;;;11767:30;11833:34;11813:18;;;11806:62;-1:-1:-1;;;11884:18:1;;;11877:42;11936:19;;32868:77:0;11727:234:1;32868:77:0;32958:15;32984:19;32995:7;32984:10;:19::i;:::-;-1:-1:-1;;;;;;;;33033:15:0;;;;;;:7;:15;;;;;;32957:46;;-1:-1:-1;33033:28:0;;:15;-1:-1:-1;32957:46:0;;-1:-1:-1;;33033:19:0;:28;-1:-1:-1;33033:28:0:i;:::-;-1:-1:-1;;;;;33015:15:0;;;;;;:7;:15;;;;;:46;33083:7;;:20;;33095:7;33083:11;:20::i;:::-;33073:7;:30;33128:10;;:23;;33143:7;33128:14;:23::i;:::-;33115:10;:36;-1:-1:-1;;;32774:386:0:o;35877:113::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;35947:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;35947:34:0::1;35977:4;35947:34;::::0;;35877:113::o;33167:449::-;33257:7;33297;;33286;:18;;33278:62;;;;-1:-1:-1;;;33278:62:0;;8200:2:1;33278:62:0;;;8182:21:1;8239:2;8219:18;;;8212:30;8278:33;8258:18;;;8251:61;8329:18;;33278:62:0;8172:181:1;33278:62:0;33357:17;33352:256;;33393:15;33419:19;33430:7;33419:10;:19::i;:::-;-1:-1:-1;33392:46:0;;-1:-1:-1;33454:14:0;;-1:-1:-1;;;;;;;33454:14:0;33352:256;33505:23;33538:19;33549:7;33538:10;:19::i;:::-;-1:-1:-1;33503:54:0;;-1:-1:-1;33573:22:0;;-1:-1:-1;;;;;;;33573:22:0;33887:455;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;34086:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;34085:21;34077:61;;;::::0;-1:-1:-1;;;34077:61:0;;7844:2:1;34077:61:0::1;::::0;::::1;7826:21:1::0;7883:2;7863:18;;;7856:30;7922:29;7902:18;;;7895:57;7969:18;;34077:61:0::1;7816:177:1::0;34077:61:0::1;-1:-1:-1::0;;;;;34153:16:0;::::1;34172:1;34153:16:::0;;;:7:::1;:16;::::0;;;;;:20;34150:110:::1;;-1:-1:-1::0;;;;;34230:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;34210:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;34191:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;34150:110:::1;-1:-1:-1::0;;;;;34271:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;34271:27:0::1;34294:4;34271:27:::0;;::::1;::::0;;;34310:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;34310:23:0::1;::::0;;::::1;::::0;;33887:455::o;36243:106::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;36321:9:::1;:20:::0;36243:106::o;30881:201::-;-1:-1:-1;;;;;30972:20:0;;30947:7;30972:20;;;:11;:20;;;;;;;;30968:49;;;-1:-1:-1;;;;;;31001:16:0;;;;;:7;:16;;;;;;;30881:201::o;30968:49::-;-1:-1:-1;;;;;31056:16:0;;;;;;:7;:16;;;;;;31036:37;;:19;:37::i;16529:151::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;16637:1:::1;16621:6:::0;;16600:40:::1;::::0;-1:-1:-1;;;;;16621:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;16600:40:0;16637:1;;16600:40:::1;16669:1;16652:19:::0;;-1:-1:-1;;;;;;16652:19:0::1;::::0;;16529:151::o;37609:113::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;37686:19:::1;:28:::0;37609:113::o;37020:124::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;37107:13:::1;:28:::0;37020:124::o;30364:89::-;30403:13;30437:7;30430:14;;;;;:::i;30762:113::-;30849:16;;30811:7;;30839:27;;-1:-1:-1;;;;;30849:16:0;30839:9;:27::i;:::-;30832:34;;30762:113;:::o;36576:99::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;36645:12:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;36645:22:0::1;-1:-1:-1::0;;;;36645:22:0;;::::1;::::0;;;::::1;::::0;;36576:99::o;32141:272::-;32234:4;32252:129;8247:10;32275:7;32284:96;32323:15;32284:96;;;;;;;;;;;;;;;;;8247:10;32284:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;32284:34:0;;;;;;;;;;;;:38;:96::i;17570:310::-;17623:14;;-1:-1:-1;;;;;17623:14:0;17641:10;17623:28;17615:76;;;;-1:-1:-1;;;17615:76:0;;12571:2:1;17615:76:0;;;12553:21:1;12610:2;12590:18;;;12583:30;12649:34;12629:18;;;12622:62;-1:-1:-1;;;12700:18:1;;;12693:33;12743:19;;17615:76:0;12543:225:1;17615:76:0;17729:9;;17711:15;:27;17703:72;;;;-1:-1:-1;;;17703:72:0;;11395:2:1;17703:72:0;;;11377:21:1;11434:2;11414:18;;;11407:30;11473:33;11453:18;;;11446:61;11524:18;;17703:72:0;11367:181:1;17703:72:0;17821:14;;;17813:6;;17792:44;;-1:-1:-1;;;;;17821:14:0;;;;17813:6;;;;-1:-1:-1;;;;;;;;;;;17792:44:0;;17857:14;;;17848:23;;-1:-1:-1;;;;;;17848:23:0;-1:-1:-1;;;;;17857:14:0;;;17848:23;;;;;;17570:310::o;31089:170::-;31167:4;31185:42;8247:10;31209:9;31220:6;31185:9;:42::i;37505:98::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;37572:19:::1;:23:::0;;-1:-1:-1;;37572:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;37505:98::o;35594:179::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;35731:15:::1;:34:::0;;-1:-1:-1;;;;;;35731:34:0::1;-1:-1:-1::0;;;;;35731:34:0;;;::::1;::::0;;;::::1;::::0;;35594:179::o;37324:174::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;37402:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;37402:32:0::1;-1:-1:-1::0;;;;37402:32:0;;::::1;;::::0;;37451:38:::1;::::0;::::1;::::0;::::1;::::0;37426:8;4787:14:1;4780:22;4762:41;;4750:2;4735:18;;4717:92;37451:38:0::1;;;;;;;;37324:174:::0;:::o;37728:134::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;37817:33:0;;;::::1;;::::0;;;:24:::1;:33;::::0;;;;:37;;-1:-1:-1;;37817:37:0::1;::::0;::::1;;::::0;;;::::1;::::0;;37728:134::o;36681:98::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;36755:10:::1;:16:::0;;-1:-1:-1;;;;;;36755:16:0::1;-1:-1:-1::0;;;;;36755:16:0;;;::::1;::::0;;;::::1;::::0;;36681:98::o;37151:166::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;37246:62:::1;37291:5;37246:25;37258:12;37246:7;;:11;;:25;;;;:::i;:::-;:29:::0;::::1;:62::i;:::-;37231:12;:77:::0;-1:-1:-1;37151:166:0:o;35781:90::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;35846:13:::1;:17:::0;;-1:-1:-1;;;;;;35846:17:0::1;-1:-1:-1::0;;;;;35846:17:0;;;::::1;::::0;;;::::1;::::0;;35781:90::o;36464:106::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;36536:16:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;36536:26:0::1;-1:-1:-1::0;;;;36536:26:0;;::::1;::::0;;;::::1;::::0;;36464:106::o;17260:231::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;17342:6:::1;::::0;;;17325:23;;-1:-1:-1;;;;;;17325:23:0;;::::1;-1:-1:-1::0;;;;;17342:6:0;::::1;17325:23;::::0;;;17360:19:::1;::::0;;17403:22:::1;17421:4:::0;17403:15:::1;:22;:::i;:::-;17391:9;:34:::0;17479:1:::1;17463:6:::0;;17442:40:::1;::::0;-1:-1:-1;;;;;17463:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;17442:40:0;17479:1;;17442:40:::1;17260:231:::0;:::o;36004:112::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;36072:27:0::1;36102:5;36072:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;36072:35:0::1;::::0;;36004:112::o;16838:248::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16928:22:0;::::1;16920:73;;;::::0;-1:-1:-1;;;16920:73:0;;7081:2:1;16920:73:0::1;::::0;::::1;7063:21:1::0;7120:2;7100:18;;;7093:30;7159:34;7139:18;;;7132:62;-1:-1:-1;;;7210:18:1;;;7203:36;7256:19;;16920:73:0::1;7053:228:1::0;16920:73:0::1;17031:6;::::0;;17010:38:::1;::::0;-1:-1:-1;;;;;17010:38:0;;::::1;::::0;17031:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;17010:38:0;::::1;17060:6;:17:::0;;-1:-1:-1;;;;;;17060:17:0::1;-1:-1:-1::0;;;;;17060:17:0;;;::::1;::::0;;;::::1;::::0;;16838:248::o;36900:114::-;16090:6;;-1:-1:-1;;;;;16090:6:0;8247:10;16090:22;16082:67;;;;-1:-1:-1;;;16082:67:0;;;;;;;:::i;:::-;36978:16:::1;:28:::0;36900:114::o;44135:340::-;-1:-1:-1;;;;;44229:19:0;;44221:68;;;;-1:-1:-1;;;44221:68:0;;6265:2:1;44221:68:0;;;6247:21:1;6304:2;6284:18;;;6277:30;6343:34;6323:18;;;6316:62;-1:-1:-1;;;6394:18:1;;;6387:34;6438:19;;44221:68:0;6237:226:1;44221:68:0;-1:-1:-1;;;;;44309:21:0;;44301:68;;;;-1:-1:-1;;;44301:68:0;;12168:2:1;44301:68:0;;;12150:21:1;12207:2;12187:18;;;12180:30;12246:34;12226:18;;;12219:62;-1:-1:-1;;;12297:18:1;;;12290:32;12339:19;;44301:68:0;12140:224:1;44301:68:0;-1:-1:-1;;;;;44381:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;44434:32;;12919:25:1;;;44434:32:0;;12892:18:1;44434:32:0;;;;;;;44135:340;;;:::o;44482:2809::-;-1:-1:-1;;;;;44609:18:0;;44601:68;;;;-1:-1:-1;;;44601:68:0;;5859:2:1;44601:68:0;;;5841:21:1;5898:2;5878:18;;;5871:30;5937:34;5917:18;;;5910:62;-1:-1:-1;;;5988:18:1;;;5981:35;6033:19;;44601:68:0;5831:227:1;44601:68:0;-1:-1:-1;;;;;44689:16:0;;44681:64;;;;-1:-1:-1;;;44681:64:0;;10566:2:1;44681:64:0;;;10548:21:1;10605:2;10585:18;;;10578:30;10644:34;10624:18;;;10617:62;-1:-1:-1;;;10695:18:1;;;10688:33;10738:19;;44681:64:0;10538:225:1;44681:64:0;44774:1;44765:6;:10;44757:64;;;;-1:-1:-1;;;44757:64:0;;10156:2:1;44757:64:0;;;10138:21:1;10195:2;10175:18;;;10168:30;10234:34;10214:18;;;10207:62;-1:-1:-1;;;10285:18:1;;;10278:39;10334:19;;44757:64:0;10128:231:1;44757:64:0;15911:7;15939:6;-1:-1:-1;;;;;44836:15:0;;;15939:6;;44836:15;;;;:32;;-1:-1:-1;15911:7:0;15939:6;-1:-1:-1;;;;;44855:13:0;;;15939:6;;44855:13;;44836:32;44833:126;;;44902:12;;44892:6;:22;;44884:75;;;;-1:-1:-1;;;44884:75:0;;8560:2:1;44884:75:0;;;8542:21:1;8599:2;8579:18;;;8572:30;8638:34;8618:18;;;8611:62;-1:-1:-1;;;8689:18:1;;;8682:38;8737:19;;44884:75:0;8532:230:1;44884:75:0;45153:19;;;;:52;;;;-1:-1:-1;;;;;;45177:28:0;;;;;;:24;:28;;;;;;;;45176:29;45153:52;45148:419;;;45236:13;;-1:-1:-1;;;;;45228:21:0;;;45236:13;;45228:21;;:57;;-1:-1:-1;45269:15:0;;-1:-1:-1;;;;;45253:32:0;;;45269:15;;45253:32;45228:57;45223:333;;;45325:19;;45315:6;:29;;45307:97;;;;-1:-1:-1;;;45307:97:0;;8969:2:1;45307:97:0;;;8951:21:1;9008:2;8988:18;;;8981:30;9047:34;9027:18;;;9020:62;9118:25;9098:18;;;9091:53;9161:19;;45307:97:0;8941:245:1;45307:97:0;45460:19;;45431:25;45449:6;45431:13;45441:2;45431:9;:13::i;:::-;:17;;:25::i;:::-;:48;;45423:117;;;;-1:-1:-1;;;45423:117:0;;10970:2:1;45423:117:0;;;10952:21:1;11009:2;10989:18;;;10982:30;11048:34;11028:18;;;11021:62;11119:26;11099:18;;;11092:54;11163:19;;45423:117:0;10942:246:1;45423:117:0;45863:28;45894:24;45912:4;45894:9;:24::i;:::-;45863:55;;45968:12;;45944:20;:36;45941:115;;-1:-1:-1;46031:12:0;;45941:115;46129:29;;46105:53;;;;;;;46189:40;;-1:-1:-1;46213:16:0;;-1:-1:-1;;;46213:16:0;;;;46212:17;46189:40;:65;;;;-1:-1:-1;46241:13:0;;-1:-1:-1;;;;;46233:21:0;;;46241:13;;46233:21;;46189:65;:90;;;;-1:-1:-1;46258:21:0;;-1:-1:-1;;;46258:21:0;;;;46189:90;46170:285;;;46331:29;;46308:52;;46406:36;46421:20;46406:14;:36::i;:::-;46539:16;;46506:20;;46529:27;;-1:-1:-1;;;;;46539:16:0;46529:9;:27::i;:::-;46610:16;;46506:50;;-1:-1:-1;46594:32:0;;;;;;;46655:40;;-1:-1:-1;46679:16:0;;-1:-1:-1;;;46679:16:0;;;;46678:17;46655:40;:58;;;;-1:-1:-1;46700:13:0;;-1:-1:-1;;;46700:13:0;;;;46699:14;46655:58;:74;;;;-1:-1:-1;46717:12:0;;-1:-1:-1;;;46717:12:0;;;;46655:74;46637:154;;;46756:23;46766:12;46756:9;:23::i;:::-;-1:-1:-1;;;;;47004:24:0;;46874:12;47004:24;;;:18;:24;;;;;;46889:4;;47004:24;;;:50;;-1:-1:-1;;;;;;47032:22:0;;;;;;:18;:22;;;;;;;;47004:50;47001:98;;;-1:-1:-1;47081:5:0;47001:98;47120:16;47131:4;47120:10;:16::i;:::-;47141:14;47152:2;47141:10;:14::i;:::-;47244:38;47259:4;47264:2;47267:6;47274:7;47244:14;:38::i;:::-;44482:2809;;;;;;;;:::o;4504:194::-;4590:7;4627:12;4619:6;;;;4611:29;;;;-1:-1:-1;;;4611:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4652:9:0;4664:5;4668:1;4664;:5;:::i;:::-;4652:17;4504:194;-1:-1:-1;;;;;4504:194:0:o;39688:166::-;39729:7;39751:15;39768;39787:19;:17;:19::i;:::-;39750:56;;-1:-1:-1;39750:56:0;-1:-1:-1;39825:20:0;39750:56;;39825:11;:20::i;:::-;39818:27;;;;39688:166;:::o;5930:134::-;5988:7;6016:39;6020:1;6023;6016:39;;;;;;;;;;;;;;;;;:3;:39::i;3579:183::-;3637:7;;3670:5;3674:1;3670;:5;:::i;:::-;3658:17;;3700:1;3695;:6;;3687:46;;;;-1:-1:-1;;;3687:46:0;;7488:2:1;3687:46:0;;;7470:21:1;7527:2;7507:18;;;7500:30;7566:29;7546:18;;;7539:57;7613:18;;3687:46:0;7460:177:1;38119:499:0;38178:7;38187;38196;38205;38214;38223;38232;38241;38263:23;38288:17;38309:20;38321:7;38309:11;:20::i;:::-;38340:22;;;38262:67;;-1:-1:-1;38262:67:0;-1:-1:-1;38392:10:0;:8;:10::i;:::-;38373:16;;;:29;38414:15;;;38472:17;38373:4;38472:11;:17::i;:::-;38413:76;;;;;;38509:7;38518:15;38535:4;38541:15;38558:4;:9;;;38569:4;:15;;;38586:4;:11;;;38599:4;:9;;;38501:108;;;;;;;;;;;;;;;;;;;;;38119:499;;;;;;;;;:::o;4054:138::-;4112:7;4140:43;4144:1;4147;4140:43;;;;;;;;;;;;;;;;;:3;:43::i;4966:477::-;5024:7;5273:6;5269:49;;-1:-1:-1;5304:1:0;5297:8;;5269:49;5329:9;5341:5;5345:1;5341;:5;:::i;:::-;5329:17;-1:-1:-1;5375:1:0;5366:5;5370:1;5329:17;5366:5;:::i;:::-;:10;5358:56;;;;-1:-1:-1;;;5358:56:0;;9393:2:1;5358:56:0;;;9375:21:1;9432:2;9412:18;;;9405:30;9471:34;9451:18;;;9444:62;-1:-1:-1;;;9522:18:1;;;9515:31;9563:19;;5358:56:0;9365:223:1;47298:994:0;28915:16;:23;;-1:-1:-1;;;;28915:23:0;-1:-1:-1;;;28915:23:0;;;;47451:27:::1;:20:::0;47476:1:::1;47451:24;:27::i;:::-;47436:42:::0;-1:-1:-1;47490:17:0::1;47510:30;:20:::0;47436:42;47510:24:::1;:30::i;:::-;47490:50:::0;-1:-1:-1;47846:21:0::1;47912:22;47929:4:::0;47912:16:::1;:22::i;:::-;48065:18;48086:41;:21;48112:14:::0;48086:25:::1;:41::i;:::-;48065:62;;48177:35;48190:9;48201:10;48177:12;:35::i;:::-;48240:43;::::0;;14398:25:1;;;14454:2;14439:18;;14432:34;;;14482:18;;;14475:34;;;48240:43:0::1;::::0;14386:2:1;14371:18;48240:43:0::1;;;;;;;-1:-1:-1::0;;28963:16:0;:24;;-1:-1:-1;;;;28963:24:0;;;-1:-1:-1;;;47298:994:0:o;41460:355::-;29044:13;:20;;-1:-1:-1;;;;29044:20:0;-1:-1:-1;;;29044:20:0;;;41551:11:::1;:9;:11::i;:::-;41529:19;:33:::0;;-1:-1:-1;;;;;;41529:33:0::1;-1:-1:-1::0;;;;;41529:33:0;;::::1;::::0;;::::1;::::0;;;41583:16:::1;::::0;41573:56:::1;::::0;41583:16:::1;::::0;41622:6;41573:9:::1;:56::i;:::-;41640:22;:31:::0;;;41701:16:::1;::::0;:28:::1;::::0;41665:6;41701:20:::1;:28::i;:::-;41682:16;:47:::0;41742:15:::1;41740:17:::0;;41742:15:::1;::::0;41740:17:::1;::::0;::::1;:::i;:::-;::::0;;;-1:-1:-1;41791:15:0::1;::::0;41773:34:::1;::::0;;14117:25:1;;;14173:2;14158:18;;14151:34;;;;41773::0::1;::::0;14090:18:1;41773:34:0::1;;;;;;;-1:-1:-1::0;29089:13:0;:21;;-1:-1:-1;;;;29089:21:0;;;41460:355::o;40442:173::-;-1:-1:-1;;;;;40497:19:0;;;;;;:14;:19;;;;;;;;40494:44;;;40442:173;:::o;40494:44::-;-1:-1:-1;;;;;40548:19:0;;;;;:14;:19;;;;;:26;;-1:-1:-1;;40548:26:0;40570:4;40548:26;;;;;;40585:12;:22;;;;;;;;;;;;;;-1:-1:-1;;;;;;40585:22:0;;;;;;40442:173::o;49509:852::-;49621:7;49617:41;;49644:14;:12;:14::i;:::-;-1:-1:-1;;;;;49685:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;49709:22:0;;;;;;:11;:22;;;;;;;;49708:23;49685:46;49681:607;;;49749:48;49771:6;49779:9;49790:6;49749:21;:48::i;:::-;49681:607;;;-1:-1:-1;;;;;49821:19:0;;;;;;:11;:19;;;;;;;;49820:20;:46;;;;-1:-1:-1;;;;;;49844:22:0;;;;;;:11;:22;;;;;;;;49820:46;49816:472;;;49884:46;49904:6;49912:9;49923:6;49884:19;:46::i;49816:472::-;-1:-1:-1;;;;;49954:19:0;;;;;;:11;:19;;;;;;;;49953:20;:47;;;;-1:-1:-1;;;;;;49978:22:0;;;;;;:11;:22;;;;;;;;49977:23;49953:47;49949:339;;;50018:44;50036:6;50044:9;50055:6;50018:17;:44::i;49949:339::-;-1:-1:-1;;;;;50085:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;50108:22:0;;;;;;:11;:22;;;;;;;;50085:45;50081:207;;;50148:48;50170:6;50178:9;50189:6;50148:21;:48::i;50081:207::-;50231:44;50249:6;50257:9;50268:6;50231:17;:44::i;:::-;50314:7;50310:42;;50337:15;43840;;43830:7;:25;43879:17;;43867:9;:29;43911:15;;43901:7;:25;43953:21;;43937:13;:37;43785:198;50337:15;49509:852;;;;:::o;39861:571::-;39959:7;;39996;;39911;;;;;40021:293;40045:9;:16;40041:20;;40021:293;;;40112:7;40088;:21;40096:9;40106:1;40096:12;;;;;;-1:-1:-1;;;40096:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;40096:12:0;40088:21;;;;;;;;;;;;;:31;;:66;;;40147:7;40123;:21;40131:9;40141:1;40131:12;;;;;;-1:-1:-1;;;40131:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;40131:12:0;40123:21;;;;;;;;;;;;;:31;40088:66;40084:97;;;40164:7;;40173;;40156:25;;;;;;;39861:571;;:::o;40084:97::-;40207:34;40219:7;:21;40227:9;40237:1;40227:12;;;;;;-1:-1:-1;;;40227:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;40227:12:0;40219:21;;;;;;;;;;;;;40207:7;;:11;:34::i;:::-;40197:44;;40267:34;40279:7;:21;40287:9;40297:1;40287:12;;;;;;-1:-1:-1;;;40287:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;40287:12:0;40279:21;;;;;;;;;;;;;40267:7;;:11;:34::i;:::-;40257:44;-1:-1:-1;40063:3:0;;;;:::i;:::-;;;;40021:293;;;-1:-1:-1;40351:7:0;;40339;;:20;;:11;:20::i;:::-;40329:7;:30;40325:61;;;40369:7;;40378;;40361:25;;;;;;39861:571;;:::o;40325:61::-;40406:7;;40415;;-1:-1:-1;39861:571:0;-1:-1:-1;39861:571:0:o;6571:281::-;6657:7;6693:12;6686:5;6678:28;;;;-1:-1:-1;;;6678:28:0;;;;;;;;:::i;:::-;-1:-1:-1;6718:9:0;6730:5;6734:1;6730;:5;:::i;38625:492::-;38685:7;38694:12;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38694:12:0;38720;38735:24;38751:7;38735:15;:24::i;:::-;38720:39;;38771:18;38792:30;38814:7;38792:21;:30::i;:::-;38771:51;;38844:14;38861:26;38879:7;38861:17;:26::i;:::-;38844:43;;38892:12;38907:24;38923:7;38907:15;:24::i;:::-;38892:39;-1:-1:-1;38946:23:0;38972:55;38892:39;38972:45;39010:6;38972:45;38994:10;38972:45;:7;38984:4;38972:11;:17::i;:::-;:21;;:33::i;:55::-;38946:81;;39047:15;39064:43;;;;;;;;39070:1;39064:43;;;;39073:4;39064:43;;;;39079:10;39064:43;;;;39091:6;39064:43;;;;39099:4;39064:43;;;;39105:1;39064:43;;;39039:69;;;;;;;;;38625:492;;;:::o;39124:557::-;39187:7;39196;39205;39226:15;39244:36;39262:5;:17;;;39244:5;:13;;;:17;;:36;;;;:::i;:::-;39226:54;;39292:12;39307:33;39322:5;:17;;;39307:5;:10;;;:14;;:33;;;;:::i;:::-;39292:48;;39352:18;39373:39;39394:5;:17;;;39373:5;:16;;;:20;;:39;;;;:::i;:::-;39352:60;;39424:14;39441:35;39458:5;:17;;;39441:5;:12;;;:16;;:35;;;;:::i;:::-;39424:52;;39481:12;39496:33;39511:5;:17;;;39496:5;:10;;;:14;;:33;;;;:::i;:::-;39481:48;-1:-1:-1;39540:23:0;39566:55;39481:48;39566:45;39604:6;39566:45;39588:10;39566:45;:7;39578:4;39566:11;:17::i;:55::-;39641:7;;;;-1:-1:-1;39667:4:0;;-1:-1:-1;39124:557:0;;-1:-1:-1;;;;;;39124:557:0:o;48299:599::-;48451:16;;;48465:1;48451:16;;;;;;;;48427:21;;48451:16;;;;;;;;;;-1:-1:-1;48451:16:0;48427:40;;48497:4;48479;48484:1;48479:7;;;;;;-1:-1:-1;;;48479:7:0;;;;;;;;;-1:-1:-1;;;;;48479:23:0;;;:7;;;;;;;;;;:23;;;;48524:15;;:22;;;-1:-1:-1;;;48524:22:0;;;;:15;;;;;:20;;:22;;;;;48479:7;;48524:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;48514:4;48519:1;48514:7;;;;;;-1:-1:-1;;;48514:7:0;;;;;;;;;-1:-1:-1;;;;;48514:32:0;;;:7;;;;;;;;;:32;48590:15;;48558:62;;48575:4;;48590:15;48608:11;48558:8;:62::i;:::-;48659:15;;:230;;-1:-1:-1;;;48659:230:0;;-1:-1:-1;;;;;48659:15:0;;;;:66;;:230;;48741:11;;48659:15;;48813:4;;48841;;48862:15;;48659:230;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48299:599;;:::o;48905:523::-;49087:15;;49055:62;;49072:4;;-1:-1:-1;;;;;49087:15:0;49105:11;49055:8;:62::i;:::-;49160:15;;-1:-1:-1;;;;;49160:15:0;:31;49199:9;49233:4;49254:11;49160:15;;49369:7;15911;15939:6;-1:-1:-1;;;;;15939:6:0;;15873:81;49369:7;49160:259;;;;;;-1:-1:-1;;;;;;49160:259:0;;;-1:-1:-1;;;;;4369:15:1;;;49160:259:0;;;4351:34:1;4401:18;;;4394:34;;;;4444:18;;;4437:34;;;;4487:18;;;4480:34;4551:15;;;4530:19;;;4523:44;49392:15:0;4583:19:1;;;4576:35;4285:19;;49160:259:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;48905:523;;:::o;40794:294::-;40836:7;40850:20;40873:33;40886:12;:19;;;;40873:8;40706:65;;;40723:16;40706:65;;;3670:19:1;40741:15:0;3705:12:1;;;3698:28;;;;40758:12:0;3742::1;;;3735:28;40667:4:0;;3779:12:1;;40706:65:0;;;;;;;;;;;;40696:76;;;;;;40691:82;;40684:89;;40627:154;;40873:8;:12;;:33::i;:::-;40850:56;;40913:19;40935:7;:35;40943:12;40956;40943:26;;;;;;-1:-1:-1;;;40943:26:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;40943:26:0;40935:35;;;;;;;;;;;;;40996:16;;40935:35;;-1:-1:-1;40981:31:0;;40977:82;;41027:12;41040;41027:26;;;;;;-1:-1:-1;;;41027:26:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;41027:26:0;;40794:294;-1:-1:-1;;;40794:294:0:o;40977:82::-;-1:-1:-1;;41070:10:0;;-1:-1:-1;;;;;41070:10:0;;40794:294;-1:-1:-1;40794:294:0:o;43372:399::-;43419:7;;:12;:34;;;;-1:-1:-1;43435:13:0;;:18;43419:34;:50;;;;-1:-1:-1;43457:7:0;;:12;43419:50;:68;;;;-1:-1:-1;43473:9:0;;:14;43419:68;43416:80;;;43372:399::o;43416:80::-;43536:7;;;43518:15;:25;43574:9;;;43554:17;:29;43606:7;;;43588:15;:25;43648:13;;;43624:21;:37;-1:-1:-1;43683:11:0;;;;43705:13;;;;43723:11;;;43745:17;43372:399::o;51641:652::-;51745:15;51762:23;51787:12;51801:23;51826:12;51840:18;51860:14;51876:12;51892:19;51903:7;51892:10;:19::i;:::-;51744:167;;;;;;;;;;;;;;;;51941:28;51961:7;51941;:15;51949:6;-1:-1:-1;;;;;51941:15:0;-1:-1:-1;;;;;51941:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;51923:15:0;;;;;;:7;:15;;;;;;;;:46;;;;51999:7;:15;;;;:28;;52019:7;51999:19;:28::i;:::-;-1:-1:-1;;;;;51981:15:0;;;;;;;:7;:15;;;;;;:46;;;;52060:18;;;;;;;:39;;52083:15;52060:22;:39::i;:::-;-1:-1:-1;;;;;52039:18:0;;;;;;:7;:18;;;;;:60;52114:26;52129:10;52114:14;:26::i;:::-;52152:18;52163:6;52152:10;:18::i;:::-;52175:14;52184:4;52175:8;:14::i;:::-;52200:23;52212:4;52218;52200:11;:23::i;:::-;52257:9;-1:-1:-1;;;;;52240:44:0;52249:6;-1:-1:-1;;;;;52240:44:0;;52268:15;52240:44;;;;12919:25:1;;12907:2;12892:18;;12874:76;52240:44:0;;;;;;;;51641:652;;;;;;;;;;;:::o;50962:672::-;51064:15;51081:23;51106:12;51120:23;51145:12;51159:18;51179:14;51195:12;51211:19;51222:7;51211:10;:19::i;:::-;51063:167;;;;;;;;;;;;;;;;51260:28;51280:7;51260;:15;51268:6;-1:-1:-1;;;;;51260:15:0;-1:-1:-1;;;;;51260:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;51242:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;51321:18;;;;;:7;:18;;;;;:39;;51344:15;51321:22;:39::i;:::-;-1:-1:-1;;;;;51300:18:0;;;;;;:7;:18;;;;;;;;:60;;;;51393:7;:18;;;;:39;;51416:15;51393:22;:39::i;50368:587::-;50468:15;50485:23;50510:12;50524:23;50549:12;50563:18;50583:14;50599:12;50615:19;50626:7;50615:10;:19::i;:::-;50467:167;;;;;;;;;;;;;;;;50664:28;50684:7;50664;:15;50672:6;-1:-1:-1;;;;;50664:15:0;-1:-1:-1;;;;;50664:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;34852:729::-;34956:15;34973:23;34998:12;35012:23;35037:12;35051:18;35071:14;35087:12;35103:19;35114:7;35103:10;:19::i;:::-;34955:167;;;;;;;;;;;;;;;;35152:28;35172:7;35152;:15;35160:6;-1:-1:-1;;;;;35152:15:0;-1:-1:-1;;;;;35152:15:0;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;-1:-1:-1;;;;;35134:15:0;;;;;;:7;:15;;;;;;;;:46;;;;35210:7;:15;;;;:28;;35230:7;35210:19;:28::i;43025:158::-;43089:7;43117:57;43157:5;43117:20;43129:7;;43117;:11;;:20;;;;:::i;43190:170::-;43260:7;43288:63;43334:5;43288:26;43300:13;;43288:7;:11;;:26;;;;:::i;42695:158::-;42761:7;42788:57;42829:5;42788:22;42800:9;;42788:7;:11;;:22;;;;:::i;42859:154::-;42923:7;42950:55;42989:5;42950:20;42962:7;;42950;:11;;:20;;;;:::i;7328:132::-;7386:7;7414:37;7418:1;7421;7414:37;;;;;;;;;;;;;;;;;:3;:37::i;42313:361::-;42377:19;42400:10;:8;:10::i;:::-;42377:33;-1:-1:-1;42422:18:0;42443:27;:10;42377:33;42443:14;:27::i;:::-;42523:4;42507:22;;;;:7;:22;;;;;;42422:48;;-1:-1:-1;42507:38:0;;42422:48;42507:26;:38::i;:::-;42498:4;42482:22;;;;:7;:22;;;;;;;;:63;;;;42560:11;:26;;;;;;42557:108;;;42643:4;42627:22;;;;:7;:22;;;;;;:38;;42654:10;42627:26;:38::i;:::-;42618:4;42602:22;;;;:7;:22;;;;;:63;42557:108;42313:361;;;:::o;41100:348::-;41155:19;41178:10;:8;:10::i;:::-;41155:33;-1:-1:-1;41199:14:0;41216:23;:6;41155:33;41216:10;:23::i;:::-;41288:16;;-1:-1:-1;;;;;41288:16:0;41280:25;;;;:7;:25;;;;;;41199:40;;-1:-1:-1;41280:37:0;;41199:40;41280:29;:37::i;:::-;41260:16;;;-1:-1:-1;;;;;41260:16:0;;;41252:25;;;;:7;:25;;;;;;;;:65;;;;41343:16;;;;;41331:29;;:11;:29;;;;;;;41328:112;;;41411:16;;-1:-1:-1;;;;;41411:16:0;41403:25;;;;:7;:25;;;;;;:37;;41433:6;41403:29;:37::i;:::-;41383:16;;-1:-1:-1;;;;;41383:16:0;41375:25;;;;:7;:25;;;;;:65;41100:348;;;:::o;41827:474::-;41878:19;41901:10;:8;:10::i;:::-;41878:33;-1:-1:-1;41922:12:0;41937:21;:4;41878:33;41937:8;:21::i;:::-;41975:16;;41922:36;;-1:-1:-1;;;;41975:16:0;;;;41971:323;;;42008:22;42025:4;42008:16;:22::i;:::-;42045:10;;:42;;-1:-1:-1;;;;;42045:10:0;;;;42065:21;42045:42;;;;;:10;:42;:10;:42;42065:21;42045:10;:42;;;;;;;;;;;;;;;;;;;41971:323;42150:10;;-1:-1:-1;;;;;42150:10:0;42142:19;;;;:7;:19;;;;;;:29;;42166:4;42142:23;:29::i;:::-;42128:10;;;-1:-1:-1;;;;;42128:10:0;;;42120:19;;;;:7;:19;;;;;;;;:51;;;;42201:10;;;;;42189:23;;:11;:23;;;;;;;42186:96;;;42261:10;;-1:-1:-1;;;;;42261:10:0;42253:19;;;;:7;:19;;;;;;:29;;42277:4;42253:23;:29::i;:::-;42239:10;;-1:-1:-1;;;;;42239:10:0;42231:19;;;;:7;:19;;;;;:51;41827:474;;;:::o;37962:150::-;38041:7;;:17;;38053:4;38041:11;:17::i;:::-;38031:7;:27;38083:10;;:20;;38098:4;38083:14;:20::i;:::-;38070:10;:33;-1:-1:-1;;37962:150:0:o;7956:169::-;8042:7;8079:12;8071:6;8063:29;;;;-1:-1:-1;;;8063:29:0;;;;;;;;:::i;:::-;-1:-1:-1;8111:5:0;8115:1;8111;:5;:::i;:::-;8104:12;7956:169;-1:-1:-1;;;;7956:169:0:o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:257::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;312:6;304;297:22;259:2;356:9;343:23;375:31;400:5;375:31;:::i;441:261::-;511:6;564:2;552:9;543:7;539:23;535:32;532:2;;;585:6;577;570:22;532:2;622:9;616:16;641:31;666:5;641:31;:::i;977:398::-;1045:6;1053;1106:2;1094:9;1085:7;1081:23;1077:32;1074:2;;;1127:6;1119;1112:22;1074:2;1171:9;1158:23;1190:31;1215:5;1190:31;:::i;:::-;1240:5;-1:-1:-1;1297:2:1;1282:18;;1269:32;1310:33;1269:32;1310:33;:::i;:::-;1362:7;1352:17;;;1064:311;;;;;:::o;1380:466::-;1457:6;1465;1473;1526:2;1514:9;1505:7;1501:23;1497:32;1494:2;;;1547:6;1539;1532:22;1494:2;1591:9;1578:23;1610:31;1635:5;1610:31;:::i;:::-;1660:5;-1:-1:-1;1717:2:1;1702:18;;1689:32;1730:33;1689:32;1730:33;:::i;:::-;1484:362;;1782:7;;-1:-1:-1;;;1836:2:1;1821:18;;;;1808:32;;1484:362::o;1851:325::-;1916:6;1924;1977:2;1965:9;1956:7;1952:23;1948:32;1945:2;;;1998:6;1990;1983:22;1945:2;2042:9;2029:23;2061:31;2086:5;2061:31;:::i;:::-;2111:5;-1:-1:-1;2135:35:1;2166:2;2151:18;;2135:35;:::i;:::-;2125:45;;1935:241;;;;;:::o;2181:325::-;2249:6;2257;2310:2;2298:9;2289:7;2285:23;2281:32;2278:2;;;2331:6;2323;2316:22;2278:2;2375:9;2362:23;2394:31;2419:5;2394:31;:::i;:::-;2444:5;2496:2;2481:18;;;;2468:32;;-1:-1:-1;;;2268:238:1:o;2511:190::-;2567:6;2620:2;2608:9;2599:7;2595:23;2591:32;2588:2;;;2641:6;2633;2626:22;2588:2;2669:26;2685:9;2669:26;:::i;2706:190::-;2765:6;2818:2;2806:9;2797:7;2793:23;2789:32;2786:2;;;2839:6;2831;2824:22;2786:2;-1:-1:-1;2867:23:1;;2776:120;-1:-1:-1;2776:120:1:o;2901:258::-;2966:6;2974;3027:2;3015:9;3006:7;3002:23;2998:32;2995:2;;;3048:6;3040;3033:22;2995:2;3089:9;3076:23;3066:33;;3118:35;3149:2;3138:9;3134:18;3118:35;:::i;3164:316::-;3252:6;3260;3268;3321:2;3309:9;3300:7;3296:23;3292:32;3289:2;;;3342:6;3334;3327:22;3289:2;3376:9;3370:16;3360:26;;3426:2;3415:9;3411:18;3405:25;3395:35;;3470:2;3459:9;3455:18;3449:25;3439:35;;3279:201;;;;;:::o;5049:603::-;5161:4;5190:2;5219;5208:9;5201:21;5251:6;5245:13;5294:6;5289:2;5278:9;5274:18;5267:34;5319:4;5332:140;5346:6;5343:1;5340:13;5332:140;;;5441:14;;;5437:23;;5431:30;5407:17;;;5426:2;5403:26;5396:66;5361:10;;5332:140;;;5490:6;5487:1;5484:13;5481:2;;;5560:4;5555:2;5546:6;5535:9;5531:22;5527:31;5520:45;5481:2;-1:-1:-1;5636:2:1;5615:15;-1:-1:-1;;5611:29:1;5596:45;;;;5643:2;5592:54;;5170:482;-1:-1:-1;;;5170:482:1:o;9593:356::-;9795:2;9777:21;;;9814:18;;;9807:30;9873:34;9868:2;9853:18;;9846:62;9940:2;9925:18;;9767:182::o;12955:983::-;13217:4;13265:3;13254:9;13250:19;13296:6;13285:9;13278:25;13322:2;13360:6;13355:2;13344:9;13340:18;13333:34;13403:3;13398:2;13387:9;13383:18;13376:31;13427:6;13462;13456:13;13493:6;13485;13478:22;13531:3;13520:9;13516:19;13509:26;;13570:2;13562:6;13558:15;13544:29;;13591:4;13604:195;13618:6;13615:1;13612:13;13604:195;;;13683:13;;-1:-1:-1;;;;;13679:39:1;13667:52;;13774:15;;;;13739:12;;;;13715:1;13633:9;13604:195;;;-1:-1:-1;;;;;;;13855:32:1;;;;13850:2;13835:18;;13828:60;-1:-1:-1;;;13919:3:1;13904:19;13897:35;13816:3;13226:712;-1:-1:-1;;;13226:712:1:o;14709:128::-;14749:3;14780:1;14776:6;14773:1;14770:13;14767:2;;;14786:18;;:::i;:::-;-1:-1:-1;14822:9:1;;14757:80::o;14842:120::-;14882:1;14908;14898:2;;14913:18;;:::i;:::-;-1:-1:-1;14947:9:1;;14888:74::o;14967:168::-;15007:7;15073:1;15069;15065:6;15061:14;15058:1;15055:21;15050:1;15043:9;15036:17;15032:45;15029:2;;;15080:18;;:::i;:::-;-1:-1:-1;15120:9:1;;15019:116::o;15140:125::-;15180:4;15208:1;15205;15202:8;15199:2;;;15213:18;;:::i;:::-;-1:-1:-1;15250:9:1;;15189:76::o;15270:380::-;15349:1;15345:12;;;;15392;;;15413:2;;15467:4;15459:6;15455:17;15445:27;;15413:2;15520;15512:6;15509:14;15489:18;15486:38;15483:2;;;15566:10;15561:3;15557:20;15554:1;15547:31;15601:4;15598:1;15591:15;15629:4;15626:1;15619:15;15483:2;;15325:325;;;:::o;15655:135::-;15694:3;-1:-1:-1;;15715:17:1;;15712:2;;;15735:18;;:::i;:::-;-1:-1:-1;15782:1:1;15771:13;;15702:88::o;15795:112::-;15827:1;15853;15843:2;;15858:18;;:::i;:::-;-1:-1:-1;15892:9:1;;15833:74::o;15912:127::-;15973:10;15968:3;15964:20;15961:1;15954:31;16004:4;16001:1;15994:15;16028:4;16025:1;16018:15;16044:127;16105:10;16100:3;16096:20;16093:1;16086:31;16136:4;16133:1;16126:15;16160:4;16157:1;16150:15;16176:131;-1:-1:-1;;;;;16251:31:1;;16241:42;;16231:2;;16297:1;16294;16287:12;16231:2;16221:86;:::o
Swarm Source
ipfs://0949b938bef817cb1d59937efbdad09eeec614b2eeaa3f8ab09c86704ea52644
🤖 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.