ETH Price: $1,872.17 (-9.68%)
Gas: 0.69 Gwei
 

Overview

Max Total Supply

10,000 KRYPTORIA

Holders

1,521

Market

Volume (24H)

N/A

Min Price (24H)

N/A

Max Price (24H)

N/A
Balance
0 KRYPTORIA
0x628d1008dfe433fe300509caf477b03b9e68f35f
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
KryptoriaWeapons

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
*Submitted for verification at Etherscan.io on 2022-10-02
*/
pragma solidity 0.8.15;
// File: KryptoriaLandInterface.sol
interface KryptoriaLandInterface {
function ownerOf(uint256 tokenId) external view returns(address);
}
// File: KryptoriaAlphaCitizensInterface.sol
interface KryptoriaAlphaCitizensInterface {
function ownerOf(uint256 tokenId) external view returns(address);
}
// File: @openzeppelin/contracts/utils/Strings.sol
// OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol)
/**
* @dev String operations.
*/
library Strings {
bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";
uint8 private constant _ADDRESS_LENGTH = 20;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"platformAddress_","type":"address"},{"internalType":"string","name":"notRevealURI","type":"string"},{"internalType":"uint16","name":"maxSupply_","type":"uint16"},{"internalType":"address","name":"alphaCitizen","type":"address"},{"internalType":"address","name":"land","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"uri","type":"string"}],"name":"BaseTokenURIUPDATE","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":"time","type":"uint256"}],"name":"Reveal","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16[]","name":"tokenIDs","type":"uint16[]"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"StakeWeapon","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"value","type":"bool"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ToggleClaimWeapon","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"value","type":"bool"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"ToggleStaking","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint16[]","name":"citizenIds","type":"uint16[]"},{"indexed":false,"internalType":"uint16[]","name":"landIds","type":"uint16[]"},{"indexed":false,"internalType":"uint256","name":"userMinted","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalMinted","type":"uint256"}],"name":"TokenMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16[]","name":"tokenIDs","type":"uint16[]"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"UnstakeWeapon","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"tokenID","type":"uint16"},{"indexed":true,"internalType":"string","name":"uri","type":"string"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"UpdateWeaponURI","type":"event"},{"inputs":[],"name":"_alphaCitizen","outputs":[{"internalType":"contract KryptoriaAlphaCitizensInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_land","outputs":[{"internalType":"contract KryptoriaLandInterface","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseTokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"citizenTokenIds","type":"uint16[]"},{"internalType":"uint16[]","name":"landTokenIds","type":"uint16[]"}],"name":"claimByOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"citizenTokenIds","type":"uint16[]"},{"internalType":"uint16[]","name":"landTokenIds","type":"uint16[]"}],"name":"claimWeapon","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"tokenIds","type":"uint16[]"}],"name":"getCitizenClaimStatus","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"tokenIds","type":"uint16[]"}],"name":"getLandClaimStatus","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"tokenIDs","type":"uint16[]"}],"name":"getStakingStatus","outputs":[{"components":[{"internalType":"uint16","name":"tokenId","type":"uint16"},{"internalType":"bool","name":"isStaked","type":"bool"},{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"}],"internalType":"struct KryptoriaWeapons.StakeDetails[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"tokenID","type":"uint16"}],"name":"getStakingTime","outputs":[{"internalType":"bool","name":"isStaked","type":"bool"},{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"total","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isClaimActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isRevealed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isStakingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextOwnerToExplicitlySet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"notRevealedURI","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":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"platformAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reveal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_baseTokenURI","type":"string"}],"name":"setBaseTokenURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"notRevealedURI_","type":"string"}],"name":"setNotRevealedURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"platformAddress_","type":"address"}],"name":"setPlatformAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"tokenIDs","type":"uint16[]"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"toggleStaking","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenID","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16[]","name":"tokenIDs","type":"uint16[]"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"tokenID","type":"uint16"},{"internalType":"string","name":"uri","type":"string"},{"internalType":"bytes","name":"sig","type":"bytes"}],"name":"updateTokenURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"walletOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"}]

608060405260016000908155600755600f805462ffffff191690553480156200002757600080fd5b50604051620043e1380380620043e18339810160408190526200004a916200034f565b6040805160208082018352600082528251808401845260128152714b727970746f7269613a20576561706f6e7360701b81830152835180850190945260098452684b525950544f52494160b81b9184019190915290916001620000ae838262000509565b506002620000bd828262000509565b505050620000da620000d46200016460201b60201c565b62000168565b620000e581620001ba565b50620000f18562000217565b6010620000ff858262000509565b506200010d836001620005d5565b600f805461ffff9290921663010000000264ffff00000019909216919091179055601180546001600160a01b039384166001600160a01b031991821617909155601280549290931691161790555062000688915050565b3390565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620001c4620002ab565b6009620001d2828262000509565b506009604051620001e491906200060a565b604051908190038120907f3cc55ff3af8853a28f778ecebc26621f7f37b24525b3769487260b906c74b95890600090a250565b62000221620002ab565b6001600160a01b0381166200027d5760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f7420736574207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b600f80546001600160a01b039092166501000000000002600160281b600160c81b0319909216919091179055565b6008546001600160a01b03163314620003075760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000274565b565b80516001600160a01b03811681146200032157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b805161ffff811681146200032157600080fd5b600080600080600060a086880312156200036857600080fd5b620003738662000309565b602087810151919650906001600160401b03808211156200039357600080fd5b818901915089601f830112620003a857600080fd5b815181811115620003bd57620003bd62000326565b604051601f8201601f19908116603f01168101908382118183101715620003e857620003e862000326565b816040528281528c868487010111156200040157600080fd5b600093505b8284101562000425578484018601518185018701529285019262000406565b82841115620004375760008684830101525b8099505050505050506200044e604087016200033c565b92506200045e6060870162000309565b91506200046e6080870162000309565b90509295509295909350565b600181811c908216806200048f57607f821691505b602082108103620004b057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200050457600081815260208120601f850160051c81016020861015620004df5750805b601f850160051c820191505b818110156200050057828155600101620004eb565b5050505b505050565b81516001600160401b0381111562000525576200052562000326565b6200053d816200053684546200047a565b84620004b6565b602080601f8311600181146200057557600084156200055c5750858301515b600019600386901b1c1916600185901b17855562000500565b600085815260208120601f198616915b82811015620005a65788860151825594840194600190910190840162000585565b5085821015620005c55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600061ffff8083168185168083038211156200060157634e487b7160e01b600052601160045260246000fd5b01949350505050565b60008083546200061a816200047a565b600182811680156200063557600181146200064b576200067c565b60ff19841687528215158302870194506200067c565b8760005260208060002060005b85811015620006735781548a82015290840190820162000658565b50505082870194505b50929695505050505050565b613d4980620006986000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c8063722503801161015c578063c87b56dd116100ce578063dbe55e5611610087578063dbe55e5614610566578063e2e8a8a114610580578063e985e9c514610593578063f2c4ce1e146105cf578063f2fde38b146105e2578063feded294146105f557600080fd5b8063c87b56dd1461050c578063cc03c3421461051f578063d112974514610532578063d547cfb71461053a578063d5abeb0114610542578063d7224ba01461055d57600080fd5b80639975f22f116101205780639975f22f146104ad578063a22cb465146104b8578063a475b5dd146104cb578063b88d4fde146104d3578063b9df7cb4146104e6578063c78df524146104f957600080fd5b8063722503801461045c5780637fc27803146104645780638da5cb5b1461047457806395d89b4114610485578063960862f71461048d57600080fd5b80633b8105b3116101f557806354214f69116101b957806354214f69146103ea57806357c1af93146103fb5780636352211e1461040e57806364f016f51461042157806370a0823114610441578063715018a61461045457600080fd5b80633b8105b31461038957806342842e0e14610391578063438b6300146103a45780634c058af9146103c45780634f6ccce7146103d757600080fd5b8063182d180111610247578063182d180114610317578063205239621461032a57806323b872dd1461033d5780632bdcfe72146103505780632f745c591461036357806330176e131461037657600080fd5b806301ffc9a71461028457806306fdde03146102ac578063081812fc146102c1578063095ea7b3146102ec57806318160ddd14610301575b600080fd5b610297610292366004613157565b610625565b60405190151581526020015b60405180910390f35b6102b4610692565b6040516102a391906131d3565b6102d46102cf3660046131e6565b610724565b6040516001600160a01b0390911681526020016102a3565b6102ff6102fa366004613214565b6107b4565b005b6103096107ee565b6040519081526020016102a3565b6102ff6103253660046132f9565b610804565b6102ff6103383660046133b7565b610991565b6102ff61034b366004613422565b610f45565b6102ff61035e366004613463565b610f81565b610309610371366004613214565b6111c2565b6102ff6103843660046134a4565b611337565b6102ff61138e565b6102ff61039f366004613422565b6113eb565b6103b76103b23660046134d8565b611406565b6040516102a391906134f5565b6102ff6103d23660046133b7565b611535565b6103096103e53660046131e6565b611751565b600f5462010000900460ff16610297565b6102ff610409366004613463565b6117b9565b6102d461041c3660046131e6565b611a78565b61043461042f366004613463565b611a8a565b6040516102a39190613539565b61030961044f3660046134d8565b611b74565b6102ff611c05565b6102b4611c19565b600f54610100900460ff16610297565b6008546001600160a01b03166102d4565b6102b4611c28565b6104a061049b366004613463565b611c37565b6040516102a39190613573565b600f5460ff16610297565b6102ff6104c63660046135dd565b611dee565b6102ff611eb2565b6102ff6104e136600461361b565b611efd565b6012546102d4906001600160a01b031681565b6011546102d4906001600160a01b031681565b6102b461051a3660046131e6565b611f3b565b6102ff61052d3660046134d8565b612078565b6102ff612106565b6102b4612169565b61054a6121f7565b60405161ffff90911681526020016102a3565b61030960075481565b600f546501000000000090046001600160a01b03166102d4565b61043461058e366004613463565b612214565b6102976105a1366004613686565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6102ff6105dd3660046134a4565b6122f6565b6102ff6105f03660046134d8565b61230a565b6106086106033660046136b4565b612383565b6040805193151584526020840192909252908201526060016102a3565b60006001600160e01b031982166380ac58cd60e01b148061065657506001600160e01b03198216635b5e139f60e01b145b8061067157506001600160e01b0319821663780e9d6360e01b145b8061068c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600180546106a1906136cf565b80601f01602080910402602001604051908101604052809291908181526020018280546106cd906136cf565b801561071a5780601f106106ef5761010080835404028352916020019161071a565b820191906000526020600020905b8154815290600101906020018083116106fd57829003601f168201915b5050505050905090565b6000610731826000541190565b6107985760405162461bcd60e51b815260206004820152602d60248201527f455243373231413a20617070726f76656420717565727920666f72206e6f6e6560448201526c3c34b9ba32b73a103a37b5b2b760991b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b6000818152600a6020526040902054156107e05760405162461bcd60e51b815260040161078f90613709565b6107ea82826123d9565b5050565b600060016000546107ff919061374b565b905090565b6108138361ffff166000541190565b61082f5760405162461bcd60e51b815260040161078f90613762565b3361083d61ffff8516611a78565b6001600160a01b0316146108635760405162461bcd60e51b815260040161078f906137a5565b600f5462010000900460ff166108c75760405162461bcd60e51b815260206004820152602360248201527f6f6e6c7920616c6c6f77656420746f207570646174652061667465722072657660448201526219585b60ea1b606482015260840161078f565b6108d182826124eb565b61091d5760405162461bcd60e51b815260206004820152601b60248201527f7369676e61747572652076616c69646174696f6e206661696c65640000000000604482015260640161078f565b61ffff83166000908152600c6020526040902061093a8382613833565b508160405161094991906138f2565b6040805191829003822061ffff86168352426020840152917f9911b49188d48dc338c2d221e526835cee25572cbdb90d877bfde47be4409931910160405180910390a2505050565b600f54610100900460ff166109e15760405162461bcd60e51b81526020600482015260166024820152751dd9585c1bdb8818db185a5b481a5cc818db1bdcd95960521b604482015260640161078f565b600f546301000000900461ffff166109f76107ee565b10610a555760405162461bcd60e51b815260206004820152602860248201527f636f6e7472616374207265616368656420746865206c696d6974206f66206d616044820152677820737570706c7960c01b606482015260840161078f565b8215801590610a6357508015155b610ac05760405162461bcd60e51b815260206004820152602860248201527f6c616e6420616e6420636974697a656e20746f6b656e49642073686f756c6420604482015267626520746865726560c01b606482015260840161078f565b828114610adf5760405162461bcd60e51b815260040161078f9061390e565b333214610b3a5760405162461bcd60e51b815260206004820152602360248201527f636f6e7472616374732063616e6e6f74206d696e74207468697320636f6e74726044820152621858dd60ea1b606482015260840161078f565b600f546301000000900461ffff1683610b516107ee565b610b5b9190613954565b10610b785760405162461bcd60e51b815260040161078f9061396c565b60005b60ff8116841115610ee25760115433906001600160a01b0316636352211e878760ff8616818110610bae57610bae6139ad565b9050602002016020810190610bc391906136b4565b6040516001600160e01b031960e084901b16815261ffff9091166004820152602401602060405180830381865afa158015610c02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2691906139c3565b6001600160a01b0316148015610ce2575060125433906001600160a01b0316636352211e858560ff8616818110610c5f57610c5f6139ad565b9050602002016020810190610c7491906136b4565b6040516001600160e01b031960e084901b16815261ffff9091166004820152602401602060405180830381865afa158015610cb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd791906139c3565b6001600160a01b0316145b610d3e5760405162461bcd60e51b815260206004820152602760248201527f63616c6c6572206973206e6f7420746865206f776e6572206f662074686973206044820152661d1bdad95b925160ca1b606482015260840161078f565b600d600086868460ff16818110610d5757610d576139ad565b9050602002016020810190610d6c91906136b4565b61ffff16815260208101919091526040016000205460ff16158015610dd45750600e600084848460ff16818110610da557610da56139ad565b9050602002016020810190610dba91906136b4565b61ffff16815260208101919091526040016000205460ff16155b610e205760405162461bcd60e51b815260206004820152601a60248201527f776561706f6e2068617320616c726561647920636c61696d6564000000000000604482015260640161078f565b6001600d600087878560ff16818110610e3b57610e3b6139ad565b9050602002016020810190610e5091906136b4565b61ffff1661ffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e600085858560ff16818110610e9857610e986139ad565b9050602002016020810190610ead91906136b4565b61ffff1681526020810191909152604001600020805460ff191691151591909117905580610eda816139e0565b915050610b7b565b50610eed338461254b565b7f47d538d6f51f6a5487bfb3330bfceddaa13c8a9dc848bb58d1a06239eee647863385858585610f1c33612565565b610f246107ee565b604051610f379796959493929190613a41565b60405180910390a150505050565b6000818152600a602052604090205415610f715760405162461bcd60e51b815260040161078f90613709565b610f7c838383612603565b505050565b600f5460ff16610fd35760405162461bcd60e51b815260206004820152601b60248201527f7374616b696e672f756e7374616b696e6720697320636c6f7365640000000000604482015260640161078f565b60005b60ff81168211156111785761101983838360ff16818110610ff957610ff96139ad565b905060200201602081019061100e91906136b4565b61ffff166000541190565b6110355760405162461bcd60e51b815260040161078f90613762565b3361106c848460ff851681811061104e5761104e6139ad565b905060200201602081019061106391906136b4565b61ffff16611a78565b6001600160a01b0316146110925760405162461bcd60e51b815260040161078f906137a5565b600a600084848460ff168181106110ab576110ab6139ad565b90506020020160208101906110c091906136b4565b61ffff168152602001908152602001600020546000146111225760405162461bcd60e51b815260206004820152601860248201527f776561706f6e20697320616c7265616479207374616b65640000000000000000604482015260640161078f565b42600a600085858560ff1681811061113c5761113c6139ad565b905060200201602081019061115191906136b4565b61ffff16815260208101919091526040016000205580611170816139e0565b915050610fd6565b50336001600160a01b03167fbc7546032ff7bcfd7258326f93727c9e5f757ad9e180417550eceac352072c518383426040516111b693929190613a90565b60405180910390a25050565b60006111cd83611b74565b82106112265760405162461bcd60e51b815260206004820152602260248201527f455243373231413a206f776e657220696e646578206f7574206f6620626f756e604482015261647360f01b606482015260840161078f565b60006112306107ee565b905060008060005b838110156112d7576000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046001600160401b0316918301919091521561128a57805192505b876001600160a01b0316836001600160a01b0316036112c4578684036112b65750935061068c92505050565b836112c081613ab4565b9450505b50806112cf81613ab4565b915050611238565b5060405162461bcd60e51b815260206004820152602e60248201527f455243373231413a20756e61626c6520746f2067657420746f6b656e206f662060448201526d0deeedccae440c4f240d2dcc8caf60931b606482015260840161078f565b61133f61260e565b600961134b8282613833565b50600960405161135b9190613acd565b604051908190038120907f3cc55ff3af8853a28f778ecebc26621f7f37b24525b3769487260b906c74b95890600090a250565b61139661260e565b600f805460ff8082161560ff1990921682179092556040805191909216151581524260208201527f632ebf87133e4e189c52cb2cc1f90d19e151ad705be2b0d91b533f0eccce093c91015b60405180910390a1565b610f7c83838360405180602001604052806000815250611efd565b606060006114126107ee565b9050600061141f84611b74565b90506000816001600160401b0381111561143b5761143b613257565b604051908082528060200260200182016040528015611464578160200160208202803683370190505b50905060008060015b858111611529576000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046001600160401b031691830191909152156114be57805193505b886001600160a01b0316846001600160a01b03160361151657818584815181106114ea576114ea6139ad565b6020908102919091010152826114ff81613ab4565b935050858303611516575092979650505050505050565b508061152181613ab4565b91505061146d565b50919695505050505050565b61153d61260e565b82811461155c5760405162461bcd60e51b815260040161078f9061390e565b600f546301000000900461ffff16836115736107ee565b61157d9190613954565b1061159a5760405162461bcd60e51b815260040161078f9061396c565b60005b61ffff8116841115610ee257600d600086868461ffff168181106115c3576115c36139ad565b90506020020160208101906115d891906136b4565b61ffff16815260208101919091526040016000205460ff161580156116415750600e600084848461ffff16818110611612576116126139ad565b905060200201602081019061162791906136b4565b61ffff16815260208101919091526040016000205460ff16155b61168d5760405162461bcd60e51b815260206004820152601a60248201527f776561706f6e2068617320616c726561647920636c61696d6564000000000000604482015260640161078f565b6001600d600087878561ffff168181106116a9576116a96139ad565b90506020020160208101906116be91906136b4565b61ffff1661ffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e600085858561ffff16818110611707576117076139ad565b905060200201602081019061171c91906136b4565b61ffff1681526020810191909152604001600020805460ff19169115159190911790558061174981613b43565b91505061159d565b600061175b6107ee565b82106117b55760405162461bcd60e51b815260206004820152602360248201527f455243373231413a20676c6f62616c20696e646578206f7574206f6620626f756044820152626e647360e81b606482015260840161078f565b5090565b600f5460ff1661180b5760405162461bcd60e51b815260206004820152601b60248201527f7374616b696e672f756e7374616b696e6720697320636c6f7365640000000000604482015260640161078f565b60005b60ff8116821115611a3a5761183183838360ff16818110610ff957610ff96139ad565b61184d5760405162461bcd60e51b815260040161078f90613762565b33611866848460ff851681811061104e5761104e6139ad565b6001600160a01b031614806118945750336118896008546001600160a01b031690565b6001600160a01b0316145b6118b05760405162461bcd60e51b815260040161078f906137a5565b600a600084848460ff168181106118c9576118c96139ad565b90506020020160208101906118de91906136b4565b61ffff168152602001908152602001600020546000036119395760405162461bcd60e51b8152602060048201526016602482015275776561706f6e206973206e6f74206f6e207374616b6560501b604482015260640161078f565b6000600a600085858560ff16818110611954576119546139ad565b905060200201602081019061196991906136b4565b61ffff1681526020019081526020016000205442611987919061374b565b905080600b600086868660ff168181106119a3576119a36139ad565b90506020020160208101906119b891906136b4565b61ffff1661ffff16815260200190815260200160002060008282546119dd9190613954565b9091555060009050600a81868660ff87168181106119fd576119fd6139ad565b9050602002016020810190611a1291906136b4565b61ffff1681526020810191909152604001600020555080611a32816139e0565b91505061180e565b50336001600160a01b03167f08f367310b4288d86c080370332065d10be619a7567cacfbda0bba795735aabc8383426040516111b693929190613a90565b6000611a8382612668565b5192915050565b60606000826001600160401b03811115611aa657611aa6613257565b604051908082528060200260200182016040528015611acf578160200160208202803683370190505b50905060005b61ffff8116841115611b6c57600e600086868461ffff16818110611afb57611afb6139ad565b9050602002016020810190611b1091906136b4565b61ffff1661ffff16815260200190815260200160002060009054906101000a900460ff16828261ffff1681518110611b4a57611b4a6139ad565b9115156020928302919091019091015280611b6481613b43565b915050611ad5565b509392505050565b60006001600160a01b038216611be05760405162461bcd60e51b815260206004820152602b60248201527f455243373231413a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b606482015260840161078f565b506001600160a01b03166000908152600460205260409020546001600160801b031690565b611c0d61260e565b611c176000612747565b565b6060601080546106a1906136cf565b6060600280546106a1906136cf565b60606000826001600160401b03811115611c5357611c53613257565b604051908082528060200260200182016040528015611ca557816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181611c715790505b50905060005b61ffff8116841115611b6c576000806000600a600089898761ffff16818110611cd657611cd66139ad565b9050602002016020810190611ceb91906136b4565b61ffff16815260200190815260200160002054905080600014611d195760019250611d16814261374b565b91505b604051806080016040528089898761ffff16818110611d3a57611d3a6139ad565b9050602002016020810190611d4f91906136b4565b61ffff1681526020018415158152602001838152602001600b60008b8b8961ffff16818110611d8057611d806139ad565b9050602002016020810190611d9591906136b4565b61ffff168152602081019190915260400160002054611db49085613954565b815250858561ffff1681518110611dcd57611dcd6139ad565b60200260200101819052505050508080611de690613b43565b915050611cab565b336001600160a01b03831603611e465760405162461bcd60e51b815260206004820152601a60248201527f455243373231413a20617070726f766520746f2063616c6c6572000000000000604482015260640161078f565b3360008181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611eba61260e565b600f805462ff00001916620100001790556040517f1747b48b6ade85d7dc97c0f523e0e780795930a468c01b18a51546791fdd3ac0906113e19042815260200190565b6000828152600a602052604090205415611f295760405162461bcd60e51b815260040161078f90613709565b611f3584848484612799565b50505050565b6060611f48826000541190565b611f645760405162461bcd60e51b815260040161078f90613762565b600f5462010000900460ff166120065760108054611f81906136cf565b80601f0160208091040260200160405190810160405280929190818152602001828054611fad906136cf565b8015611ffa5780601f10611fcf57610100808354040283529160200191611ffa565b820191906000526020600020905b815481529060010190602001808311611fdd57829003601f168201915b50505050509050919050565b6000828152600c60205260408120805461201f906136cf565b90501115612040576000828152600c602052604090208054611f81906136cf565b6120486127e3565b612051836127ed565b604051602001612062929190613b64565b6040516020818303038152906040529050919050565b61208061260e565b6001600160a01b0381166120d65760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f7420736574207a65726f2061646472657373000000000000000000604482015260640161078f565b600f80546001600160a01b03909216650100000000000265010000000000600160c81b0319909216919091179055565b61210e61260e565b600f805460ff610100808304821615810261ff00199093169290921792839055604080519290930416151581524260208201527f459a85e8b0b1efbef2ed528a8dd46f2ef0af666398039f645f579851f2ffc97091016113e1565b60098054612176906136cf565b80601f01602080910402602001604051908101604052809291908181526020018280546121a2906136cf565b80156121ef5780601f106121c4576101008083540402835291602001916121ef565b820191906000526020600020905b8154815290600101906020018083116121d257829003601f168201915b505050505081565b600f546000906107ff906001906301000000900461ffff16613ba3565b60606000826001600160401b0381111561223057612230613257565b604051908082528060200260200182016040528015612259578160200160208202803683370190505b50905060005b61ffff8116841115611b6c57600d600086868461ffff16818110612285576122856139ad565b905060200201602081019061229a91906136b4565b61ffff1661ffff16815260200190815260200160002060009054906101000a900460ff16828261ffff16815181106122d4576122d46139ad565b91151560209283029190910190910152806122ee81613b43565b91505061225f565b6122fe61260e565b60106107ea8282613833565b61231261260e565b6001600160a01b0381166123775760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161078f565b61238081612747565b50565b61ffff81166000908152600a60205260408120548190819080156123b257600193506123af814261374b565b92505b61ffff85166000908152600b60205260409020546123d09084613954565b93959294505050565b60006123e482611a78565b9050806001600160a01b0316836001600160a01b0316036124525760405162461bcd60e51b815260206004820152602260248201527f455243373231413a20617070726f76616c20746f2063757272656e74206f776e60448201526132b960f11b606482015260840161078f565b336001600160a01b038216148061246e575061246e81336105a1565b6124e05760405162461bcd60e51b815260206004820152603960248201527f455243373231413a20617070726f76652063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656420666f7220616c6c00000000000000606482015260840161078f565b610f7c8383836128f5565b600080836040516020016124ff91906138f2565b60408051808303601f190181529190528051602090910120600f549091506501000000000090046001600160a01b03166125398285612951565b6001600160a01b031614949350505050565b6107ea8282604051806020016040528060008152506129d0565b60006001600160a01b0382166125d75760405162461bcd60e51b815260206004820152603160248201527f455243373231413a206e756d626572206d696e74656420717565727920666f7260448201527020746865207a65726f206164647265737360781b606482015260840161078f565b506001600160a01b0316600090815260046020526040902054600160801b90046001600160801b031690565b610f7c838383612c93565b6008546001600160a01b03163314611c175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161078f565b6040805180820190915260008082526020820152612687826000541190565b6126e65760405162461bcd60e51b815260206004820152602a60248201527f455243373231413a206f776e657220717565727920666f72206e6f6e657869736044820152693a32b73a103a37b5b2b760b11b606482015260840161078f565b815b6000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046001600160401b03169183019190915215612734579392505050565b508061273f81613bc6565b9150506126e8565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127a4848484612c93565b6001600160a01b0383163b151580156127c657506127c484848484613019565b155b15611f355760405162461bcd60e51b815260040161078f90613bdd565b60606107ff613103565b6060816000036128145750506040805180820190915260018152600360fc1b602082015290565b8160005b811561283e578061282881613ab4565b91506128379050600a83613c46565b9150612818565b6000816001600160401b0381111561285857612858613257565b6040519080825280601f01601f191660200182016040528015612882576020820181803683370190505b5090505b84156128ed5761289760018361374b565b91506128a4600a86613c5a565b6128af906030613954565b60f81b8183815181106128c4576128c46139ad565b60200101906001600160f81b031916908160001a9053506128e6600a86613c46565b9450612886565b949350505050565b60008281526005602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008060008061296085613112565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa1580156129bb573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6000546001600160a01b038416612a335760405162461bcd60e51b815260206004820152602160248201527f455243373231413a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b606482015260840161078f565b612a3e816000541190565b15612a8b5760405162461bcd60e51b815260206004820152601d60248201527f455243373231413a20746f6b656e20616c7265616479206d696e746564000000604482015260640161078f565b6001600160a01b0384166000908152600460209081526040918290208251808401845290546001600160801b038082168352600160801b9091041691810191909152815180830190925280519091908190612ae7908790613c6e565b6001600160801b03168152602001858360200151612b059190613c6e565b6001600160801b039081169091526001600160a01b0380881660008181526004602090815260408083208751978301518716600160801b029790961696909617909455845180860186529182526001600160401b034281168386019081528883526003909552948120915182549451909516600160a01b026001600160e01b03199094169490921693909317919091179091558290612ba48683613954565b90506001600160a01b0387163b15612c3d575b60405182906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4612c0760008884612bff81613ab4565b955088613019565b612c235760405162461bcd60e51b815260040161078f90613bdd565b808203612bb7578360005414612c3857600080fd5b612c88565b81612c4781613ab4565b6040519093506001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4808203612c3d575b506000555050505050565b6000612c9e82612668565b80519091506000906001600160a01b0316336001600160a01b03161480612cd5575033612cca84610724565b6001600160a01b0316145b80612ce757508151612ce790336105a1565b905080612d515760405162461bcd60e51b815260206004820152603260248201527f455243373231413a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606482015260840161078f565b846001600160a01b031682600001516001600160a01b031614612dc55760405162461bcd60e51b815260206004820152602660248201527f455243373231413a207472616e736665722066726f6d20696e636f72726563746044820152651037bbb732b960d11b606482015260840161078f565b6001600160a01b038416612e295760405162461bcd60e51b815260206004820152602560248201527f455243373231413a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b606482015260840161078f565b612e3960008484600001516128f5565b6001600160a01b0385166000908152600460205260408120805460019290612e6b9084906001600160801b0316613c99565b82546101009290920a6001600160801b038181021990931691831602179091556001600160a01b03861660009081526004602052604081208054600194509092612eb791859116613c6e565b82546001600160801b039182166101009390930a9283029190920219909116179055506040805180820182526001600160a01b0380871682526001600160401b03428116602080850191825260008981526003909152948520935184549151909216600160a01b026001600160e01b03199091169190921617179055612f3e846001613954565b6000818152600360205260409020549091506001600160a01b0316612fcf57612f68816000541190565b15612fcf5760408051808201825284516001600160a01b0390811682526020808701516001600160401b039081168285019081526000878152600390935294909120925183549451909116600160a01b026001600160e01b03199094169116179190911790555b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061304e903390899088908890600401613cb9565b6020604051808303816000875af1925050508015613089575060408051601f3d908101601f1916820190925261308691810190613cf6565b60015b6130e6573d8080156130b7576040519150601f19603f3d011682016040523d82523d6000602084013e6130bc565b606091505b5080516000036130de5760405162461bcd60e51b815260040161078f90613bdd565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6060600980546106a1906136cf565b6000806000835160411461312557600080fd5b5050506020810151604082015160609092015160001a92909190565b6001600160e01b03198116811461238057600080fd5b60006020828403121561316957600080fd5b813561317481613141565b9392505050565b60005b8381101561319657818101518382015260200161317e565b83811115611f355750506000910152565b600081518084526131bf81602086016020860161317b565b601f01601f19169290920160200192915050565b60208152600061317460208301846131a7565b6000602082840312156131f857600080fd5b5035919050565b6001600160a01b038116811461238057600080fd5b6000806040838503121561322757600080fd5b8235613232816131ff565b946020939093013593505050565b803561ffff8116811461325257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261327e57600080fd5b81356001600160401b038082111561329857613298613257565b604051601f8301601f19908116603f011681019082821181831017156132c0576132c0613257565b816040528381528660208588010111156132d957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561330e57600080fd5b61331784613240565b925060208401356001600160401b038082111561333357600080fd5b61333f8783880161326d565b9350604086013591508082111561335557600080fd5b506133628682870161326d565b9150509250925092565b60008083601f84011261337e57600080fd5b5081356001600160401b0381111561339557600080fd5b6020830191508360208260051b85010111156133b057600080fd5b9250929050565b600080600080604085870312156133cd57600080fd5b84356001600160401b03808211156133e457600080fd5b6133f08883890161336c565b9096509450602087013591508082111561340957600080fd5b506134168782880161336c565b95989497509550505050565b60008060006060848603121561343757600080fd5b8335613442816131ff565b92506020840135613452816131ff565b929592945050506040919091013590565b6000806020838503121561347657600080fd5b82356001600160401b0381111561348c57600080fd5b6134988582860161336c565b90969095509350505050565b6000602082840312156134b657600080fd5b81356001600160401b038111156134cc57600080fd5b6128ed8482850161326d565b6000602082840312156134ea57600080fd5b8135613174816131ff565b6020808252825182820181905260009190848201906040850190845b8181101561352d57835183529284019291840191600101613511565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561352d578351151583529284019291840191600101613555565b602080825282518282018190526000919060409081850190868401855b828110156135d0578151805161ffff1685528681015115158786015285810151868601526060908101519085015260809093019290850190600101613590565b5091979650505050505050565b600080604083850312156135f057600080fd5b82356135fb816131ff565b91506020830135801515811461361057600080fd5b809150509250929050565b6000806000806080858703121561363157600080fd5b843561363c816131ff565b9350602085013561364c816131ff565b92506040850135915060608501356001600160401b0381111561366e57600080fd5b61367a8782880161326d565b91505092959194509250565b6000806040838503121561369957600080fd5b82356136a4816131ff565b91506020830135613610816131ff565b6000602082840312156136c657600080fd5b61317482613240565b600181811c908216806136e357607f821691505b60208210810361370357634e487b7160e01b600052602260045260246000fd5b50919050565b602080825260129082015271776561706f6e206973206f6e207374616b6560701b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008282101561375d5761375d613735565b500390565b60208082526023908201527f72657175657374696e6720666f72206e6f6e2d6578697374656e7420746f6b656040820152621b925160ea1b606082015260800190565b60208082526028908201527f796f7520617265206e6f7420746865206f776e6572206f662074686973207765604082015267185c1bdb881b999d60c21b606082015260800190565b601f821115610f7c57600081815260208120601f850160051c810160208610156138145750805b601f850160051c820191505b8181101561301157828155600101613820565b81516001600160401b0381111561384c5761384c613257565b6138608161385a84546136cf565b846137ed565b602080601f831160018114613895576000841561387d5750858301515b600019600386901b1c1916600185901b178555613011565b600085815260208120601f198616915b828110156138c4578886015182559484019460019091019084016138a5565b50858210156138e25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161390481846020870161317b565b9190910192915050565b60208082526026908201527f6e6f206f6620636974697a656e20616e64206c616e642073686f756c6420626560408201526508195c5d585b60d21b606082015260800190565b6000821982111561396757613967613735565b500190565b60208082526021908201527f706c6174666f726d2072656163686564206c696d6974206f66206d696e74696e6040820152606760f81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156139d557600080fd5b8151613174816131ff565b600060ff821660ff81036139f6576139f6613735565b60010192915050565b8183526000602080850194508260005b85811015613a365761ffff613a2383613240565b1687529582019590820190600101613a0f565b509495945050505050565b6001600160a01b038816815260a060208201819052600090613a66908301888a6139ff565b8281036040840152613a798187896139ff565b606084019590955250506080015295945050505050565b604081526000613aa46040830185876139ff565b9050826020830152949350505050565b600060018201613ac657613ac6613735565b5060010190565b6000808354613adb816136cf565b60018281168015613af35760018114613b0857613b37565b60ff1984168752821515830287019450613b37565b8760005260208060002060005b85811015613b2e5781548a820152908401908201613b15565b50505082870194505b50929695505050505050565b600061ffff808316818103613b5a57613b5a613735565b6001019392505050565b60008351613b7681846020880161317b565b835190830190613b8a81836020880161317b565b64173539b7b760d91b9101908152600501949350505050565b600061ffff83811690831681811015613bbe57613bbe613735565b039392505050565b600081613bd557613bd5613735565b506000190190565b60208082526033908201527f455243373231413a207472616e7366657220746f206e6f6e204552433732315260408201527232b1b2b4bb32b91034b6b83632b6b2b73a32b960691b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082613c5557613c55613c30565b500490565b600082613c6957613c69613c30565b500690565b60006001600160801b03808316818516808303821115613c9057613c90613735565b01949350505050565b60006001600160801b0383811690831681811015613bbe57613bbe613735565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613cec908301846131a7565b9695505050505050565b600060208284031215613d0857600080fd5b81516131748161314156fea26469706673582212203b6e2405f6398d559e00e450616a5fbbcbbf01cd3ce1b7b85e9d6c0bab3a217f64736f6c634300080f003300000000000000000000000055bf8ba0eca5e367f86db3def773aed95e9ee86100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000271000000000000000000000000063d85ec7b1561818ec03e158ec125a4113038a0000000000000000000000000017d084106c2f1c716ce39fa015ab022757d30c9a0000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d536b6d626e677a365575454a387a756a6f426f36357a473351586f6f7536613639555942385776716e4762690000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061027f5760003560e01c8063722503801161015c578063c87b56dd116100ce578063dbe55e5611610087578063dbe55e5614610566578063e2e8a8a114610580578063e985e9c514610593578063f2c4ce1e146105cf578063f2fde38b146105e2578063feded294146105f557600080fd5b8063c87b56dd1461050c578063cc03c3421461051f578063d112974514610532578063d547cfb71461053a578063d5abeb0114610542578063d7224ba01461055d57600080fd5b80639975f22f116101205780639975f22f146104ad578063a22cb465146104b8578063a475b5dd146104cb578063b88d4fde146104d3578063b9df7cb4146104e6578063c78df524146104f957600080fd5b8063722503801461045c5780637fc27803146104645780638da5cb5b1461047457806395d89b4114610485578063960862f71461048d57600080fd5b80633b8105b3116101f557806354214f69116101b957806354214f69146103ea57806357c1af93146103fb5780636352211e1461040e57806364f016f51461042157806370a0823114610441578063715018a61461045457600080fd5b80633b8105b31461038957806342842e0e14610391578063438b6300146103a45780634c058af9146103c45780634f6ccce7146103d757600080fd5b8063182d180111610247578063182d180114610317578063205239621461032a57806323b872dd1461033d5780632bdcfe72146103505780632f745c591461036357806330176e131461037657600080fd5b806301ffc9a71461028457806306fdde03146102ac578063081812fc146102c1578063095ea7b3146102ec57806318160ddd14610301575b600080fd5b610297610292366004613157565b610625565b60405190151581526020015b60405180910390f35b6102b4610692565b6040516102a391906131d3565b6102d46102cf3660046131e6565b610724565b6040516001600160a01b0390911681526020016102a3565b6102ff6102fa366004613214565b6107b4565b005b6103096107ee565b6040519081526020016102a3565b6102ff6103253660046132f9565b610804565b6102ff6103383660046133b7565b610991565b6102ff61034b366004613422565b610f45565b6102ff61035e366004613463565b610f81565b610309610371366004613214565b6111c2565b6102ff6103843660046134a4565b611337565b6102ff61138e565b6102ff61039f366004613422565b6113eb565b6103b76103b23660046134d8565b611406565b6040516102a391906134f5565b6102ff6103d23660046133b7565b611535565b6103096103e53660046131e6565b611751565b600f5462010000900460ff16610297565b6102ff610409366004613463565b6117b9565b6102d461041c3660046131e6565b611a78565b61043461042f366004613463565b611a8a565b6040516102a39190613539565b61030961044f3660046134d8565b611b74565b6102ff611c05565b6102b4611c19565b600f54610100900460ff16610297565b6008546001600160a01b03166102d4565b6102b4611c28565b6104a061049b366004613463565b611c37565b6040516102a39190613573565b600f5460ff16610297565b6102ff6104c63660046135dd565b611dee565b6102ff611eb2565b6102ff6104e136600461361b565b611efd565b6012546102d4906001600160a01b031681565b6011546102d4906001600160a01b031681565b6102b461051a3660046131e6565b611f3b565b6102ff61052d3660046134d8565b612078565b6102ff612106565b6102b4612169565b61054a6121f7565b60405161ffff90911681526020016102a3565b61030960075481565b600f546501000000000090046001600160a01b03166102d4565b61043461058e366004613463565b612214565b6102976105a1366004613686565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6102ff6105dd3660046134a4565b6122f6565b6102ff6105f03660046134d8565b61230a565b6106086106033660046136b4565b612383565b6040805193151584526020840192909252908201526060016102a3565b60006001600160e01b031982166380ac58cd60e01b148061065657506001600160e01b03198216635b5e139f60e01b145b8061067157506001600160e01b0319821663780e9d6360e01b145b8061068c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600180546106a1906136cf565b80601f01602080910402602001604051908101604052809291908181526020018280546106cd906136cf565b801561071a5780601f106106ef5761010080835404028352916020019161071a565b820191906000526020600020905b8154815290600101906020018083116106fd57829003601f168201915b5050505050905090565b6000610731826000541190565b6107985760405162461bcd60e51b815260206004820152602d60248201527f455243373231413a20617070726f76656420717565727920666f72206e6f6e6560448201526c3c34b9ba32b73a103a37b5b2b760991b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b6000818152600a6020526040902054156107e05760405162461bcd60e51b815260040161078f90613709565b6107ea82826123d9565b5050565b600060016000546107ff919061374b565b905090565b6108138361ffff166000541190565b61082f5760405162461bcd60e51b815260040161078f90613762565b3361083d61ffff8516611a78565b6001600160a01b0316146108635760405162461bcd60e51b815260040161078f906137a5565b600f5462010000900460ff166108c75760405162461bcd60e51b815260206004820152602360248201527f6f6e6c7920616c6c6f77656420746f207570646174652061667465722072657660448201526219585b60ea1b606482015260840161078f565b6108d182826124eb565b61091d5760405162461bcd60e51b815260206004820152601b60248201527f7369676e61747572652076616c69646174696f6e206661696c65640000000000604482015260640161078f565b61ffff83166000908152600c6020526040902061093a8382613833565b508160405161094991906138f2565b6040805191829003822061ffff86168352426020840152917f9911b49188d48dc338c2d221e526835cee25572cbdb90d877bfde47be4409931910160405180910390a2505050565b600f54610100900460ff166109e15760405162461bcd60e51b81526020600482015260166024820152751dd9585c1bdb8818db185a5b481a5cc818db1bdcd95960521b604482015260640161078f565b600f546301000000900461ffff166109f76107ee565b10610a555760405162461bcd60e51b815260206004820152602860248201527f636f6e7472616374207265616368656420746865206c696d6974206f66206d616044820152677820737570706c7960c01b606482015260840161078f565b8215801590610a6357508015155b610ac05760405162461bcd60e51b815260206004820152602860248201527f6c616e6420616e6420636974697a656e20746f6b656e49642073686f756c6420604482015267626520746865726560c01b606482015260840161078f565b828114610adf5760405162461bcd60e51b815260040161078f9061390e565b333214610b3a5760405162461bcd60e51b815260206004820152602360248201527f636f6e7472616374732063616e6e6f74206d696e74207468697320636f6e74726044820152621858dd60ea1b606482015260840161078f565b600f546301000000900461ffff1683610b516107ee565b610b5b9190613954565b10610b785760405162461bcd60e51b815260040161078f9061396c565b60005b60ff8116841115610ee25760115433906001600160a01b0316636352211e878760ff8616818110610bae57610bae6139ad565b9050602002016020810190610bc391906136b4565b6040516001600160e01b031960e084901b16815261ffff9091166004820152602401602060405180830381865afa158015610c02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2691906139c3565b6001600160a01b0316148015610ce2575060125433906001600160a01b0316636352211e858560ff8616818110610c5f57610c5f6139ad565b9050602002016020810190610c7491906136b4565b6040516001600160e01b031960e084901b16815261ffff9091166004820152602401602060405180830381865afa158015610cb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd791906139c3565b6001600160a01b0316145b610d3e5760405162461bcd60e51b815260206004820152602760248201527f63616c6c6572206973206e6f7420746865206f776e6572206f662074686973206044820152661d1bdad95b925160ca1b606482015260840161078f565b600d600086868460ff16818110610d5757610d576139ad565b9050602002016020810190610d6c91906136b4565b61ffff16815260208101919091526040016000205460ff16158015610dd45750600e600084848460ff16818110610da557610da56139ad565b9050602002016020810190610dba91906136b4565b61ffff16815260208101919091526040016000205460ff16155b610e205760405162461bcd60e51b815260206004820152601a60248201527f776561706f6e2068617320616c726561647920636c61696d6564000000000000604482015260640161078f565b6001600d600087878560ff16818110610e3b57610e3b6139ad565b9050602002016020810190610e5091906136b4565b61ffff1661ffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e600085858560ff16818110610e9857610e986139ad565b9050602002016020810190610ead91906136b4565b61ffff1681526020810191909152604001600020805460ff191691151591909117905580610eda816139e0565b915050610b7b565b50610eed338461254b565b7f47d538d6f51f6a5487bfb3330bfceddaa13c8a9dc848bb58d1a06239eee647863385858585610f1c33612565565b610f246107ee565b604051610f379796959493929190613a41565b60405180910390a150505050565b6000818152600a602052604090205415610f715760405162461bcd60e51b815260040161078f90613709565b610f7c838383612603565b505050565b600f5460ff16610fd35760405162461bcd60e51b815260206004820152601b60248201527f7374616b696e672f756e7374616b696e6720697320636c6f7365640000000000604482015260640161078f565b60005b60ff81168211156111785761101983838360ff16818110610ff957610ff96139ad565b905060200201602081019061100e91906136b4565b61ffff166000541190565b6110355760405162461bcd60e51b815260040161078f90613762565b3361106c848460ff851681811061104e5761104e6139ad565b905060200201602081019061106391906136b4565b61ffff16611a78565b6001600160a01b0316146110925760405162461bcd60e51b815260040161078f906137a5565b600a600084848460ff168181106110ab576110ab6139ad565b90506020020160208101906110c091906136b4565b61ffff168152602001908152602001600020546000146111225760405162461bcd60e51b815260206004820152601860248201527f776561706f6e20697320616c7265616479207374616b65640000000000000000604482015260640161078f565b42600a600085858560ff1681811061113c5761113c6139ad565b905060200201602081019061115191906136b4565b61ffff16815260208101919091526040016000205580611170816139e0565b915050610fd6565b50336001600160a01b03167fbc7546032ff7bcfd7258326f93727c9e5f757ad9e180417550eceac352072c518383426040516111b693929190613a90565b60405180910390a25050565b60006111cd83611b74565b82106112265760405162461bcd60e51b815260206004820152602260248201527f455243373231413a206f776e657220696e646578206f7574206f6620626f756e604482015261647360f01b606482015260840161078f565b60006112306107ee565b905060008060005b838110156112d7576000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046001600160401b0316918301919091521561128a57805192505b876001600160a01b0316836001600160a01b0316036112c4578684036112b65750935061068c92505050565b836112c081613ab4565b9450505b50806112cf81613ab4565b915050611238565b5060405162461bcd60e51b815260206004820152602e60248201527f455243373231413a20756e61626c6520746f2067657420746f6b656e206f662060448201526d0deeedccae440c4f240d2dcc8caf60931b606482015260840161078f565b61133f61260e565b600961134b8282613833565b50600960405161135b9190613acd565b604051908190038120907f3cc55ff3af8853a28f778ecebc26621f7f37b24525b3769487260b906c74b95890600090a250565b61139661260e565b600f805460ff8082161560ff1990921682179092556040805191909216151581524260208201527f632ebf87133e4e189c52cb2cc1f90d19e151ad705be2b0d91b533f0eccce093c91015b60405180910390a1565b610f7c83838360405180602001604052806000815250611efd565b606060006114126107ee565b9050600061141f84611b74565b90506000816001600160401b0381111561143b5761143b613257565b604051908082528060200260200182016040528015611464578160200160208202803683370190505b50905060008060015b858111611529576000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046001600160401b031691830191909152156114be57805193505b886001600160a01b0316846001600160a01b03160361151657818584815181106114ea576114ea6139ad565b6020908102919091010152826114ff81613ab4565b935050858303611516575092979650505050505050565b508061152181613ab4565b91505061146d565b50919695505050505050565b61153d61260e565b82811461155c5760405162461bcd60e51b815260040161078f9061390e565b600f546301000000900461ffff16836115736107ee565b61157d9190613954565b1061159a5760405162461bcd60e51b815260040161078f9061396c565b60005b61ffff8116841115610ee257600d600086868461ffff168181106115c3576115c36139ad565b90506020020160208101906115d891906136b4565b61ffff16815260208101919091526040016000205460ff161580156116415750600e600084848461ffff16818110611612576116126139ad565b905060200201602081019061162791906136b4565b61ffff16815260208101919091526040016000205460ff16155b61168d5760405162461bcd60e51b815260206004820152601a60248201527f776561706f6e2068617320616c726561647920636c61696d6564000000000000604482015260640161078f565b6001600d600087878561ffff168181106116a9576116a96139ad565b90506020020160208101906116be91906136b4565b61ffff1661ffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e600085858561ffff16818110611707576117076139ad565b905060200201602081019061171c91906136b4565b61ffff1681526020810191909152604001600020805460ff19169115159190911790558061174981613b43565b91505061159d565b600061175b6107ee565b82106117b55760405162461bcd60e51b815260206004820152602360248201527f455243373231413a20676c6f62616c20696e646578206f7574206f6620626f756044820152626e647360e81b606482015260840161078f565b5090565b600f5460ff1661180b5760405162461bcd60e51b815260206004820152601b60248201527f7374616b696e672f756e7374616b696e6720697320636c6f7365640000000000604482015260640161078f565b60005b60ff8116821115611a3a5761183183838360ff16818110610ff957610ff96139ad565b61184d5760405162461bcd60e51b815260040161078f90613762565b33611866848460ff851681811061104e5761104e6139ad565b6001600160a01b031614806118945750336118896008546001600160a01b031690565b6001600160a01b0316145b6118b05760405162461bcd60e51b815260040161078f906137a5565b600a600084848460ff168181106118c9576118c96139ad565b90506020020160208101906118de91906136b4565b61ffff168152602001908152602001600020546000036119395760405162461bcd60e51b8152602060048201526016602482015275776561706f6e206973206e6f74206f6e207374616b6560501b604482015260640161078f565b6000600a600085858560ff16818110611954576119546139ad565b905060200201602081019061196991906136b4565b61ffff1681526020019081526020016000205442611987919061374b565b905080600b600086868660ff168181106119a3576119a36139ad565b90506020020160208101906119b891906136b4565b61ffff1661ffff16815260200190815260200160002060008282546119dd9190613954565b9091555060009050600a81868660ff87168181106119fd576119fd6139ad565b9050602002016020810190611a1291906136b4565b61ffff1681526020810191909152604001600020555080611a32816139e0565b91505061180e565b50336001600160a01b03167f08f367310b4288d86c080370332065d10be619a7567cacfbda0bba795735aabc8383426040516111b693929190613a90565b6000611a8382612668565b5192915050565b60606000826001600160401b03811115611aa657611aa6613257565b604051908082528060200260200182016040528015611acf578160200160208202803683370190505b50905060005b61ffff8116841115611b6c57600e600086868461ffff16818110611afb57611afb6139ad565b9050602002016020810190611b1091906136b4565b61ffff1661ffff16815260200190815260200160002060009054906101000a900460ff16828261ffff1681518110611b4a57611b4a6139ad565b9115156020928302919091019091015280611b6481613b43565b915050611ad5565b509392505050565b60006001600160a01b038216611be05760405162461bcd60e51b815260206004820152602b60248201527f455243373231413a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b606482015260840161078f565b506001600160a01b03166000908152600460205260409020546001600160801b031690565b611c0d61260e565b611c176000612747565b565b6060601080546106a1906136cf565b6060600280546106a1906136cf565b60606000826001600160401b03811115611c5357611c53613257565b604051908082528060200260200182016040528015611ca557816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181611c715790505b50905060005b61ffff8116841115611b6c576000806000600a600089898761ffff16818110611cd657611cd66139ad565b9050602002016020810190611ceb91906136b4565b61ffff16815260200190815260200160002054905080600014611d195760019250611d16814261374b565b91505b604051806080016040528089898761ffff16818110611d3a57611d3a6139ad565b9050602002016020810190611d4f91906136b4565b61ffff1681526020018415158152602001838152602001600b60008b8b8961ffff16818110611d8057611d806139ad565b9050602002016020810190611d9591906136b4565b61ffff168152602081019190915260400160002054611db49085613954565b815250858561ffff1681518110611dcd57611dcd6139ad565b60200260200101819052505050508080611de690613b43565b915050611cab565b336001600160a01b03831603611e465760405162461bcd60e51b815260206004820152601a60248201527f455243373231413a20617070726f766520746f2063616c6c6572000000000000604482015260640161078f565b3360008181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611eba61260e565b600f805462ff00001916620100001790556040517f1747b48b6ade85d7dc97c0f523e0e780795930a468c01b18a51546791fdd3ac0906113e19042815260200190565b6000828152600a602052604090205415611f295760405162461bcd60e51b815260040161078f90613709565b611f3584848484612799565b50505050565b6060611f48826000541190565b611f645760405162461bcd60e51b815260040161078f90613762565b600f5462010000900460ff166120065760108054611f81906136cf565b80601f0160208091040260200160405190810160405280929190818152602001828054611fad906136cf565b8015611ffa5780601f10611fcf57610100808354040283529160200191611ffa565b820191906000526020600020905b815481529060010190602001808311611fdd57829003601f168201915b50505050509050919050565b6000828152600c60205260408120805461201f906136cf565b90501115612040576000828152600c602052604090208054611f81906136cf565b6120486127e3565b612051836127ed565b604051602001612062929190613b64565b6040516020818303038152906040529050919050565b61208061260e565b6001600160a01b0381166120d65760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f7420736574207a65726f2061646472657373000000000000000000604482015260640161078f565b600f80546001600160a01b03909216650100000000000265010000000000600160c81b0319909216919091179055565b61210e61260e565b600f805460ff610100808304821615810261ff00199093169290921792839055604080519290930416151581524260208201527f459a85e8b0b1efbef2ed528a8dd46f2ef0af666398039f645f579851f2ffc97091016113e1565b60098054612176906136cf565b80601f01602080910402602001604051908101604052809291908181526020018280546121a2906136cf565b80156121ef5780601f106121c4576101008083540402835291602001916121ef565b820191906000526020600020905b8154815290600101906020018083116121d257829003601f168201915b505050505081565b600f546000906107ff906001906301000000900461ffff16613ba3565b60606000826001600160401b0381111561223057612230613257565b604051908082528060200260200182016040528015612259578160200160208202803683370190505b50905060005b61ffff8116841115611b6c57600d600086868461ffff16818110612285576122856139ad565b905060200201602081019061229a91906136b4565b61ffff1661ffff16815260200190815260200160002060009054906101000a900460ff16828261ffff16815181106122d4576122d46139ad565b91151560209283029190910190910152806122ee81613b43565b91505061225f565b6122fe61260e565b60106107ea8282613833565b61231261260e565b6001600160a01b0381166123775760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161078f565b61238081612747565b50565b61ffff81166000908152600a60205260408120548190819080156123b257600193506123af814261374b565b92505b61ffff85166000908152600b60205260409020546123d09084613954565b93959294505050565b60006123e482611a78565b9050806001600160a01b0316836001600160a01b0316036124525760405162461bcd60e51b815260206004820152602260248201527f455243373231413a20617070726f76616c20746f2063757272656e74206f776e60448201526132b960f11b606482015260840161078f565b336001600160a01b038216148061246e575061246e81336105a1565b6124e05760405162461bcd60e51b815260206004820152603960248201527f455243373231413a20617070726f76652063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656420666f7220616c6c00000000000000606482015260840161078f565b610f7c8383836128f5565b600080836040516020016124ff91906138f2565b60408051808303601f190181529190528051602090910120600f549091506501000000000090046001600160a01b03166125398285612951565b6001600160a01b031614949350505050565b6107ea8282604051806020016040528060008152506129d0565b60006001600160a01b0382166125d75760405162461bcd60e51b815260206004820152603160248201527f455243373231413a206e756d626572206d696e74656420717565727920666f7260448201527020746865207a65726f206164647265737360781b606482015260840161078f565b506001600160a01b0316600090815260046020526040902054600160801b90046001600160801b031690565b610f7c838383612c93565b6008546001600160a01b03163314611c175760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161078f565b6040805180820190915260008082526020820152612687826000541190565b6126e65760405162461bcd60e51b815260206004820152602a60248201527f455243373231413a206f776e657220717565727920666f72206e6f6e657869736044820152693a32b73a103a37b5b2b760b11b606482015260840161078f565b815b6000818152600360209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046001600160401b03169183019190915215612734579392505050565b508061273f81613bc6565b9150506126e8565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127a4848484612c93565b6001600160a01b0383163b151580156127c657506127c484848484613019565b155b15611f355760405162461bcd60e51b815260040161078f90613bdd565b60606107ff613103565b6060816000036128145750506040805180820190915260018152600360fc1b602082015290565b8160005b811561283e578061282881613ab4565b91506128379050600a83613c46565b9150612818565b6000816001600160401b0381111561285857612858613257565b6040519080825280601f01601f191660200182016040528015612882576020820181803683370190505b5090505b84156128ed5761289760018361374b565b91506128a4600a86613c5a565b6128af906030613954565b60f81b8183815181106128c4576128c46139ad565b60200101906001600160f81b031916908160001a9053506128e6600a86613c46565b9450612886565b949350505050565b60008281526005602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008060008061296085613112565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa1580156129bb573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6000546001600160a01b038416612a335760405162461bcd60e51b815260206004820152602160248201527f455243373231413a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b606482015260840161078f565b612a3e816000541190565b15612a8b5760405162461bcd60e51b815260206004820152601d60248201527f455243373231413a20746f6b656e20616c7265616479206d696e746564000000604482015260640161078f565b6001600160a01b0384166000908152600460209081526040918290208251808401845290546001600160801b038082168352600160801b9091041691810191909152815180830190925280519091908190612ae7908790613c6e565b6001600160801b03168152602001858360200151612b059190613c6e565b6001600160801b039081169091526001600160a01b0380881660008181526004602090815260408083208751978301518716600160801b029790961696909617909455845180860186529182526001600160401b034281168386019081528883526003909552948120915182549451909516600160a01b026001600160e01b03199094169490921693909317919091179091558290612ba48683613954565b90506001600160a01b0387163b15612c3d575b60405182906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4612c0760008884612bff81613ab4565b955088613019565b612c235760405162461bcd60e51b815260040161078f90613bdd565b808203612bb7578360005414612c3857600080fd5b612c88565b81612c4781613ab4565b6040519093506001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4808203612c3d575b506000555050505050565b6000612c9e82612668565b80519091506000906001600160a01b0316336001600160a01b03161480612cd5575033612cca84610724565b6001600160a01b0316145b80612ce757508151612ce790336105a1565b905080612d515760405162461bcd60e51b815260206004820152603260248201527f455243373231413a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b606482015260840161078f565b846001600160a01b031682600001516001600160a01b031614612dc55760405162461bcd60e51b815260206004820152602660248201527f455243373231413a207472616e736665722066726f6d20696e636f72726563746044820152651037bbb732b960d11b606482015260840161078f565b6001600160a01b038416612e295760405162461bcd60e51b815260206004820152602560248201527f455243373231413a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b606482015260840161078f565b612e3960008484600001516128f5565b6001600160a01b0385166000908152600460205260408120805460019290612e6b9084906001600160801b0316613c99565b82546101009290920a6001600160801b038181021990931691831602179091556001600160a01b03861660009081526004602052604081208054600194509092612eb791859116613c6e565b82546001600160801b039182166101009390930a9283029190920219909116179055506040805180820182526001600160a01b0380871682526001600160401b03428116602080850191825260008981526003909152948520935184549151909216600160a01b026001600160e01b03199091169190921617179055612f3e846001613954565b6000818152600360205260409020549091506001600160a01b0316612fcf57612f68816000541190565b15612fcf5760408051808201825284516001600160a01b0390811682526020808701516001600160401b039081168285019081526000878152600390935294909120925183549451909116600160a01b026001600160e01b03199094169116179190911790555b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061304e903390899088908890600401613cb9565b6020604051808303816000875af1925050508015613089575060408051601f3d908101601f1916820190925261308691810190613cf6565b60015b6130e6573d8080156130b7576040519150601f19603f3d011682016040523d82523d6000602084013e6130bc565b606091505b5080516000036130de5760405162461bcd60e51b815260040161078f90613bdd565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6060600980546106a1906136cf565b6000806000835160411461312557600080fd5b5050506020810151604082015160609092015160001a92909190565b6001600160e01b03198116811461238057600080fd5b60006020828403121561316957600080fd5b813561317481613141565b9392505050565b60005b8381101561319657818101518382015260200161317e565b83811115611f355750506000910152565b600081518084526131bf81602086016020860161317b565b601f01601f19169290920160200192915050565b60208152600061317460208301846131a7565b6000602082840312156131f857600080fd5b5035919050565b6001600160a01b038116811461238057600080fd5b6000806040838503121561322757600080fd5b8235613232816131ff565b946020939093013593505050565b803561ffff8116811461325257600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261327e57600080fd5b81356001600160401b038082111561329857613298613257565b604051601f8301601f19908116603f011681019082821181831017156132c0576132c0613257565b816040528381528660208588010111156132d957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561330e57600080fd5b61331784613240565b925060208401356001600160401b038082111561333357600080fd5b61333f8783880161326d565b9350604086013591508082111561335557600080fd5b506133628682870161326d565b9150509250925092565b60008083601f84011261337e57600080fd5b5081356001600160401b0381111561339557600080fd5b6020830191508360208260051b85010111156133b057600080fd5b9250929050565b600080600080604085870312156133cd57600080fd5b84356001600160401b03808211156133e457600080fd5b6133f08883890161336c565b9096509450602087013591508082111561340957600080fd5b506134168782880161336c565b95989497509550505050565b60008060006060848603121561343757600080fd5b8335613442816131ff565b92506020840135613452816131ff565b929592945050506040919091013590565b6000806020838503121561347657600080fd5b82356001600160401b0381111561348c57600080fd5b6134988582860161336c565b90969095509350505050565b6000602082840312156134b657600080fd5b81356001600160401b038111156134cc57600080fd5b6128ed8482850161326d565b6000602082840312156134ea57600080fd5b8135613174816131ff565b6020808252825182820181905260009190848201906040850190845b8181101561352d57835183529284019291840191600101613511565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561352d578351151583529284019291840191600101613555565b602080825282518282018190526000919060409081850190868401855b828110156135d0578151805161ffff1685528681015115158786015285810151868601526060908101519085015260809093019290850190600101613590565b5091979650505050505050565b600080604083850312156135f057600080fd5b82356135fb816131ff565b91506020830135801515811461361057600080fd5b809150509250929050565b6000806000806080858703121561363157600080fd5b843561363c816131ff565b9350602085013561364c816131ff565b92506040850135915060608501356001600160401b0381111561366e57600080fd5b61367a8782880161326d565b91505092959194509250565b6000806040838503121561369957600080fd5b82356136a4816131ff565b91506020830135613610816131ff565b6000602082840312156136c657600080fd5b61317482613240565b600181811c908216806136e357607f821691505b60208210810361370357634e487b7160e01b600052602260045260246000fd5b50919050565b602080825260129082015271776561706f6e206973206f6e207374616b6560701b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008282101561375d5761375d613735565b500390565b60208082526023908201527f72657175657374696e6720666f72206e6f6e2d6578697374656e7420746f6b656040820152621b925160ea1b606082015260800190565b60208082526028908201527f796f7520617265206e6f7420746865206f776e6572206f662074686973207765604082015267185c1bdb881b999d60c21b606082015260800190565b601f821115610f7c57600081815260208120601f850160051c810160208610156138145750805b601f850160051c820191505b8181101561301157828155600101613820565b81516001600160401b0381111561384c5761384c613257565b6138608161385a84546136cf565b846137ed565b602080601f831160018114613895576000841561387d5750858301515b600019600386901b1c1916600185901b178555613011565b600085815260208120601f198616915b828110156138c4578886015182559484019460019091019084016138a5565b50858210156138e25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000825161390481846020870161317b565b9190910192915050565b60208082526026908201527f6e6f206f6620636974697a656e20616e64206c616e642073686f756c6420626560408201526508195c5d585b60d21b606082015260800190565b6000821982111561396757613967613735565b500190565b60208082526021908201527f706c6174666f726d2072656163686564206c696d6974206f66206d696e74696e6040820152606760f81b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156139d557600080fd5b8151613174816131ff565b600060ff821660ff81036139f6576139f6613735565b60010192915050565b8183526000602080850194508260005b85811015613a365761ffff613a2383613240565b1687529582019590820190600101613a0f565b509495945050505050565b6001600160a01b038816815260a060208201819052600090613a66908301888a6139ff565b8281036040840152613a798187896139ff565b606084019590955250506080015295945050505050565b604081526000613aa46040830185876139ff565b9050826020830152949350505050565b600060018201613ac657613ac6613735565b5060010190565b6000808354613adb816136cf565b60018281168015613af35760018114613b0857613b37565b60ff1984168752821515830287019450613b37565b8760005260208060002060005b85811015613b2e5781548a820152908401908201613b15565b50505082870194505b50929695505050505050565b600061ffff808316818103613b5a57613b5a613735565b6001019392505050565b60008351613b7681846020880161317b565b835190830190613b8a81836020880161317b565b64173539b7b760d91b9101908152600501949350505050565b600061ffff83811690831681811015613bbe57613bbe613735565b039392505050565b600081613bd557613bd5613735565b506000190190565b60208082526033908201527f455243373231413a207472616e7366657220746f206e6f6e204552433732315260408201527232b1b2b4bb32b91034b6b83632b6b2b73a32b960691b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082613c5557613c55613c30565b500490565b600082613c6957613c69613c30565b500690565b60006001600160801b03808316818516808303821115613c9057613c90613735565b01949350505050565b60006001600160801b0383811690831681811015613bbe57613bbe613735565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613cec908301846131a7565b9695505050505050565b600060208284031215613d0857600080fd5b81516131748161314156fea26469706673582212203b6e2405f6398d559e00e450616a5fbbcbbf01cd3ce1b7b85e9d6c0bab3a217f64736f6c634300080f0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000055bf8ba0eca5e367f86db3def773aed95e9ee86100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000271000000000000000000000000063d85ec7b1561818ec03e158ec125a4113038a0000000000000000000000000017d084106c2f1c716ce39fa015ab022757d30c9a0000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d536b6d626e677a365575454a387a756a6f426f36357a473351586f6f7536613639555942385776716e4762690000000000000000000000

-----Decoded View---------------
Arg [0] : platformAddress_ (address): 0x55BF8ba0eCa5E367f86Db3deF773AED95E9eE861
Arg [1] : notRevealURI (string): ipfs://QmSkmbngz6UuEJ8zujoBo65zG3QXoou6a69UYB8WvqnGbi
Arg [2] : maxSupply_ (uint16): 10000
Arg [3] : alphaCitizen (address): 0x63d85ec7B1561818Ec03E158ec125a4113038A00
Arg [4] : land (address): 0x17D084106C2f1C716ce39fa015AB022757d30C9A

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 00000000000000000000000055bf8ba0eca5e367f86db3def773aed95e9ee861
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000002710
Arg [3] : 00000000000000000000000063d85ec7b1561818ec03e158ec125a4113038a00
Arg [4] : 00000000000000000000000017d084106c2f1c716ce39fa015ab022757d30c9a
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000035
Arg [6] : 697066733a2f2f516d536b6d626e677a365575454a387a756a6f426f36357a47
Arg [7] : 3351586f6f7536613639555942385776716e4762690000000000000000000000


Deployed Bytecode Sourcemap

41968:12956:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28893:370;;;;;;:::i;:::-;;:::i;:::-;;;565:14:1;;558:22;540:41;;528:2;513:18;28893:370:0;;;;;;;;30482:94;;;:::i;:::-;;;;;;;:::i;32016:204::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:1;;;1674:51;;1662:2;1647:18;32016:204:0;1528:203:1;54179:224:0;;;;;;:::i;:::-;;:::i;:::-;;27453:98;;;:::i;:::-;;;2338:25:1;;;2326:2;2311:18;27453:98:0;2192:177:1;47427:518:0;;;;;;:::i;:::-;;:::i;51436:1240::-;;;;;;:::i;:::-;;:::i;53636:237::-;;;;;;:::i;:::-;;:::i;44929:609::-;;;;;;:::i;:::-;;:::i;28085:744::-;;;;;;:::i;:::-;;:::i;6862:166::-;;;;;;:::i;:::-;;:::i;44741:180::-;;;:::i;33079:157::-;;;;;;:::i;:::-;;:::i;41123:767::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;52757:871::-;;;;;;:::i;:::-;;:::i;27620:177::-;;;;;;:::i;:::-;;:::i;54613:86::-;54682:9;;;;;;;54613:86;;45546:754;;;;;;:::i;:::-;;:::i;30305:118::-;;;;;;:::i;:::-;;:::i;51040:363::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29319:211::-;;;;;;:::i;:::-;;:::i;5521:103::-;;;:::i;54816:105::-;;;:::i;54511:94::-;54583:14;;;;;;;54511:94;;4873:87;4946:6;;-1:-1:-1;;;;;4946:6:0;4873:87;;30638:98;;;:::i;46694:691::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;54411:92::-;54483:12;;;;54411:92;;32284:274;;;;;;:::i;:::-;;:::i;50517:138::-;;;:::i;53881:290::-;;;;;;:::i;:::-;;:::i;43458:35::-;;;;;-1:-1:-1;;;;;43458:35:0;;;43365:52;;;;;-1:-1:-1;;;;;43365:52:0;;;47953:470;;;;;;:::i;:::-;;:::i;49777:238::-;;;;;;:::i;:::-;;:::i;50323:186::-;;;:::i;6627:26::-;;;:::i;50187:128::-;;;:::i;:::-;;;10637:6:1;10625:19;;;10607:38;;10595:2;10580:18;50187:128:0;10463:188:1;37840:43:0;;;;;;54707:101;54784:16;;;;;-1:-1:-1;;;;;54784:16:0;54707:101;;50663:369;;;;;;:::i;:::-;;:::i;32621:186::-;;;;;;:::i;:::-;-1:-1:-1;;;;;32766:25:0;;;32743:4;32766:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;32621:186;50023:156;;;;;;:::i;:::-;;:::i;5779:201::-;;;;;;:::i;:::-;;:::i;46308:378::-;;;;;;:::i;:::-;;:::i;:::-;;;;11459:14:1;;11452:22;11434:41;;11506:2;11491:18;;11484:34;;;;11534:18;;;11527:34;11422:2;11407:18;46308:378:0;11238:329:1;28893:370:0;29020:4;-1:-1:-1;;;;;;29050:40:0;;-1:-1:-1;;;29050:40:0;;:99;;-1:-1:-1;;;;;;;29101:48:0;;-1:-1:-1;;;29101:48:0;29050:99;:160;;;-1:-1:-1;;;;;;;29160:50:0;;-1:-1:-1;;;29160:50:0;29050:160;:207;;;-1:-1:-1;;;;;;;;;;19131:40:0;;;29221:36;29036:221;28893:370;-1:-1:-1;;28893:370:0:o;30482:94::-;30536:13;30565:5;30558:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30482:94;:::o;32016:204::-;32084:7;32108:16;32116:7;33931:4;33961:12;-1:-1:-1;33951:22:0;33874:105;32108:16;32100:74;;;;-1:-1:-1;;;32100:74:0;;12159:2:1;32100:74:0;;;12141:21:1;12198:2;12178:18;;;12171:30;12237:34;12217:18;;;12210:62;-1:-1:-1;;;12288:18:1;;;12281:43;12341:19;;32100:74:0;;;;;;;;;-1:-1:-1;32190:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;32190:24:0;;32016:204::o;54179:224::-;54304:26;;;;:17;:26;;;;;;:31;54296:62;;;;-1:-1:-1;;;54296:62:0;;;;;;;:::i;:::-;54369:26;54383:2;54387:7;54369:13;:26::i;:::-;54179:224;;:::o;27453:98::-;27506:7;27544:1;27529:12;;:16;;;;:::i;:::-;27522:23;;27453:98;:::o;47427:518::-;47550:16;47558:7;47550:16;;33931:4;33961:12;-1:-1:-1;33951:22:0;33874:105;47550:16;47542:64;;;;-1:-1:-1;;;47542:64:0;;;;;;;:::i;:::-;47645:10;47625:16;;;;:7;:16::i;:::-;-1:-1:-1;;;;;47625:30:0;;47617:83;;;;-1:-1:-1;;;47617:83:0;;;;;;;:::i;:::-;47719:9;;;;;;;47711:57;;;;-1:-1:-1;;;47711:57:0;;13995:2:1;47711:57:0;;;13977:21:1;14034:2;14014:18;;;14007:30;14073:34;14053:18;;;14046:62;-1:-1:-1;;;14124:18:1;;;14117:33;14167:19;;47711:57:0;13793:399:1;47711:57:0;47787:20;47798:3;47803;47787:10;:20::i;:::-;47779:60;;;;-1:-1:-1;;;47779:60:0;;14399:2:1;47779:60:0;;;14381:21:1;14438:2;14418:18;;;14411:30;14477:29;14457:18;;;14450:57;14524:18;;47779:60:0;14197:351:1;47779:60:0;47850:19;;;;;;;:10;:19;;;;;:25;47872:3;47850:19;:25;:::i;:::-;;47916:3;47891:46;;;;;;:::i;:::-;;;;;;;;;;17240:6:1;17228:19;;17210:38;;47921:15:0;17279:2:1;17264:18;;17257:34;47891:46:0;;;17183:18:1;47891:46:0;;;;;;;47427:518;;;:::o;51436:1240::-;44557:14;;;;;;;44549:49;;;;-1:-1:-1;;;44549:49:0;;17504:2:1;44549:49:0;;;17486:21:1;17543:2;17523:18;;;17516:30;-1:-1:-1;;;17562:18:1;;;17555:52;17624:18;;44549:49:0;17302:346:1;44549:49:0;44633:10;;;;;;;44617:13;:11;:13::i;:::-;:26;44609:79;;;;-1:-1:-1;;;44609:79:0;;17855:2:1;44609:79:0;;;17837:21:1;17894:2;17874:18;;;17867:30;17933:34;17913:18;;;17906:62;-1:-1:-1;;;17984:18:1;;;17977:38;18032:19;;44609:79:0;17653:404:1;44609:79:0;51591:26;;;;;:53:::1;;-1:-1:-1::0;51621:23:0;;;51591:53:::1;51583:106;;;::::0;-1:-1:-1;;;51583:106:0;;18264:2:1;51583:106:0::1;::::0;::::1;18246:21:1::0;18303:2;18283:18;;;18276:30;18342:34;18322:18;;;18315:62;-1:-1:-1;;;18393:18:1;;;18386:38;18441:19;;51583:106:0::1;18062:404:1::0;51583:106:0::1;51708:45:::0;;::::1;51700:96;;;;-1:-1:-1::0;;;51700:96:0::1;;;;;;;:::i;:::-;51815:10;51829:9;51815:23;51807:71;;;::::0;-1:-1:-1;;;51807:71:0;;19080:2:1;51807:71:0::1;::::0;::::1;19062:21:1::0;19119:2;19099:18;;;19092:30;19158:34;19138:18;;;19131:62;-1:-1:-1;;;19209:18:1;;;19202:33;19252:19;;51807:71:0::1;18878:399:1::0;51807:71:0::1;51938:10;::::0;;;::::1;;;51913:15:::0;51897:13:::1;:11;:13::i;:::-;:38;;;;:::i;:::-;:51;51889:97;;;;-1:-1:-1::0;;;51889:97:0::1;;;;;;;:::i;:::-;52001:7;51997:504;52014:26;::::0;::::1;::::0;-1:-1:-1;51997:504:0::1;;;52070:13;::::0;52115:10:::1;::::0;-1:-1:-1;;;;;52070:13:0::1;:21;52092:15:::0;;:18:::1;::::0;::::1;::::0;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;52070:41;::::0;-1:-1:-1;;;;;;52070:41:0::1;::::0;;;;;;10637:6:1;10625:19;;;52070:41:0::1;::::0;::::1;10607:38:1::0;10580:18;;52070:41:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;52070:55:0::1;;:103;;;;-1:-1:-1::0;52129:5:0::1;::::0;52163:10:::1;::::0;-1:-1:-1;;;;;52129:5:0::1;:13;52143:12:::0;;:15:::1;::::0;::::1;::::0;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;52129:30;::::0;-1:-1:-1;;;;;;52129:30:0::1;::::0;;;;;;10637:6:1;10625:19;;;52129:30:0::1;::::0;::::1;10607:38:1::0;10580:18;;52129:30:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;52129:44:0::1;;52070:103;52062:155;;;::::0;-1:-1:-1;;;52062:155:0;;20601:2:1;52062:155:0::1;::::0;::::1;20583:21:1::0;20640:2;20620:18;;;20613:30;20679:34;20659:18;;;20652:62;-1:-1:-1;;;20730:18:1;;;20723:37;20777:19;;52062:155:0::1;20399:403:1::0;52062:155:0::1;52241:25;:45;52267:15;;52283:1;52267:18;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;52241:45;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;52241:45:0;;::::1;;52240:46;:90:::0;::::1;;;;52291:22;:39;52314:12;;52327:1;52314:15;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;52291:39;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;52291:39:0;;::::1;;52290:40;52240:90;52232:129;;;::::0;-1:-1:-1;;;52232:129:0;;21009:2:1;52232:129:0::1;::::0;::::1;20991:21:1::0;21048:2;21028:18;;;21021:30;21087:28;21067:18;;;21060:56;21133:18;;52232:129:0::1;20807:350:1::0;52232:129:0::1;52424:4;52376:25;:45;52402:15;;52418:1;52402:18;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;52376:45;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;52485:4;52443:22;:39;52466:12;;52479:1;52466:15;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;52443:39;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;52443:39:0;:46;;-1:-1:-1;;52443:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;52042:3;::::1;::::0;::::1;:::i;:::-;;;;51997:504;;;-1:-1:-1::0;52511:45:0::1;52521:10;52533:15:::0;52511:9:::1;:45::i;:::-;52572:96;52584:10;52596:15;;52613:12;;52627:25;52641:10;52627:13;:25::i;:::-;52654:13;:11;:13::i;:::-;52572:96;;;;;;;;;;;;:::i;:::-;;;;;;;;51436:1240:::0;;;;:::o;53636:237::-;53763:26;;;;:17;:26;;;;;;:31;53755:62;;;;-1:-1:-1;;;53755:62:0;;;;;;;:::i;:::-;53828:37;53847:4;53853:2;53857:7;53828:18;:37::i;:::-;53636:237;;;:::o;44929:609::-;45018:12;;;;45010:52;;;;-1:-1:-1;;;45010:52:0;;22741:2:1;45010:52:0;;;22723:21:1;22780:2;22760:18;;;22753:30;22819:29;22799:18;;;22792:57;22866:18;;45010:52:0;22539:351:1;45010:52:0;45078:7;45073:392;45091:19;;;;-1:-1:-1;45073:392:0;;;45141:20;45149:8;;45158:1;45149:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;45141:20;;33931:4;33961:12;-1:-1:-1;33951:22:0;33874:105;45141:20;45133:68;;;;-1:-1:-1;;;45133:68:0;;;;;;;:::i;:::-;45248:10;45224:20;45232:8;;:11;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;45224:20;;:7;:20::i;:::-;-1:-1:-1;;;;;45224:34:0;;45216:87;;;;-1:-1:-1;;;45216:87:0;;;;;;;:::i;:::-;45326:17;:30;45344:8;;45353:1;45344:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;45326:30;;;;;;;;;;;;;;45360:1;45326:35;45318:72;;;;-1:-1:-1;;;45318:72:0;;23097:2:1;45318:72:0;;;23079:21:1;23136:2;23116:18;;;23109:30;23175:26;23155:18;;;23148:54;23219:18;;45318:72:0;22895:348:1;45318:72:0;45438:15;45405:17;:30;45423:8;;45432:1;45423:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;45405:30;;;;;;;;;;;;;-1:-1:-1;45405:30:0;:48;45112:3;;;;:::i;:::-;;;;45073:392;;;;45502:10;-1:-1:-1;;;;;45480:50:0;;45492:8;;45514:15;45480:50;;;;;;;;:::i;:::-;;;;;;;;44929:609;;:::o;28085:744::-;28194:7;28229:16;28239:5;28229:9;:16::i;:::-;28221:5;:24;28213:71;;;;-1:-1:-1;;;28213:71:0;;23811:2:1;28213:71:0;;;23793:21:1;23850:2;23830:18;;;23823:30;23889:34;23869:18;;;23862:62;-1:-1:-1;;;23940:18:1;;;23933:32;23982:19;;28213:71:0;23609:398:1;28213:71:0;28291:22;28316:13;:11;:13::i;:::-;28291:38;;28336:19;28366:25;28416:9;28411:350;28435:14;28431:1;:18;28411:350;;;28465:31;28499:14;;;:11;:14;;;;;;;;;28465:48;;;;;;;;;-1:-1:-1;;;;;28465:48:0;;;;;-1:-1:-1;;;28465:48:0;;;-1:-1:-1;;;;;28465:48:0;;;;;;;;28526:28;28522:89;;28587:14;;;-1:-1:-1;28522:89:0;28644:5;-1:-1:-1;;;;;28623:26:0;:17;-1:-1:-1;;;;;28623:26:0;;28619:135;;28681:5;28666:11;:20;28662:59;;-1:-1:-1;28708:1:0;-1:-1:-1;28701:8:0;;-1:-1:-1;;;28701:8:0;28662:59;28731:13;;;;:::i;:::-;;;;28619:135;-1:-1:-1;28451:3:0;;;;:::i;:::-;;;;28411:350;;;-1:-1:-1;28767:56:0;;-1:-1:-1;;;28767:56:0;;24354:2:1;28767:56:0;;;24336:21:1;24393:2;24373:18;;;24366:30;24432:34;24412:18;;;24405:62;-1:-1:-1;;;24483:18:1;;;24476:44;24537:19;;28767:56:0;24152:410:1;6862:166:0;4759:13;:11;:13::i;:::-;6944:12:::1;:28;6959:13:::0;6944:12;:28:::1;:::i;:::-;;7007:12;6988:32;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;6862:166:::0;:::o;44741:180::-;4759:13;:11;:13::i;:::-;44840:12:::1;::::0;;::::1;::::0;;::::1;44839:13;-1:-1:-1::0;;44824:28:0;;::::1;::::0;::::1;::::0;;;44869:44:::1;::::0;;44883:12;;;;25607:14:1;25600:22;25582:41;;44897:15:0::1;25654:2:1::0;25639:18;;25632:34;44869:44:0::1;::::0;25555:18:1;44869:44:0::1;;;;;;;;44741:180::o:0;33079:157::-;33191:39;33208:4;33214:2;33218:7;33191:39;;;;;;;;;;;;:16;:39::i;41123:767::-;41183:16;41208:22;41233:13;:11;:13::i;:::-;41208:38;;41253:19;41275:17;41285:6;41275:9;:17::i;:::-;41253:39;;41299:31;41347:11;-1:-1:-1;;;;;41333:26:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;41333:26:0;-1:-1:-1;41299:60:0;-1:-1:-1;41366:25:0;;41458:1;41441:414;41466:14;41461:1;:19;41441:414;;41496:31;41530:14;;;:11;:14;;;;;;;;;41496:48;;;;;;;;;-1:-1:-1;;;;;41496:48:0;;;;;-1:-1:-1;;;41496:48:0;;;-1:-1:-1;;;;;41496:48:0;;;;;;;;41557:28;41553:89;;41618:14;;;-1:-1:-1;41553:89:0;41675:6;-1:-1:-1;;;;;41654:27:0;:17;-1:-1:-1;;;;;41654:27:0;;41650:198;;41724:1;41694:14;41709:11;41694:27;;;;;;;;:::i;:::-;;;;;;;;;;:31;41736:13;;;;:::i;:::-;;;;41778:11;41763;:26;41760:79;;-1:-1:-1;41812:14:0;;41123:767;-1:-1:-1;;;;;;;41123:767:0:o;41760:79::-;-1:-1:-1;41482:3:0;;;;:::i;:::-;;;;41441:414;;;-1:-1:-1;41869:14:0;;41123:767;-1:-1:-1;;;;;;41123:767:0:o;52757:871::-;4759:13;:11;:13::i;:::-;52911:45;;::::1;52903:96;;;;-1:-1:-1::0;;;52903:96:0::1;;;;;;;:::i;:::-;53059:10;::::0;;;::::1;;;53034:15:::0;53018:13:::1;:11;:13::i;:::-;:38;;;;:::i;:::-;:51;53010:97;;;;-1:-1:-1::0;;;53010:97:0::1;;;;;;;:::i;:::-;53122:8;53118:335;53136:26;::::0;::::1;::::0;-1:-1:-1;53118:335:0::1;;;53193:25;:45;53219:15;;53235:1;53219:18;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;53193:45;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;53193:45:0;;::::1;;53192:46;:90:::0;::::1;;;;53243:22;:39;53266:12;;53279:1;53266:15;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;53243:39;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;53243:39:0;;::::1;;53242:40;53192:90;53184:129;;;::::0;-1:-1:-1;;;53184:129:0;;21009:2:1;53184:129:0::1;::::0;::::1;20991:21:1::0;21048:2;21028:18;;;21021:30;21087:28;21067:18;;;21060:56;21133:18;;53184:129:0::1;20807:350:1::0;53184:129:0::1;53376:4;53328:25;:45;53354:15;;53370:1;53354:18;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;53328:45;;;;;;;;;;;;;;;;:52;;;;;;;;;;;;;;;;;;53437:4;53395:22;:39;53418:12;;53431:1;53418:15;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;53395:39;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;53395:39:0;:46;;-1:-1:-1;;53395:46:0::1;::::0;::::1;;::::0;;;::::1;::::0;;53164:3;::::1;::::0;::::1;:::i;:::-;;;;53118:335;;27620:177:::0;27687:7;27719:13;:11;:13::i;:::-;27711:5;:21;27703:69;;;;-1:-1:-1;;;27703:69:0;;26081:2:1;27703:69:0;;;26063:21:1;26120:2;26100:18;;;26093:30;26159:34;26139:18;;;26132:62;-1:-1:-1;;;26210:18:1;;;26203:33;26253:19;;27703:69:0;25879:399:1;27703:69:0;-1:-1:-1;27786:5:0;27620:177::o;45546:754::-;45637:12;;;;45629:52;;;;-1:-1:-1;;;45629:52:0;;22741:2:1;45629:52:0;;;22723:21:1;22780:2;22760:18;;;22753:30;22819:29;22799:18;;;22792:57;22866:18;;45629:52:0;22539:351:1;45629:52:0;45697:7;45692:533;45710:19;;;;-1:-1:-1;45692:533:0;;;45759:20;45767:8;;45776:1;45767:11;;;;;;;;;:::i;45759:20::-;45751:68;;;;-1:-1:-1;;;45751:68:0;;;;;;;:::i;:::-;45866:10;45842:20;45850:8;;:11;;;;;;;;;;:::i;45842:20::-;-1:-1:-1;;;;;45842:34:0;;:59;;;-1:-1:-1;45891:10:0;45880:7;4946:6;;-1:-1:-1;;;;;4946:6:0;;4873:87;45880:7;-1:-1:-1;;;;;45880:21:0;;45842:59;45834:112;;;;-1:-1:-1;;;45834:112:0;;;;;;;:::i;:::-;45969:17;:30;45987:8;;45996:1;45987:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;45969:30;;;;;;;;;;;;;;46003:1;45969:35;45961:70;;;;-1:-1:-1;;;45961:70:0;;26485:2:1;45961:70:0;;;26467:21:1;26524:2;26504:18;;;26497:30;-1:-1:-1;;;26543:18:1;;;26536:52;26605:18;;45961:70:0;26283:346:1;45961:70:0;46046:13;46080:17;:30;46098:8;;46107:1;46098:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;46080:30;;;;;;;;;;;;;;46062:15;:48;;;;:::i;:::-;46046:64;;46159:5;46125:17;:30;46143:8;;46152:1;46143:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;46125:30;;;;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;46212:1:0;;-1:-1:-1;46179:17:0;46212:1;46197:8;;:11;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;46179:30;;;;;;;;;;;;;-1:-1:-1;46179:30:0;:34;-1:-1:-1;45731:3:0;;;;:::i;:::-;;;;45692:533;;;;46264:10;-1:-1:-1;;;;;46240:52:0;;46254:8;;46276:15;46240:52;;;;;;;;:::i;30305:118::-;30369:7;30392:20;30404:7;30392:11;:20::i;:::-;:25;;30305:118;-1:-1:-1;;30305:118:0:o;51040:363::-;51146:13;51177:25;51216:8;-1:-1:-1;;;;;51205:27:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;51205:27:0;;51177:55;;51248:8;51243:124;51262:19;;;;-1:-1:-1;51243:124:0;;;51320:22;:35;51343:8;;51352:1;51343:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;51320:35;;;;;;;;;;;;;;;;;;;;;;;;;51303:11;51315:1;51303:14;;;;;;;;;;:::i;:::-;:52;;;:14;;;;;;;;;;;:52;51283:3;;;;:::i;:::-;;;;51243:124;;;-1:-1:-1;51384:11:0;51040:363;-1:-1:-1;;;51040:363:0:o;29319:211::-;29383:7;-1:-1:-1;;;;;29407:19:0;;29399:75;;;;-1:-1:-1;;;29399:75:0;;26836:2:1;29399:75:0;;;26818:21:1;26875:2;26855:18;;;26848:30;26914:34;26894:18;;;26887:62;-1:-1:-1;;;26965:18:1;;;26958:41;27016:19;;29399:75:0;26634:407:1;29399:75:0;-1:-1:-1;;;;;;29496:19:0;;;;;:12;:19;;;;;:27;-1:-1:-1;;;;;29496:27:0;;29319:211::o;5521:103::-;4759:13;:11;:13::i;:::-;5586:30:::1;5613:1;5586:18;:30::i;:::-;5521:103::o:0;54816:105::-;54865:13;54898:15;54891:22;;;;;:::i;30638:98::-;30694:13;30723:7;30716:14;;;;;:::i;46694:691::-;46798:21;46837:28;46887:8;-1:-1:-1;;;;;46868:35:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46868:35:0;;-1:-1:-1;;46868:35:0;;;;;;;;;;;;46837:66;;46918:8;46914:432;46932:19;;;;-1:-1:-1;46914:432:0;;;46973:13;47009:15;47043:13;47059:17;:30;47077:8;;47086:1;47077:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;47059:30;;;;;;;;;;;;;;47043:46;;47108:5;47117:1;47108:10;47104:118;;47150:4;;-1:-1:-1;47183:23:0;47201:5;47183:15;:23;:::i;:::-;47173:33;;47104:118;47248:86;;;;;;;;47261:8;;47270:1;47261:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;47248:86;;;;;;47274:8;47248:86;;;;;;47284:7;47248:86;;;;47303:17;:30;47321:8;;47330:1;47321:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;47303:30;;;;;;;;;;;;;-1:-1:-1;47303:30:0;;47293:40;;:7;:40;:::i;:::-;47248:86;;;47236:6;47243:1;47236:9;;;;;;;;;;:::i;:::-;;;;;;:98;;;;46958:388;;;46953:3;;;;;:::i;:::-;;;;46914:432;;32284:274;3537:10;-1:-1:-1;;;;;32375:24:0;;;32367:63;;;;-1:-1:-1;;;32367:63:0;;27248:2:1;32367:63:0;;;27230:21:1;27287:2;27267:18;;;27260:30;27326:28;27306:18;;;27299:56;27372:18;;32367:63:0;27046:350:1;32367:63:0;3537:10;32439:32;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;32439:42:0;;;;;;;;;;;;:53;;-1:-1:-1;;32439:53:0;;;;;;;;;;32504:48;;540:41:1;;;32439:42:0;;3537:10;32504:48;;513:18:1;32504:48:0;;;;;;;32284:274;;:::o;50517:138::-;4759:13;:11;:13::i;:::-;50592:9:::1;:16:::0;;-1:-1:-1;;50592:16:0::1;::::0;::::1;::::0;;50624:23:::1;::::0;::::1;::::0;::::1;::::0;50631:15:::1;2338:25:1::0;;2326:2;2311:18;;2192:177;53881:290:0;54050:26;;;;:17;:26;;;;;;:31;54042:62;;;;-1:-1:-1;;;54042:62:0;;;;;;;:::i;:::-;54115:48;54138:4;54144:2;54148:7;54157:5;54115:22;:48::i;:::-;53881:290;;;;:::o;47953:470::-;48054:13;48097:16;48105:7;33931:4;33961:12;-1:-1:-1;33951:22:0;33874:105;48097:16;48089:64;;;;-1:-1:-1;;;48089:64:0;;;;;;;:::i;:::-;48168:9;;;;;;;48164:64;;48201:15;48194:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47953:470;;;:::o;48164:64::-;48277:1;48247:19;;;:10;:19;;;;;48241:33;;;;;:::i;:::-;;;:37;48238:95;;;48302:19;;;;:10;:19;;;;;48295:26;;;;;:::i;48238:95::-;48374:10;:8;:10::i;:::-;48386:18;:7;:16;:18::i;:::-;48357:57;;;;;;;;;:::i;:::-;;;;;;;;;;;;;48343:72;;47953:470;;;:::o;49777:238::-;4759:13;:11;:13::i;:::-;-1:-1:-1;;;;;49894:30:0;::::1;49886:66;;;::::0;-1:-1:-1;;;49886:66:0;;28245:2:1;49886:66:0::1;::::0;::::1;28227:21:1::0;28284:2;28264:18;;;28257:30;28323:25;28303:18;;;28296:53;28366:18;;49886:66:0::1;28043:347:1::0;49886:66:0::1;49963:16;:44:::0;;-1:-1:-1;;;;;49963:44:0;;::::1;::::0;::::1;-1:-1:-1::0;;;;;;49963:44:0;;::::1;::::0;;;::::1;::::0;;49777:238::o;50323:186::-;4759:13;:11;:13::i;:::-;50421:14:::1;::::0;;::::1;;::::0;;::::1;::::0;::::1;50420:15;50403:32:::0;::::1;-1:-1:-1::0;;50403:32:0;;::::1;::::0;;;::::1;::::0;;;;50451:50:::1;::::0;;50469:14;;;::::1;;25607::1::0;25600:22;25582:41;;50485:15:0::1;25654:2:1::0;25639:18;;25632:34;50451:50:0::1;::::0;25555:18:1;50451:50:0::1;25414:258:1::0;6627:26:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;50187:128::-;50293:10;;50258:6;;50293:14;;50306:1;;50293:10;;;;;:14;:::i;50663:369::-;50772:13;50803:25;50842:8;-1:-1:-1;;;;;50831:27:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;50831:27:0;;50803:55;;50874:8;50869:127;50888:19;;;;-1:-1:-1;50869:127:0;;;50946:25;:38;50972:8;;50981:1;50972:11;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;50946:38;;;;;;;;;;;;;;;;;;;;;;;;;50929:11;50941:1;50929:14;;;;;;;;;;:::i;:::-;:55;;;:14;;;;;;;;;;;:55;50909:3;;;;:::i;:::-;;;;50869:127;;50023:156;4759:13;:11;:13::i;:::-;50138:15:::1;:33;50156:15:::0;50138;:33:::1;:::i;5779:201::-:0;4759:13;:11;:13::i;:::-;-1:-1:-1;;;;;5868:22:0;::::1;5860:73;;;::::0;-1:-1:-1;;;5860:73:0;;28819:2:1;5860:73:0::1;::::0;::::1;28801:21:1::0;28858:2;28838:18;;;28831:30;28897:34;28877:18;;;28870:62;-1:-1:-1;;;28948:18:1;;;28941:36;28994:19;;5860:73:0::1;28617:402:1::0;5860:73:0::1;5944:28;5963:8;5944:18;:28::i;:::-;5779:201:::0;:::o;46308:378::-;46481:26;;;46398:13;46481:26;;;:17;:26;;;;;;46398:13;;;;46522:10;;46518:106;;46560:4;;-1:-1:-1;46589:23:0;46607:5;46589:15;:23;:::i;:::-;46579:33;;46518:106;46652:26;;;;;;;:17;:26;;;;;;46642:36;;:7;:36;:::i;:::-;46308:378;;;;-1:-1:-1;;;46308:378:0:o;31571:387::-;31648:13;31664:24;31680:7;31664:15;:24::i;:::-;31648:40;;31709:5;-1:-1:-1;;;;;31703:11:0;:2;-1:-1:-1;;;;;31703:11:0;;31695:58;;;;-1:-1:-1;;;31695:58:0;;29226:2:1;31695:58:0;;;29208:21:1;29265:2;29245:18;;;29238:30;29304:34;29284:18;;;29277:62;-1:-1:-1;;;29355:18:1;;;29348:32;29397:19;;31695:58:0;29024:398:1;31695:58:0;3537:10;-1:-1:-1;;;;;31778:21:0;;;;:62;;-1:-1:-1;31803:37:0;31820:5;3537:10;32621:186;:::i;31803:37::-;31762:153;;;;-1:-1:-1;;;31762:153:0;;29629:2:1;31762:153:0;;;29611:21:1;29668:2;29648:18;;;29641:30;29707:34;29687:18;;;29680:62;29778:27;29758:18;;;29751:55;29823:19;;31762:153:0;29427:421:1;31762:153:0;31924:28;31933:2;31937:7;31946:5;31924:8;:28::i;48431:260::-;48539:4;48565:15;48610:4;48593:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;48593:22:0;;;;;;48583:33;;48593:22;48583:33;;;;48666:16;;48583:33;;-1:-1:-1;48666:16:0;;;-1:-1:-1;;;;;48666:16:0;48635:27;48583:33;48658:3;48635:13;:27::i;:::-;-1:-1:-1;;;;;48635:47:0;;;48431:260;-1:-1:-1;;;;48431:260:0:o;33985:98::-;34050:27;34060:2;34064:8;34050:27;;;;;;;;;;;;:9;:27::i;29536:240::-;29597:7;-1:-1:-1;;;;;29629:19:0;;29613:102;;;;-1:-1:-1;;;29613:102:0;;30055:2:1;29613:102:0;;;30037:21:1;30094:2;30074:18;;;30067:30;30133:34;30113:18;;;30106:62;-1:-1:-1;;;30184:18:1;;;30177:47;30241:19;;29613:102:0;29853:413:1;29613:102:0;-1:-1:-1;;;;;;29737:19:0;;;;;:12;:19;;;;;:32;-1:-1:-1;;;29737:32:0;;-1:-1:-1;;;;;29737:32:0;;29536:240::o;32866:150::-;32982:28;32992:4;32998:2;33002:7;32982:9;:28::i;5038:132::-;4946:6;;-1:-1:-1;;;;;4946:6:0;3537:10;5102:23;5094:68;;;;-1:-1:-1;;;5094:68:0;;30473:2:1;5094:68:0;;;30455:21:1;;;30492:18;;;30485:30;30551:34;30531:18;;;30524:62;30603:18;;5094:68:0;30271:356:1;29782:469:0;-1:-1:-1;;;;;;;;;;;;;;;;;29899:16:0;29907:7;33931:4;33961:12;-1:-1:-1;33951:22:0;33874:105;29899:16;29891:71;;;;-1:-1:-1;;;29891:71:0;;30834:2:1;29891:71:0;;;30816:21:1;30873:2;30853:18;;;30846:30;30912:34;30892:18;;;30885:62;-1:-1:-1;;;30963:18:1;;;30956:40;31013:19;;29891:71:0;30632:406:1;29891:71:0;29989:7;29969:213;30028:31;30062:17;;;:11;:17;;;;;;;;;30028:51;;;;;;;;;-1:-1:-1;;;;;30028:51:0;;;;;-1:-1:-1;;;30028:51:0;;;-1:-1:-1;;;;;30028:51:0;;;;;;;;30094:28;30090:85;;30154:9;29782:469;-1:-1:-1;;;29782:469:0:o;30090:85::-;-1:-1:-1;30009:6:0;;;;:::i;:::-;;;;29969:213;;6140:191;6233:6;;;-1:-1:-1;;;;;6250:17:0;;;-1:-1:-1;;;;;;6250:17:0;;;;;;;6283:40;;6233:6;;;6250:17;6233:6;;6283:40;;6214:16;;6283:40;6203:128;6140:191;:::o;33299:336::-;33444:28;33454:4;33460:2;33464:7;33444:9;:28::i;:::-;-1:-1:-1;;;;;33482:13:0;;9256:19;:23;;33482:68;;;;;33502:48;33525:4;33531:2;33535:7;33544:5;33502:22;:48::i;:::-;33501:49;33482:68;33479:151;;;33561:61;;-1:-1:-1;;;33561:61:0;;;;;;;:::i;49556:184::-;49667:13;49709:23;:21;:23::i;742:723::-;798:13;1019:5;1028:1;1019:10;1015:53;;-1:-1:-1;;1046:10:0;;;;;;;;;;;;-1:-1:-1;;;1046:10:0;;;;;742:723::o;1015:53::-;1093:5;1078:12;1134:78;1141:9;;1134:78;;1167:8;;;;:::i;:::-;;-1:-1:-1;1190:10:0;;-1:-1:-1;1198:2:0;1190:10;;:::i;:::-;;;1134:78;;;1222:19;1254:6;-1:-1:-1;;;;;1244:17:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1244:17:0;;1222:39;;1272:154;1279:10;;1272:154;;1306:11;1316:1;1306:11;;:::i;:::-;;-1:-1:-1;1375:10:0;1383:2;1375:5;:10;:::i;:::-;1362:24;;:2;:24;:::i;:::-;1349:39;;1332:6;1339;1332:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;1332:56:0;;;;;;;;-1:-1:-1;1403:11:0;1412:2;1403:11;;:::i;:::-;;;1272:154;;;1450:6;742:723;-1:-1:-1;;;;742:723:0:o;37662:172::-;37759:24;;;;:15;:24;;;;;;:29;;-1:-1:-1;;;;;;37759:29:0;-1:-1:-1;;;;;37759:29:0;;;;;;;;;37800:28;;37759:24;;37800:28;;;;;;;37662:172;;;:::o;48699:279::-;48807:7;48836;48854:9;48874;48906:19;48921:3;48906:14;:19::i;:::-;48943:27;;;;;;;;;;;;32621:25:1;;;32694:4;32682:17;;32662:18;;;32655:45;;;;32716:18;;;32709:34;;;32759:18;;;32752:34;;;48894:31:0;;-1:-1:-1;48894:31:0;;-1:-1:-1;48894:31:0;-1:-1:-1;48943:27:0;;32593:19:1;;48943:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;48943:27:0;;-1:-1:-1;;48943:27:0;;;48699:279;-1:-1:-1;;;;;;;48699:279:0:o;34338:1457::-;34443:20;34466:12;-1:-1:-1;;;;;34493:16:0;;34485:62;;;;-1:-1:-1;;;34485:62:0;;32999:2:1;34485:62:0;;;32981:21:1;33038:2;33018:18;;;33011:30;33077:34;33057:18;;;33050:62;-1:-1:-1;;;33128:18:1;;;33121:31;33169:19;;34485:62:0;32797:397:1;34485:62:0;34684:21;34692:12;33931:4;33961:12;-1:-1:-1;33951:22:0;33874:105;34684:21;34683:22;34675:64;;;;-1:-1:-1;;;34675:64:0;;33401:2:1;34675:64:0;;;33383:21:1;33440:2;33420:18;;;33413:30;33479:31;33459:18;;;33452:59;33528:18;;34675:64:0;33199:353:1;34675:64:0;-1:-1:-1;;;;;34851:16:0;;34818:30;34851:16;;;:12;:16;;;;;;;;;34818:49;;;;;;;;;-1:-1:-1;;;;;34818:49:0;;;;;-1:-1:-1;;;34818:49:0;;;;;;;;;;;34893:119;;;;;;;;34913:19;;34818:49;;34893:119;;;34913:39;;34943:8;;34913:39;:::i;:::-;-1:-1:-1;;;;;34893:119:0;;;;;34996:8;34961:11;:24;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;34893:119:0;;;;;;-1:-1:-1;;;;;34874:16:0;;;;;;;:12;:16;;;;;;;;:138;;;;;;;;-1:-1:-1;;;34874:138:0;;;;;;;;;;;;35047:43;;;;;;;;;;-1:-1:-1;;;;;35073:15:0;35047:43;;;;;;;;35019:25;;;:11;:25;;;;;;:71;;;;;;;;;-1:-1:-1;;;35019:71:0;-1:-1:-1;;;;;;35019:71:0;;;;;;;;;;;;;;;;;;35031:12;;35155:23;35170:8;35031:12;35155:23;:::i;:::-;35141:37;-1:-1:-1;;;;;;35191:13:0;;9256:19;:23;35187:500;;35217:260;35236:38;;35261:12;;-1:-1:-1;;;;;35236:38:0;;;35253:1;;35236:38;;35253:1;;35236:38;35290:61;35321:1;35325:2;35329:14;;;;:::i;:::-;;;35345:5;35290:22;:61::i;:::-;35285:154;;35366:61;;-1:-1:-1;;;35366:61:0;;;;;;;:::i;35285:154::-;35472:3;35456:12;:19;35217:260;;35537:12;35521;;:28;35517:42;;35551:8;;;35517:42;35187:500;;;35626:14;;;;:::i;:::-;35601:40;;35626:14;;-1:-1:-1;;;;;;35601:40:0;;;35618:1;;35601:40;;35618:1;;35601:40;35675:3;35659:12;:19;35582:98;;35187:500;-1:-1:-1;35695:12:0;:27;-1:-1:-1;;;;;34338:1457:0:o;36027:1529::-;36124:35;36162:20;36174:7;36162:11;:20::i;:::-;36233:18;;36124:58;;-1:-1:-1;36191:22:0;;-1:-1:-1;;;;;36217:34:0;3537:10;-1:-1:-1;;;;;36217:34:0;;:81;;;-1:-1:-1;3537:10:0;36262:20;36274:7;36262:11;:20::i;:::-;-1:-1:-1;;;;;36262:36:0;;36217:81;:142;;;-1:-1:-1;36326:18:0;;36309:50;;3537:10;32621:186;:::i;36309:50::-;36191:169;;36385:17;36369:101;;;;-1:-1:-1;;;36369:101:0;;34017:2:1;36369:101:0;;;33999:21:1;34056:2;34036:18;;;34029:30;34095:34;34075:18;;;34068:62;-1:-1:-1;;;34146:18:1;;;34139:48;34204:19;;36369:101:0;33815:414:1;36369:101:0;36517:4;-1:-1:-1;;;;;36495:26:0;:13;:18;;;-1:-1:-1;;;;;36495:26:0;;36479:98;;;;-1:-1:-1;;;36479:98:0;;34436:2:1;36479:98:0;;;34418:21:1;34475:2;34455:18;;;34448:30;34514:34;34494:18;;;34487:62;-1:-1:-1;;;34565:18:1;;;34558:36;34611:19;;36479:98:0;34234:402:1;36479:98:0;-1:-1:-1;;;;;36592:16:0;;36584:66;;;;-1:-1:-1;;;36584:66:0;;34843:2:1;36584:66:0;;;34825:21:1;34882:2;34862:18;;;34855:30;34921:34;34901:18;;;34894:62;-1:-1:-1;;;34972:18:1;;;34965:35;35017:19;;36584:66:0;34641:401:1;36584:66:0;36759:49;36776:1;36780:7;36789:13;:18;;;36759:8;:49::i;:::-;-1:-1:-1;;;;;36817:18:0;;;;;;:12;:18;;;;;:31;;36847:1;;36817:18;:31;;36847:1;;-1:-1:-1;;;;;36817:31:0;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;36817:31:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;36855:16:0;;-1:-1:-1;36855:16:0;;;:12;:16;;;;;:29;;-1:-1:-1;;;36855:16:0;;:29;;-1:-1:-1;;36855:29:0;;:::i;:::-;;;-1:-1:-1;;;;;36855:29:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;36914:43:0;;;;;;;;-1:-1:-1;;;;;36914:43:0;;;;;-1:-1:-1;;;;;36940:15:0;36914:43;;;;;;;;;-1:-1:-1;36891:20:0;;;:11;:20;;;;;;:66;;;;;;;;;-1:-1:-1;;;36891:66:0;-1:-1:-1;;;;;;36891:66:0;;;;;;;;;;;37207:11;36903:7;-1:-1:-1;37207:11:0;:::i;:::-;37270:1;37229:24;;;:11;:24;;;;;:29;37185:33;;-1:-1:-1;;;;;;37229:29:0;37225:236;;37287:20;37295:11;33931:4;33961:12;-1:-1:-1;33951:22:0;33874:105;37287:20;37283:171;;;37347:97;;;;;;;;37374:18;;-1:-1:-1;;;;;37347:97:0;;;;;;37405:28;;;;-1:-1:-1;;;;;37347:97:0;;;;;;;;;-1:-1:-1;37320:24:0;;;:11;:24;;;;;;;:124;;;;;;;;;-1:-1:-1;;;37320:124:0;-1:-1:-1;;;;;;37320:124:0;;;;;;;;;;;;37283:171;37493:7;37489:2;-1:-1:-1;;;;;37474:27:0;37483:4;-1:-1:-1;;;;;37474:27:0;;;;;;;;;;;37508:42;36117:1439;;;36027:1529;;;:::o;39373:615::-;39534:72;;-1:-1:-1;;;39534:72:0;;39510:4;;-1:-1:-1;;;;;39534:36:0;;;;;:72;;3537:10;;39585:4;;39591:7;;39600:5;;39534:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;39534:72:0;;;;;;;;-1:-1:-1;;39534:72:0;;;;;;;;;;;;:::i;:::-;;;39523:460;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39765:6;:13;39782:1;39765:18;39761:215;;39798:61;;-1:-1:-1;;;39798:61:0;;;;;;;:::i;39761:215::-;39944:6;39938:13;39929:6;39925:2;39921:15;39914:38;39523:460;-1:-1:-1;;;;;;39656:55:0;-1:-1:-1;;;39656:55:0;;-1:-1:-1;39373:615:0;;;;;;:::o;7648:104::-;7699:13;7732:12;7725:19;;;;;:::i;48986:562::-;49078:5;49085:7;49094;49131:3;:10;49145:2;49131:16;49123:25;;;;;;-1:-1:-1;;;49317:2:0;49308:12;;49302:19;49389:2;49380:12;;49374:19;49498:2;49489:12;;;49483:19;49159:9;49475:28;;49302:19;;49374;48986:562::o;14:131:1:-;-1:-1:-1;;;;;;88:32:1;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:1:o;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:1;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:1;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:1:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:1;;1343:180;-1:-1:-1;1343:180:1:o;1736:131::-;-1:-1:-1;;;;;1811:31:1;;1801:42;;1791:70;;1857:1;1854;1847:12;1872:315;1940:6;1948;2001:2;1989:9;1980:7;1976:23;1972:32;1969:52;;;2017:1;2014;2007:12;1969:52;2056:9;2043:23;2075:31;2100:5;2075:31;:::i;:::-;2125:5;2177:2;2162:18;;;;2149:32;;-1:-1:-1;;;1872:315:1:o;2374:159::-;2441:20;;2501:6;2490:18;;2480:29;;2470:57;;2523:1;2520;2513:12;2470:57;2374:159;;;:::o;2538:127::-;2599:10;2594:3;2590:20;2587:1;2580:31;2630:4;2627:1;2620:15;2654:4;2651:1;2644:15;2670:719;2713:5;2766:3;2759:4;2751:6;2747:17;2743:27;2733:55;;2784:1;2781;2774:12;2733:55;2820:6;2807:20;-1:-1:-1;;;;;2883:2:1;2879;2876:10;2873:36;;;2889:18;;:::i;:::-;2964:2;2958:9;2932:2;3018:13;;-1:-1:-1;;3014:22:1;;;3038:2;3010:31;3006:40;2994:53;;;3062:18;;;3082:22;;;3059:46;3056:72;;;3108:18;;:::i;:::-;3148:10;3144:2;3137:22;3183:2;3175:6;3168:18;3229:3;3222:4;3217:2;3209:6;3205:15;3201:26;3198:35;3195:55;;;3246:1;3243;3236:12;3195:55;3310:2;3303:4;3295:6;3291:17;3284:4;3276:6;3272:17;3259:54;3357:1;3350:4;3345:2;3337:6;3333:15;3329:26;3322:37;3377:6;3368:15;;;;;;2670:719;;;;:::o;3394:614::-;3489:6;3497;3505;3558:2;3546:9;3537:7;3533:23;3529:32;3526:52;;;3574:1;3571;3564:12;3526:52;3597:28;3615:9;3597:28;:::i;:::-;3587:38;;3676:2;3665:9;3661:18;3648:32;-1:-1:-1;;;;;3740:2:1;3732:6;3729:14;3726:34;;;3756:1;3753;3746:12;3726:34;3779:50;3821:7;3812:6;3801:9;3797:22;3779:50;:::i;:::-;3769:60;;3882:2;3871:9;3867:18;3854:32;3838:48;;3911:2;3901:8;3898:16;3895:36;;;3927:1;3924;3917:12;3895:36;;3950:52;3994:7;3983:8;3972:9;3968:24;3950:52;:::i;:::-;3940:62;;;3394:614;;;;;:::o;4013:366::-;4075:8;4085:6;4139:3;4132:4;4124:6;4120:17;4116:27;4106:55;;4157:1;4154;4147:12;4106:55;-1:-1:-1;4180:20:1;;-1:-1:-1;;;;;4212:30:1;;4209:50;;;4255:1;4252;4245:12;4209:50;4292:4;4284:6;4280:17;4268:29;;4352:3;4345:4;4335:6;4332:1;4328:14;4320:6;4316:27;4312:38;4309:47;4306:67;;;4369:1;4366;4359:12;4306:67;4013:366;;;;;:::o;4384:769::-;4504:6;4512;4520;4528;4581:2;4569:9;4560:7;4556:23;4552:32;4549:52;;;4597:1;4594;4587:12;4549:52;4637:9;4624:23;-1:-1:-1;;;;;4707:2:1;4699:6;4696:14;4693:34;;;4723:1;4720;4713:12;4693:34;4762:69;4823:7;4814:6;4803:9;4799:22;4762:69;:::i;:::-;4850:8;;-1:-1:-1;4736:95:1;-1:-1:-1;4938:2:1;4923:18;;4910:32;;-1:-1:-1;4954:16:1;;;4951:36;;;4983:1;4980;4973:12;4951:36;;5022:71;5085:7;5074:8;5063:9;5059:24;5022:71;:::i;:::-;4384:769;;;;-1:-1:-1;5112:8:1;-1:-1:-1;;;;4384:769:1:o;5158:456::-;5235:6;5243;5251;5304:2;5292:9;5283:7;5279:23;5275:32;5272:52;;;5320:1;5317;5310:12;5272:52;5359:9;5346:23;5378:31;5403:5;5378:31;:::i;:::-;5428:5;-1:-1:-1;5485:2:1;5470:18;;5457:32;5498:33;5457:32;5498:33;:::i;:::-;5158:456;;5550:7;;-1:-1:-1;;;5604:2:1;5589:18;;;;5576:32;;5158:456::o;5619:435::-;5704:6;5712;5765:2;5753:9;5744:7;5740:23;5736:32;5733:52;;;5781:1;5778;5771:12;5733:52;5821:9;5808:23;-1:-1:-1;;;;;5846:6:1;5843:30;5840:50;;;5886:1;5883;5876:12;5840:50;5925:69;5986:7;5977:6;5966:9;5962:22;5925:69;:::i;:::-;6013:8;;5899:95;;-1:-1:-1;5619:435:1;-1:-1:-1;;;;5619:435:1:o;6059:322::-;6128:6;6181:2;6169:9;6160:7;6156:23;6152:32;6149:52;;;6197:1;6194;6187:12;6149:52;6237:9;6224:23;-1:-1:-1;;;;;6262:6:1;6259:30;6256:50;;;6302:1;6299;6292:12;6256:50;6325;6367:7;6358:6;6347:9;6343:22;6325:50;:::i;6386:247::-;6445:6;6498:2;6486:9;6477:7;6473:23;6469:32;6466:52;;;6514:1;6511;6504:12;6466:52;6553:9;6540:23;6572:31;6597:5;6572:31;:::i;6638:632::-;6809:2;6861:21;;;6931:13;;6834:18;;;6953:22;;;6780:4;;6809:2;7032:15;;;;7006:2;6991:18;;;6780:4;7075:169;7089:6;7086:1;7083:13;7075:169;;;7150:13;;7138:26;;7219:15;;;;7184:12;;;;7111:1;7104:9;7075:169;;;-1:-1:-1;7261:3:1;;6638:632;-1:-1:-1;;;;;;6638:632:1:o;7275:642::-;7440:2;7492:21;;;7562:13;;7465:18;;;7584:22;;;7411:4;;7440:2;7663:15;;;;7637:2;7622:18;;;7411:4;7706:185;7720:6;7717:1;7714:13;7706:185;;;7795:13;;7788:21;7781:29;7769:42;;7866:15;;;;7831:12;;;;7742:1;7735:9;7706:185;;7922:962;8153:2;8205:21;;;8275:13;;8178:18;;;8297:22;;;8124:4;;8153:2;8338;;8356:18;;;;8397:15;;;8124:4;8440:418;8454:6;8451:1;8448:13;8440:418;;;8513:13;;8555:9;;8566:6;8551:22;8539:35;;8628:11;;;8622:18;8615:26;8608:34;8594:12;;;8587:56;8683:11;;;8677:18;8663:12;;;8656:40;8719:4;8763:11;;;8757:18;8743:12;;;8736:40;8805:4;8796:14;;;;8833:15;;;;8476:1;8469:9;8440:418;;;-1:-1:-1;8875:3:1;;7922:962;-1:-1:-1;;;;;;;7922:962:1:o;8889:416::-;8954:6;8962;9015:2;9003:9;8994:7;8990:23;8986:32;8983:52;;;9031:1;9028;9021:12;8983:52;9070:9;9057:23;9089:31;9114:5;9089:31;:::i;:::-;9139:5;-1:-1:-1;9196:2:1;9181:18;;9168:32;9238:15;;9231:23;9219:36;;9209:64;;9269:1;9266;9259:12;9209:64;9292:7;9282:17;;;8889:416;;;;;:::o;9310:666::-;9405:6;9413;9421;9429;9482:3;9470:9;9461:7;9457:23;9453:33;9450:53;;;9499:1;9496;9489:12;9450:53;9538:9;9525:23;9557:31;9582:5;9557:31;:::i;:::-;9607:5;-1:-1:-1;9664:2:1;9649:18;;9636:32;9677:33;9636:32;9677:33;:::i;:::-;9729:7;-1:-1:-1;9783:2:1;9768:18;;9755:32;;-1:-1:-1;9838:2:1;9823:18;;9810:32;-1:-1:-1;;;;;9854:30:1;;9851:50;;;9897:1;9894;9887:12;9851:50;9920;9962:7;9953:6;9942:9;9938:22;9920:50;:::i;:::-;9910:60;;;9310:666;;;;;;;:::o;10656:388::-;10724:6;10732;10785:2;10773:9;10764:7;10760:23;10756:32;10753:52;;;10801:1;10798;10791:12;10753:52;10840:9;10827:23;10859:31;10884:5;10859:31;:::i;:::-;10909:5;-1:-1:-1;10966:2:1;10951:18;;10938:32;10979:33;10938:32;10979:33;:::i;11049:184::-;11107:6;11160:2;11148:9;11139:7;11135:23;11131:32;11128:52;;;11176:1;11173;11166:12;11128:52;11199:28;11217:9;11199:28;:::i;11572:380::-;11651:1;11647:12;;;;11694;;;11715:61;;11769:4;11761:6;11757:17;11747:27;;11715:61;11822:2;11814:6;11811:14;11791:18;11788:38;11785:161;;11868:10;11863:3;11859:20;11856:1;11849:31;11903:4;11900:1;11893:15;11931:4;11928:1;11921:15;11785:161;;11572:380;;;:::o;12371:342::-;12573:2;12555:21;;;12612:2;12592:18;;;12585:30;-1:-1:-1;;;12646:2:1;12631:18;;12624:48;12704:2;12689:18;;12371:342::o;12718:127::-;12779:10;12774:3;12770:20;12767:1;12760:31;12810:4;12807:1;12800:15;12834:4;12831:1;12824:15;12850:125;12890:4;12918:1;12915;12912:8;12909:34;;;12923:18;;:::i;:::-;-1:-1:-1;12960:9:1;;12850:125::o;12980:399::-;13182:2;13164:21;;;13221:2;13201:18;;;13194:30;13260:34;13255:2;13240:18;;13233:62;-1:-1:-1;;;13326:2:1;13311:18;;13304:33;13369:3;13354:19;;12980:399::o;13384:404::-;13586:2;13568:21;;;13625:2;13605:18;;;13598:30;13664:34;13659:2;13644:18;;13637:62;-1:-1:-1;;;13730:2:1;13715:18;;13708:38;13778:3;13763:19;;13384:404::o;14679:545::-;14781:2;14776:3;14773:11;14770:448;;;14817:1;14842:5;14838:2;14831:17;14887:4;14883:2;14873:19;14957:2;14945:10;14941:19;14938:1;14934:27;14928:4;14924:38;14993:4;14981:10;14978:20;14975:47;;;-1:-1:-1;15016:4:1;14975:47;15071:2;15066:3;15062:12;15059:1;15055:20;15049:4;15045:31;15035:41;;15126:82;15144:2;15137:5;15134:13;15126:82;;;15189:17;;;15170:1;15159:13;15126:82;;15400:1352;15526:3;15520:10;-1:-1:-1;;;;;15545:6:1;15542:30;15539:56;;;15575:18;;:::i;:::-;15604:97;15694:6;15654:38;15686:4;15680:11;15654:38;:::i;:::-;15648:4;15604:97;:::i;:::-;15756:4;;15820:2;15809:14;;15837:1;15832:663;;;;16539:1;16556:6;16553:89;;;-1:-1:-1;16608:19:1;;;16602:26;16553:89;-1:-1:-1;;15357:1:1;15353:11;;;15349:24;15345:29;15335:40;15381:1;15377:11;;;15332:57;16655:81;;15802:944;;15832:663;14626:1;14619:14;;;14663:4;14650:18;;-1:-1:-1;;15868:20:1;;;15986:236;16000:7;15997:1;15994:14;15986:236;;;16089:19;;;16083:26;16068:42;;16181:27;;;;16149:1;16137:14;;;;16016:19;;15986:236;;;15990:3;16250:6;16241:7;16238:19;16235:201;;;16311:19;;;16305:26;-1:-1:-1;;16394:1:1;16390:14;;;16406:3;16386:24;16382:37;16378:42;16363:58;16348:74;;16235:201;-1:-1:-1;;;;;16482:1:1;16466:14;;;16462:22;16449:36;;-1:-1:-1;15400:1352:1:o;16757:276::-;16888:3;16926:6;16920:13;16942:53;16988:6;16983:3;16976:4;16968:6;16964:17;16942:53;:::i;:::-;17011:16;;;;;16757:276;-1:-1:-1;;16757:276:1:o;18471:402::-;18673:2;18655:21;;;18712:2;18692:18;;;18685:30;18751:34;18746:2;18731:18;;18724:62;-1:-1:-1;;;18817:2:1;18802:18;;18795:36;18863:3;18848:19;;18471:402::o;19282:128::-;19322:3;19353:1;19349:6;19346:1;19343:13;19340:39;;;19359:18;;:::i;:::-;-1:-1:-1;19395:9:1;;19282:128::o;19415:397::-;19617:2;19599:21;;;19656:2;19636:18;;;19629:30;19695:34;19690:2;19675:18;;19668:62;-1:-1:-1;;;19761:2:1;19746:18;;19739:31;19802:3;19787:19;;19415:397::o;19817:127::-;19878:10;19873:3;19869:20;19866:1;19859:31;19909:4;19906:1;19899:15;19933:4;19930:1;19923:15;20143:251;20213:6;20266:2;20254:9;20245:7;20241:23;20237:32;20234:52;;;20282:1;20279;20272:12;20234:52;20314:9;20308:16;20333:31;20358:5;20333:31;:::i;21162:175::-;21199:3;21243:4;21236:5;21232:16;21272:4;21263:7;21260:17;21257:43;;21280:18;;:::i;:::-;21329:1;21316:15;;21162:175;-1:-1:-1;;21162:175:1:o;21342:432::-;21441:6;21436:3;21429:19;21411:3;21467:4;21496:2;21491:3;21487:12;21480:19;;21522:5;21545:1;21555:194;21569:6;21566:1;21563:13;21555:194;;;21661:6;21634:25;21652:6;21634:25;:::i;:::-;21630:38;21618:51;;21689:12;;;;21724:15;;;;21591:1;21584:9;21555:194;;;-1:-1:-1;21765:3:1;;21342:432;-1:-1:-1;;;;;21342:432:1:o;21779:755::-;-1:-1:-1;;;;;22136:32:1;;22118:51;;22156:3;22200:2;22185:18;;22178:31;;;-1:-1:-1;;22232:73:1;;22285:19;;22277:6;22269;22232:73;:::i;:::-;22353:9;22345:6;22341:22;22336:2;22325:9;22321:18;22314:50;22381:60;22434:6;22426;22418;22381:60;:::i;:::-;22472:2;22457:18;;22450:34;;;;-1:-1:-1;;22515:3:1;22500:19;22493:35;22373:68;21779:755;-1:-1:-1;;;;;21779:755:1:o;23248:356::-;23463:2;23452:9;23445:21;23426:4;23483:72;23551:2;23540:9;23536:18;23528:6;23520;23483:72;:::i;:::-;23475:80;;23591:6;23586:2;23575:9;23571:18;23564:34;23248:356;;;;;;:::o;24012:135::-;24051:3;24072:17;;;24069:43;;24092:18;;:::i;:::-;-1:-1:-1;24139:1:1;24128:13;;24012:135::o;24567:842::-;24695:3;24724:1;24757:6;24751:13;24787:36;24813:9;24787:36;:::i;:::-;24842:1;24859:18;;;24886:133;;;;25033:1;25028:356;;;;24852:532;;24886:133;-1:-1:-1;;24919:24:1;;24907:37;;24992:14;;24985:22;24973:35;;24964:45;;;-1:-1:-1;24886:133:1;;25028:356;25059:6;25056:1;25049:17;25089:4;25134:2;25131:1;25121:16;25159:1;25173:165;25187:6;25184:1;25181:13;25173:165;;;25265:14;;25252:11;;;25245:35;25308:16;;;;25202:10;;25173:165;;;25177:3;;;25367:6;25362:3;25358:16;25351:23;;24852:532;-1:-1:-1;25400:3:1;;24567:842;-1:-1:-1;;;;;;24567:842:1:o;25677:197::-;25715:3;25743:6;25784:2;25777:5;25773:14;25811:2;25802:7;25799:15;25796:41;;25817:18;;:::i;:::-;25866:1;25853:15;;25677:197;-1:-1:-1;;;25677:197:1:o;27401:637::-;27681:3;27719:6;27713:13;27735:53;27781:6;27776:3;27769:4;27761:6;27757:17;27735:53;:::i;:::-;27851:13;;27810:16;;;;27873:57;27851:13;27810:16;27907:4;27895:17;;27873:57;:::i;:::-;-1:-1:-1;;;27952:20:1;;27981:22;;;28030:1;28019:13;;27401:637;-1:-1:-1;;;;27401:637:1:o;28395:217::-;28434:4;28463:6;28519:10;;;;28489;;28541:12;;;28538:38;;;28556:18;;:::i;:::-;28593:13;;28395:217;-1:-1:-1;;;28395:217:1:o;31043:136::-;31082:3;31110:5;31100:39;;31119:18;;:::i;:::-;-1:-1:-1;;;31155:18:1;;31043:136::o;31600:415::-;31802:2;31784:21;;;31841:2;31821:18;;;31814:30;31880:34;31875:2;31860:18;;31853:62;-1:-1:-1;;;31946:2:1;31931:18;;31924:49;32005:3;31990:19;;31600:415::o;32020:127::-;32081:10;32076:3;32072:20;32069:1;32062:31;32112:4;32109:1;32102:15;32136:4;32133:1;32126:15;32152:120;32192:1;32218;32208:35;;32223:18;;:::i;:::-;-1:-1:-1;32257:9:1;;32152:120::o;32277:112::-;32309:1;32335;32325:35;;32340:18;;:::i;:::-;-1:-1:-1;32374:9:1;;32277:112::o;33557:253::-;33597:3;-1:-1:-1;;;;;33686:2:1;33683:1;33679:10;33716:2;33713:1;33709:10;33747:3;33743:2;33739:12;33734:3;33731:21;33728:47;;;33755:18;;:::i;:::-;33791:13;;33557:253;-1:-1:-1;;;;33557:253:1:o;35047:246::-;35087:4;-1:-1:-1;;;;;35200:10:1;;;;35170;;35222:12;;;35219:38;;;35237:18;;:::i;35298:489::-;-1:-1:-1;;;;;35567:15:1;;;35549:34;;35619:15;;35614:2;35599:18;;35592:43;35666:2;35651:18;;35644:34;;;35714:3;35709:2;35694:18;;35687:31;;;35492:4;;35735:46;;35761:19;;35753:6;35735:46;:::i;:::-;35727:54;35298:489;-1:-1:-1;;;;;;35298:489:1:o;35792:249::-;35861:6;35914:2;35902:9;35893:7;35889:23;35885:32;35882:52;;;35930:1;35927;35920:12;35882:52;35962:9;35956:16;35981:30;36005:5;35981:30;:::i

Swarm Source

ipfs://3b6e2405f6398d559e00e450616a5fbbcbbf01cd3ce1b7b85e9d6c0bab3a217f
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.