{
  "_format": "hh-sol-artifact-1",
  "contractName": "ArtistV3",
  "sourceName": "contracts/ArtistV3.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "approved",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "ApprovalForAll",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "enum ArtistV3.TimeType",
          "name": "timeType",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "editionId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "uint32",
          "name": "newTime",
          "type": "uint32"
        }
      ],
      "name": "AuctionTimeSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "editionId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "fundingRecipient",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "price",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "quantity",
          "type": "uint32"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "royaltyBPS",
          "type": "uint32"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "startTime",
          "type": "uint32"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "endTime",
          "type": "uint32"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "permissionedQuantity",
          "type": "uint32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "signerAddress",
          "type": "address"
        }
      ],
      "name": "EditionCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "editionId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "numSold",
          "type": "uint32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "buyer",
          "type": "address"
        }
      ],
      "name": "EditionPurchased",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "editionId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "permissionedQuantity",
          "type": "uint32"
        }
      ],
      "name": "PermissionedQuantitySet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "editionId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "signerAddress",
          "type": "address"
        }
      ],
      "name": "SignerAddressSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_editionId",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "_signature",
          "type": "bytes"
        }
      ],
      "name": "buyEdition",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "contractURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address payable",
          "name": "_fundingRecipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_price",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "_quantity",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "_royaltyBPS",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "_startTime",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "_endTime",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "_permissionedQuantity",
          "type": "uint32"
        },
        {
          "internalType": "address",
          "name": "_signerAddress",
          "type": "address"
        }
      ],
      "name": "createEdition",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "depositedForEdition",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "editionCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "editions",
      "outputs": [
        {
          "internalType": "address payable",
          "name": "fundingRecipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "price",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "numSold",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "quantity",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "royaltyBPS",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "startTime",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "endTime",
          "type": "uint32"
        },
        {
          "internalType": "uint32",
          "name": "permissionedQuantity",
          "type": "uint32"
        },
        {
          "internalType": "address",
          "name": "signerAddress",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "getApproved",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_artistId",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "_name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "_symbol",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "_baseURI",
          "type": "string"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "isApprovedForAll",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ownerOf",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_tokenIds",
          "type": "uint256[]"
        }
      ],
      "name": "ownersOfTokenIds",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_tokenId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_salePrice",
          "type": "uint256"
        }
      ],
      "name": "royaltyInfo",
      "outputs": [
        {
          "internalType": "address",
          "name": "fundingRecipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "royaltyAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "safeTransferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "safeTransferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "setApprovalForAll",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_editionId",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "_endTime",
          "type": "uint32"
        }
      ],
      "name": "setEndTime",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_editionId",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "_permissionedQuantity",
          "type": "uint32"
        }
      ],
      "name": "setPermissionedQuantity",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_editionId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_newSignerAddress",
          "type": "address"
        }
      ],
      "name": "setSignerAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_editionId",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "_startTime",
          "type": "uint32"
        }
      ],
      "name": "setStartTime",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "_interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_tokenId",
          "type": "uint256"
        }
      ],
      "name": "tokenToEdition",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_tokenId",
          "type": "uint256"
        }
      ],
      "name": "tokenURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_editionId",
          "type": "uint256"
        }
      ],
      "name": "withdrawFunds",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "withdrawnForEdition",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b50604080517fc49a8e302e3e5d6753b2bb3dbc3c28deba5e16e2572a92aef568063c963e34656020820152469181019190915260600160408051601f1981840301815291905280516020909101206080526080516133ad61007c600039600061214f01526133ad6000f3fe6080604052600436106101ee5760003560e01c806370a082311161010d578063b88d4fde116100a0578063e1a3d5731161006f578063e1a3d57314610676578063e8a3d485146106a3578063e985e9c5146106b8578063f2fde38b14610701578063fbab9e041461072157600080fd5b8063b88d4fde146105e9578063bb314ca114610609578063c87b56dd14610629578063d3bb05281461064957600080fd5b806395d89b41116100dc57806395d89b4114610581578063a22cb46514610596578063abccf3dd146105b6578063abfc83a0146105c957600080fd5b806370a082311461050e578063715018a61461052e57806373aaf879146105435780638da5cb5b1461056357600080fd5b80632a55205a1161018557806352f5c2e41161015457806352f5c2e41461048157806356dee996146104ae578063602787ed146104ce5780636352211e146104ee57600080fd5b80632a55205a146103ed57806342842e0e1461042c5780634bf440261461044c57806352e25bf21461046157600080fd5b8063155dd5ee116101c1578063155dd5ee146102a457806318160ddd146102c457806323b872dd146102e7578063279c806e1461030757600080fd5b806301ffc9a7146101f357806306fdde0314610228578063081812fc1461024a578063095ea7b314610282575b600080fd5b3480156101ff57600080fd5b5061021361020e3660046129c5565b610741565b60405190151581526020015b60405180910390f35b34801561023457600080fd5b5061023d61076c565b60405161021f9190612a41565b34801561025657600080fd5b5061026a610265366004612a54565b6107fe565b6040516001600160a01b03909116815260200161021f565b34801561028e57600080fd5b506102a261029d366004612a82565b610825565b005b3480156102b057600080fd5b506102a26102bf366004612a54565b61093f565b3480156102d057600080fd5b506102d961099f565b60405190815260200161021f565b3480156102f357600080fd5b506102a2610302366004612aae565b6109eb565b34801561031357600080fd5b5061038f610322366004612a54565b60cc6020526000908152604090208054600182015460028301546003909301546001600160a01b0392831693919263ffffffff808416936401000000008104821693600160401b8204831693600160601b8304841693600160801b8404811693600160a01b900416911689565b604080516001600160a01b039a8b168152602081019990995263ffffffff978816908901529486166060880152928516608087015290841660a0860152831660c085015290911660e08301529091166101008201526101200161021f565b3480156103f957600080fd5b5061040d610408366004612aef565b610a1c565b604080516001600160a01b03909316835260208301919091520161021f565b34801561043857600080fd5b506102a2610447366004612aae565b610b18565b34801561045857600080fd5b506102d9610b33565b34801561046d57600080fd5b506102a261047c366004612b2a565b610b4f565b34801561048d57600080fd5b506104a161049c366004612b56565b610cb2565b60405161021f9190612bcb565b3480156104ba57600080fd5b506102a26104c9366004612c18565b610d6b565b3480156104da57600080fd5b506102d96104e9366004612a54565b610e2f565b3480156104fa57600080fd5b5061026a610509366004612a54565b610e51565b34801561051a57600080fd5b506102d9610529366004612c48565b610eb1565b34801561053a57600080fd5b506102a2610f37565b34801561054f57600080fd5b506102a261055e366004612c65565b610f4b565b34801561056f57600080fd5b506097546001600160a01b031661026a565b34801561058d57600080fd5b5061023d611354565b3480156105a257600080fd5b506102a26105b1366004612cfb565b611363565b6102a26105c4366004612d2e565b61136e565b3480156105d557600080fd5b506102a26105e4366004612e56565b611733565b3480156105f557600080fd5b506102a2610604366004612efb565b6118aa565b34801561061557600080fd5b506102a2610624366004612b2a565b6118e2565b34801561063557600080fd5b5061023d610644366004612a54565b611951565b34801561065557600080fd5b506102d9610664366004612a54565b60cf6020526000908152604090205481565b34801561068257600080fd5b506102d9610691366004612a54565b60ce6020526000908152604090205481565b3480156106af57600080fd5b5061023d611a1a565b3480156106c457600080fd5b506102136106d3366004612f7b565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561070d57600080fd5b506102a261071c366004612c48565b611a42565b34801561072d57600080fd5b506102a261073c366004612b2a565b611abb565b600063152a902d60e11b6001600160e01b031983161480610766575061076682611b29565b92915050565b60606065805461077b90612fa9565b80601f01602080910402602001604051908101604052809291908181526020018280546107a790612fa9565b80156107f45780601f106107c9576101008083540402835291602001916107f4565b820191906000526020600020905b8154815290600101906020018083116107d757829003601f168201915b5050505050905090565b600061080982611b79565b506000908152606960205260409020546001600160a01b031690565b600061083082610e51565b9050806001600160a01b0316836001600160a01b0316036108a25760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806108be57506108be81336106d3565b6109305760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610899565b61093a8383611bd8565b505050565b600081815260cf602090815260408083205460ce9092528220546109639190612ff3565b600083815260ce602090815260408083205460cf83528184205560cc90915290205490915061099b906001600160a01b031682611c46565b5050565b60008060015b60cb548110156109e557600081815260cc60205260409020600201546109d19063ffffffff168361300a565b9150806109dd81613022565b9150506109a5565b50919050565b6109f53382611d53565b610a115760405162461bcd60e51b81526004016108999061303b565b61093a838383611dd2565b6000806000610a2a85610e2f565b600081815260cc602090815260409182902082516101208101845281546001600160a01b03908116808352600184015494830194909452600283015463ffffffff80821696840196909652640100000000810486166060840152600160401b810486166080840152600160601b8104861660a0840152600160801b8104861660c0840152600160a01b900490941660e082015260039091015490921661010083015291925090610ae25751925060009150610b119050565b6080810151815163ffffffff90911690612710610aff8389613089565b610b0991906130a8565b945094505050505b9250929050565b61093a838383604051806020016040528060008152506118aa565b60006001610b4060cb5490565b610b4a9190612ff3565b905090565b610b57611f6e565b600082815260cc6020526040902060020154610b8290640100000000900463ffffffff1660016130ca565b63ffffffff168163ffffffff1610610bdc5760405162461bcd60e51b815260206004820152601860248201527f4d757374206e6f7420657863656564207175616e7469747900000000000000006044820152606401610899565b600082815260cc60205260409020600301546001600160a01b0316610c435760405162461bcd60e51b815260206004820152601a60248201527f45646974696f6e206d75737420686176652061207369676e65720000000000006044820152606401610899565b600082815260cc6020908152604091829020600201805463ffffffff60a01b1916600160a01b63ffffffff8616908102919091179091558251858152918201527f1de856603e1e748b6f6726e7a51520fe7c63e9b801b8e4b2f8de1a02ae0a8dae910160405180910390a15050565b606060008267ffffffffffffffff811115610ccf57610ccf612daa565b604051908082528060200260200182016040528015610cf8578160200160208202803683370190505b50905060005b83811015610d6357610d27858583818110610d1b57610d1b6130f2565b90506020020135610e51565b828281518110610d3957610d396130f2565b6001600160a01b039092166020928302919091019091015280610d5b81613022565b915050610cfe565b509392505050565b610d73611f6e565b6001600160a01b038116610dc95760405162461bcd60e51b815260206004820152601a60248201527f5369676e657220616464726573732063616e6e6f7420626520300000000000006044820152606401610899565b600082815260cc602090815260409182902060030180546001600160a01b0319166001600160a01b03851690811790915591518481527f73b6ab337f7463563f035a0b9f885872e16ad1b5043b679cdf802cfcbaa3a53491015b60405180910390a25050565b6000608082901c808203610766575050600090815260cd602052604090205490565b6000818152606760205260408120546001600160a01b0316806107665760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610899565b60006001600160a01b038216610f1b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610899565b506001600160a01b031660009081526068602052604090205490565b610f3f611f6e565b610f496000611fc8565b565b610f53611f6e565b610f5e8660016130ca565b63ffffffff168263ffffffff1610610fb85760405162461bcd60e51b815260206004820152601d60248201527f5065726d697373696f6e6564207175616e7469747920746f6f206269670000006044820152606401610899565b60008663ffffffff16116110025760405162461bcd60e51b81526020600482015260116024820152704d75737420736574207175616e7469747960781b6044820152606401610899565b6001600160a01b0388166110585760405162461bcd60e51b815260206004820152601960248201527f4d757374207365742066756e64696e67526563697069656e74000000000000006044820152606401610899565b8363ffffffff168363ffffffff16116110c45760405162461bcd60e51b815260206004820152602860248201527f456e642074696d65206d7573742062652067726561746572207468616e2073746044820152676172742074696d6560c01b6064820152608401610899565b63ffffffff821615611126576001600160a01b0381166111265760405162461bcd60e51b815260206004820152601a60248201527f5369676e657220616464726573732063616e6e6f7420626520300000000000006044820152606401610899565b604051806101200160405280896001600160a01b03168152602001888152602001600063ffffffff1681526020018763ffffffff1681526020018663ffffffff1681526020018563ffffffff1681526020018463ffffffff1681526020018363ffffffff168152602001826001600160a01b031681525060cc60006111aa60cb5490565b81526020808201929092526040908101600020835181546001600160a01b03199081166001600160a01b03928316178355938501516001830155918401516002820180546060870151608088015160a089015160c08a015160e08b015163ffffffff97881667ffffffffffffffff199096169590951764010000000094881694909402939093176fffffffffffffffff00000000000000001916600160401b9287169290920263ffffffff60601b191691909117600160601b918616919091021767ffffffffffffffff60801b1916600160801b9185169190910263ffffffff60a01b191617600160a01b93909116929092029190911790556101009093015160039093018054909216921691909117905560cb54604080516001600160a01b03808c168252602082018b905263ffffffff808b16938301939093528289166060830152828816608083015282871660a083015291851660c082015290831660e08201527fb56f9ba6a8af17a142f8ad372c6fc283e81d8c6193b86afe7f6ca901acd698f3906101000160405180910390a261134a60cb80546001019055565b5050505050505050565b60606066805461077b90612fa9565b61099b33838361201a565b600083815260cc60205260409020600181015460029091015463ffffffff640100000000820481169181811691600160601b8204811691600160801b8104821691600160a01b90910416846113fe5760405162461bcd60e51b815260206004820152601660248201527511591a5d1a5bdb88191bd95cc81b9bdd08195e1a5cdd60521b6044820152606401610899565b8463ffffffff168463ffffffff16106114635760405162461bcd60e51b815260206004820152602160248201527f546869732065646974696f6e20697320616c726561647920736f6c64206f75746044820152601760f91b6064820152608401610899565b853410156114c55760405162461bcd60e51b815260206004820152602960248201527f4d7573742073656e6420656e6f75676820746f207075726368617365207468656044820152681032b234ba34b7b71760b91b6064820152608401610899565b428363ffffffff1611156115d35760008163ffffffff161180156114f457508063ffffffff168463ffffffff16105b6115665760405162461bcd60e51b815260206004820152603b60248201527f4e6f207065726d697373696f6e656420746f6b656e7320617661696c61626c6560448201527f2026206f70656e2061756374696f6e206e6f74207374617274656400000000006064820152608401610899565b600089815260cc60205260409020600301546001600160a01b031661158c89898c6120e8565b6001600160a01b0316146115d35760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b4b3b732b960911b6044820152606401610899565b428263ffffffff161161161c5760405162461bcd60e51b8152602060048201526011602482015270105d58dd1a5bdb881a185cc8195b991959607a1b6044820152606401610899565b600089815260cc60205260409020600201805463ffffffff191663ffffffff600187011690811790915560808a901b1761165e6097546001600160a01b031690565b60008b815260cc60205260409020546001600160a01b039182169116036116a85760008a815260ce60205260408120805434929061169d90849061300a565b909155506116ca9050565b60008a815260cc60205260409020546116ca906001600160a01b031634611c46565b6116d433826121e7565b60008a815260cc602090815260409182902060020154915163ffffffff9092168252339183918d917fe38cb07a52e5d88a83de7c9d29c2841118103e462d20f8c526b35872f9977785910160405180910390a450505050505050505050565b600054610100900460ff16158080156117535750600054600160ff909116105b8061176d5750303b15801561176d575060005460ff166001145b6117d05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610899565b6000805460ff1916600117905580156117f3576000805461ff0019166101001790555b6117fd8484612329565b61180561235a565b61180e86611a42565b8161181886612389565b604051602001611829929190613108565b60405160208183030381529060405260c9908051906020019061184d929190612916565b5061185c60cb80546001019055565b80156118a2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6118b43383611d53565b6118d05760405162461bcd60e51b81526004016108999061303b565b6118dc84848484612401565b50505050565b6118ea611f6e565b600082815260cc602052604090819020600201805463ffffffff60801b1916600160801b63ffffffff85169081029190911790915590517f494264d1227744d2d86690c5355813b007a13955626b261c2e02901a73f6f90c90610e23906001908690613159565b6000818152606760205260409020546060906001600160a01b03166119d05760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610899565b60006119db83610e2f565b905060c96119e882612389565b6119f185612389565b604051602001611a039392919061321e565b604051602081830303815290604052915050919050565b606060c9604051602001611a2e9190613264565b604051602081830303815290604052905090565b611a4a611f6e565b6001600160a01b038116611aaf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610899565b611ab881611fc8565b50565b611ac3611f6e565b600082815260cc6020526040808220600201805463ffffffff60601b1916600160601b63ffffffff861690810291909117909155905190917f494264d1227744d2d86690c5355813b007a13955626b261c2e02901a73f6f90c91610e2391908690613159565b60006001600160e01b031982166380ac58cd60e01b1480611b5a57506001600160e01b03198216635b5e139f60e01b145b8061076657506301ffc9a760e01b6001600160e01b0319831614610766565b6000818152606760205260409020546001600160a01b0316611ab85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610899565b600081815260696020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611c0d82610e51565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b80471015611c965760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e742062616c616e636520666f722073656e640000006044820152606401610899565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611ce3576040519150601f19603f3d011682016040523d82523d6000602084013e611ce8565b606091505b505090508061093a5760405162461bcd60e51b815260206004820152603160248201527f556e61626c6520746f2073656e642076616c75653a20726563697069656e74206044820152701b585e481a185d99481c995d995c9d1959607a1b6064820152608401610899565b600080611d5f83610e51565b9050806001600160a01b0316846001600160a01b03161480611da657506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b80611dca5750836001600160a01b0316611dbf846107fe565b6001600160a01b0316145b949350505050565b826001600160a01b0316611de582610e51565b6001600160a01b031614611e495760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610899565b6001600160a01b038216611eab5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610899565b611eb6600082611bd8565b6001600160a01b0383166000908152606860205260408120805460019290611edf908490612ff3565b90915550506001600160a01b0382166000908152606860205260408120805460019290611f0d90849061300a565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6097546001600160a01b03163314610f495760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610899565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03160361207b5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610899565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b604080517fb0b05fba96c122a3db5d352971bb77a4e982b43f6b3a779beb0dcce9d261d045602080830191909152308284015233606083015260808083018590528351808403909101815260a08301909352825192019190912061190160f01b60c08301527f000000000000000000000000000000000000000000000000000000000000000060c283015260e282015260009081906101020160405160208183030381529060405280519060200120905060006121dd86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506124349050565b9695505050505050565b6001600160a01b03821661223d5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610899565b6000818152606760205260409020546001600160a01b0316156122a25760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610899565b6001600160a01b03821660009081526068602052604081208054600192906122cb90849061300a565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600054610100900460ff166123505760405162461bcd60e51b81526004016108999061328a565b61099b8282612450565b600054610100900460ff166123815760405162461bcd60e51b81526004016108999061328a565b610f4961249e565b6060816000036123b05750506040805180820190915260018152600360fc1b602082015290565b60408051604e8082526080820190925290602082018180368337019050509050604e5b82156123f257600a8084066030018284015290920491600019016123d3565b604e8190039101908152919050565b61240c848484611dd2565b612418848484846124ce565b6118dc5760405162461bcd60e51b8152600401610899906132d5565b600080600061244385856125cf565b91509150610d638161263a565b600054610100900460ff166124775760405162461bcd60e51b81526004016108999061328a565b815161248a906065906020850190612916565b50805161093a906066906020840190612916565b600054610100900460ff166124c55760405162461bcd60e51b81526004016108999061328a565b610f4933611fc8565b60006001600160a01b0384163b156125c457604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612512903390899088908890600401613327565b6020604051808303816000875af192505050801561254d575060408051601f3d908101601f1916820190925261254a9181019061335a565b60015b6125aa573d80801561257b576040519150601f19603f3d011682016040523d82523d6000602084013e612580565b606091505b5080516000036125a25760405162461bcd60e51b8152600401610899906132d5565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611dca565b506001949350505050565b60008082516041036126055760208301516040840151606085015160001a6125f9878285856127f0565b94509450505050610b11565b825160400361262e57602083015160408401516126238683836128dd565b935093505050610b11565b50600090506002610b11565b600081600481111561264e5761264e613143565b036126565750565b600181600481111561266a5761266a613143565b036126b75760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610899565b60028160048111156126cb576126cb613143565b036127185760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610899565b600381600481111561272c5761272c613143565b036127845760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610899565b600481600481111561279857612798613143565b03611ab85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610899565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561282757506000905060036128d4565b8460ff16601b1415801561283f57508460ff16601c14155b1561285057506000905060046128d4565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156128a4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166128cd576000600192509250506128d4565b9150600090505b94509492505050565b6000806001600160ff1b038316816128fa60ff86901c601b61300a565b9050612908878288856127f0565b935093505050935093915050565b82805461292290612fa9565b90600052602060002090601f016020900481019282612944576000855561298a565b82601f1061295d57805160ff191683800117855561298a565b8280016001018555821561298a579182015b8281111561298a57825182559160200191906001019061296f565b5061299692915061299a565b5090565b5b80821115612996576000815560010161299b565b6001600160e01b031981168114611ab857600080fd5b6000602082840312156129d757600080fd5b81356129e2816129af565b9392505050565b60005b83811015612a045781810151838201526020016129ec565b838111156118dc5750506000910152565b60008151808452612a2d8160208601602086016129e9565b601f01601f19169290920160200192915050565b6020815260006129e26020830184612a15565b600060208284031215612a6657600080fd5b5035919050565b6001600160a01b0381168114611ab857600080fd5b60008060408385031215612a9557600080fd5b8235612aa081612a6d565b946020939093013593505050565b600080600060608486031215612ac357600080fd5b8335612ace81612a6d565b92506020840135612ade81612a6d565b929592945050506040919091013590565b60008060408385031215612b0257600080fd5b50508035926020909101359150565b803563ffffffff81168114612b2557600080fd5b919050565b60008060408385031215612b3d57600080fd5b82359150612b4d60208401612b11565b90509250929050565b60008060208385031215612b6957600080fd5b823567ffffffffffffffff80821115612b8157600080fd5b818501915085601f830112612b9557600080fd5b813581811115612ba457600080fd5b8660208260051b8501011115612bb957600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b81811015612c0c5783516001600160a01b031683529284019291840191600101612be7565b50909695505050505050565b60008060408385031215612c2b57600080fd5b823591506020830135612c3d81612a6d565b809150509250929050565b600060208284031215612c5a57600080fd5b81356129e281612a6d565b600080600080600080600080610100898b031215612c8257600080fd5b8835612c8d81612a6d565b975060208901359650612ca260408a01612b11565b9550612cb060608a01612b11565b9450612cbe60808a01612b11565b9350612ccc60a08a01612b11565b9250612cda60c08a01612b11565b915060e0890135612cea81612a6d565b809150509295985092959890939650565b60008060408385031215612d0e57600080fd5b8235612d1981612a6d565b915060208301358015158114612c3d57600080fd5b600080600060408486031215612d4357600080fd5b83359250602084013567ffffffffffffffff80821115612d6257600080fd5b818601915086601f830112612d7657600080fd5b813581811115612d8557600080fd5b876020828501011115612d9757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612ddb57612ddb612daa565b604051601f8501601f19908116603f01168101908282118183101715612e0357612e03612daa565b81604052809350858152868686011115612e1c57600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112612e4757600080fd5b6129e283833560208501612dc0565b600080600080600060a08688031215612e6e57600080fd5b8535612e7981612a6d565b945060208601359350604086013567ffffffffffffffff80821115612e9d57600080fd5b612ea989838a01612e36565b94506060880135915080821115612ebf57600080fd5b612ecb89838a01612e36565b93506080880135915080821115612ee157600080fd5b50612eee88828901612e36565b9150509295509295909350565b60008060008060808587031215612f1157600080fd5b8435612f1c81612a6d565b93506020850135612f2c81612a6d565b925060408501359150606085013567ffffffffffffffff811115612f4f57600080fd5b8501601f81018713612f6057600080fd5b612f6f87823560208401612dc0565b91505092959194509250565b60008060408385031215612f8e57600080fd5b8235612f9981612a6d565b91506020830135612c3d81612a6d565b600181811c90821680612fbd57607f821691505b6020821081036109e557634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561300557613005612fdd565b500390565b6000821982111561301d5761301d612fdd565b500190565b60006001820161303457613034612fdd565b5060010190565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b60008160001904831182151516156130a3576130a3612fdd565b500290565b6000826130c557634e487b7160e01b600052601260045260246000fd5b500490565b600063ffffffff8083168185168083038211156130e9576130e9612fdd565b01949350505050565b634e487b7160e01b600052603260045260246000fd5b6000835161311a8184602088016129e9565b83519083019061312e8183602088016129e9565b602f60f81b9101908152600101949350505050565b634e487b7160e01b600052602160045260246000fd5b604081016002841061317b57634e487b7160e01b600052602160045260246000fd5b9281526020015290565b8054600090600181811c908083168061319f57607f831692505b602080841082036131c057634e487b7160e01b600052602260045260246000fd5b8180156131d457600181146131e557613212565b60ff19861689528489019650613212565b60008881526020902060005b8681101561320a5781548b8201529085019083016131f1565b505084890196505b50505050505092915050565b600061322a8286613185565b845161323a8183602089016129e9565b602f60f81b910190815283516132578160018401602088016129e9565b0160010195945050505050565b60006132708284613185565b691cdd1bdc99599c9bdb9d60b21b8152600a019392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906121dd90830184612a15565b60006020828403121561336c57600080fd5b81516129e2816129af56fea2646970667358221220c45af8bb7aa7a5d92c51681107f0c881d7fd260c590e8c87d5c5c0d17abe2d6764736f6c634300080e0033",
  "deployedBytecode": "0x6080604052600436106101ee5760003560e01c806370a082311161010d578063b88d4fde116100a0578063e1a3d5731161006f578063e1a3d57314610676578063e8a3d485146106a3578063e985e9c5146106b8578063f2fde38b14610701578063fbab9e041461072157600080fd5b8063b88d4fde146105e9578063bb314ca114610609578063c87b56dd14610629578063d3bb05281461064957600080fd5b806395d89b41116100dc57806395d89b4114610581578063a22cb46514610596578063abccf3dd146105b6578063abfc83a0146105c957600080fd5b806370a082311461050e578063715018a61461052e57806373aaf879146105435780638da5cb5b1461056357600080fd5b80632a55205a1161018557806352f5c2e41161015457806352f5c2e41461048157806356dee996146104ae578063602787ed146104ce5780636352211e146104ee57600080fd5b80632a55205a146103ed57806342842e0e1461042c5780634bf440261461044c57806352e25bf21461046157600080fd5b8063155dd5ee116101c1578063155dd5ee146102a457806318160ddd146102c457806323b872dd146102e7578063279c806e1461030757600080fd5b806301ffc9a7146101f357806306fdde0314610228578063081812fc1461024a578063095ea7b314610282575b600080fd5b3480156101ff57600080fd5b5061021361020e3660046129c5565b610741565b60405190151581526020015b60405180910390f35b34801561023457600080fd5b5061023d61076c565b60405161021f9190612a41565b34801561025657600080fd5b5061026a610265366004612a54565b6107fe565b6040516001600160a01b03909116815260200161021f565b34801561028e57600080fd5b506102a261029d366004612a82565b610825565b005b3480156102b057600080fd5b506102a26102bf366004612a54565b61093f565b3480156102d057600080fd5b506102d961099f565b60405190815260200161021f565b3480156102f357600080fd5b506102a2610302366004612aae565b6109eb565b34801561031357600080fd5b5061038f610322366004612a54565b60cc6020526000908152604090208054600182015460028301546003909301546001600160a01b0392831693919263ffffffff808416936401000000008104821693600160401b8204831693600160601b8304841693600160801b8404811693600160a01b900416911689565b604080516001600160a01b039a8b168152602081019990995263ffffffff978816908901529486166060880152928516608087015290841660a0860152831660c085015290911660e08301529091166101008201526101200161021f565b3480156103f957600080fd5b5061040d610408366004612aef565b610a1c565b604080516001600160a01b03909316835260208301919091520161021f565b34801561043857600080fd5b506102a2610447366004612aae565b610b18565b34801561045857600080fd5b506102d9610b33565b34801561046d57600080fd5b506102a261047c366004612b2a565b610b4f565b34801561048d57600080fd5b506104a161049c366004612b56565b610cb2565b60405161021f9190612bcb565b3480156104ba57600080fd5b506102a26104c9366004612c18565b610d6b565b3480156104da57600080fd5b506102d96104e9366004612a54565b610e2f565b3480156104fa57600080fd5b5061026a610509366004612a54565b610e51565b34801561051a57600080fd5b506102d9610529366004612c48565b610eb1565b34801561053a57600080fd5b506102a2610f37565b34801561054f57600080fd5b506102a261055e366004612c65565b610f4b565b34801561056f57600080fd5b506097546001600160a01b031661026a565b34801561058d57600080fd5b5061023d611354565b3480156105a257600080fd5b506102a26105b1366004612cfb565b611363565b6102a26105c4366004612d2e565b61136e565b3480156105d557600080fd5b506102a26105e4366004612e56565b611733565b3480156105f557600080fd5b506102a2610604366004612efb565b6118aa565b34801561061557600080fd5b506102a2610624366004612b2a565b6118e2565b34801561063557600080fd5b5061023d610644366004612a54565b611951565b34801561065557600080fd5b506102d9610664366004612a54565b60cf6020526000908152604090205481565b34801561068257600080fd5b506102d9610691366004612a54565b60ce6020526000908152604090205481565b3480156106af57600080fd5b5061023d611a1a565b3480156106c457600080fd5b506102136106d3366004612f7b565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561070d57600080fd5b506102a261071c366004612c48565b611a42565b34801561072d57600080fd5b506102a261073c366004612b2a565b611abb565b600063152a902d60e11b6001600160e01b031983161480610766575061076682611b29565b92915050565b60606065805461077b90612fa9565b80601f01602080910402602001604051908101604052809291908181526020018280546107a790612fa9565b80156107f45780601f106107c9576101008083540402835291602001916107f4565b820191906000526020600020905b8154815290600101906020018083116107d757829003601f168201915b5050505050905090565b600061080982611b79565b506000908152606960205260409020546001600160a01b031690565b600061083082610e51565b9050806001600160a01b0316836001600160a01b0316036108a25760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806108be57506108be81336106d3565b6109305760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610899565b61093a8383611bd8565b505050565b600081815260cf602090815260408083205460ce9092528220546109639190612ff3565b600083815260ce602090815260408083205460cf83528184205560cc90915290205490915061099b906001600160a01b031682611c46565b5050565b60008060015b60cb548110156109e557600081815260cc60205260409020600201546109d19063ffffffff168361300a565b9150806109dd81613022565b9150506109a5565b50919050565b6109f53382611d53565b610a115760405162461bcd60e51b81526004016108999061303b565b61093a838383611dd2565b6000806000610a2a85610e2f565b600081815260cc602090815260409182902082516101208101845281546001600160a01b03908116808352600184015494830194909452600283015463ffffffff80821696840196909652640100000000810486166060840152600160401b810486166080840152600160601b8104861660a0840152600160801b8104861660c0840152600160a01b900490941660e082015260039091015490921661010083015291925090610ae25751925060009150610b119050565b6080810151815163ffffffff90911690612710610aff8389613089565b610b0991906130a8565b945094505050505b9250929050565b61093a838383604051806020016040528060008152506118aa565b60006001610b4060cb5490565b610b4a9190612ff3565b905090565b610b57611f6e565b600082815260cc6020526040902060020154610b8290640100000000900463ffffffff1660016130ca565b63ffffffff168163ffffffff1610610bdc5760405162461bcd60e51b815260206004820152601860248201527f4d757374206e6f7420657863656564207175616e7469747900000000000000006044820152606401610899565b600082815260cc60205260409020600301546001600160a01b0316610c435760405162461bcd60e51b815260206004820152601a60248201527f45646974696f6e206d75737420686176652061207369676e65720000000000006044820152606401610899565b600082815260cc6020908152604091829020600201805463ffffffff60a01b1916600160a01b63ffffffff8616908102919091179091558251858152918201527f1de856603e1e748b6f6726e7a51520fe7c63e9b801b8e4b2f8de1a02ae0a8dae910160405180910390a15050565b606060008267ffffffffffffffff811115610ccf57610ccf612daa565b604051908082528060200260200182016040528015610cf8578160200160208202803683370190505b50905060005b83811015610d6357610d27858583818110610d1b57610d1b6130f2565b90506020020135610e51565b828281518110610d3957610d396130f2565b6001600160a01b039092166020928302919091019091015280610d5b81613022565b915050610cfe565b509392505050565b610d73611f6e565b6001600160a01b038116610dc95760405162461bcd60e51b815260206004820152601a60248201527f5369676e657220616464726573732063616e6e6f7420626520300000000000006044820152606401610899565b600082815260cc602090815260409182902060030180546001600160a01b0319166001600160a01b03851690811790915591518481527f73b6ab337f7463563f035a0b9f885872e16ad1b5043b679cdf802cfcbaa3a53491015b60405180910390a25050565b6000608082901c808203610766575050600090815260cd602052604090205490565b6000818152606760205260408120546001600160a01b0316806107665760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610899565b60006001600160a01b038216610f1b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610899565b506001600160a01b031660009081526068602052604090205490565b610f3f611f6e565b610f496000611fc8565b565b610f53611f6e565b610f5e8660016130ca565b63ffffffff168263ffffffff1610610fb85760405162461bcd60e51b815260206004820152601d60248201527f5065726d697373696f6e6564207175616e7469747920746f6f206269670000006044820152606401610899565b60008663ffffffff16116110025760405162461bcd60e51b81526020600482015260116024820152704d75737420736574207175616e7469747960781b6044820152606401610899565b6001600160a01b0388166110585760405162461bcd60e51b815260206004820152601960248201527f4d757374207365742066756e64696e67526563697069656e74000000000000006044820152606401610899565b8363ffffffff168363ffffffff16116110c45760405162461bcd60e51b815260206004820152602860248201527f456e642074696d65206d7573742062652067726561746572207468616e2073746044820152676172742074696d6560c01b6064820152608401610899565b63ffffffff821615611126576001600160a01b0381166111265760405162461bcd60e51b815260206004820152601a60248201527f5369676e657220616464726573732063616e6e6f7420626520300000000000006044820152606401610899565b604051806101200160405280896001600160a01b03168152602001888152602001600063ffffffff1681526020018763ffffffff1681526020018663ffffffff1681526020018563ffffffff1681526020018463ffffffff1681526020018363ffffffff168152602001826001600160a01b031681525060cc60006111aa60cb5490565b81526020808201929092526040908101600020835181546001600160a01b03199081166001600160a01b03928316178355938501516001830155918401516002820180546060870151608088015160a089015160c08a015160e08b015163ffffffff97881667ffffffffffffffff199096169590951764010000000094881694909402939093176fffffffffffffffff00000000000000001916600160401b9287169290920263ffffffff60601b191691909117600160601b918616919091021767ffffffffffffffff60801b1916600160801b9185169190910263ffffffff60a01b191617600160a01b93909116929092029190911790556101009093015160039093018054909216921691909117905560cb54604080516001600160a01b03808c168252602082018b905263ffffffff808b16938301939093528289166060830152828816608083015282871660a083015291851660c082015290831660e08201527fb56f9ba6a8af17a142f8ad372c6fc283e81d8c6193b86afe7f6ca901acd698f3906101000160405180910390a261134a60cb80546001019055565b5050505050505050565b60606066805461077b90612fa9565b61099b33838361201a565b600083815260cc60205260409020600181015460029091015463ffffffff640100000000820481169181811691600160601b8204811691600160801b8104821691600160a01b90910416846113fe5760405162461bcd60e51b815260206004820152601660248201527511591a5d1a5bdb88191bd95cc81b9bdd08195e1a5cdd60521b6044820152606401610899565b8463ffffffff168463ffffffff16106114635760405162461bcd60e51b815260206004820152602160248201527f546869732065646974696f6e20697320616c726561647920736f6c64206f75746044820152601760f91b6064820152608401610899565b853410156114c55760405162461bcd60e51b815260206004820152602960248201527f4d7573742073656e6420656e6f75676820746f207075726368617365207468656044820152681032b234ba34b7b71760b91b6064820152608401610899565b428363ffffffff1611156115d35760008163ffffffff161180156114f457508063ffffffff168463ffffffff16105b6115665760405162461bcd60e51b815260206004820152603b60248201527f4e6f207065726d697373696f6e656420746f6b656e7320617661696c61626c6560448201527f2026206f70656e2061756374696f6e206e6f74207374617274656400000000006064820152608401610899565b600089815260cc60205260409020600301546001600160a01b031661158c89898c6120e8565b6001600160a01b0316146115d35760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b4b3b732b960911b6044820152606401610899565b428263ffffffff161161161c5760405162461bcd60e51b8152602060048201526011602482015270105d58dd1a5bdb881a185cc8195b991959607a1b6044820152606401610899565b600089815260cc60205260409020600201805463ffffffff191663ffffffff600187011690811790915560808a901b1761165e6097546001600160a01b031690565b60008b815260cc60205260409020546001600160a01b039182169116036116a85760008a815260ce60205260408120805434929061169d90849061300a565b909155506116ca9050565b60008a815260cc60205260409020546116ca906001600160a01b031634611c46565b6116d433826121e7565b60008a815260cc602090815260409182902060020154915163ffffffff9092168252339183918d917fe38cb07a52e5d88a83de7c9d29c2841118103e462d20f8c526b35872f9977785910160405180910390a450505050505050505050565b600054610100900460ff16158080156117535750600054600160ff909116105b8061176d5750303b15801561176d575060005460ff166001145b6117d05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610899565b6000805460ff1916600117905580156117f3576000805461ff0019166101001790555b6117fd8484612329565b61180561235a565b61180e86611a42565b8161181886612389565b604051602001611829929190613108565b60405160208183030381529060405260c9908051906020019061184d929190612916565b5061185c60cb80546001019055565b80156118a2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6118b43383611d53565b6118d05760405162461bcd60e51b81526004016108999061303b565b6118dc84848484612401565b50505050565b6118ea611f6e565b600082815260cc602052604090819020600201805463ffffffff60801b1916600160801b63ffffffff85169081029190911790915590517f494264d1227744d2d86690c5355813b007a13955626b261c2e02901a73f6f90c90610e23906001908690613159565b6000818152606760205260409020546060906001600160a01b03166119d05760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610899565b60006119db83610e2f565b905060c96119e882612389565b6119f185612389565b604051602001611a039392919061321e565b604051602081830303815290604052915050919050565b606060c9604051602001611a2e9190613264565b604051602081830303815290604052905090565b611a4a611f6e565b6001600160a01b038116611aaf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610899565b611ab881611fc8565b50565b611ac3611f6e565b600082815260cc6020526040808220600201805463ffffffff60601b1916600160601b63ffffffff861690810291909117909155905190917f494264d1227744d2d86690c5355813b007a13955626b261c2e02901a73f6f90c91610e2391908690613159565b60006001600160e01b031982166380ac58cd60e01b1480611b5a57506001600160e01b03198216635b5e139f60e01b145b8061076657506301ffc9a760e01b6001600160e01b0319831614610766565b6000818152606760205260409020546001600160a01b0316611ab85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610899565b600081815260696020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611c0d82610e51565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b80471015611c965760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e742062616c616e636520666f722073656e640000006044820152606401610899565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611ce3576040519150601f19603f3d011682016040523d82523d6000602084013e611ce8565b606091505b505090508061093a5760405162461bcd60e51b815260206004820152603160248201527f556e61626c6520746f2073656e642076616c75653a20726563697069656e74206044820152701b585e481a185d99481c995d995c9d1959607a1b6064820152608401610899565b600080611d5f83610e51565b9050806001600160a01b0316846001600160a01b03161480611da657506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b80611dca5750836001600160a01b0316611dbf846107fe565b6001600160a01b0316145b949350505050565b826001600160a01b0316611de582610e51565b6001600160a01b031614611e495760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610899565b6001600160a01b038216611eab5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610899565b611eb6600082611bd8565b6001600160a01b0383166000908152606860205260408120805460019290611edf908490612ff3565b90915550506001600160a01b0382166000908152606860205260408120805460019290611f0d90849061300a565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6097546001600160a01b03163314610f495760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610899565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b03160361207b5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610899565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b604080517fb0b05fba96c122a3db5d352971bb77a4e982b43f6b3a779beb0dcce9d261d045602080830191909152308284015233606083015260808083018590528351808403909101815260a08301909352825192019190912061190160f01b60c08301527f000000000000000000000000000000000000000000000000000000000000000060c283015260e282015260009081906101020160405160208183030381529060405280519060200120905060006121dd86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506124349050565b9695505050505050565b6001600160a01b03821661223d5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610899565b6000818152606760205260409020546001600160a01b0316156122a25760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610899565b6001600160a01b03821660009081526068602052604081208054600192906122cb90849061300a565b909155505060008181526067602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600054610100900460ff166123505760405162461bcd60e51b81526004016108999061328a565b61099b8282612450565b600054610100900460ff166123815760405162461bcd60e51b81526004016108999061328a565b610f4961249e565b6060816000036123b05750506040805180820190915260018152600360fc1b602082015290565b60408051604e8082526080820190925290602082018180368337019050509050604e5b82156123f257600a8084066030018284015290920491600019016123d3565b604e8190039101908152919050565b61240c848484611dd2565b612418848484846124ce565b6118dc5760405162461bcd60e51b8152600401610899906132d5565b600080600061244385856125cf565b91509150610d638161263a565b600054610100900460ff166124775760405162461bcd60e51b81526004016108999061328a565b815161248a906065906020850190612916565b50805161093a906066906020840190612916565b600054610100900460ff166124c55760405162461bcd60e51b81526004016108999061328a565b610f4933611fc8565b60006001600160a01b0384163b156125c457604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612512903390899088908890600401613327565b6020604051808303816000875af192505050801561254d575060408051601f3d908101601f1916820190925261254a9181019061335a565b60015b6125aa573d80801561257b576040519150601f19603f3d011682016040523d82523d6000602084013e612580565b606091505b5080516000036125a25760405162461bcd60e51b8152600401610899906132d5565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611dca565b506001949350505050565b60008082516041036126055760208301516040840151606085015160001a6125f9878285856127f0565b94509450505050610b11565b825160400361262e57602083015160408401516126238683836128dd565b935093505050610b11565b50600090506002610b11565b600081600481111561264e5761264e613143565b036126565750565b600181600481111561266a5761266a613143565b036126b75760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610899565b60028160048111156126cb576126cb613143565b036127185760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610899565b600381600481111561272c5761272c613143565b036127845760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610899565b600481600481111561279857612798613143565b03611ab85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610899565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561282757506000905060036128d4565b8460ff16601b1415801561283f57508460ff16601c14155b1561285057506000905060046128d4565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156128a4573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166128cd576000600192509250506128d4565b9150600090505b94509492505050565b6000806001600160ff1b038316816128fa60ff86901c601b61300a565b9050612908878288856127f0565b935093505050935093915050565b82805461292290612fa9565b90600052602060002090601f016020900481019282612944576000855561298a565b82601f1061295d57805160ff191683800117855561298a565b8280016001018555821561298a579182015b8281111561298a57825182559160200191906001019061296f565b5061299692915061299a565b5090565b5b80821115612996576000815560010161299b565b6001600160e01b031981168114611ab857600080fd5b6000602082840312156129d757600080fd5b81356129e2816129af565b9392505050565b60005b83811015612a045781810151838201526020016129ec565b838111156118dc5750506000910152565b60008151808452612a2d8160208601602086016129e9565b601f01601f19169290920160200192915050565b6020815260006129e26020830184612a15565b600060208284031215612a6657600080fd5b5035919050565b6001600160a01b0381168114611ab857600080fd5b60008060408385031215612a9557600080fd5b8235612aa081612a6d565b946020939093013593505050565b600080600060608486031215612ac357600080fd5b8335612ace81612a6d565b92506020840135612ade81612a6d565b929592945050506040919091013590565b60008060408385031215612b0257600080fd5b50508035926020909101359150565b803563ffffffff81168114612b2557600080fd5b919050565b60008060408385031215612b3d57600080fd5b82359150612b4d60208401612b11565b90509250929050565b60008060208385031215612b6957600080fd5b823567ffffffffffffffff80821115612b8157600080fd5b818501915085601f830112612b9557600080fd5b813581811115612ba457600080fd5b8660208260051b8501011115612bb957600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b81811015612c0c5783516001600160a01b031683529284019291840191600101612be7565b50909695505050505050565b60008060408385031215612c2b57600080fd5b823591506020830135612c3d81612a6d565b809150509250929050565b600060208284031215612c5a57600080fd5b81356129e281612a6d565b600080600080600080600080610100898b031215612c8257600080fd5b8835612c8d81612a6d565b975060208901359650612ca260408a01612b11565b9550612cb060608a01612b11565b9450612cbe60808a01612b11565b9350612ccc60a08a01612b11565b9250612cda60c08a01612b11565b915060e0890135612cea81612a6d565b809150509295985092959890939650565b60008060408385031215612d0e57600080fd5b8235612d1981612a6d565b915060208301358015158114612c3d57600080fd5b600080600060408486031215612d4357600080fd5b83359250602084013567ffffffffffffffff80821115612d6257600080fd5b818601915086601f830112612d7657600080fd5b813581811115612d8557600080fd5b876020828501011115612d9757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612ddb57612ddb612daa565b604051601f8501601f19908116603f01168101908282118183101715612e0357612e03612daa565b81604052809350858152868686011115612e1c57600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112612e4757600080fd5b6129e283833560208501612dc0565b600080600080600060a08688031215612e6e57600080fd5b8535612e7981612a6d565b945060208601359350604086013567ffffffffffffffff80821115612e9d57600080fd5b612ea989838a01612e36565b94506060880135915080821115612ebf57600080fd5b612ecb89838a01612e36565b93506080880135915080821115612ee157600080fd5b50612eee88828901612e36565b9150509295509295909350565b60008060008060808587031215612f1157600080fd5b8435612f1c81612a6d565b93506020850135612f2c81612a6d565b925060408501359150606085013567ffffffffffffffff811115612f4f57600080fd5b8501601f81018713612f6057600080fd5b612f6f87823560208401612dc0565b91505092959194509250565b60008060408385031215612f8e57600080fd5b8235612f9981612a6d565b91506020830135612c3d81612a6d565b600181811c90821680612fbd57607f821691505b6020821081036109e557634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561300557613005612fdd565b500390565b6000821982111561301d5761301d612fdd565b500190565b60006001820161303457613034612fdd565b5060010190565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b60008160001904831182151516156130a3576130a3612fdd565b500290565b6000826130c557634e487b7160e01b600052601260045260246000fd5b500490565b600063ffffffff8083168185168083038211156130e9576130e9612fdd565b01949350505050565b634e487b7160e01b600052603260045260246000fd5b6000835161311a8184602088016129e9565b83519083019061312e8183602088016129e9565b602f60f81b9101908152600101949350505050565b634e487b7160e01b600052602160045260246000fd5b604081016002841061317b57634e487b7160e01b600052602160045260246000fd5b9281526020015290565b8054600090600181811c908083168061319f57607f831692505b602080841082036131c057634e487b7160e01b600052602260045260246000fd5b8180156131d457600181146131e557613212565b60ff19861689528489019650613212565b60008881526020902060005b8681101561320a5781548b8201529085019083016131f1565b505084890196505b50505050505092915050565b600061322a8286613185565b845161323a8183602089016129e9565b602f60f81b910190815283516132578160018401602088016129e9565b0160010195945050505050565b60006132708284613185565b691cdd1bdc99599c9bdb9d60b21b8152600a019392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906121dd90830184612a15565b60006020828403121561336c57600080fd5b81516129e2816129af56fea2646970667358221220c45af8bb7aa7a5d92c51681107f0c881d7fd260c590e8c87d5c5c0d17abe2d6764736f6c634300080e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
