{
  "_format": "hh-sol-artifact-1",
  "contractName": "LiquidityPoolManager",
  "sourceName": "contracts/LiquidityPoolManager.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "wavax_",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "png_",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "treasuryVester_",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pair",
          "type": "address"
        }
      ],
      "name": "addWhitelistedPool",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "avaxPngPair",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "calculateAndDistribute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "calculateReturns",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "distributeTokens",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "pairIndex",
          "type": "uint256"
        }
      ],
      "name": "distributeTokensSinglePool",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "distribution",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pair",
          "type": "address"
        }
      ],
      "name": "getAvaxLiquidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAvaxPngRatio",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "conversionFactor",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pair",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "conversionFactor",
          "type": "uint256"
        }
      ],
      "name": "getPngLiquidity",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pair",
          "type": "address"
        }
      ],
      "name": "isAvaxPair",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pair",
          "type": "address"
        }
      ],
      "name": "isPngPair",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pair",
          "type": "address"
        }
      ],
      "name": "isWhitelisted",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "numPools",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "png",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "pair",
          "type": "address"
        }
      ],
      "name": "removeWhitelistedPool",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "avaxPngPair_",
          "type": "address"
        }
      ],
      "name": "setAvaxPngPair",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "stakes",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "treasuryVester",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "unallocatedPng",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "vestAllocation",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "wavax",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526000600b819055600c805460ff19169055600e553480156200002557600080fd5b506040516200495b3803806200495b833981810160405260608110156200004b57600080fd5b50805160208201516040909201519091906000620000686200016c565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180556001600160a01b03831615801590620000d757506001600160a01b03821615155b8015620000ec57506001600160a01b03811615155b620001295760405162461bcd60e51b8152600401808060200182810382526046815260200180620049156046913960600191505060405180910390fd5b600780546001600160a01b039485166001600160a01b0319918216179091556008805493851693821693909317909255600a805491909316911617905562000170565b3390565b61479580620001806000396000f3fe60806040523480156200001157600080fd5b5060043610620001cc5760003560e01c80638c31ceff1162000105578063a8cb13df11620000a5578063c63931ca116200007b578063c63931ca1462000411578063db130a49146200041b578063f2fde38b1462000444578063fbb6b56b146200046d57620001cc565b8063a8cb13df1462000399578063aa8b067014620003c2578063c49b14f114620003e257620001cc565b8063933733cf11620000db578063933733cf146200037b5780639ab1b4841462000385578063a0559a5c146200038f57620001cc565b80638c31ceff146200031f5780638da5cb5b14620003485780639080dbee146200035257620001cc565b80634ad0008211620001715780636a6b353911620001475780636a6b353914620002cc578063715018a614620002f5578063796cd9ba14620002ff57620001cc565b80634ad0008214620002ac5780635278f89c14620002b85780635f77567814620002c257620001cc565b806318607f6711620001a757806318607f67146200022a57806335c62bc214620002675780633af32abf146200028357620001cc565b8063117be4c214620001d1578063150895db14620001f757806316934fc41462000201575b600080fd5b620001db62000477565b604080516001600160a01b039092168252519081900360200190f35b620001db62000486565b620001db600480360360208110156200021957600080fd5b50356001600160a01b031662000495565b62000253600480360360208110156200024257600080fd5b50356001600160a01b0316620004b0565b604080519115158252519081900360200190f35b62000271620004c5565b60408051918252519081900360200190f35b62000253600480360360208110156200029b57600080fd5b50356001600160a01b0316620004cb565b620002b6620004ee565b005b620002b6620007b9565b620001db620009fb565b620002b660048036036020811015620002e457600080fd5b50356001600160a01b031662000a0a565b620002b662000ae0565b620002b6600480360360208110156200031757600080fd5b503562000b97565b62000253600480360360208110156200033757600080fd5b50356001600160a01b031662000e77565b620001db62000e86565b620002b6600480360360208110156200036a57600080fd5b50356001600160a01b031662000e95565b620002b66200128e565b620002b6620012a4565b6200027162001547565b620002b660048036036020811015620003b157600080fd5b50356001600160a01b03166200154d565b6200027160048036036020811015620003da57600080fd5b503562001829565b6200027160048036036040811015620003fa57600080fd5b506001600160a01b0381351690602001356200184b565b6200027162001a71565b62000271600480360360208110156200043357600080fd5b50356001600160a01b031662001c0c565b620002b6600480360360208110156200045c57600080fd5b50356001600160a01b031662001e16565b620001db62001f25565b6007546001600160a01b031681565b600a546001600160a01b031681565b6006602052600090815260409020546001600160a01b031681565b6000620004bf60048362001f34565b92915050565b600b5481565b6000620004da60028362001f34565b80620004bf5750620004bf60048362001f34565b600c5460ff1615620005325760405162461bcd60e51b8152600401808060200182810382526061815260200180620044b86061913960800191505060405180910390fd5b6000600e5411620005755760405162461bcd60e51b8152600401808060200182810382526052815260200180620040c06052913960600191505060405180910390fd5b600062000583600462001f52565b1115620005d3576009546001600160a01b0316620005d35760405162461bcd60e51b815260040180806020018281038252603d81526020018062004723603d913960400191505060405180910390fd5b600b5467ffffffffffffffff81118015620005ed57600080fd5b5060405190808252806020026020018201604052801562000618578160200160208202803683370190505b5080516200062f91600d91602090910190620023f9565b506000805b62000640600262001f52565b81101562000696576000620006616200065b60028462001f5f565b62001c0c565b905080600d83815481106200067257fe5b6000918252602090912001556200068a838262001f6d565b92505060010162000634565b506000620006a5600462001f52565b111562000730576000620006b862001a71565b905060005b620006c9600462001f52565b8110156200072d576000620006eb620006e460048462001f5f565b846200184b565b905080600d620006fc600262001f52565b8401815481106200070957fe5b60009182526020909120015562000721848262001f6d565b935050600101620006bd565b50505b6000805b600d54811015620007a75760006200077c8462000775600e54600d86815481106200075b57fe5b906000526020600020015462001fc890919063ffffffff16565b9062002026565b905080600d83815481106200078d57fe5b600091825260209091200155919091019060010162000734565b5050600c805460ff1916600117905550565b6002600154141562000812576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155600e5415620008585760405162461bcd60e51b8152600401808060200182810382526056815260200180620044206056913960600191505060405180910390fd5b600a60009054906101000a90046001600160a01b03166001600160a01b0316634e71d92d6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015620008a957600080fd5b505af1158015620008be573d6000803e3d6000fd5b505050506040513d6020811015620008d557600080fd5b5051600e819055620009195760405162461bcd60e51b815260040180806020018281038252604a815260200180620041b7604a913960600191505060405180910390fd5b600854604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156200097e57600080fd5b505afa15801562000993573d6000803e3d6000fd5b505050506040513d6020811015620009aa57600080fd5b5051600e54909150811015620009f25760405162461bcd60e51b8152600401808060200182810382526042815260200180620042a36042913960600191505060405180910390fd5b600e5560018055565b6008546001600160a01b031681565b62000a146200206a565b6000546001600160a01b0390811691161462000a77576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811662000abe5760405162461bcd60e51b8152600401808060200182810382526045815260200180620046de6045913960600191505060405180910390fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b62000aea6200206a565b6000546001600160a01b0390811691161462000b4d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6002600154141562000bf0576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155600c5460ff1662000c385760405162461bcd60e51b8152600401808060200182810382526069815260200180620042016069913960800191505060405180910390fd5b600b54811062000c7a5760405162461bcd60e51b8152600401808060200182810382526045815260200180620043976045913960600191505060405180910390fd5b600062000c88600262001f52565b82101562000cc6576006600062000ca160028562001f5f565b6001600160a01b03908116825260208201929092526040016000205416905062000d05565b6006600062000ce562000cda600262001f52565b600490860362001f5f565b6001600160a01b0390811682526020820192909252604001600020541690505b6000600d838154811062000d1557fe5b90600052602060002001549050600081111562000e6e576000600d848154811062000d3c57fe5b60009182526020808320909101929092556008546040805163a9059cbb60e01b81526001600160a01b038781166004830152602482018790529151919092169363a9059cbb936044808501949293928390030190829087803b15801562000da257600080fd5b505af115801562000db7573d6000803e3d6000fd5b505050506040513d602081101562000dce57600080fd5b505162000e0d5760405162461bcd60e51b8152600401808060200182810382526037815260200180620045856037913960400191505060405180910390fd5b816001600160a01b0316633c6b16ab826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562000e5457600080fd5b505af115801562000e69573d6000803e3d6000fd5b505050505b50506001805550565b6000620004bf60028362001f34565b6000546001600160a01b031690565b62000e9f6200206a565b6000546001600160a01b0390811691161462000f02576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600c5460ff161562000f465760405162461bcd60e51b8152600401808060200182810382526066815260200180620041126066913960800191505060405180910390fd5b6001600160a01b03811662000f8d5760405162461bcd60e51b81526004018080602001828103825260498152602001806200461b6049913960600191505060405180910390fd5b62000f9881620004cb565b1562000fd65760405162461bcd60e51b8152600401808060200182810382526042815260200180620044766042913960600191505060405180910390fd5b6000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156200101257600080fd5b505afa15801562001027573d6000803e3d6000fd5b505050506040513d60208110156200103e57600080fd5b50516040805163d21220a760e01b815290519192506000916001600160a01b0385169163d21220a7916004808301926020929190829003018186803b1580156200108757600080fd5b505afa1580156200109c573d6000803e3d6000fd5b505050506040513d6020811015620010b357600080fd5b505190506001600160a01b038281169082161415620011045760405162461bcd60e51b8152600401808060200182810382526044815260200180620043dc6044913960600191505060405180910390fd5b6008546040516000916001600160a01b0316908590620011249062002449565b6001600160a01b03928316815291166020820152604080519182900301906000f08015801562001158573d6000803e3d6000fd5b506001600160a01b03858116600090815260066020526040902080546001600160a01b0319168383161790556007549192509081169084161480620011aa57506007546001600160a01b038381169116145b156200120057620011bd6002856200206e565b620011fa5760405162461bcd60e51b81526004018080602001828103825260398152602001806200426a6039913960400191505060405180910390fd5b62001275565b6008546001600160a01b03848116911614806200122a57506008546001600160a01b038381169116145b156200123d57620011bd6004856200206e565b60405162461bcd60e51b8152600401808060200182810382526044815260200180620040566044913960600191505060405180910390fd5b600b546200128590600162001f6d565b600b5550505050565b62001298620004ee565b620012a2620012a4565b565b60026001541415620012fd576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155600c5460ff16620013455760405162461bcd60e51b815260040180806020018281038252605f815260200180620045bc605f913960600191505060405180910390fd5b600c805460ff19169055600080805b600d5481101562001539576200136b600262001f52565b811015620013a957600660006200138460028462001f5f565b6001600160a01b039081168252602082019290925260400160002054169250620013e8565b60066000620013c8620013bd600262001f52565b600490850362001f5f565b6001600160a01b0390811682526020820192909252604001600020541692505b600d8181548110620013f657fe5b90600052602060002001549150600082111562001530576008546040805163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156200146457600080fd5b505af115801562001479573d6000803e3d6000fd5b505050506040513d60208110156200149057600080fd5b5051620014cf5760405162461bcd60e51b8152600401808060200182810382526037815260200180620045856037913960400191505060405180910390fd5b826001600160a01b0316633c6b16ab836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200151657600080fd5b505af11580156200152b573d6000803e3d6000fd5b505050505b60010162001354565b50506000600e555060018055565b600e5481565b620015576200206a565b6000546001600160a01b03908116911614620015ba576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600c5460ff1615620015fe5760405162461bcd60e51b815260040180806020018281038252606c81526020018062004519606c913960800191505060405180910390fd5b6200160981620004cb565b620016465760405162461bcd60e51b8152600401808060200182810382526041815260200180620043356041913960600191505060405180910390fd5b6000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156200168257600080fd5b505afa15801562001697573d6000803e3d6000fd5b505050506040513d6020811015620016ae57600080fd5b50516040805163d21220a760e01b815290519192506000916001600160a01b0385169163d21220a7916004808301926020929190829003018186803b158015620016f757600080fd5b505afa1580156200170c573d6000803e3d6000fd5b505050506040513d60208110156200172357600080fd5b50516001600160a01b03808516600090815260066020526040902080546001600160a01b0319169055600754919250838116911614806200177157506007546001600160a01b038281169116145b15620017c7576200178460028462002085565b620017c15760405162461bcd60e51b815260040180806020018281038252603f81526020018062004178603f913960400191505060405180910390fd5b62001811565b620017d460048462002085565b620018115760405162461bcd60e51b815260040180806020018281038252603f81526020018062004178603f913960400191505060405180910390fd5b600b54620018219060016200209c565b600b55505050565b600d81815481106200183a57600080fd5b600091825260209091200154905081565b6000806000846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156200188a57600080fd5b505afa1580156200189f573d6000803e3d6000fd5b505050506040513d6060811015620018b657600080fd5b50805160209182015160085460408051630dfe168160e01b815290516dffffffffffffffffffffffffffff94851697509390921694506000936001600160a01b0391821693918a1692630dfe16819260048083019392829003018186803b1580156200192157600080fd5b505afa15801562001936573d6000803e3d6000fd5b505050506040513d60208110156200194d57600080fd5b50516001600160a01b0316141562001973576200196b818462001f6d565b905062001a3f565b6008546040805163d21220a760e01b815290516001600160a01b039283169289169163d21220a7916004808301926020929190829003018186803b158015620019bb57600080fd5b505afa158015620019d0573d6000803e3d6000fd5b505050506040513d6020811015620019e757600080fd5b50516001600160a01b03161462001a305760405162461bcd60e51b8152600401808060200182810382526050815260200180620042e56050913960600191505060405180910390fd5b62001a3c818362001f6d565b90505b670de0b6b3a764000062001a668162000775600262001a5f868b62001fc8565b9062001fc8565b979650505050505050565b6009546000906001600160a01b031662001abd5760405162461bcd60e51b815260040180806020018281038252603b8152602001806200401b603b913960400191505060405180910390fd5b600080600960009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801562001b0f57600080fd5b505afa15801562001b24573d6000803e3d6000fd5b505050506040513d606081101562001b3b57600080fd5b50805160209182015160075460095460408051630dfe168160e01b815290516dffffffffffffffffffffffffffff95861698509490931695506001600160a01b0391821694911692630dfe1681926004808201939291829003018186803b15801562001ba657600080fd5b505afa15801562001bbb573d6000803e3d6000fd5b505050506040513d602081101562001bd257600080fd5b50516001600160a01b0316141562001bf85762001bf08183620020e0565b925062001c07565b62001c048282620020e0565b92505b505090565b6000806000836001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801562001c4b57600080fd5b505afa15801562001c60573d6000803e3d6000fd5b505050506040513d606081101562001c7757600080fd5b50805160209182015160075460408051630dfe168160e01b815290516dffffffffffffffffffffffffffff94851697509390921694506000936001600160a01b039182169391891692630dfe16819260048083019392829003018186803b15801562001ce257600080fd5b505afa15801562001cf7573d6000803e3d6000fd5b505050506040513d602081101562001d0e57600080fd5b50516001600160a01b0316141562001d345762001d2c818462001f6d565b905062001e00565b6007546040805163d21220a760e01b815290516001600160a01b039283169288169163d21220a7916004808301926020929190829003018186803b15801562001d7c57600080fd5b505afa15801562001d91573d6000803e3d6000fd5b505050506040513d602081101562001da857600080fd5b50516001600160a01b03161462001df15760405162461bcd60e51b8152600401808060200182810382526053815260200180620046646053913960600191505060405180910390fd5b62001dfd818362001f6d565b90505b62001e0d81600262001fc8565b95945050505050565b62001e206200206a565b6000546001600160a01b0390811691161462001e83576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811662001eca5760405162461bcd60e51b81526004018080602001828103825260268152602001806200409a6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6009546001600160a01b031681565b600062001f4b836001600160a01b03841662002157565b9392505050565b6000620004bf826200216f565b600062001f4b838362002173565b60008282018381101562001f4b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008262001fd957506000620004bf565b8282028284828162001fe757fe5b041462001f4b5760405162461bcd60e51b8152600401808060200182810382526021815260200180620043766021913960400191505060405180910390fd5b600062001f4b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620021da565b3390565b600062001f4b836001600160a01b03841662002281565b600062001f4b836001600160a01b038416620022d0565b600062001f4b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200239c565b60008083118015620020f25750600082115b6200212f5760405162461bcd60e51b8152600401808060200182810382526027815260200180620046b76027913960400191505060405180910390fd5b670de0b6b3a76400006200214f62002148828562001fc8565b8562002026565b949350505050565b60009081526001919091016020526040902054151590565b5490565b81546000908210620021b75760405162461bcd60e51b815260040180806020018281038252602281526020018062003ff96022913960400191505060405180910390fd5b826000018281548110620021c757fe5b9060005260206000200154905092915050565b600081836200226a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200222e57818101518382015260200162002214565b50505050905090810190601f1680156200225c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200227757fe5b0495945050505050565b60006200228f838362002157565b620022c757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620004bf565b506000620004bf565b600081815260018301602052604081205480156200239157835460001980830191908101906000908790839081106200230557fe5b90600052602060002001549050808760000184815481106200232357fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806200235457fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050620004bf565b6000915050620004bf565b60008184841115620023f15760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156200222e57818101518382015260200162002214565b505050900390565b82805482825590600052602060002090810192821562002437579160200282015b82811115620024375782518255916020019190600101906200241a565b506200244592915062002457565b5090565b611b8a806200246f83390190565b5b808211156200244557600081556001016200245856fe6080604052600060045560006005556201518060065534801561002157600080fd5b50604051611b8a380380611b8a8339818101604052604081101561004457600080fd5b5080516020909101516001600090815561005c6100db565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b039384166001600160a01b031991821617909155600380549290931691161790556100df565b3390565b611a9c806100ee6000396000f3fe608060405234801561001057600080fd5b50600436106101ad5760003560e01c80638980f11f116100ee578063cd3daf9d11610097578063e9fad8ee11610071578063e9fad8ee14610382578063ebe2b12b1461038a578063ecd9ba8214610392578063f2fde38b146103ca576101ad565b8063cd3daf9d1461036a578063d1af0c7d14610372578063df136d651461037a576101ad565b8063a694fc3a116100c8578063a694fc3a14610328578063c8f33c9114610345578063cc1a378f1461034d576101ad565b80638980f11f146102ce5780638b876347146102fa5780638da5cb5b14610320576101ad565b80633c6b16ab1161015b578063715018a611610135578063715018a61461029257806372f702f31461029a5780637b0a47ee146102be57806380faa57d146102c6576101ad565b80633c6b16ab146102475780633d18b9121461026457806370a082311461026c576101ad565b80631c1f78eb1161018c5780631c1f78eb146102185780632e1a7d4d14610220578063386a95251461023f576101ad565b80628cc262146101b25780630700037d146101ea57806318160ddd14610210575b600080fd5b6101d8600480360360208110156101c857600080fd5b50356001600160a01b03166103f0565b60408051918252519081900360200190f35b6101d86004803603602081101561020057600080fd5b50356001600160a01b031661046e565b6101d8610480565b6101d8610487565b61023d6004803603602081101561023657600080fd5b50356104a5565b005b6101d8610647565b61023d6004803603602081101561025d57600080fd5b503561064d565b61023d6108ba565b6101d86004803603602081101561028257600080fd5b50356001600160a01b03166109f1565b61023d610a0c565b6102a2610acd565b604080516001600160a01b039092168252519081900360200190f35b6101d8610adc565b6101d8610ae2565b61023d600480360360408110156102e457600080fd5b506001600160a01b038135169060200135610af0565b6101d86004803603602081101561031057600080fd5b50356001600160a01b0316610c6d565b6102a2610c7f565b61023d6004803603602081101561033e57600080fd5b5035610c8e565b6101d8610e31565b61023d6004803603602081101561036357600080fd5b5035610e37565b6101d8610f71565b6102a2610fbf565b6101d8610fce565b61023d610fd4565b6101d8610ff7565b61023d600480360360a08110156103a857600080fd5b5080359060208101359060ff6040820135169060608101359060800135610ffd565b61023d600480360360208110156103e057600080fd5b50356001600160a01b0316611248565b6001600160a01b0381166000908152600a60209081526040808320546009909252822054610468919061046290670de0b6b3a76400009061045c9061043d90610437610f71565b90611360565b6001600160a01b0388166000908152600c6020526040902054906113a9565b90611402565b90611444565b92915050565b600a6020526000908152604090205481565b600b545b90565b60006104a06006546005546113a990919063ffffffff16565b905090565b600260005414156104fd576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000553361050b610f71565b600855610516610ae2565b6007556001600160a01b0381161561055d57610531816103f0565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b600082116105b2576040805162461bcd60e51b815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b600b546105bf9083611360565b600b55336000908152600c60205260409020546105dc9083611360565b336000818152600c6020526040902091909155600354610608916001600160a01b03909116908461149e565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a250506001600055565b60065481565b610655611523565b6001546001600160a01b039081169116146106b7576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60006106c1610f71565b6008556106cc610ae2565b6007556001600160a01b03811615610713576106e7816103f0565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b60045442106107325760065461072a908390611402565b600555610775565b6004546000906107429042611360565b9050600061075b600554836113a990919063ffffffff16565b60065490915061076f9061045c8684611444565b60055550505b600254604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156107d957600080fd5b505afa1580156107ed573d6000803e3d6000fd5b505050506040513d602081101561080357600080fd5b5051600654909150610816908290611402565b600554111561086c576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600781905560065461087f9190611444565b6004556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b60026000541415610912576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005533610920610f71565b60085561092b610ae2565b6007556001600160a01b0381161561097257610946816103f0565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b336000908152600a602052604090205480156109e857336000818152600a60205260408120556002546109b1916001600160a01b03909116908361149e565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b50506001600055565b6001600160a01b03166000908152600c602052604090205490565b610a14611523565b6001546001600160a01b03908116911614610a76576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36001805473ffffffffffffffffffffffffffffffffffffffff19169055565b6003546001600160a01b031681565b60055481565b60006104a042600454611527565b610af8611523565b6001546001600160a01b03908116911614610b5a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60026000541415610bb2576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556003546001600160a01b0383811691161415610c045760405162461bcd60e51b8152600401808060200182810382526021815260200180611a466021913960400191505060405180910390fd5b610c20610c0f610c7f565b6001600160a01b038416908361149e565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a150506001600055565b60096020526000908152604090205481565b6001546001600160a01b031690565b60026000541415610ce6576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005533610cf4610f71565b600855610cff610ae2565b6007556001600160a01b03811615610d4657610d1a816103f0565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b60008211610d9b576040805162461bcd60e51b815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b600b54610da89083611444565b600b55336000908152600c6020526040902054610dc59083611444565b336000818152600c6020526040902091909155600354610df2916001600160a01b0390911690308561153d565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a250506001600055565b60075481565b610e3f611523565b6001546001600160a01b03908116911614610ea1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6004544211610ee15760405162461bcd60e51b81526004018080602001828103825260588152602001806119576058913960600191505060405180910390fd5b60008111610f36576040805162461bcd60e51b815260206004820152601d60248201527f526577617264206475726174696f6e2063616e2774206265207a65726f000000604482015290519081900360640190fd5b60068190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600b5460001415610f875750600854610484565b6104a0610fb6600b5461045c670de0b6b3a7640000610fb0600554610fb0600754610437610ae2565b906113a9565b60085490611444565b6002546001600160a01b031681565b60085481565b336000908152600c6020526040902054610fed906104a5565b610ff56108ba565b565b60045481565b60026000541415611055576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005533611063610f71565b60085561106e610ae2565b6007556001600160a01b038116156110b557611089816103f0565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b6000861161110a576040805162461bcd60e51b815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b600b546111179087611444565b600b55336000908152600c60205260409020546111349087611444565b336000818152600c60205260408082209390935560035483517fd505accf0000000000000000000000000000000000000000000000000000000081526004810193909352306024840152604483018a90526064830189905260ff8816608484015260a4830187905260c4830186905292516001600160a01b039093169263d505accf9260e480820193929182900301818387803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b505060035461120592506001600160a01b0316905033308961153d565b60408051878152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050600160005550505050565b611250611523565b6001546001600160a01b039081169116146112b2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166112f75760405162461bcd60e51b81526004018080602001828103825260268152602001806119af6026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60006113a283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115cb565b9392505050565b6000826113b857506000610468565b828202828482816113c557fe5b04146113a25760405162461bcd60e51b81526004018080602001828103825260218152602001806119fb6021913960400191505060405180910390fd5b60006113a283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611662565b6000828201838110156113a2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261151e9084906116c7565b505050565b3390565b600081831061153657816113a2565b5090919050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526115c59085906116c7565b50505050565b6000818484111561165a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561161f578181015183820152602001611607565b50505050905090810190601f16801561164c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836116b15760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561161f578181015183820152602001611607565b5060008385816116bd57fe5b0495945050505050565b600061171c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117789092919063ffffffff16565b80519091501561151e5780806020019051602081101561173b57600080fd5b505161151e5760405162461bcd60e51b815260040180806020018281038252602a815260200180611a1c602a913960400191505060405180910390fd5b6060611787848460008561178f565b949350505050565b6060824710156117d05760405162461bcd60e51b81526004018080602001828103825260268152602001806119d56026913960400191505060405180910390fd5b6117d9856118ea565b61182a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106118685780518252601f199092019160209182019101611849565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146118ca576040519150601f19603f3d011682016040523d82523d6000602084013e6118cf565b606091505b50915091506118df8282866118f0565b979650505050505050565b3b151590565b606083156118ff5750816113a2565b82511561190f5782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561161f57818101518382015260200161160756fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f644f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea26469706673582212206f44426a74f577b6d4f862ae02ec89c75f5c1bc3041e522f4a80381cfe10654964736f6c63430007060033456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734c6971756964697479506f6f6c4d616e616765723a3a67657441766178506e67526174696f3a204e6f20415641582d504e472070616972207365744c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a204e6f2041564158206f7220504e4720696e2074686520706169724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734c6971756964697479506f6f6c4d616e616765723a3a63616c63756c61746552657475726e733a204e6f20504e4720746f20616c6c6f636174652e2043616c6c2076657374416c6c6f636174696f6e28292e4c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a2043616e6e6f742061646420706f6f6c206265747765656e2063616c63756c6174696e6720616e6420646973747269627574696e672072657475726e734c6971756964697479506f6f6c4d616e616765723a3a72656d6f766557686974656c6973746564506f6f6c3a20506169722072656d6f7665206661696c65644c6971756964697479506f6f6c4d616e616765723a3a76657374416c6c6f636174696f6e3a204e6f20504e4720746f20636c61696d2e2054727920616761696e20746f6d6f72726f772e4c6971756964697479506f6f6c4d616e616765723a3a64697374726962757465546f6b656e7353696e676c65506f6f6c3a2050726576696f75732072657475726e73206e6f7420616c6c6f63617465642e2043616c6c2063616c63756c61746552657475726e7328294c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a205061697220616464206661696c65644c6971756964697479506f6f6c4d616e616765723a3a76657374416c6c6f636174696f6e3a20496e73756666696369656e7420504e47207472616e736665727265644c6971756964697479506f6f6c4d616e616765723a3a676574506e674c69717569646974793a204f6e65206f662074686520746f6b656e7320696e207468652070616972206d75737420626520504e474c6971756964697479506f6f6c4d616e616765723a3a72656d6f766557686974656c6973746564506f6f6c3a20506f6f6c206e6f742077686974656c6973746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c6971756964697479506f6f6c4d616e616765723a3a64697374726962757465546f6b656e7353696e676c65506f6f6c3a20496e646578206f7574206f6620626f756e64734c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a20546f6b656e732063616e6e6f74206265206964656e746963616c4c6971756964697479506f6f6c4d616e616765723a3a76657374416c6c6f636174696f6e3a204f6c6420504e4720697320756e616c6c6f63617465642e2043616c6c2064697374726962757465546f6b656e7328292e4c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a20506f6f6c20616c72656164792077686974656c69737465644c6971756964697479506f6f6c4d616e616765723a3a63616c63756c61746552657475726e733a2050726576696f75732072657475726e73206e6f742064697374726962757465642e2043616c6c2064697374726962757465546f6b656e7328294c6971756964697479506f6f6c4d616e616765723a3a72656d6f766557686974656c6973746564506f6f6c3a2043616e6e6f742072656d6f766520706f6f6c206265747765656e2063616c63756c6174696e6720616e6420646973747269627574696e672072657475726e734c6971756964697479506f6f6c4d616e616765723a3a64697374726962757465546f6b656e733a205472616e73666572206661696c65644c6971756964697479506f6f6c4d616e616765723a3a64697374726962757465546f6b656e733a2050726576696f75732072657475726e73206e6f7420616c6c6f63617465642e2043616c6c2063616c63756c61746552657475726e7328294c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a20506f6f6c2063616e6e6f7420626520746865207a65726f20616464726573734c6971756964697479506f6f6c4d616e616765723a3a676574417661784c69717569646974793a204f6e65206f662074686520746f6b656e7320696e207468652070616972206d75737420626520574156415850616e676f6c696e4c6962726172793a20494e53554646494349454e545f4c49515549444954594c6971756964697479506f6f6c4d616e616765723a3a73657441766178506e67506169723a20506f6f6c2063616e6e6f7420626520746865207a65726f20616464726573734c6971756964697479506f6f6c4d616e616765723a3a63616c63756c61746552657475726e733a20417661782f504e472050616972206e6f7420736574a2646970667358221220bf67c4bd337f953fe70e81f6e8ec5ae0c67a7bd0baabd87eb1de99fb8357c59e64736f6c634300070600334c6971756964697479506f6f6c4d616e616765723a3a636f6e7374727563746f723a20417267756d656e74732063616e277420626520746865207a65726f2061646472657373",
  "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620001cc5760003560e01c80638c31ceff1162000105578063a8cb13df11620000a5578063c63931ca116200007b578063c63931ca1462000411578063db130a49146200041b578063f2fde38b1462000444578063fbb6b56b146200046d57620001cc565b8063a8cb13df1462000399578063aa8b067014620003c2578063c49b14f114620003e257620001cc565b8063933733cf11620000db578063933733cf146200037b5780639ab1b4841462000385578063a0559a5c146200038f57620001cc565b80638c31ceff146200031f5780638da5cb5b14620003485780639080dbee146200035257620001cc565b80634ad0008211620001715780636a6b353911620001475780636a6b353914620002cc578063715018a614620002f5578063796cd9ba14620002ff57620001cc565b80634ad0008214620002ac5780635278f89c14620002b85780635f77567814620002c257620001cc565b806318607f6711620001a757806318607f67146200022a57806335c62bc214620002675780633af32abf146200028357620001cc565b8063117be4c214620001d1578063150895db14620001f757806316934fc41462000201575b600080fd5b620001db62000477565b604080516001600160a01b039092168252519081900360200190f35b620001db62000486565b620001db600480360360208110156200021957600080fd5b50356001600160a01b031662000495565b62000253600480360360208110156200024257600080fd5b50356001600160a01b0316620004b0565b604080519115158252519081900360200190f35b62000271620004c5565b60408051918252519081900360200190f35b62000253600480360360208110156200029b57600080fd5b50356001600160a01b0316620004cb565b620002b6620004ee565b005b620002b6620007b9565b620001db620009fb565b620002b660048036036020811015620002e457600080fd5b50356001600160a01b031662000a0a565b620002b662000ae0565b620002b6600480360360208110156200031757600080fd5b503562000b97565b62000253600480360360208110156200033757600080fd5b50356001600160a01b031662000e77565b620001db62000e86565b620002b6600480360360208110156200036a57600080fd5b50356001600160a01b031662000e95565b620002b66200128e565b620002b6620012a4565b6200027162001547565b620002b660048036036020811015620003b157600080fd5b50356001600160a01b03166200154d565b6200027160048036036020811015620003da57600080fd5b503562001829565b6200027160048036036040811015620003fa57600080fd5b506001600160a01b0381351690602001356200184b565b6200027162001a71565b62000271600480360360208110156200043357600080fd5b50356001600160a01b031662001c0c565b620002b6600480360360208110156200045c57600080fd5b50356001600160a01b031662001e16565b620001db62001f25565b6007546001600160a01b031681565b600a546001600160a01b031681565b6006602052600090815260409020546001600160a01b031681565b6000620004bf60048362001f34565b92915050565b600b5481565b6000620004da60028362001f34565b80620004bf5750620004bf60048362001f34565b600c5460ff1615620005325760405162461bcd60e51b8152600401808060200182810382526061815260200180620044b86061913960800191505060405180910390fd5b6000600e5411620005755760405162461bcd60e51b8152600401808060200182810382526052815260200180620040c06052913960600191505060405180910390fd5b600062000583600462001f52565b1115620005d3576009546001600160a01b0316620005d35760405162461bcd60e51b815260040180806020018281038252603d81526020018062004723603d913960400191505060405180910390fd5b600b5467ffffffffffffffff81118015620005ed57600080fd5b5060405190808252806020026020018201604052801562000618578160200160208202803683370190505b5080516200062f91600d91602090910190620023f9565b506000805b62000640600262001f52565b81101562000696576000620006616200065b60028462001f5f565b62001c0c565b905080600d83815481106200067257fe5b6000918252602090912001556200068a838262001f6d565b92505060010162000634565b506000620006a5600462001f52565b111562000730576000620006b862001a71565b905060005b620006c9600462001f52565b8110156200072d576000620006eb620006e460048462001f5f565b846200184b565b905080600d620006fc600262001f52565b8401815481106200070957fe5b60009182526020909120015562000721848262001f6d565b935050600101620006bd565b50505b6000805b600d54811015620007a75760006200077c8462000775600e54600d86815481106200075b57fe5b906000526020600020015462001fc890919063ffffffff16565b9062002026565b905080600d83815481106200078d57fe5b600091825260209091200155919091019060010162000734565b5050600c805460ff1916600117905550565b6002600154141562000812576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155600e5415620008585760405162461bcd60e51b8152600401808060200182810382526056815260200180620044206056913960600191505060405180910390fd5b600a60009054906101000a90046001600160a01b03166001600160a01b0316634e71d92d6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015620008a957600080fd5b505af1158015620008be573d6000803e3d6000fd5b505050506040513d6020811015620008d557600080fd5b5051600e819055620009195760405162461bcd60e51b815260040180806020018281038252604a815260200180620041b7604a913960600191505060405180910390fd5b600854604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156200097e57600080fd5b505afa15801562000993573d6000803e3d6000fd5b505050506040513d6020811015620009aa57600080fd5b5051600e54909150811015620009f25760405162461bcd60e51b8152600401808060200182810382526042815260200180620042a36042913960600191505060405180910390fd5b600e5560018055565b6008546001600160a01b031681565b62000a146200206a565b6000546001600160a01b0390811691161462000a77576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811662000abe5760405162461bcd60e51b8152600401808060200182810382526045815260200180620046de6045913960600191505060405180910390fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b62000aea6200206a565b6000546001600160a01b0390811691161462000b4d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6002600154141562000bf0576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155600c5460ff1662000c385760405162461bcd60e51b8152600401808060200182810382526069815260200180620042016069913960800191505060405180910390fd5b600b54811062000c7a5760405162461bcd60e51b8152600401808060200182810382526045815260200180620043976045913960600191505060405180910390fd5b600062000c88600262001f52565b82101562000cc6576006600062000ca160028562001f5f565b6001600160a01b03908116825260208201929092526040016000205416905062000d05565b6006600062000ce562000cda600262001f52565b600490860362001f5f565b6001600160a01b0390811682526020820192909252604001600020541690505b6000600d838154811062000d1557fe5b90600052602060002001549050600081111562000e6e576000600d848154811062000d3c57fe5b60009182526020808320909101929092556008546040805163a9059cbb60e01b81526001600160a01b038781166004830152602482018790529151919092169363a9059cbb936044808501949293928390030190829087803b15801562000da257600080fd5b505af115801562000db7573d6000803e3d6000fd5b505050506040513d602081101562000dce57600080fd5b505162000e0d5760405162461bcd60e51b8152600401808060200182810382526037815260200180620045856037913960400191505060405180910390fd5b816001600160a01b0316633c6b16ab826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562000e5457600080fd5b505af115801562000e69573d6000803e3d6000fd5b505050505b50506001805550565b6000620004bf60028362001f34565b6000546001600160a01b031690565b62000e9f6200206a565b6000546001600160a01b0390811691161462000f02576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600c5460ff161562000f465760405162461bcd60e51b8152600401808060200182810382526066815260200180620041126066913960800191505060405180910390fd5b6001600160a01b03811662000f8d5760405162461bcd60e51b81526004018080602001828103825260498152602001806200461b6049913960600191505060405180910390fd5b62000f9881620004cb565b1562000fd65760405162461bcd60e51b8152600401808060200182810382526042815260200180620044766042913960600191505060405180910390fd5b6000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156200101257600080fd5b505afa15801562001027573d6000803e3d6000fd5b505050506040513d60208110156200103e57600080fd5b50516040805163d21220a760e01b815290519192506000916001600160a01b0385169163d21220a7916004808301926020929190829003018186803b1580156200108757600080fd5b505afa1580156200109c573d6000803e3d6000fd5b505050506040513d6020811015620010b357600080fd5b505190506001600160a01b038281169082161415620011045760405162461bcd60e51b8152600401808060200182810382526044815260200180620043dc6044913960600191505060405180910390fd5b6008546040516000916001600160a01b0316908590620011249062002449565b6001600160a01b03928316815291166020820152604080519182900301906000f08015801562001158573d6000803e3d6000fd5b506001600160a01b03858116600090815260066020526040902080546001600160a01b0319168383161790556007549192509081169084161480620011aa57506007546001600160a01b038381169116145b156200120057620011bd6002856200206e565b620011fa5760405162461bcd60e51b81526004018080602001828103825260398152602001806200426a6039913960400191505060405180910390fd5b62001275565b6008546001600160a01b03848116911614806200122a57506008546001600160a01b038381169116145b156200123d57620011bd6004856200206e565b60405162461bcd60e51b8152600401808060200182810382526044815260200180620040566044913960600191505060405180910390fd5b600b546200128590600162001f6d565b600b5550505050565b62001298620004ee565b620012a2620012a4565b565b60026001541415620012fd576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155600c5460ff16620013455760405162461bcd60e51b815260040180806020018281038252605f815260200180620045bc605f913960600191505060405180910390fd5b600c805460ff19169055600080805b600d5481101562001539576200136b600262001f52565b811015620013a957600660006200138460028462001f5f565b6001600160a01b039081168252602082019290925260400160002054169250620013e8565b60066000620013c8620013bd600262001f52565b600490850362001f5f565b6001600160a01b0390811682526020820192909252604001600020541692505b600d8181548110620013f657fe5b90600052602060002001549150600082111562001530576008546040805163a9059cbb60e01b81526001600160a01b038681166004830152602482018690529151919092169163a9059cbb9160448083019260209291908290030181600087803b1580156200146457600080fd5b505af115801562001479573d6000803e3d6000fd5b505050506040513d60208110156200149057600080fd5b5051620014cf5760405162461bcd60e51b8152600401808060200182810382526037815260200180620045856037913960400191505060405180910390fd5b826001600160a01b0316633c6b16ab836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200151657600080fd5b505af11580156200152b573d6000803e3d6000fd5b505050505b60010162001354565b50506000600e555060018055565b600e5481565b620015576200206a565b6000546001600160a01b03908116911614620015ba576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600c5460ff1615620015fe5760405162461bcd60e51b815260040180806020018281038252606c81526020018062004519606c913960800191505060405180910390fd5b6200160981620004cb565b620016465760405162461bcd60e51b8152600401808060200182810382526041815260200180620043356041913960600191505060405180910390fd5b6000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156200168257600080fd5b505afa15801562001697573d6000803e3d6000fd5b505050506040513d6020811015620016ae57600080fd5b50516040805163d21220a760e01b815290519192506000916001600160a01b0385169163d21220a7916004808301926020929190829003018186803b158015620016f757600080fd5b505afa1580156200170c573d6000803e3d6000fd5b505050506040513d60208110156200172357600080fd5b50516001600160a01b03808516600090815260066020526040902080546001600160a01b0319169055600754919250838116911614806200177157506007546001600160a01b038281169116145b15620017c7576200178460028462002085565b620017c15760405162461bcd60e51b815260040180806020018281038252603f81526020018062004178603f913960400191505060405180910390fd5b62001811565b620017d460048462002085565b620018115760405162461bcd60e51b815260040180806020018281038252603f81526020018062004178603f913960400191505060405180910390fd5b600b54620018219060016200209c565b600b55505050565b600d81815481106200183a57600080fd5b600091825260209091200154905081565b6000806000846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156200188a57600080fd5b505afa1580156200189f573d6000803e3d6000fd5b505050506040513d6060811015620018b657600080fd5b50805160209182015160085460408051630dfe168160e01b815290516dffffffffffffffffffffffffffff94851697509390921694506000936001600160a01b0391821693918a1692630dfe16819260048083019392829003018186803b1580156200192157600080fd5b505afa15801562001936573d6000803e3d6000fd5b505050506040513d60208110156200194d57600080fd5b50516001600160a01b0316141562001973576200196b818462001f6d565b905062001a3f565b6008546040805163d21220a760e01b815290516001600160a01b039283169289169163d21220a7916004808301926020929190829003018186803b158015620019bb57600080fd5b505afa158015620019d0573d6000803e3d6000fd5b505050506040513d6020811015620019e757600080fd5b50516001600160a01b03161462001a305760405162461bcd60e51b8152600401808060200182810382526050815260200180620042e56050913960600191505060405180910390fd5b62001a3c818362001f6d565b90505b670de0b6b3a764000062001a668162000775600262001a5f868b62001fc8565b9062001fc8565b979650505050505050565b6009546000906001600160a01b031662001abd5760405162461bcd60e51b815260040180806020018281038252603b8152602001806200401b603b913960400191505060405180910390fd5b600080600960009054906101000a90046001600160a01b03166001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801562001b0f57600080fd5b505afa15801562001b24573d6000803e3d6000fd5b505050506040513d606081101562001b3b57600080fd5b50805160209182015160075460095460408051630dfe168160e01b815290516dffffffffffffffffffffffffffff95861698509490931695506001600160a01b0391821694911692630dfe1681926004808201939291829003018186803b15801562001ba657600080fd5b505afa15801562001bbb573d6000803e3d6000fd5b505050506040513d602081101562001bd257600080fd5b50516001600160a01b0316141562001bf85762001bf08183620020e0565b925062001c07565b62001c048282620020e0565b92505b505090565b6000806000836001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801562001c4b57600080fd5b505afa15801562001c60573d6000803e3d6000fd5b505050506040513d606081101562001c7757600080fd5b50805160209182015160075460408051630dfe168160e01b815290516dffffffffffffffffffffffffffff94851697509390921694506000936001600160a01b039182169391891692630dfe16819260048083019392829003018186803b15801562001ce257600080fd5b505afa15801562001cf7573d6000803e3d6000fd5b505050506040513d602081101562001d0e57600080fd5b50516001600160a01b0316141562001d345762001d2c818462001f6d565b905062001e00565b6007546040805163d21220a760e01b815290516001600160a01b039283169288169163d21220a7916004808301926020929190829003018186803b15801562001d7c57600080fd5b505afa15801562001d91573d6000803e3d6000fd5b505050506040513d602081101562001da857600080fd5b50516001600160a01b03161462001df15760405162461bcd60e51b8152600401808060200182810382526053815260200180620046646053913960600191505060405180910390fd5b62001dfd818362001f6d565b90505b62001e0d81600262001fc8565b95945050505050565b62001e206200206a565b6000546001600160a01b0390811691161462001e83576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b03811662001eca5760405162461bcd60e51b81526004018080602001828103825260268152602001806200409a6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6009546001600160a01b031681565b600062001f4b836001600160a01b03841662002157565b9392505050565b6000620004bf826200216f565b600062001f4b838362002173565b60008282018381101562001f4b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008262001fd957506000620004bf565b8282028284828162001fe757fe5b041462001f4b5760405162461bcd60e51b8152600401808060200182810382526021815260200180620043766021913960400191505060405180910390fd5b600062001f4b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620021da565b3390565b600062001f4b836001600160a01b03841662002281565b600062001f4b836001600160a01b038416620022d0565b600062001f4b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506200239c565b60008083118015620020f25750600082115b6200212f5760405162461bcd60e51b8152600401808060200182810382526027815260200180620046b76027913960400191505060405180910390fd5b670de0b6b3a76400006200214f62002148828562001fc8565b8562002026565b949350505050565b60009081526001919091016020526040902054151590565b5490565b81546000908210620021b75760405162461bcd60e51b815260040180806020018281038252602281526020018062003ff96022913960400191505060405180910390fd5b826000018281548110620021c757fe5b9060005260206000200154905092915050565b600081836200226a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200222e57818101518382015260200162002214565b50505050905090810190601f1680156200225c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816200227757fe5b0495945050505050565b60006200228f838362002157565b620022c757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155620004bf565b506000620004bf565b600081815260018301602052604081205480156200239157835460001980830191908101906000908790839081106200230557fe5b90600052602060002001549050808760000184815481106200232357fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806200235457fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050620004bf565b6000915050620004bf565b60008184841115620023f15760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156200222e57818101518382015260200162002214565b505050900390565b82805482825590600052602060002090810192821562002437579160200282015b82811115620024375782518255916020019190600101906200241a565b506200244592915062002457565b5090565b611b8a806200246f83390190565b5b808211156200244557600081556001016200245856fe6080604052600060045560006005556201518060065534801561002157600080fd5b50604051611b8a380380611b8a8339818101604052604081101561004457600080fd5b5080516020909101516001600090815561005c6100db565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b039384166001600160a01b031991821617909155600380549290931691161790556100df565b3390565b611a9c806100ee6000396000f3fe608060405234801561001057600080fd5b50600436106101ad5760003560e01c80638980f11f116100ee578063cd3daf9d11610097578063e9fad8ee11610071578063e9fad8ee14610382578063ebe2b12b1461038a578063ecd9ba8214610392578063f2fde38b146103ca576101ad565b8063cd3daf9d1461036a578063d1af0c7d14610372578063df136d651461037a576101ad565b8063a694fc3a116100c8578063a694fc3a14610328578063c8f33c9114610345578063cc1a378f1461034d576101ad565b80638980f11f146102ce5780638b876347146102fa5780638da5cb5b14610320576101ad565b80633c6b16ab1161015b578063715018a611610135578063715018a61461029257806372f702f31461029a5780637b0a47ee146102be57806380faa57d146102c6576101ad565b80633c6b16ab146102475780633d18b9121461026457806370a082311461026c576101ad565b80631c1f78eb1161018c5780631c1f78eb146102185780632e1a7d4d14610220578063386a95251461023f576101ad565b80628cc262146101b25780630700037d146101ea57806318160ddd14610210575b600080fd5b6101d8600480360360208110156101c857600080fd5b50356001600160a01b03166103f0565b60408051918252519081900360200190f35b6101d86004803603602081101561020057600080fd5b50356001600160a01b031661046e565b6101d8610480565b6101d8610487565b61023d6004803603602081101561023657600080fd5b50356104a5565b005b6101d8610647565b61023d6004803603602081101561025d57600080fd5b503561064d565b61023d6108ba565b6101d86004803603602081101561028257600080fd5b50356001600160a01b03166109f1565b61023d610a0c565b6102a2610acd565b604080516001600160a01b039092168252519081900360200190f35b6101d8610adc565b6101d8610ae2565b61023d600480360360408110156102e457600080fd5b506001600160a01b038135169060200135610af0565b6101d86004803603602081101561031057600080fd5b50356001600160a01b0316610c6d565b6102a2610c7f565b61023d6004803603602081101561033e57600080fd5b5035610c8e565b6101d8610e31565b61023d6004803603602081101561036357600080fd5b5035610e37565b6101d8610f71565b6102a2610fbf565b6101d8610fce565b61023d610fd4565b6101d8610ff7565b61023d600480360360a08110156103a857600080fd5b5080359060208101359060ff6040820135169060608101359060800135610ffd565b61023d600480360360208110156103e057600080fd5b50356001600160a01b0316611248565b6001600160a01b0381166000908152600a60209081526040808320546009909252822054610468919061046290670de0b6b3a76400009061045c9061043d90610437610f71565b90611360565b6001600160a01b0388166000908152600c6020526040902054906113a9565b90611402565b90611444565b92915050565b600a6020526000908152604090205481565b600b545b90565b60006104a06006546005546113a990919063ffffffff16565b905090565b600260005414156104fd576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000553361050b610f71565b600855610516610ae2565b6007556001600160a01b0381161561055d57610531816103f0565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b600082116105b2576040805162461bcd60e51b815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b600b546105bf9083611360565b600b55336000908152600c60205260409020546105dc9083611360565b336000818152600c6020526040902091909155600354610608916001600160a01b03909116908461149e565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a250506001600055565b60065481565b610655611523565b6001546001600160a01b039081169116146106b7576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60006106c1610f71565b6008556106cc610ae2565b6007556001600160a01b03811615610713576106e7816103f0565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b60045442106107325760065461072a908390611402565b600555610775565b6004546000906107429042611360565b9050600061075b600554836113a990919063ffffffff16565b60065490915061076f9061045c8684611444565b60055550505b600254604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156107d957600080fd5b505afa1580156107ed573d6000803e3d6000fd5b505050506040513d602081101561080357600080fd5b5051600654909150610816908290611402565b600554111561086c576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600781905560065461087f9190611444565b6004556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b60026000541415610912576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005533610920610f71565b60085561092b610ae2565b6007556001600160a01b0381161561097257610946816103f0565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b336000908152600a602052604090205480156109e857336000818152600a60205260408120556002546109b1916001600160a01b03909116908361149e565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b50506001600055565b6001600160a01b03166000908152600c602052604090205490565b610a14611523565b6001546001600160a01b03908116911614610a76576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36001805473ffffffffffffffffffffffffffffffffffffffff19169055565b6003546001600160a01b031681565b60055481565b60006104a042600454611527565b610af8611523565b6001546001600160a01b03908116911614610b5a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60026000541415610bb2576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000556003546001600160a01b0383811691161415610c045760405162461bcd60e51b8152600401808060200182810382526021815260200180611a466021913960400191505060405180910390fd5b610c20610c0f610c7f565b6001600160a01b038416908361149e565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a150506001600055565b60096020526000908152604090205481565b6001546001600160a01b031690565b60026000541415610ce6576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005533610cf4610f71565b600855610cff610ae2565b6007556001600160a01b03811615610d4657610d1a816103f0565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b60008211610d9b576040805162461bcd60e51b815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b600b54610da89083611444565b600b55336000908152600c6020526040902054610dc59083611444565b336000818152600c6020526040902091909155600354610df2916001600160a01b0390911690308561153d565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a250506001600055565b60075481565b610e3f611523565b6001546001600160a01b03908116911614610ea1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6004544211610ee15760405162461bcd60e51b81526004018080602001828103825260588152602001806119576058913960600191505060405180910390fd5b60008111610f36576040805162461bcd60e51b815260206004820152601d60248201527f526577617264206475726174696f6e2063616e2774206265207a65726f000000604482015290519081900360640190fd5b60068190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600b5460001415610f875750600854610484565b6104a0610fb6600b5461045c670de0b6b3a7640000610fb0600554610fb0600754610437610ae2565b906113a9565b60085490611444565b6002546001600160a01b031681565b60085481565b336000908152600c6020526040902054610fed906104a5565b610ff56108ba565b565b60045481565b60026000541415611055576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005533611063610f71565b60085561106e610ae2565b6007556001600160a01b038116156110b557611089816103f0565b6001600160a01b0382166000908152600a60209081526040808320939093556008546009909152919020555b6000861161110a576040805162461bcd60e51b815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b600b546111179087611444565b600b55336000908152600c60205260409020546111349087611444565b336000818152600c60205260408082209390935560035483517fd505accf0000000000000000000000000000000000000000000000000000000081526004810193909352306024840152604483018a90526064830189905260ff8816608484015260a4830187905260c4830186905292516001600160a01b039093169263d505accf9260e480820193929182900301818387803b1580156111d457600080fd5b505af11580156111e8573d6000803e3d6000fd5b505060035461120592506001600160a01b0316905033308961153d565b60408051878152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050600160005550505050565b611250611523565b6001546001600160a01b039081169116146112b2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166112f75760405162461bcd60e51b81526004018080602001828103825260268152602001806119af6026913960400191505060405180910390fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60006113a283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115cb565b9392505050565b6000826113b857506000610468565b828202828482816113c557fe5b04146113a25760405162461bcd60e51b81526004018080602001828103825260218152602001806119fb6021913960400191505060405180910390fd5b60006113a283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611662565b6000828201838110156113a2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261151e9084906116c7565b505050565b3390565b600081831061153657816113a2565b5090919050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526115c59085906116c7565b50505050565b6000818484111561165a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561161f578181015183820152602001611607565b50505050905090810190601f16801561164c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836116b15760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561161f578181015183820152602001611607565b5060008385816116bd57fe5b0495945050505050565b600061171c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117789092919063ffffffff16565b80519091501561151e5780806020019051602081101561173b57600080fd5b505161151e5760405162461bcd60e51b815260040180806020018281038252602a815260200180611a1c602a913960400191505060405180910390fd5b6060611787848460008561178f565b949350505050565b6060824710156117d05760405162461bcd60e51b81526004018080602001828103825260268152602001806119d56026913960400191505060405180910390fd5b6117d9856118ea565b61182a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106118685780518252601f199092019160209182019101611849565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146118ca576040519150601f19603f3d011682016040523d82523d6000602084013e6118cf565b606091505b50915091506118df8282866118f0565b979650505050505050565b3b151590565b606083156118ff5750816113a2565b82511561190f5782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561161f57818101518382015260200161160756fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f644f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea26469706673582212206f44426a74f577b6d4f862ae02ec89c75f5c1bc3041e522f4a80381cfe10654964736f6c63430007060033456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734c6971756964697479506f6f6c4d616e616765723a3a67657441766178506e67526174696f3a204e6f20415641582d504e472070616972207365744c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a204e6f2041564158206f7220504e4720696e2074686520706169724f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734c6971756964697479506f6f6c4d616e616765723a3a63616c63756c61746552657475726e733a204e6f20504e4720746f20616c6c6f636174652e2043616c6c2076657374416c6c6f636174696f6e28292e4c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a2043616e6e6f742061646420706f6f6c206265747765656e2063616c63756c6174696e6720616e6420646973747269627574696e672072657475726e734c6971756964697479506f6f6c4d616e616765723a3a72656d6f766557686974656c6973746564506f6f6c3a20506169722072656d6f7665206661696c65644c6971756964697479506f6f6c4d616e616765723a3a76657374416c6c6f636174696f6e3a204e6f20504e4720746f20636c61696d2e2054727920616761696e20746f6d6f72726f772e4c6971756964697479506f6f6c4d616e616765723a3a64697374726962757465546f6b656e7353696e676c65506f6f6c3a2050726576696f75732072657475726e73206e6f7420616c6c6f63617465642e2043616c6c2063616c63756c61746552657475726e7328294c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a205061697220616464206661696c65644c6971756964697479506f6f6c4d616e616765723a3a76657374416c6c6f636174696f6e3a20496e73756666696369656e7420504e47207472616e736665727265644c6971756964697479506f6f6c4d616e616765723a3a676574506e674c69717569646974793a204f6e65206f662074686520746f6b656e7320696e207468652070616972206d75737420626520504e474c6971756964697479506f6f6c4d616e616765723a3a72656d6f766557686974656c6973746564506f6f6c3a20506f6f6c206e6f742077686974656c6973746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774c6971756964697479506f6f6c4d616e616765723a3a64697374726962757465546f6b656e7353696e676c65506f6f6c3a20496e646578206f7574206f6620626f756e64734c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a20546f6b656e732063616e6e6f74206265206964656e746963616c4c6971756964697479506f6f6c4d616e616765723a3a76657374416c6c6f636174696f6e3a204f6c6420504e4720697320756e616c6c6f63617465642e2043616c6c2064697374726962757465546f6b656e7328292e4c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a20506f6f6c20616c72656164792077686974656c69737465644c6971756964697479506f6f6c4d616e616765723a3a63616c63756c61746552657475726e733a2050726576696f75732072657475726e73206e6f742064697374726962757465642e2043616c6c2064697374726962757465546f6b656e7328294c6971756964697479506f6f6c4d616e616765723a3a72656d6f766557686974656c6973746564506f6f6c3a2043616e6e6f742072656d6f766520706f6f6c206265747765656e2063616c63756c6174696e6720616e6420646973747269627574696e672072657475726e734c6971756964697479506f6f6c4d616e616765723a3a64697374726962757465546f6b656e733a205472616e73666572206661696c65644c6971756964697479506f6f6c4d616e616765723a3a64697374726962757465546f6b656e733a2050726576696f75732072657475726e73206e6f7420616c6c6f63617465642e2043616c6c2063616c63756c61746552657475726e7328294c6971756964697479506f6f6c4d616e616765723a3a61646457686974656c6973746564506f6f6c3a20506f6f6c2063616e6e6f7420626520746865207a65726f20616464726573734c6971756964697479506f6f6c4d616e616765723a3a676574417661784c69717569646974793a204f6e65206f662074686520746f6b656e7320696e207468652070616972206d75737420626520574156415850616e676f6c696e4c6962726172793a20494e53554646494349454e545f4c49515549444954594c6971756964697479506f6f6c4d616e616765723a3a73657441766178506e67506169723a20506f6f6c2063616e6e6f7420626520746865207a65726f20616464726573734c6971756964697479506f6f6c4d616e616765723a3a63616c63756c61746552657475726e733a20417661782f504e472050616972206e6f7420736574a2646970667358221220bf67c4bd337f953fe70e81f6e8ec5ae0c67a7bd0baabd87eb1de99fb8357c59e64736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
