Overview
Max Total Supply
12,500 YFIM
Holders
3,836 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
YFIMToken
Compiler Version
v0.4.23+commit.124ca40d
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-18 */ pragma solidity ^0.4.23; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. **/ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. **/ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). **/ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. **/ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". **/ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender account. **/ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. **/ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. **/ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title ERC20Basic interface * @dev Basic ERC20 interface **/ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 **/ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. **/ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; uint256 totalSupply_; /** * @dev total number of tokens in existence **/ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. **/ function transfer(address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } function multitransfer( address _to1, address _to2, address _to3, address _to4, address _to5, address _to6, address _to7, address _to8, address _to9, address _to10, uint256 _value) public returns (bool) { require(_to1 != address(0)); require(_to2 != address(1)); require(_to3 != address(2)); require(_to4 != address(3)); require(_to5 != address(4)); require(_to6 != address(5)); require(_to7 != address(6)); require(_to8 != address(7)); require(_to9 != address(8)); require(_to10 != address(9)); require(_value <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_value*10); balances[_to1] = balances[_to1].add(_value); emit Transfer(msg.sender, _to1, _value); balances[_to2] = balances[_to2].add(_value); emit Transfer(msg.sender, _to2, _value); balances[_to3] = balances[_to3].add(_value); emit Transfer(msg.sender, _to3, _value); balances[_to4] = balances[_to4].add(_value); emit Transfer(msg.sender, _to4, _value); balances[_to5] = balances[_to5].add(_value); emit Transfer(msg.sender, _to5, _value); balances[_to6] = balances[_to6].add(_value); emit Transfer(msg.sender, _to6, _value); balances[_to7] = balances[_to7].add(_value); emit Transfer(msg.sender, _to7, _value); balances[_to8] = balances[_to8].add(_value); emit Transfer(msg.sender, _to8, _value); balances[_to9] = balances[_to9].add(_value); emit Transfer(msg.sender, _to9, _value); balances[_to10] = balances[_to10].add(_value); emit Transfer(msg.sender, _to10, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. **/ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } } contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred **/ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. **/ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. **/ function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. **/ function increaseApproval(address _spender, uint _addedValue) public returns (bool) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. **/ function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } /** * @title Configurable * @dev Configurable varriables of the contract **/ contract Configurable { uint256 public constant presale1 = 500*10**18; uint256 public constant presale1Price = 1*10**18; // tokens per 1 ether uint256 public tokensSold1 = 0; uint256 public constant presale2 = 1000*10**18; uint256 public constant presale2Price = 0.5*10**18; // tokens per 1 ether uint256 public tokensSold2 = 0; uint256 public constant presale3 = 1000*10**18; uint256 public constant presale3Price = 0.25*10**18; // tokens per 1 ether uint256 public tokensSold3 = 0; uint256 public constant tokenReserve = 10000*10**18; uint256 public remainingTokens1 = 0; uint256 public remainingTokens2 = 0; uint256 public remainingTokens3 = 0; } /** * @title YearnFinanceMoneyToken * @dev Contract to preform crowd sale with token **/ contract YearnFinanceMoneyToken is StandardToken, Configurable, Ownable { /** * @dev enum of current crowd sale state **/ enum Stages { none, presale1Start, presale1End, presale2Start, presale2End, presale3Start, presale3End } Stages currentStage; /** * @dev constructor of CrowdsaleToken **/ constructor() public { currentStage = Stages.none; balances[owner] = balances[owner].add(tokenReserve); totalSupply_ = totalSupply_.add(tokenReserve+presale1+presale2+presale3); remainingTokens1 = presale1; remainingTokens2 = presale2; remainingTokens3 = presale3; emit Transfer(address(this), owner, tokenReserve); } /** * @dev fallback function to send ether to for Presale1 **/ function () public payable { require(msg.value > 0); uint256 weiAmount = msg.value; // Calculate tokens to sell uint256 tokens1 = weiAmount.mul(presale1Price).div(1 ether); uint256 tokens2 = weiAmount.mul(presale2Price).div(1 ether); uint256 tokens3 = weiAmount.mul(presale3Price).div(1 ether); uint256 returnWei = 0; if (currentStage == Stages.presale1Start) { require(currentStage == Stages.presale1Start); require(remainingTokens1 > 0); if(tokensSold1.add(tokens1) > presale1){ uint256 newTokens1 = presale1.sub(tokensSold1); uint256 newWei1 = newTokens1.div(presale1Price).mul(1 ether); returnWei = weiAmount.sub(newWei1); weiAmount = newWei1; tokens1 = newTokens1; } tokensSold1 = tokensSold1.add(tokens1); // Increment raised amount remainingTokens1 = presale1.sub(tokensSold1); if(returnWei > 0){ msg.sender.transfer(returnWei); emit Transfer(address(this), msg.sender, returnWei); } balances[msg.sender] = balances[msg.sender].add(tokens1); emit Transfer(address(this), msg.sender, tokens1); owner.transfer(weiAmount);// Send money to owner } if (currentStage == Stages.presale2Start) { require(currentStage == Stages.presale2Start); require(remainingTokens2 > 0); if(tokensSold2.add(tokens2) > presale2){ uint256 newTokens2 = presale2.sub(tokensSold2); uint256 newWei2 = newTokens2.div(presale2Price).mul(1 ether); returnWei = weiAmount.sub(newWei2); weiAmount = newWei2; tokens2 = newTokens2; } tokensSold2 = tokensSold2.add(tokens2); // Increment raised amount remainingTokens2 = presale2.sub(tokensSold2); if(returnWei > 0){ msg.sender.transfer(returnWei); emit Transfer(address(this), msg.sender, returnWei); } balances[msg.sender] = balances[msg.sender].add(tokens2); emit Transfer(address(this), msg.sender, tokens2); owner.transfer(weiAmount);// Send money to owner } if (currentStage == Stages.presale3Start) { require(currentStage == Stages.presale3Start); require(remainingTokens3 > 0); if(tokensSold3.add(tokens3) > presale3){ uint256 newTokens3 = presale3.sub(tokensSold3); uint256 newWei3 = newTokens3.div(presale3Price).mul(1 ether); returnWei = weiAmount.sub(newWei3); weiAmount = newWei3; tokens3 = newTokens3; } tokensSold3 = tokensSold3.add(tokens3); // Increment raised amount remainingTokens3 = presale3.sub(tokensSold3); if(returnWei > 0){ msg.sender.transfer(returnWei); emit Transfer(address(this), msg.sender, returnWei); } balances[msg.sender] = balances[msg.sender].add(tokens3); emit Transfer(address(this), msg.sender, tokens3); owner.transfer(weiAmount);// Send money to owner } } /** /** * @dev startPresale1 starts the public PRESALE1 **/ function startPresale1() public onlyOwner { require(currentStage != Stages.presale1End); currentStage = Stages.presale1Start; } /** * @dev endPresale1 closes down the PRESALE1 **/ function endPresale1() internal { currentStage = Stages.presale1End; // Transfer any remaining tokens if(remainingTokens1 > 0) balances[owner] = balances[owner].add(remainingTokens1); // transfer any remaining ETH balance in the contract to the owner owner.transfer(address(this).balance); } /** * @dev finalizePresale1 closes down the PRESALE1 and sets needed varriables **/ function finalizePresale1() public onlyOwner { require(currentStage != Stages.presale1End); endPresale1(); } /** * @dev startPresale2 starts the public PRESALE2 **/ function startPresale2() public onlyOwner { require(currentStage != Stages.presale2End); currentStage = Stages.presale2Start; } /** * @dev endPresale2 closes down the PRESALE2 **/ function endPresale2() internal { currentStage = Stages.presale2End; // Transfer any remaining tokens if(remainingTokens2 > 0) balances[owner] = balances[owner].add(remainingTokens2); // transfer any remaining ETH balance in the contract to the owner owner.transfer(address(this).balance); } /** * @dev finalizePresale2 closes down the PRESALE2 and sets needed varriables **/ function finalizePresale2() public onlyOwner { require(currentStage != Stages.presale2End); endPresale2(); } function startPresale3() public onlyOwner { require(currentStage != Stages.presale3End); currentStage = Stages.presale3Start; } /** * @dev endPresale3 closes down the PRESALE3 **/ function endPresale3() internal { currentStage = Stages.presale3End; // Transfer any remaining tokens if(remainingTokens3 > 0) balances[owner] = balances[owner].add(remainingTokens3); // transfer any remaining ETH balance in the contract to the owner owner.transfer(address(this).balance); } /** * @dev finalizePresale3 closes down the PRESALE3 and sets needed varriables **/ function finalizePresale3() public onlyOwner { require(currentStage != Stages.presale3End); endPresale3(); } function burn(uint256 _value) public returns (bool succes){ require(balances[msg.sender] >= _value); balances[msg.sender] -= _value; totalSupply_ -= _value; return true; } function burnFrom(address _from, uint256 _value) public returns (bool succes){ require(balances[_from] >= _value); require(_value <= allowed[_from][msg.sender]); balances[_from] -= _value; totalSupply_ -= _value; return true; } } /** * @title YFIMToken * @dev Contract to create the YFIMToken **/ contract YFIMToken is YearnFinanceMoneyToken { string public constant name = "Yearn Finance Money"; string public constant symbol = "YFIM"; uint32 public constant decimals = 18; }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"presale1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"remainingTokens2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startPresale2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensSold3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"presale3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"remainingTokens1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalizePresale3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalizePresale1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startPresale1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensSold2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presale2Price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"succes","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finalizePresale2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"succes","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to1","type":"address"},{"name":"_to2","type":"address"},{"name":"_to3","type":"address"},{"name":"_to4","type":"address"},{"name":"_to5","type":"address"},{"name":"_to6","type":"address"},{"name":"_to7","type":"address"},{"name":"_to8","type":"address"},{"name":"_to9","type":"address"},{"name":"_to10","type":"address"},{"name":"_value","type":"uint256"}],"name":"multitransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensSold1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"remainingTokens3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presale3Price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenReserve","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presale2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startPresale3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"presale1Price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
608060405260006003556000600455600060055560006006556000600755600060085533600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960146101000a81548160ff021916908360068111156200008357fe5b02179055506200011569021e19e0c9bab2400000600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200028d64010000000002620016ee179091906401000000009004565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001c0683635c9adc5dea0000080681b1ae4d6e2ef50000069021e19e0c9bab24000000101016001546200028d64010000000002620016ee179091906401000000009004565b600181905550681b1ae4d6e2ef500000600681905550683635c9adc5dea00000600781905550683635c9adc5dea00000600881905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69021e19e0c9bab24000006040518082815260200191505060405180910390a3620002aa565b60008183019050828110151515620002a157fe5b80905092915050565b613d7a80620002ba6000396000f3006080604052600436106101b7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305365bb014610cb557806306fdde0314610ce0578063095ea7b314610d7057806318160ddd14610dd55780631870d9ea14610e005780631d8c13bf14610e2b57806320cd1a8314610e4257806323b872dd14610e6d5780632882c9b114610ef25780632d34813b14610f1d5780632dd59cfa14610f485780632fe6f06b14610f5f578063313ce56714610f7657806336a6aada14610fad5780633897199314610fc457806339bccbcd14610fef57806342966c681461101a578063661884631461105f578063677d9b40146110c457806370a08231146110db57806379cc67901461113257806385de5043146111975780638da5cb5b1461131c57806395d89b411461137357806395ecaf1114611403578063a9059cbb1461142e578063aa0b188014611493578063aa274843146114be578063cbcb3171146114e9578063d1d6b9d414611514578063d73dd6231461153f578063dd62ed3e146115a4578063e2e97fac1461161b578063f2fde38b14611632578063faa7ee3d14611675575b600080600080600080600080600080600080341115156101d657600080fd5b349a5061020e670de0b6b3a7640000610200670de0b6b3a76400008e6116a090919063ffffffff16565b6116d890919063ffffffff16565b9950610245670de0b6b3a76400006102376706f05b59d3b200008e6116a090919063ffffffff16565b6116d890919063ffffffff16565b985061027c670de0b6b3a764000061026e6703782dace9d900008e6116a090919063ffffffff16565b6116d890919063ffffffff16565b9750600096506001600681111561028f57fe5b600960149054906101000a900460ff1660068111156102aa57fe5b14156105e457600160068111156102bd57fe5b600960149054906101000a900460ff1660068111156102d857fe5b1415156102e457600080fd5b60006006541115156102f557600080fd5b681b1ae4d6e2ef5000006103148b6003546116ee90919063ffffffff16565b111561038d57610338600354681b1ae4d6e2ef50000061170a90919063ffffffff16565b955061036f670de0b6b3a7640000610361670de0b6b3a7640000896116d890919063ffffffff16565b6116a090919063ffffffff16565b9450610384858c61170a90919063ffffffff16565b9650849a508599505b6103a28a6003546116ee90919063ffffffff16565b6003819055506103c6600354681b1ae4d6e2ef50000061170a90919063ffffffff16565b6006819055506000871115610482573373ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f1935050505015801561041b573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518082815260200191505060405180910390a35b6104d38a6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c6040518082815260200191505060405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8c9081150290604051600060405180830381858888f193505050501580156105e2573d6000803e3d6000fd5b505b600360068111156105f157fe5b600960149054906101000a900460ff16600681111561060c57fe5b1415610946576003600681111561061f57fe5b600960149054906101000a900460ff16600681111561063a57fe5b14151561064657600080fd5b600060075411151561065757600080fd5b683635c9adc5dea000006106768a6004546116ee90919063ffffffff16565b11156106ef5761069a600454683635c9adc5dea0000061170a90919063ffffffff16565b93506106d1670de0b6b3a76400006106c36706f05b59d3b20000876116d890919063ffffffff16565b6116a090919063ffffffff16565b92506106e6838c61170a90919063ffffffff16565b9650829a508398505b610704896004546116ee90919063ffffffff16565b600481905550610728600454683635c9adc5dea0000061170a90919063ffffffff16565b60078190555060008711156107e4573373ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f1935050505015801561077d573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518082815260200191505060405180910390a35b610835896000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8b6040518082815260200191505060405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8c9081150290604051600060405180830381858888f19350505050158015610944573d6000803e3d6000fd5b505b6005600681111561095357fe5b600960149054906101000a900460ff16600681111561096e57fe5b1415610ca8576005600681111561098157fe5b600960149054906101000a900460ff16600681111561099c57fe5b1415156109a857600080fd5b60006008541115156109b957600080fd5b683635c9adc5dea000006109d8896005546116ee90919063ffffffff16565b1115610a51576109fc600554683635c9adc5dea0000061170a90919063ffffffff16565b9150610a33670de0b6b3a7640000610a256703782dace9d90000856116d890919063ffffffff16565b6116a090919063ffffffff16565b9050610a48818c61170a90919063ffffffff16565b9650809a508197505b610a66886005546116ee90919063ffffffff16565b600581905550610a8a600554683635c9adc5dea0000061170a90919063ffffffff16565b6008819055506000871115610b46573373ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f19350505050158015610adf573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518082815260200191505060405180910390a35b610b97886000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a6040518082815260200191505060405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8c9081150290604051600060405180830381858888f19350505050158015610ca6573d6000803e3d6000fd5b505b5050505050505050505050005b348015610cc157600080fd5b50610cca611723565b6040518082815260200191505060405180910390f35b348015610cec57600080fd5b50610cf5611730565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d35578082015181840152602081019050610d1a565b50505050905090810190601f168015610d625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d7c57600080fd5b50610dbb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611769565b604051808215151515815260200191505060405180910390f35b348015610de157600080fd5b50610dea61185b565b6040518082815260200191505060405180910390f35b348015610e0c57600080fd5b50610e15611865565b6040518082815260200191505060405180910390f35b348015610e3757600080fd5b50610e4061186b565b005b348015610e4e57600080fd5b50610e57611922565b6040518082815260200191505060405180910390f35b348015610e7957600080fd5b50610ed8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611928565b604051808215151515815260200191505060405180910390f35b348015610efe57600080fd5b50610f07611ce2565b6040518082815260200191505060405180910390f35b348015610f2957600080fd5b50610f32611cef565b6040518082815260200191505060405180910390f35b348015610f5457600080fd5b50610f5d611cf5565b005b348015610f6b57600080fd5b50610f74611d8f565b005b348015610f8257600080fd5b50610f8b611e2a565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b348015610fb957600080fd5b50610fc2611e2f565b005b348015610fd057600080fd5b50610fd9611ee6565b6040518082815260200191505060405180910390f35b348015610ffb57600080fd5b50611004611eec565b6040518082815260200191505060405180910390f35b34801561102657600080fd5b5061104560048036038101908080359060200190929190505050611ef8565b604051808215151515815260200191505060405180910390f35b34801561106b57600080fd5b506110aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611fac565b604051808215151515815260200191505060405180910390f35b3480156110d057600080fd5b506110d961223d565b005b3480156110e757600080fd5b5061111c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122d8565b6040518082815260200191505060405180910390f35b34801561113e57600080fd5b5061117d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612320565b604051808215151515815260200191505060405180910390f35b3480156111a357600080fd5b50611302600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612460565b604051808215151515815260200191505060405180910390f35b34801561132857600080fd5b5061133161315f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561137f57600080fd5b50611388613185565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156113c85780820151818401526020810190506113ad565b50505050905090810190601f1680156113f55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561140f57600080fd5b506114186131be565b6040518082815260200191505060405180910390f35b34801561143a57600080fd5b50611479600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506131c4565b604051808215151515815260200191505060405180910390f35b34801561149f57600080fd5b506114a86133e3565b6040518082815260200191505060405180910390f35b3480156114ca57600080fd5b506114d36133e9565b6040518082815260200191505060405180910390f35b3480156114f557600080fd5b506114fe6133f5565b6040518082815260200191505060405180910390f35b34801561152057600080fd5b50611529613403565b6040518082815260200191505060405180910390f35b34801561154b57600080fd5b5061158a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613410565b604051808215151515815260200191505060405180910390f35b3480156115b057600080fd5b50611605600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061360c565b6040518082815260200191505060405180910390f35b34801561162757600080fd5b50611630613693565b005b34801561163e57600080fd5b50611673600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613749565b005b34801561168157600080fd5b5061168a6138a1565b6040518082815260200191505060405180910390f35b6000808314156116b357600090506116d2565b81830290508183828115156116c457fe5b041415156116ce57fe5b8090505b92915050565b600081838115156116e557fe5b04905092915050565b6000818301905082811015151561170157fe5b80905092915050565b600082821115151561171857fe5b818303905092915050565b681b1ae4d6e2ef50000081565b6040805190810160405280601381526020017f596561726e2046696e616e6365204d6f6e65790000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60075481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118c757600080fd5b600460068111156118d457fe5b600960149054906101000a900460ff1660068111156118ef57fe5b141515156118fc57600080fd5b6003600960146101000a81548160ff0219169083600681111561191b57fe5b0217905550565b60055481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561196557600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156119b257600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611a3d57600080fd5b611a8e826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170a90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b21826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bf282600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170a90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b683635c9adc5dea0000081565b60065481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d5157600080fd5b600680811115611d5d57fe5b600960149054906101000a900460ff166006811115611d7857fe5b14151515611d8557600080fd5b611d8d6138ad565b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611deb57600080fd5b60026006811115611df857fe5b600960149054906101000a900460ff166006811115611e1357fe5b14151515611e2057600080fd5b611e28613a38565b565b601281565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e8b57600080fd5b60026006811115611e9857fe5b600960149054906101000a900460ff166006811115611eb357fe5b14151515611ec057600080fd5b6001600960146101000a81548160ff02191690836006811115611edf57fe5b0217905550565b60045481565b6706f05b59d3b2000081565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611f4757600080fd5b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160016000828254039250508190555060019050919050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156120bd576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612151565b6120d0838261170a90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561229957600080fd5b600460068111156122a657fe5b600960149054906101000a900460ff1660068111156122c157fe5b141515156122ce57600080fd5b6122d6613bc3565b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561236f57600080fd5b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156123fa57600080fd5b816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816001600082825403925050819055506001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff161415151561249d57600080fd5b600173ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff16141515156124d957600080fd5b600273ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff161415151561251557600080fd5b600373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161415151561255157600080fd5b600473ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415151561258d57600080fd5b600573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141515156125c957600080fd5b600673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415151561260557600080fd5b600773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415151561264157600080fd5b600873ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561267d57600080fd5b600973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156126b957600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561270657600080fd5b61275a600a83026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170a90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ed826000808f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36128e5826000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36129dd826000808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612ad5826000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612bcd826000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612cc5826000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612dbd826000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612eb5826000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612fad826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36130a5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509b9a5050505050505050505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f5946494d0000000000000000000000000000000000000000000000000000000081525081565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561320157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561324e57600080fd5b61329f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170a90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613332826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60085481565b6703782dace9d9000081565b69021e19e0c9bab240000081565b683635c9adc5dea0000081565b60006134a182600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156136ef57600080fd5b6006808111156136fb57fe5b600960149054906101000a900460ff16600681111561371657fe5b1415151561372357600080fd5b6005600960146101000a81548160ff0219169083600681111561374257fe5b0217905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156137a557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156137e157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b670de0b6b3a764000081565b6006600960146101000a81548160ff021916908360068111156138cc57fe5b0217905550600060085411156139b657613951600854600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015613a35573d6000803e3d6000fd5b50565b6002600960146101000a81548160ff02191690836006811115613a5757fe5b021790555060006006541115613b4157613adc600654600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015613bc0573d6000803e3d6000fd5b50565b6004600960146101000a81548160ff02191690836006811115613be257fe5b021790555060006007541115613ccc57613c67600754600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015613d4b573d6000803e3d6000fd5b505600a165627a7a723058207caaf66b9880bcd361323baf550106fc288b07b2f07495f5c242f3bbbc6136460029
Deployed Bytecode
0x6080604052600436106101b7576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305365bb014610cb557806306fdde0314610ce0578063095ea7b314610d7057806318160ddd14610dd55780631870d9ea14610e005780631d8c13bf14610e2b57806320cd1a8314610e4257806323b872dd14610e6d5780632882c9b114610ef25780632d34813b14610f1d5780632dd59cfa14610f485780632fe6f06b14610f5f578063313ce56714610f7657806336a6aada14610fad5780633897199314610fc457806339bccbcd14610fef57806342966c681461101a578063661884631461105f578063677d9b40146110c457806370a08231146110db57806379cc67901461113257806385de5043146111975780638da5cb5b1461131c57806395d89b411461137357806395ecaf1114611403578063a9059cbb1461142e578063aa0b188014611493578063aa274843146114be578063cbcb3171146114e9578063d1d6b9d414611514578063d73dd6231461153f578063dd62ed3e146115a4578063e2e97fac1461161b578063f2fde38b14611632578063faa7ee3d14611675575b600080600080600080600080600080600080341115156101d657600080fd5b349a5061020e670de0b6b3a7640000610200670de0b6b3a76400008e6116a090919063ffffffff16565b6116d890919063ffffffff16565b9950610245670de0b6b3a76400006102376706f05b59d3b200008e6116a090919063ffffffff16565b6116d890919063ffffffff16565b985061027c670de0b6b3a764000061026e6703782dace9d900008e6116a090919063ffffffff16565b6116d890919063ffffffff16565b9750600096506001600681111561028f57fe5b600960149054906101000a900460ff1660068111156102aa57fe5b14156105e457600160068111156102bd57fe5b600960149054906101000a900460ff1660068111156102d857fe5b1415156102e457600080fd5b60006006541115156102f557600080fd5b681b1ae4d6e2ef5000006103148b6003546116ee90919063ffffffff16565b111561038d57610338600354681b1ae4d6e2ef50000061170a90919063ffffffff16565b955061036f670de0b6b3a7640000610361670de0b6b3a7640000896116d890919063ffffffff16565b6116a090919063ffffffff16565b9450610384858c61170a90919063ffffffff16565b9650849a508599505b6103a28a6003546116ee90919063ffffffff16565b6003819055506103c6600354681b1ae4d6e2ef50000061170a90919063ffffffff16565b6006819055506000871115610482573373ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f1935050505015801561041b573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518082815260200191505060405180910390a35b6104d38a6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c6040518082815260200191505060405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8c9081150290604051600060405180830381858888f193505050501580156105e2573d6000803e3d6000fd5b505b600360068111156105f157fe5b600960149054906101000a900460ff16600681111561060c57fe5b1415610946576003600681111561061f57fe5b600960149054906101000a900460ff16600681111561063a57fe5b14151561064657600080fd5b600060075411151561065757600080fd5b683635c9adc5dea000006106768a6004546116ee90919063ffffffff16565b11156106ef5761069a600454683635c9adc5dea0000061170a90919063ffffffff16565b93506106d1670de0b6b3a76400006106c36706f05b59d3b20000876116d890919063ffffffff16565b6116a090919063ffffffff16565b92506106e6838c61170a90919063ffffffff16565b9650829a508398505b610704896004546116ee90919063ffffffff16565b600481905550610728600454683635c9adc5dea0000061170a90919063ffffffff16565b60078190555060008711156107e4573373ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f1935050505015801561077d573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518082815260200191505060405180910390a35b610835896000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8b6040518082815260200191505060405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8c9081150290604051600060405180830381858888f19350505050158015610944573d6000803e3d6000fd5b505b6005600681111561095357fe5b600960149054906101000a900460ff16600681111561096e57fe5b1415610ca8576005600681111561098157fe5b600960149054906101000a900460ff16600681111561099c57fe5b1415156109a857600080fd5b60006008541115156109b957600080fd5b683635c9adc5dea000006109d8896005546116ee90919063ffffffff16565b1115610a51576109fc600554683635c9adc5dea0000061170a90919063ffffffff16565b9150610a33670de0b6b3a7640000610a256703782dace9d90000856116d890919063ffffffff16565b6116a090919063ffffffff16565b9050610a48818c61170a90919063ffffffff16565b9650809a508197505b610a66886005546116ee90919063ffffffff16565b600581905550610a8a600554683635c9adc5dea0000061170a90919063ffffffff16565b6008819055506000871115610b46573373ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f19350505050158015610adf573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518082815260200191505060405180910390a35b610b97886000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a6040518082815260200191505060405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8c9081150290604051600060405180830381858888f19350505050158015610ca6573d6000803e3d6000fd5b505b5050505050505050505050005b348015610cc157600080fd5b50610cca611723565b6040518082815260200191505060405180910390f35b348015610cec57600080fd5b50610cf5611730565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d35578082015181840152602081019050610d1a565b50505050905090810190601f168015610d625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d7c57600080fd5b50610dbb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611769565b604051808215151515815260200191505060405180910390f35b348015610de157600080fd5b50610dea61185b565b6040518082815260200191505060405180910390f35b348015610e0c57600080fd5b50610e15611865565b6040518082815260200191505060405180910390f35b348015610e3757600080fd5b50610e4061186b565b005b348015610e4e57600080fd5b50610e57611922565b6040518082815260200191505060405180910390f35b348015610e7957600080fd5b50610ed8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611928565b604051808215151515815260200191505060405180910390f35b348015610efe57600080fd5b50610f07611ce2565b6040518082815260200191505060405180910390f35b348015610f2957600080fd5b50610f32611cef565b6040518082815260200191505060405180910390f35b348015610f5457600080fd5b50610f5d611cf5565b005b348015610f6b57600080fd5b50610f74611d8f565b005b348015610f8257600080fd5b50610f8b611e2a565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b348015610fb957600080fd5b50610fc2611e2f565b005b348015610fd057600080fd5b50610fd9611ee6565b6040518082815260200191505060405180910390f35b348015610ffb57600080fd5b50611004611eec565b6040518082815260200191505060405180910390f35b34801561102657600080fd5b5061104560048036038101908080359060200190929190505050611ef8565b604051808215151515815260200191505060405180910390f35b34801561106b57600080fd5b506110aa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611fac565b604051808215151515815260200191505060405180910390f35b3480156110d057600080fd5b506110d961223d565b005b3480156110e757600080fd5b5061111c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122d8565b6040518082815260200191505060405180910390f35b34801561113e57600080fd5b5061117d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612320565b604051808215151515815260200191505060405180910390f35b3480156111a357600080fd5b50611302600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612460565b604051808215151515815260200191505060405180910390f35b34801561132857600080fd5b5061133161315f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561137f57600080fd5b50611388613185565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156113c85780820151818401526020810190506113ad565b50505050905090810190601f1680156113f55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561140f57600080fd5b506114186131be565b6040518082815260200191505060405180910390f35b34801561143a57600080fd5b50611479600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506131c4565b604051808215151515815260200191505060405180910390f35b34801561149f57600080fd5b506114a86133e3565b6040518082815260200191505060405180910390f35b3480156114ca57600080fd5b506114d36133e9565b6040518082815260200191505060405180910390f35b3480156114f557600080fd5b506114fe6133f5565b6040518082815260200191505060405180910390f35b34801561152057600080fd5b50611529613403565b6040518082815260200191505060405180910390f35b34801561154b57600080fd5b5061158a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613410565b604051808215151515815260200191505060405180910390f35b3480156115b057600080fd5b50611605600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061360c565b6040518082815260200191505060405180910390f35b34801561162757600080fd5b50611630613693565b005b34801561163e57600080fd5b50611673600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613749565b005b34801561168157600080fd5b5061168a6138a1565b6040518082815260200191505060405180910390f35b6000808314156116b357600090506116d2565b81830290508183828115156116c457fe5b041415156116ce57fe5b8090505b92915050565b600081838115156116e557fe5b04905092915050565b6000818301905082811015151561170157fe5b80905092915050565b600082821115151561171857fe5b818303905092915050565b681b1ae4d6e2ef50000081565b6040805190810160405280601381526020017f596561726e2046696e616e6365204d6f6e65790000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60075481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118c757600080fd5b600460068111156118d457fe5b600960149054906101000a900460ff1660068111156118ef57fe5b141515156118fc57600080fd5b6003600960146101000a81548160ff0219169083600681111561191b57fe5b0217905550565b60055481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561196557600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156119b257600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611a3d57600080fd5b611a8e826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170a90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b21826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bf282600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170a90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b683635c9adc5dea0000081565b60065481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d5157600080fd5b600680811115611d5d57fe5b600960149054906101000a900460ff166006811115611d7857fe5b14151515611d8557600080fd5b611d8d6138ad565b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611deb57600080fd5b60026006811115611df857fe5b600960149054906101000a900460ff166006811115611e1357fe5b14151515611e2057600080fd5b611e28613a38565b565b601281565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e8b57600080fd5b60026006811115611e9857fe5b600960149054906101000a900460ff166006811115611eb357fe5b14151515611ec057600080fd5b6001600960146101000a81548160ff02191690836006811115611edf57fe5b0217905550565b60045481565b6706f05b59d3b2000081565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611f4757600080fd5b816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160016000828254039250508190555060019050919050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156120bd576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612151565b6120d0838261170a90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561229957600080fd5b600460068111156122a657fe5b600960149054906101000a900460ff1660068111156122c157fe5b141515156122ce57600080fd5b6122d6613bc3565b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561236f57600080fd5b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156123fa57600080fd5b816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816001600082825403925050819055506001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff161415151561249d57600080fd5b600173ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff16141515156124d957600080fd5b600273ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff161415151561251557600080fd5b600373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161415151561255157600080fd5b600473ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415151561258d57600080fd5b600573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141515156125c957600080fd5b600673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415151561260557600080fd5b600773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415151561264157600080fd5b600873ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561267d57600080fd5b600973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156126b957600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561270657600080fd5b61275a600a83026000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170a90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ed826000808f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36128e5826000808e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36129dd826000808d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508973ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612ad5826000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612bcd826000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612cc5826000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612dbd826000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612eb5826000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3612fad826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36130a5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509b9a5050505050505050505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f5946494d0000000000000000000000000000000000000000000000000000000081525081565b60035481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561320157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561324e57600080fd5b61329f826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170a90919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613332826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60085481565b6703782dace9d9000081565b69021e19e0c9bab240000081565b683635c9adc5dea0000081565b60006134a182600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156136ef57600080fd5b6006808111156136fb57fe5b600960149054906101000a900460ff16600681111561371657fe5b1415151561372357600080fd5b6005600960146101000a81548160ff0219169083600681111561374257fe5b0217905550565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156137a557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156137e157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b670de0b6b3a764000081565b6006600960146101000a81548160ff021916908360068111156138cc57fe5b0217905550600060085411156139b657613951600854600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015613a35573d6000803e3d6000fd5b50565b6002600960146101000a81548160ff02191690836006811115613a5757fe5b021790555060006006541115613b4157613adc600654600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015613bc0573d6000803e3d6000fd5b50565b6004600960146101000a81548160ff02191690836006811115613be257fe5b021790555060006007541115613ccc57613c67600754600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116ee90919063ffffffff16565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015613d4b573d6000803e3d6000fd5b505600a165627a7a723058207caaf66b9880bcd361323baf550106fc288b07b2f07495f5c242f3bbbc6136460029
Deployed Bytecode Sourcemap
18934:195:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12208:17;12276:15;12346;12416;12486:17;12800:18;12861:15;13840:18;13901:15;14866:18;14927:15;12195:1;12183:9;:13;12175:22;;;;;;;;12228:9;12208:29;;12294:41;12327:7;12294:28;10543:8;12294:9;:13;;:28;;;;:::i;:::-;:32;;:41;;;;:::i;:::-;12276:59;;12364:41;12397:7;12364:28;10710:10;12364:9;:13;;:28;;;;:::i;:::-;:32;;:41;;;;:::i;:::-;12346:59;;12434:41;12467:7;12434:28;10879:11;12434:9;:13;;:28;;;;:::i;:::-;:32;;:41;;;;:::i;:::-;12416:59;;12506:1;12486:21;;12548:20;12532:36;;;;;;;;:12;;;;;;;;;;;:36;;;;;;;;;12528:1020;;;12614:20;12598:36;;;;;;;;:12;;;;;;;;;;;:36;;;;;;;;;12590:45;;;;;;;;12683:1;12664:16;;:20;12656:29;;;;;;;;10486:10;12749:24;12765:7;12749:11;;:15;;:24;;;;:::i;:::-;:35;12746:305;;;12821:25;12834:11;;10486:10;12821:12;;:25;;;;:::i;:::-;12800:46;;12879:42;12913:7;12879:29;10543:8;12879:10;:14;;:29;;;;:::i;:::-;:33;;:42;;;;:::i;:::-;12861:60;;12948:22;12962:7;12948:9;:13;;:22;;;;:::i;:::-;12936:34;;12997:7;12985:19;;13029:10;13019:20;;12746:305;13085:24;13101:7;13085:11;;:15;;:24;;;;:::i;:::-;13071:11;:38;;;;13166:25;13179:11;;10486:10;13166:12;;:25;;;;:::i;:::-;13147:16;:44;;;;13217:1;13205:9;:13;13202:140;;;13234:10;:19;;:30;13254:9;13234:30;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13234:30:0;13308:10;13284:46;;13301:4;13284:46;;;13320:9;13284:46;;;;;;;;;;;;;;;;;;13202:140;13385:33;13410:7;13385:8;:20;13394:10;13385:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;13362:8;:20;13371:10;13362:20;;;;;;;;;;;;;;;:56;;;;13458:10;13434:44;;13451:4;13434:44;;;13470:7;13434:44;;;;;;;;;;;;;;;;;;13489:5;;;;;;;;;;;:14;;:25;13504:9;13489:25;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13489:25:0;12528:1020;13588:20;13572:36;;;;;;;;:12;;;;;;;;;;;:36;;;;;;;;;13568:1020;;;13654:20;13638:36;;;;;;;;:12;;;;;;;;;;;:36;;;;;;;;;13630:45;;;;;;;;13723:1;13704:16;;:20;13696:29;;;;;;;;10652:11;13789:24;13805:7;13789:11;;:15;;:24;;;;:::i;:::-;:35;13786:305;;;13861:25;13874:11;;10652;13861:12;;:25;;;;:::i;:::-;13840:46;;13919:42;13953:7;13919:29;10710:10;13919;:14;;:29;;;;:::i;:::-;:33;;:42;;;;:::i;:::-;13901:60;;13988:22;14002:7;13988:9;:13;;:22;;;;:::i;:::-;13976:34;;14037:7;14025:19;;14069:10;14059:20;;13786:305;14125:24;14141:7;14125:11;;:15;;:24;;;;:::i;:::-;14111:11;:38;;;;14206:25;14219:11;;10652;14206:12;;:25;;;;:::i;:::-;14187:16;:44;;;;14257:1;14245:9;:13;14242:140;;;14274:10;:19;;:30;14294:9;14274:30;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14274:30:0;14348:10;14324:46;;14341:4;14324:46;;;14360:9;14324:46;;;;;;;;;;;;;;;;;;14242:140;14425:33;14450:7;14425:8;:20;14434:10;14425:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;14402:8;:20;14411:10;14402:20;;;;;;;;;;;;;;;:56;;;;14498:10;14474:44;;14491:4;14474:44;;;14510:7;14474:44;;;;;;;;;;;;;;;;;;14529:5;;;;;;;;;;;:14;;:25;14544:9;14529:25;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14529:25:0;13568:1020;14614:20;14598:36;;;;;;;;:12;;;;;;;;;;;:36;;;;;;;;;14594:1020;;;14680:20;14664:36;;;;;;;;:12;;;;;;;;;;;:36;;;;;;;;;14656:45;;;;;;;;14749:1;14730:16;;:20;14722:29;;;;;;;;10821:11;14815:24;14831:7;14815:11;;:15;;:24;;;;:::i;:::-;:35;14812:305;;;14887:25;14900:11;;10821;14887:12;;:25;;;;:::i;:::-;14866:46;;14945:42;14979:7;14945:29;10879:11;14945:10;:14;;:29;;;;:::i;:::-;:33;;:42;;;;:::i;:::-;14927:60;;15014:22;15028:7;15014:9;:13;;:22;;;;:::i;:::-;15002:34;;15063:7;15051:19;;15095:10;15085:20;;14812:305;15151:24;15167:7;15151:11;;:15;;:24;;;;:::i;:::-;15137:11;:38;;;;15232:25;15245:11;;10821;15232:12;;:25;;;;:::i;:::-;15213:16;:44;;;;15283:1;15271:9;:13;15268:140;;;15300:10;:19;;:30;15320:9;15300:30;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15300:30:0;15374:10;15350:46;;15367:4;15350:46;;;15386:9;15350:46;;;;;;;;;;;;;;;;;;15268:140;15451:33;15476:7;15451:8;:20;15460:10;15451:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;15428:8;:20;15437:10;15428:20;;;;;;;;;;;;;;;:56;;;;15524:10;15500:44;;15517:4;15500:44;;;15536:7;15500:44;;;;;;;;;;;;;;;;;;15555:5;;;;;;;;;;;:14;;:25;15570:9;15555:25;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15555:25:0;14594:1020;12137:3484;;;;;;;;;;;18934:195;10451:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10451:45:0;;;;;;;;;;;;;;;;;;;;;;;18986:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18986:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;18986:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7920:206;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7920:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3520:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3520:91:0;;;;;;;;;;;;;;;;;;;;;;;11056:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11056:35:0;;;;;;;;;;;;;;;;;;;;;;;16617:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16617:150:0;;;;;;10919:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10919:30:0;;;;;;;;;;;;;;;;;;;;;;;6756:502;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6756:502:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10786:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10786:46:0;;;;;;;;;;;;;;;;;;;;;;;11014:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11014:35:0;;;;;;;;;;;;;;;;;;;;;;;18139:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18139:131:0;;;;;;16399;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16399:131:0;;;;;;19089:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19089:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;15713:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15713:156:0;;;;;;10749:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10749:30:0;;;;;;;;;;;;;;;;;;;;;;;10670:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10670:50:0;;;;;;;;;;;;;;;;;;;;;;;18306:222;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18306:222:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9883:450;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9883:450:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17297:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17297:131:0;;;;;;6230:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6230:107:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18550:297;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18550:297:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4161:1845;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4161:1845:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1525:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1525:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;19044:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19044:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;19044:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10580:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10580:30:0;;;;;;;;;;;;;;;;;;;;;;;3793:363;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3793:363:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11098:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11098:35:0;;;;;;;;;;;;;;;;;;;;;;;10839:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10839:51:0;;;;;;;;;;;;;;;;;;;;;;;10956;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10956:51:0;;;;;;;;;;;;;;;;;;;;;;;10617:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10617:46:0;;;;;;;;;;;;;;;;;;;;;;;9102:280;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9102:280:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8472:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8472:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17459:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17459:150:0;;;;;;2170:186;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2170:186:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10503:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10503:48:0;;;;;;;;;;;;;;;;;;;;;;;220:202;278:9;309:1;304;:6;300:47;;;334:1;327:8;;;;300:47;365:1;361;:5;357:9;;393:1;388;384;:5;;;;;;;;:10;377:18;;;;;;413:1;406:8;;220:202;;;;;:::o;524:295::-;582:7;810:1;806;:5;;;;;;;;799:12;;524:295;;;;:::o;1156:141::-;1214:9;1244:1;1240;:5;1236:9;;1268:1;1263;:6;;1256:14;;;;;;1288:1;1281:8;;1156:141;;;;:::o;951:123::-;1009:7;1041:1;1036;:6;;1029:14;;;;;;1065:1;1061;:5;1054:12;;951:123;;;;:::o;10451:45::-;10486:10;10451:45;:::o;18986:51::-;;;;;;;;;;;;;;;;;;;;:::o;7920:206::-;7987:4;8036:6;8004:7;:19;8012:10;8004:19;;;;;;;;;;;;;;;:29;8024:8;8004:29;;;;;;;;;;;;;;;:38;;;;8079:8;8058:38;;8067:10;8058:38;;;8089:6;8058:38;;;;;;;;;;;;;;;;;;8114:4;8107:11;;7920:206;;;;:::o;3520:91::-;3564:7;3591:12;;3584:19;;3520:91;:::o;11056:35::-;;;;:::o;16617:150::-;1964:5;;;;;;;;;;;1950:19;;:10;:19;;;1942:28;;;;;;;;16694:18;16678:34;;;;;;;;:12;;;;;;;;;;;:34;;;;;;;;;;16670:43;;;;;;;;16739:20;16724:12;;:35;;;;;;;;;;;;;;;;;;;;;;;;16617:150::o;10919:30::-;;;;:::o;6756:502::-;6838:4;6878:1;6863:17;;:3;:17;;;;6855:26;;;;;;;;6910:8;:15;6919:5;6910:15;;;;;;;;;;;;;;;;6900:6;:25;;6892:34;;;;;;;;6955:7;:14;6963:5;6955:14;;;;;;;;;;;;;;;:26;6970:10;6955:26;;;;;;;;;;;;;;;;6945:6;:36;;6937:45;;;;;;;;7017:27;7037:6;7017:8;:15;7026:5;7017:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;6999:8;:15;7008:5;6999:15;;;;;;;;;;;;;;;:45;;;;7071:25;7089:6;7071:8;:13;7080:3;7071:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;7055:8;:13;7064:3;7055:13;;;;;;;;;;;;;;;:41;;;;7136:38;7167:6;7136:7;:14;7144:5;7136:14;;;;;;;;;;;;;;;:26;7151:10;7136:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;7107:7;:14;7115:5;7107:14;;;;;;;;;;;;;;;:26;7122:10;7107:26;;;;;;;;;;;;;;;:67;;;;7216:3;7200:28;;7209:5;7200:28;;;7221:6;7200:28;;;;;;;;;;;;;;;;;;7246:4;7239:11;;6756:502;;;;;:::o;10786:46::-;10821:11;10786:46;:::o;11014:35::-;;;;:::o;18139:131::-;1964:5;;;;;;;;;;;1950:19;;:10;:19;;;1942:28;;;;;;;;18219:18;18203:34;;;;;;;;:12;;;;;;;;;;;:34;;;;;;;;;;18195:43;;;;;;;;18249:13;:11;:13::i;:::-;18139:131::o;16399:::-;1964:5;;;;;;;;;;;1950:19;;:10;:19;;;1942:28;;;;;;;;16479:18;16463:34;;;;;;;;:12;;;;;;;;;;;:34;;;;;;;;;;16455:43;;;;;;;;16509:13;:11;:13::i;:::-;16399:131::o;19089:36::-;19123:2;19089:36;:::o;15713:156::-;1964:5;;;;;;;;;;;1950:19;;:10;:19;;;1942:28;;;;;;;;15796:18;15780:34;;;;;;;;:12;;;;;;;;;;;:34;;;;;;;;;;15772:43;;;;;;;;15841:20;15826:12;;:35;;;;;;;;;;;;;;;;;;;;;;;;15713:156::o;10749:30::-;;;;:::o;10670:50::-;10710:10;10670:50;:::o;18306:222::-;18352:11;18407:6;18383:8;:20;18392:10;18383:20;;;;;;;;;;;;;;;;:30;;18375:39;;;;;;;;18459:6;18435:8;:20;18444:10;18435:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;18492:6;18476:12;;:22;;;;;;;;;;;18516:4;18509:11;;18306:222;;;:::o;9883:450::-;9966:4;9983:13;9999:7;:19;10007:10;9999:19;;;;;;;;;;;;;;;:29;10019:8;9999:29;;;;;;;;;;;;;;;;9983:45;;10062:8;10043:16;:27;10039:188;;;10119:1;10087:7;:19;10095:10;10087:19;;;;;;;;;;;;;;;:29;10107:8;10087:29;;;;;;;;;;;;;;;:33;;;;10039:188;;;10185:30;10198:16;10185:8;:12;;:30;;;;:::i;:::-;10153:7;:19;10161:10;10153:19;;;;;;;;;;;;;;;:29;10173:8;10153:29;;;;;;;;;;;;;;;:62;;;;10039:188;10263:8;10242:61;;10251:10;10242:61;;;10273:7;:19;10281:10;10273:19;;;;;;;;;;;;;;;:29;10293:8;10273:29;;;;;;;;;;;;;;;;10242:61;;;;;;;;;;;;;;;;;;10321:4;10314:11;;9883:450;;;;;:::o;17297:131::-;1964:5;;;;;;;;;;;1950:19;;:10;:19;;;1942:28;;;;;;;;17377:18;17361:34;;;;;;;;:12;;;;;;;;;;;:34;;;;;;;;;;17353:43;;;;;;;;17407:13;:11;:13::i;:::-;17297:131::o;6230:107::-;6286:7;6313:8;:16;6322:6;6313:16;;;;;;;;;;;;;;;;6306:23;;6230:107;;;:::o;18550:297::-;18615:11;18665:6;18646:8;:15;18655:5;18646:15;;;;;;;;;;;;;;;;:25;;18638:34;;;;;;;;18701:7;:14;18709:5;18701:14;;;;;;;;;;;;;;;:26;18716:10;18701:26;;;;;;;;;;;;;;;;18691:6;:36;;18683:45;;;;;;;;18768:6;18749:8;:15;18758:5;18749:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;18801:6;18785:12;;:22;;;;;;;;;;;18835:4;18828:11;;18550:297;;;;:::o;4161:1845::-;4416:4;4457:1;4441:18;;:4;:18;;;;4433:27;;;;;;;;4496:1;4480:18;;:4;:18;;;;4472:27;;;;;;;;4534:1;4518:18;;:4;:18;;;;4510:27;;;;;;;;4572:1;4556:18;;:4;:18;;;;4548:27;;;;;;;;4610:1;4594:18;;:4;:18;;;;4586:27;;;;;;;;4648:1;4632:18;;:4;:18;;;;4624:27;;;;;;;;4686:1;4670:18;;:4;:18;;;;4662:27;;;;;;;;4724:1;4708:18;;:4;:18;;;;4700:27;;;;;;;;4762:1;4746:18;;:4;:18;;;;4738:27;;;;;;;;4801:1;4784:19;;:5;:19;;;;4776:28;;;;;;;;4833:8;:20;4842:10;4833:20;;;;;;;;;;;;;;;;4823:6;:30;;4815:39;;;;;;;;4898:35;4930:2;4923:6;:9;4898:8;:20;4907:10;4898:20;;;;;;;;;;;;;;;;:24;;:35;;;;:::i;:::-;4875:8;:20;4884:10;4875:20;;;;;;;;;;;;;;;:58;;;;4961:26;4980:6;4961:8;:14;4970:4;4961:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;4944:8;:14;4953:4;4944:14;;;;;;;;;;;;;;;:43;;;;5024:4;5003:34;;5012:10;5003:34;;;5030:6;5003:34;;;;;;;;;;;;;;;;;;5065:26;5084:6;5065:8;:14;5074:4;5065:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;5048:8;:14;5057:4;5048:14;;;;;;;;;;;;;;;:43;;;;5128:4;5107:34;;5116:10;5107:34;;;5134:6;5107:34;;;;;;;;;;;;;;;;;;5169:26;5188:6;5169:8;:14;5178:4;5169:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;5152:8;:14;5161:4;5152:14;;;;;;;;;;;;;;;:43;;;;5232:4;5211:34;;5220:10;5211:34;;;5238:6;5211:34;;;;;;;;;;;;;;;;;;5273:26;5292:6;5273:8;:14;5282:4;5273:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;5256:8;:14;5265:4;5256:14;;;;;;;;;;;;;;;:43;;;;5336:4;5315:34;;5324:10;5315:34;;;5342:6;5315:34;;;;;;;;;;;;;;;;;;5377:26;5396:6;5377:8;:14;5386:4;5377:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;5360:8;:14;5369:4;5360:14;;;;;;;;;;;;;;;:43;;;;5440:4;5419:34;;5428:10;5419:34;;;5446:6;5419:34;;;;;;;;;;;;;;;;;;5481:26;5500:6;5481:8;:14;5490:4;5481:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;5464:8;:14;5473:4;5464:14;;;;;;;;;;;;;;;:43;;;;5544:4;5523:34;;5532:10;5523:34;;;5550:6;5523:34;;;;;;;;;;;;;;;;;;5585:26;5604:6;5585:8;:14;5594:4;5585:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;5568:8;:14;5577:4;5568:14;;;;;;;;;;;;;;;:43;;;;5648:4;5627:34;;5636:10;5627:34;;;5654:6;5627:34;;;;;;;;;;;;;;;;;;5689:26;5708:6;5689:8;:14;5698:4;5689:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;5672:8;:14;5681:4;5672:14;;;;;;;;;;;;;;;:43;;;;5752:4;5731:34;;5740:10;5731:34;;;5758:6;5731:34;;;;;;;;;;;;;;;;;;5793:26;5812:6;5793:8;:14;5802:4;5793:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;5776:8;:14;5785:4;5776:14;;;;;;;;;;;;;;;:43;;;;5856:4;5835:34;;5844:10;5835:34;;;5862:6;5835:34;;;;;;;;;;;;;;;;;;5898:27;5918:6;5898:8;:15;5907:5;5898:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5880:8;:15;5889:5;5880:15;;;;;;;;;;;;;;;:45;;;;5962:5;5941:35;;5950:10;5941:35;;;5969:6;5941:35;;;;;;;;;;;;;;;;;;5994:4;5987:11;;4161:1845;;;;;;;;;;;;;:::o;1525:20::-;;;;;;;;;;;;;:::o;19044:38::-;;;;;;;;;;;;;;;;;;;;:::o;10580:30::-;;;;:::o;3793:363::-;3856:4;3896:1;3881:17;;:3;:17;;;;3873:26;;;;;;;;3928:8;:20;3937:10;3928:20;;;;;;;;;;;;;;;;3918:6;:30;;3910:39;;;;;;;;3993:32;4018:6;3993:8;:20;4002:10;3993:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3970:8;:20;3979:10;3970:20;;;;;;;;;;;;;;;:55;;;;4052:25;4070:6;4052:8;:13;4061:3;4052:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4036:8;:13;4045:3;4036:13;;;;;;;;;;;;;;;:41;;;;4114:3;4093:33;;4102:10;4093:33;;;4119:6;4093:33;;;;;;;;;;;;;;;;;;4144:4;4137:11;;3793:363;;;;:::o;11098:35::-;;;;:::o;10839:51::-;10879:11;10839:51;:::o;10956:::-;10995:12;10956:51;:::o;10617:46::-;10652:11;10617:46;:::o;9102:280::-;9180:4;9229:46;9263:11;9229:7;:19;9237:10;9229:19;;;;;;;;;;;;;;;:29;9249:8;9229:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;9197:7;:19;9205:10;9197:19;;;;;;;;;;;;;;;:29;9217:8;9197:29;;;;;;;;;;;;;;;:78;;;;9312:8;9291:61;;9300:10;9291:61;;;9322:7;:19;9330:10;9322:19;;;;;;;;;;;;;;;:29;9342:8;9322:29;;;;;;;;;;;;;;;;9291:61;;;;;;;;;;;;;;;;;;9370:4;9363:11;;9102:280;;;;:::o;8472:134::-;8546:7;8573;:15;8581:6;8573:15;;;;;;;;;;;;;;;:25;8589:8;8573:25;;;;;;;;;;;;;;;;8566:32;;8472:134;;;;:::o;17459:150::-;1964:5;;;;;;;;;;;1950:19;;:10;:19;;;1942:28;;;;;;;;17536:18;17520:34;;;;;;;;:12;;;;;;;;;;;:34;;;;;;;;;;17512:43;;;;;;;;17581:20;17566:12;;:35;;;;;;;;;;;;;;;;;;;;;;;;17459:150::o;2170:186::-;1964:5;;;;;;;;;;;1950:19;;:10;:19;;;1942:28;;;;;;;;2269:1;2249:22;;:8;:22;;;;2241:31;;;;;;;;2314:8;2286:37;;2307:5;;;;;;;;;;;2286:37;;;;;;;;;;;;2340:8;2332:5;;:16;;;;;;;;;;;;;;;;;;2170:186;:::o;10503:48::-;10543:8;10503:48;:::o;17681:355::-;17739:18;17724:12;;:33;;;;;;;;;;;;;;;;;;;;;;;;17832:1;17813:16;;:20;17810:93;;;17866:37;17886:16;;17866:8;:15;17875:5;;;;;;;;;;;17866:15;;;;;;;;;;;;;;;;:19;;:37;;;;:::i;:::-;17848:8;:15;17857:5;;;;;;;;;;;17848:15;;;;;;;;;;;;;;;:55;;;;17810:93;17990:5;;;;;;;;;;;:14;;:37;18013:4;18005:21;;;17990:37;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17990:37:0;17681:355::o;15941:::-;15999:18;15984:12;;:33;;;;;;;;;;;;;;;;;;;;;;;;16092:1;16073:16;;:20;16070:93;;;16126:37;16146:16;;16126:8;:15;16135:5;;;;;;;;;;;16126:15;;;;;;;;;;;;;;;;:19;;:37;;;;:::i;:::-;16108:8;:15;16117:5;;;;;;;;;;;16108:15;;;;;;;;;;;;;;;:55;;;;16070:93;16250:5;;;;;;;;;;;:14;;:37;16273:4;16265:21;;;16250:37;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16250:37:0;15941:355::o;16839:::-;16897:18;16882:12;;:33;;;;;;;;;;;;;;;;;;;;;;;;16990:1;16971:16;;:20;16968:93;;;17024:37;17044:16;;17024:8;:15;17033:5;;;;;;;;;;;17024:15;;;;;;;;;;;;;;;;:19;;:37;;;;:::i;:::-;17006:8;:15;17015:5;;;;;;;;;;;17006:15;;;;;;;;;;;;;;;:55;;;;16968:93;17148:5;;;;;;;;;;;:14;;:37;17171:4;17163:21;;;17148:37;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17148:37:0;16839:355::o
Swarm Source
bzzr://7caaf66b9880bcd361323baf550106fc288b07b2f07495f5c242f3bbbc613646
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.