{
  "_format": "hh-sol-artifact-1",
  "contractName": "JAvax",
  "sourceName": "contracts/JAvax.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract JoetrollerInterface",
          "name": "joetroller_",
          "type": "address"
        },
        {
          "internalType": "contract InterestRateModel",
          "name": "interestRateModel_",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "initialExchangeRateMantissa_",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "name_",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "symbol_",
          "type": "string"
        },
        {
          "internalType": "uint8",
          "name": "decimals_",
          "type": "uint8"
        },
        {
          "internalType": "address payable",
          "name": "admin_",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "cashPrior",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "interestAccumulated",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "borrowIndex",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "totalBorrows",
          "type": "uint256"
        }
      ],
      "name": "AccrueInterest",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "borrowAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "accountBorrows",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "totalBorrows",
          "type": "uint256"
        }
      ],
      "name": "Borrow",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "error",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "info",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "detail",
          "type": "uint256"
        }
      ],
      "name": "Failure",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "liquidator",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "repayAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "jTokenCollateral",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "seizeTokens",
          "type": "uint256"
        }
      ],
      "name": "LiquidateBorrow",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "minter",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "mintAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "mintTokens",
          "type": "uint256"
        }
      ],
      "name": "Mint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldAdmin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newAdmin",
          "type": "address"
        }
      ],
      "name": "NewAdmin",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "contract JoetrollerInterface",
          "name": "oldJoetroller",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "contract JoetrollerInterface",
          "name": "newJoetroller",
          "type": "address"
        }
      ],
      "name": "NewJoetroller",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "contract InterestRateModel",
          "name": "oldInterestRateModel",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "contract InterestRateModel",
          "name": "newInterestRateModel",
          "type": "address"
        }
      ],
      "name": "NewMarketInterestRateModel",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "oldPendingAdmin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newPendingAdmin",
          "type": "address"
        }
      ],
      "name": "NewPendingAdmin",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldReserveFactorMantissa",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newReserveFactorMantissa",
          "type": "uint256"
        }
      ],
      "name": "NewReserveFactor",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "redeemer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "redeemAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "redeemTokens",
          "type": "uint256"
        }
      ],
      "name": "Redeem",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "payer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "repayAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "accountBorrows",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "totalBorrows",
          "type": "uint256"
        }
      ],
      "name": "RepayBorrow",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "benefactor",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "addAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newTotalReserves",
          "type": "uint256"
        }
      ],
      "name": "ReservesAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "admin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "reduceAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newTotalReserves",
          "type": "uint256"
        }
      ],
      "name": "ReservesReduced",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "payable": true,
      "stateMutability": "payable",
      "type": "fallback"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "_acceptAdmin",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "reduceAmount",
          "type": "uint256"
        }
      ],
      "name": "_reduceReserves",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract InterestRateModel",
          "name": "newInterestRateModel",
          "type": "address"
        }
      ],
      "name": "_setInterestRateModel",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract JoetrollerInterface",
          "name": "newJoetroller",
          "type": "address"
        }
      ],
      "name": "_setJoetroller",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address payable",
          "name": "newPendingAdmin",
          "type": "address"
        }
      ],
      "name": "_setPendingAdmin",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "newReserveFactorMantissa",
          "type": "uint256"
        }
      ],
      "name": "_setReserveFactor",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "accrualBlockTimestamp",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "accrueInterest",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "admin",
      "outputs": [
        {
          "internalType": "address payable",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "balanceOfUnderlying",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "borrowAmount",
          "type": "uint256"
        }
      ],
      "name": "borrow",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "borrowBalanceCurrent",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "borrowBalanceStored",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "borrowIndex",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "borrowRatePerSecond",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "exchangeRateCurrent",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "exchangeRateStored",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "getAccountSnapshot",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getCash",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract JoetrollerInterface",
          "name": "joetroller_",
          "type": "address"
        },
        {
          "internalType": "contract InterestRateModel",
          "name": "interestRateModel_",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "initialExchangeRateMantissa_",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "name_",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "symbol_",
          "type": "string"
        },
        {
          "internalType": "uint8",
          "name": "decimals_",
          "type": "uint8"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "interestRateModel",
      "outputs": [
        {
          "internalType": "contract InterestRateModel",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isJToken",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "joetroller",
      "outputs": [
        {
          "internalType": "contract JoetrollerInterface",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "internalType": "contract JTokenDeprecated",
          "name": "jTokenCollateral",
          "type": "address"
        }
      ],
      "name": "liquidateBorrow",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "mint",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "pendingAdmin",
      "outputs": [
        {
          "internalType": "address payable",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "redeemTokens",
          "type": "uint256"
        }
      ],
      "name": "redeem",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "redeemAmount",
          "type": "uint256"
        }
      ],
      "name": "redeemUnderlying",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "repayBorrow",
      "outputs": [],
      "payable": true,
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "reserveFactorMantissa",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "liquidator",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "borrower",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "seizeTokens",
          "type": "uint256"
        }
      ],
      "name": "seize",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "supplyRatePerSecond",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalBorrows",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "totalBorrowsCurrent",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalReserves",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "dst",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "address",
          "name": "src",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "dst",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040523480156200001157600080fd5b5060405162004a7238038062004a72833981810160405260e08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82516401000000008111828201881017156200009c57600080fd5b82525081516020918201929091019080838360005b83811015620000cb578181015183820152602001620000b1565b50505050905090810190601f168015620000f95780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011d57600080fd5b9083019060208201858111156200013357600080fd5b82516401000000008111828201881017156200014e57600080fd5b82525081516020918201929091019080838360005b838110156200017d57818101518382015260200162000163565b50505050905090810190601f168015620001ab5780820380516001836020036101000a031916815260200191505b506040908152602082015191015160038054610100600160a81b03191633610100021790559092509050620001e587878787878762000218565b600380546001600160a01b0390921661010002610100600160a81b03199092169190911790555062000855945050505050565b60035461010090046001600160a01b03163314620002685760405162461bcd60e51b8152600401808060200182810382526024815260200180620049d96024913960400191505060405180910390fd5b600954158015620002795750600a54155b620002b65760405162461bcd60e51b8152600401808060200182810382526023815260200180620049fd6023913960400191505060405180910390fd5b600784905583620002f95760405162461bcd60e51b815260040180806020018281038252603081526020018062004a206030913960400191505060405180910390fd5b60006200030f876001600160e01b036200042e16565b9050801562000365576040805162461bcd60e51b815260206004820152601960248201527f73657474696e67206a6f6574726f6c6c6572206661696c656400000000000000604482015290519081900360640190fd5b620003786001600160e01b036200059816565b600955670de0b6b3a7640000600a556200039b866001600160e01b036200059d16565b90508015620003dc5760405162461bcd60e51b815260040180806020018281038252602281526020018062004a506022913960400191505060405180910390fd5b8351620003f1906001906020870190620007b3565b50825162000407906002906020860190620007b3565b50506003805460ff90921660ff199283161790556000805490911660011790555050505050565b60035460009061010090046001600160a01b03163314620004685762000460600160296001600160e01b036200074316565b905062000593565b600554604080516340e6dcc560e01b815290516001600160a01b03928316928516916340e6dcc5916004808301926020929190829003018186803b158015620004b057600080fd5b505afa158015620004c5573d6000803e3d6000fd5b505050506040513d6020811015620004dc57600080fd5b505162000530576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03858116918217909255604080519284168352602083019190915280517f17d6db5ffe5a3d1c3d7a98194dca4f7d808d621e6ff9077ed574513d553a2a859281900390910190a160005b9150505b919050565b425b90565b600354600090819061010090046001600160a01b03163314620005da57620005d16001602c6001600160e01b036200074316565b91505062000593565b620005ed6001600160e01b036200059816565b600954146200060d57620005d1600a602b6001600160e01b036200074316565b600660009054906101000a90046001600160a01b03169050826001600160a01b0316632191f92a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200065f57600080fd5b505afa15801562000674573d6000803e3d6000fd5b505050506040513d60208110156200068b57600080fd5b5051620006df576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b03858116918217909255604080519284168352602083019190915280517fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f9269281900390910190a160006200058f565b60007f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa08360108111156200077357fe5b83603c8111156200078057fe5b604080519283526020830191909152600082820152519081900360600190a1826010811115620007ac57fe5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620007f657805160ff191683800117855562000826565b8280016001018555821562000826579182015b828111156200082657825182559160200191906001019062000809565b506200083492915062000838565b5090565b6200059a91905b808211156200083457600081556001016200083f565b61417480620008656000396000f3fe6080604052600436106102675760003560e01c80638f840ddd11610144578063bd6d894d116100b6578063dd62ed3e1161007a578063dd62ed3e146109cb578063e9c714f214610a06578063f2b3abbd14610a1b578063f3fdb15a14610a4e578063f851a44014610a63578063fca7820b14610a7857610267565b8063bd6d894d146108f4578063c37f68e214610909578063c5ebeaec14610962578063cfa992011461098c578063db006a75146109a157610267565b8063a9059cbb11610108578063a9059cbb146107ed578063aa5af0fd14610826578063aae40a2a1461083b578063b1d3897414610869578063b2a02ff11461087e578063b71d1a0c146108c157610267565b80638f840ddd1461061c57806395d89b411461063157806395dd91931461064657806399d8c1b414610679578063a6afed95146107d857610267565b80633b1d21a2116101dd57806352609750116101a15780635260975014610556578063601a0bf11461056b5780636330533c1461059557806370a08231146105aa57806373acee98146105dd578063852a12e3146105f257610267565b80633b1d21a2146104dc578063406de0b6146104f1578063432f4b2d1461050657806347bd3718146105395780634e4d9fea1461054e57610267565b806318160ddd1161022f57806318160ddd146103e0578063182df0f5146103f557806323b872dd1461040a578063267822471461044d578063313ce5671461047e5780633af9e669146104a957610267565b806306fdde03146102a5578063095ea7b31461032f5780631249c58b1461037c578063173b99041461038657806317bfdfbc146103ad575b600061027234610aa2565b5090506102a2816040518060400160405280600b81526020016a1b5a5b9d0819985a5b195960aa1b815250610b4a565b50005b3480156102b157600080fd5b506102ba610d4a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f45781810151838201526020016102dc565b50505050905090810190601f1680156103215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033b57600080fd5b506103686004803603604081101561035257600080fd5b506001600160a01b038135169060200135610dd7565b604080519115158252519081900360200190f35b610384610e44565b005b34801561039257600080fd5b5061039b610e82565b60408051918252519081900360200190f35b3480156103b957600080fd5b5061039b600480360360208110156103d057600080fd5b50356001600160a01b0316610e88565b3480156103ec57600080fd5b5061039b610f48565b34801561040157600080fd5b5061039b610f4e565b34801561041657600080fd5b506103686004803603606081101561042d57600080fd5b506001600160a01b03813581169160208101359091169060400135610f5e565b34801561045957600080fd5b50610462610fd0565b604080516001600160a01b039092168252519081900360200190f35b34801561048a57600080fd5b50610493610fdf565b6040805160ff9092168252519081900360200190f35b3480156104b557600080fd5b5061039b600480360360208110156104cc57600080fd5b50356001600160a01b0316610fe8565b3480156104e857600080fd5b5061039b611037565b3480156104fd57600080fd5b50610368611041565b34801561051257600080fd5b5061039b6004803603602081101561052957600080fd5b50356001600160a01b0316611046565b34801561054557600080fd5b5061039b61119a565b6103846111a0565b34801561056257600080fd5b5061039b6111e2565b34801561057757600080fd5b5061039b6004803603602081101561058e57600080fd5b5035611277565b3480156105a157600080fd5b50610462611312565b3480156105b657600080fd5b5061039b600480360360208110156105cd57600080fd5b50356001600160a01b0316611321565b3480156105e957600080fd5b5061039b61133c565b3480156105fe57600080fd5b5061039b6004803603602081101561061557600080fd5b50356113f2565b34801561062857600080fd5b5061039b6113fd565b34801561063d57600080fd5b506102ba611403565b34801561065257600080fd5b5061039b6004803603602081101561066957600080fd5b50356001600160a01b031661145b565b34801561068557600080fd5b50610384600480360360c081101561069c57600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156106d757600080fd5b8201836020820111156106e957600080fd5b8035906020019184600183028401116401000000008311171561070b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561075e57600080fd5b82018360208201111561077057600080fd5b8035906020019184600183028401116401000000008311171561079257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff1691506114669050565b3480156107e457600080fd5b5061039b61164d565b3480156107f957600080fd5b506103686004803603604081101561081057600080fd5b506001600160a01b03813516906020013561185d565b34801561083257600080fd5b5061039b6118ce565b6103846004803603604081101561085157600080fd5b506001600160a01b03813581169160200135166118d4565b34801561087557600080fd5b5061039b611921565b34801561088a57600080fd5b5061039b600480360360608110156108a157600080fd5b506001600160a01b0381358116916020810135909116906040013561198f565b3480156108cd57600080fd5b5061039b600480360360208110156108e457600080fd5b50356001600160a01b0316611a00565b34801561090057600080fd5b5061039b611a8c565b34801561091557600080fd5b5061093c6004803603602081101561092c57600080fd5b50356001600160a01b0316611b48565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561096e57600080fd5b5061039b6004803603602081101561098557600080fd5b5035611b8f565b34801561099857600080fd5b5061039b611b9a565b3480156109ad57600080fd5b5061039b600480360360208110156109c457600080fd5b5035611ba0565b3480156109d757600080fd5b5061039b600480360360408110156109ee57600080fd5b506001600160a01b0381358116916020013516611bab565b348015610a1257600080fd5b5061039b611bd6565b348015610a2757600080fd5b5061039b60048036036020811015610a3e57600080fd5b50356001600160a01b0316611cd9565b348015610a5a57600080fd5b50610462611d13565b348015610a6f57600080fd5b50610462611d22565b348015610a8457600080fd5b5061039b60048036036020811015610a9b57600080fd5b5035611d36565b60008054819060ff16610ae9576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155610afb61164d565b90508015610b2657610b19816010811115610b1257fe5b6014611db4565b925060009150610b369050565b610b303385611e21565b92509250505b6000805460ff191660011790559092909150565b81610b5457610d46565b606081516005016040519080825280601f01601f191660200182016040528015610b85576020820181803883390190505b50905060005b8251811015610bd657828181518110610ba057fe5b602001015160f81c60f81b828281518110610bb757fe5b60200101906001600160f81b031916908160001a905350600101610b8b565b8151600160fd1b90839083908110610bea57fe5b60200101906001600160f81b031916908160001a905350602860f81b828260010181518110610c1557fe5b60200101906001600160f81b031916908160001a905350600a840460300160f81b828260020181518110610c4557fe5b60200101906001600160f81b031916908160001a905350600a840660300160f81b828260030181518110610c7557fe5b60200101906001600160f81b031916908160001a905350602960f81b828260040181518110610ca057fe5b60200101906001600160f81b031916908160001a905350818415610d425760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d07578181015183820152602001610cef565b50505050905090810190601f168015610d345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505b5050565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610dcf5780601f10610da457610100808354040283529160200191610dcf565b820191906000526020600020905b815481529060010190602001808311610db257829003601f168201915b505050505081565b336000818152600f602090815260408083206001600160a01b03871680855290835281842086905581518681529151939493909284927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a360019150505b92915050565b6000610e4f34610aa2565b509050610e7f816040518060400160405280600b81526020016a1b5a5b9d0819985a5b195960aa1b815250610b4a565b50565b60085481565b6000805460ff16610ecd576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155610edf61164d565b14610f2a576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b610f338261145b565b90505b6000805460ff19166001179055919050565b600d5481565b6000610f586120b8565b90505b90565b6000805460ff16610fa3576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155610fb93386868661211e565b1490506000805460ff191660011790559392505050565b6004546001600160a01b031681565b60035460ff1681565b6000610ff2613ecc565b6040518060200160405280611005611a8c565b90526001600160a01b0384166000908152600e602052604090205490915061102e9082906123ba565b9150505b919050565b6000610f586123d9565b600181565b60035460009061010090046001600160a01b031633146110735761106c60016029611db4565b9050611032565b600554604080516340e6dcc560e01b815290516001600160a01b03928316928516916340e6dcc5916004808301926020929190829003018186803b1580156110ba57600080fd5b505afa1580156110ce573d6000803e3d6000fd5b505050506040513d60208110156110e457600080fd5b5051611137576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03858116918217909255604080519284168352602083019190915280517f17d6db5ffe5a3d1c3d7a98194dca4f7d808d621e6ff9077ed574513d553a2a859281900390910190a1600061102e565b600b5481565b60006111ab3461240b565b509050610e7f81604051806040016040528060128152602001711c995c185e509bdc9c9bddc819985a5b195960721b815250610b4a565b6006546000906001600160a01b03166315f240536111fe6123d9565b600b54600c546040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561124657600080fd5b505afa15801561125a573d6000803e3d6000fd5b505050506040513d602081101561127057600080fd5b5051905090565b6000805460ff166112bc576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556112ce61164d565b905080156112f4576112ec8160108111156112e557fe5b601d611db4565b915050610f36565b6112fd8361248d565b9150506000805460ff19166001179055919050565b6005546001600160a01b031681565b6001600160a01b03166000908152600e602052604090205490565b6000805460ff16611381576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561139361164d565b146113de576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b50600b546000805460ff1916600117905590565b6000610e3e82612589565b600c5481565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610dcf5780601f10610da457610100808354040283529160200191610dcf565b6000610e3e8261260a565b60035461010090046001600160a01b031633146114b45760405162461bcd60e51b81526004018080602001828103825260248152602001806140216024913960400191505060405180910390fd5b6009541580156114c45750600a54155b6114ff5760405162461bcd60e51b81526004018080602001828103825260238152602001806140776023913960400191505060405180910390fd5b6007849055836115405760405162461bcd60e51b815260040180806020018281038252603081526020018061409a6030913960400191505060405180910390fd5b600061154b87611046565b905080156115a0576040805162461bcd60e51b815260206004820152601960248201527f73657474696e67206a6f6574726f6c6c6572206661696c656400000000000000604482015290519081900360640190fd5b6115a861265f565b600955670de0b6b3a7640000600a556115c086612663565b905080156115ff5760405162461bcd60e51b81526004018080602001828103825260228152602001806140ca6022913960400191505060405180910390fd5b8351611612906001906020870190613edf565b508251611626906002906020860190613edf565b50506003805460ff90921660ff199283161790556000805490911660011790555050505050565b60008061165861265f565b6009549091508082141561167157600092505050610f5b565b600061167b6123d9565b600b54600c54600a54600654604080516315f2405360e01b815260048101879052602481018690526044810185905290519596509394929391926000926001600160a01b03909216916315f24053916064808301926020929190829003018186803b1580156116e957600080fd5b505afa1580156116fd573d6000803e3d6000fd5b505050506040513d602081101561171357600080fd5b5051905065048c27395000811115611772576040805162461bcd60e51b815260206004820152601c60248201527f626f72726f772072617465206973206162737572646c79206869676800000000604482015290519081900360640190fd5b600061177e88886127d8565b9050611788613ecc565b6117a060405180602001604052808581525083612812565b905060006117ae82886123ba565b905060006117bc828961283c565b905060006117db6040518060200160405280600854815250848a612872565b905060006117ea85898a612872565b60098e9055600a819055600b849055600c839055604080518d8152602081018790528082018390526060810186905290519192507f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04919081900360800190a160009d505050505050505050505050505090565b6000805460ff166118a2576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556118b83333868661211e565b1490506000805460ff1916600117905592915050565b600a5481565b60006118e183348461289a565b50905061191c81604051806040016040528060168152602001751b1a5c5d5a59185d19509bdc9c9bddc819985a5b195960521b815250610b4a565b505050565b6006546000906001600160a01b031663b816881661193d6123d9565b600b54600c546008546040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561124657600080fd5b6000805460ff166119d4576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191690556119ea338585856129cc565b90506000805460ff191660011790559392505050565b60035460009061010090046001600160a01b03163314611a265761106c6001602f611db4565b600480546001600160a01b038481166001600160a01b0319831681179093556040805191909216808252602082019390935281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a1600061102e565b6000805460ff16611ad1576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155611ae361164d565b14611b2e576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b611b36610f4e565b90506000805460ff1916600117905590565b6001600160a01b0381166000908152600e602052604081205481908190819081611b718761260a565b90506000611b7d6120b8565b90506000989297509095509350915050565b6000610e3e82612bd5565b60095481565b6000610e3e82612c54565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b6004546000906001600160a01b031633141580611bf1575033155b15611c0957611c0260016000611db4565b9050610f5b565b60038054600480546001600160a01b03818116610100818102610100600160a81b0319871617968790556001600160a01b031990931690935560408051948390048216808652929095041660208401528351909391927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92908290030190a1600454604080516001600160a01b038085168252909216602083015280517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99281900390910190a160009250505090565b600080611ce461164d565b90508015611d0a57611d02816010811115611cfb57fe5b602a611db4565b915050611032565b61102e83612663565b6006546001600160a01b031681565b60035461010090046001600160a01b031681565b6000805460ff16611d7b576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155611d8d61164d565b90508015611dab576112ec816010811115611da457fe5b6030611db4565b6112fd83612cce565b60007f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0836010811115611de357fe5b83603c811115611def57fe5b604080519283526020830191909152600082820152519081900360600190a1826010811115611e1a57fe5b9392505050565b60055460408051634ef4c3e160e01b81523060048201526001600160a01b03858116602483015260448201859052915160009384938493911691634ef4c3e19160648082019260209290919082900301818787803b158015611e8257600080fd5b505af1158015611e96573d6000803e3d6000fd5b505050506040513d6020811015611eac57600080fd5b505190508015611ed057611ec36003601583612d76565b9250600091506120b19050565b611ed861265f565b60095414611eec57611ec3600a6016611db4565b611ef4613f59565b611efc6120b8565b6040820152611f0b8686612ddc565b60c0820181905260408051602081018252908301518152611f2c9190612e78565b60608201819052600d54611f3f9161283c565b60808201526001600160a01b0386166000908152600e60205260409020546060820151611f6c919061283c565b60a082018190526080820151600d556001600160a01b0387166000818152600e60209081526040918290209390935560c084015160608086015183519485529484019190915282820193909352517f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f929181900390910190a1606081015160408051918252516001600160a01b0388169130916000805160206140ec8339815191529181900360200190a360055460c08201516060830151604080516341c728b960e01b81523060048201526001600160a01b038b81166024830152604482019490945260648101929092525191909216916341c728b991608480830192600092919082900301818387803b15801561208457600080fd5b505af1158015612098573d6000803e3d6000fd5b50600092506120a5915050565b8160c001519350935050505b9250929050565b600d54600090806120cd575050600754610f5b565b60006120d76123d9565b905060006120f26120ea83600b5461283c565b600c546127d8565b9050600061210e82604051806020016040528087815250612e8c565b9450610f5b9350505050565b5090565b600554604080516317b9b84b60e31b81523060048201526001600160a01b03868116602483015285811660448301526064820185905291516000938493169163bdcdc25891608480830192602092919082900301818787803b15801561218357600080fd5b505af1158015612197573d6000803e3d6000fd5b505050506040513d60208110156121ad57600080fd5b5051905080156121cc576121c46003603483612d76565b9150506123b2565b836001600160a01b0316856001600160a01b031614156121f2576121c460026035611db4565b60006001600160a01b0387811690871614156122115750600019612239565b506001600160a01b038086166000908152600f60209081526040808320938a16835292905220545b600061224582866127d8565b6001600160a01b0388166000908152600e60205260408120549192509061226c90876127d8565b6001600160a01b0388166000908152600e602052604081205491925090612293908861283c565b6001600160a01b03808b166000908152600e6020526040808220869055918b16815220819055905060001984146122ed576001600160a01b03808a166000908152600f60209081526040808320938e168352929052208390555b876001600160a01b0316896001600160a01b03166000805160206140ec833981519152896040518082815260200191505060405180910390a36005546040805163352b4a3f60e11b81523060048201526001600160a01b038c811660248301528b81166044830152606482018b905291519190921691636a56947e91608480830192600092919082900301818387803b15801561238957600080fd5b505af115801561239d573d6000803e3d6000fd5b50600092506123aa915050565b955050505050505b949350505050565b60006123c4613ecc565b6123ce8484612812565b90506123b281612eaa565b60008060006123e84734612eb9565b909250905060008260038111156123fb57fe5b1461240557600080fd5b91505090565b60008054819060ff16612452576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561246461164d565b9050801561248257610b1981601081111561247b57fe5b6023611db4565b610b30333386612edc565b600354600090819061010090046001600160a01b031633146124b557611d026001601e611db4565b6124bd61265f565b600954146124d157611d02600a6020611db4565b826124da6123d9565b10156124ec57611d02600e601f611db4565b600c5483111561250257611d0260026021611db4565b61250e600c54846127d8565b600c8190556003549091506125319061010090046001600160a01b031684613184565b600354604080516101009092046001600160a01b0316825260208201859052818101839052517f3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e916060908290030190a1600061102e565b6000805460ff166125ce576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556125e061164d565b905080156125fe576112ec8160108111156125f757fe5b6019611db4565b6112fd336000856131ba565b6001600160a01b03811660009081526010602052604081208054612632576000915050611032565b60006126448260000154600a546134e9565b9050600061265682846001015461352b565b95945050505050565b4290565b600354600090819061010090046001600160a01b0316331461268b57611d026001602c611db4565b61269361265f565b600954146126a757611d02600a602b611db4565b600660009054906101000a90046001600160a01b03169050826001600160a01b0316632191f92a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156126f857600080fd5b505afa15801561270c573d6000803e3d6000fd5b505050506040513d602081101561272257600080fd5b5051612775576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b03858116918217909255604080519284168352602083019190915280517fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f9269281900390910190a1600061102e565b6000611e1a8383604051806040016040528060158152602001747375627472616374696f6e20756e646572666c6f7760581b81525061355e565b61281a613ecc565b60405180602001604052806128338560000151856134e9565b90529392505050565b6000611e1a8383604051806040016040528060118152602001706164646974696f6e206f766572666c6f7760781b8152506135b8565b600061287c613ecc565b6128868585612812565b905061265661289482612eaa565b8461283c565b60008054819060ff166128e1576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556128f361164d565b9050801561291e5761291181601081111561290a57fe5b6007611db4565b9250600091506129b59050565b836001600160a01b031663a6afed956040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561295957600080fd5b505af115801561296d573d6000803e3d6000fd5b505050506040513d602081101561298357600080fd5b5051905080156129a35761291181601081111561299c57fe5b6008611db4565b6129af33878787613616565b92509250505b6000805460ff191660011790559094909350915050565b6005546040805163d02f735160e01b81523060048201526001600160a01b038781166024830152868116604483015285811660648301526084820185905291516000938493169163d02f73519160a480830192602092919082900301818787803b158015612a3957600080fd5b505af1158015612a4d573d6000803e3d6000fd5b505050506040513d6020811015612a6357600080fd5b505190508015612a7a576121c46003601183612d76565b846001600160a01b0316846001600160a01b03161415612aa0576121c460066012611db4565b6001600160a01b0384166000908152600e6020526040812054612ac390856127d8565b6001600160a01b0387166000908152600e602052604081205491925090612aea908661283c565b6001600160a01b038088166000818152600e60209081526040808320889055938c168083529184902085905583518a81529351949550909391926000805160206140ec833981519152929081900390910190a360055460408051636d35bf9160e01b81523060048201526001600160a01b038b811660248301528a8116604483015289811660648301526084820189905291519190921691636d35bf919160a480830192600092919082900301818387803b158015612ba857600080fd5b505af1158015612bbc573d6000803e3d6000fd5b5060009250612bc9915050565b98975050505050505050565b6000805460ff16612c1a576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155612c2c61164d565b90508015612c4a576112ec816010811115612c4357fe5b6002611db4565b6112fd3384613b99565b6000805460ff16612c99576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155612cab61164d565b90508015612cc2576112ec8160108111156125f757fe5b6112fd338460006131ba565b60035460009061010090046001600160a01b03163314612cf45761106c60016031611db4565b612cfc61265f565b60095414612d105761106c600a6032611db4565b670de0b6b3a7640000821115612d2c5761106c60026033611db4565b6008805490839055604080518281526020810185905281517faaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460929181900390910190a1600061102e565b60007f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0846010811115612da557fe5b84603c811115612db157fe5b604080519283526020830191909152818101859052519081900360600190a18360108111156123b257fe5b6000336001600160a01b03841614612e2d576040805162461bcd60e51b815260206004820152600f60248201526e0e6cadcc8cae440dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b813414612e72576040805162461bcd60e51b815260206004820152600e60248201526d0ecc2d8eaca40dad2e6dac2e8c6d60931b604482015290519081900360640190fd5b50919050565b6000612e82613ecc565b6123ce8484613db7565b6000611e1a612ea384670de0b6b3a76400006134e9565b835161352b565b51670de0b6b3a7640000900490565b600080838311612ed05750600090508183036120b1565b506003905060006120b1565b60055460408051631200453160e11b81523060048201526001600160a01b0386811660248301528581166044830152606482018590529151600093849384939116916324008a629160848082019260209290919082900301818787803b158015612f4557600080fd5b505af1158015612f59573d6000803e3d6000fd5b505050506040513d6020811015612f6f57600080fd5b505190508015612f9357612f866003602483612d76565b92506000915061317c9050565b612f9b61265f565b60095414612faf57612f86600a6025611db4565b612fb7613f97565b6001600160a01b0386166000908152601060205260409020600101546060820152612fe18661260a565b6080820152600019851415612fff5760808101516040820152613007565b604081018590525b613015878260400151612ddc565b60e08201819052608082015161302a916127d8565b60a0820152600b5460e082015161304191906127d8565b60c0820190815260a080830180516001600160a01b03808b16600081815260106020908152604091829020948555600a546001909501949094559551600b81905560e088015194518751938f16845293830191909152818601939093526060810191909152608081019190915291517f1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a19281900390910190a160055460e0820151606083015160408051631ededc9160e01b81523060048201526001600160a01b038c811660248301528b8116604483015260648201949094526084810192909252519190921691631ededc919160a480830192600092919082900301818387803b15801561314f57600080fd5b505af1158015613163573d6000803e3d6000fd5b5060009250613170915050565b8160e001519350935050505b935093915050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561191c573d6000803e3d6000fd5b60008215806131c7575081155b6132025760405162461bcd60e51b815260040180806020018281038252603481526020018061410c6034913960400191505060405180910390fd5b61320a613f59565b6132126120b8565b6040820152831561324857606081018490526040805160208101825290820151815261323e90856123ba565b6080820152613271565b6132648360405180602001604052808460400151815250612e78565b6060820152608081018390525b60055460608201516040805163eabe7d9160e01b81523060048201526001600160a01b03898116602483015260448201939093529051600093929092169163eabe7d919160648082019260209290919082900301818787803b1580156132d657600080fd5b505af11580156132ea573d6000803e3d6000fd5b505050506040513d602081101561330057600080fd5b505190508015613320576133176003601a83612d76565b92505050611e1a565b61332861265f565b6009541461333c57613317600a601b611db4565b61334c600d5483606001516127d8565b60a08301526001600160a01b0386166000908152600e6020526040902054606083015161337991906127d8565b60c0830152608082015161338b6123d9565b101561339d57613317600e601c611db4565b6133ab868360800151613184565b60a0820151600d5560c08201516001600160a01b0387166000818152600e60209081526040918290209390935560608501518151908152905130936000805160206140ec833981519152928290030190a36080820151606080840151604080516001600160a01b038b168152602081019490945283810191909152517fe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a9299281900390910190a160055460808301516060840151604080516351dff98960e01b81523060048201526001600160a01b038b81166024830152604482019490945260648101929092525191909216916351dff98991608480830192600092919082900301818387803b1580156134be57600080fd5b505af11580156134d2573d6000803e3d6000fd5b50600092506134df915050565b9695505050505050565b6000611e1a83836040518060400160405280601781526020017f6d756c7469706c69636174696f6e206f766572666c6f77000000000000000000815250613df4565b6000611e1a83836040518060400160405280600e81526020016d646976696465206279207a65726f60901b815250613e6a565b600081848411156135b05760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d07578181015183820152602001610cef565b505050900390565b6000838301828582101561360d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d07578181015183820152602001610cef565b50949350505050565b60055460408051632fe3f38f60e11b81523060048201526001600160a01b0384811660248301528781166044830152868116606483015260848201869052915160009384938493911691635fc7e71e9160a48082019260209290919082900301818787803b15801561368757600080fd5b505af115801561369b573d6000803e3d6000fd5b505050506040513d60208110156136b157600080fd5b5051905080156136d5576136c86003600a83612d76565b925060009150613b909050565b6136dd61265f565b600954146136f1576136c8600a600e611db4565b6136f961265f565b846001600160a01b031663cfa992016040518163ffffffff1660e01b815260040160206040518083038186803b15801561373257600080fd5b505afa158015613746573d6000803e3d6000fd5b505050506040513d602081101561375c57600080fd5b50511461376f576136c8600a6009611db4565b866001600160a01b0316866001600160a01b03161415613795576136c86006600f611db4565b846137a6576136c86007600d611db4565b6000198514156137bc576136c86007600c611db4565b6000806137ca898989612edc565b909250905081156137fa576137eb8260108111156137e457fe5b6010611db4565b945060009350613b9092505050565b6005546040805163c488847b60e01b81523060048201526001600160a01b038981166024830152604482018590528251600094859492169263c488847b926064808301939192829003018186803b15801561385457600080fd5b505afa158015613868573d6000803e3d6000fd5b505050506040513d604081101561387e57600080fd5b508051602090910151909250905081156138c95760405162461bcd60e51b81526004018080602001828103825260328152602001806140456032913960400191505060405180910390fd5b80886001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561392057600080fd5b505afa158015613934573d6000803e3d6000fd5b505050506040513d602081101561394a57600080fd5b5051101561399f576040805162461bcd60e51b815260206004820152601860248201527f4c49515549444154455f5345495a455f544f4f5f4d5543480000000000000000604482015290519081900360640190fd5b60006001600160a01b0389163014156139c5576139be308d8d856129cc565b9050613a4f565b6040805163b2a02ff160e01b81526001600160a01b038e811660048301528d81166024830152604482018590529151918b169163b2a02ff1916064808201926020929091908290030181600087803b158015613a2057600080fd5b505af1158015613a34573d6000803e3d6000fd5b505050506040513d6020811015613a4a57600080fd5b505190505b8015613a99576040805162461bcd60e51b81526020600482015260146024820152731d1bdad95b881cd95a5e9d5c994819985a5b195960621b604482015290519081900360640190fd5b604080516001600160a01b03808f168252808e1660208301528183018790528b1660608201526080810184905290517f298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb529181900360a00190a1600554604080516347ef3b3b60e01b81523060048201526001600160a01b038c811660248301528f811660448301528e811660648301526084820188905260a48201869052915191909216916347ef3b3b9160c480830192600092919082900301818387803b158015613b6457600080fd5b505af1158015613b78573d6000803e3d6000fd5b5060009250613b85915050565b975092955050505050505b94509492505050565b6005546040805163368f515360e21b81523060048201526001600160a01b0385811660248301526044820185905291516000938493169163da3d454c91606480830192602092919082900301818787803b158015613bf657600080fd5b505af1158015613c0a573d6000803e3d6000fd5b505050506040513d6020811015613c2057600080fd5b505190508015613c3f57613c376003600683612d76565b915050610e3e565b613c4761265f565b60095414613c5b57613c37600a6004611db4565b82613c646123d9565b1015613c7657613c37600e6003611db4565b613c7e613fdd565b613c878561260a565b60208201819052613c98908561283c565b6040820152600b54613caa908561283c565b6060820152613cb98585613184565b604080820180516001600160a01b03881660008181526010602090815290859020928355600a54600190930192909255606080860151600b81905593518551928352928201899052818501929092529081019190915290517f13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab809181900360800190a160055460408051635c77860560e01b81523060048201526001600160a01b0388811660248301526044820188905291519190921691635c77860591606480830192600092919082900301818387803b158015613d9657600080fd5b505af1158015613daa573d6000803e3d6000fd5b5060009250612656915050565b613dbf613ecc565b6000613dd3670de0b6b3a7640000856134e9565b90506040518060200160405280613dea8386612e8c565b9052949350505050565b6000831580613e01575082155b15613e0e57506000611e1a565b83830283858281613e1b57fe5b0414839061360d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d07578181015183820152602001610cef565b60008183613eb95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d07578181015183820152602001610cef565b50828481613ec357fe5b04949350505050565b6040518060200160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613f2057805160ff1916838001178555613f4d565b82800160010185558215613f4d579182015b82811115613f4d578251825591602001919060010190613f32565b5061211a929150614006565b6040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805161010081019091528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604080516080810190915280600081526020016000815260200160008152602001600081525090565b610f5b91905b8082111561211a576000815560010161400c56fe6f6e6c792061646d696e206d617920696e697469616c697a6520746865206d61726b65744c49515549444154455f4a4f4554524f4c4c45525f43414c43554c4154455f414d4f554e545f5345495a455f4641494c45446d61726b6574206d6179206f6e6c7920626520696e697469616c697a6564206f6e6365696e697469616c2065786368616e67652072617465206d7573742062652067726561746572207468616e207a65726f2e73657474696e6720696e7465726573742072617465206d6f64656c206661696c6564ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6f6e65206f662072656465656d546f6b656e73496e206f722072656465656d416d6f756e74496e206d757374206265207a65726fa265627a7a723158205ddffbf4e2702c466faf440db60954231d926ac8469443ca1f275ad223b5502e64736f6c634300051000326f6e6c792061646d696e206d617920696e697469616c697a6520746865206d61726b65746d61726b6574206d6179206f6e6c7920626520696e697469616c697a6564206f6e6365696e697469616c2065786368616e67652072617465206d7573742062652067726561746572207468616e207a65726f2e73657474696e6720696e7465726573742072617465206d6f64656c206661696c6564",
  "deployedBytecode": "0x6080604052600436106102675760003560e01c80638f840ddd11610144578063bd6d894d116100b6578063dd62ed3e1161007a578063dd62ed3e146109cb578063e9c714f214610a06578063f2b3abbd14610a1b578063f3fdb15a14610a4e578063f851a44014610a63578063fca7820b14610a7857610267565b8063bd6d894d146108f4578063c37f68e214610909578063c5ebeaec14610962578063cfa992011461098c578063db006a75146109a157610267565b8063a9059cbb11610108578063a9059cbb146107ed578063aa5af0fd14610826578063aae40a2a1461083b578063b1d3897414610869578063b2a02ff11461087e578063b71d1a0c146108c157610267565b80638f840ddd1461061c57806395d89b411461063157806395dd91931461064657806399d8c1b414610679578063a6afed95146107d857610267565b80633b1d21a2116101dd57806352609750116101a15780635260975014610556578063601a0bf11461056b5780636330533c1461059557806370a08231146105aa57806373acee98146105dd578063852a12e3146105f257610267565b80633b1d21a2146104dc578063406de0b6146104f1578063432f4b2d1461050657806347bd3718146105395780634e4d9fea1461054e57610267565b806318160ddd1161022f57806318160ddd146103e0578063182df0f5146103f557806323b872dd1461040a578063267822471461044d578063313ce5671461047e5780633af9e669146104a957610267565b806306fdde03146102a5578063095ea7b31461032f5780631249c58b1461037c578063173b99041461038657806317bfdfbc146103ad575b600061027234610aa2565b5090506102a2816040518060400160405280600b81526020016a1b5a5b9d0819985a5b195960aa1b815250610b4a565b50005b3480156102b157600080fd5b506102ba610d4a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f45781810151838201526020016102dc565b50505050905090810190601f1680156103215780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033b57600080fd5b506103686004803603604081101561035257600080fd5b506001600160a01b038135169060200135610dd7565b604080519115158252519081900360200190f35b610384610e44565b005b34801561039257600080fd5b5061039b610e82565b60408051918252519081900360200190f35b3480156103b957600080fd5b5061039b600480360360208110156103d057600080fd5b50356001600160a01b0316610e88565b3480156103ec57600080fd5b5061039b610f48565b34801561040157600080fd5b5061039b610f4e565b34801561041657600080fd5b506103686004803603606081101561042d57600080fd5b506001600160a01b03813581169160208101359091169060400135610f5e565b34801561045957600080fd5b50610462610fd0565b604080516001600160a01b039092168252519081900360200190f35b34801561048a57600080fd5b50610493610fdf565b6040805160ff9092168252519081900360200190f35b3480156104b557600080fd5b5061039b600480360360208110156104cc57600080fd5b50356001600160a01b0316610fe8565b3480156104e857600080fd5b5061039b611037565b3480156104fd57600080fd5b50610368611041565b34801561051257600080fd5b5061039b6004803603602081101561052957600080fd5b50356001600160a01b0316611046565b34801561054557600080fd5b5061039b61119a565b6103846111a0565b34801561056257600080fd5b5061039b6111e2565b34801561057757600080fd5b5061039b6004803603602081101561058e57600080fd5b5035611277565b3480156105a157600080fd5b50610462611312565b3480156105b657600080fd5b5061039b600480360360208110156105cd57600080fd5b50356001600160a01b0316611321565b3480156105e957600080fd5b5061039b61133c565b3480156105fe57600080fd5b5061039b6004803603602081101561061557600080fd5b50356113f2565b34801561062857600080fd5b5061039b6113fd565b34801561063d57600080fd5b506102ba611403565b34801561065257600080fd5b5061039b6004803603602081101561066957600080fd5b50356001600160a01b031661145b565b34801561068557600080fd5b50610384600480360360c081101561069c57600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156106d757600080fd5b8201836020820111156106e957600080fd5b8035906020019184600183028401116401000000008311171561070b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561075e57600080fd5b82018360208201111561077057600080fd5b8035906020019184600183028401116401000000008311171561079257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050903560ff1691506114669050565b3480156107e457600080fd5b5061039b61164d565b3480156107f957600080fd5b506103686004803603604081101561081057600080fd5b506001600160a01b03813516906020013561185d565b34801561083257600080fd5b5061039b6118ce565b6103846004803603604081101561085157600080fd5b506001600160a01b03813581169160200135166118d4565b34801561087557600080fd5b5061039b611921565b34801561088a57600080fd5b5061039b600480360360608110156108a157600080fd5b506001600160a01b0381358116916020810135909116906040013561198f565b3480156108cd57600080fd5b5061039b600480360360208110156108e457600080fd5b50356001600160a01b0316611a00565b34801561090057600080fd5b5061039b611a8c565b34801561091557600080fd5b5061093c6004803603602081101561092c57600080fd5b50356001600160a01b0316611b48565b604080519485526020850193909352838301919091526060830152519081900360800190f35b34801561096e57600080fd5b5061039b6004803603602081101561098557600080fd5b5035611b8f565b34801561099857600080fd5b5061039b611b9a565b3480156109ad57600080fd5b5061039b600480360360208110156109c457600080fd5b5035611ba0565b3480156109d757600080fd5b5061039b600480360360408110156109ee57600080fd5b506001600160a01b0381358116916020013516611bab565b348015610a1257600080fd5b5061039b611bd6565b348015610a2757600080fd5b5061039b60048036036020811015610a3e57600080fd5b50356001600160a01b0316611cd9565b348015610a5a57600080fd5b50610462611d13565b348015610a6f57600080fd5b50610462611d22565b348015610a8457600080fd5b5061039b60048036036020811015610a9b57600080fd5b5035611d36565b60008054819060ff16610ae9576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155610afb61164d565b90508015610b2657610b19816010811115610b1257fe5b6014611db4565b925060009150610b369050565b610b303385611e21565b92509250505b6000805460ff191660011790559092909150565b81610b5457610d46565b606081516005016040519080825280601f01601f191660200182016040528015610b85576020820181803883390190505b50905060005b8251811015610bd657828181518110610ba057fe5b602001015160f81c60f81b828281518110610bb757fe5b60200101906001600160f81b031916908160001a905350600101610b8b565b8151600160fd1b90839083908110610bea57fe5b60200101906001600160f81b031916908160001a905350602860f81b828260010181518110610c1557fe5b60200101906001600160f81b031916908160001a905350600a840460300160f81b828260020181518110610c4557fe5b60200101906001600160f81b031916908160001a905350600a840660300160f81b828260030181518110610c7557fe5b60200101906001600160f81b031916908160001a905350602960f81b828260040181518110610ca057fe5b60200101906001600160f81b031916908160001a905350818415610d425760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d07578181015183820152602001610cef565b50505050905090810190601f168015610d345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505b5050565b60018054604080516020600284861615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610dcf5780601f10610da457610100808354040283529160200191610dcf565b820191906000526020600020905b815481529060010190602001808311610db257829003601f168201915b505050505081565b336000818152600f602090815260408083206001600160a01b03871680855290835281842086905581518681529151939493909284927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a360019150505b92915050565b6000610e4f34610aa2565b509050610e7f816040518060400160405280600b81526020016a1b5a5b9d0819985a5b195960aa1b815250610b4a565b50565b60085481565b6000805460ff16610ecd576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155610edf61164d565b14610f2a576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b610f338261145b565b90505b6000805460ff19166001179055919050565b600d5481565b6000610f586120b8565b90505b90565b6000805460ff16610fa3576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155610fb93386868661211e565b1490506000805460ff191660011790559392505050565b6004546001600160a01b031681565b60035460ff1681565b6000610ff2613ecc565b6040518060200160405280611005611a8c565b90526001600160a01b0384166000908152600e602052604090205490915061102e9082906123ba565b9150505b919050565b6000610f586123d9565b600181565b60035460009061010090046001600160a01b031633146110735761106c60016029611db4565b9050611032565b600554604080516340e6dcc560e01b815290516001600160a01b03928316928516916340e6dcc5916004808301926020929190829003018186803b1580156110ba57600080fd5b505afa1580156110ce573d6000803e3d6000fd5b505050506040513d60208110156110e457600080fd5b5051611137576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03858116918217909255604080519284168352602083019190915280517f17d6db5ffe5a3d1c3d7a98194dca4f7d808d621e6ff9077ed574513d553a2a859281900390910190a1600061102e565b600b5481565b60006111ab3461240b565b509050610e7f81604051806040016040528060128152602001711c995c185e509bdc9c9bddc819985a5b195960721b815250610b4a565b6006546000906001600160a01b03166315f240536111fe6123d9565b600b54600c546040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561124657600080fd5b505afa15801561125a573d6000803e3d6000fd5b505050506040513d602081101561127057600080fd5b5051905090565b6000805460ff166112bc576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556112ce61164d565b905080156112f4576112ec8160108111156112e557fe5b601d611db4565b915050610f36565b6112fd8361248d565b9150506000805460ff19166001179055919050565b6005546001600160a01b031681565b6001600160a01b03166000908152600e602052604090205490565b6000805460ff16611381576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561139361164d565b146113de576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b50600b546000805460ff1916600117905590565b6000610e3e82612589565b600c5481565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610dcf5780601f10610da457610100808354040283529160200191610dcf565b6000610e3e8261260a565b60035461010090046001600160a01b031633146114b45760405162461bcd60e51b81526004018080602001828103825260248152602001806140216024913960400191505060405180910390fd5b6009541580156114c45750600a54155b6114ff5760405162461bcd60e51b81526004018080602001828103825260238152602001806140776023913960400191505060405180910390fd5b6007849055836115405760405162461bcd60e51b815260040180806020018281038252603081526020018061409a6030913960400191505060405180910390fd5b600061154b87611046565b905080156115a0576040805162461bcd60e51b815260206004820152601960248201527f73657474696e67206a6f6574726f6c6c6572206661696c656400000000000000604482015290519081900360640190fd5b6115a861265f565b600955670de0b6b3a7640000600a556115c086612663565b905080156115ff5760405162461bcd60e51b81526004018080602001828103825260228152602001806140ca6022913960400191505060405180910390fd5b8351611612906001906020870190613edf565b508251611626906002906020860190613edf565b50506003805460ff90921660ff199283161790556000805490911660011790555050505050565b60008061165861265f565b6009549091508082141561167157600092505050610f5b565b600061167b6123d9565b600b54600c54600a54600654604080516315f2405360e01b815260048101879052602481018690526044810185905290519596509394929391926000926001600160a01b03909216916315f24053916064808301926020929190829003018186803b1580156116e957600080fd5b505afa1580156116fd573d6000803e3d6000fd5b505050506040513d602081101561171357600080fd5b5051905065048c27395000811115611772576040805162461bcd60e51b815260206004820152601c60248201527f626f72726f772072617465206973206162737572646c79206869676800000000604482015290519081900360640190fd5b600061177e88886127d8565b9050611788613ecc565b6117a060405180602001604052808581525083612812565b905060006117ae82886123ba565b905060006117bc828961283c565b905060006117db6040518060200160405280600854815250848a612872565b905060006117ea85898a612872565b60098e9055600a819055600b849055600c839055604080518d8152602081018790528082018390526060810186905290519192507f4dec04e750ca11537cabcd8a9eab06494de08da3735bc8871cd41250e190bc04919081900360800190a160009d505050505050505050505050505090565b6000805460ff166118a2576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556118b83333868661211e565b1490506000805460ff1916600117905592915050565b600a5481565b60006118e183348461289a565b50905061191c81604051806040016040528060168152602001751b1a5c5d5a59185d19509bdc9c9bddc819985a5b195960521b815250610b4a565b505050565b6006546000906001600160a01b031663b816881661193d6123d9565b600b54600c546008546040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561124657600080fd5b6000805460ff166119d4576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191690556119ea338585856129cc565b90506000805460ff191660011790559392505050565b60035460009061010090046001600160a01b03163314611a265761106c6001602f611db4565b600480546001600160a01b038481166001600160a01b0319831681179093556040805191909216808252602082019390935281517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9929181900390910190a1600061102e565b6000805460ff16611ad1576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155611ae361164d565b14611b2e576040805162461bcd60e51b81526020600482015260166024820152751858d8dc9d59481a5b9d195c995cdd0819985a5b195960521b604482015290519081900360640190fd5b611b36610f4e565b90506000805460ff1916600117905590565b6001600160a01b0381166000908152600e602052604081205481908190819081611b718761260a565b90506000611b7d6120b8565b90506000989297509095509350915050565b6000610e3e82612bd5565b60095481565b6000610e3e82612c54565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b6004546000906001600160a01b031633141580611bf1575033155b15611c0957611c0260016000611db4565b9050610f5b565b60038054600480546001600160a01b03818116610100818102610100600160a81b0319871617968790556001600160a01b031990931690935560408051948390048216808652929095041660208401528351909391927ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc92908290030190a1600454604080516001600160a01b038085168252909216602083015280517fca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a99281900390910190a160009250505090565b600080611ce461164d565b90508015611d0a57611d02816010811115611cfb57fe5b602a611db4565b915050611032565b61102e83612663565b6006546001600160a01b031681565b60035461010090046001600160a01b031681565b6000805460ff16611d7b576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155611d8d61164d565b90508015611dab576112ec816010811115611da457fe5b6030611db4565b6112fd83612cce565b60007f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0836010811115611de357fe5b83603c811115611def57fe5b604080519283526020830191909152600082820152519081900360600190a1826010811115611e1a57fe5b9392505050565b60055460408051634ef4c3e160e01b81523060048201526001600160a01b03858116602483015260448201859052915160009384938493911691634ef4c3e19160648082019260209290919082900301818787803b158015611e8257600080fd5b505af1158015611e96573d6000803e3d6000fd5b505050506040513d6020811015611eac57600080fd5b505190508015611ed057611ec36003601583612d76565b9250600091506120b19050565b611ed861265f565b60095414611eec57611ec3600a6016611db4565b611ef4613f59565b611efc6120b8565b6040820152611f0b8686612ddc565b60c0820181905260408051602081018252908301518152611f2c9190612e78565b60608201819052600d54611f3f9161283c565b60808201526001600160a01b0386166000908152600e60205260409020546060820151611f6c919061283c565b60a082018190526080820151600d556001600160a01b0387166000818152600e60209081526040918290209390935560c084015160608086015183519485529484019190915282820193909352517f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f929181900390910190a1606081015160408051918252516001600160a01b0388169130916000805160206140ec8339815191529181900360200190a360055460c08201516060830151604080516341c728b960e01b81523060048201526001600160a01b038b81166024830152604482019490945260648101929092525191909216916341c728b991608480830192600092919082900301818387803b15801561208457600080fd5b505af1158015612098573d6000803e3d6000fd5b50600092506120a5915050565b8160c001519350935050505b9250929050565b600d54600090806120cd575050600754610f5b565b60006120d76123d9565b905060006120f26120ea83600b5461283c565b600c546127d8565b9050600061210e82604051806020016040528087815250612e8c565b9450610f5b9350505050565b5090565b600554604080516317b9b84b60e31b81523060048201526001600160a01b03868116602483015285811660448301526064820185905291516000938493169163bdcdc25891608480830192602092919082900301818787803b15801561218357600080fd5b505af1158015612197573d6000803e3d6000fd5b505050506040513d60208110156121ad57600080fd5b5051905080156121cc576121c46003603483612d76565b9150506123b2565b836001600160a01b0316856001600160a01b031614156121f2576121c460026035611db4565b60006001600160a01b0387811690871614156122115750600019612239565b506001600160a01b038086166000908152600f60209081526040808320938a16835292905220545b600061224582866127d8565b6001600160a01b0388166000908152600e60205260408120549192509061226c90876127d8565b6001600160a01b0388166000908152600e602052604081205491925090612293908861283c565b6001600160a01b03808b166000908152600e6020526040808220869055918b16815220819055905060001984146122ed576001600160a01b03808a166000908152600f60209081526040808320938e168352929052208390555b876001600160a01b0316896001600160a01b03166000805160206140ec833981519152896040518082815260200191505060405180910390a36005546040805163352b4a3f60e11b81523060048201526001600160a01b038c811660248301528b81166044830152606482018b905291519190921691636a56947e91608480830192600092919082900301818387803b15801561238957600080fd5b505af115801561239d573d6000803e3d6000fd5b50600092506123aa915050565b955050505050505b949350505050565b60006123c4613ecc565b6123ce8484612812565b90506123b281612eaa565b60008060006123e84734612eb9565b909250905060008260038111156123fb57fe5b1461240557600080fd5b91505090565b60008054819060ff16612452576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff1916815561246461164d565b9050801561248257610b1981601081111561247b57fe5b6023611db4565b610b30333386612edc565b600354600090819061010090046001600160a01b031633146124b557611d026001601e611db4565b6124bd61265f565b600954146124d157611d02600a6020611db4565b826124da6123d9565b10156124ec57611d02600e601f611db4565b600c5483111561250257611d0260026021611db4565b61250e600c54846127d8565b600c8190556003549091506125319061010090046001600160a01b031684613184565b600354604080516101009092046001600160a01b0316825260208201859052818101839052517f3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e916060908290030190a1600061102e565b6000805460ff166125ce576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556125e061164d565b905080156125fe576112ec8160108111156125f757fe5b6019611db4565b6112fd336000856131ba565b6001600160a01b03811660009081526010602052604081208054612632576000915050611032565b60006126448260000154600a546134e9565b9050600061265682846001015461352b565b95945050505050565b4290565b600354600090819061010090046001600160a01b0316331461268b57611d026001602c611db4565b61269361265f565b600954146126a757611d02600a602b611db4565b600660009054906101000a90046001600160a01b03169050826001600160a01b0316632191f92a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156126f857600080fd5b505afa15801561270c573d6000803e3d6000fd5b505050506040513d602081101561272257600080fd5b5051612775576040805162461bcd60e51b815260206004820152601c60248201527f6d61726b6572206d6574686f642072657475726e65642066616c736500000000604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b03858116918217909255604080519284168352602083019190915280517fedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f9269281900390910190a1600061102e565b6000611e1a8383604051806040016040528060158152602001747375627472616374696f6e20756e646572666c6f7760581b81525061355e565b61281a613ecc565b60405180602001604052806128338560000151856134e9565b90529392505050565b6000611e1a8383604051806040016040528060118152602001706164646974696f6e206f766572666c6f7760781b8152506135b8565b600061287c613ecc565b6128868585612812565b905061265661289482612eaa565b8461283c565b60008054819060ff166128e1576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff191681556128f361164d565b9050801561291e5761291181601081111561290a57fe5b6007611db4565b9250600091506129b59050565b836001600160a01b031663a6afed956040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561295957600080fd5b505af115801561296d573d6000803e3d6000fd5b505050506040513d602081101561298357600080fd5b5051905080156129a35761291181601081111561299c57fe5b6008611db4565b6129af33878787613616565b92509250505b6000805460ff191660011790559094909350915050565b6005546040805163d02f735160e01b81523060048201526001600160a01b038781166024830152868116604483015285811660648301526084820185905291516000938493169163d02f73519160a480830192602092919082900301818787803b158015612a3957600080fd5b505af1158015612a4d573d6000803e3d6000fd5b505050506040513d6020811015612a6357600080fd5b505190508015612a7a576121c46003601183612d76565b846001600160a01b0316846001600160a01b03161415612aa0576121c460066012611db4565b6001600160a01b0384166000908152600e6020526040812054612ac390856127d8565b6001600160a01b0387166000908152600e602052604081205491925090612aea908661283c565b6001600160a01b038088166000818152600e60209081526040808320889055938c168083529184902085905583518a81529351949550909391926000805160206140ec833981519152929081900390910190a360055460408051636d35bf9160e01b81523060048201526001600160a01b038b811660248301528a8116604483015289811660648301526084820189905291519190921691636d35bf919160a480830192600092919082900301818387803b158015612ba857600080fd5b505af1158015612bbc573d6000803e3d6000fd5b5060009250612bc9915050565b98975050505050505050565b6000805460ff16612c1a576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155612c2c61164d565b90508015612c4a576112ec816010811115612c4357fe5b6002611db4565b6112fd3384613b99565b6000805460ff16612c99576040805162461bcd60e51b815260206004820152600a6024820152691c994b595b9d195c995960b21b604482015290519081900360640190fd5b6000805460ff19168155612cab61164d565b90508015612cc2576112ec8160108111156125f757fe5b6112fd338460006131ba565b60035460009061010090046001600160a01b03163314612cf45761106c60016031611db4565b612cfc61265f565b60095414612d105761106c600a6032611db4565b670de0b6b3a7640000821115612d2c5761106c60026033611db4565b6008805490839055604080518281526020810185905281517faaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460929181900390910190a1600061102e565b60007f45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0846010811115612da557fe5b84603c811115612db157fe5b604080519283526020830191909152818101859052519081900360600190a18360108111156123b257fe5b6000336001600160a01b03841614612e2d576040805162461bcd60e51b815260206004820152600f60248201526e0e6cadcc8cae440dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b813414612e72576040805162461bcd60e51b815260206004820152600e60248201526d0ecc2d8eaca40dad2e6dac2e8c6d60931b604482015290519081900360640190fd5b50919050565b6000612e82613ecc565b6123ce8484613db7565b6000611e1a612ea384670de0b6b3a76400006134e9565b835161352b565b51670de0b6b3a7640000900490565b600080838311612ed05750600090508183036120b1565b506003905060006120b1565b60055460408051631200453160e11b81523060048201526001600160a01b0386811660248301528581166044830152606482018590529151600093849384939116916324008a629160848082019260209290919082900301818787803b158015612f4557600080fd5b505af1158015612f59573d6000803e3d6000fd5b505050506040513d6020811015612f6f57600080fd5b505190508015612f9357612f866003602483612d76565b92506000915061317c9050565b612f9b61265f565b60095414612faf57612f86600a6025611db4565b612fb7613f97565b6001600160a01b0386166000908152601060205260409020600101546060820152612fe18661260a565b6080820152600019851415612fff5760808101516040820152613007565b604081018590525b613015878260400151612ddc565b60e08201819052608082015161302a916127d8565b60a0820152600b5460e082015161304191906127d8565b60c0820190815260a080830180516001600160a01b03808b16600081815260106020908152604091829020948555600a546001909501949094559551600b81905560e088015194518751938f16845293830191909152818601939093526060810191909152608081019190915291517f1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a19281900390910190a160055460e0820151606083015160408051631ededc9160e01b81523060048201526001600160a01b038c811660248301528b8116604483015260648201949094526084810192909252519190921691631ededc919160a480830192600092919082900301818387803b15801561314f57600080fd5b505af1158015613163573d6000803e3d6000fd5b5060009250613170915050565b8160e001519350935050505b935093915050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561191c573d6000803e3d6000fd5b60008215806131c7575081155b6132025760405162461bcd60e51b815260040180806020018281038252603481526020018061410c6034913960400191505060405180910390fd5b61320a613f59565b6132126120b8565b6040820152831561324857606081018490526040805160208101825290820151815261323e90856123ba565b6080820152613271565b6132648360405180602001604052808460400151815250612e78565b6060820152608081018390525b60055460608201516040805163eabe7d9160e01b81523060048201526001600160a01b03898116602483015260448201939093529051600093929092169163eabe7d919160648082019260209290919082900301818787803b1580156132d657600080fd5b505af11580156132ea573d6000803e3d6000fd5b505050506040513d602081101561330057600080fd5b505190508015613320576133176003601a83612d76565b92505050611e1a565b61332861265f565b6009541461333c57613317600a601b611db4565b61334c600d5483606001516127d8565b60a08301526001600160a01b0386166000908152600e6020526040902054606083015161337991906127d8565b60c0830152608082015161338b6123d9565b101561339d57613317600e601c611db4565b6133ab868360800151613184565b60a0820151600d5560c08201516001600160a01b0387166000818152600e60209081526040918290209390935560608501518151908152905130936000805160206140ec833981519152928290030190a36080820151606080840151604080516001600160a01b038b168152602081019490945283810191909152517fe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a9299281900390910190a160055460808301516060840151604080516351dff98960e01b81523060048201526001600160a01b038b81166024830152604482019490945260648101929092525191909216916351dff98991608480830192600092919082900301818387803b1580156134be57600080fd5b505af11580156134d2573d6000803e3d6000fd5b50600092506134df915050565b9695505050505050565b6000611e1a83836040518060400160405280601781526020017f6d756c7469706c69636174696f6e206f766572666c6f77000000000000000000815250613df4565b6000611e1a83836040518060400160405280600e81526020016d646976696465206279207a65726f60901b815250613e6a565b600081848411156135b05760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d07578181015183820152602001610cef565b505050900390565b6000838301828582101561360d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d07578181015183820152602001610cef565b50949350505050565b60055460408051632fe3f38f60e11b81523060048201526001600160a01b0384811660248301528781166044830152868116606483015260848201869052915160009384938493911691635fc7e71e9160a48082019260209290919082900301818787803b15801561368757600080fd5b505af115801561369b573d6000803e3d6000fd5b505050506040513d60208110156136b157600080fd5b5051905080156136d5576136c86003600a83612d76565b925060009150613b909050565b6136dd61265f565b600954146136f1576136c8600a600e611db4565b6136f961265f565b846001600160a01b031663cfa992016040518163ffffffff1660e01b815260040160206040518083038186803b15801561373257600080fd5b505afa158015613746573d6000803e3d6000fd5b505050506040513d602081101561375c57600080fd5b50511461376f576136c8600a6009611db4565b866001600160a01b0316866001600160a01b03161415613795576136c86006600f611db4565b846137a6576136c86007600d611db4565b6000198514156137bc576136c86007600c611db4565b6000806137ca898989612edc565b909250905081156137fa576137eb8260108111156137e457fe5b6010611db4565b945060009350613b9092505050565b6005546040805163c488847b60e01b81523060048201526001600160a01b038981166024830152604482018590528251600094859492169263c488847b926064808301939192829003018186803b15801561385457600080fd5b505afa158015613868573d6000803e3d6000fd5b505050506040513d604081101561387e57600080fd5b508051602090910151909250905081156138c95760405162461bcd60e51b81526004018080602001828103825260328152602001806140456032913960400191505060405180910390fd5b80886001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561392057600080fd5b505afa158015613934573d6000803e3d6000fd5b505050506040513d602081101561394a57600080fd5b5051101561399f576040805162461bcd60e51b815260206004820152601860248201527f4c49515549444154455f5345495a455f544f4f5f4d5543480000000000000000604482015290519081900360640190fd5b60006001600160a01b0389163014156139c5576139be308d8d856129cc565b9050613a4f565b6040805163b2a02ff160e01b81526001600160a01b038e811660048301528d81166024830152604482018590529151918b169163b2a02ff1916064808201926020929091908290030181600087803b158015613a2057600080fd5b505af1158015613a34573d6000803e3d6000fd5b505050506040513d6020811015613a4a57600080fd5b505190505b8015613a99576040805162461bcd60e51b81526020600482015260146024820152731d1bdad95b881cd95a5e9d5c994819985a5b195960621b604482015290519081900360640190fd5b604080516001600160a01b03808f168252808e1660208301528183018790528b1660608201526080810184905290517f298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb529181900360a00190a1600554604080516347ef3b3b60e01b81523060048201526001600160a01b038c811660248301528f811660448301528e811660648301526084820188905260a48201869052915191909216916347ef3b3b9160c480830192600092919082900301818387803b158015613b6457600080fd5b505af1158015613b78573d6000803e3d6000fd5b5060009250613b85915050565b975092955050505050505b94509492505050565b6005546040805163368f515360e21b81523060048201526001600160a01b0385811660248301526044820185905291516000938493169163da3d454c91606480830192602092919082900301818787803b158015613bf657600080fd5b505af1158015613c0a573d6000803e3d6000fd5b505050506040513d6020811015613c2057600080fd5b505190508015613c3f57613c376003600683612d76565b915050610e3e565b613c4761265f565b60095414613c5b57613c37600a6004611db4565b82613c646123d9565b1015613c7657613c37600e6003611db4565b613c7e613fdd565b613c878561260a565b60208201819052613c98908561283c565b6040820152600b54613caa908561283c565b6060820152613cb98585613184565b604080820180516001600160a01b03881660008181526010602090815290859020928355600a54600190930192909255606080860151600b81905593518551928352928201899052818501929092529081019190915290517f13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab809181900360800190a160055460408051635c77860560e01b81523060048201526001600160a01b0388811660248301526044820188905291519190921691635c77860591606480830192600092919082900301818387803b158015613d9657600080fd5b505af1158015613daa573d6000803e3d6000fd5b5060009250612656915050565b613dbf613ecc565b6000613dd3670de0b6b3a7640000856134e9565b90506040518060200160405280613dea8386612e8c565b9052949350505050565b6000831580613e01575082155b15613e0e57506000611e1a565b83830283858281613e1b57fe5b0414839061360d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d07578181015183820152602001610cef565b60008183613eb95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d07578181015183820152602001610cef565b50828481613ec357fe5b04949350505050565b6040518060200160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613f2057805160ff1916838001178555613f4d565b82800160010185558215613f4d579182015b82811115613f4d578251825591602001919060010190613f32565b5061211a929150614006565b6040805160e0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805161010081019091528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604080516080810190915280600081526020016000815260200160008152602001600081525090565b610f5b91905b8082111561211a576000815560010161400c56fe6f6e6c792061646d696e206d617920696e697469616c697a6520746865206d61726b65744c49515549444154455f4a4f4554524f4c4c45525f43414c43554c4154455f414d4f554e545f5345495a455f4641494c45446d61726b6574206d6179206f6e6c7920626520696e697469616c697a6564206f6e6365696e697469616c2065786368616e67652072617465206d7573742062652067726561746572207468616e207a65726f2e73657474696e6720696e7465726573742072617465206d6f64656c206661696c6564ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6f6e65206f662072656465656d546f6b656e73496e206f722072656465656d416d6f756e74496e206d757374206265207a65726fa265627a7a723158205ddffbf4e2702c466faf440db60954231d926ac8469443ca1f275ad223b5502e64736f6c63430005100032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
