Contract 0x2EcCb53ca2d4ef91A79213FDDF3f8c2332c2a814 3

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x70d88e8350150c54da64f76881907466a94b177d7a2e376e2ec9c18306810c44Add I Driss365879232022-12-08 18:29:197 hrs 33 mins ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.011179526450.4
0x81fac1c46004b6785dd1cc60cf591d7d439eadb06afd105cb5cc154422944a63Add I Driss365859892022-12-08 17:20:028 hrs 43 mins ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.015704572870.8
0x5fef6654f37d7330b82cf6621102260fba3cbfbdc16745c1017d28b7480c2be1Add I Driss365806382022-12-08 14:16:0411 hrs 47 mins ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.020651069693.1
0xdd8df388fb16c6810db30805642cfa90d4f1acf69f5956baf4f5884f5cdc7aa6Add I Driss365486442022-12-07 19:23:551 day 6 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.007453017633.6
0xe119649bd69cdbb816eee7576dd454c458fc6f9c31fcf87dbde6d4691e62ceffAdd I Driss365200252022-12-07 2:34:471 day 23 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.020540161692.6
0x1ca2fc8774e2dec6ca9ca8fafdfb115268e553e5f5b6f72c6280fe962613fd8cAdd I Driss365196692022-12-07 2:20:231 day 23 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.011955882453.9
0x205afacaca01e47f1c3ad8313f3260f5481c06aac992c1b8f538a1885af7c7d9Add I Driss365139902022-12-06 23:00:462 days 3 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.012066790454.4
0x4fe12abcc1f34bba11d6bdfbaf3b6f929a06da251384dd27d33c6c8868540394Add I Driss365072772022-12-06 19:05:212 days 6 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.0088726440
0xebfc7285e9d799a6c514b0f441dfaebe1df19f7166977de9c3e3cbbb954d9516Add I Driss365070862022-12-06 18:58:142 days 7 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.00876173239.5
0xa280b12ba86dad3ebe253f661ed80cb365ea0ffd54dc727a3cb33f336776145fAdd I Driss365022552022-12-06 16:11:212 days 9 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.019586352888.3
0x627380624520f871d732e1e2ed629b29ec36b2f26432119fb2396d311c773b70Add I Driss365010342022-12-06 15:29:232 days 10 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.015283122468.9
0x41f5a0f9916845871cc6646a4d339c3a0b114f5a69c88b34a6065a3de78aa456Add I Driss364849812022-12-06 6:06:272 days 19 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.008783913639.6
0x73130c74c60d7d77e915ce57edd92a6117d42fa660e38a14159bfd7874e21686Delete I Driss364536342022-12-05 11:50:193 days 14 hrs ago0x4e328b9112f789f14d11da68f2d75f8c6d5e2503 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.0043717870
0xe69c2ada99cd8c32d3be65cbed6cd7d5a669fb23171c6f585ad74ea336901185Add I Driss364202322022-12-04 15:56:194 days 10 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.011512250451.9
0x61045a399238e923188879f043df7f8302c89fd5d4f296a8c09966c41bfb14b7Add I Driss364155322022-12-04 13:14:314 days 12 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.010358807246.7
0x2f5f34e5f3aed04bce125c1f4ffd496be14516f83a1241540f0125529eff96a2Add I Driss362844732022-12-01 6:56:067 days 19 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.009338453642.1
0x4f770a674222efccf57ef1c9047dfcbbd1b1560b8cb5c6483c04c382a6681913Add I Driss362548172022-11-30 13:33:558 days 12 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.01685801676
0x150a30f3c9bf31fc726b9f5369979d5de0bc2d28b53a4a887b583d2b0439ea9fAdd I Driss362499312022-11-30 10:43:078 days 15 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.01131261651
0x4741622bbef6fba998d5616cbaceec0275c3cc33daa4470aa2a2dde1deae186aAdd I Driss362491272022-11-30 10:15:198 days 15 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.01208897254.5
0x60954628305189f2493a2ed5dcd1a450b584b573ee398b98045759d254ebcc73Add I Driss362466402022-11-30 8:43:238 days 17 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.010580623247.7
0x55a0edf4e9e2605d2fe34e1b600a6e7df02c57b1b509d4214b647b510f7afe23Add I Driss362406472022-11-30 5:07:198 days 20 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.008605995238.8
0x50ea17fc0acd48593ca86a8d605504c4cbc662879cf192065029139ea1c313a7Add I Driss362309452022-11-29 23:14:229 days 2 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.006898477631.1
0xc76285400067bd1c64215a2494a060dbb2171329b6f7c4782f7a1f3337b4b087Add I Driss362309122022-11-29 23:13:169 days 2 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.007120293632.1
0x2851f9f848206987136424c21aeb6f1cbb98bea0b15abf9ad4e258944b3b0664Add I Driss362308702022-11-29 23:11:489 days 2 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.007120293632.1
0xa39ccfaafa490993f3b08f4abc6887857ea33fdb5b2df8c7e19f61753ca4d76eAdd I Driss362308542022-11-29 23:11:169 days 2 hrs ago0xc62d0142c91df69bcdfc13954a87d6fe1ddfded6 IN  0x2eccb53ca2d4ef91a79213fddf3f8c2332c2a8140 MATIC0.009560269643.1
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
IDrissMappings

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at polygonscan.com on 2022-03-06
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.1; 

interface ERC20 {
    function balanceOf(address _tokenOwner) external view returns (uint balance);
    function transfer(address _to, uint _tokens) external returns (bool success);
    function approve(address _spender, uint256 _value) external returns (bool success);
    function allowance(address _contract, address _spender) external view returns (uint256 remaining);
    function transferFrom(address _from, address _to, uint256 _value) external returns (bool success);
}

contract IDrissMappings {
    uint public countAdding = 0; 
    uint public countDeleting = 0; 
    uint public price = 0;      
    uint public creationTime = block.timestamp;
    address public contractOwner = msg.sender; 
    mapping(string => string) private IDriss;
    mapping(string => string) private IDrissHash;
    mapping(string => address) public IDrissOwners; 
    mapping(string => uint) public payDates;    
    mapping(address => bool) private admins;
    
    event Increment(uint value);
    event Decrement(uint value);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event IDrissOwnershipTransferred(address indexed previousIDrissOwner, address indexed newIDrissOwner);
    event IDrissAdded(string indexed hash);
    event IDrissDeleted(string indexed hash);
    event NewPrice(uint price);
    event AdminAdded(address indexed admin);
    event AdminDeleted(address indexed admin);


    function addAdmin(address adminAddress) external {
        require(msg.sender == contractOwner, "Only contractOwner can add admins.");
        admins[adminAddress] = true;
        emit AdminAdded(adminAddress);
    }

    function deleteAdmin(address adminAddress) external {
        require(msg.sender == contractOwner, "Only contractOwner can delete admins.");
        admins[adminAddress] = false;
        emit AdminDeleted(adminAddress);
    }

    function setPrice(uint newPrice) external {
        require(msg.sender == contractOwner, "Only contractOwner can set price.");
        price = newPrice;
        emit NewPrice(price);
    }
    
    function withdraw() external returns (bytes memory) {
        require(admins[msg.sender] == true, "Only trusted admin can withdraw.");
        (bool sent, bytes memory data) = msg.sender.call{value: address(this).balance, gas: 40000}("");
        require(sent, "Failed to  withdraw.");
        return data;
    }

    function withdrawTokens(address tokenContract) external {
        require(admins[msg.sender] == true, "Only trusted admin can withdraw.");
        ERC20 tc = ERC20(tokenContract);
        tc.transfer(msg.sender, tc.balanceOf(address(this)));
    }
    

    function increment() private {
        countAdding += 1;
        emit Increment(countAdding);
    }
    
    function decrement() private {
        countDeleting += 1;
        emit Decrement(countDeleting);
    }

    function addIDriss(string memory hashPub, string memory hashID, string memory address_, address ownerAddress) external payable {
        require(admins[msg.sender] == true, "Only trusted admin can add IDriss.");
        require(keccak256(bytes(IDrissHash[hashPub])) == keccak256(bytes("")), "Cannot change existing binding.");
        require(msg.value >= price, "Not enough MATIC.");
        IDriss[hashID] = address_;
        IDrissHash[hashPub] = hashID;
        IDrissOwners[hashPub] = ownerAddress;
        payDates[hashPub] = block.timestamp;
        increment();
        emit IDrissAdded(hashPub);
    }
    
    function addIDrissToken(string memory hashPub, string memory hashID, string memory address_, address token, uint amount, address ownerAddress) external payable{
        require(admins[msg.sender] == true, "Only trusted admin can add IDriss.");
        require(keccak256(bytes(IDrissHash[hashPub])) == keccak256(bytes("")), "Binding already created.");
        ERC20 paymentTc = ERC20(token);
        require(paymentTc.allowance(msg.sender, address(this)) >= amount,"Insuficient Allowance.");
        require(paymentTc.transferFrom(msg.sender, address(this), amount),"Transfer Failed.");
        IDriss[hashID] = address_;
        IDrissHash[hashPub] = hashID;
        IDrissOwners[hashPub] = ownerAddress;
        payDates[hashPub] = block.timestamp;
        increment();
        emit IDrissAdded(hashPub);
    }
    
    function deleteIDriss(string memory hashPub) external payable {
        require(IDrissOwners[hashPub] == msg.sender, "Only IDrissOwner can delete binding.");
        require(keccak256(bytes(IDrissHash[hashPub])) != keccak256(bytes("")), "Binding does not exist.");
        delete IDriss[IDrissHash[hashPub]];
        delete IDrissHash[hashPub];
        delete IDrissOwners[hashPub];
        delete payDates[hashPub];
        decrement();
        emit IDrissDeleted(hashPub);
    }

    function getIDriss(string memory hashPub) public view returns (string memory){
        require(keccak256(bytes(IDrissHash[hashPub])) != keccak256(bytes("")), "Binding does not exist.");
        return IDriss[IDrissHash[hashPub]];
    }

    function transferIDrissOwnership(string memory hashPub, address newOwner) external payable {
        require(IDrissOwners[hashPub] == msg.sender, "Only IDrissOwner can change ownership.");
        IDrissOwners[hashPub] = newOwner;
        emit IDrissOwnershipTransferred(msg.sender, newOwner);
    }

    function transferContractOwnership(address newOwner) public payable {
        require(msg.sender == contractOwner, "Only contractOwner can change ownership of contract.");
        require(newOwner != address(0), "Ownable: new contractOwner is the zero address.");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = contractOwner;
        contractOwner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"AdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"}],"name":"AdminDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Decrement","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"hash","type":"string"}],"name":"IDrissAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"hash","type":"string"}],"name":"IDrissDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousIDrissOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newIDrissOwner","type":"address"}],"name":"IDrissOwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Increment","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"NewPrice","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"IDrissOwners","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adminAddress","type":"address"}],"name":"addAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"hashPub","type":"string"},{"internalType":"string","name":"hashID","type":"string"},{"internalType":"string","name":"address_","type":"string"},{"internalType":"address","name":"ownerAddress","type":"address"}],"name":"addIDriss","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string","name":"hashPub","type":"string"},{"internalType":"string","name":"hashID","type":"string"},{"internalType":"string","name":"address_","type":"string"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"ownerAddress","type":"address"}],"name":"addIDrissToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"contractOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"countAdding","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"countDeleting","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"creationTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adminAddress","type":"address"}],"name":"deleteAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"hashPub","type":"string"}],"name":"deleteIDriss","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string","name":"hashPub","type":"string"}],"name":"getIDriss","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"payDates","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferContractOwnership","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string","name":"hashPub","type":"string"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferIDrissOwnership","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenContract","type":"address"}],"name":"withdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260008055600060015560006002554260035533600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034801561006357600080fd5b50612bac806100736000396000f3fe6080604052600436106101095760003560e01c80638398140011610095578063b868714711610064578063b86871471461032c578063c3234c3514610348578063ce606ee014610385578063d8270dce146103b0578063fea072d0146103db57610109565b806383981400146102a057806391b7f5ed146102bc578063a035b1fe146102e5578063a843c51f1461031057610109565b806349df728c116100dc57806349df728c146101b85780635335104b146101e15780635c9db38f1461021e578063679f00151461023a578063704802751461027757610109565b806327e1f7df1461010e578063392ad67f146101375780633ccfd60b14610162578063453d02ba1461018d575b600080fd5b34801561011a57600080fd5b5061013560048036038101906101309190611a9b565b6103f7565b005b34801561014357600080fd5b5061014c610525565b60405161015991906124a4565b60405180910390f35b34801561016e57600080fd5b5061017761052b565b6040516101849190612260565b60405180910390f35b34801561019957600080fd5b506101a261067b565b6040516101af91906124a4565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190611a9b565b610681565b005b3480156101ed57600080fd5b5061020860048036038101906102039190611aed565b610833565b6040516102159190612282565b60405180910390f35b61023860048036038101906102339190611b2e565b61098b565b005b34801561024657600080fd5b50610261600480360381019061025c9190611aed565b610af2565b60405161026e91906121bc565b60405180910390f35b34801561028357600080fd5b5061029e60048036038101906102999190611a9b565b610b3b565b005b6102ba60048036038101906102b59190611b82565b610c69565b005b3480156102c857600080fd5b506102e360048036038101906102de9190611cfe565b610f01565b005b3480156102f157600080fd5b506102fa610fd4565b60405161030791906124a4565b60405180910390f35b61032a60048036038101906103259190611a9b565b610fda565b005b61034660048036038101906103419190611c2d565b6110e6565b005b34801561035457600080fd5b5061036f600480360381019061036a9190611aed565b6114dc565b60405161037c91906124a4565b60405180910390f35b34801561039157600080fd5b5061039a61150a565b6040516103a791906121bc565b60405180910390f35b3480156103bc57600080fd5b506103c5611530565b6040516103d291906124a4565b60405180910390f35b6103f560048036038101906103f09190611aed565b611536565b005b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047e90612304565b60405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f989ddfce057dad219e0ae16f691b121bb0e348f0d8ae0ad400b4d5ac8d616c8b60405160405180910390a250565b60015481565b606060011515600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146105c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b790612484565b60405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1647619c40906040516105eb906121a7565b600060405180830381858888f193505050503d8060008114610629576040519150601f19603f3d011682016040523d82523d6000602084013e61062e565b606091505b509150915081610673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066a906122c4565b60405180910390fd5b809250505090565b60005481565b60011515600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070b90612484565b60405180910390fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161076f91906121bc565b60206040518083038186803b15801561078757600080fd5b505afa15801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bf9190611d27565b6040518363ffffffff1660e01b81526004016107dc929190612237565b602060405180830381600087803b1580156107f657600080fd5b505af115801561080a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082e9190611ac4565b505050565b6060604051806020016040528060008152508051906020012060068360405161085c9190612179565b90815260200160405180910390206040516108779190612162565b604051809103902014156108c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b790612364565b60405180910390fd5b60056006836040516108d29190612179565b90815260200160405180910390206040516108ed9190612190565b908152602001604051809103902080546109069061266d565b80601f01602080910402602001604051908101604052809291908181526020018280546109329061266d565b801561097f5780601f106109545761010080835404028352916020019161097f565b820191906000526020600020905b81548152906001019060200180831161096257829003601f168201915b50505050509050919050565b3373ffffffffffffffffffffffffffffffffffffffff166007836040516109b29190612179565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2e90612464565b60405180910390fd5b80600783604051610a489190612179565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f0e643e8fe2f6e1dfd016e8b1761ee1627c3428bb650f55f2ba0488be210a385a60405160405180910390a35050565b6007818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc290612404565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33960405160405180910390a250565b60011515600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610cfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf3906122e4565b60405180910390fd5b6040518060200160405280600081525080519060200120600685604051610d239190612179565b9081526020016040518091039020604051610d3e9190612162565b604051809103902014610d86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7d906123a4565b60405180910390fd5b600254341015610dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc290612324565b60405180910390fd5b81600584604051610ddc9190612179565b90815260200160405180910390209080519060200190610dfd9291906118fc565b5082600685604051610e0f9190612179565b90815260200160405180910390209080519060200190610e309291906118fc565b5080600785604051610e429190612179565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600885604051610e9f9190612179565b908152602001604051809103902081905550610eb961178e565b83604051610ec79190612179565b60405180910390207ffed8b27bfcef56857e564d6522e88730dce7de6d50f5f2e8f8a10df8b4fa997360405160405180910390a250505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f88906123e4565b60405180910390fd5b806002819055507f270b316b51ab2cf3a3bb8ca4d22e76a327d05e762fcaa8bd6afaf8cfde9270b7600254604051610fc991906124a4565b60405180910390a150565b60025481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461106a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611061906123c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d190612344565b60405180910390fd5b6110e3816117e2565b50565b60011515600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611179576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611170906122e4565b60405180910390fd5b60405180602001604052806000815250805190602001206006876040516111a09190612179565b90815260200160405180910390206040516111bb9190612162565b604051809103902014611203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fa90612424565b60405180910390fd5b6000839050828173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff1660e01b81526004016112449291906121d7565b60206040518083038186803b15801561125c57600080fd5b505afa158015611270573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112949190611d27565b10156112d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cc90612444565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff1660e01b815260040161131293929190612200565b602060405180830381600087803b15801561132c57600080fd5b505af1158015611340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113649190611ac4565b6113a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139a906122a4565b60405180910390fd5b846005876040516113b49190612179565b908152602001604051809103902090805190602001906113d59291906118fc565b50856006886040516113e79190612179565b908152602001604051809103902090805190602001906114089291906118fc565b508160078860405161141a9190612179565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426008886040516114779190612179565b90815260200160405180910390208190555061149161178e565b8660405161149f9190612179565b60405180910390207ffed8b27bfcef56857e564d6522e88730dce7de6d50f5f2e8f8a10df8b4fa997360405160405180910390a250505050505050565b6008818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b3373ffffffffffffffffffffffffffffffffffffffff1660078260405161155d9190612179565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d990612384565b60405180910390fd5b60405180602001604052806000815250805190602001206006826040516116099190612179565b90815260200160405180910390206040516116249190612162565b6040518091039020141561166d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166490612364565b60405180910390fd5b600560068260405161167f9190612179565b908152602001604051809103902060405161169a9190612190565b908152602001604051809103902060006116b49190611982565b6006816040516116c49190612179565b908152602001604051809103902060006116de9190611982565b6007816040516116ee9190612179565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560088160405161172f9190612179565b9081526020016040518091039020600090556117496118a8565b806040516117579190612179565b60405180910390207f1838740f74b11929173af9e8cebc5592e1dab8e3f36341b579a4b0e3e97606af60405160405180910390a250565b60016000808282546117a0919061258d565b925050819055507f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a816000546040516117d891906124a4565b60405180910390a1565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60018060008282546118ba919061258d565b925050819055507f32814a5bdfd1b8c3d76c49c54e043d6e8aa93d197a09e16599b567135503f7486001546040516118f291906124a4565b60405180910390a1565b8280546119089061266d565b90600052602060002090601f01602090048101928261192a5760008555611971565b82601f1061194357805160ff1916838001178555611971565b82800160010185558215611971579182015b82811115611970578251825591602001919060010190611955565b5b50905061197e91906119c2565b5090565b50805461198e9061266d565b6000825580601f106119a057506119bf565b601f0160209004906000526020600020908101906119be91906119c2565b5b50565b5b808211156119db5760008160009055506001016119c3565b5090565b60006119f26119ed846124e4565b6124bf565b905082815260208101848484011115611a0a57600080fd5b611a1584828561262b565b509392505050565b600081359050611a2c81612b31565b92915050565b600081519050611a4181612b48565b92915050565b600082601f830112611a5857600080fd5b8135611a688482602086016119df565b91505092915050565b600081359050611a8081612b5f565b92915050565b600081519050611a9581612b5f565b92915050565b600060208284031215611aad57600080fd5b6000611abb84828501611a1d565b91505092915050565b600060208284031215611ad657600080fd5b6000611ae484828501611a32565b91505092915050565b600060208284031215611aff57600080fd5b600082013567ffffffffffffffff811115611b1957600080fd5b611b2584828501611a47565b91505092915050565b60008060408385031215611b4157600080fd5b600083013567ffffffffffffffff811115611b5b57600080fd5b611b6785828601611a47565b9250506020611b7885828601611a1d565b9150509250929050565b60008060008060808587031215611b9857600080fd5b600085013567ffffffffffffffff811115611bb257600080fd5b611bbe87828801611a47565b945050602085013567ffffffffffffffff811115611bdb57600080fd5b611be787828801611a47565b935050604085013567ffffffffffffffff811115611c0457600080fd5b611c1087828801611a47565b9250506060611c2187828801611a1d565b91505092959194509250565b60008060008060008060c08789031215611c4657600080fd5b600087013567ffffffffffffffff811115611c6057600080fd5b611c6c89828a01611a47565b965050602087013567ffffffffffffffff811115611c8957600080fd5b611c9589828a01611a47565b955050604087013567ffffffffffffffff811115611cb257600080fd5b611cbe89828a01611a47565b9450506060611ccf89828a01611a1d565b9350506080611ce089828a01611a71565b92505060a0611cf189828a01611a1d565b9150509295509295509295565b600060208284031215611d1057600080fd5b6000611d1e84828501611a71565b91505092915050565b600060208284031215611d3957600080fd5b6000611d4784828501611a86565b91505092915050565b611d59816125e3565b82525050565b6000611d6a8261253f565b611d748185612555565b9350611d8481856020860161263a565b611d8d8161275d565b840191505092915050565b60008154611da58161266d565b611daf8186612566565b94506001821660008114611dca5760018114611ddb57611e0e565b60ff19831686528186019350611e0e565b611de485612515565b60005b83811015611e0657815481890152600182019150602081019050611de7565b838801955050505b50505092915050565b6000611e228261254a565b611e2c8185612571565b9350611e3c81856020860161263a565b611e458161275d565b840191505092915050565b6000611e5b8261254a565b611e658185612582565b9350611e7581856020860161263a565b80840191505092915050565b60008154611e8e8161266d565b611e988186612582565b94506001821660008114611eb35760018114611ec457611ef7565b60ff19831686528186019350611ef7565b611ecd8561252a565b60005b83811015611eef57815481890152600182019150602081019050611ed0565b838801955050505b50505092915050565b6000611f0d601083612571565b9150611f188261276e565b602082019050919050565b6000611f30601483612571565b9150611f3b82612797565b602082019050919050565b6000611f53602283612571565b9150611f5e826127c0565b604082019050919050565b6000611f76602583612571565b9150611f818261280f565b604082019050919050565b6000611f99601183612571565b9150611fa48261285e565b602082019050919050565b6000611fbc602f83612571565b9150611fc782612887565b604082019050919050565b6000611fdf601783612571565b9150611fea826128d6565b602082019050919050565b6000612002602483612571565b915061200d826128ff565b604082019050919050565b6000612025601f83612571565b91506120308261294e565b602082019050919050565b6000612048603483612571565b915061205382612977565b604082019050919050565b600061206b602183612571565b9150612076826129c6565b604082019050919050565b600061208e602283612571565b915061209982612a15565b604082019050919050565b60006120b1601883612571565b91506120bc82612a64565b602082019050919050565b60006120d4600083612566565b91506120df82612a8d565b600082019050919050565b60006120f7601683612571565b915061210282612a90565b602082019050919050565b600061211a602683612571565b915061212582612ab9565b604082019050919050565b600061213d602083612571565b915061214882612b08565b602082019050919050565b61215c81612621565b82525050565b600061216e8284611d98565b915081905092915050565b60006121858284611e50565b915081905092915050565b600061219c8284611e81565b915081905092915050565b60006121b2826120c7565b9150819050919050565b60006020820190506121d16000830184611d50565b92915050565b60006040820190506121ec6000830185611d50565b6121f96020830184611d50565b9392505050565b60006060820190506122156000830186611d50565b6122226020830185611d50565b61222f6040830184612153565b949350505050565b600060408201905061224c6000830185611d50565b6122596020830184612153565b9392505050565b6000602082019050818103600083015261227a8184611d5f565b905092915050565b6000602082019050818103600083015261229c8184611e17565b905092915050565b600060208201905081810360008301526122bd81611f00565b9050919050565b600060208201905081810360008301526122dd81611f23565b9050919050565b600060208201905081810360008301526122fd81611f46565b9050919050565b6000602082019050818103600083015261231d81611f69565b9050919050565b6000602082019050818103600083015261233d81611f8c565b9050919050565b6000602082019050818103600083015261235d81611faf565b9050919050565b6000602082019050818103600083015261237d81611fd2565b9050919050565b6000602082019050818103600083015261239d81611ff5565b9050919050565b600060208201905081810360008301526123bd81612018565b9050919050565b600060208201905081810360008301526123dd8161203b565b9050919050565b600060208201905081810360008301526123fd8161205e565b9050919050565b6000602082019050818103600083015261241d81612081565b9050919050565b6000602082019050818103600083015261243d816120a4565b9050919050565b6000602082019050818103600083015261245d816120ea565b9050919050565b6000602082019050818103600083015261247d8161210d565b9050919050565b6000602082019050818103600083015261249d81612130565b9050919050565b60006020820190506124b96000830184612153565b92915050565b60006124c96124da565b90506124d5828261269f565b919050565b6000604051905090565b600067ffffffffffffffff8211156124ff576124fe61272e565b5b6125088261275d565b9050602081019050919050565b60008190508160005260206000209050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061259882612621565b91506125a383612621565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125d8576125d76126d0565b5b828201905092915050565b60006125ee82612601565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561265857808201518184015260208101905061263d565b83811115612667576000848401525b50505050565b6000600282049050600182168061268557607f821691505b60208210811415612699576126986126ff565b5b50919050565b6126a88261275d565b810181811067ffffffffffffffff821117156126c7576126c661272e565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5472616e73666572204661696c65642e00000000000000000000000000000000600082015250565b7f4661696c656420746f202077697468647261772e000000000000000000000000600082015250565b7f4f6e6c7920747275737465642061646d696e2063616e2061646420494472697360008201527f732e000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e2064656c65746520616460008201527f6d696e732e000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f7420656e6f756768204d415449432e000000000000000000000000000000600082015250565b7f4f776e61626c653a206e657720636f6e74726163744f776e657220697320746860008201527f65207a65726f20616464726573732e0000000000000000000000000000000000602082015250565b7f42696e64696e6720646f6573206e6f742065786973742e000000000000000000600082015250565b7f4f6e6c79204944726973734f776e65722063616e2064656c6574652062696e6460008201527f696e672e00000000000000000000000000000000000000000000000000000000602082015250565b7f43616e6e6f74206368616e6765206578697374696e672062696e64696e672e00600082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e206368616e6765206f7760008201527f6e657273686970206f6620636f6e74726163742e000000000000000000000000602082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e2073657420707269636560008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c7920636f6e74726163744f776e65722063616e206164642061646d696e60008201527f732e000000000000000000000000000000000000000000000000000000000000602082015250565b7f42696e64696e6720616c726561647920637265617465642e0000000000000000600082015250565b50565b7f496e737566696369656e7420416c6c6f77616e63652e00000000000000000000600082015250565b7f4f6e6c79204944726973734f776e65722063616e206368616e6765206f776e6560008201527f72736869702e0000000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c7920747275737465642061646d696e2063616e2077697468647261772e600082015250565b612b3a816125e3565b8114612b4557600080fd5b50565b612b51816125f5565b8114612b5c57600080fd5b50565b612b6881612621565b8114612b7357600080fd5b5056fea264697066735822122065342377a4dfc75489a7485ed573ae3b327494683658a8f16dc23eb8dc3a7ba664736f6c63430008010033

Deployed ByteCode Sourcemap

547:5514:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1753:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;613:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2194:317;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;578:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2519:251;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4977:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5223:303;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;880:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1525:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3012:620;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1990:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;650:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5534:311;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3644:824;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;934:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;733:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;684:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4480:489;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1753:229;1838:13;;;;;;;;;;;1824:27;;:10;:27;;;1816:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;1927:5;1904:6;:20;1911:12;1904:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;1961:12;1948:26;;;;;;;;;;;;1753:229;:::o;613:29::-;;;;:::o;2194:317::-;2232:12;2287:4;2265:26;;:6;:18;2272:10;2265:18;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;2257:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;2340:9;2351:17;2372:10;:15;;2395:21;2423:5;2372:61;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2339:94;;;;2452:4;2444:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;2499:4;2492:11;;;;2194:317;:::o;578:27::-;;;;:::o;2519:251::-;2616:4;2594:26;;:6;:18;2601:10;2594:18;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;2586:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;2668:8;2685:13;2668:31;;2710:2;:11;;;2722:10;2734:2;:12;;;2755:4;2734:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2710:52;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2519:251;;:::o;4977:238::-;5040:13;5124:9;;;;;;;;;;;;5114:20;;;;;;5089:10;5100:7;5089:19;;;;;;:::i;:::-;;;;;;;;;;;;;5073:37;;;;;;:::i;:::-;;;;;;;;:61;;5065:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;5180:6;5187:10;5198:7;5187:19;;;;;;:::i;:::-;;;;;;;;;;;;;5180:27;;;;;;:::i;:::-;;;;;;;;;;;;;5173:34;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4977:238;;;:::o;5223:303::-;5358:10;5333:35;;:12;5346:7;5333:21;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:35;;;5325:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;5446:8;5422:12;5435:7;5422:21;;;;;;:::i;:::-;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;5509:8;5470:48;;5497:10;5470:48;;;;;;;;;;;;5223:303;;:::o;880:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1525:220::-;1607:13;;;;;;;;;;;1593:27;;:10;:27;;;1585:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;1693:4;1670:6;:20;1677:12;1670:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1724:12;1713:24;;;;;;;;;;;;1525:220;:::o;3012:620::-;3180:4;3158:26;;:6;:18;3165:10;3158:18;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;3150:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3293:9;;;;;;;;;;;;3283:20;;;;;;3258:10;3269:7;3258:19;;;;;;:::i;:::-;;;;;;;;;;;;;3242:37;;;;;;:::i;:::-;;;;;;;;:61;3234:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;3371:5;;3358:9;:18;;3350:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;3426:8;3409:6;3416;3409:14;;;;;;:::i;:::-;;;;;;;;;;;;;:25;;;;;;;;;;;;:::i;:::-;;3467:6;3445:10;3456:7;3445:19;;;;;;:::i;:::-;;;;;;;;;;;;;:28;;;;;;;;;;;;:::i;:::-;;3508:12;3484;3497:7;3484:21;;;;;;:::i;:::-;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;3551:15;3531:8;3540:7;3531:17;;;;;;:::i;:::-;;;;;;;;;;;;;:35;;;;3577:11;:9;:11::i;:::-;3616:7;3604:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3012:620;;;;:::o;1990:192::-;2065:13;;;;;;;;;;;2051:27;;:10;:27;;;2043:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2135:8;2127:5;:16;;;;2159:15;2168:5;;2159:15;;;;;;:::i;:::-;;;;;;;;1990:192;:::o;650:21::-;;;;:::o;5534:311::-;5635:13;;;;;;;;;;;5621:27;;:10;:27;;;5613:92;;;;;;;;;;;;:::i;:::-;;;;;;;;;5744:1;5724:22;;:8;:22;;;;5716:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;5809:28;5828:8;5809:18;:28::i;:::-;5534:311;:::o;3644:824::-;3844:4;3822:26;;:6;:18;3829:10;3822:18;;;;;;;;;;;;;;;;;;;;;;;;;:26;;;3814:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3957:9;;;;;;;;;;;;3947:20;;;;;;3922:10;3933:7;3922:19;;;;;;:::i;:::-;;;;;;;;;;;;;3906:37;;;;;;:::i;:::-;;;;;;;;:61;3898:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;4007:15;4031:5;4007:30;;4106:6;4056:9;:19;;;4076:10;4096:4;4056:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:56;;4048:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;4157:9;:22;;;4180:10;4200:4;4207:6;4157:57;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4149:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;4262:8;4245:6;4252;4245:14;;;;;;:::i;:::-;;;;;;;;;;;;;:25;;;;;;;;;;;;:::i;:::-;;4303:6;4281:10;4292:7;4281:19;;;;;;:::i;:::-;;;;;;;;;;;;;:28;;;;;;;;;;;;:::i;:::-;;4344:12;4320;4333:7;4320:21;;;;;;:::i;:::-;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;4387:15;4367:8;4376:7;4367:17;;;;;;:::i;:::-;;;;;;;;;;;;;:35;;;;4413:11;:9;:11::i;:::-;4452:7;4440:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3644:824;;;;;;;:::o;934:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;733:41::-;;;;;;;;;;;;;:::o;684:42::-;;;;:::o;4480:489::-;4586:10;4561:35;;:12;4574:7;4561:21;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:35;;;4553:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;4707:9;;;;;;;;;;;;4697:20;;;;;;4672:10;4683:7;4672:19;;;;;;:::i;:::-;;;;;;;;;;;;;4656:37;;;;;;:::i;:::-;;;;;;;;:61;;4648:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;4763:6;4770:10;4781:7;4770:19;;;;;;:::i;:::-;;;;;;;;;;;;;4763:27;;;;;;:::i;:::-;;;;;;;;;;;;;;4756:34;;;;:::i;:::-;4808:10;4819:7;4808:19;;;;;;:::i;:::-;;;;;;;;;;;;;;4801:26;;;;:::i;:::-;4845:12;4858:7;4845:21;;;;;;:::i;:::-;;;;;;;;;;;;;;4838:28;;;;;;;;;;;4884:8;4893:7;4884:17;;;;;;:::i;:::-;;;;;;;;;;;;;4877:24;;;4912:11;:9;:11::i;:::-;4953:7;4939:22;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4480:489;:::o;2784:102::-;2839:1;2824:11;;:16;;;;;;;:::i;:::-;;;;;;;;2856:22;2866:11;;2856:22;;;;;;:::i;:::-;;;;;;;;2784:102::o;5853:205::-;5927:16;5946:13;;;;;;;;;;;5927:32;;5986:8;5970:13;;:24;;;;;;;;;;;;;;;;;;6041:8;6010:40;;6031:8;6010:40;;;;;;;;;;;;5853:205;;:::o;2898:106::-;2955:1;2938:13;;:18;;;;;;;:::i;:::-;;;;;;;;2972:24;2982:13;;2972:24;;;;;;:::i;:::-;;;;;;;;2898:106::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:1:-;;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;358:139::-;;442:6;429:20;420:29;;458:33;485:5;458:33;:::i;:::-;410:87;;;;:::o;503:137::-;;588:6;582:13;573:22;;604:30;628:5;604:30;:::i;:::-;563:77;;;;:::o;660:273::-;;765:3;758:4;750:6;746:17;742:27;732:2;;783:1;780;773:12;732:2;823:6;810:20;848:79;923:3;915:6;908:4;900:6;896:17;848:79;:::i;:::-;839:88;;722:211;;;;;:::o;939:139::-;;1023:6;1010:20;1001:29;;1039:33;1066:5;1039:33;:::i;:::-;991:87;;;;:::o;1084:143::-;;1172:6;1166:13;1157:22;;1188:33;1215:5;1188:33;:::i;:::-;1147:80;;;;:::o;1233:262::-;;1341:2;1329:9;1320:7;1316:23;1312:32;1309:2;;;1357:1;1354;1347:12;1309:2;1400:1;1425:53;1470:7;1461:6;1450:9;1446:22;1425:53;:::i;:::-;1415:63;;1371:117;1299:196;;;;:::o;1501:278::-;;1617:2;1605:9;1596:7;1592:23;1588:32;1585:2;;;1633:1;1630;1623:12;1585:2;1676:1;1701:61;1754:7;1745:6;1734:9;1730:22;1701:61;:::i;:::-;1691:71;;1647:125;1575:204;;;;:::o;1785:375::-;;1903:2;1891:9;1882:7;1878:23;1874:32;1871:2;;;1919:1;1916;1909:12;1871:2;1990:1;1979:9;1975:17;1962:31;2020:18;2012:6;2009:30;2006:2;;;2052:1;2049;2042:12;2006:2;2080:63;2135:7;2126:6;2115:9;2111:22;2080:63;:::i;:::-;2070:73;;1933:220;1861:299;;;;:::o;2166:520::-;;;2301:2;2289:9;2280:7;2276:23;2272:32;2269:2;;;2317:1;2314;2307:12;2269:2;2388:1;2377:9;2373:17;2360:31;2418:18;2410:6;2407:30;2404:2;;;2450:1;2447;2440:12;2404:2;2478:63;2533:7;2524:6;2513:9;2509:22;2478:63;:::i;:::-;2468:73;;2331:220;2590:2;2616:53;2661:7;2652:6;2641:9;2637:22;2616:53;:::i;:::-;2606:63;;2561:118;2259:427;;;;;:::o;2692:1037::-;;;;;2881:3;2869:9;2860:7;2856:23;2852:33;2849:2;;;2898:1;2895;2888:12;2849:2;2969:1;2958:9;2954:17;2941:31;2999:18;2991:6;2988:30;2985:2;;;3031:1;3028;3021:12;2985:2;3059:63;3114:7;3105:6;3094:9;3090:22;3059:63;:::i;:::-;3049:73;;2912:220;3199:2;3188:9;3184:18;3171:32;3230:18;3222:6;3219:30;3216:2;;;3262:1;3259;3252:12;3216:2;3290:63;3345:7;3336:6;3325:9;3321:22;3290:63;:::i;:::-;3280:73;;3142:221;3430:2;3419:9;3415:18;3402:32;3461:18;3453:6;3450:30;3447:2;;;3493:1;3490;3483:12;3447:2;3521:63;3576:7;3567:6;3556:9;3552:22;3521:63;:::i;:::-;3511:73;;3373:221;3633:2;3659:53;3704:7;3695:6;3684:9;3680:22;3659:53;:::i;:::-;3649:63;;3604:118;2839:890;;;;;;;:::o;3735:1329::-;;;;;;;3958:3;3946:9;3937:7;3933:23;3929:33;3926:2;;;3975:1;3972;3965:12;3926:2;4046:1;4035:9;4031:17;4018:31;4076:18;4068:6;4065:30;4062:2;;;4108:1;4105;4098:12;4062:2;4136:63;4191:7;4182:6;4171:9;4167:22;4136:63;:::i;:::-;4126:73;;3989:220;4276:2;4265:9;4261:18;4248:32;4307:18;4299:6;4296:30;4293:2;;;4339:1;4336;4329:12;4293:2;4367:63;4422:7;4413:6;4402:9;4398:22;4367:63;:::i;:::-;4357:73;;4219:221;4507:2;4496:9;4492:18;4479:32;4538:18;4530:6;4527:30;4524:2;;;4570:1;4567;4560:12;4524:2;4598:63;4653:7;4644:6;4633:9;4629:22;4598:63;:::i;:::-;4588:73;;4450:221;4710:2;4736:53;4781:7;4772:6;4761:9;4757:22;4736:53;:::i;:::-;4726:63;;4681:118;4838:3;4865:53;4910:7;4901:6;4890:9;4886:22;4865:53;:::i;:::-;4855:63;;4809:119;4967:3;4994:53;5039:7;5030:6;5019:9;5015:22;4994:53;:::i;:::-;4984:63;;4938:119;3916:1148;;;;;;;;:::o;5070:262::-;;5178:2;5166:9;5157:7;5153:23;5149:32;5146:2;;;5194:1;5191;5184:12;5146:2;5237:1;5262:53;5307:7;5298:6;5287:9;5283:22;5262:53;:::i;:::-;5252:63;;5208:117;5136:196;;;;:::o;5338:284::-;;5457:2;5445:9;5436:7;5432:23;5428:32;5425:2;;;5473:1;5470;5463:12;5425:2;5516:1;5541:64;5597:7;5588:6;5577:9;5573:22;5541:64;:::i;:::-;5531:74;;5487:128;5415:207;;;;:::o;5628:118::-;5715:24;5733:5;5715:24;:::i;:::-;5710:3;5703:37;5693:53;;:::o;5752:360::-;;5866:38;5898:5;5866:38;:::i;:::-;5920:70;5983:6;5978:3;5920:70;:::i;:::-;5913:77;;5999:52;6044:6;6039:3;6032:4;6025:5;6021:16;5999:52;:::i;:::-;6076:29;6098:6;6076:29;:::i;:::-;6071:3;6067:39;6060:46;;5842:270;;;;;:::o;6140:849::-;;6282:5;6276:12;6311:36;6337:9;6311:36;:::i;:::-;6363:88;6444:6;6439:3;6363:88;:::i;:::-;6356:95;;6482:1;6471:9;6467:17;6498:1;6493:137;;;;6644:1;6639:344;;;;6460:523;;6493:137;6577:4;6573:9;6562;6558:25;6553:3;6546:38;6613:6;6608:3;6604:16;6597:23;;6493:137;;6639:344;6706:41;6741:5;6706:41;:::i;:::-;6769:1;6783:154;6797:6;6794:1;6791:13;6783:154;;;6871:7;6865:14;6861:1;6856:3;6852:11;6845:35;6921:1;6912:7;6908:15;6897:26;;6819:4;6816:1;6812:12;6807:17;;6783:154;;;6966:6;6961:3;6957:16;6950:23;;6646:337;;6460:523;;6249:740;;;;;;:::o;6995:364::-;;7111:39;7144:5;7111:39;:::i;:::-;7166:71;7230:6;7225:3;7166:71;:::i;:::-;7159:78;;7246:52;7291:6;7286:3;7279:4;7272:5;7268:16;7246:52;:::i;:::-;7323:29;7345:6;7323:29;:::i;:::-;7318:3;7314:39;7307:46;;7087:272;;;;;:::o;7365:377::-;;7499:39;7532:5;7499:39;:::i;:::-;7554:89;7636:6;7631:3;7554:89;:::i;:::-;7547:96;;7652:52;7697:6;7692:3;7685:4;7678:5;7674:16;7652:52;:::i;:::-;7729:6;7724:3;7720:16;7713:23;;7475:267;;;;;:::o;7772:845::-;;7912:5;7906:12;7941:36;7967:9;7941:36;:::i;:::-;7993:89;8075:6;8070:3;7993:89;:::i;:::-;7986:96;;8113:1;8102:9;8098:17;8129:1;8124:137;;;;8275:1;8270:341;;;;8091:520;;8124:137;8208:4;8204:9;8193;8189:25;8184:3;8177:38;8244:6;8239:3;8235:16;8228:23;;8124:137;;8270:341;8337:38;8369:5;8337:38;:::i;:::-;8397:1;8411:154;8425:6;8422:1;8419:13;8411:154;;;8499:7;8493:14;8489:1;8484:3;8480:11;8473:35;8549:1;8540:7;8536:15;8525:26;;8447:4;8444:1;8440:12;8435:17;;8411:154;;;8594:6;8589:3;8585:16;8578:23;;8277:334;;8091:520;;7879:738;;;;;;:::o;8623:366::-;;8786:67;8850:2;8845:3;8786:67;:::i;:::-;8779:74;;8862:93;8951:3;8862:93;:::i;:::-;8980:2;8975:3;8971:12;8964:19;;8769:220;;;:::o;8995:366::-;;9158:67;9222:2;9217:3;9158:67;:::i;:::-;9151:74;;9234:93;9323:3;9234:93;:::i;:::-;9352:2;9347:3;9343:12;9336:19;;9141:220;;;:::o;9367:366::-;;9530:67;9594:2;9589:3;9530:67;:::i;:::-;9523:74;;9606:93;9695:3;9606:93;:::i;:::-;9724:2;9719:3;9715:12;9708:19;;9513:220;;;:::o;9739:366::-;;9902:67;9966:2;9961:3;9902:67;:::i;:::-;9895:74;;9978:93;10067:3;9978:93;:::i;:::-;10096:2;10091:3;10087:12;10080:19;;9885:220;;;:::o;10111:366::-;;10274:67;10338:2;10333:3;10274:67;:::i;:::-;10267:74;;10350:93;10439:3;10350:93;:::i;:::-;10468:2;10463:3;10459:12;10452:19;;10257:220;;;:::o;10483:366::-;;10646:67;10710:2;10705:3;10646:67;:::i;:::-;10639:74;;10722:93;10811:3;10722:93;:::i;:::-;10840:2;10835:3;10831:12;10824:19;;10629:220;;;:::o;10855:366::-;;11018:67;11082:2;11077:3;11018:67;:::i;:::-;11011:74;;11094:93;11183:3;11094:93;:::i;:::-;11212:2;11207:3;11203:12;11196:19;;11001:220;;;:::o;11227:366::-;;11390:67;11454:2;11449:3;11390:67;:::i;:::-;11383:74;;11466:93;11555:3;11466:93;:::i;:::-;11584:2;11579:3;11575:12;11568:19;;11373:220;;;:::o;11599:366::-;;11762:67;11826:2;11821:3;11762:67;:::i;:::-;11755:74;;11838:93;11927:3;11838:93;:::i;:::-;11956:2;11951:3;11947:12;11940:19;;11745:220;;;:::o;11971:366::-;;12134:67;12198:2;12193:3;12134:67;:::i;:::-;12127:74;;12210:93;12299:3;12210:93;:::i;:::-;12328:2;12323:3;12319:12;12312:19;;12117:220;;;:::o;12343:366::-;;12506:67;12570:2;12565:3;12506:67;:::i;:::-;12499:74;;12582:93;12671:3;12582:93;:::i;:::-;12700:2;12695:3;12691:12;12684:19;;12489:220;;;:::o;12715:366::-;;12878:67;12942:2;12937:3;12878:67;:::i;:::-;12871:74;;12954:93;13043:3;12954:93;:::i;:::-;13072:2;13067:3;13063:12;13056:19;;12861:220;;;:::o;13087:366::-;;13250:67;13314:2;13309:3;13250:67;:::i;:::-;13243:74;;13326:93;13415:3;13326:93;:::i;:::-;13444:2;13439:3;13435:12;13428:19;;13233:220;;;:::o;13459:398::-;;13639:83;13720:1;13715:3;13639:83;:::i;:::-;13632:90;;13731:93;13820:3;13731:93;:::i;:::-;13849:1;13844:3;13840:11;13833:18;;13622:235;;;:::o;13863:366::-;;14026:67;14090:2;14085:3;14026:67;:::i;:::-;14019:74;;14102:93;14191:3;14102:93;:::i;:::-;14220:2;14215:3;14211:12;14204:19;;14009:220;;;:::o;14235:366::-;;14398:67;14462:2;14457:3;14398:67;:::i;:::-;14391:74;;14474:93;14563:3;14474:93;:::i;:::-;14592:2;14587:3;14583:12;14576:19;;14381:220;;;:::o;14607:366::-;;14770:67;14834:2;14829:3;14770:67;:::i;:::-;14763:74;;14846:93;14935:3;14846:93;:::i;:::-;14964:2;14959:3;14955:12;14948:19;;14753:220;;;:::o;14979:118::-;15066:24;15084:5;15066:24;:::i;:::-;15061:3;15054:37;15044:53;;:::o;15103:273::-;;15256:94;15346:3;15337:6;15256:94;:::i;:::-;15249:101;;15367:3;15360:10;;15238:138;;;;:::o;15382:275::-;;15536:95;15627:3;15618:6;15536:95;:::i;:::-;15529:102;;15648:3;15641:10;;15518:139;;;;:::o;15663:269::-;;15814:92;15902:3;15893:6;15814:92;:::i;:::-;15807:99;;15923:3;15916:10;;15796:136;;;;:::o;15938:379::-;;16144:147;16287:3;16144:147;:::i;:::-;16137:154;;16308:3;16301:10;;16126:191;;;:::o;16323:222::-;;16454:2;16443:9;16439:18;16431:26;;16467:71;16535:1;16524:9;16520:17;16511:6;16467:71;:::i;:::-;16421:124;;;;:::o;16551:332::-;;16710:2;16699:9;16695:18;16687:26;;16723:71;16791:1;16780:9;16776:17;16767:6;16723:71;:::i;:::-;16804:72;16872:2;16861:9;16857:18;16848:6;16804:72;:::i;:::-;16677:206;;;;;:::o;16889:442::-;;17076:2;17065:9;17061:18;17053:26;;17089:71;17157:1;17146:9;17142:17;17133:6;17089:71;:::i;:::-;17170:72;17238:2;17227:9;17223:18;17214:6;17170:72;:::i;:::-;17252;17320:2;17309:9;17305:18;17296:6;17252:72;:::i;:::-;17043:288;;;;;;:::o;17337:332::-;;17496:2;17485:9;17481:18;17473:26;;17509:71;17577:1;17566:9;17562:17;17553:6;17509:71;:::i;:::-;17590:72;17658:2;17647:9;17643:18;17634:6;17590:72;:::i;:::-;17463:206;;;;;:::o;17675:309::-;;17824:2;17813:9;17809:18;17801:26;;17873:9;17867:4;17863:20;17859:1;17848:9;17844:17;17837:47;17901:76;17972:4;17963:6;17901:76;:::i;:::-;17893:84;;17791:193;;;;:::o;17990:313::-;;18141:2;18130:9;18126:18;18118:26;;18190:9;18184:4;18180:20;18176:1;18165:9;18161:17;18154:47;18218:78;18291:4;18282:6;18218:78;:::i;:::-;18210:86;;18108:195;;;;:::o;18309:419::-;;18513:2;18502:9;18498:18;18490:26;;18562:9;18556:4;18552:20;18548:1;18537:9;18533:17;18526:47;18590:131;18716:4;18590:131;:::i;:::-;18582:139;;18480:248;;;:::o;18734:419::-;;18938:2;18927:9;18923:18;18915:26;;18987:9;18981:4;18977:20;18973:1;18962:9;18958:17;18951:47;19015:131;19141:4;19015:131;:::i;:::-;19007:139;;18905:248;;;:::o;19159:419::-;;19363:2;19352:9;19348:18;19340:26;;19412:9;19406:4;19402:20;19398:1;19387:9;19383:17;19376:47;19440:131;19566:4;19440:131;:::i;:::-;19432:139;;19330:248;;;:::o;19584:419::-;;19788:2;19777:9;19773:18;19765:26;;19837:9;19831:4;19827:20;19823:1;19812:9;19808:17;19801:47;19865:131;19991:4;19865:131;:::i;:::-;19857:139;;19755:248;;;:::o;20009:419::-;;20213:2;20202:9;20198:18;20190:26;;20262:9;20256:4;20252:20;20248:1;20237:9;20233:17;20226:47;20290:131;20416:4;20290:131;:::i;:::-;20282:139;;20180:248;;;:::o;20434:419::-;;20638:2;20627:9;20623:18;20615:26;;20687:9;20681:4;20677:20;20673:1;20662:9;20658:17;20651:47;20715:131;20841:4;20715:131;:::i;:::-;20707:139;;20605:248;;;:::o;20859:419::-;;21063:2;21052:9;21048:18;21040:26;;21112:9;21106:4;21102:20;21098:1;21087:9;21083:17;21076:47;21140:131;21266:4;21140:131;:::i;:::-;21132:139;;21030:248;;;:::o;21284:419::-;;21488:2;21477:9;21473:18;21465:26;;21537:9;21531:4;21527:20;21523:1;21512:9;21508:17;21501:47;21565:131;21691:4;21565:131;:::i;:::-;21557:139;;21455:248;;;:::o;21709:419::-;;21913:2;21902:9;21898:18;21890:26;;21962:9;21956:4;21952:20;21948:1;21937:9;21933:17;21926:47;21990:131;22116:4;21990:131;:::i;:::-;21982:139;;21880:248;;;:::o;22134:419::-;;22338:2;22327:9;22323:18;22315:26;;22387:9;22381:4;22377:20;22373:1;22362:9;22358:17;22351:47;22415:131;22541:4;22415:131;:::i;:::-;22407:139;;22305:248;;;:::o;22559:419::-;;22763:2;22752:9;22748:18;22740:26;;22812:9;22806:4;22802:20;22798:1;22787:9;22783:17;22776:47;22840:131;22966:4;22840:131;:::i;:::-;22832:139;;22730:248;;;:::o;22984:419::-;;23188:2;23177:9;23173:18;23165:26;;23237:9;23231:4;23227:20;23223:1;23212:9;23208:17;23201:47;23265:131;23391:4;23265:131;:::i;:::-;23257:139;;23155:248;;;:::o;23409:419::-;;23613:2;23602:9;23598:18;23590:26;;23662:9;23656:4;23652:20;23648:1;23637:9;23633:17;23626:47;23690:131;23816:4;23690:131;:::i;:::-;23682:139;;23580:248;;;:::o;23834:419::-;;24038:2;24027:9;24023:18;24015:26;;24087:9;24081:4;24077:20;24073:1;24062:9;24058:17;24051:47;24115:131;24241:4;24115:131;:::i;:::-;24107:139;;24005:248;;;:::o;24259:419::-;;24463:2;24452:9;24448:18;24440:26;;24512:9;24506:4;24502:20;24498:1;24487:9;24483:17;24476:47;24540:131;24666:4;24540:131;:::i;:::-;24532:139;;24430:248;;;:::o;24684:419::-;;24888:2;24877:9;24873:18;24865:26;;24937:9;24931:4;24927:20;24923:1;24912:9;24908:17;24901:47;24965:131;25091:4;24965:131;:::i;:::-;24957:139;;24855:248;;;:::o;25109:222::-;;25240:2;25229:9;25225:18;25217:26;;25253:71;25321:1;25310:9;25306:17;25297:6;25253:71;:::i;:::-;25207:124;;;;:::o;25337:129::-;;25398:20;;:::i;:::-;25388:30;;25427:33;25455:4;25447:6;25427:33;:::i;:::-;25378:88;;;:::o;25472:75::-;;25538:2;25532:9;25522:19;;25512:35;:::o;25553:308::-;;25705:18;25697:6;25694:30;25691:2;;;25727:18;;:::i;:::-;25691:2;25765:29;25787:6;25765:29;:::i;:::-;25757:37;;25849:4;25843;25839:15;25831:23;;25620:241;;;:::o;25867:144::-;;25942:3;25934:11;;25965:3;25962:1;25955:14;25999:4;25996:1;25986:18;25978:26;;25924:87;;;:::o;26017:141::-;;26089:3;26081:11;;26112:3;26109:1;26102:14;26146:4;26143:1;26133:18;26125:26;;26071:87;;;:::o;26164:98::-;;26249:5;26243:12;26233:22;;26222:40;;;:::o;26268:99::-;;26354:5;26348:12;26338:22;;26327:40;;;:::o;26373:168::-;;26490:6;26485:3;26478:19;26530:4;26525:3;26521:14;26506:29;;26468:73;;;;:::o;26547:147::-;;26685:3;26670:18;;26660:34;;;;:::o;26700:169::-;;26818:6;26813:3;26806:19;26858:4;26853:3;26849:14;26834:29;;26796:73;;;;:::o;26875:148::-;;27014:3;26999:18;;26989:34;;;;:::o;27029:305::-;;27088:20;27106:1;27088:20;:::i;:::-;27083:25;;27122:20;27140:1;27122:20;:::i;:::-;27117:25;;27276:1;27208:66;27204:74;27201:1;27198:81;27195:2;;;27282:18;;:::i;:::-;27195:2;27326:1;27323;27319:9;27312:16;;27073:261;;;;:::o;27340:96::-;;27406:24;27424:5;27406:24;:::i;:::-;27395:35;;27385:51;;;:::o;27442:90::-;;27519:5;27512:13;27505:21;27494:32;;27484:48;;;:::o;27538:126::-;;27615:42;27608:5;27604:54;27593:65;;27583:81;;;:::o;27670:77::-;;27736:5;27725:16;;27715:32;;;:::o;27753:154::-;27837:6;27832:3;27827;27814:30;27899:1;27890:6;27885:3;27881:16;27874:27;27804:103;;;:::o;27913:307::-;27981:1;27991:113;28005:6;28002:1;27999:13;27991:113;;;28090:1;28085:3;28081:11;28075:18;28071:1;28066:3;28062:11;28055:39;28027:2;28024:1;28020:10;28015:15;;27991:113;;;28122:6;28119:1;28116:13;28113:2;;;28202:1;28193:6;28188:3;28184:16;28177:27;28113:2;27962:258;;;;:::o;28226:320::-;;28307:1;28301:4;28297:12;28287:22;;28354:1;28348:4;28344:12;28375:18;28365:2;;28431:4;28423:6;28419:17;28409:27;;28365:2;28493;28485:6;28482:14;28462:18;28459:38;28456:2;;;28512:18;;:::i;:::-;28456:2;28277:269;;;;:::o;28552:281::-;28635:27;28657:4;28635:27;:::i;:::-;28627:6;28623:40;28765:6;28753:10;28750:22;28729:18;28717:10;28714:34;28711:62;28708:2;;;28776:18;;:::i;:::-;28708:2;28816:10;28812:2;28805:22;28595:238;;;:::o;28839:180::-;28887:77;28884:1;28877:88;28984:4;28981:1;28974:15;29008:4;29005:1;28998:15;29025:180;29073:77;29070:1;29063:88;29170:4;29167:1;29160:15;29194:4;29191:1;29184:15;29211:180;29259:77;29256:1;29249:88;29356:4;29353:1;29346:15;29380:4;29377:1;29370:15;29397:102;;29489:2;29485:7;29480:2;29473:5;29469:14;29465:28;29455:38;;29445:54;;;:::o;29505:166::-;29645:18;29641:1;29633:6;29629:14;29622:42;29611:60;:::o;29677:170::-;29817:22;29813:1;29805:6;29801:14;29794:46;29783:64;:::o;29853:221::-;29993:34;29989:1;29981:6;29977:14;29970:58;30062:4;30057:2;30049:6;30045:15;30038:29;29959:115;:::o;30080:224::-;30220:34;30216:1;30208:6;30204:14;30197:58;30289:7;30284:2;30276:6;30272:15;30265:32;30186:118;:::o;30310:167::-;30450:19;30446:1;30438:6;30434:14;30427:43;30416:61;:::o;30483:234::-;30623:34;30619:1;30611:6;30607:14;30600:58;30692:17;30687:2;30679:6;30675:15;30668:42;30589:128;:::o;30723:173::-;30863:25;30859:1;30851:6;30847:14;30840:49;30829:67;:::o;30902:223::-;31042:34;31038:1;31030:6;31026:14;31019:58;31111:6;31106:2;31098:6;31094:15;31087:31;31008:117;:::o;31131:181::-;31271:33;31267:1;31259:6;31255:14;31248:57;31237:75;:::o;31318:239::-;31458:34;31454:1;31446:6;31442:14;31435:58;31527:22;31522:2;31514:6;31510:15;31503:47;31424:133;:::o;31563:220::-;31703:34;31699:1;31691:6;31687:14;31680:58;31772:3;31767:2;31759:6;31755:15;31748:28;31669:114;:::o;31789:221::-;31929:34;31925:1;31917:6;31913:14;31906:58;31998:4;31993:2;31985:6;31981:15;31974:29;31895:115;:::o;32016:174::-;32156:26;32152:1;32144:6;32140:14;32133:50;32122:68;:::o;32196:114::-;32302:8;:::o;32316:172::-;32456:24;32452:1;32444:6;32440:14;32433:48;32422:66;:::o;32494:225::-;32634:34;32630:1;32622:6;32618:14;32611:58;32703:8;32698:2;32690:6;32686:15;32679:33;32600:119;:::o;32725:182::-;32865:34;32861:1;32853:6;32849:14;32842:58;32831:76;:::o;32913:122::-;32986:24;33004:5;32986:24;:::i;:::-;32979:5;32976:35;32966:2;;33025:1;33022;33015:12;32966:2;32956:79;:::o;33041:116::-;33111:21;33126:5;33111:21;:::i;:::-;33104:5;33101:32;33091:2;;33147:1;33144;33137:12;33091:2;33081:76;:::o;33163:122::-;33236:24;33254:5;33236:24;:::i;:::-;33229:5;33226:35;33216:2;;33275:1;33272;33265:12;33216:2;33206:79;:::o

Swarm Source

ipfs://65342377a4dfc75489a7485ed573ae3b327494683658a8f16dc23eb8dc3a7ba6
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.