Contract 0xec24694fF3785E6EBF2754479DAB383940cC220E

 

Contract Overview

Balance:
0 FTM

FTM Value:
$0.00

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x534876178bac448f8e10a1f7ed0a09a264eadaa78fbdc86706645de46255c202Set Approval For...482918912022-10-03 4:13:432 days 17 mins ago0xc4d1356818314af3dce6d6471c774c8e712dd950 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000141777
0x8495fbf67bc63f46b29ead49f4d4d1d997248cba4b115053d2a30751b29b8e4cSet Approval For...480565102022-09-30 2:24:265 days 2 hrs ago0xe9db81a85fdc1f28239bdca8d3054ad39f44a8d5 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000054316058
0x2eb9d8711ebd4c4d70eb3862ed7f0607e109f975bdd98b4d3abc59f3dc930048Set Approval For...478098772022-09-26 19:05:188 days 9 hrs ago0x5eaa957ad3c096400cfbddd6425fdc5832c2e2e1 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.00020588
0x6ae6455846deecd0f0378cd96f7cc43e930e68faf00a14791b75df7b04112b9bSet Approval For...477405692022-09-25 21:03:369 days 7 hrs ago0x3905528c9aa6df9f26f6f513990c04e055baad64 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.00009543072
0x1ab56fb3d973e50036ce531b68caa5d5ba3fc7fafeeea8adafcc5f98a2ba7cceSafe Transfer Fr...476815472022-09-25 2:43:1110 days 1 hr ago0x5eae6c797ac561cb68cd7a972963069122138157 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000218168
0x54ee180ee7d6c969a2e9e9b5c4e8b61111c1b8f338ec470c28d7fae3b6befa95Set Approval For...470686242022-09-16 19:12:0418 days 9 hrs ago0x3b1594b3baa8e6602b2bb21c7875df15e0298dda IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.00094516
0xed213a0aa116263e30024ac427e3941d9cd0e348db027a7b7884cec4cdd4b5beSet Approval For...466667322022-09-09 23:29:3525 days 5 hrs ago0x30f662d7b32be999da54d82027c171261bc50e9d IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.013043208
0xe7b5c356420f2e86700942aeed404438cc047fe0354df5ea3f4c049ea7fc2504Set Approval For...465808372022-09-08 8:31:5026 days 19 hrs ago0x727a10ae1afc91754d357b4748f6d793c9795026 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.00094516
0xe927e238416024878a981f899b3000d60073d4a08cf9165aeb3e2fa9c80e6e2cSet Approval For...464556632022-09-06 6:01:0528 days 22 hrs ago0x073306ef2e41e8d8daa7e108d059b29675170a3f IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.00094516
0xfa31198c83439318619e00ec801607d3ba6f41a8088e6d7c52b70e9292011963Set Approval For...464458452022-09-06 2:36:3829 days 1 hr ago0x7b26e71c7f89de31feb752d9b14219078fbd4585 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000216648096
0x30f75e44377ef369fcc104bff37a87e151f6761f8e1a3ee3874104d0d79730c2Set Approval For...464244842022-09-05 18:54:5329 days 9 hrs ago0x06f667cd96735f1850799baa0917800e7d0beb39 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.00094516
0x45d6ab06972f5ae4f843e848ce140e445956a313a74af2481778601eb27db65dSet Approval For...461614032022-09-01 22:16:2233 days 6 hrs ago0xa4c4261ef5852dae407c2e49cf04440e84555908 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000062625582
0xb6ddd73389f25fdf4c3ceb3644b90c097dc081c72c45968b416a39a811597c3bSet Approval For...461244562022-09-01 9:14:1433 days 19 hrs ago0xe8996228b2a7a7937af6ecb2bee5b99baba6af3c IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.007825468652
0xd10a439c4f7a028029c9fda90482b8b6307253c66abc82f3247a6d65bc4d76c2Safe Transfer Fr...459193522022-08-29 8:56:5136 days 19 hrs ago0x3905528c9aa6df9f26f6f513990c04e055baad64 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000817616
0x45fbf49bf1ca099d7080c0cb2b4bebc1b2132ea8b6254039858de5ca73e482fdSafe Transfer Fr...458294332022-08-28 1:35:4838 days 2 hrs ago0x22e5a1d060490f23cdc393d3090972853a3a22bd IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000266442
0x990323f62e1db1c7209fe9ba53f07ad08479e316492b4dc021721394f84fc3d6Safe Transfer Fr...457631382022-08-27 3:12:0339 days 1 hr ago0xbbb537efa3dd132ab4ae3ccb37a5bc57236c42cb IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000276898491
0x6c7d442db4f03ae555dec7ef1f111a3ec098e5bf7f4f1eed6679ae16fccfea4aSet Approval For...456975362022-08-26 3:47:4140 days 43 mins ago0x073306ef2e41e8d8daa7e108d059b29675170a3f IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000069912164
0xf292db2c519a1222073910cfe572be76be8488af0672ad4db28947cc30f34bdcSet Approval For...456961862022-08-26 3:22:1940 days 1 hr ago0x5ccf599b7d43bc3f576ea01ec0aa307ecbc94102 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.00023629
0x9627357746f437ebffa07204962f01cd9f475bb63e430f3e3a58bd5385b47f9cSafe Transfer Fr...456171502022-08-25 0:15:3841 days 4 hrs ago0xbbb537efa3dd132ab4ae3ccb37a5bc57236c42cb IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000274926
0x87c5901b16ad19ceda64567ca4e128f1cbe4f20bef9234c82a033d8c15e35a2bSafe Transfer Fr...456068132022-08-24 20:51:4641 days 7 hrs ago0xbbb537efa3dd132ab4ae3ccb37a5bc57236c42cb IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.003802292967
0xeece189c62809d6c26720da7124907ed2a630570c8da0e3be6b0f8d6bc633721Set Approval For...455346532022-08-23 20:11:0342 days 8 hrs ago0xbc622c6bcc9200c68d525adf5c8b1b9c3d1c6de3 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000061145269
0xa28f6f01d024139e467bd75cccf645f1ca1798d311c17d3ea7a8426894ce4540Set Approval For...455314732022-08-23 19:07:2642 days 9 hrs ago0x271f89c1179b7035cd15d1c81f44b578b1b9c160 IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000094516
0x14df1bc420a627237fb076f84402513bf3b3ca10733a77e32242f2f0b949c5d9Transfer From455147502022-08-23 13:21:0542 days 15 hrs ago0xec3fab4bbaa7e441e220626b305e188f9fc360ca IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000110695527
0x0d9ae28885a90c29399d1ced90d0064e2d95a642bc95109214a40016c5d122abTransfer From455146932022-08-23 13:20:0042 days 15 hrs ago0xec3fab4bbaa7e441e220626b305e188f9fc360ca IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000158808134
0xce3e1749bcd595f44e9bc089563c7059c5787cb04d769f0aa17d14c70df83cb2Set Approval For...455104652022-08-23 11:54:2142 days 16 hrs ago0xf44c56acbe78dd7898123407368230d5c7fd6f2a IN  0xec24694ff3785e6ebf2754479dab383940cc220e0 FTM0.000141774
[ Download CSV Export 
Latest 9 internal transactions
Parent Txn Hash Block From To Value
0xda9a64dbcba942138a7733215716fa005861bc1388327fbfa7034c8e673c81ac372004242022-04-29 6:50:16158 days 21 hrs ago 0xec24694ff3785e6ebf2754479dab383940cc220e0xec3fab4bbaa7e441e220626b305e188f9fc360ca1,494 FTM
0xda9a64dbcba942138a7733215716fa005861bc1388327fbfa7034c8e673c81ac372004242022-04-29 6:50:16158 days 21 hrs ago 0xec24694ff3785e6ebf2754479dab383940cc220eFractal Studios: Deployer166 FTM
0xa382ab962c18f19cb89fa2b176d9be461e67a3a50c2511530c0a3b5571b74aa1340174282022-03-21 12:14:02197 days 16 hrs ago 0xec24694ff3785e6ebf2754479dab383940cc220e0xec3fab4bbaa7e441e220626b305e188f9fc360ca21,492 FTM
0xa382ab962c18f19cb89fa2b176d9be461e67a3a50c2511530c0a3b5571b74aa1340174282022-03-21 12:14:02197 days 16 hrs ago 0xec24694ff3785e6ebf2754479dab383940cc220eFractal Studios: Deployer2,388 FTM
0x8c14ff1b72fceac5e312880c2d25b01c009dde3f4ece42ecba8a7aaae398c475315759662022-02-21 3:18:15226 days 1 hr ago 0xec24694ff3785e6ebf2754479dab383940cc220e0xec3fab4bbaa7e441e220626b305e188f9fc360ca9,828 FTM
0x8c14ff1b72fceac5e312880c2d25b01c009dde3f4ece42ecba8a7aaae398c475315759662022-02-21 3:18:15226 days 1 hr ago 0xec24694ff3785e6ebf2754479dab383940cc220eFractal Studios: Deployer1,092 FTM
0x2b2634507dd3340ff598998c5092d3969694cf48c58fff468952e7843626b3e2315276092022-02-20 15:23:32226 days 13 hrs ago 0xec24694ff3785e6ebf2754479dab383940cc220e0xec3fab4bbaa7e441e220626b305e188f9fc360ca46,116 FTM
0x2b2634507dd3340ff598998c5092d3969694cf48c58fff468952e7843626b3e2315276092022-02-20 15:23:32226 days 13 hrs ago 0xec24694ff3785e6ebf2754479dab383940cc220eFractal Studios: Deployer5,124 FTM
0xb1c213c4f5923b952bdbed5f2d3a2abf20d2ebeac31e6f1274ec9b6584ea293b306672392022-02-11 17:58:33235 days 10 hrs ago 0xec3fab4bbaa7e441e220626b305e188f9fc360ca  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TheYamalokaWarriors

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at FtmScan.com on 2022-02-11
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.10;

interface IERC20 {

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC165 {

    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

interface IERC721 is IERC165 {

    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);

    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);

    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);

    function balanceOf(address owner) external view returns (uint256 balance);

    function ownerOf(uint256 tokenId) external view returns (address owner);

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external;

    function approve(address to, uint256 tokenId) external;

    function getApproved(uint256 tokenId) external view returns (address operator);

    function setApprovalForAll(address operator, bool _approved) external;

    function isApprovedForAll(address owner, address operator) external view returns (bool);

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes calldata data
    ) external;
}

interface IERC721Enumerable is IERC721 {

    function totalSupply() external view returns (uint256);

    function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId);

    function tokenByIndex(uint256 index) external view returns (uint256);
}

abstract contract ERC165 is IERC165 {

    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IERC165).interfaceId;
    }
}

library Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";

    function toString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0x00";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {

        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

interface IERC721Metadata is IERC721 {

    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function tokenURI(uint256 tokenId) external view returns (string memory);
}

interface IERC721Receiver {

    function onERC721Received(
        address operator,
        address from,
        uint256 tokenId,
        bytes calldata data
    ) external returns (bytes4);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
    using Address for address;
    using Strings for uint256;

    string private _name;

    string private _symbol;

    mapping(uint256 => address) private _owners;

    mapping(address => uint256) private _balances;

    mapping(uint256 => address) private _tokenApprovals;

    mapping(address => mapping(address => bool)) private _operatorApprovals;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

    function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
        return
            interfaceId == type(IERC721).interfaceId ||
            interfaceId == type(IERC721Metadata).interfaceId ||
            super.supportsInterface(interfaceId);
    }

    function balanceOf(address owner) public view virtual override returns (uint256) {
        require(owner != address(0), "ERC721: balance query for the zero address");
        return _balances[owner];
    }

    function ownerOf(uint256 tokenId) public view virtual override returns (address) {
        address owner = _owners[tokenId];
        require(owner != address(0), "ERC721: owner query for nonexistent token");
        return owner;
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
        require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token");

        string memory baseURI = _baseURI();
        return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : "";
    }

    function _baseURI() internal view virtual returns (string memory) {
        return "";
    }

    function approve(address to, uint256 tokenId) public virtual override {
        address owner = ERC721.ownerOf(tokenId);
        require(to != owner, "ERC721: approval to current owner");

        require(
            _msgSender() == owner || isApprovedForAll(owner, _msgSender()),
            "ERC721: approve caller is not owner nor approved for all"
        );

        _approve(to, tokenId);
    }

    function getApproved(uint256 tokenId) public view virtual override returns (address) {
        require(_exists(tokenId), "ERC721: approved query for nonexistent token");

        return _tokenApprovals[tokenId];
    }

    function setApprovalForAll(address operator, bool approved) public virtual override {
        require(operator != _msgSender(), "ERC721: approve to caller");

        _operatorApprovals[_msgSender()][operator] = approved;
        emit ApprovalForAll(_msgSender(), operator, approved);
    }

    function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {
        return _operatorApprovals[owner][operator];
    }

    function transferFrom(
        address from,
        address to,
        uint256 tokenId
    ) public virtual override {
        require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");

        _transfer(from, to, tokenId);
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) public virtual override {
        safeTransferFrom(from, to, tokenId, "");
    }

    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) public virtual override {
        require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");
        _safeTransfer(from, to, tokenId, _data);
    }

    function _safeTransfer(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) internal virtual {
        _transfer(from, to, tokenId);
        require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer");
    }

    function _exists(uint256 tokenId) internal view virtual returns (bool) {
        return _owners[tokenId] != address(0);
    }

    function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {
        require(_exists(tokenId), "ERC721: operator query for nonexistent token");
        address owner = ERC721.ownerOf(tokenId);
        return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender));
    }

    function _safeMint(address to, uint256 tokenId) internal virtual {
        _safeMint(to, tokenId, "");
    }

    function _safeMint(
        address to,
        uint256 tokenId,
        bytes memory _data
    ) internal virtual {
        _mint(to, tokenId);
        require(
            _checkOnERC721Received(address(0), to, tokenId, _data),
            "ERC721: transfer to non ERC721Receiver implementer"
        );
    }

    function _mint(address to, uint256 tokenId) internal virtual {
        require(to != address(0), "ERC721: mint to the zero address");
        require(!_exists(tokenId), "ERC721: token already minted");

        _beforeTokenTransfer(address(0), to, tokenId);

        _balances[to] += 1;
        _owners[tokenId] = to;

        emit Transfer(address(0), to, tokenId);
    }

    function _burn(uint256 tokenId) internal virtual {
        address owner = ERC721.ownerOf(tokenId);

        _beforeTokenTransfer(owner, address(0), tokenId);

        // Clear approvals
        _approve(address(0), tokenId);

        _balances[owner] -= 1;
        delete _owners[tokenId];

        emit Transfer(owner, address(0), tokenId);
    }

    function _transfer(
        address from,
        address to,
        uint256 tokenId
    ) internal virtual {
        require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own");
        require(to != address(0), "ERC721: transfer to the zero address");

        _beforeTokenTransfer(from, to, tokenId);

        _approve(address(0), tokenId);

        _balances[from] -= 1;
        _balances[to] += 1;
        _owners[tokenId] = to;

        emit Transfer(from, to, tokenId);
    }

    function _approve(address to, uint256 tokenId) internal virtual {
        _tokenApprovals[tokenId] = to;
        emit Approval(ERC721.ownerOf(tokenId), to, tokenId);
    }

    function _checkOnERC721Received(
        address from,
        address to,
        uint256 tokenId,
        bytes memory _data
    ) private returns (bool) {
        if (to.isContract()) {
            try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) {
                return retval == IERC721Receiver.onERC721Received.selector;
            } catch (bytes memory reason) {
                if (reason.length == 0) {
                    revert("ERC721: transfer to non ERC721Receiver implementer");
                } else {
                    assembly {
                        revert(add(32, reason), mload(reason))
                    }
                }
            }
        } else {
            return true;
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 tokenId
    ) internal virtual {}
}

abstract contract ERC721Enumerable is ERC721, IERC721Enumerable {

    mapping(address => mapping(uint256 => uint256)) private _ownedTokens;

    mapping(uint256 => uint256) private _ownedTokensIndex;

    uint256[] private _allTokens;

    mapping(uint256 => uint256) private _allTokensIndex;

    function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721) returns (bool) {
        return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId);
    }

    function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) {
        require(index < ERC721.balanceOf(owner), "ERC721Enumerable: owner index out of bounds");
        return _ownedTokens[owner][index];
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _allTokens.length;
    }

    function tokenByIndex(uint256 index) public view virtual override returns (uint256) {
        require(index < ERC721Enumerable.totalSupply(), "ERC721Enumerable: global index out of bounds");
        return _allTokens[index];
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 tokenId
    ) internal virtual override {
        super._beforeTokenTransfer(from, to, tokenId);

        if (from == address(0)) {
            _addTokenToAllTokensEnumeration(tokenId);
        } else if (from != to) {
            _removeTokenFromOwnerEnumeration(from, tokenId);
        }
        if (to == address(0)) {
            _removeTokenFromAllTokensEnumeration(tokenId);
        } else if (to != from) {
            _addTokenToOwnerEnumeration(to, tokenId);
        }
    }

    function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private {
        uint256 length = ERC721.balanceOf(to);
        _ownedTokens[to][length] = tokenId;
        _ownedTokensIndex[tokenId] = length;
    }

    function _addTokenToAllTokensEnumeration(uint256 tokenId) private {
        _allTokensIndex[tokenId] = _allTokens.length;
        _allTokens.push(tokenId);
    }

    function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private {

        uint256 lastTokenIndex = ERC721.balanceOf(from) - 1;
        uint256 tokenIndex = _ownedTokensIndex[tokenId];

        if (tokenIndex != lastTokenIndex) {
            uint256 lastTokenId = _ownedTokens[from][lastTokenIndex];

            _ownedTokens[from][tokenIndex] = lastTokenId;
            _ownedTokensIndex[lastTokenId] = tokenIndex;
        }

        delete _ownedTokensIndex[tokenId];
        delete _ownedTokens[from][lastTokenIndex];
    }

    function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private {

        uint256 lastTokenIndex = _allTokens.length - 1;
        uint256 tokenIndex = _allTokensIndex[tokenId];

        uint256 lastTokenId = _allTokens[lastTokenIndex];

        _allTokens[tokenIndex] = lastTokenId;
        _allTokensIndex[lastTokenId] = tokenIndex;

        delete _allTokensIndex[tokenId];
        _allTokens.pop();
    }
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _setOwner(_msgSender());
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract TheYamalokaWarriors is ERC721Enumerable, Ownable {
  using Strings for uint256;

  string baseURI;
  string public baseExtension = ".json";
  uint256 public cost = 60 ether;
  uint256 public tokenPrice = 1;
  uint256 public maxSupply = 3333;
  uint256 public maxMintAmount = 20;
  uint256 notRevealedStartCap = 1;
  bool public paused = false;
  bool public revealed = false;
  string public notRevealedUri;
  address public token = 0x000000000000000000000000000000000000dEaD;
  address public devW = 0x000000000000000000000000000000000000dEaD;
  address public fractal = 0x564e9155Ff9268B4B7dA4F7b5fCa000Ea0f46Ebb;


  constructor(
    string memory _name,
    string memory _symbol,
    string memory _initBaseURI,
    string memory _initNotRevealedUri
  ) ERC721(_name, _symbol) {
    setBaseURI(_initBaseURI);
    setNotRevealedURI(_initNotRevealedUri);
  }

  // internal
  function _baseURI() internal view virtual override returns (string memory) {
    return baseURI;
  }



  // public
  function mint(uint256 _mintAmount) public payable {
    uint256 supply = totalSupply();
    require(!paused);
    require(_mintAmount > 0);
    require(_mintAmount <= maxMintAmount);
    require(supply + _mintAmount <= maxSupply);

    if (msg.sender != owner()) {
      require(msg.value >= cost * _mintAmount);
    }

    for (uint256 i = 1; i <= _mintAmount; i++) {
      _safeMint(msg.sender, supply + i);
    }
  }
  function mintWithToken(uint256 _mintAmount) public {
    IERC20 tokenContract = IERC20(token);
    uint256 supply = totalSupply();
    require(!paused);
    require(_mintAmount > 0);
    require(_mintAmount <= maxMintAmount);
    require(supply + _mintAmount <= maxSupply);
    require(tokenContract.transferFrom(
        msg.sender,
        address(devW),
        tokenPrice
        ) == true,
        'Could not transfer tokens from your address to this contract'
        );
    for (uint256 i = 1; i <= _mintAmount; i++) {
      _safeMint(msg.sender, supply + i);
    }
  }

  function walletOfOwner(address _owner)
    public
    view
    returns (uint256[] memory)
  {
    uint256 ownerTokenCount = balanceOf(_owner);
    uint256[] memory tokenIds = new uint256[](ownerTokenCount);
    for (uint256 i; i < ownerTokenCount; i++) {
      tokenIds[i] = tokenOfOwnerByIndex(_owner, i);
    }
    return tokenIds;
  }

  function tokenURI(uint256 tokenId)
    public
    view
    virtual
    override
    returns (string memory)
  {
    require(
      _exists(tokenId),
      "ERC721Metadata: URI query for nonexistent token"
    );
    
    if(revealed == false) {
        if(tokenId >= notRevealedStartCap){
        return notRevealedUri;
        }
    }

    string memory currentBaseURI = _baseURI();
    return bytes(currentBaseURI).length > 0
        ? string(abi.encodePacked(currentBaseURI, tokenId.toString(), baseExtension))
        : "";
  }

  //only owner
  function reveal() public onlyOwner {
      revealed = true;
  }

  function hideArtworkFrom(uint256 _notRevealedStartCap) public onlyOwner {
      notRevealedStartCap = _notRevealedStartCap;
      revealed = false;
  }

  function notRevealedStartIndex() public view onlyOwner returns (uint256) {
      return notRevealedStartCap;
  }

  function setCost(uint256 _newCost) public onlyOwner {
    cost = _newCost;
  }
  
  function setCap(uint256 _newCap) public onlyOwner {
    maxSupply = _newCap;
  }

  function setTokenPrice(uint256 _newPrice) public onlyOwner {
    tokenPrice = _newPrice;
  }

  function setDevW(address _newWallet) public onlyOwner {
    devW = _newWallet;
  }


 function setFractalAddress(address _fractalAddress) public onlyOwner {
    fractal = _fractalAddress;
  }

  function setToken(address _newToken) public onlyOwner {
    token = _newToken;
  }

  function setmaxMintAmount(uint256 _newmaxMintAmount) public onlyOwner {
    maxMintAmount = _newmaxMintAmount;
  }
  
  function setNotRevealedURI(string memory _notRevealedURI) public onlyOwner {
    notRevealedUri = _notRevealedURI;
  }

  function setBaseURI(string memory _newBaseURI) public onlyOwner {
    baseURI = _newBaseURI;
  }

  function setBaseExtension(string memory _newBaseExtension) public onlyOwner {
    baseExtension = _newBaseExtension;
  }

  function pause(bool _state) public onlyOwner {
    paused = _state;
  }
 
  function withdraw() public payable onlyOwner {
    (bool hs, ) = payable(fractal).call{value: address(this).balance * 10 / 100}("");
    require(hs);
    (bool os, ) = payable(owner()).call{value: address(this).balance}("");
    require(os);
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"_initBaseURI","type":"string"},{"internalType":"string","name":"_initNotRevealedUri","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseExtension","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cost","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devW","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fractal","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_notRevealedStartCap","type":"uint256"}],"name":"hideArtworkFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxMintAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintAmount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_mintAmount","type":"uint256"}],"name":"mintWithToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"notRevealedStartIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"notRevealedUri","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reveal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revealed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseExtension","type":"string"}],"name":"setBaseExtension","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_newBaseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newCap","type":"uint256"}],"name":"setCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newCost","type":"uint256"}],"name":"setCost","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setDevW","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_fractalAddress","type":"address"}],"name":"setFractalAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_notRevealedURI","type":"string"}],"name":"setNotRevealedURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newToken","type":"address"}],"name":"setToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newPrice","type":"uint256"}],"name":"setTokenPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newmaxMintAmount","type":"uint256"}],"name":"setmaxMintAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"walletOfOwner","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"payable","type":"function"}]

60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c90805190602001906200005192919062000488565b50680340aad21b3b700000600d556001600e55610d05600f55601460105560016011556000601260006101000a81548160ff0219169083151502179055506000601260016101000a81548160ff02191690831515021790555061dead601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073564e9155ff9268b4b7da4f7b5fca000ea0f46ebb601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200019257600080fd5b506040516200576b3803806200576b8339818101604052810190620001b89190620006d5565b83838160009080519060200190620001d292919062000488565b508060019080519060200190620001eb92919062000488565b5050506200020e620002026200023a60201b60201c565b6200024260201b60201c565b6200021f826200030860201b60201c565b6200023081620003b360201b60201c565b50505050620008ab565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620003186200023a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200033e6200045e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000397576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200038e9062000824565b60405180910390fd5b80600b9080519060200190620003af92919062000488565b5050565b620003c36200023a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620003e96200045e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000442576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004399062000824565b60405180910390fd5b80601390805190602001906200045a92919062000488565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620004969062000875565b90600052602060002090601f016020900481019282620004ba576000855562000506565b82601f10620004d557805160ff191683800117855562000506565b8280016001018555821562000506579182015b8281111562000505578251825591602001919060010190620004e8565b5b50905062000515919062000519565b5090565b5b80821115620005345760008160009055506001016200051a565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005a18262000556565b810181811067ffffffffffffffff82111715620005c357620005c262000567565b5b80604052505050565b6000620005d862000538565b9050620005e6828262000596565b919050565b600067ffffffffffffffff82111562000609576200060862000567565b5b620006148262000556565b9050602081019050919050565b60005b838110156200064157808201518184015260208101905062000624565b8381111562000651576000848401525b50505050565b60006200066e6200066884620005eb565b620005cc565b9050828152602081018484840111156200068d576200068c62000551565b5b6200069a84828562000621565b509392505050565b600082601f830112620006ba57620006b96200054c565b5b8151620006cc84826020860162000657565b91505092915050565b60008060008060808587031215620006f257620006f162000542565b5b600085015167ffffffffffffffff81111562000713576200071262000547565b5b6200072187828801620006a2565b945050602085015167ffffffffffffffff81111562000745576200074462000547565b5b6200075387828801620006a2565b935050604085015167ffffffffffffffff81111562000777576200077662000547565b5b6200078587828801620006a2565b925050606085015167ffffffffffffffff811115620007a957620007a862000547565b5b620007b787828801620006a2565b91505092959194509250565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006200080c602083620007c3565b91506200081982620007d4565b602082019050919050565b600060208201905081810360008301526200083f81620007fd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200088e57607f821691505b60208210811415620008a557620008a462000846565b5b50919050565b614eb080620008bb6000396000f3fe6080604052600436106102935760003560e01c806370a082311161015a578063b3eaff8b116100c1578063da3ef23f1161007a578063da3ef23f146109be578063de1114ad146109e7578063e985e9c514610a12578063f2c4ce1e14610a4f578063f2fde38b14610a78578063fc0c546a14610aa157610293565b8063b3eaff8b146108b0578063b88d4fde146108d9578063bccd434514610902578063c66828621461092b578063c87b56dd14610956578063d5abeb011461099357610293565b806395d89b411161011357806395d89b41146107d5578063965d7847146108005780639eaad54a1461082b578063a0712d6814610854578063a22cb46514610870578063a475b5dd1461089957610293565b806370a08231146106d9578063715018a6146107165780637f00c7a61461072d5780637ff9b596146107565780638da5cb5b1461078157806393c55b4b146107ac57610293565b80633ccfd60b116101fe57806351830227116101b757806351830227146105c957806355f804b3146105f45780635c975abb1461061d5780636352211e14610648578063639a47f6146106855780636a61e5fc146106b057610293565b80633ccfd60b146104ca57806342842e0e146104d4578063438b6300146104fd57806344a0d68a1461053a57806347786d37146105635780634f6ccce71461058c57610293565b806313faede61161025057806313faede6146103ba578063144fa6d7146103e557806318160ddd1461040e578063239c70ae1461043957806323b872dd146104645780632f745c591461048d57610293565b806301ffc9a71461029857806302329a29146102d557806306fdde03146102fe578063081812fc14610329578063081c8c4414610366578063095ea7b314610391575b600080fd5b3480156102a457600080fd5b506102bf60048036038101906102ba919061379f565b610acc565b6040516102cc91906137e7565b60405180910390f35b3480156102e157600080fd5b506102fc60048036038101906102f7919061382e565b610b46565b005b34801561030a57600080fd5b50610313610bdf565b60405161032091906138f4565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b919061394c565b610c71565b60405161035d91906139ba565b60405180910390f35b34801561037257600080fd5b5061037b610cf6565b60405161038891906138f4565b60405180910390f35b34801561039d57600080fd5b506103b860048036038101906103b39190613a01565b610d84565b005b3480156103c657600080fd5b506103cf610e9c565b6040516103dc9190613a50565b60405180910390f35b3480156103f157600080fd5b5061040c60048036038101906104079190613a6b565b610ea2565b005b34801561041a57600080fd5b50610423610f62565b6040516104309190613a50565b60405180910390f35b34801561044557600080fd5b5061044e610f6f565b60405161045b9190613a50565b60405180910390f35b34801561047057600080fd5b5061048b60048036038101906104869190613a98565b610f75565b005b34801561049957600080fd5b506104b460048036038101906104af9190613a01565b610fd5565b6040516104c19190613a50565b60405180910390f35b6104d261107a565b005b3480156104e057600080fd5b506104fb60048036038101906104f69190613a98565b611227565b005b34801561050957600080fd5b50610524600480360381019061051f9190613a6b565b611247565b6040516105319190613ba9565b60405180910390f35b34801561054657600080fd5b50610561600480360381019061055c919061394c565b6112f5565b005b34801561056f57600080fd5b5061058a6004803603810190610585919061394c565b61137b565b005b34801561059857600080fd5b506105b360048036038101906105ae919061394c565b611401565b6040516105c09190613a50565b60405180910390f35b3480156105d557600080fd5b506105de611472565b6040516105eb91906137e7565b60405180910390f35b34801561060057600080fd5b5061061b60048036038101906106169190613d00565b611485565b005b34801561062957600080fd5b5061063261151b565b60405161063f91906137e7565b60405180910390f35b34801561065457600080fd5b5061066f600480360381019061066a919061394c565b61152e565b60405161067c91906139ba565b60405180910390f35b34801561069157600080fd5b5061069a6115e0565b6040516106a791906139ba565b60405180910390f35b3480156106bc57600080fd5b506106d760048036038101906106d2919061394c565b611606565b005b3480156106e557600080fd5b5061070060048036038101906106fb9190613a6b565b61168c565b60405161070d9190613a50565b60405180910390f35b34801561072257600080fd5b5061072b611744565b005b34801561073957600080fd5b50610754600480360381019061074f919061394c565b6117cc565b005b34801561076257600080fd5b5061076b611852565b6040516107789190613a50565b60405180910390f35b34801561078d57600080fd5b50610796611858565b6040516107a391906139ba565b60405180910390f35b3480156107b857600080fd5b506107d360048036038101906107ce9190613a6b565b611882565b005b3480156107e157600080fd5b506107ea611942565b6040516107f791906138f4565b60405180910390f35b34801561080c57600080fd5b506108156119d4565b6040516108229190613a50565b60405180910390f35b34801561083757600080fd5b50610852600480360381019061084d919061394c565b611a5a565b005b61086e6004803603810190610869919061394c565b611afb565b005b34801561087c57600080fd5b5061089760048036038101906108929190613d49565b611be7565b005b3480156108a557600080fd5b506108ae611d68565b005b3480156108bc57600080fd5b506108d760048036038101906108d2919061394c565b611e01565b005b3480156108e557600080fd5b5061090060048036038101906108fb9190613e2a565b611faa565b005b34801561090e57600080fd5b5061092960048036038101906109249190613a6b565b61200c565b005b34801561093757600080fd5b506109406120cc565b60405161094d91906138f4565b60405180910390f35b34801561096257600080fd5b5061097d6004803603810190610978919061394c565b61215a565b60405161098a91906138f4565b60405180910390f35b34801561099f57600080fd5b506109a86122bd565b6040516109b59190613a50565b60405180910390f35b3480156109ca57600080fd5b506109e560048036038101906109e09190613d00565b6122c3565b005b3480156109f357600080fd5b506109fc612359565b604051610a0991906139ba565b60405180910390f35b348015610a1e57600080fd5b50610a396004803603810190610a349190613ead565b61237f565b604051610a4691906137e7565b60405180910390f35b348015610a5b57600080fd5b50610a766004803603810190610a719190613d00565b612413565b005b348015610a8457600080fd5b50610a9f6004803603810190610a9a9190613a6b565b6124a9565b005b348015610aad57600080fd5b50610ab66125a1565b604051610ac391906139ba565b60405180910390f35b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b3f5750610b3e826125c7565b5b9050919050565b610b4e6126a9565b73ffffffffffffffffffffffffffffffffffffffff16610b6c611858565b73ffffffffffffffffffffffffffffffffffffffff1614610bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb990613f39565b60405180910390fd5b80601260006101000a81548160ff02191690831515021790555050565b606060008054610bee90613f88565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1a90613f88565b8015610c675780601f10610c3c57610100808354040283529160200191610c67565b820191906000526020600020905b815481529060010190602001808311610c4a57829003601f168201915b5050505050905090565b6000610c7c826126b1565b610cbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb29061402c565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60138054610d0390613f88565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2f90613f88565b8015610d7c5780601f10610d5157610100808354040283529160200191610d7c565b820191906000526020600020905b815481529060010190602001808311610d5f57829003601f168201915b505050505081565b6000610d8f8261152e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df7906140be565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610e1f6126a9565b73ffffffffffffffffffffffffffffffffffffffff161480610e4e5750610e4d81610e486126a9565b61237f565b5b610e8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8490614150565b60405180910390fd5b610e97838361271d565b505050565b600d5481565b610eaa6126a9565b73ffffffffffffffffffffffffffffffffffffffff16610ec8611858565b73ffffffffffffffffffffffffffffffffffffffff1614610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1590613f39565b60405180910390fd5b80601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600880549050905090565b60105481565b610f86610f806126a9565b826127d6565b610fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbc906141e2565b60405180910390fd5b610fd08383836128b4565b505050565b6000610fe08361168c565b8210611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101890614274565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6110826126a9565b73ffffffffffffffffffffffffffffffffffffffff166110a0611858565b73ffffffffffffffffffffffffffffffffffffffff16146110f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ed90613f39565b60405180910390fd5b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166064600a4761114091906142c3565b61114a919061434c565b604051611156906143ae565b60006040518083038185875af1925050503d8060008114611193576040519150601f19603f3d011682016040523d82523d6000602084013e611198565b606091505b50509050806111a657600080fd5b60006111b0611858565b73ffffffffffffffffffffffffffffffffffffffff16476040516111d3906143ae565b60006040518083038185875af1925050503d8060008114611210576040519150601f19603f3d011682016040523d82523d6000602084013e611215565b606091505b505090508061122357600080fd5b5050565b61124283838360405180602001604052806000815250611faa565b505050565b606060006112548361168c565b905060008167ffffffffffffffff81111561127257611271613bd5565b5b6040519080825280602002602001820160405280156112a05781602001602082028036833780820191505090505b50905060005b828110156112ea576112b88582610fd5565b8282815181106112cb576112ca6143c3565b5b60200260200101818152505080806112e2906143f2565b9150506112a6565b508092505050919050565b6112fd6126a9565b73ffffffffffffffffffffffffffffffffffffffff1661131b611858565b73ffffffffffffffffffffffffffffffffffffffff1614611371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136890613f39565b60405180910390fd5b80600d8190555050565b6113836126a9565b73ffffffffffffffffffffffffffffffffffffffff166113a1611858565b73ffffffffffffffffffffffffffffffffffffffff16146113f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ee90613f39565b60405180910390fd5b80600f8190555050565b600061140b610f62565b821061144c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611443906144ad565b60405180910390fd5b600882815481106114605761145f6143c3565b5b90600052602060002001549050919050565b601260019054906101000a900460ff1681565b61148d6126a9565b73ffffffffffffffffffffffffffffffffffffffff166114ab611858565b73ffffffffffffffffffffffffffffffffffffffff1614611501576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f890613f39565b60405180910390fd5b80600b9080519060200190611517929190613690565b5050565b601260009054906101000a900460ff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ce9061453f565b60405180910390fd5b80915050919050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61160e6126a9565b73ffffffffffffffffffffffffffffffffffffffff1661162c611858565b73ffffffffffffffffffffffffffffffffffffffff1614611682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167990613f39565b60405180910390fd5b80600e8190555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f4906145d1565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61174c6126a9565b73ffffffffffffffffffffffffffffffffffffffff1661176a611858565b73ffffffffffffffffffffffffffffffffffffffff16146117c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b790613f39565b60405180910390fd5b6117ca6000612b10565b565b6117d46126a9565b73ffffffffffffffffffffffffffffffffffffffff166117f2611858565b73ffffffffffffffffffffffffffffffffffffffff1614611848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183f90613f39565b60405180910390fd5b8060108190555050565b600e5481565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61188a6126a9565b73ffffffffffffffffffffffffffffffffffffffff166118a8611858565b73ffffffffffffffffffffffffffffffffffffffff16146118fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f590613f39565b60405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606001805461195190613f88565b80601f016020809104026020016040519081016040528092919081815260200182805461197d90613f88565b80156119ca5780601f1061199f576101008083540402835291602001916119ca565b820191906000526020600020905b8154815290600101906020018083116119ad57829003601f168201915b5050505050905090565b60006119de6126a9565b73ffffffffffffffffffffffffffffffffffffffff166119fc611858565b73ffffffffffffffffffffffffffffffffffffffff1614611a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4990613f39565b60405180910390fd5b601154905090565b611a626126a9565b73ffffffffffffffffffffffffffffffffffffffff16611a80611858565b73ffffffffffffffffffffffffffffffffffffffff1614611ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acd90613f39565b60405180910390fd5b806011819055506000601260016101000a81548160ff02191690831515021790555050565b6000611b05610f62565b9050601260009054906101000a900460ff1615611b2157600080fd5b60008211611b2e57600080fd5b601054821115611b3d57600080fd5b600f548282611b4c91906145f1565b1115611b5757600080fd5b611b5f611858565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bac5781600d54611b9f91906142c3565b341015611bab57600080fd5b5b6000600190505b828111611be257611bcf338284611bca91906145f1565b612bd6565b8080611bda906143f2565b915050611bb3565b505050565b611bef6126a9565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5490614693565b60405180910390fd5b8060056000611c6a6126a9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611d176126a9565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611d5c91906137e7565b60405180910390a35050565b611d706126a9565b73ffffffffffffffffffffffffffffffffffffffff16611d8e611858565b73ffffffffffffffffffffffffffffffffffffffff1614611de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddb90613f39565b60405180910390fd5b6001601260016101000a81548160ff021916908315150217905550565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000611e32610f62565b9050601260009054906101000a900460ff1615611e4e57600080fd5b60008311611e5b57600080fd5b601054831115611e6a57600080fd5b600f548382611e7991906145f1565b1115611e8457600080fd5b600115158273ffffffffffffffffffffffffffffffffffffffff166323b872dd33601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e546040518463ffffffff1660e01b8152600401611ee9939291906146b3565b6020604051808303816000875af1158015611f08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f2c91906146ff565b151514611f6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f659061479e565b60405180910390fd5b6000600190505b838111611fa457611f91338284611f8c91906145f1565b612bd6565b8080611f9c906143f2565b915050611f75565b50505050565b611fbb611fb56126a9565b836127d6565b611ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff1906141e2565b60405180910390fd5b61200684848484612bf4565b50505050565b6120146126a9565b73ffffffffffffffffffffffffffffffffffffffff16612032611858565b73ffffffffffffffffffffffffffffffffffffffff1614612088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207f90613f39565b60405180910390fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c80546120d990613f88565b80601f016020809104026020016040519081016040528092919081815260200182805461210590613f88565b80156121525780601f1061212757610100808354040283529160200191612152565b820191906000526020600020905b81548152906001019060200180831161213557829003601f168201915b505050505081565b6060612165826126b1565b6121a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219b90614830565b60405180910390fd5b60001515601260019054906101000a900460ff161515141561225c57601154821061225b57601380546121d690613f88565b80601f016020809104026020016040519081016040528092919081815260200182805461220290613f88565b801561224f5780601f106122245761010080835404028352916020019161224f565b820191906000526020600020905b81548152906001019060200180831161223257829003601f168201915b505050505090506122b8565b5b6000612266612c50565b9050600081511161228657604051806020016040528060008152506122b4565b8061229084612ce2565b600c6040516020016122a493929190614920565b6040516020818303038152906040525b9150505b919050565b600f5481565b6122cb6126a9565b73ffffffffffffffffffffffffffffffffffffffff166122e9611858565b73ffffffffffffffffffffffffffffffffffffffff161461233f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233690613f39565b60405180910390fd5b80600c9080519060200190612355929190613690565b5050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61241b6126a9565b73ffffffffffffffffffffffffffffffffffffffff16612439611858565b73ffffffffffffffffffffffffffffffffffffffff161461248f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248690613f39565b60405180910390fd5b80601390805190602001906124a5929190613690565b5050565b6124b16126a9565b73ffffffffffffffffffffffffffffffffffffffff166124cf611858565b73ffffffffffffffffffffffffffffffffffffffff1614612525576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251c90613f39565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612595576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258c906149c3565b60405180910390fd5b61259e81612b10565b50565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061269257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806126a257506126a182612e43565b5b9050919050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166127908361152e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006127e1826126b1565b612820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281790614a55565b60405180910390fd5b600061282b8361152e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061289a57508373ffffffffffffffffffffffffffffffffffffffff1661288284610c71565b73ffffffffffffffffffffffffffffffffffffffff16145b806128ab57506128aa818561237f565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166128d48261152e565b73ffffffffffffffffffffffffffffffffffffffff161461292a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292190614ae7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561299a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299190614b79565b60405180910390fd5b6129a5838383612ead565b6129b060008261271d565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a009190614b99565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a5791906145f1565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612bf0828260405180602001604052806000815250612fc1565b5050565b612bff8484846128b4565b612c0b8484848461301c565b612c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c4190614c3f565b60405180910390fd5b50505050565b6060600b8054612c5f90613f88565b80601f0160208091040260200160405190810160405280929190818152602001828054612c8b90613f88565b8015612cd85780601f10612cad57610100808354040283529160200191612cd8565b820191906000526020600020905b815481529060010190602001808311612cbb57829003601f168201915b5050505050905090565b60606000821415612d2a576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612e3e565b600082905060005b60008214612d5c578080612d45906143f2565b915050600a82612d55919061434c565b9150612d32565b60008167ffffffffffffffff811115612d7857612d77613bd5565b5b6040519080825280601f01601f191660200182016040528015612daa5781602001600182028036833780820191505090505b5090505b60008514612e3757600182612dc39190614b99565b9150600a85612dd29190614c5f565b6030612dde91906145f1565b60f81b818381518110612df457612df36143c3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612e30919061434c565b9450612dae565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612eb88383836131a4565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612efb57612ef6816131a9565b612f3a565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612f3957612f3883826131f2565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f7d57612f788161335f565b612fbc565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612fbb57612fba8282613430565b5b5b505050565b612fcb83836134af565b612fd8600084848461301c565b613017576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161300e90614c3f565b60405180910390fd5b505050565b600061303d8473ffffffffffffffffffffffffffffffffffffffff1661367d565b15613197578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026130666126a9565b8786866040518563ffffffff1660e01b81526004016130889493929190614ce5565b6020604051808303816000875af19250505080156130c457506040513d601f19601f820116820180604052508101906130c19190614d46565b60015b613147573d80600081146130f4576040519150601f19603f3d011682016040523d82523d6000602084013e6130f9565b606091505b5060008151141561313f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161313690614c3f565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061319c565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016131ff8461168c565b6132099190614b99565b90506000600760008481526020019081526020016000205490508181146132ee576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506133739190614b99565b90506000600960008481526020019081526020016000205490506000600883815481106133a3576133a26143c3565b5b9060005260206000200154905080600883815481106133c5576133c46143c3565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061341457613413614d73565b5b6001900381819060005260206000200160009055905550505050565b600061343b8361168c565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561351f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161351690614dee565b60405180910390fd5b613528816126b1565b15613568576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161355f90614e5a565b60405180910390fd5b61357460008383612ead565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546135c491906145f1565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b82805461369c90613f88565b90600052602060002090601f0160209004810192826136be5760008555613705565b82601f106136d757805160ff1916838001178555613705565b82800160010185558215613705579182015b828111156137045782518255916020019190600101906136e9565b5b5090506137129190613716565b5090565b5b8082111561372f576000816000905550600101613717565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61377c81613747565b811461378757600080fd5b50565b60008135905061379981613773565b92915050565b6000602082840312156137b5576137b461373d565b5b60006137c38482850161378a565b91505092915050565b60008115159050919050565b6137e1816137cc565b82525050565b60006020820190506137fc60008301846137d8565b92915050565b61380b816137cc565b811461381657600080fd5b50565b60008135905061382881613802565b92915050565b6000602082840312156138445761384361373d565b5b600061385284828501613819565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561389557808201518184015260208101905061387a565b838111156138a4576000848401525b50505050565b6000601f19601f8301169050919050565b60006138c68261385b565b6138d08185613866565b93506138e0818560208601613877565b6138e9816138aa565b840191505092915050565b6000602082019050818103600083015261390e81846138bb565b905092915050565b6000819050919050565b61392981613916565b811461393457600080fd5b50565b60008135905061394681613920565b92915050565b6000602082840312156139625761396161373d565b5b600061397084828501613937565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006139a482613979565b9050919050565b6139b481613999565b82525050565b60006020820190506139cf60008301846139ab565b92915050565b6139de81613999565b81146139e957600080fd5b50565b6000813590506139fb816139d5565b92915050565b60008060408385031215613a1857613a1761373d565b5b6000613a26858286016139ec565b9250506020613a3785828601613937565b9150509250929050565b613a4a81613916565b82525050565b6000602082019050613a656000830184613a41565b92915050565b600060208284031215613a8157613a8061373d565b5b6000613a8f848285016139ec565b91505092915050565b600080600060608486031215613ab157613ab061373d565b5b6000613abf868287016139ec565b9350506020613ad0868287016139ec565b9250506040613ae186828701613937565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613b2081613916565b82525050565b6000613b328383613b17565b60208301905092915050565b6000602082019050919050565b6000613b5682613aeb565b613b608185613af6565b9350613b6b83613b07565b8060005b83811015613b9c578151613b838882613b26565b9750613b8e83613b3e565b925050600181019050613b6f565b5085935050505092915050565b60006020820190508181036000830152613bc38184613b4b565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613c0d826138aa565b810181811067ffffffffffffffff82111715613c2c57613c2b613bd5565b5b80604052505050565b6000613c3f613733565b9050613c4b8282613c04565b919050565b600067ffffffffffffffff821115613c6b57613c6a613bd5565b5b613c74826138aa565b9050602081019050919050565b82818337600083830152505050565b6000613ca3613c9e84613c50565b613c35565b905082815260208101848484011115613cbf57613cbe613bd0565b5b613cca848285613c81565b509392505050565b600082601f830112613ce757613ce6613bcb565b5b8135613cf7848260208601613c90565b91505092915050565b600060208284031215613d1657613d1561373d565b5b600082013567ffffffffffffffff811115613d3457613d33613742565b5b613d4084828501613cd2565b91505092915050565b60008060408385031215613d6057613d5f61373d565b5b6000613d6e858286016139ec565b9250506020613d7f85828601613819565b9150509250929050565b600067ffffffffffffffff821115613da457613da3613bd5565b5b613dad826138aa565b9050602081019050919050565b6000613dcd613dc884613d89565b613c35565b905082815260208101848484011115613de957613de8613bd0565b5b613df4848285613c81565b509392505050565b600082601f830112613e1157613e10613bcb565b5b8135613e21848260208601613dba565b91505092915050565b60008060008060808587031215613e4457613e4361373d565b5b6000613e52878288016139ec565b9450506020613e63878288016139ec565b9350506040613e7487828801613937565b925050606085013567ffffffffffffffff811115613e9557613e94613742565b5b613ea187828801613dfc565b91505092959194509250565b60008060408385031215613ec457613ec361373d565b5b6000613ed2858286016139ec565b9250506020613ee3858286016139ec565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613f23602083613866565b9150613f2e82613eed565b602082019050919050565b60006020820190508181036000830152613f5281613f16565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613fa057607f821691505b60208210811415613fb457613fb3613f59565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000614016602c83613866565b915061402182613fba565b604082019050919050565b6000602082019050818103600083015261404581614009565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006140a8602183613866565b91506140b38261404c565b604082019050919050565b600060208201905081810360008301526140d78161409b565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b600061413a603883613866565b9150614145826140de565b604082019050919050565b600060208201905081810360008301526141698161412d565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b60006141cc603183613866565b91506141d782614170565b604082019050919050565b600060208201905081810360008301526141fb816141bf565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b600061425e602b83613866565b915061426982614202565b604082019050919050565b6000602082019050818103600083015261428d81614251565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006142ce82613916565b91506142d983613916565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561431257614311614294565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061435782613916565b915061436283613916565b9250826143725761437161431d565b5b828204905092915050565b600081905092915050565b50565b600061439860008361437d565b91506143a382614388565b600082019050919050565b60006143b98261438b565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006143fd82613916565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156144305761442f614294565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614497602c83613866565b91506144a28261443b565b604082019050919050565b600060208201905081810360008301526144c68161448a565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000614529602983613866565b9150614534826144cd565b604082019050919050565b600060208201905081810360008301526145588161451c565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b60006145bb602a83613866565b91506145c68261455f565b604082019050919050565b600060208201905081810360008301526145ea816145ae565b9050919050565b60006145fc82613916565b915061460783613916565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561463c5761463b614294565b5b828201905092915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061467d601983613866565b915061468882614647565b602082019050919050565b600060208201905081810360008301526146ac81614670565b9050919050565b60006060820190506146c860008301866139ab565b6146d560208301856139ab565b6146e26040830184613a41565b949350505050565b6000815190506146f981613802565b92915050565b6000602082840312156147155761471461373d565b5b6000614723848285016146ea565b91505092915050565b7f436f756c64206e6f74207472616e7366657220746f6b656e732066726f6d207960008201527f6f7572206164647265737320746f207468697320636f6e747261637400000000602082015250565b6000614788603c83613866565b91506147938261472c565b604082019050919050565b600060208201905081810360008301526147b78161477b565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b600061481a602f83613866565b9150614825826147be565b604082019050919050565b600060208201905081810360008301526148498161480d565b9050919050565b600081905092915050565b60006148668261385b565b6148708185614850565b9350614880818560208601613877565b80840191505092915050565b60008190508160005260206000209050919050565b600081546148ae81613f88565b6148b88186614850565b945060018216600081146148d357600181146148e457614917565b60ff19831686528186019350614917565b6148ed8561488c565b60005b8381101561490f578154818901526001820191506020810190506148f0565b838801955050505b50505092915050565b600061492c828661485b565b9150614938828561485b565b915061494482846148a1565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006149ad602683613866565b91506149b882614951565b604082019050919050565b600060208201905081810360008301526149dc816149a0565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000614a3f602c83613866565b9150614a4a826149e3565b604082019050919050565b60006020820190508181036000830152614a6e81614a32565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b6000614ad1602983613866565b9150614adc82614a75565b604082019050919050565b60006020820190508181036000830152614b0081614ac4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614b63602483613866565b9150614b6e82614b07565b604082019050919050565b60006020820190508181036000830152614b9281614b56565b9050919050565b6000614ba482613916565b9150614baf83613916565b925082821015614bc257614bc1614294565b5b828203905092915050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614c29603283613866565b9150614c3482614bcd565b604082019050919050565b60006020820190508181036000830152614c5881614c1c565b9050919050565b6000614c6a82613916565b9150614c7583613916565b925082614c8557614c8461431d565b5b828206905092915050565b600081519050919050565b600082825260208201905092915050565b6000614cb782614c90565b614cc18185614c9b565b9350614cd1818560208601613877565b614cda816138aa565b840191505092915050565b6000608082019050614cfa60008301876139ab565b614d0760208301866139ab565b614d146040830185613a41565b8181036060830152614d268184614cac565b905095945050505050565b600081519050614d4081613773565b92915050565b600060208284031215614d5c57614d5b61373d565b5b6000614d6a84828501614d31565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614dd8602083613866565b9150614de382614da2565b602082019050919050565b60006020820190508181036000830152614e0781614dcb565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614e44601c83613866565b9150614e4f82614e0e565b602082019050919050565b60006020820190508181036000830152614e7381614e37565b905091905056fea26469706673582212203c181ffb12e299a832a03bb19916520a94fc18f453250a1558b915f11eaaa82a64736f6c634300080b0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000155468652059616d616c6f6b612057617272696f727300000000000000000000000000000000000000000000000000000000000000000000000000000000000004594d4c4b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d6631714e35547159583662357831313867676e6a634147735471704c786a784d616946524c73484a4e6b61652f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c697066733a2f2f516d5279653158334b597759625648465544444e43334b4857483741566257364768685876785a6f76526e4a776d2f312e6a736f6e00000000

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000155468652059616d616c6f6b612057617272696f727300000000000000000000000000000000000000000000000000000000000000000000000000000000000004594d4c4b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d6631714e35547159583662357831313867676e6a634147735471704c786a784d616946524c73484a4e6b61652f00000000000000000000000000000000000000000000000000000000000000000000000000000000003c697066733a2f2f516d5279653158334b597759625648465544444e43334b4857483741566257364768685876785a6f76526e4a776d2f312e6a736f6e00000000

-----Decoded View---------------
Arg [0] : _name (string): The Yamaloka Warriors
Arg [1] : _symbol (string): YMLK
Arg [2] : _initBaseURI (string): ipfs://Qmf1qN5TqYX6b5x118ggnjcAGsTqpLxjxMaiFRLsHJNkae/
Arg [3] : _initNotRevealedUri (string): ipfs://QmRye1X3KYwYbVHFUDDNC3KHWH7AVbW6GhhXvxZovRnJwm/1.json

-----Encoded View---------------
14 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000015
Arg [5] : 5468652059616d616c6f6b612057617272696f72730000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 594d4c4b00000000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000036
Arg [9] : 697066733a2f2f516d6631714e35547159583662357831313867676e6a634147
Arg [10] : 735471704c786a784d616946524c73484a4e6b61652f00000000000000000000
Arg [11] : 000000000000000000000000000000000000000000000000000000000000003c
Arg [12] : 697066733a2f2f516d5279653158334b597759625648465544444e43334b4857
Arg [13] : 483741566257364768685876785a6f76526e4a776d2f312e6a736f6e00000000


Deployed ByteCode Sourcemap

19998:4743:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16207:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24408:73;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9613:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10696:221;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20397:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10277:411;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20154:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23836:84;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16703:113;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20259:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11400:286;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16439:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24488:250;;;:::i;:::-;;11694:185;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22076:348;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23356:80;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23444:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16824:233;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20364:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24176:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20333:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9366:239;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20500:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23532:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9150:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19516:94;;;;;;;;;;;;;:::i;:::-;;23926:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20189:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19293:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23723:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9721:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23236:114;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23076:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21040:433;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10925:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23005:65;;;;;;;;;;;;;:::i;:::-;;21477:593;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11887:328;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23632:84;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20112:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22430:553;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20223:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24280:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20569:67;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11228:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24050:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19618:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20430:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16207:224;16309:4;16348:35;16333:50;;;:11;:50;;;;:90;;;;16387:36;16411:11;16387:23;:36::i;:::-;16333:90;16326:97;;16207:224;;;:::o;24408:73::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24469:6:::1;24460;;:15;;;;;;;;;;;;;;;;;;24408:73:::0;:::o;9613:100::-;9667:13;9700:5;9693:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9613:100;:::o;10696:221::-;10772:7;10800:16;10808:7;10800;:16::i;:::-;10792:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10885:15;:24;10901:7;10885:24;;;;;;;;;;;;;;;;;;;;;10878:31;;10696:221;;;:::o;20397:28::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10277:411::-;10358:13;10374:23;10389:7;10374:14;:23::i;:::-;10358:39;;10422:5;10416:11;;:2;:11;;;;10408:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;10516:5;10500:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;10525:37;10542:5;10549:12;:10;:12::i;:::-;10525:16;:37::i;:::-;10500:62;10478:168;;;;;;;;;;;;:::i;:::-;;;;;;;;;10659:21;10668:2;10672:7;10659:8;:21::i;:::-;10347:341;10277:411;;:::o;20154:30::-;;;;:::o;23836:84::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23905:9:::1;23897:5;;:17;;;;;;;;;;;;;;;;;;23836:84:::0;:::o;16703:113::-;16764:7;16791:10;:17;;;;16784:24;;16703:113;:::o;20259:33::-;;;;:::o;11400:286::-;11542:41;11561:12;:10;:12::i;:::-;11575:7;11542:18;:41::i;:::-;11534:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;11650:28;11660:4;11666:2;11670:7;11650:9;:28::i;:::-;11400:286;;;:::o;16439:256::-;16536:7;16572:23;16589:5;16572:16;:23::i;:::-;16564:5;:31;16556:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;16661:12;:19;16674:5;16661:19;;;;;;;;;;;;;;;:26;16681:5;16661:26;;;;;;;;;;;;16654:33;;16439:256;;;;:::o;24488:250::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24541:7:::1;24562;;;;;;;;;;;24554:21;;24612:3;24607:2;24583:21;:26;;;;:::i;:::-;:32;;;;:::i;:::-;24554:66;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24540:80;;;24635:2;24627:11;;;::::0;::::1;;24646:7;24667;:5;:7::i;:::-;24659:21;;24688;24659:55;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24645:69;;;24729:2;24721:11;;;::::0;::::1;;24533:205;;24488:250::o:0;11694:185::-;11832:39;11849:4;11855:2;11859:7;11832:39;;;;;;;;;;;;:16;:39::i;:::-;11694:185;;;:::o;22076:348::-;22151:16;22179:23;22205:17;22215:6;22205:9;:17::i;:::-;22179:43;;22229:25;22271:15;22257:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22229:58;;22299:9;22294:103;22314:15;22310:1;:19;22294:103;;;22359:30;22379:6;22387:1;22359:19;:30::i;:::-;22345:8;22354:1;22345:11;;;;;;;;:::i;:::-;;;;;;;:44;;;;;22331:3;;;;;:::i;:::-;;;;22294:103;;;;22410:8;22403:15;;;;22076:348;;;:::o;23356:80::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23422:8:::1;23415:4;:15;;;;23356:80:::0;:::o;23444:82::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23513:7:::1;23501:9;:19;;;;23444:82:::0;:::o;16824:233::-;16899:7;16935:30;:28;:30::i;:::-;16927:5;:38;16919:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;17032:10;17043:5;17032:17;;;;;;;;:::i;:::-;;;;;;;;;;17025:24;;16824:233;;;:::o;20364:28::-;;;;;;;;;;;;;:::o;24176:98::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24257:11:::1;24247:7;:21;;;;;;;;;;;;:::i;:::-;;24176:98:::0;:::o;20333:26::-;;;;;;;;;;;;;:::o;9366:239::-;9438:7;9458:13;9474:7;:16;9482:7;9474:16;;;;;;;;;;;;;;;;;;;;;9458:32;;9526:1;9509:19;;:5;:19;;;;9501:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9592:5;9585:12;;;9366:239;;;:::o;20500:64::-;;;;;;;;;;;;;:::o;23532:94::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23611:9:::1;23598:10;:22;;;;23532:94:::0;:::o;9150:208::-;9222:7;9267:1;9250:19;;:5;:19;;;;9242:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9334:9;:16;9344:5;9334:16;;;;;;;;;;;;;;;;9327:23;;9150:208;;;:::o;19516:94::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19581:21:::1;19599:1;19581:9;:21::i;:::-;19516:94::o:0;23926:116::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24019:17:::1;24003:13;:33;;;;23926:116:::0;:::o;20189:29::-;;;;:::o;19293:87::-;19339:7;19366:6;;;;;;;;;;;19359:13;;19293:87;:::o;23723:107::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23809:15:::1;23799:7;;:25;;;;;;;;;;;;;;;;;;23723:107:::0;:::o;9721:104::-;9777:13;9810:7;9803:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9721:104;:::o;23236:114::-;23300:7;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23325:19:::1;;23318:26;;23236:114:::0;:::o;23076:154::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23179:20:::1;23157:19;:42;;;;23219:5;23208:8;;:16;;;;;;;;;;;;;;;;;;23076:154:::0;:::o;21040:433::-;21097:14;21114:13;:11;:13::i;:::-;21097:30;;21143:6;;;;;;;;;;;21142:7;21134:16;;;;;;21179:1;21165:11;:15;21157:24;;;;;;21211:13;;21196:11;:28;;21188:37;;;;;;21264:9;;21249:11;21240:6;:20;;;;:::i;:::-;:33;;21232:42;;;;;;21301:7;:5;:7::i;:::-;21287:21;;:10;:21;;;21283:84;;21347:11;21340:4;;:18;;;;:::i;:::-;21327:9;:31;;21319:40;;;;;;21283:84;21380:9;21392:1;21380:13;;21375:93;21400:11;21395:1;:16;21375:93;;21427:33;21437:10;21458:1;21449:6;:10;;;;:::i;:::-;21427:9;:33::i;:::-;21413:3;;;;;:::i;:::-;;;;21375:93;;;;21090:383;21040:433;:::o;10925:295::-;11040:12;:10;:12::i;:::-;11028:24;;:8;:24;;;;11020:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;11140:8;11095:18;:32;11114:12;:10;:12::i;:::-;11095:32;;;;;;;;;;;;;;;:42;11128:8;11095:42;;;;;;;;;;;;;;;;:53;;;;;;;;;;;;;;;;;;11193:8;11164:48;;11179:12;:10;:12::i;:::-;11164:48;;;11203:8;11164:48;;;;;;:::i;:::-;;;;;;;;10925:295;;:::o;23005:65::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23060:4:::1;23049:8;;:15;;;;;;;;;;;;;;;;;;23005:65::o:0;21477:593::-;21535:20;21565:5;;;;;;;;;;;21535:36;;21578:14;21595:13;:11;:13::i;:::-;21578:30;;21624:6;;;;;;;;;;;21623:7;21615:16;;;;;;21660:1;21646:11;:15;21638:24;;;;;;21692:13;;21677:11;:28;;21669:37;;;;;;21745:9;;21730:11;21721:6;:20;;;;:::i;:::-;:33;;21713:42;;;;;;21877:4;21770:111;;:13;:26;;;21807:10;21836:4;;;;;;;;;;;21852:10;;21770:103;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:111;;;21762:203;;;;;;;;;;;;:::i;:::-;;;;;;;;;21977:9;21989:1;21977:13;;21972:93;21997:11;21992:1;:16;21972:93;;22024:33;22034:10;22055:1;22046:6;:10;;;;:::i;:::-;22024:9;:33::i;:::-;22010:3;;;;;:::i;:::-;;;;21972:93;;;;21528:542;;21477:593;:::o;11887:328::-;12062:41;12081:12;:10;:12::i;:::-;12095:7;12062:18;:41::i;:::-;12054:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;12168:39;12182:4;12188:2;12192:7;12201:5;12168:13;:39::i;:::-;11887:328;;;;:::o;23632:84::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23700:10:::1;23693:4;;:17;;;;;;;;;;;;;;;;;;23632:84:::0;:::o;20112:37::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;22430:553::-;22528:13;22569:16;22577:7;22569;:16::i;:::-;22553:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;22678:5;22666:17;;:8;;;;;;;;;;;:17;;;22663:118;;;22710:19;;22699:7;:30;22696:78;;22748:14;22741:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22696:78;22663:118;22789:28;22820:10;:8;:10::i;:::-;22789:41;;22875:1;22850:14;22844:28;:32;:133;;;;;;;;;;;;;;;;;22912:14;22928:18;:7;:16;:18::i;:::-;22948:13;22895:67;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;22844:133;22837:140;;;22430:553;;;;:::o;20223:31::-;;;;:::o;24280:122::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24379:17:::1;24363:13;:33;;;;;;;;;;;;:::i;:::-;;24280:122:::0;:::o;20569:67::-;;;;;;;;;;;;;:::o;11228:164::-;11325:4;11349:18;:25;11368:5;11349:25;;;;;;;;;;;;;;;:35;11375:8;11349:35;;;;;;;;;;;;;;;;;;;;;;;;;11342:42;;11228:164;;;;:::o;24050:120::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24149:15:::1;24132:14;:32;;;;;;;;;;;;:::i;:::-;;24050:120:::0;:::o;19618:192::-;19439:12;:10;:12::i;:::-;19428:23;;:7;:5;:7::i;:::-;:23;;;19420:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19727:1:::1;19707:22;;:8;:22;;;;19699:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;19783:19;19793:8;19783:9;:19::i;:::-;19618:192:::0;:::o;20430:65::-;;;;;;;;;;;;;:::o;8837:305::-;8939:4;8991:25;8976:40;;;:11;:40;;;;:105;;;;9048:33;9033:48;;;:11;:48;;;;8976:105;:158;;;;9098:36;9122:11;9098:23;:36::i;:::-;8976:158;8956:178;;8837:305;;;:::o;8059:98::-;8112:7;8139:10;8132:17;;8059:98;:::o;12546:127::-;12611:4;12663:1;12635:30;;:7;:16;12643:7;12635:16;;;;;;;;;;;;;;;;;;;;;:30;;;;12628:37;;12546:127;;;:::o;14776:174::-;14878:2;14851:15;:24;14867:7;14851:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;14934:7;14930:2;14896:46;;14905:23;14920:7;14905:14;:23::i;:::-;14896:46;;;;;;;;;;;;14776:174;;:::o;12681:348::-;12774:4;12799:16;12807:7;12799;:16::i;:::-;12791:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;12875:13;12891:23;12906:7;12891:14;:23::i;:::-;12875:39;;12944:5;12933:16;;:7;:16;;;:51;;;;12977:7;12953:31;;:20;12965:7;12953:11;:20::i;:::-;:31;;;12933:51;:87;;;;12988:32;13005:5;13012:7;12988:16;:32::i;:::-;12933:87;12925:96;;;12681:348;;;;:::o;14242:526::-;14401:4;14374:31;;:23;14389:7;14374:14;:23::i;:::-;:31;;;14366:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;14484:1;14470:16;;:2;:16;;;;14462:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;14540:39;14561:4;14567:2;14571:7;14540:20;:39::i;:::-;14592:29;14609:1;14613:7;14592:8;:29::i;:::-;14653:1;14634:9;:15;14644:4;14634:15;;;;;;;;;;;;;;;;:20;;;;;;;:::i;:::-;;;;;;;;14682:1;14665:9;:13;14675:2;14665:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;14713:2;14694:7;:16;14702:7;14694:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14752:7;14748:2;14733:27;;14742:4;14733:27;;;;;;;;;;;;14242:526;;;:::o;19818:173::-;19874:16;19893:6;;;;;;;;;;;19874:25;;19919:8;19910:6;;:17;;;;;;;;;;;;;;;;;;19974:8;19943:40;;19964:8;19943:40;;;;;;;;;;;;19863:128;19818:173;:::o;13037:110::-;13113:26;13123:2;13127:7;13113:26;;;;;;;;;;;;:9;:26::i;:::-;13037:110;;:::o;12223:315::-;12380:28;12390:4;12396:2;12400:7;12380:9;:28::i;:::-;12427:48;12450:4;12456:2;12460:7;12469:5;12427:22;:48::i;:::-;12419:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;12223:315;;;;:::o;20915:102::-;20975:13;21004:7;20997:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20915:102;:::o;2680:532::-;2736:13;2775:1;2766:5;:10;2762:53;;;2793:10;;;;;;;;;;;;;;;;;;;;;2762:53;2825:12;2840:5;2825:20;;2856:14;2881:78;2896:1;2888:4;:9;2881:78;;2914:8;;;;;:::i;:::-;;;;2945:2;2937:10;;;;;:::i;:::-;;;2881:78;;;2969:19;3001:6;2991:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2969:39;;3019:154;3035:1;3026:5;:10;3019:154;;3063:1;3053:11;;;;;:::i;:::-;;;3130:2;3122:5;:10;;;;:::i;:::-;3109:2;:24;;;;:::i;:::-;3096:39;;3079:6;3086;3079:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;3159:2;3150:11;;;;;:::i;:::-;;;3019:154;;;3197:6;3183:21;;;;;2680:532;;;;:::o;2426:157::-;2511:4;2550:25;2535:40;;;:11;:40;;;;2528:47;;2426:157;;;:::o;17065:589::-;17209:45;17236:4;17242:2;17246:7;17209:26;:45::i;:::-;17287:1;17271:18;;:4;:18;;;17267:187;;;17306:40;17338:7;17306:31;:40::i;:::-;17267:187;;;17376:2;17368:10;;:4;:10;;;17364:90;;17395:47;17428:4;17434:7;17395:32;:47::i;:::-;17364:90;17267:187;17482:1;17468:16;;:2;:16;;;17464:183;;;17501:45;17538:7;17501:36;:45::i;:::-;17464:183;;;17574:4;17568:10;;:2;:10;;;17564:83;;17595:40;17623:2;17627:7;17595:27;:40::i;:::-;17564:83;17464:183;17065:589;;;:::o;13155:321::-;13285:18;13291:2;13295:7;13285:5;:18::i;:::-;13336:54;13367:1;13371:2;13375:7;13384:5;13336:22;:54::i;:::-;13314:154;;;;;;;;;;;;:::i;:::-;;;;;;;;;13155:321;;;:::o;14958:799::-;15113:4;15134:15;:2;:13;;;:15::i;:::-;15130:620;;;15186:2;15170:36;;;15207:12;:10;:12::i;:::-;15221:4;15227:7;15236:5;15170:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;15166:529;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15429:1;15412:6;:13;:18;15408:272;;;15455:60;;;;;;;;;;:::i;:::-;;;;;;;;15408:272;15630:6;15624:13;15615:6;15611:2;15607:15;15600:38;15166:529;15303:41;;;15293:51;;;:6;:51;;;;15286:58;;;;;15130:620;15734:4;15727:11;;14958:799;;;;;;;:::o;15765:126::-;;;;:::o;17891:164::-;17995:10;:17;;;;17968:15;:24;17984:7;17968:24;;;;;;;;;;;:44;;;;18023:10;18039:7;18023:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17891:164;:::o;18063:557::-;18157:22;18207:1;18182:22;18199:4;18182:16;:22::i;:::-;:26;;;;:::i;:::-;18157:51;;18219:18;18240:17;:26;18258:7;18240:26;;;;;;;;;;;;18219:47;;18297:14;18283:10;:28;18279:236;;18328:19;18350:12;:18;18363:4;18350:18;;;;;;;;;;;;;;;:34;18369:14;18350:34;;;;;;;;;;;;18328:56;;18434:11;18401:12;:18;18414:4;18401:18;;;;;;;;;;;;;;;:30;18420:10;18401:30;;;;;;;;;;;:44;;;;18493:10;18460:17;:30;18478:11;18460:30;;;;;;;;;;;:43;;;;18313:202;18279:236;18534:17;:26;18552:7;18534:26;;;;;;;;;;;18527:33;;;18578:12;:18;18591:4;18578:18;;;;;;;;;;;;;;;:34;18597:14;18578:34;;;;;;;;;;;18571:41;;;18144:476;;18063:557;;:::o;18628:427::-;18712:22;18757:1;18737:10;:17;;;;:21;;;;:::i;:::-;18712:46;;18769:18;18790:15;:24;18806:7;18790:24;;;;;;;;;;;;18769:45;;18827:19;18849:10;18860:14;18849:26;;;;;;;;:::i;:::-;;;;;;;;;;18827:48;;18913:11;18888:10;18899;18888:22;;;;;;;;:::i;:::-;;;;;;;;;:36;;;;18966:10;18935:15;:28;18951:11;18935:28;;;;;;;;;;;:41;;;;18996:15;:24;19012:7;18996:24;;;;;;;;;;;18989:31;;;19031:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18699:356;;;18628:427;:::o;17662:221::-;17747:14;17764:20;17781:2;17764:16;:20::i;:::-;17747:37;;17822:7;17795:12;:16;17808:2;17795:16;;;;;;;;;;;;;;;:24;17812:6;17795:24;;;;;;;;;;;:34;;;;17869:6;17840:17;:26;17858:7;17840:26;;;;;;;;;;;:35;;;;17736:147;17662:221;;:::o;13484:382::-;13578:1;13564:16;;:2;:16;;;;13556:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;13637:16;13645:7;13637;:16::i;:::-;13636:17;13628:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;13699:45;13728:1;13732:2;13736:7;13699:20;:45::i;:::-;13774:1;13757:9;:13;13767:2;13757:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;13805:2;13786:7;:16;13794:7;13786:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13850:7;13846:2;13825:33;;13842:1;13825:33;;;;;;;;;;;;13484:382;;:::o;4051:198::-;4111:4;4130:12;4197:7;4185:20;4177:28;;4240:1;4233:4;:8;4226:15;;;4051:198;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:116::-;1588:21;1603:5;1588:21;:::i;:::-;1581:5;1578:32;1568:60;;1624:1;1621;1614:12;1568:60;1518:116;:::o;1640:133::-;1683:5;1721:6;1708:20;1699:29;;1737:30;1761:5;1737:30;:::i;:::-;1640:133;;;;:::o;1779:323::-;1835:6;1884:2;1872:9;1863:7;1859:23;1855:32;1852:119;;;1890:79;;:::i;:::-;1852:119;2010:1;2035:50;2077:7;2068:6;2057:9;2053:22;2035:50;:::i;:::-;2025:60;;1981:114;1779:323;;;;:::o;2108:99::-;2160:6;2194:5;2188:12;2178:22;;2108:99;;;:::o;2213:169::-;2297:11;2331:6;2326:3;2319:19;2371:4;2366:3;2362:14;2347:29;;2213:169;;;;:::o;2388:307::-;2456:1;2466:113;2480:6;2477:1;2474:13;2466:113;;;2565:1;2560:3;2556:11;2550:18;2546:1;2541:3;2537:11;2530:39;2502:2;2499:1;2495:10;2490:15;;2466:113;;;2597:6;2594:1;2591:13;2588:101;;;2677:1;2668:6;2663:3;2659:16;2652:27;2588:101;2437:258;2388:307;;;:::o;2701:102::-;2742:6;2793:2;2789:7;2784:2;2777:5;2773:14;2769:28;2759:38;;2701:102;;;:::o;2809:364::-;2897:3;2925:39;2958:5;2925:39;:::i;:::-;2980:71;3044:6;3039:3;2980:71;:::i;:::-;2973:78;;3060:52;3105:6;3100:3;3093:4;3086:5;3082:16;3060:52;:::i;:::-;3137:29;3159:6;3137:29;:::i;:::-;3132:3;3128:39;3121:46;;2901:272;2809:364;;;;:::o;3179:313::-;3292:4;3330:2;3319:9;3315:18;3307:26;;3379:9;3373:4;3369:20;3365:1;3354:9;3350:17;3343:47;3407:78;3480:4;3471:6;3407:78;:::i;:::-;3399:86;;3179:313;;;;:::o;3498:77::-;3535:7;3564:5;3553:16;;3498:77;;;:::o;3581:122::-;3654:24;3672:5;3654:24;:::i;:::-;3647:5;3644:35;3634:63;;3693:1;3690;3683:12;3634:63;3581:122;:::o;3709:139::-;3755:5;3793:6;3780:20;3771:29;;3809:33;3836:5;3809:33;:::i;:::-;3709:139;;;;:::o;3854:329::-;3913:6;3962:2;3950:9;3941:7;3937:23;3933:32;3930:119;;;3968:79;;:::i;:::-;3930:119;4088:1;4113:53;4158:7;4149:6;4138:9;4134:22;4113:53;:::i;:::-;4103:63;;4059:117;3854:329;;;;:::o;4189:126::-;4226:7;4266:42;4259:5;4255:54;4244:65;;4189:126;;;:::o;4321:96::-;4358:7;4387:24;4405:5;4387:24;:::i;:::-;4376:35;;4321:96;;;:::o;4423:118::-;4510:24;4528:5;4510:24;:::i;:::-;4505:3;4498:37;4423:118;;:::o;4547:222::-;4640:4;4678:2;4667:9;4663:18;4655:26;;4691:71;4759:1;4748:9;4744:17;4735:6;4691:71;:::i;:::-;4547:222;;;;:::o;4775:122::-;4848:24;4866:5;4848:24;:::i;:::-;4841:5;4838:35;4828:63;;4887:1;4884;4877:12;4828:63;4775:122;:::o;4903:139::-;4949:5;4987:6;4974:20;4965:29;;5003:33;5030:5;5003:33;:::i;:::-;4903:139;;;;:::o;5048:474::-;5116:6;5124;5173:2;5161:9;5152:7;5148:23;5144:32;5141:119;;;5179:79;;:::i;:::-;5141:119;5299:1;5324:53;5369:7;5360:6;5349:9;5345:22;5324:53;:::i;:::-;5314:63;;5270:117;5426:2;5452:53;5497:7;5488:6;5477:9;5473:22;5452:53;:::i;:::-;5442:63;;5397:118;5048:474;;;;;:::o;5528:118::-;5615:24;5633:5;5615:24;:::i;:::-;5610:3;5603:37;5528:118;;:::o;5652:222::-;5745:4;5783:2;5772:9;5768:18;5760:26;;5796:71;5864:1;5853:9;5849:17;5840:6;5796:71;:::i;:::-;5652:222;;;;:::o;5880:329::-;5939:6;5988:2;5976:9;5967:7;5963:23;5959:32;5956:119;;;5994:79;;:::i;:::-;5956:119;6114:1;6139:53;6184:7;6175:6;6164:9;6160:22;6139:53;:::i;:::-;6129:63;;6085:117;5880:329;;;;:::o;6215:619::-;6292:6;6300;6308;6357:2;6345:9;6336:7;6332:23;6328:32;6325:119;;;6363:79;;:::i;:::-;6325:119;6483:1;6508:53;6553:7;6544:6;6533:9;6529:22;6508:53;:::i;:::-;6498:63;;6454:117;6610:2;6636:53;6681:7;6672:6;6661:9;6657:22;6636:53;:::i;:::-;6626:63;;6581:118;6738:2;6764:53;6809:7;6800:6;6789:9;6785:22;6764:53;:::i;:::-;6754:63;;6709:118;6215:619;;;;;:::o;6840:114::-;6907:6;6941:5;6935:12;6925:22;;6840:114;;;:::o;6960:184::-;7059:11;7093:6;7088:3;7081:19;7133:4;7128:3;7124:14;7109:29;;6960:184;;;;:::o;7150:132::-;7217:4;7240:3;7232:11;;7270:4;7265:3;7261:14;7253:22;;7150:132;;;:::o;7288:108::-;7365:24;7383:5;7365:24;:::i;:::-;7360:3;7353:37;7288:108;;:::o;7402:179::-;7471:10;7492:46;7534:3;7526:6;7492:46;:::i;:::-;7570:4;7565:3;7561:14;7547:28;;7402:179;;;;:::o;7587:113::-;7657:4;7689;7684:3;7680:14;7672:22;;7587:113;;;:::o;7736:732::-;7855:3;7884:54;7932:5;7884:54;:::i;:::-;7954:86;8033:6;8028:3;7954:86;:::i;:::-;7947:93;;8064:56;8114:5;8064:56;:::i;:::-;8143:7;8174:1;8159:284;8184:6;8181:1;8178:13;8159:284;;;8260:6;8254:13;8287:63;8346:3;8331:13;8287:63;:::i;:::-;8280:70;;8373:60;8426:6;8373:60;:::i;:::-;8363:70;;8219:224;8206:1;8203;8199:9;8194:14;;8159:284;;;8163:14;8459:3;8452:10;;7860:608;;;7736:732;;;;:::o;8474:373::-;8617:4;8655:2;8644:9;8640:18;8632:26;;8704:9;8698:4;8694:20;8690:1;8679:9;8675:17;8668:47;8732:108;8835:4;8826:6;8732:108;:::i;:::-;8724:116;;8474:373;;;;:::o;8853:117::-;8962:1;8959;8952:12;8976:117;9085:1;9082;9075:12;9099:180;9147:77;9144:1;9137:88;9244:4;9241:1;9234:15;9268:4;9265:1;9258:15;9285:281;9368:27;9390:4;9368:27;:::i;:::-;9360:6;9356:40;9498:6;9486:10;9483:22;9462:18;9450:10;9447:34;9444:62;9441:88;;;9509:18;;:::i;:::-;9441:88;9549:10;9545:2;9538:22;9328:238;9285:281;;:::o;9572:129::-;9606:6;9633:20;;:::i;:::-;9623:30;;9662:33;9690:4;9682:6;9662:33;:::i;:::-;9572:129;;;:::o;9707:308::-;9769:4;9859:18;9851:6;9848:30;9845:56;;;9881:18;;:::i;:::-;9845:56;9919:29;9941:6;9919:29;:::i;:::-;9911:37;;10003:4;9997;9993:15;9985:23;;9707:308;;;:::o;10021:154::-;10105:6;10100:3;10095;10082:30;10167:1;10158:6;10153:3;10149:16;10142:27;10021:154;;;:::o;10181:412::-;10259:5;10284:66;10300:49;10342:6;10300:49;:::i;:::-;10284:66;:::i;:::-;10275:75;;10373:6;10366:5;10359:21;10411:4;10404:5;10400:16;10449:3;10440:6;10435:3;10431:16;10428:25;10425:112;;;10456:79;;:::i;:::-;10425:112;10546:41;10580:6;10575:3;10570;10546:41;:::i;:::-;10265:328;10181:412;;;;;:::o;10613:340::-;10669:5;10718:3;10711:4;10703:6;10699:17;10695:27;10685:122;;10726:79;;:::i;:::-;10685:122;10843:6;10830:20;10868:79;10943:3;10935:6;10928:4;10920:6;10916:17;10868:79;:::i;:::-;10859:88;;10675:278;10613:340;;;;:::o;10959:509::-;11028:6;11077:2;11065:9;11056:7;11052:23;11048:32;11045:119;;;11083:79;;:::i;:::-;11045:119;11231:1;11220:9;11216:17;11203:31;11261:18;11253:6;11250:30;11247:117;;;11283:79;;:::i;:::-;11247:117;11388:63;11443:7;11434:6;11423:9;11419:22;11388:63;:::i;:::-;11378:73;;11174:287;10959:509;;;;:::o;11474:468::-;11539:6;11547;11596:2;11584:9;11575:7;11571:23;11567:32;11564:119;;;11602:79;;:::i;:::-;11564:119;11722:1;11747:53;11792:7;11783:6;11772:9;11768:22;11747:53;:::i;:::-;11737:63;;11693:117;11849:2;11875:50;11917:7;11908:6;11897:9;11893:22;11875:50;:::i;:::-;11865:60;;11820:115;11474:468;;;;;:::o;11948:307::-;12009:4;12099:18;12091:6;12088:30;12085:56;;;12121:18;;:::i;:::-;12085:56;12159:29;12181:6;12159:29;:::i;:::-;12151:37;;12243:4;12237;12233:15;12225:23;;11948:307;;;:::o;12261:410::-;12338:5;12363:65;12379:48;12420:6;12379:48;:::i;:::-;12363:65;:::i;:::-;12354:74;;12451:6;12444:5;12437:21;12489:4;12482:5;12478:16;12527:3;12518:6;12513:3;12509:16;12506:25;12503:112;;;12534:79;;:::i;:::-;12503:112;12624:41;12658:6;12653:3;12648;12624:41;:::i;:::-;12344:327;12261:410;;;;;:::o;12690:338::-;12745:5;12794:3;12787:4;12779:6;12775:17;12771:27;12761:122;;12802:79;;:::i;:::-;12761:122;12919:6;12906:20;12944:78;13018:3;13010:6;13003:4;12995:6;12991:17;12944:78;:::i;:::-;12935:87;;12751:277;12690:338;;;;:::o;13034:943::-;13129:6;13137;13145;13153;13202:3;13190:9;13181:7;13177:23;13173:33;13170:120;;;13209:79;;:::i;:::-;13170:120;13329:1;13354:53;13399:7;13390:6;13379:9;13375:22;13354:53;:::i;:::-;13344:63;;13300:117;13456:2;13482:53;13527:7;13518:6;13507:9;13503:22;13482:53;:::i;:::-;13472:63;;13427:118;13584:2;13610:53;13655:7;13646:6;13635:9;13631:22;13610:53;:::i;:::-;13600:63;;13555:118;13740:2;13729:9;13725:18;13712:32;13771:18;13763:6;13760:30;13757:117;;;13793:79;;:::i;:::-;13757:117;13898:62;13952:7;13943:6;13932:9;13928:22;13898:62;:::i;:::-;13888:72;;13683:287;13034:943;;;;;;;:::o;13983:474::-;14051:6;14059;14108:2;14096:9;14087:7;14083:23;14079:32;14076:119;;;14114:79;;:::i;:::-;14076:119;14234:1;14259:53;14304:7;14295:6;14284:9;14280:22;14259:53;:::i;:::-;14249:63;;14205:117;14361:2;14387:53;14432:7;14423:6;14412:9;14408:22;14387:53;:::i;:::-;14377:63;;14332:118;13983:474;;;;;:::o;14463:182::-;14603:34;14599:1;14591:6;14587:14;14580:58;14463:182;:::o;14651:366::-;14793:3;14814:67;14878:2;14873:3;14814:67;:::i;:::-;14807:74;;14890:93;14979:3;14890:93;:::i;:::-;15008:2;15003:3;14999:12;14992:19;;14651:366;;;:::o;15023:419::-;15189:4;15227:2;15216:9;15212:18;15204:26;;15276:9;15270:4;15266:20;15262:1;15251:9;15247:17;15240:47;15304:131;15430:4;15304:131;:::i;:::-;15296:139;;15023:419;;;:::o;15448:180::-;15496:77;15493:1;15486:88;15593:4;15590:1;15583:15;15617:4;15614:1;15607:15;15634:320;15678:6;15715:1;15709:4;15705:12;15695:22;;15762:1;15756:4;15752:12;15783:18;15773:81;;15839:4;15831:6;15827:17;15817:27;;15773:81;15901:2;15893:6;15890:14;15870:18;15867:38;15864:84;;;15920:18;;:::i;:::-;15864:84;15685:269;15634:320;;;:::o;15960:231::-;16100:34;16096:1;16088:6;16084:14;16077:58;16169:14;16164:2;16156:6;16152:15;16145:39;15960:231;:::o;16197:366::-;16339:3;16360:67;16424:2;16419:3;16360:67;:::i;:::-;16353:74;;16436:93;16525:3;16436:93;:::i;:::-;16554:2;16549:3;16545:12;16538:19;;16197:366;;;:::o;16569:419::-;16735:4;16773:2;16762:9;16758:18;16750:26;;16822:9;16816:4;16812:20;16808:1;16797:9;16793:17;16786:47;16850:131;16976:4;16850:131;:::i;:::-;16842:139;;16569:419;;;:::o;16994:220::-;17134:34;17130:1;17122:6;17118:14;17111:58;17203:3;17198:2;17190:6;17186:15;17179:28;16994:220;:::o;17220:366::-;17362:3;17383:67;17447:2;17442:3;17383:67;:::i;:::-;17376:74;;17459:93;17548:3;17459:93;:::i;:::-;17577:2;17572:3;17568:12;17561:19;;17220:366;;;:::o;17592:419::-;17758:4;17796:2;17785:9;17781:18;17773:26;;17845:9;17839:4;17835:20;17831:1;17820:9;17816:17;17809:47;17873:131;17999:4;17873:131;:::i;:::-;17865:139;;17592:419;;;:::o;18017:243::-;18157:34;18153:1;18145:6;18141:14;18134:58;18226:26;18221:2;18213:6;18209:15;18202:51;18017:243;:::o;18266:366::-;18408:3;18429:67;18493:2;18488:3;18429:67;:::i;:::-;18422:74;;18505:93;18594:3;18505:93;:::i;:::-;18623:2;18618:3;18614:12;18607:19;;18266:366;;;:::o;18638:419::-;18804:4;18842:2;18831:9;18827:18;18819:26;;18891:9;18885:4;18881:20;18877:1;18866:9;18862:17;18855:47;18919:131;19045:4;18919:131;:::i;:::-;18911:139;;18638:419;;;:::o;19063:236::-;19203:34;19199:1;19191:6;19187:14;19180:58;19272:19;19267:2;19259:6;19255:15;19248:44;19063:236;:::o;19305:366::-;19447:3;19468:67;19532:2;19527:3;19468:67;:::i;:::-;19461:74;;19544:93;19633:3;19544:93;:::i;:::-;19662:2;19657:3;19653:12;19646:19;;19305:366;;;:::o;19677:419::-;19843:4;19881:2;19870:9;19866:18;19858:26;;19930:9;19924:4;19920:20;19916:1;19905:9;19901:17;19894:47;19958:131;20084:4;19958:131;:::i;:::-;19950:139;;19677:419;;;:::o;20102:230::-;20242:34;20238:1;20230:6;20226:14;20219:58;20311:13;20306:2;20298:6;20294:15;20287:38;20102:230;:::o;20338:366::-;20480:3;20501:67;20565:2;20560:3;20501:67;:::i;:::-;20494:74;;20577:93;20666:3;20577:93;:::i;:::-;20695:2;20690:3;20686:12;20679:19;;20338:366;;;:::o;20710:419::-;20876:4;20914:2;20903:9;20899:18;20891:26;;20963:9;20957:4;20953:20;20949:1;20938:9;20934:17;20927:47;20991:131;21117:4;20991:131;:::i;:::-;20983:139;;20710:419;;;:::o;21135:180::-;21183:77;21180:1;21173:88;21280:4;21277:1;21270:15;21304:4;21301:1;21294:15;21321:348;21361:7;21384:20;21402:1;21384:20;:::i;:::-;21379:25;;21418:20;21436:1;21418:20;:::i;:::-;21413:25;;21606:1;21538:66;21534:74;21531:1;21528:81;21523:1;21516:9;21509:17;21505:105;21502:131;;;21613:18;;:::i;:::-;21502:131;21661:1;21658;21654:9;21643:20;;21321:348;;;;:::o;21675:180::-;21723:77;21720:1;21713:88;21820:4;21817:1;21810:15;21844:4;21841:1;21834:15;21861:185;21901:1;21918:20;21936:1;21918:20;:::i;:::-;21913:25;;21952:20;21970:1;21952:20;:::i;:::-;21947:25;;21991:1;21981:35;;21996:18;;:::i;:::-;21981:35;22038:1;22035;22031:9;22026:14;;21861:185;;;;:::o;22052:147::-;22153:11;22190:3;22175:18;;22052:147;;;;:::o;22205:114::-;;:::o;22325:398::-;22484:3;22505:83;22586:1;22581:3;22505:83;:::i;:::-;22498:90;;22597:93;22686:3;22597:93;:::i;:::-;22715:1;22710:3;22706:11;22699:18;;22325:398;;;:::o;22729:379::-;22913:3;22935:147;23078:3;22935:147;:::i;:::-;22928:154;;23099:3;23092:10;;22729:379;;;:::o;23114:180::-;23162:77;23159:1;23152:88;23259:4;23256:1;23249:15;23283:4;23280:1;23273:15;23300:233;23339:3;23362:24;23380:5;23362:24;:::i;:::-;23353:33;;23408:66;23401:5;23398:77;23395:103;;;23478:18;;:::i;:::-;23395:103;23525:1;23518:5;23514:13;23507:20;;23300:233;;;:::o;23539:231::-;23679:34;23675:1;23667:6;23663:14;23656:58;23748:14;23743:2;23735:6;23731:15;23724:39;23539:231;:::o;23776:366::-;23918:3;23939:67;24003:2;23998:3;23939:67;:::i;:::-;23932:74;;24015:93;24104:3;24015:93;:::i;:::-;24133:2;24128:3;24124:12;24117:19;;23776:366;;;:::o;24148:419::-;24314:4;24352:2;24341:9;24337:18;24329:26;;24401:9;24395:4;24391:20;24387:1;24376:9;24372:17;24365:47;24429:131;24555:4;24429:131;:::i;:::-;24421:139;;24148:419;;;:::o;24573:228::-;24713:34;24709:1;24701:6;24697:14;24690:58;24782:11;24777:2;24769:6;24765:15;24758:36;24573:228;:::o;24807:366::-;24949:3;24970:67;25034:2;25029:3;24970:67;:::i;:::-;24963:74;;25046:93;25135:3;25046:93;:::i;:::-;25164:2;25159:3;25155:12;25148:19;;24807:366;;;:::o;25179:419::-;25345:4;25383:2;25372:9;25368:18;25360:26;;25432:9;25426:4;25422:20;25418:1;25407:9;25403:17;25396:47;25460:131;25586:4;25460:131;:::i;:::-;25452:139;;25179:419;;;:::o;25604:229::-;25744:34;25740:1;25732:6;25728:14;25721:58;25813:12;25808:2;25800:6;25796:15;25789:37;25604:229;:::o;25839:366::-;25981:3;26002:67;26066:2;26061:3;26002:67;:::i;:::-;25995:74;;26078:93;26167:3;26078:93;:::i;:::-;26196:2;26191:3;26187:12;26180:19;;25839:366;;;:::o;26211:419::-;26377:4;26415:2;26404:9;26400:18;26392:26;;26464:9;26458:4;26454:20;26450:1;26439:9;26435:17;26428:47;26492:131;26618:4;26492:131;:::i;:::-;26484:139;;26211:419;;;:::o;26636:305::-;26676:3;26695:20;26713:1;26695:20;:::i;:::-;26690:25;;26729:20;26747:1;26729:20;:::i;:::-;26724:25;;26883:1;26815:66;26811:74;26808:1;26805:81;26802:107;;;26889:18;;:::i;:::-;26802:107;26933:1;26930;26926:9;26919:16;;26636:305;;;;:::o;26947:175::-;27087:27;27083:1;27075:6;27071:14;27064:51;26947:175;:::o;27128:366::-;27270:3;27291:67;27355:2;27350:3;27291:67;:::i;:::-;27284:74;;27367:93;27456:3;27367:93;:::i;:::-;27485:2;27480:3;27476:12;27469:19;;27128:366;;;:::o;27500:419::-;27666:4;27704:2;27693:9;27689:18;27681:26;;27753:9;27747:4;27743:20;27739:1;27728:9;27724:17;27717:47;27781:131;27907:4;27781:131;:::i;:::-;27773:139;;27500:419;;;:::o;27925:442::-;28074:4;28112:2;28101:9;28097:18;28089:26;;28125:71;28193:1;28182:9;28178:17;28169:6;28125:71;:::i;:::-;28206:72;28274:2;28263:9;28259:18;28250:6;28206:72;:::i;:::-;28288;28356:2;28345:9;28341:18;28332:6;28288:72;:::i;:::-;27925:442;;;;;;:::o;28373:137::-;28427:5;28458:6;28452:13;28443:22;;28474:30;28498:5;28474:30;:::i;:::-;28373:137;;;;:::o;28516:345::-;28583:6;28632:2;28620:9;28611:7;28607:23;28603:32;28600:119;;;28638:79;;:::i;:::-;28600:119;28758:1;28783:61;28836:7;28827:6;28816:9;28812:22;28783:61;:::i;:::-;28773:71;;28729:125;28516:345;;;;:::o;28867:247::-;29007:34;29003:1;28995:6;28991:14;28984:58;29076:30;29071:2;29063:6;29059:15;29052:55;28867:247;:::o;29120:366::-;29262:3;29283:67;29347:2;29342:3;29283:67;:::i;:::-;29276:74;;29359:93;29448:3;29359:93;:::i;:::-;29477:2;29472:3;29468:12;29461:19;;29120:366;;;:::o;29492:419::-;29658:4;29696:2;29685:9;29681:18;29673:26;;29745:9;29739:4;29735:20;29731:1;29720:9;29716:17;29709:47;29773:131;29899:4;29773:131;:::i;:::-;29765:139;;29492:419;;;:::o;29917:234::-;30057:34;30053:1;30045:6;30041:14;30034:58;30126:17;30121:2;30113:6;30109:15;30102:42;29917:234;:::o;30157:366::-;30299:3;30320:67;30384:2;30379:3;30320:67;:::i;:::-;30313:74;;30396:93;30485:3;30396:93;:::i;:::-;30514:2;30509:3;30505:12;30498:19;;30157:366;;;:::o;30529:419::-;30695:4;30733:2;30722:9;30718:18;30710:26;;30782:9;30776:4;30772:20;30768:1;30757:9;30753:17;30746:47;30810:131;30936:4;30810:131;:::i;:::-;30802:139;;30529:419;;;:::o;30954:148::-;31056:11;31093:3;31078:18;;30954:148;;;;:::o;31108:377::-;31214:3;31242:39;31275:5;31242:39;:::i;:::-;31297:89;31379:6;31374:3;31297:89;:::i;:::-;31290:96;;31395:52;31440:6;31435:3;31428:4;31421:5;31417:16;31395:52;:::i;:::-;31472:6;31467:3;31463:16;31456:23;;31218:267;31108:377;;;;:::o;31491:141::-;31540:4;31563:3;31555:11;;31586:3;31583:1;31576:14;31620:4;31617:1;31607:18;31599:26;;31491:141;;;:::o;31662:845::-;31765:3;31802:5;31796:12;31831:36;31857:9;31831:36;:::i;:::-;31883:89;31965:6;31960:3;31883:89;:::i;:::-;31876:96;;32003:1;31992:9;31988:17;32019:1;32014:137;;;;32165:1;32160:341;;;;31981:520;;32014:137;32098:4;32094:9;32083;32079:25;32074:3;32067:38;32134:6;32129:3;32125:16;32118:23;;32014:137;;32160:341;32227:38;32259:5;32227:38;:::i;:::-;32287:1;32301:154;32315:6;32312:1;32309:13;32301:154;;;32389:7;32383:14;32379:1;32374:3;32370:11;32363:35;32439:1;32430:7;32426:15;32415:26;;32337:4;32334:1;32330:12;32325:17;;32301:154;;;32484:6;32479:3;32475:16;32468:23;;32167:334;;31981:520;;31769:738;;31662:845;;;;:::o;32513:589::-;32738:3;32760:95;32851:3;32842:6;32760:95;:::i;:::-;32753:102;;32872:95;32963:3;32954:6;32872:95;:::i;:::-;32865:102;;32984:92;33072:3;33063:6;32984:92;:::i;:::-;32977:99;;33093:3;33086:10;;32513:589;;;;;;:::o;33108:225::-;33248:34;33244:1;33236:6;33232:14;33225:58;33317:8;33312:2;33304:6;33300:15;33293:33;33108:225;:::o;33339:366::-;33481:3;33502:67;33566:2;33561:3;33502:67;:::i;:::-;33495:74;;33578:93;33667:3;33578:93;:::i;:::-;33696:2;33691:3;33687:12;33680:19;;33339:366;;;:::o;33711:419::-;33877:4;33915:2;33904:9;33900:18;33892:26;;33964:9;33958:4;33954:20;33950:1;33939:9;33935:17;33928:47;33992:131;34118:4;33992:131;:::i;:::-;33984:139;;33711:419;;;:::o;34136:231::-;34276:34;34272:1;34264:6;34260:14;34253:58;34345:14;34340:2;34332:6;34328:15;34321:39;34136:231;:::o;34373:366::-;34515:3;34536:67;34600:2;34595:3;34536:67;:::i;:::-;34529:74;;34612:93;34701:3;34612:93;:::i;:::-;34730:2;34725:3;34721:12;34714:19;;34373:366;;;:::o;34745:419::-;34911:4;34949:2;34938:9;34934:18;34926:26;;34998:9;34992:4;34988:20;34984:1;34973:9;34969:17;34962:47;35026:131;35152:4;35026:131;:::i;:::-;35018:139;;34745:419;;;:::o;35170:228::-;35310:34;35306:1;35298:6;35294:14;35287:58;35379:11;35374:2;35366:6;35362:15;35355:36;35170:228;:::o;35404:366::-;35546:3;35567:67;35631:2;35626:3;35567:67;:::i;:::-;35560:74;;35643:93;35732:3;35643:93;:::i;:::-;35761:2;35756:3;35752:12;35745:19;;35404:366;;;:::o;35776:419::-;35942:4;35980:2;35969:9;35965:18;35957:26;;36029:9;36023:4;36019:20;36015:1;36004:9;36000:17;35993:47;36057:131;36183:4;36057:131;:::i;:::-;36049:139;;35776:419;;;:::o;36201:223::-;36341:34;36337:1;36329:6;36325:14;36318:58;36410:6;36405:2;36397:6;36393:15;36386:31;36201:223;:::o;36430:366::-;36572:3;36593:67;36657:2;36652:3;36593:67;:::i;:::-;36586:74;;36669:93;36758:3;36669:93;:::i;:::-;36787:2;36782:3;36778:12;36771:19;;36430:366;;;:::o;36802:419::-;36968:4;37006:2;36995:9;36991:18;36983:26;;37055:9;37049:4;37045:20;37041:1;37030:9;37026:17;37019:47;37083:131;37209:4;37083:131;:::i;:::-;37075:139;;36802:419;;;:::o;37227:191::-;37267:4;37287:20;37305:1;37287:20;:::i;:::-;37282:25;;37321:20;37339:1;37321:20;:::i;:::-;37316:25;;37360:1;37357;37354:8;37351:34;;;37365:18;;:::i;:::-;37351:34;37410:1;37407;37403:9;37395:17;;37227:191;;;;:::o;37424:237::-;37564:34;37560:1;37552:6;37548:14;37541:58;37633:20;37628:2;37620:6;37616:15;37609:45;37424:237;:::o;37667:366::-;37809:3;37830:67;37894:2;37889:3;37830:67;:::i;:::-;37823:74;;37906:93;37995:3;37906:93;:::i;:::-;38024:2;38019:3;38015:12;38008:19;;37667:366;;;:::o;38039:419::-;38205:4;38243:2;38232:9;38228:18;38220:26;;38292:9;38286:4;38282:20;38278:1;38267:9;38263:17;38256:47;38320:131;38446:4;38320:131;:::i;:::-;38312:139;;38039:419;;;:::o;38464:176::-;38496:1;38513:20;38531:1;38513:20;:::i;:::-;38508:25;;38547:20;38565:1;38547:20;:::i;:::-;38542:25;;38586:1;38576:35;;38591:18;;:::i;:::-;38576:35;38632:1;38629;38625:9;38620:14;;38464:176;;;;:::o;38646:98::-;38697:6;38731:5;38725:12;38715:22;;38646:98;;;:::o;38750:168::-;38833:11;38867:6;38862:3;38855:19;38907:4;38902:3;38898:14;38883:29;;38750:168;;;;:::o;38924:360::-;39010:3;39038:38;39070:5;39038:38;:::i;:::-;39092:70;39155:6;39150:3;39092:70;:::i;:::-;39085:77;;39171:52;39216:6;39211:3;39204:4;39197:5;39193:16;39171:52;:::i;:::-;39248:29;39270:6;39248:29;:::i;:::-;39243:3;39239:39;39232:46;;39014:270;38924:360;;;;:::o;39290:640::-;39485:4;39523:3;39512:9;39508:19;39500:27;;39537:71;39605:1;39594:9;39590:17;39581:6;39537:71;:::i;:::-;39618:72;39686:2;39675:9;39671:18;39662:6;39618:72;:::i;:::-;39700;39768:2;39757:9;39753:18;39744:6;39700:72;:::i;:::-;39819:9;39813:4;39809:20;39804:2;39793:9;39789:18;39782:48;39847:76;39918:4;39909:6;39847:76;:::i;:::-;39839:84;;39290:640;;;;;;;:::o;39936:141::-;39992:5;40023:6;40017:13;40008:22;;40039:32;40065:5;40039:32;:::i;:::-;39936:141;;;;:::o;40083:349::-;40152:6;40201:2;40189:9;40180:7;40176:23;40172:32;40169:119;;;40207:79;;:::i;:::-;40169:119;40327:1;40352:63;40407:7;40398:6;40387:9;40383:22;40352:63;:::i;:::-;40342:73;;40298:127;40083:349;;;;:::o;40438:180::-;40486:77;40483:1;40476:88;40583:4;40580:1;40573:15;40607:4;40604:1;40597:15;40624:182;40764:34;40760:1;40752:6;40748:14;40741:58;40624:182;:::o;40812:366::-;40954:3;40975:67;41039:2;41034:3;40975:67;:::i;:::-;40968:74;;41051:93;41140:3;41051:93;:::i;:::-;41169:2;41164:3;41160:12;41153:19;;40812:366;;;:::o;41184:419::-;41350:4;41388:2;41377:9;41373:18;41365:26;;41437:9;41431:4;41427:20;41423:1;41412:9;41408:17;41401:47;41465:131;41591:4;41465:131;:::i;:::-;41457:139;;41184:419;;;:::o;41609:178::-;41749:30;41745:1;41737:6;41733:14;41726:54;41609:178;:::o;41793:366::-;41935:3;41956:67;42020:2;42015:3;41956:67;:::i;:::-;41949:74;;42032:93;42121:3;42032:93;:::i;:::-;42150:2;42145:3;42141:12;42134:19;;41793:366;;;:::o;42165:419::-;42331:4;42369:2;42358:9;42354:18;42346:26;;42418:9;42412:4;42408:20;42404:1;42393:9;42389:17;42382:47;42446:131;42572:4;42446:131;:::i;:::-;42438:139;;42165:419;;;:::o

Swarm Source

ipfs://3c181ffb12e299a832a03bb19916520a94fc18f453250a1558b915f11eaaa82a
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
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.