IBVM Testnet

Contract

0x9cf1fa0d8cb4cdd338dd15ca69c1b188601e441d

Overview

BTC Balance

IBVM Smart Chain LogoIBVM Smart Chain LogoIBVM Smart Chain Logo 0 BTC

Token Holdings

 Latest 25 from a total of 47 transactions

Transaction Hash
Method
Block
From
To
Value
claimToken 1931341 May 29,2025 5:24:37 AM 1 month ago May 29,2025 5:24:37 AM IN 0 BTC 0.00000963 0.1 Gwei
claimToken 1891127 May 28,2025 7:4:9 AM 1 month ago May 28,2025 7:4:9 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1889568 May 28,2025 6:12:11 AM 1 month ago May 28,2025 6:12:11 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1859387 May 27,2025 13:26:9 PM 1 month ago May 27,2025 13:26:9 PM IN 0 BTC 0.00000963 0.1 Gwei
claimToken 1859275 May 27,2025 13:22:25 PM 1 month ago May 27,2025 13:22:25 PM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1859268 May 27,2025 13:22:11 PM 1 month ago May 27,2025 13:22:11 PM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1859221 May 27,2025 13:20:37 PM 1 month ago May 27,2025 13:20:37 PM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1859215 May 27,2025 13:20:25 PM 1 month ago May 27,2025 13:20:25 PM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1859208 May 27,2025 13:20:11 PM 1 month ago May 27,2025 13:20:11 PM IN 0 BTC 0.00000963 0.1 Gwei
claimToken 1859148 May 27,2025 13:18:11 PM 1 month ago May 27,2025 13:18:11 PM IN 0 BTC 0.00000963 0.1 Gwei
claimToken 1859088 May 27,2025 13:16:11 PM 1 month ago May 27,2025 13:16:11 PM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1858848 May 27,2025 13:8:11 PM 1 month ago May 27,2025 13:8:11 PM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1851115 May 27,2025 8:50:25 AM 1 month ago May 27,2025 8:50:25 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1851048 May 27,2025 8:48:11 AM 1 month ago May 27,2025 8:48:11 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1848949 May 27,2025 7:38:13 AM 1 month ago May 27,2025 7:38:13 AM IN 0 BTC 0.00000963 0.1 Gwei
claimToken 1848588 May 27,2025 7:26:11 AM 1 month ago May 27,2025 7:26:11 AM IN 0 BTC 0.00000963 0.1 Gwei
claimToken 1848168 May 27,2025 7:12:11 AM 1 month ago May 27,2025 7:12:11 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1845947 May 27,2025 5:58:9 AM 1 month ago May 27,2025 5:58:9 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1845888 May 27,2025 5:56:11 AM 1 month ago May 27,2025 5:56:11 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1845828 May 27,2025 5:54:11 AM 1 month ago May 27,2025 5:54:11 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1845708 May 27,2025 5:50:11 AM 1 month ago May 27,2025 5:50:11 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1845587 May 27,2025 5:46:9 AM 1 month ago May 27,2025 5:46:9 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1845529 May 27,2025 5:44:13 AM 1 month ago May 27,2025 5:44:13 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1845467 May 27,2025 5:42:9 AM 1 month ago May 27,2025 5:42:9 AM IN 0 BTC 0.00000813 0.1 Gwei
claimToken 1845409 May 27,2025 5:40:13 AM 1 month ago May 27,2025 5:40:13 AM IN 0 BTC 0.00000813 0.1 Gwei
View all transactions

 Latest ERC-20 Token Transfer Events (View All)

Transaction Hash Method Block Age From To Amount Token
Transfer 1931341 May 29,2025 5:24:37 AM 1 month ago 1748496277 IN 0.01
IBVM-Peg BNB Token (BNB)
Transfer 1891127 May 28,2025 7:4:9 AM 1 month ago 1748415849 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1889568 May 28,2025 6:12:11 AM 1 month ago 1748412731 IN 0.001
IBVM-Peg BNB Token (BNB)
Transfer 1859387 May 27,2025 13:26:9 PM 1 month ago 1748352369 IN 0.0001
IBVM-Peg Ethereum Token (ETH)
Transfer 1859275 May 27,2025 13:22:25 PM 1 month ago 1748352145 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1859268 May 27,2025 13:22:11 PM 1 month ago 1748352131 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1859215 May 27,2025 13:20:25 PM 1 month ago 1748352025 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1859148 May 27,2025 13:18:11 PM 1 month ago 1748351891 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1859088 May 27,2025 13:16:11 PM 1 month ago 1748351771 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1858848 May 27,2025 13:8:11 PM 1 month ago 1748351291 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1851115 May 27,2025 8:50:25 AM 1 month ago 1748335825 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1851048 May 27,2025 8:48:11 AM 1 month ago 1748335691 IN 0.001
IBVM-Peg BNB Token (BNB)
Transfer 1848949 May 27,2025 7:38:13 AM 1 month ago 1748331493 IN 0.0005
IBVM-Peg BNB Token (BNB)
Transfer 1848588 May 27,2025 7:26:11 AM 1 month ago 1748330771 IN 0.0005
IBVM-Peg Tether USD (USDT)
Transfer 1848168 May 27,2025 7:12:11 AM 1 month ago 1748329931 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1845947 May 27,2025 5:58:9 AM 1 month ago 1748325489 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1845888 May 27,2025 5:56:11 AM 1 month ago 1748325371 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1845828 May 27,2025 5:54:11 AM 1 month ago 1748325251 IN 0
IBVM-Peg BNB Token (BNB)
Transfer 1845708 May 27,2025 5:50:11 AM 1 month ago 1748325011 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1845587 May 27,2025 5:46:9 AM 1 month ago 1748324769 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1845529 May 27,2025 5:44:13 AM 1 month ago 1748324653 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1845467 May 27,2025 5:42:9 AM 1 month ago 1748324529 IN 0.001
IBVM-Peg BNB Token (BNB)
Transfer 1845409 May 27,2025 5:40:13 AM 1 month ago 1748324413 IN 0.0001
IBVM-Peg BNB Token (BNB)
Transfer 1812586 May 26,2025 11:26:7 AM 1 month ago 1748258767 IN 0.001
IBVM-Peg BNB Token (BNB)
Transfer 1805925 May 26,2025 7:44:5 AM 1 month ago 1748245445 IN 0.001
IBVM-Peg BNB Token (BNB)
View All BEP-20 Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TokenBridge

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
istanbul evmVersion, MIT License (MIT) license

Contract Source Code (Solidity)

Contract ABI

[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_tokenManager",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_vault",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "EnforcedPause",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ExpectedPause",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "OwnableInvalidOwner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "OwnableUnauthorizedAccount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ReentrancyGuardReentrantCall",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "admin",
        "type": "address"
      }
    ],
    "name": "AdministratorAdded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "admin",
        "type": "address"
      }
    ],
    "name": "AdministratorRemoved",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "EmergencyWithdrawal",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      }
    ],
    "name": "NativeCurrencyClaimProcessed",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "NativeCurrencyDepositInitiated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Paused",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "TokenAdded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      }
    ],
    "name": "TokenClaimProcessed",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "TokenDepositInitiated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "TokenRemoved",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Unpaused",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_admin",
        "type": "address"
      }
    ],
    "name": "addAdministrator",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      }
    ],
    "name": "addSupportedToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "administrators",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_depositId",
        "type": "uint256"
      }
    ],
    "name": "claimNativeCurrency",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_depositId",
        "type": "uint256"
      }
    ],
    "name": "claimToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_receivingAddress",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "_depositId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "depositNativeCurrency",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "_receivingAddress",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "_receivingChainId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_depositId",
        "type": "uint256"
      }
    ],
    "name": "depositToken",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "deposits",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "timestamp",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "receivingChainId",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "receivingAddress",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "emergencyWithdraw",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_depositId",
        "type": "uint256"
      }
    ],
    "name": "getDepositInfo",
    "outputs": [
      {
        "internalType": "address",
        "name": "user",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "timestamp",
        "type": "uint256"
      },
      {
        "internalType": "string",
        "name": "receivingAddress",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "receivingChainId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "depositId",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_recipient",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "isClaimProcessed",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "paused",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      }
    ],
    "name": "processedClaims",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_admin",
        "type": "address"
      }
    ],
    "name": "removeAdministrator",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      }
    ],
    "name": "removeSupportedToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_vault",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_tokenManager",
        "type": "address"
      }
    ],
    "name": "setVaultAndTokenManager",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "supportedTokens",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "tokenManager",
    "outputs": [
      {
        "internalType": "contract ITokenManager",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "unpause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "vault",
    "outputs": [
      {
        "internalType": "contract IVault",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]

Contract Creation Code

608060405234801561001057600080fd5b5060405161236838038061236883398101604081905261002f916101d1565b338061005657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61005f81610165565b50600180556001600160a01b0382166100ba5760405162461bcd60e51b815260206004820152601c60248201527f496e76616c696420546f6b656e4d616e61676572206164647265737300000000604482015260640161004d565b6001600160a01b0381166101105760405162461bcd60e51b815260206004820152601560248201527f496e76616c6964205661756c7420616464726573730000000000000000000000604482015260640161004d565b60028054610100600160a81b0319166101006001600160a01b0394851602179055600380546001600160a01b03191691909216179055336000908152600660205260409020805460ff19166001179055610204565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146101cc57600080fd5b919050565b600080604083850312156101e457600080fd5b6101ed836101b5565b91506101fb602084016101b5565b90509250929050565b612155806102136000396000f3fe60806040526004361061014f5760003560e01c80638456cb59116100b6578063b49491261161006f578063b49491261461049f578063bd69a288146104bf578063c9991176146104df578063e63ea408146104ff578063f2fde38b1461051f578063fbfa77cf1461053f57600080fd5b80638456cb59146103855780638da5cb5b1461039a5780639621c94c146103b8578063a22042f814610439578063b02c43d014610459578063b2a5062b1461048c57600080fd5b806368fa81341161010857806368fa8134146102b05780636d69fcaf146102d0578063715018a6146102f0578063763191901461030557806376be1585146103255780637d548c641461035557600080fd5b80632a709b14146101bf5780633f4ba83a146102015780634461b1af146102165780635328c2bf146102295780635c975abb1461025c57806368c4ac261461028057600080fd5b366101ba57600360009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101a457600080fd5b505af11580156101b8573d6000803e3d6000fd5b005b600080fd5b3480156101cb57600080fd5b506002546101e49061010090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561020d57600080fd5b506101b861055f565b6101b8610224366004611bfe565b6105b6565b34801561023557600080fd5b50610249610244366004611c67565b610865565b6040516101f89796959493929190611cd0565b34801561026857600080fd5b5060025460ff165b60405190151581526020016101f8565b34801561028c57600080fd5b5061027061029b366004611d20565b60076020526000908152604090205460ff1681565b3480156102bc57600080fd5b506101b86102cb366004611d20565b61095e565b3480156102dc57600080fd5b506101b86102eb366004611d20565b610a8a565b3480156102fc57600080fd5b506101b8610b95565b34801561031157600080fd5b506101b8610320366004611d20565b610ba7565b34801561033157600080fd5b50610270610340366004611d20565b60066020526000908152604090205460ff1681565b34801561036157600080fd5b50610270610370366004611c67565b60056020526000908152604090205460ff1681565b34801561039157600080fd5b506101b8610c30565b3480156103a657600080fd5b506000546001600160a01b03166101e4565b3480156103c457600080fd5b506102706103d3366004611d42565b6040516bffffffffffffffffffffffff19606085811b8216602084015284901b16603482015260488101829052600090819060680160408051808303601f1901815291815281516020928301206000908152600590925290205460ff1695945050505050565b34801561044557600080fd5b506101b8610454366004611d7f565b610c7c565b34801561046557600080fd5b50610479610474366004611c67565b610f5b565b6040516101f89796959493929190611db2565b6101b861049a366004611e06565b61102f565b3480156104ab57600080fd5b506101b86104ba366004611e54565b611211565b3480156104cb57600080fd5b506101b86104da366004611e96565b6114d9565b3480156104eb57600080fd5b506101b86104fa366004611d20565b6115fd565b34801561050b57600080fd5b506101b861051a366004611d42565b611708565b34801561052b57600080fd5b506101b861053a366004611d20565b611982565b34801561054b57600080fd5b506003546101e4906001600160a01b031681565b3360009081526006602052604090205460ff168061058757506000546001600160a01b031633145b6105ac5760405162461bcd60e51b81526004016105a390611ec9565b60405180910390fd5b6105b46119c0565b565b6105be611a12565b6105c6611a3c565b6001600160a01b038516600090815260076020526040902054859060ff166106005760405162461bcd60e51b81526004016105a390611ef1565b835184906106505760405162461bcd60e51b815260206004820181905260248201527f726563656976696e67416464726573732063616e6e6f7420626520656d70747960448201526064016105a3565b6001600160a01b0387166106b05760405162461bcd60e51b815260206004820152602160248201527f557365206465706f7369744e617469766543757272656e637920666f722045546044820152600960fb1b60648201526084016105a3565b600086116106d05760405162461bcd60e51b81526004016105a390611f1e565b6040805160e0810182528481523360208083019182526001600160a01b038b8116848601908152606085018c8152426080870190815260a087018c815260c088018e815260008d8152600497889052999099208851815596516001880180549187166001600160a01b03199283161790559351600288018054919096169416939093179093555160038501559051918301919091555160058201559151909190600682019061077f9082611fd6565b50506002546040516323b872dd60e01b81523360048201526101009091046001600160a01b03908116602483015260448201899052891691506323b872dd906064016020604051808303816000875af11580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108049190612095565b50866001600160a01b0316336001600160a01b0316847f21f244739fa806b87971dd4bae3cc4e416810785bb2fa624029c624c6319ff858960405161084b91815260200190565b60405180910390a4505061085e60018055565b5050505050565b6000818152600460208190526040822060018101546002820154600383015493830154600584015484546006860180548998899889986060988a98899893976001600160a01b039384169793909216959093919083906108c490611f55565b80601f01602080910402602001604051908101604052809291908181526020018280546108f090611f55565b801561093d5780601f106109125761010080835404028352916020019161093d565b820191906000526020600020905b81548152906001019060200180831161092057829003601f168201915b50505050509250975097509750975097509750975050919395979092949650565b610966611a60565b6000546001600160a01b03166001600160a01b0316816001600160a01b0316036109e25760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f7665206f776e65722066726f6d2061646d696e6973604482015266747261746f727360c81b60648201526084016105a3565b6001600160a01b03811660009081526006602052604090205460ff16610a415760405162461bcd60e51b81526020600482015260146024820152732737ba1030b71030b236b4b734b9ba3930ba37b960611b60448201526064016105a3565b6001600160a01b038116600081815260066020526040808220805460ff19169055517fd5c9a61a4ab4b84f78da506149b7b0d376843283a81eee2dbdc9a55f988ab6439190a250565b610a92611a60565b6001600160a01b038116610ae05760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b60448201526064016105a3565b6001600160a01b03811660009081526007602052604090205460ff1615610b495760405162461bcd60e51b815260206004820152601760248201527f546f6b656e20616c726561647920737570706f7274656400000000000000000060448201526064016105a3565b6001600160a01b038116600081815260076020526040808220805460ff19166001179055517f784c8f4dbf0ffedd6e72c76501c545a70f8b203b30a26ce542bf92ba87c248a49190a250565b610b9d611a60565b6105b46000611a8d565b610baf611a60565b6001600160a01b03811660009081526007602052604090205460ff16610be75760405162461bcd60e51b81526004016105a390611ef1565b6001600160a01b038116600081815260076020526040808220805460ff19169055517f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd39190a250565b3360009081526006602052604090205460ff1680610c5857506000546001600160a01b031633145b610c745760405162461bcd60e51b81526004016105a390611ec9565b6105b4611add565b610c84611a12565b610c8c611a3c565b3360009081526006602052604090205460ff1680610cb457506000546001600160a01b031633145b610cd05760405162461bcd60e51b81526004016105a390611ec9565b6001600160a01b038316610d225760405162461bcd60e51b8152602060048201526019602482015278496e76616c696420726563697069656e74206164647265737360381b60448201526064016105a3565b60008211610d425760405162461bcd60e51b81526004016105a390611f1e565b60008360008484604051602001610d5c94939291906120b7565b60408051601f1981840301815291815281516020928301206000818152600590935291205490915060ff1615610dce5760405162461bcd60e51b815260206004820152601760248201527610db185a5b48185b1c9958591e481c1c9bd8d95cdcd959604a1b60448201526064016105a3565b60035460408051629032ff60e51b8152905185926001600160a01b0316916312065fe09160048083019260209291908290030181865afa158015610e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3a91906120ea565b1015610e885760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74207661756c742062616c616e636500000000000060448201526064016105a3565b60008181526005602052604090819020805460ff19166001179055600354905163f3fef3a360e01b81526001600160a01b038681166004830152602482018690529091169063f3fef3a390604401600060405180830381600087803b158015610ef057600080fd5b505af1158015610f04573d6000803e3d6000fd5b505060408051868152602081018690526001600160a01b03881693507f75920a0c4df95739def1e0ab98b8afa9294035ed96c49501a055a2d36154972992500160405180910390a250610f5660018055565b505050565b6004602081905260009182526040909120805460018201546002830154600384015494840154600585015460068601805495976001600160a01b0395861697949095169592939192610fac90611f55565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd890611f55565b80156110255780601f10610ffa57610100808354040283529160200191611025565b820191906000526020600020905b81548152906001019060200180831161100857829003601f168201915b5050505050905087565b611037611a12565b61103f611a3c565b8251839061108f5760405162461bcd60e51b815260206004820181905260248201527f726563656976696e67416464726573732063616e6e6f7420626520656d70747960448201526064016105a3565b81341015801561109f5750600082115b6110bb5760405162461bcd60e51b81526004016105a390611f1e565b6040805160e081018252848152336020808301918252600083850181815260608501888152426080870190815260a0870184815260c088018d81528c8652600496879052989094208751815595516001870180546001600160a01b03199081166001600160a01b039384161790915593516002880180549095169116179092555160038501555191830191909155516005820155915190919060068201906111639082611fd6565b50905050600360009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156111b757600080fd5b505af11580156111cb573d6000803e3d6000fd5b50506040518581523393508692507fd39cc5f65026b32a8bb0ac7eccc37a6c3d54d2d366b1bc1c09dfc2b58be6e66d915060200160405180910390a350610f5660018055565b611219611a12565b611221611a3c565b3360009081526006602052604090205460ff168061124957506000546001600160a01b031633145b6112655760405162461bcd60e51b81526004016105a390611ec9565b6001600160a01b038316600090815260076020526040902054839060ff1661129f5760405162461bcd60e51b81526004016105a390611ef1565b6001600160a01b0385166112f15760405162461bcd60e51b8152602060048201526019602482015278496e76616c696420726563697069656e74206164647265737360381b60448201526064016105a3565b600083116113115760405162461bcd60e51b81526004016105a390611f1e565b6001600160a01b0384166113675760405162461bcd60e51b815260206004820152601f60248201527f55736520636c61696d4e617469766543757272656e637920666f72204554480060448201526064016105a3565b60008585858560405160200161138094939291906120b7565b60408051601f1981840301815291815281516020928301206000818152600590935291205490915060ff16156113f25760405162461bcd60e51b815260206004820152601760248201527610db185a5b48185b1c9958591e481c1c9bd8d95cdcd959604a1b60448201526064016105a3565b60008181526005602052604090819020805460ff1916600117905560025490516335f6196d60e11b81526001600160a01b03878116600483015288811660248301526044820187905261010090920490911690636bec32da90606401600060405180830381600087803b15801561146857600080fd5b505af115801561147c573d6000803e3d6000fd5b505060408051878152602081018790526001600160a01b03808a1694508a1692507fae3acd500fad5d55faa51242f79d21d1230aa2740b8f27858c990cd1a20267ee910160405180910390a350506114d360018055565b50505050565b3360009081526006602052604090205460ff168061150157506000546001600160a01b031633145b61151d5760405162461bcd60e51b81526004016105a390611ec9565b6001600160a01b03821661156b5760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964205661756c74206164647265737360581b60448201526064016105a3565b6001600160a01b0381166115c15760405162461bcd60e51b815260206004820152601c60248201527f496e76616c696420546f6b656e4d616e6167657220616464726573730000000060448201526064016105a3565b600380546001600160a01b039384166001600160a01b0319909116179055600280549190921661010002610100600160a81b0319909116179055565b611605611a60565b6001600160a01b0381166116535760405162461bcd60e51b8152602060048201526015602482015274496e76616c69642061646d696e206164647265737360581b60448201526064016105a3565b6001600160a01b03811660009081526006602052604090205460ff16156116bc5760405162461bcd60e51b815260206004820152601860248201527f416c726561647920616e2061646d696e6973747261746f72000000000000000060448201526064016105a3565b6001600160a01b038116600081815260066020526040808220805460ff19166001179055517fe78a1675a4b4d68d04fc70b93f9c37c5288e084d9b02d718103f7ad5e292b6889190a250565b611710611a60565b6001600160a01b03821661175a5760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b60448201526064016105a3565b6001600160a01b03831661181b576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146117b5576040519150601f19603f3d011682016040523d82523d6000602084013e6117ba565b606091505b50509050806118155760405162461bcd60e51b815260206004820152602160248201527f4e61746976652063757272656e6379207769746864726177616c206661696c656044820152601960fa1b60648201526084016105a3565b50611930565b6040516001600160a01b03838116602483015260448201839052600091829186169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b179052516118759190612103565b6000604051808303816000865af19150503d80600081146118b2576040519150601f19603f3d011682016040523d82523d6000602084013e6118b7565b606091505b50915091508180156118e15750805115806118e15750808060200190518101906118e19190612095565b61192d5760405162461bcd60e51b815260206004820152601760248201527f546f6b656e207769746864726177616c206661696c656400000000000000000060448201526064016105a3565b50505b816001600160a01b0316836001600160a01b03167f9495d03190a79a43e534c9e328ff322f6283261383f5f19c809564f6ad5a57b38360405161197591815260200190565b60405180910390a3505050565b61198a611a60565b6001600160a01b0381166119b457604051631e4fbdf760e01b8152600060048201526024016105a3565b6119bd81611a8d565b50565b6119c8611b1a565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600260015403611a3557604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60025460ff16156105b45760405163d93c066560e01b815260040160405180910390fd5b6000546001600160a01b031633146105b45760405163118cdaa760e01b81523360048201526024016105a3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611ae5611a3c565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119f53390565b60025460ff166105b457604051638dfc202b60e01b815260040160405180910390fd5b80356001600160a01b0381168114611b5457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611b8057600080fd5b813567ffffffffffffffff811115611b9a57611b9a611b59565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611bc957611bc9611b59565b604052818152838201602001851015611be157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611c1657600080fd5b611c1f86611b3d565b945060208601359350604086013567ffffffffffffffff811115611c4257600080fd5b611c4e88828901611b6f565b9598949750949560608101359550608001359392505050565b600060208284031215611c7957600080fd5b5035919050565b60005b83811015611c9b578181015183820152602001611c83565b50506000910152565b60008151808452611cbc816020860160208601611c80565b601f01601f19169290920160200192915050565b6001600160a01b03888116825287166020820152604081018690526060810185905260e060808201819052600090611d0a90830186611ca4565b60a08301949094525060c0015295945050505050565b600060208284031215611d3257600080fd5b611d3b82611b3d565b9392505050565b600080600060608486031215611d5757600080fd5b611d6084611b3d565b9250611d6e60208501611b3d565b929592945050506040919091013590565b600080600060608486031215611d9457600080fd5b611d9d84611b3d565b95602085013595506040909401359392505050565b8781526001600160a01b03878116602083015286166040820152606081018590526080810184905260a0810183905260e060c08201819052600090611df990830184611ca4565b9998505050505050505050565b600080600060608486031215611e1b57600080fd5b833567ffffffffffffffff811115611e3257600080fd5b611e3e86828701611b6f565b9660208601359650604090950135949350505050565b60008060008060808587031215611e6a57600080fd5b611e7385611b3d565b9350611e8160208601611b3d565b93969395505050506040820135916060013590565b60008060408385031215611ea957600080fd5b611eb283611b3d565b9150611ec060208401611b3d565b90509250929050565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b602080825260139082015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b604082015260600190565b6020808252601d908201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604082015260600190565b600181811c90821680611f6957607f821691505b602082108103611f8957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f5657806000526020600020601f840160051c81016020851015611fb65750805b601f840160051c820191505b8181101561085e5760008155600101611fc2565b815167ffffffffffffffff811115611ff057611ff0611b59565b61200481611ffe8454611f55565b84611f8f565b6020601f82116001811461203857600083156120205750848201515b600019600385901b1c1916600184901b17845561085e565b600084815260208120601f198516915b828110156120685787850151825560209485019460019092019101612048565b50848210156120865786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6000602082840312156120a757600080fd5b81518015158114611d3b57600080fd5b6bffffffffffffffffffffffff19606095861b811682529390941b90921660148401526028830152604882015260680190565b6000602082840312156120fc57600080fd5b5051919050565b60008251612115818460208701611c80565b919091019291505056fea26469706673582212205926222cb8939570eb1549a9270d4416c19afe43a185b3eb3423b8d8fb3d4ce564736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638456cb59116100b6578063b49491261161006f578063b49491261461049f578063bd69a288146104bf578063c9991176146104df578063e63ea408146104ff578063f2fde38b1461051f578063fbfa77cf1461053f57600080fd5b80638456cb59146103855780638da5cb5b1461039a5780639621c94c146103b8578063a22042f814610439578063b02c43d014610459578063b2a5062b1461048c57600080fd5b806368fa81341161010857806368fa8134146102b05780636d69fcaf146102d0578063715018a6146102f0578063763191901461030557806376be1585146103255780637d548c641461035557600080fd5b80632a709b14146101bf5780633f4ba83a146102015780634461b1af146102165780635328c2bf146102295780635c975abb1461025c57806368c4ac261461028057600080fd5b366101ba57600360009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101a457600080fd5b505af11580156101b8573d6000803e3d6000fd5b005b600080fd5b3480156101cb57600080fd5b506002546101e49061010090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561020d57600080fd5b506101b861055f565b6101b8610224366004611bfe565b6105b6565b34801561023557600080fd5b50610249610244366004611c67565b610865565b6040516101f89796959493929190611cd0565b34801561026857600080fd5b5060025460ff165b60405190151581526020016101f8565b34801561028c57600080fd5b5061027061029b366004611d20565b60076020526000908152604090205460ff1681565b3480156102bc57600080fd5b506101b86102cb366004611d20565b61095e565b3480156102dc57600080fd5b506101b86102eb366004611d20565b610a8a565b3480156102fc57600080fd5b506101b8610b95565b34801561031157600080fd5b506101b8610320366004611d20565b610ba7565b34801561033157600080fd5b50610270610340366004611d20565b60066020526000908152604090205460ff1681565b34801561036157600080fd5b50610270610370366004611c67565b60056020526000908152604090205460ff1681565b34801561039157600080fd5b506101b8610c30565b3480156103a657600080fd5b506000546001600160a01b03166101e4565b3480156103c457600080fd5b506102706103d3366004611d42565b6040516bffffffffffffffffffffffff19606085811b8216602084015284901b16603482015260488101829052600090819060680160408051808303601f1901815291815281516020928301206000908152600590925290205460ff1695945050505050565b34801561044557600080fd5b506101b8610454366004611d7f565b610c7c565b34801561046557600080fd5b50610479610474366004611c67565b610f5b565b6040516101f89796959493929190611db2565b6101b861049a366004611e06565b61102f565b3480156104ab57600080fd5b506101b86104ba366004611e54565b611211565b3480156104cb57600080fd5b506101b86104da366004611e96565b6114d9565b3480156104eb57600080fd5b506101b86104fa366004611d20565b6115fd565b34801561050b57600080fd5b506101b861051a366004611d42565b611708565b34801561052b57600080fd5b506101b861053a366004611d20565b611982565b34801561054b57600080fd5b506003546101e4906001600160a01b031681565b3360009081526006602052604090205460ff168061058757506000546001600160a01b031633145b6105ac5760405162461bcd60e51b81526004016105a390611ec9565b60405180910390fd5b6105b46119c0565b565b6105be611a12565b6105c6611a3c565b6001600160a01b038516600090815260076020526040902054859060ff166106005760405162461bcd60e51b81526004016105a390611ef1565b835184906106505760405162461bcd60e51b815260206004820181905260248201527f726563656976696e67416464726573732063616e6e6f7420626520656d70747960448201526064016105a3565b6001600160a01b0387166106b05760405162461bcd60e51b815260206004820152602160248201527f557365206465706f7369744e617469766543757272656e637920666f722045546044820152600960fb1b60648201526084016105a3565b600086116106d05760405162461bcd60e51b81526004016105a390611f1e565b6040805160e0810182528481523360208083019182526001600160a01b038b8116848601908152606085018c8152426080870190815260a087018c815260c088018e815260008d8152600497889052999099208851815596516001880180549187166001600160a01b03199283161790559351600288018054919096169416939093179093555160038501559051918301919091555160058201559151909190600682019061077f9082611fd6565b50506002546040516323b872dd60e01b81523360048201526101009091046001600160a01b03908116602483015260448201899052891691506323b872dd906064016020604051808303816000875af11580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108049190612095565b50866001600160a01b0316336001600160a01b0316847f21f244739fa806b87971dd4bae3cc4e416810785bb2fa624029c624c6319ff858960405161084b91815260200190565b60405180910390a4505061085e60018055565b5050505050565b6000818152600460208190526040822060018101546002820154600383015493830154600584015484546006860180548998899889986060988a98899893976001600160a01b039384169793909216959093919083906108c490611f55565b80601f01602080910402602001604051908101604052809291908181526020018280546108f090611f55565b801561093d5780601f106109125761010080835404028352916020019161093d565b820191906000526020600020905b81548152906001019060200180831161092057829003601f168201915b50505050509250975097509750975097509750975050919395979092949650565b610966611a60565b6000546001600160a01b03166001600160a01b0316816001600160a01b0316036109e25760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f7665206f776e65722066726f6d2061646d696e6973604482015266747261746f727360c81b60648201526084016105a3565b6001600160a01b03811660009081526006602052604090205460ff16610a415760405162461bcd60e51b81526020600482015260146024820152732737ba1030b71030b236b4b734b9ba3930ba37b960611b60448201526064016105a3565b6001600160a01b038116600081815260066020526040808220805460ff19169055517fd5c9a61a4ab4b84f78da506149b7b0d376843283a81eee2dbdc9a55f988ab6439190a250565b610a92611a60565b6001600160a01b038116610ae05760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b60448201526064016105a3565b6001600160a01b03811660009081526007602052604090205460ff1615610b495760405162461bcd60e51b815260206004820152601760248201527f546f6b656e20616c726561647920737570706f7274656400000000000000000060448201526064016105a3565b6001600160a01b038116600081815260076020526040808220805460ff19166001179055517f784c8f4dbf0ffedd6e72c76501c545a70f8b203b30a26ce542bf92ba87c248a49190a250565b610b9d611a60565b6105b46000611a8d565b610baf611a60565b6001600160a01b03811660009081526007602052604090205460ff16610be75760405162461bcd60e51b81526004016105a390611ef1565b6001600160a01b038116600081815260076020526040808220805460ff19169055517f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd39190a250565b3360009081526006602052604090205460ff1680610c5857506000546001600160a01b031633145b610c745760405162461bcd60e51b81526004016105a390611ec9565b6105b4611add565b610c84611a12565b610c8c611a3c565b3360009081526006602052604090205460ff1680610cb457506000546001600160a01b031633145b610cd05760405162461bcd60e51b81526004016105a390611ec9565b6001600160a01b038316610d225760405162461bcd60e51b8152602060048201526019602482015278496e76616c696420726563697069656e74206164647265737360381b60448201526064016105a3565b60008211610d425760405162461bcd60e51b81526004016105a390611f1e565b60008360008484604051602001610d5c94939291906120b7565b60408051601f1981840301815291815281516020928301206000818152600590935291205490915060ff1615610dce5760405162461bcd60e51b815260206004820152601760248201527610db185a5b48185b1c9958591e481c1c9bd8d95cdcd959604a1b60448201526064016105a3565b60035460408051629032ff60e51b8152905185926001600160a01b0316916312065fe09160048083019260209291908290030181865afa158015610e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3a91906120ea565b1015610e885760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74207661756c742062616c616e636500000000000060448201526064016105a3565b60008181526005602052604090819020805460ff19166001179055600354905163f3fef3a360e01b81526001600160a01b038681166004830152602482018690529091169063f3fef3a390604401600060405180830381600087803b158015610ef057600080fd5b505af1158015610f04573d6000803e3d6000fd5b505060408051868152602081018690526001600160a01b03881693507f75920a0c4df95739def1e0ab98b8afa9294035ed96c49501a055a2d36154972992500160405180910390a250610f5660018055565b505050565b6004602081905260009182526040909120805460018201546002830154600384015494840154600585015460068601805495976001600160a01b0395861697949095169592939192610fac90611f55565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd890611f55565b80156110255780601f10610ffa57610100808354040283529160200191611025565b820191906000526020600020905b81548152906001019060200180831161100857829003601f168201915b5050505050905087565b611037611a12565b61103f611a3c565b8251839061108f5760405162461bcd60e51b815260206004820181905260248201527f726563656976696e67416464726573732063616e6e6f7420626520656d70747960448201526064016105a3565b81341015801561109f5750600082115b6110bb5760405162461bcd60e51b81526004016105a390611f1e565b6040805160e081018252848152336020808301918252600083850181815260608501888152426080870190815260a0870184815260c088018d81528c8652600496879052989094208751815595516001870180546001600160a01b03199081166001600160a01b039384161790915593516002880180549095169116179092555160038501555191830191909155516005820155915190919060068201906111639082611fd6565b50905050600360009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156111b757600080fd5b505af11580156111cb573d6000803e3d6000fd5b50506040518581523393508692507fd39cc5f65026b32a8bb0ac7eccc37a6c3d54d2d366b1bc1c09dfc2b58be6e66d915060200160405180910390a350610f5660018055565b611219611a12565b611221611a3c565b3360009081526006602052604090205460ff168061124957506000546001600160a01b031633145b6112655760405162461bcd60e51b81526004016105a390611ec9565b6001600160a01b038316600090815260076020526040902054839060ff1661129f5760405162461bcd60e51b81526004016105a390611ef1565b6001600160a01b0385166112f15760405162461bcd60e51b8152602060048201526019602482015278496e76616c696420726563697069656e74206164647265737360381b60448201526064016105a3565b600083116113115760405162461bcd60e51b81526004016105a390611f1e565b6001600160a01b0384166113675760405162461bcd60e51b815260206004820152601f60248201527f55736520636c61696d4e617469766543757272656e637920666f72204554480060448201526064016105a3565b60008585858560405160200161138094939291906120b7565b60408051601f1981840301815291815281516020928301206000818152600590935291205490915060ff16156113f25760405162461bcd60e51b815260206004820152601760248201527610db185a5b48185b1c9958591e481c1c9bd8d95cdcd959604a1b60448201526064016105a3565b60008181526005602052604090819020805460ff1916600117905560025490516335f6196d60e11b81526001600160a01b03878116600483015288811660248301526044820187905261010090920490911690636bec32da90606401600060405180830381600087803b15801561146857600080fd5b505af115801561147c573d6000803e3d6000fd5b505060408051878152602081018790526001600160a01b03808a1694508a1692507fae3acd500fad5d55faa51242f79d21d1230aa2740b8f27858c990cd1a20267ee910160405180910390a350506114d360018055565b50505050565b3360009081526006602052604090205460ff168061150157506000546001600160a01b031633145b61151d5760405162461bcd60e51b81526004016105a390611ec9565b6001600160a01b03821661156b5760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964205661756c74206164647265737360581b60448201526064016105a3565b6001600160a01b0381166115c15760405162461bcd60e51b815260206004820152601c60248201527f496e76616c696420546f6b656e4d616e6167657220616464726573730000000060448201526064016105a3565b600380546001600160a01b039384166001600160a01b0319909116179055600280549190921661010002610100600160a81b0319909116179055565b611605611a60565b6001600160a01b0381166116535760405162461bcd60e51b8152602060048201526015602482015274496e76616c69642061646d696e206164647265737360581b60448201526064016105a3565b6001600160a01b03811660009081526006602052604090205460ff16156116bc5760405162461bcd60e51b815260206004820152601860248201527f416c726561647920616e2061646d696e6973747261746f72000000000000000060448201526064016105a3565b6001600160a01b038116600081815260066020526040808220805460ff19166001179055517fe78a1675a4b4d68d04fc70b93f9c37c5288e084d9b02d718103f7ad5e292b6889190a250565b611710611a60565b6001600160a01b03821661175a5760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b60448201526064016105a3565b6001600160a01b03831661181b576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146117b5576040519150601f19603f3d011682016040523d82523d6000602084013e6117ba565b606091505b50509050806118155760405162461bcd60e51b815260206004820152602160248201527f4e61746976652063757272656e6379207769746864726177616c206661696c656044820152601960fa1b60648201526084016105a3565b50611930565b6040516001600160a01b03838116602483015260448201839052600091829186169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b179052516118759190612103565b6000604051808303816000865af19150503d80600081146118b2576040519150601f19603f3d011682016040523d82523d6000602084013e6118b7565b606091505b50915091508180156118e15750805115806118e15750808060200190518101906118e19190612095565b61192d5760405162461bcd60e51b815260206004820152601760248201527f546f6b656e207769746864726177616c206661696c656400000000000000000060448201526064016105a3565b50505b816001600160a01b0316836001600160a01b03167f9495d03190a79a43e534c9e328ff322f6283261383f5f19c809564f6ad5a57b38360405161197591815260200190565b60405180910390a3505050565b61198a611a60565b6001600160a01b0381166119b457604051631e4fbdf760e01b8152600060048201526024016105a3565b6119bd81611a8d565b50565b6119c8611b1a565b6002805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600260015403611a3557604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b60025460ff16156105b45760405163d93c066560e01b815260040160405180910390fd5b6000546001600160a01b031633146105b45760405163118cdaa760e01b81523360048201526024016105a3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611ae5611a3c565b6002805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119f53390565b60025460ff166105b457604051638dfc202b60e01b815260040160405180910390fd5b80356001600160a01b0381168114611b5457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611b8057600080fd5b813567ffffffffffffffff811115611b9a57611b9a611b59565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611bc957611bc9611b59565b604052818152838201602001851015611be157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611c1657600080fd5b611c1f86611b3d565b945060208601359350604086013567ffffffffffffffff811115611c4257600080fd5b611c4e88828901611b6f565b9598949750949560608101359550608001359392505050565b600060208284031215611c7957600080fd5b5035919050565b60005b83811015611c9b578181015183820152602001611c83565b50506000910152565b60008151808452611cbc816020860160208601611c80565b601f01601f19169290920160200192915050565b6001600160a01b03888116825287166020820152604081018690526060810185905260e060808201819052600090611d0a90830186611ca4565b60a08301949094525060c0015295945050505050565b600060208284031215611d3257600080fd5b611d3b82611b3d565b9392505050565b600080600060608486031215611d5757600080fd5b611d6084611b3d565b9250611d6e60208501611b3d565b929592945050506040919091013590565b600080600060608486031215611d9457600080fd5b611d9d84611b3d565b95602085013595506040909401359392505050565b8781526001600160a01b03878116602083015286166040820152606081018590526080810184905260a0810183905260e060c08201819052600090611df990830184611ca4565b9998505050505050505050565b600080600060608486031215611e1b57600080fd5b833567ffffffffffffffff811115611e3257600080fd5b611e3e86828701611b6f565b9660208601359650604090950135949350505050565b60008060008060808587031215611e6a57600080fd5b611e7385611b3d565b9350611e8160208601611b3d565b93969395505050506040820135916060013590565b60008060408385031215611ea957600080fd5b611eb283611b3d565b9150611ec060208401611b3d565b90509250929050565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b602080825260139082015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b604082015260600190565b6020808252601d908201527f416d6f756e74206d7573742062652067726561746572207468616e2030000000604082015260600190565b600181811c90821680611f6957607f821691505b602082108103611f8957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f5657806000526020600020601f840160051c81016020851015611fb65750805b601f840160051c820191505b8181101561085e5760008155600101611fc2565b815167ffffffffffffffff811115611ff057611ff0611b59565b61200481611ffe8454611f55565b84611f8f565b6020601f82116001811461203857600083156120205750848201515b600019600385901b1c1916600184901b17845561085e565b600084815260208120601f198516915b828110156120685787850151825560209485019460019092019101612048565b50848210156120865786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6000602082840312156120a757600080fd5b81518015158114611d3b57600080fd5b6bffffffffffffffffffffffff19606095861b811682529390941b90921660148401526028830152604882015260680190565b6000602082840312156120fc57600080fd5b5051919050565b60008251612115818460208701611c80565b919091019291505056fea2646970667358221220a8f52a56d50374828428abb1bb92c5f955556ed0788bdf2a4f0576a0ae3c0ce364736f6c634300081a0033

Deployed Bytecode Sourcemap

12157:12892:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25007:5;;;;;;;;;-1:-1:-1;;;;;25007:5:0;-1:-1:-1;;;;;25007:13:0;;25028:9;25007:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12157:12892;;;;12245:33;;;;;;;;;;-1:-1:-1;12245:33:0;;;;;;;-1:-1:-1;;;;;12245:33:0;;;;;;-1:-1:-1;;;;;199:32:1;;;181:51;;169:2;154:18;12245:33:0;;;;;;;;21826:65;;;;;;;;;;;;;:::i;15160:1143::-;;;;;;:::i;:::-;;:::i;23607:657::-;;;;;;;;;;-1:-1:-1;23607:657:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;5964:84::-;;;;;;;;;;-1:-1:-1;6034:7:0;;;;5964:84;;;3676:14:1;;3669:22;3651:41;;3639:2;3624:18;5964:84:0;3511:187:1;12639:47:0;;;;;;;;;;-1:-1:-1;12639:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21000:300;;;;;;;;;;-1:-1:-1;21000:300:0;;;;;:::i;:::-;;:::i;19876:278::-;;;;;;;;;;-1:-1:-1;19876:278:0;;;;;:::i;:::-;;:::i;3397:101::-;;;;;;;;;;;;;:::i;20263:215::-;;;;;;;;;;-1:-1:-1;20263:215:0;;;;;:::i;:::-;;:::i;12562:46::-;;;;;;;;;;-1:-1:-1;12562:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12479:47;;;;;;;;;;-1:-1:-1;12479:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21700:61;;;;;;;;;;;;;:::i;2742:85::-;;;;;;;;;;-1:-1:-1;2788:7:0;2814:6;-1:-1:-1;;;;;2814:6:0;2742:85;;24517:296;;;;;;;;;;-1:-1:-1;24517:296:0;;;;;:::i;:::-;24708:45;;-1:-1:-1;;14172:2:1;14168:15;;;14164:53;;24708:45:0;;;14152:66:1;14252:15;;;14248:53;14234:12;;;14227:75;14318:12;;;14311:28;;;24649:4:0;;;;14355:12:1;;24708:45:0;;;;;;-1:-1:-1;;24708:45:0;;;;;;24685:78;;24708:45;24685:78;;;;24780:26;;;;:15;:26;;;;;;;;;24517:296;-1:-1:-1;;;;;24517:296:0;18849:924;;;;;;;;;;-1:-1:-1;18849:924:0;;;;;:::i;:::-;;:::i;12365:47::-;;;;;;;;;;-1:-1:-1;12365:47:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;16384:1062::-;;;;;;:::i;:::-;;:::i;17721:910::-;;;;;;;;;;-1:-1:-1;17721:910:0;;;;;:::i;:::-;;:::i;21311:326::-;;;;;;;;;;-1:-1:-1;21311:326:0;;;;;:::i;:::-;;:::i;20594:284::-;;;;;;;;;;-1:-1:-1;20594:284:0;;;;;:::i;:::-;;:::i;22204:995::-;;;;;;;;;;-1:-1:-1;22204:995:0;;;;;:::i;:::-;;:::i;3647:215::-;;;;;;;;;;-1:-1:-1;3647:215:0;;;;;:::i;:::-;;:::i;12284:19::-;;;;;;;;;;-1:-1:-1;12284:19:0;;;;-1:-1:-1;;;;;12284:19:0;;;21826:65;14038:10;14023:26;;;;:14;:26;;;;;;;;;:51;;-1:-1:-1;2788:7:0;2814:6;-1:-1:-1;;;;;2814:6:0;14053:10;:21;14023:51;14002:112;;;;-1:-1:-1;;;14002:112:0;;;;;;;:::i;:::-;;;;;;;;;21874:10:::1;:8;:10::i;:::-;21826:65::o:0;15160:1143::-;9530:21;:19;:21::i;:::-;5588:19:::1;:17;:19::i;:::-;-1:-1:-1::0;;;;;14319:22:0;::::2;;::::0;;;:15:::2;:22;::::0;;;;;15402:5;;14319:22:::2;;14311:54;;;;-1:-1:-1::0;;;14311:54:0::2;;;;;;;:::i;:::-;15512:29:::0;;15463:17;;15491:112:::3;;;::::0;-1:-1:-1;;;15491:112:0;;8240:2:1;15491:112:0::3;::::0;::::3;8222:21:1::0;;;8259:18;;;8252:30;8318:34;8298:18;;;8291:62;8370:18;;15491:112:0::3;8038:356:1::0;15491:112:0::3;-1:-1:-1::0;;;;;15622:19:0;::::3;15614:65;;;::::0;-1:-1:-1;;;15614:65:0;;8601:2:1;15614:65:0::3;::::0;::::3;8583:21:1::0;8640:2;8620:18;;;8613:30;8679:34;8659:18;;;8652:62;-1:-1:-1;;;8730:18:1;;;8723:31;8771:19;;15614:65:0::3;8399:397:1::0;15614:65:0::3;15706:1;15697:6;:10;15689:52;;;;-1:-1:-1::0;;;15689:52:0::3;;;;;;;:::i;:::-;15809:280;::::0;;::::3;::::0;::::3;::::0;;;;;15876:10:::3;15809:280;::::0;;::::3;::::0;;;-1:-1:-1;;;;;15809:280:0;;::::3;::::0;;;;;;;;;;;;15965:15:::3;15809:280:::0;;;;;;;;;;;;;;;;;;-1:-1:-1;15786:20:0;;;:8:::3;:20:::0;;;;;;;;:303;;;;;;::::3;::::0;::::3;::::0;;;;::::3;-1:-1:-1::0;;;;;;15786:303:0;;::::3;;::::0;;;;::::3;::::0;::::3;::::0;;;;;::::3;::::0;::::3;::::0;;;::::3;::::0;;;;::::3;::::0;::::3;::::0;;;;;::::3;::::0;;;;;::::3;::::0;::::3;::::0;;;15809:280;;15786:20;:303:::3;::::0;::::3;::::0;::::3;::::0;;::::3;:::i;:::-;-1:-1:-1::0;;16190:12:0::3;::::0;16143:69:::3;::::0;-1:-1:-1;;;16143:69:0;;16170:10:::3;16143:69;::::0;::::3;11870:51:1::0;16190:12:0::3;::::0;;::::3;-1:-1:-1::0;;;;;16190:12:0;;::::3;11937:18:1::0;;;11930:60;12006:18;;;11999:34;;;16143:26:0;::::3;::::0;-1:-1:-1;16143:26:0::3;::::0;11843:18:1;;16143:69:0::3;;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16282:5;-1:-1:-1::0;;;;;16236:60:0::3;16270:10;-1:-1:-1::0;;;;;16236:60:0::3;16258:10;16236:60;16289:6;16236:60;;;;12472:25:1::0;;12460:2;12445:18;;12326:177;16236:60:0::3;;;;;;;;15409:894;5617:1:::2;9572:20:::0;8887:1;10098:21;;9918:208;9572:20;15160:1143;;;;;:::o;23607:657::-;23725:12;23991:20;;;:8;:20;;;;;;;24042:12;;;;24068:13;;;;24095:14;;;;24123:17;;;;24192:24;;;;24230:17;;24154:24;;;24021:236;;23725:12;;;;;;23837:30;;23725:12;;;;23991:20;;-1:-1:-1;;;;;24042:12:0;;;;24068:13;;;;;24123:17;;24192:24;24230:17;24154:24;;24021:236;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23607:657;;;;;;;;;:::o;21000:300::-;2635:13;:11;:13::i;:::-;2788:7;2814:6;-1:-1:-1;;;;;2814:6:0;-1:-1:-1;;;;;21082:17:0::1;:6;-1:-1:-1::0;;;;;21082:17:0::1;::::0;21074:69:::1;;;::::0;-1:-1:-1;;;21074:69:0;;12710:2:1;21074:69:0::1;::::0;::::1;12692:21:1::0;12749:2;12729:18;;;12722:30;12788:34;12768:18;;;12761:62;-1:-1:-1;;;12839:18:1;;;12832:37;12886:19;;21074:69:0::1;12508:403:1::0;21074:69:0::1;-1:-1:-1::0;;;;;21161:22:0;::::1;;::::0;;;:14:::1;:22;::::0;;;;;::::1;;21153:55;;;::::0;-1:-1:-1;;;21153:55:0;;13118:2:1;21153:55:0::1;::::0;::::1;13100:21:1::0;13157:2;13137:18;;;13130:30;-1:-1:-1;;;13176:18:1;;;13169:50;13236:18;;21153:55:0::1;12916:344:1::0;21153:55:0::1;-1:-1:-1::0;;;;;21219:22:0;::::1;21244:5;21219:22:::0;;;:14:::1;:22;::::0;;;;;:30;;-1:-1:-1;;21219:30:0::1;::::0;;21265:28;::::1;::::0;21244:5;21265:28:::1;21000:300:::0;:::o;19876:278::-;2635:13;:11;:13::i;:::-;-1:-1:-1;;;;;19956:20:0;::::1;19948:54;;;::::0;-1:-1:-1;;;19948:54:0;;13467:2:1;19948:54:0::1;::::0;::::1;13449:21:1::0;13506:2;13486:18;;;13479:30;-1:-1:-1;;;13525:18:1;;;13518:51;13586:18;;19948:54:0::1;13265:345:1::0;19948:54:0::1;-1:-1:-1::0;;;;;20021:23:0;::::1;;::::0;;;:15:::1;:23;::::0;;;;;::::1;;20020:24;20012:60;;;::::0;-1:-1:-1;;;20012:60:0;;13817:2:1;20012:60:0::1;::::0;::::1;13799:21:1::0;13856:2;13836:18;;;13829:30;13895:25;13875:18;;;13868:53;13938:18;;20012:60:0::1;13615:347:1::0;20012:60:0::1;-1:-1:-1::0;;;;;20083:23:0;::::1;;::::0;;;:15:::1;:23;::::0;;;;;:30;;-1:-1:-1;;20083:30:0::1;20109:4;20083:30;::::0;;20129:18;::::1;::::0;20083:23;20129:18:::1;19876:278:::0;:::o;3397:101::-;2635:13;:11;:13::i;:::-;3461:30:::1;3488:1;3461:18;:30::i;20263:215::-:0;2635:13;:11;:13::i;:::-;-1:-1:-1;;;;;20346:23:0;::::1;;::::0;;;:15:::1;:23;::::0;;;;;::::1;;20338:55;;;;-1:-1:-1::0;;;20338:55:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20404:23:0;::::1;20430:5;20404:23:::0;;;:15:::1;:23;::::0;;;;;:31;;-1:-1:-1;;20404:31:0::1;::::0;;20451:20;::::1;::::0;20430:5;20451:20:::1;20263:215:::0;:::o;21700:61::-;14038:10;14023:26;;;;:14;:26;;;;;;;;;:51;;-1:-1:-1;2788:7:0;2814:6;-1:-1:-1;;;;;2814:6:0;14053:10;:21;14023:51;14002:112;;;;-1:-1:-1;;;14002:112:0;;;;;;;:::i;:::-;21746:8:::1;:6;:8::i;18849:924::-:0;9530:21;:19;:21::i;:::-;5588:19:::1;:17;:19::i;:::-;14038:10:::2;14023:26;::::0;;;:14:::2;:26;::::0;;;;;::::2;;::::0;:51:::2;;-1:-1:-1::0;2788:7:0;2814:6;-1:-1:-1;;;;;2814:6:0;14053:10:::2;:21;14023:51;14002:112;;;;-1:-1:-1::0;;;14002:112:0::2;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;19027:23:0;::::3;19019:61;;;::::0;-1:-1:-1;;;19019:61:0;;14580:2:1;19019:61:0::3;::::0;::::3;14562:21:1::0;14619:2;14599:18;;;14592:30;-1:-1:-1;;;14638:18:1;;;14631:55;14703:18;;19019:61:0::3;14378:349:1::0;19019:61:0::3;19107:1;19098:6;:10;19090:52;;;;-1:-1:-1::0;;;19090:52:0::3;;;;;;;:::i;:::-;19211:17;19271:9;19290:1;19294:6;19303:10;19254:60;;;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;19254:60:0;;::::3;::::0;;;;;;19231:93;;19254:60:::3;19231:93:::0;;::::3;::::0;19343:26:::3;::::0;;;:15:::3;:26:::0;;;;;;19231:93;;-1:-1:-1;19343:26:0::3;;19342:27;19334:63;;;::::0;-1:-1:-1;;;19334:63:0;;15411:2:1;19334:63:0::3;::::0;::::3;15393:21:1::0;15450:2;15430:18;;;15423:30;-1:-1:-1;;;15469:18:1;;;15462:53;15532:18;;19334:63:0::3;15209:347:1::0;19334:63:0::3;19463:5;::::0;:18:::3;::::0;;-1:-1:-1;;;19463:18:0;;;;19485:6;;-1:-1:-1;;;;;19463:5:0::3;::::0;:16:::3;::::0;:18:::3;::::0;;::::3;::::0;::::3;::::0;;;;;;;;:5;:18:::3;;;;;;;;;::::0;::::3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:28;;19455:67;;;::::0;-1:-1:-1;;;19455:67:0;;15952:2:1;19455:67:0::3;::::0;::::3;15934:21:1::0;15991:2;15971:18;;;15964:30;16030:28;16010:18;;;16003:56;16076:18;;19455:67:0::3;15750:350:1::0;19455:67:0::3;19568:26;::::0;;;:15:::3;:26;::::0;;;;;;:33;;-1:-1:-1;;19568:33:0::3;19597:4;19568:33;::::0;;19657:5:::3;::::0;:33;;-1:-1:-1;;;19657:33:0;;-1:-1:-1;;;;;16297:32:1;;;19657:33:0::3;::::0;::::3;16279:51:1::0;16346:18;;;16339:34;;;19657:5:0;;::::3;::::0;:14:::3;::::0;16252:18:1;;19657:33:0::3;;;;;;;;;;;;;;;;;::::0;::::3;;;;;;;;;;;;::::0;::::3;;;;;-1:-1:-1::0;;19706:60:0::3;::::0;;16558:25:1;;;16614:2;16599:18;;16592:34;;;-1:-1:-1;;;;;19706:60:0;::::3;::::0;-1:-1:-1;19706:60:0::3;::::0;-1:-1:-1;16531:18:1;19706:60:0::3;;;;;;;19009:764;9572:20:::0;8887:1;10098:21;;9918:208;9572:20;18849:924;;;:::o;12365:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12365:47:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16384:1062::-;9530:21;:19;:21::i;:::-;5588:19:::1;:17;:19::i;:::-;16662:29:::0;;16613:17;;16641:112:::2;;;::::0;-1:-1:-1;;;16641:112:0;;8240:2:1;16641:112:0::2;::::0;::::2;8222:21:1::0;;;8259:18;;;8252:30;8318:34;8298:18;;;8291:62;8370:18;;16641:112:0::2;8038:356:1::0;16641:112:0::2;16785:7;16772:9;:20;;:35;;;;;16806:1;16796:7;:11;16772:35;16764:77;;;;-1:-1:-1::0;;;16764:77:0::2;;;;;;;:::i;:::-;16909:368;::::0;;::::2;::::0;::::2;::::0;;;;;16976:10:::2;16909:368;::::0;;::::2;::::0;;;-1:-1:-1;16909:368:0;;;;;;;;;;;;17111:15:::2;16909:368:::0;;;;;;;;;;;;;;;;;;16886:20;;;:8:::2;:20:::0;;;;;;;;:391;;;;;;::::2;::::0;::::2;::::0;;-1:-1:-1;;;;;;16886:391:0;;::::2;-1:-1:-1::0;;;;;16886:391:0;;::::2;;::::0;;;;;::::2;::::0;::::2;::::0;;;;::::2;::::0;::::2;;::::0;;;;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;::::2;::::0;::::2;::::0;;;16909:368;;16886:20;:391:::2;::::0;::::2;::::0;::::2;::::0;;::::2;:::i;:::-;;;;;17327:5;;;;;;;;;-1:-1:-1::0;;;;;17327:5:0::2;-1:-1:-1::0;;;;;17327:13:0::2;;17348:9;17327:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;17376:63:0::2;::::0;12472:25:1;;;17419:10:0::2;::::0;-1:-1:-1;17407:10:0;;-1:-1:-1;17376:63:0::2;::::0;-1:-1:-1;12460:2:1;12445:18;17376:63:0::2;;;;;;;16559:887;9572:20:::0;8887:1;10098:21;;9918:208;17721:910;9530:21;:19;:21::i;:::-;5588:19:::1;:17;:19::i;:::-;14038:10:::2;14023:26;::::0;;;:14:::2;:26;::::0;;;;;::::2;;::::0;:51:::2;;-1:-1:-1::0;2788:7:0;2814:6;-1:-1:-1;;;;;2814:6:0;14053:10:::2;:21;14023:51;14002:112;;;;-1:-1:-1::0;;;14002:112:0::2;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14319:22:0;::::3;;::::0;;;:15:::3;:22;::::0;;;;;17914:5;;14319:22:::3;;14311:54;;;;-1:-1:-1::0;;;14311:54:0::3;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17939:23:0;::::4;17931:61;;;::::0;-1:-1:-1;;;17931:61:0;;14580:2:1;17931:61:0::4;::::0;::::4;14562:21:1::0;14619:2;14599:18;;;14592:30;-1:-1:-1;;;14638:18:1;;;14631:55;14703:18;;17931:61:0::4;14378:349:1::0;17931:61:0::4;18019:1;18010:6;:10;18002:52;;;;-1:-1:-1::0;;;18002:52:0::4;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18072:19:0;::::4;18064:63;;;::::0;-1:-1:-1;;;18064:63:0;;16839:2:1;18064:63:0::4;::::0;::::4;16821:21:1::0;16878:2;16858:18;;;16851:30;16917:33;16897:18;;;16890:61;16968:18;;18064:63:0::4;16637:355:1::0;18064:63:0::4;18196:17;18256:9;18267:5;18274:6;18282:10;18239:54;;;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;18239:54:0;;::::4;::::0;;;;;;18216:87;;18239:54:::4;18216:87:::0;;::::4;::::0;18322:26:::4;::::0;;;:15:::4;:26:::0;;;;;;18216:87;;-1:-1:-1;18322:26:0::4;;18321:27;18313:63;;;::::0;-1:-1:-1;;;18313:63:0;;15411:2:1;18313:63:0::4;::::0;::::4;15393:21:1::0;15450:2;15430:18;;;15423:30;-1:-1:-1;;;15469:18:1;;;15462:53;15532:18;;18313:63:0::4;15209:347:1::0;18313:63:0::4;18422:26;::::0;;;:15:::4;:26;::::0;;;;;;:33;;-1:-1:-1;;18422:33:0::4;18451:4;18422:33;::::0;;18502:12:::4;::::0;:48;;-1:-1:-1;;;18502:48:0;;-1:-1:-1;;;;;11888:32:1;;;18502:48:0::4;::::0;::::4;11870:51:1::0;11957:32;;;11937:18;;;11930:60;12006:18;;;11999:34;;;18422:33:0::4;18502:12:::0;;::::4;::::0;;::::4;::::0;:22:::4;::::0;11843:18:1;;18502:48:0::4;;;;;;;;;;;;;;;;;::::0;::::4;;;;;;;;;;;;::::0;::::4;;;;;-1:-1:-1::0;;18566:58:0::4;::::0;;16558:25:1;;;16614:2;16599:18;;16592:34;;;-1:-1:-1;;;;;18566:58:0;;::::4;::::0;-1:-1:-1;18566:58:0;::::4;::::0;-1:-1:-1;18566:58:0::4;::::0;16531:18:1;18566:58:0::4;;;;;;;17921:710;14124:1:::3;9572:20:::0;8887:1;10098:21;;9918:208;9572:20;17721:910;;;;:::o;21311:326::-;14038:10;14023:26;;;;:14;:26;;;;;;;;;:51;;-1:-1:-1;2788:7:0;2814:6;-1:-1:-1;;;;;2814:6:0;14053:10;:21;14023:51;14002:112;;;;-1:-1:-1;;;14002:112:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;21420:20:0;::::1;21412:54;;;::::0;-1:-1:-1;;;21412:54:0;;17199:2:1;21412:54:0::1;::::0;::::1;17181:21:1::0;17238:2;17218:18;;;17211:30;-1:-1:-1;;;17257:18:1;;;17250:51;17318:18;;21412:54:0::1;16997:345:1::0;21412:54:0::1;-1:-1:-1::0;;;;;21484:27:0;::::1;21476:68;;;::::0;-1:-1:-1;;;21476:68:0;;17549:2:1;21476:68:0::1;::::0;::::1;17531:21:1::0;17588:2;17568:18;;;17561:30;17627;17607:18;;;17600:58;17675:18;;21476:68:0::1;17347:352:1::0;21476:68:0::1;21555:5;:22:::0;;-1:-1:-1;;;;;21555:22:0;;::::1;-1:-1:-1::0;;;;;;21555:22:0;;::::1;;::::0;;21587:12:::1;:43:::0;;;;;::::1;21555:22;21587:43;-1:-1:-1::0;;;;;;21587:43:0;;::::1;;::::0;;21311:326::o;20594:284::-;2635:13;:11;:13::i;:::-;-1:-1:-1;;;;;20673:20:0;::::1;20665:54;;;::::0;-1:-1:-1;;;20665:54:0;;17906:2:1;20665:54:0::1;::::0;::::1;17888:21:1::0;17945:2;17925:18;;;17918:30;-1:-1:-1;;;17964:18:1;;;17957:51;18025:18;;20665:54:0::1;17704:345:1::0;20665:54:0::1;-1:-1:-1::0;;;;;20738:22:0;::::1;;::::0;;;:14:::1;:22;::::0;;;;;::::1;;20737:23;20729:60;;;::::0;-1:-1:-1;;;20729:60:0;;18256:2:1;20729:60:0::1;::::0;::::1;18238:21:1::0;18295:2;18275:18;;;18268:30;18334:26;18314:18;;;18307:54;18378:18;;20729:60:0::1;18054:348:1::0;20729:60:0::1;-1:-1:-1::0;;;;;20800:22:0;::::1;;::::0;;;:14:::1;:22;::::0;;;;;:29;;-1:-1:-1;;20800:29:0::1;20825:4;20800:29;::::0;;20845:26;::::1;::::0;20800:22;20845:26:::1;20594:284:::0;:::o;22204:995::-;2635:13;:11;:13::i;:::-;-1:-1:-1;;;;;22351:24:0;::::1;22343:54;;;::::0;-1:-1:-1;;;22343:54:0;;18609:2:1;22343:54:0::1;::::0;::::1;18591:21:1::0;18648:2;18628:18;;;18621:30;-1:-1:-1;;;18667:18:1;;;18660:47;18724:18;;22343:54:0::1;18407:341:1::0;22343:54:0::1;-1:-1:-1::0;;;;;22412:20:0;::::1;22408:721;;22480:12;22498:10;-1:-1:-1::0;;;;;22498:15:0::1;22521:7;22498:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22479:54;;;22555:7;22547:53;;;::::0;-1:-1:-1;;;22547:53:0;;19165:2:1;22547:53:0::1;::::0;::::1;19147:21:1::0;19204:2;19184:18;;;19177:30;19243:34;19223:18;;;19216:62;-1:-1:-1;;;19294:18:1;;;19287:31;19335:19;;22547:53:0::1;18963:397:1::0;22547:53:0::1;22434:177;22408:721;;;22800:151;::::0;-1:-1:-1;;;;;16297:32:1;;;22800:151:0::1;::::0;::::1;16279:51:1::0;16346:18;;;16339:34;;;22736:12:0::1;::::0;;;22771:11;::::1;::::0;16252:18:1;;22800:151:0::1;::::0;;-1:-1:-1;;22800:151:0;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;22800:151:0::1;-1:-1:-1::0;;;22800:151:0::1;::::0;;22771:194;::::1;::::0;22800:151;22771:194:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22735:230;;;;23004:7;:57;;;;-1:-1:-1::0;23016:11:0;;:16;;:44:::1;;;23047:4;23036:24;;;;;;;;;;;;:::i;:::-;22979:139;;;::::0;-1:-1:-1;;;22979:139:0;;19859:2:1;22979:139:0::1;::::0;::::1;19841:21:1::0;19898:2;19878:18;;;19871:30;19937:25;19917:18;;;19910:53;19980:18;;22979:139:0::1;19657:347:1::0;22979:139:0::1;22617:512;;22408:721;23172:10;-1:-1:-1::0;;;;;23144:48:0::1;23164:6;-1:-1:-1::0;;;;;23144:48:0::1;;23184:7;23144:48;;;;12472:25:1::0;;12460:2;12445:18;;12326:177;23144:48:0::1;;;;;;;;22204:995:::0;;;:::o;3647:215::-;2635:13;:11;:13::i;:::-;-1:-1:-1;;;;;3731:22:0;::::1;3727:91;;3776:31;::::0;-1:-1:-1;;;3776:31:0;;3804:1:::1;3776:31;::::0;::::1;181:51:1::0;154:18;;3776:31:0::1;14:224:1::0;3727:91:0::1;3827:28;3846:8;3827:18;:28::i;:::-;3647:215:::0;:::o;6824:117::-;5835:16;:14;:16::i;:::-;6882:7:::1;:15:::0;;-1:-1:-1;;6882:15:0::1;::::0;;6912:22:::1;844:10:::0;6921:12:::1;6912:22;::::0;-1:-1:-1;;;;;199:32:1;;;181:51;;169:2;154:18;6912:22:0::1;;;;;;;6824:117::o:0;9605:307::-;8929:1;9732:7;;:18;9728:86;;9773:30;;-1:-1:-1;;;9773:30:0;;;;;;;;;;;9728:86;8929:1;9888:7;:17;9605:307::o;6116:128::-;6034:7;;;;6177:61;;;6212:15;;-1:-1:-1;;;6212:15:0;;;;;;;;;;;2900:162;2788:7;2814:6;-1:-1:-1;;;;;2814:6:0;844:10;2959:23;2955:101;;3005:40;;-1:-1:-1;;;3005:40:0;;844:10;3005:40;;;181:51:1;154:18;;3005:40:0;14:224:1;4016:187:0;4089:16;4108:6;;-1:-1:-1;;;;;4124:17:0;;;-1:-1:-1;;;;;;4124:17:0;;;;;;4156:40;;4108:6;;;;;;;4156:40;;4089:16;4156:40;4079:124;4016:187;:::o;6577:115::-;5588:19;:17;:19::i;:::-;6636:7:::1;:14:::0;;-1:-1:-1;;6636:14:0::1;6646:4;6636:14;::::0;;6665:20:::1;6672:12;844:10:::0;;765:96;6316:126;6034:7;;;;6374:62;;6410:15;;-1:-1:-1;;;6410:15:0;;;;;;;;;;;243:173:1;311:20;;-1:-1:-1;;;;;360:31:1;;350:42;;340:70;;406:1;403;396:12;340:70;243:173;;;:::o;421:127::-;482:10;477:3;473:20;470:1;463:31;513:4;510:1;503:15;537:4;534:1;527:15;553:726;596:5;649:3;642:4;634:6;630:17;626:27;616:55;;667:1;664;657:12;616:55;707:6;694:20;737:18;729:6;726:30;723:56;;;759:18;;:::i;:::-;808:2;802:9;900:2;862:17;;-1:-1:-1;;858:31:1;;;891:2;854:40;850:54;838:67;;935:18;920:34;;956:22;;;917:62;914:88;;;982:18;;:::i;:::-;1018:2;1011:22;1042;;;1083:19;;;1104:4;1079:30;1076:39;-1:-1:-1;1073:59:1;;;1128:1;1125;1118:12;1073:59;1192:6;1185:4;1177:6;1173:17;1166:4;1158:6;1154:17;1141:58;1247:1;1219:19;;;1240:4;1215:30;1208:41;;;;1223:6;553:726;-1:-1:-1;;;553:726:1:o;1284:752::-;1389:6;1397;1405;1413;1421;1474:3;1462:9;1453:7;1449:23;1445:33;1442:53;;;1491:1;1488;1481:12;1442:53;1514:29;1533:9;1514:29;:::i;:::-;1504:39;-1:-1:-1;1612:2:1;1597:18;;1584:32;;-1:-1:-1;1691:2:1;1676:18;;1663:32;1718:18;1707:30;;1704:50;;;1750:1;1747;1740:12;1704:50;1773;1815:7;1806:6;1795:9;1791:22;1773:50;:::i;:::-;1284:752;;;;-1:-1:-1;1763:60:1;;1896:2;1881:18;;1868:32;;-1:-1:-1;1999:3:1;1984:19;1971:33;;1284:752;-1:-1:-1;;;1284:752:1:o;2041:226::-;2100:6;2153:2;2141:9;2132:7;2128:23;2124:32;2121:52;;;2169:1;2166;2159:12;2121:52;-1:-1:-1;2214:23:1;;2041:226;-1:-1:-1;2041:226:1:o;2272:250::-;2357:1;2367:113;2381:6;2378:1;2375:13;2367:113;;;2457:11;;;2451:18;2438:11;;;2431:39;2403:2;2396:10;2367:113;;;-1:-1:-1;;2514:1:1;2496:16;;2489:27;2272:250::o;2527:271::-;2569:3;2607:5;2601:12;2634:6;2629:3;2622:19;2650:76;2719:6;2712:4;2707:3;2703:14;2696:4;2689:5;2685:16;2650:76;:::i;:::-;2780:2;2759:15;-1:-1:-1;;2755:29:1;2746:39;;;;2787:4;2742:50;;2527:271;-1:-1:-1;;2527:271:1:o;2803:703::-;-1:-1:-1;;;;;3120:32:1;;;3102:51;;3189:32;;3184:2;3169:18;;3162:60;3253:2;3238:18;;3231:34;;;3296:2;3281:18;;3274:34;;;3345:3;3339;3324:19;;3317:32;;;-1:-1:-1;;3366:46:1;;3392:19;;3384:6;3366:46;:::i;:::-;3443:3;3428:19;;3421:35;;;;-1:-1:-1;3487:3:1;3472:19;3465:35;3358:54;2803:703;-1:-1:-1;;;;;2803:703:1:o;3703:186::-;3762:6;3815:2;3803:9;3794:7;3790:23;3786:32;3783:52;;;3831:1;3828;3821:12;3783:52;3854:29;3873:9;3854:29;:::i;:::-;3844:39;3703:186;-1:-1:-1;;;3703:186:1:o;4287:374::-;4364:6;4372;4380;4433:2;4421:9;4412:7;4408:23;4404:32;4401:52;;;4449:1;4446;4439:12;4401:52;4472:29;4491:9;4472:29;:::i;:::-;4462:39;;4520:38;4554:2;4543:9;4539:18;4520:38;:::i;:::-;4287:374;;4510:48;;-1:-1:-1;;;4627:2:1;4612:18;;;;4599:32;;4287:374::o;4666:420::-;4743:6;4751;4759;4812:2;4800:9;4791:7;4787:23;4783:32;4780:52;;;4828:1;4825;4818:12;4780:52;4851:29;4870:9;4851:29;:::i;:::-;4841:39;4949:2;4934:18;;4921:32;;-1:-1:-1;5050:2:1;5035:18;;;5022:32;;4666:420;-1:-1:-1;;;4666:420:1:o;5091:703::-;5390:25;;;-1:-1:-1;;;;;5451:32:1;;;5446:2;5431:18;;5424:60;5520:32;;5515:2;5500:18;;5493:60;5584:2;5569:18;;5562:34;;;5627:3;5612:19;;5605:35;;;5471:3;5656:19;;5649:35;;;5721:3;5715;5700:19;;5693:32;;;-1:-1:-1;;5742:46:1;;5768:19;;5760:6;5742:46;:::i;:::-;5734:54;5091:703;-1:-1:-1;;;;;;;;;5091:703:1:o;5799:556::-;5886:6;5894;5902;5955:2;5943:9;5934:7;5930:23;5926:32;5923:52;;;5971:1;5968;5961:12;5923:52;6011:9;5998:23;6044:18;6036:6;6033:30;6030:50;;;6076:1;6073;6066:12;6030:50;6099;6141:7;6132:6;6121:9;6117:22;6099:50;:::i;:::-;6089:60;6218:2;6203:18;;6190:32;;-1:-1:-1;6319:2:1;6304:18;;;6291:32;;5799:556;-1:-1:-1;;;;5799:556:1:o;6360:495::-;6446:6;6454;6462;6470;6523:3;6511:9;6502:7;6498:23;6494:33;6491:53;;;6540:1;6537;6530:12;6491:53;6563:29;6582:9;6563:29;:::i;:::-;6553:39;;6611:38;6645:2;6634:9;6630:18;6611:38;:::i;:::-;6360:495;;6601:48;;-1:-1:-1;;;;6718:2:1;6703:18;;6690:32;;6819:2;6804:18;6791:32;;6360:495::o;6860:260::-;6928:6;6936;6989:2;6977:9;6968:7;6964:23;6960:32;6957:52;;;7005:1;7002;6995:12;6957:52;7028:29;7047:9;7028:29;:::i;:::-;7018:39;;7076:38;7110:2;7099:9;7095:18;7076:38;:::i;:::-;7066:48;;6860:260;;;;;:::o;7347:338::-;7549:2;7531:21;;;7588:2;7568:18;;;7561:30;-1:-1:-1;;;7622:2:1;7607:18;;7600:44;7676:2;7661:18;;7347:338::o;7690:343::-;7892:2;7874:21;;;7931:2;7911:18;;;7904:30;-1:-1:-1;;;7965:2:1;7950:18;;7943:49;8024:2;8009:18;;7690:343::o;8801:353::-;9003:2;8985:21;;;9042:2;9022:18;;;9015:30;9081:31;9076:2;9061:18;;9054:59;9145:2;9130:18;;8801:353::o;9159:380::-;9238:1;9234:12;;;;9281;;;9302:61;;9356:4;9348:6;9344:17;9334:27;;9302:61;9409:2;9401:6;9398:14;9378:18;9375:38;9372:161;;9455:10;9450:3;9446:20;9443:1;9436:31;9490:4;9487:1;9480:15;9518:4;9515:1;9508:15;9372:161;;9159:380;;;:::o;9670:518::-;9772:2;9767:3;9764:11;9761:421;;;9808:5;9805:1;9798:16;9852:4;9849:1;9839:18;9922:2;9910:10;9906:19;9903:1;9899:27;9893:4;9889:38;9958:4;9946:10;9943:20;9940:47;;;-1:-1:-1;9981:4:1;9940:47;10036:2;10031:3;10027:12;10024:1;10020:20;10014:4;10010:31;10000:41;;10091:81;10109:2;10102:5;10099:13;10091:81;;;10168:1;10154:16;;10135:1;10124:13;10091:81;;10364:1299;10490:3;10484:10;10517:18;10509:6;10506:30;10503:56;;;10539:18;;:::i;:::-;10568:97;10658:6;10618:38;10650:4;10644:11;10618:38;:::i;:::-;10612:4;10568:97;:::i;:::-;10714:4;10745:2;10734:14;;10762:1;10757:649;;;;11450:1;11467:6;11464:89;;;-1:-1:-1;11519:19:1;;;11513:26;11464:89;-1:-1:-1;;10321:1:1;10317:11;;;10313:24;10309:29;10299:40;10345:1;10341:11;;;10296:57;11566:81;;10727:930;;10757:649;9617:1;9610:14;;;9654:4;9641:18;;-1:-1:-1;;10793:20:1;;;10911:222;10925:7;10922:1;10919:14;10911:222;;;11007:19;;;11001:26;10986:42;;11114:4;11099:20;;;;11067:1;11055:14;;;;10941:12;10911:222;;;10915:3;11161:6;11152:7;11149:19;11146:201;;;11222:19;;;11216:26;-1:-1:-1;;11305:1:1;11301:14;;;11317:3;11297:24;11293:37;11289:42;11274:58;11259:74;;11146:201;-1:-1:-1;;;;11393:1:1;11377:14;;;11373:22;11360:36;;-1:-1:-1;10364:1299:1:o;12044:277::-;12111:6;12164:2;12152:9;12143:7;12139:23;12135:32;12132:52;;;12180:1;12177;12170:12;12132:52;12212:9;12206:16;12265:5;12258:13;12251:21;12244:5;12241:32;12231:60;;12287:1;12284;12277:12;14732:472;-1:-1:-1;;14965:2:1;14961:15;;;14957:53;;14945:66;;15045:15;;;;15041:53;;;15036:2;15027:12;;15020:75;15120:2;15111:12;;15104:28;15157:2;15148:12;;15141:28;15194:3;15185:13;;14732:472::o;15561:184::-;15631:6;15684:2;15672:9;15663:7;15659:23;15655:32;15652:52;;;15700:1;15697;15690:12;15652:52;-1:-1:-1;15723:16:1;;15561:184;-1:-1:-1;15561:184:1:o;19365:287::-;19494:3;19532:6;19526:13;19548:66;19607:6;19602:3;19595:4;19587:6;19583:17;19548:66;:::i;:::-;19630:16;;;;;19365:287;-1:-1:-1;;19365:287:1:o

Swarm Source

bzz-raw://a580c83fe2b635681302c8411d33c012c00ff4ec7c78184161f76a97af4e2270,dweb:/ipfs/Qmbvp5P4qWrr6VwQNdcL8QjH4e2SGpXCJ4CVBbsTUxKhiM
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our .