{
	"targets": {
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0x4b9CA958bECaA7EEa3A2801A4f8d5E3FbA500255",
			"source": "SafeDecimalMath",
			"link": "https://base.basescan.org/address/0x4b9CA958bECaA7EEa3A2801A4f8d5E3FbA500255",
			"timestamp": "2024-04-17T17:06:53.000Z",
			"txn": "https://base.basescan.org/tx/0xb3b52bc13217f7653e371271690c7d4b836a651a4271ed284be0dfccb08745b4",
			"network": "base"
		},
		"Math": {
			"name": "Math",
			"address": "0x6bF7fDB0925A89572b3e546085AacAD10DA2e40b",
			"source": "Math",
			"link": "https://base.basescan.org/address/0x6bF7fDB0925A89572b3e546085AacAD10DA2e40b",
			"timestamp": "2024-04-17T17:06:57.000Z",
			"txn": "https://base.basescan.org/tx/0x6f9deaf42233ef2ff40ebc9ebd2358a252beedddee21e9e2784e4de6587c7521",
			"network": "base"
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0x737d328a16FB9e3cb196ECAa0e4f7847058BD2E1",
			"source": "AddressResolver",
			"link": "https://base.basescan.org/address/0x737d328a16FB9e3cb196ECAa0e4f7847058BD2E1",
			"timestamp": "2024-04-17T17:07:01.000Z",
			"txn": "https://base.basescan.org/tx/0xe2221acf7569f50c54163368b65abdeee51b31c2b134c860450f7b884d0d0437",
			"network": "base"
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0x0DD3CD7FAEA2a0F4C42Ef1647C315634F48dB90b",
			"source": "ReadProxy",
			"link": "https://base.basescan.org/address/0x0DD3CD7FAEA2a0F4C42Ef1647C315634F48dB90b",
			"timestamp": "2024-04-17T17:07:05.000Z",
			"txn": "https://base.basescan.org/tx/0xf2b0607ee3de59c8399f9e2fbb4d48933125be059fc696c69c29a93702918c24",
			"network": "base"
		},
		"FlexibleStorage": {
			"name": "FlexibleStorage",
			"address": "0xA11b3A0411041DA84aC84858945426B2f0Ee0149",
			"source": "FlexibleStorage",
			"link": "https://base.basescan.org/address/0xA11b3A0411041DA84aC84858945426B2f0Ee0149",
			"timestamp": "2024-04-17T17:07:13.000Z",
			"txn": "https://base.basescan.org/tx/0x2e546c7d9db4635b423f6802fb4202e8df1d628e27ef6c5f7f8dc495e38a7caf",
			"network": "base"
		},
		"SystemSettings": {
			"name": "SystemSettings",
			"address": "0xB65906910A181e0e166b7f9653a1C5CCF1Ef0Ba6",
			"source": "SystemSettings",
			"link": "https://base.basescan.org/address/0xB65906910A181e0e166b7f9653a1C5CCF1Ef0Ba6",
			"timestamp": "2024-04-17T17:07:19.000Z",
			"txn": "https://base.basescan.org/tx/0xc53c69c1284fa153adac8110383a58fca25fc75ecac1c78da8e6356307745651",
			"network": "base"
		},
		"SystemStatus": {
			"name": "SystemStatus",
			"address": "0x5192bb3cF35ba5d923d98062d57c0f80C0d2AEAF",
			"source": "SystemStatus",
			"link": "https://base.basescan.org/address/0x5192bb3cF35ba5d923d98062d57c0f80C0d2AEAF",
			"timestamp": "2024-04-17T17:07:23.000Z",
			"txn": "https://base.basescan.org/tx/0xa4e72c6991d74b0e1d77665d230c64d6413da10655e2b62dba9bb5ade9a70c5e",
			"network": "base"
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0x63FdAAf4424DB3FC4A46DF0A3B985849ef1dF938",
			"source": "ExchangeRates",
			"link": "https://base.basescan.org/address/0x63FdAAf4424DB3FC4A46DF0A3B985849ef1dF938",
			"timestamp": "2024-04-17T17:07:29.000Z",
			"txn": "https://base.basescan.org/tx/0xf75b6600ea3d2e55f0a824859b86ddc9029d818e625410e4e4ac97ff304363c6",
			"network": "base"
		},
		"RewardEscrow": {
			"name": "RewardEscrow",
			"address": "0xcC0165b5F2d11A26A0A9c2A1d8BA4aCcCfBA1b68",
			"source": "RewardEscrow",
			"link": "https://base.basescan.org/address/0xcC0165b5F2d11A26A0A9c2A1d8BA4aCcCfBA1b68",
			"timestamp": "2024-04-17T17:09:03.000Z",
			"txn": "https://base.basescan.org/tx/0xa57c1edb1eebf62aea4639f4a8e74ec0c539ba2e0bf660be2e1450526383c64e",
			"network": "base"
		},
		"RewardEscrowV2": {
			"name": "RewardEscrowV2",
			"address": "0x2C9D6F0AF5a7C41c18982ED657e3D9faAcE8a125",
			"source": "RewardEscrowV2",
			"link": "https://base.basescan.org/address/0x2C9D6F0AF5a7C41c18982ED657e3D9faAcE8a125",
			"timestamp": "2024-04-17T17:09:09.000Z",
			"txn": "https://base.basescan.org/tx/0xf7e2242dd9938c071fc41dcf2b4ed8127d68703cfce9951ceef1ebfc527d71ae",
			"network": "base"
		},
		"PeriFinanceEscrow": {
			"name": "PeriFinanceEscrow",
			"address": "0x17805756a94932a4B5d4eF9986fccc18080E6462",
			"source": "PeriFinanceEscrow",
			"link": "https://base.basescan.org/address/0x17805756a94932a4B5d4eF9986fccc18080E6462",
			"timestamp": "2024-04-17T17:09:15.000Z",
			"txn": "https://base.basescan.org/tx/0x74ea4061a33d9902697dda8e2d8dfbf1de76a7f8ec85f9db9d5e91cd9a150589",
			"network": "base"
		},
		"PeriFinanceState": {
			"name": "PeriFinanceState",
			"address": "0x9f00620B2d4100045584C0F504eBF6CABd966CbD",
			"source": "PeriFinanceState",
			"link": "https://base.basescan.org/address/0x9f00620B2d4100045584C0F504eBF6CABd966CbD",
			"timestamp": "2024-04-17T17:09:19.000Z",
			"txn": "https://base.basescan.org/tx/0x86732b1f1845776edf5bf8a2843affc28b8ae986ea89d325f26a7c29eaa0871b",
			"network": "base"
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0xc39F74Fca8A4191bA9801360a9e2eAdB0BD6325F",
			"source": "Proxy",
			"link": "https://base.basescan.org/address/0xc39F74Fca8A4191bA9801360a9e2eAdB0BD6325F",
			"timestamp": "2024-04-17T17:09:23.000Z",
			"txn": "https://base.basescan.org/tx/0x3cc1c35a18db79b075996b5889bed9b41652eceaefa93cd1511e9d8696dcdc3f",
			"network": "base"
		},
		"DelegateApprovalsEternalStorage": {
			"name": "DelegateApprovalsEternalStorage",
			"address": "0xda8c9EA4b57752520a297B2A1986F0a231eED28f",
			"source": "EternalStorage",
			"link": "https://base.basescan.org/address/0xda8c9EA4b57752520a297B2A1986F0a231eED28f",
			"timestamp": "2024-04-17T17:09:27.000Z",
			"txn": "https://base.basescan.org/tx/0x97f0aa46990b925fdf17a32b8e75541789adb4c04f6d0a995d93280036aecb16",
			"network": "base"
		},
		"DelegateApprovals": {
			"name": "DelegateApprovals",
			"address": "0x28b9aF62cAd148bedF9f11d2291C0B099642943e",
			"source": "DelegateApprovals",
			"link": "https://base.basescan.org/address/0x28b9aF62cAd148bedF9f11d2291C0B099642943e",
			"timestamp": "2024-04-17T17:09:31.000Z",
			"txn": "https://base.basescan.org/tx/0x381cd3372b1da4c083b4b179271b1f7ec88141f69db5d419f3109de39b5fa34b",
			"network": "base"
		},
		"Liquidations": {
			"name": "Liquidations",
			"address": "0x8D4d1390fC720fF291923A53F0a2164b007f84CE",
			"source": "Liquidations",
			"link": "https://base.basescan.org/address/0x8D4d1390fC720fF291923A53F0a2164b007f84CE",
			"timestamp": "2024-04-23T05:32:55.000Z",
			"txn": "https://base.basescan.org/tx/0x3333d02fa07d7e80eb1af35353171ca58d927e4bcbe81b5a178b4a6d02db0c9b",
			"network": "base"
		},
		"EternalStorageLiquidations": {
			"name": "EternalStorageLiquidations",
			"address": "0x74750732E3450C4FB9a3eD2F485372A2143271E3",
			"source": "EternalStorage",
			"link": "https://base.basescan.org/address/0x74750732E3450C4FB9a3eD2F485372A2143271E3",
			"timestamp": "2024-04-17T17:09:45.000Z",
			"txn": "https://base.basescan.org/tx/0x102466e8cf7014db13c84a65f8bc613ff8e2b33d1d47b5cf4a2c5dec25072247",
			"network": "base"
		},
		"FeePoolEternalStorage": {
			"name": "FeePoolEternalStorage",
			"address": "0xeFC338C8fAB66BFcE3D4d009516B16F2DF880D4A",
			"source": "FeePoolEternalStorage",
			"link": "https://base.basescan.org/address/0xeFC338C8fAB66BFcE3D4d009516B16F2DF880D4A",
			"timestamp": "2024-04-17T17:09:49.000Z",
			"txn": "https://base.basescan.org/tx/0xd2ce3066fee727ee44d2f247b4f1a40838680f2ceae8d89db3de9f3a5cb6350a",
			"network": "base"
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0x56155855c3414E4378fD2932e280348018C11a77",
			"source": "FeePool",
			"link": "https://base.basescan.org/address/0x56155855c3414E4378fD2932e280348018C11a77",
			"timestamp": "2024-04-17T17:09:53.000Z",
			"txn": "https://base.basescan.org/tx/0x971edc1c4e9a9583383d9588fbdf517164bab7c971311d9829424d69632ac30d",
			"network": "base"
		},
		"FeePoolState": {
			"name": "FeePoolState",
			"address": "0x1b4dCf2c2a7A27EC9366c75dB27866a5C8799A82",
			"source": "FeePoolState",
			"link": "https://base.basescan.org/address/0x1b4dCf2c2a7A27EC9366c75dB27866a5C8799A82",
			"timestamp": "2024-04-17T17:10:07.000Z",
			"txn": "https://base.basescan.org/tx/0x9921453233fa2d3dbf2b8db98a0bb825f787e8f935900bf46db6beb1f894590f",
			"network": "base"
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0xF5986aCF09cd2F2A47add4E8D15441559E7974Ea",
			"source": "RewardsDistribution",
			"link": "https://base.basescan.org/address/0xF5986aCF09cd2F2A47add4E8D15441559E7974Ea",
			"timestamp": "2024-04-17T17:10:11.000Z",
			"txn": "https://base.basescan.org/tx/0x379e25b975d4809c96d7576b8b4a4e7b8497f51192f6d0d84e28ab2629b98e15",
			"network": "base"
		},
		"ProxyERC20": {
			"name": "ProxyERC20",
			"address": "0xa8dA6145919B7F710cb18dE3f5093860ED960c1b",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0xa8dA6145919B7F710cb18dE3f5093860ED960c1b",
			"timestamp": "2024-04-17T17:10:15.000Z",
			"txn": "https://base.basescan.org/tx/0xba939815642a7236bed988422265b9a107de64bb6476df0e107c54cfbc1bc017",
			"network": "base"
		},
		"TokenStatePeriFinance": {
			"name": "TokenStatePeriFinance",
			"address": "0x77c13aC4EB207d2568188474a66cFe28287bdE02",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0x77c13aC4EB207d2568188474a66cFe28287bdE02",
			"timestamp": "2024-04-17T17:10:19.000Z",
			"txn": "https://base.basescan.org/tx/0x2e814a8fb55ede542c3b5c32373d5896e03699d14b02b810d44b0bcf9e0f99ce",
			"network": "base"
		},
		"BlacklistManager": {
			"name": "BlacklistManager",
			"address": "0x040aC44A4dCc8e1a66ddAA8B29746AcA8AEb9C02",
			"source": "BlacklistManager",
			"link": "https://base.basescan.org/address/0x040aC44A4dCc8e1a66ddAA8B29746AcA8AEb9C02",
			"timestamp": "2024-04-17T17:10:23.000Z",
			"txn": "https://base.basescan.org/tx/0xba54d47d85435f3c968ed984f09f82b281949ccd77449d1cebe1f914f4346f70",
			"network": "base"
		},
		"PeriFinance": {
			"name": "PeriFinance",
			"address": "0x0f2Af7246e1FcbEC5e334092B1F0D91BDA924faD",
			"source": "PeriFinance",
			"link": "https://base.basescan.org/address/0x0f2Af7246e1FcbEC5e334092B1F0D91BDA924faD",
			"timestamp": "2024-04-17T17:10:27.000Z",
			"txn": "https://base.basescan.org/tx/0x59f89b402d18ab86d7067b9e544b37a4c52efc1571f471cd24674a569ef82d96",
			"network": "base"
		},
		"BridgeState": {
			"name": "BridgeState",
			"address": "0x16235FBaB43f4Df258fdF2A7fc382A15A6E8089b",
			"source": "BridgeState",
			"link": "https://base.basescan.org/address/0x16235FBaB43f4Df258fdF2A7fc382A15A6E8089b",
			"timestamp": "2024-04-17T17:10:41.000Z",
			"txn": "https://base.basescan.org/tx/0x301e05091ef9944eb3ad25964ce15ffd43b2a1ad3b85caf16227bc5ed4f3a953",
			"network": "base"
		},
		"DebtCache": {
			"name": "DebtCache",
			"address": "0xdE37084ee92F573081FFc25c4120f17E9818173c",
			"source": "DebtCache",
			"link": "https://base.basescan.org/address/0xdE37084ee92F573081FFc25c4120f17E9818173c",
			"timestamp": "2024-04-17T17:11:15.000Z",
			"txn": "https://base.basescan.org/tx/0x90e4e22117f81806b604859ca832273373d305ccf15e1bf51c29a81cf9f058c6",
			"network": "base"
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0x7C9e1fE07a39E466df79bbEEC8B96Fb9dA938996",
			"source": "Exchanger",
			"link": "https://base.basescan.org/address/0x7C9e1fE07a39E466df79bbEEC8B96Fb9dA938996",
			"timestamp": "2024-09-01T03:24:27.000Z",
			"txn": "https://base.basescan.org/tx/0xd2fc4c32bd90861d4980909b169300035165ac3e0426f3583c1d7b62bf8943b4",
			"network": "base"
		},
		"VirtualPynthIssuer": {
			"name": "VirtualPynthIssuer",
			"address": "0x70Cf53fDaE23DC73B6738062d844D13Cd5EA1fEf",
			"source": "VirtualPynthIssuer",
			"link": "https://base.basescan.org/address/0x70Cf53fDaE23DC73B6738062d844D13Cd5EA1fEf",
			"timestamp": "2024-04-17T17:11:25.000Z",
			"txn": "https://base.basescan.org/tx/0x504e5a02cd6eb8f4753c60a69f87f8b359d067b1fb1ec3ce8ed48ba4589b9a45",
			"network": "base"
		},
		"ExchangeState": {
			"name": "ExchangeState",
			"address": "0xA868fa6218bfdEcDb6f0e503673AF9aCc67F4A7B",
			"source": "ExchangeState",
			"link": "https://base.basescan.org/address/0xA868fa6218bfdEcDb6f0e503673AF9aCc67F4A7B",
			"timestamp": "2024-04-17T17:11:29.000Z",
			"txn": "https://base.basescan.org/tx/0x74faafed41c7c67a8e61ad9c93224d863ed4f196838321263313ca6e65d65eb8",
			"network": "base"
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0xBE4af9D62A7d2095E78B2F81c1c1F45E797aAeca",
			"source": "Issuer",
			"link": "https://base.basescan.org/address/0xBE4af9D62A7d2095E78B2F81c1c1F45E797aAeca",
			"timestamp": "2024-04-17T17:11:47.000Z",
			"txn": "https://base.basescan.org/tx/0x7f8e7b86e7eae9b45c89610eff7924602f6238ebf0c1f2c4ccf1be9d1078725e",
			"network": "base"
		},
		"TradingRewards": {
			"name": "TradingRewards",
			"address": "0xfEd2e47E09cC1e225E5C7C02660b611547c33eA3",
			"source": "TradingRewards",
			"link": "https://base.basescan.org/address/0xfEd2e47E09cC1e225E5C7C02660b611547c33eA3",
			"timestamp": "2024-04-17T17:11:51.000Z",
			"txn": "https://base.basescan.org/tx/0xdfdce97a65d747b93406ed8de835243ed149967f9d417e13ac9203354fbf8752",
			"network": "base"
		},
		"EscrowChecker": {
			"name": "EscrowChecker",
			"address": "0xd64Fcbd455C7D64F4e8c221Ad7f7359852AEa66d",
			"source": "EscrowChecker",
			"link": "https://base.basescan.org/address/0xd64Fcbd455C7D64F4e8c221Ad7f7359852AEa66d",
			"timestamp": "2024-04-17T17:11:59.000Z",
			"txn": "https://base.basescan.org/tx/0xe5427e0f6c536844e4e852230f430860c3436abe5c5f1265c22e7b9c98b6c2f3",
			"network": "base"
		},
		"SupplySchedule": {
			"name": "SupplySchedule",
			"address": "0x0B793C281A3a51E7c4f5E6bfe60457796EdE6a21",
			"source": "SupplySchedule",
			"link": "https://base.basescan.org/address/0x0B793C281A3a51E7c4f5E6bfe60457796EdE6a21",
			"timestamp": "2024-04-17T17:12:11.000Z",
			"txn": "https://base.basescan.org/tx/0x5b27108b370e1fbe56ede2f3e47b395406268ea20d942d48a0e8a76a4ab2983d",
			"network": "base"
		},
		"TokenStatepUSD": {
			"name": "TokenStatepUSD",
			"address": "0xF668242f68C818e91433b22D715ede4fe7090579",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0xF668242f68C818e91433b22D715ede4fe7090579",
			"timestamp": "2024-04-17T17:12:33.000Z",
			"txn": "https://base.basescan.org/tx/0xfd16c7fc8e5420bf66c6cd63e780f106f9fc92507eb807e7e42537bd9b4c9e58",
			"network": "base"
		},
		"ProxyERC20pUSD": {
			"name": "ProxyERC20pUSD",
			"address": "0xA7e9e51eB96D41eEE7676cE09A20D4137132FACa",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0xA7e9e51eB96D41eEE7676cE09A20D4137132FACa",
			"timestamp": "2024-04-17T17:12:37.000Z",
			"txn": "https://base.basescan.org/tx/0xf796165db1b94798970fdd6c56559d4446baf65841301b6a4aaa9a0f59f63c68",
			"network": "base"
		},
		"PynthpUSD": {
			"name": "PynthpUSD",
			"address": "0x9019eb72BB577678cB2B39EA2150bCf61f9468dD",
			"source": "MultiCollateralPynth",
			"link": "https://base.basescan.org/address/0x9019eb72BB577678cB2B39EA2150bCf61f9468dD",
			"timestamp": "2024-04-17T17:12:43.000Z",
			"txn": "https://base.basescan.org/tx/0x46af52d709ebc738b35d9530f650a378fc58894b7d7746885eb9cf7a2bb8b69f",
			"network": "base"
		},
		"BridgeStatepUSD": {
			"name": "BridgeStatepUSD",
			"address": "0x2328E80689673D6365CE5d41e89102c204c57C18",
			"source": "BridgeState",
			"link": "https://base.basescan.org/address/0x2328E80689673D6365CE5d41e89102c204c57C18",
			"timestamp": "2024-04-17T17:12:49.422Z",
			"txn": "",
			"network": "base"
		},
		"TokenStatepBTC": {
			"name": "TokenStatepBTC",
			"address": "0x7834B4c3c52FAFe4c8931939969999D0810900f8",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0x7834B4c3c52FAFe4c8931939969999D0810900f8",
			"timestamp": "2024-04-17T17:13:33.465Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pBTC": {
			"name": "ProxyERC20pBTC",
			"address": "0xF02058C9c2bB3b18E6f63D414392818e757674c8",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0xF02058C9c2bB3b18E6f63D414392818e757674c8",
			"timestamp": "2024-04-17T17:13:37.299Z",
			"txn": "",
			"network": "base"
		},
		"PynthpBTC": {
			"name": "PynthpBTC",
			"address": "0x993308a2AD954b94d3Ee3AD04CCc29824b2120B2",
			"source": "MultiCollateralPynth",
			"link": "https://base.basescan.org/address/0x993308a2AD954b94d3Ee3AD04CCc29824b2120B2",
			"timestamp": "2024-04-17T17:13:41.287Z",
			"txn": "",
			"network": "base"
		},
		"TokenStatepETH": {
			"name": "TokenStatepETH",
			"address": "0xB2f5Cd646Aab5f887150945576d51a8B5902F288",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0xB2f5Cd646Aab5f887150945576d51a8B5902F288",
			"timestamp": "2024-04-17T17:13:57.490Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pETH": {
			"name": "ProxyERC20pETH",
			"address": "0xdc8cbe40C498dfdd26709df19d52F7D14d9d4442",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0xdc8cbe40C498dfdd26709df19d52F7D14d9d4442",
			"timestamp": "2024-04-17T17:14:02.507Z",
			"txn": "",
			"network": "base"
		},
		"PynthpETH": {
			"name": "PynthpETH",
			"address": "0x81746f261c324eD7f81dDc9Fa9DC31AF640600fF",
			"source": "MultiCollateralPynth",
			"link": "https://base.basescan.org/address/0x81746f261c324eD7f81dDc9Fa9DC31AF640600fF",
			"timestamp": "2024-04-17T17:14:06.680Z",
			"txn": "",
			"network": "base"
		},
		"TokenStatepOP": {
			"name": "TokenStatepOP",
			"address": "0x6B34AB8594e83c4fc4897dcf75e3F0f0064C8469",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0x6B34AB8594e83c4fc4897dcf75e3F0f0064C8469",
			"timestamp": "2024-04-17T17:14:22.394Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pOP": {
			"name": "ProxyERC20pOP",
			"address": "0xB3D49Ff2C8237e42eba4BF0f1FeD2FD0761212Ba",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0xB3D49Ff2C8237e42eba4BF0f1FeD2FD0761212Ba",
			"timestamp": "2024-04-17T17:14:27.218Z",
			"txn": "",
			"network": "base"
		},
		"PynthpOP": {
			"name": "PynthpOP",
			"address": "0x0E5DC117f8338E14A5390c6C01120e1BDf70b814",
			"source": "Pynth",
			"link": "https://base.basescan.org/address/0x0E5DC117f8338E14A5390c6C01120e1BDf70b814",
			"timestamp": "2024-04-17T17:14:30.282Z",
			"txn": "",
			"network": "base"
		},
		"TokenStatepCOMP": {
			"name": "TokenStatepCOMP",
			"address": "0x650A2c2c03008A3AD1134Dc36f22024F5f32c502",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0x650A2c2c03008A3AD1134Dc36f22024F5f32c502",
			"timestamp": "2024-04-17T17:14:48.201Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pCOMP": {
			"name": "ProxyERC20pCOMP",
			"address": "0xd046ba381eE5f60Caef16f740CB6b1cA3Bf23644",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0xd046ba381eE5f60Caef16f740CB6b1cA3Bf23644",
			"timestamp": "2024-04-17T17:14:53.188Z",
			"txn": "",
			"network": "base"
		},
		"PynthpCOMP": {
			"name": "PynthpCOMP",
			"address": "0xc7fA2359553f676bEAf581B4174e59b0C910e157",
			"source": "Pynth",
			"link": "https://base.basescan.org/address/0xc7fA2359553f676bEAf581B4174e59b0C910e157",
			"timestamp": "2024-04-17T17:14:57.218Z",
			"txn": "",
			"network": "base"
		},
		"TokenStatepLINK": {
			"name": "TokenStatepLINK",
			"address": "0x0D7e13F847a17CfA53768a85EA23865E2aa2cFae",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0x0D7e13F847a17CfA53768a85EA23865E2aa2cFae",
			"timestamp": "2024-04-17T17:15:15.000Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pLINK": {
			"name": "ProxyERC20pLINK",
			"address": "0x0ff3992E069dBD091FfA3736cEFd6e957D7E6433",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0x0ff3992E069dBD091FfA3736cEFd6e957D7E6433",
			"timestamp": "2024-04-17T17:15:18.773Z",
			"txn": "",
			"network": "base"
		},
		"PynthpLINK": {
			"name": "PynthpLINK",
			"address": "0x022c64C904EFb58AF6a75A5e2621BEd22Ce9B637",
			"source": "Pynth",
			"link": "https://base.basescan.org/address/0x022c64C904EFb58AF6a75A5e2621BEd22Ce9B637",
			"timestamp": "2024-04-17T17:15:21.000Z",
			"txn": "https://base.basescan.org/tx/0x79ce8ea9c10b091545a3187dc52b43a97eaf132ecb15294eb25493c78956b4aa",
			"network": "base"
		},
		"TokenStatepSNX": {
			"name": "TokenStatepSNX",
			"address": "0x221C65E41403fB8764ab5Fb05acC7d630cd54398",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0x221C65E41403fB8764ab5Fb05acC7d630cd54398",
			"timestamp": "2024-04-17T17:15:40.603Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pSNX": {
			"name": "ProxyERC20pSNX",
			"address": "0x3c7027C9500bF29002BB3F305e4F2a9612b10397",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0x3c7027C9500bF29002BB3F305e4F2a9612b10397",
			"timestamp": "2024-04-17T17:15:44.840Z",
			"txn": "",
			"network": "base"
		},
		"PynthpSNX": {
			"name": "PynthpSNX",
			"address": "0xa0D2eb4BE11853BA5865E3ff96008EC96D82b08a",
			"source": "Pynth",
			"link": "https://base.basescan.org/address/0xa0D2eb4BE11853BA5865E3ff96008EC96D82b08a",
			"timestamp": "2024-04-17T17:15:48.830Z",
			"txn": "",
			"network": "base"
		},
		"TokenStatepSOL": {
			"name": "TokenStatepSOL",
			"address": "0x47957DB80E51ca580294d091CDa097c21DADef8A",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0x47957DB80E51ca580294d091CDa097c21DADef8A",
			"timestamp": "2024-04-17T17:16:04.738Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pSOL": {
			"name": "ProxyERC20pSOL",
			"address": "0x593E7705C04A19eB5C08D25352E108Da3A787F53",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0x593E7705C04A19eB5C08D25352E108Da3A787F53",
			"timestamp": "2024-04-17T17:16:08.511Z",
			"txn": "",
			"network": "base"
		},
		"PynthpSOL": {
			"name": "PynthpSOL",
			"address": "0x346d5EF7c7C3720717FA4f0dD68d253B83668EeC",
			"source": "Pynth",
			"link": "https://base.basescan.org/address/0x346d5EF7c7C3720717FA4f0dD68d253B83668EeC",
			"timestamp": "2024-04-17T17:16:12.657Z",
			"txn": "",
			"network": "base"
		},
		"TokenStatepYFI": {
			"name": "TokenStatepYFI",
			"address": "0x6D18497C5706a16D56234414aFb5cDA9e3F6E5c9",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0x6D18497C5706a16D56234414aFb5cDA9e3F6E5c9",
			"timestamp": "2024-04-17T17:16:28.635Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pYFI": {
			"name": "ProxyERC20pYFI",
			"address": "0xDf4046a4FC36a6a7c56bB7A799c53bf6b369E644",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0xDf4046a4FC36a6a7c56bB7A799c53bf6b369E644",
			"timestamp": "2024-04-17T17:16:33.654Z",
			"txn": "",
			"network": "base"
		},
		"PynthpYFI": {
			"name": "PynthpYFI",
			"address": "0x006E75c2B4fF1f38bF4Dc61A598313F1B9DA77d1",
			"source": "Pynth",
			"link": "https://base.basescan.org/address/0x006E75c2B4fF1f38bF4Dc61A598313F1B9DA77d1",
			"timestamp": "2024-04-17T17:16:39.248Z",
			"txn": "",
			"network": "base"
		},
		"TokenStatepAPT": {
			"name": "TokenStatepAPT",
			"address": "0xdeeEef4729337bA53b28E60d176334F21769fc5f",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0xdeeEef4729337bA53b28E60d176334F21769fc5f",
			"timestamp": "2024-04-17T17:16:54.751Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pAPT": {
			"name": "ProxyERC20pAPT",
			"address": "0x9ec6613eaafc049AC8B7d87Abeade6da7C4bD50f",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0x9ec6613eaafc049AC8B7d87Abeade6da7C4bD50f",
			"timestamp": "2024-04-17T17:16:59.131Z",
			"txn": "",
			"network": "base"
		},
		"PynthpAPT": {
			"name": "PynthpAPT",
			"address": "0xD9d7F73b4F90153E7389bC1539DC99d33bf3D82D",
			"source": "Pynth",
			"link": "https://base.basescan.org/address/0xD9d7F73b4F90153E7389bC1539DC99d33bf3D82D",
			"timestamp": "2024-04-17T17:17:04.186Z",
			"txn": "",
			"network": "base"
		},
		"StakingState": {
			"name": "StakingState",
			"address": "0x46879973EB529F64e7fC5ae90709Ae95DcCA7f19",
			"source": "StakingState",
			"link": "https://base.basescan.org/address/0x46879973EB529F64e7fC5ae90709Ae95DcCA7f19",
			"timestamp": "2024-04-17T17:17:19.000Z",
			"txn": "https://base.basescan.org/tx/0xe1a05b0493c2a0a1849bd4e81e758cc4d06f2cfcbd09b8d7c78a26a33bceb095",
			"network": "base"
		},
		"ExternalTokenStakeManager": {
			"name": "ExternalTokenStakeManager",
			"address": "0x13f872abfA72c8b676f24c11b7F6Bb3fB4651AD7",
			"source": "ExternalTokenStakeManager",
			"link": "https://base.basescan.org/address/0x13f872abfA72c8b676f24c11b7F6Bb3fB4651AD7",
			"timestamp": "2024-04-21T16:01:41.000Z",
			"txn": "https://base.basescan.org/tx/0x7344c7714b43c71faaec34b752dd0a1f5a6e3d2cd00f722cddd4bc35c1b991b1",
			"network": "base"
		},
		"CrossChainState": {
			"name": "CrossChainState",
			"address": "0x0959B8628B111954375CAfD4bc25b97179cA3893",
			"source": "CrossChainState",
			"link": "https://base.basescan.org/address/0x0959B8628B111954375CAfD4bc25b97179cA3893",
			"timestamp": "2024-04-17T17:17:41.000Z",
			"txn": "https://base.basescan.org/tx/0xbe388c84ad4c957fb85c7462abb72334afd8fdebe6497fada00717efe14bd3c5",
			"network": "base"
		},
		"CrossChainManager": {
			"name": "CrossChainManager",
			"address": "0xACD30b5445620D4F9368bf4E104957294862Bb06",
			"source": "CrossChainManager",
			"link": "https://base.basescan.org/address/0xACD30b5445620D4F9368bf4E104957294862Bb06",
			"timestamp": "2024-04-17T17:17:45.000Z",
			"txn": "https://base.basescan.org/tx/0x9d3cde429a2b1059fd1d90665a715a03a33e26a3c4bce3c4212dd8d8c81b55ac",
			"network": "base"
		},
		"Depot": {
			"name": "Depot",
			"address": "0xc54b0CAB3603A5A4d621C8cE4eE33a5F39B6a6d9",
			"source": "Depot",
			"link": "https://base.basescan.org/address/0xc54b0CAB3603A5A4d621C8cE4eE33a5F39B6a6d9",
			"timestamp": "2024-04-17T17:17:49.000Z",
			"txn": "https://base.basescan.org/tx/0xc7c583be6c28bc119073db04d972bca62314f95968bec537800d62dcac024704",
			"network": "base"
		},
		"EtherCollateral": {
			"name": "EtherCollateral",
			"address": "0x46a39DEee1F3c154aF6538Fc8B307d1C684EA052",
			"source": "EtherCollateral",
			"link": "https://base.basescan.org/address/0x46a39DEee1F3c154aF6538Fc8B307d1C684EA052",
			"timestamp": "2024-04-17T17:17:55.000Z",
			"txn": "https://base.basescan.org/tx/0x73519f6121903f9f01a816a87ae7695e69483db9dbc26c2c92f763b5f5b97d54",
			"network": "base"
		},
		"EtherCollateralpUSD": {
			"name": "EtherCollateralpUSD",
			"address": "0x3a402866d17a89a8Ea56607478C8Bc4Ef128B37d",
			"source": "EtherCollateralpUSD",
			"link": "https://base.basescan.org/address/0x3a402866d17a89a8Ea56607478C8Bc4Ef128B37d",
			"timestamp": "2024-04-17T17:18:01.000Z",
			"txn": "https://base.basescan.org/tx/0x92f9714fbaee5d1fcfd0ccd6b9717463d80724dbd50c2234bc410305268a382b",
			"network": "base"
		},
		"PynthUtil": {
			"name": "PynthUtil",
			"address": "0x12C8b7D71Ca448cA0D1af021ed691315C94953c0",
			"source": "PynthUtil",
			"link": "https://base.basescan.org/address/0x12C8b7D71Ca448cA0D1af021ed691315C94953c0",
			"timestamp": "2024-04-17T17:18:05.000Z",
			"txn": "https://base.basescan.org/tx/0x0f7f9a22ffb7db2a623efd54b460d67db81869d26966e36157a526ba1d0c3d12",
			"network": "base"
		},
		"DappMaintenance": {
			"name": "DappMaintenance",
			"address": "0xD43A56F2342f39a41d4e81EA4405fDc65CFfabb5",
			"source": "DappMaintenance",
			"link": "https://base.basescan.org/address/0xD43A56F2342f39a41d4e81EA4405fDc65CFfabb5",
			"timestamp": "2024-04-17T17:18:09.000Z",
			"txn": "https://base.basescan.org/tx/0x68e22261ef3451fac4a8764139eeba727866db53c786764ab05baf535d39fe31",
			"network": "base"
		},
		"CollateralManagerState": {
			"name": "CollateralManagerState",
			"address": "0x785191893E7022bc507D1cEAE52a29c43e65e5E6",
			"source": "CollateralManagerState",
			"link": "https://base.basescan.org/address/0x785191893E7022bc507D1cEAE52a29c43e65e5E6",
			"timestamp": "2024-04-17T17:18:33.000Z",
			"txn": "https://base.basescan.org/tx/0x91b9065d15ec94210b4c9733226c1ed7fc882c3942e1456dbec6b9d7751d9910",
			"network": "base"
		},
		"CollateralManager": {
			"name": "CollateralManager",
			"address": "0xdD01256ef1eD46eB5b966494E45923ab6B073954",
			"source": "CollateralManager",
			"link": "https://base.basescan.org/address/0xdD01256ef1eD46eB5b966494E45923ab6B073954",
			"timestamp": "2024-04-17T17:18:37.000Z",
			"txn": "https://base.basescan.org/tx/0xbe670d98543df95d93a48da019c36ee343e4f1290629eae1de49895c83fd81e8",
			"network": "base"
		},
		"CollateralStateEth": {
			"name": "CollateralStateEth",
			"address": "0x1B4f8A9065c4b83369eAef99B4473e9d7307158C",
			"source": "CollateralState",
			"link": "https://base.basescan.org/address/0x1B4f8A9065c4b83369eAef99B4473e9d7307158C",
			"timestamp": "2024-04-17T17:18:47.000Z",
			"txn": "https://base.basescan.org/tx/0xc6f24b9a2063cc105bf9f7f623a7988be918ddf4eba1f67987b5b04e48ac6044",
			"network": "base"
		},
		"CollateralEth": {
			"name": "CollateralEth",
			"address": "0x2F47Ac75e0922f994759569cF020a001e5178Bc6",
			"source": "CollateralEth",
			"link": "https://base.basescan.org/address/0x2F47Ac75e0922f994759569cF020a001e5178Bc6",
			"timestamp": "2024-04-17T17:18:51.000Z",
			"txn": "https://base.basescan.org/tx/0xbfc05802c8a74a4824c9252ad087482f607d367d0f79d46c5cfa7b2d75a2b09b",
			"network": "base"
		},
		"CollateralStateErc20": {
			"name": "CollateralStateErc20",
			"address": "0xC30e228dcC425160A64089544535e94eb895d7fe",
			"source": "CollateralState",
			"link": "https://base.basescan.org/address/0xC30e228dcC425160A64089544535e94eb895d7fe",
			"timestamp": "2024-04-17T17:18:59.000Z",
			"txn": "https://base.basescan.org/tx/0x89e46eb08dc384db6cd2e2a89ba12033ea61a34f36e48fe94d161a76776aaa5c",
			"network": "base"
		},
		"CollateralErc20": {
			"name": "CollateralErc20",
			"address": "0x75C4C3ee1d06F46B8698493f4D56D93f2f3f186D",
			"source": "CollateralErc20",
			"link": "https://base.basescan.org/address/0x75C4C3ee1d06F46B8698493f4D56D93f2f3f186D",
			"timestamp": "2024-04-17T17:19:03.000Z",
			"txn": "https://base.basescan.org/tx/0xcf2b1777c678b0092870dc769acd7ed98214b46d8b84b77f5abf2eb5049b4a4a",
			"network": "base"
		},
		"CollateralStateShort": {
			"name": "CollateralStateShort",
			"address": "0xCC59595a3FCeF9A1A84732319f72a72Bd9868C4C",
			"source": "CollateralState",
			"link": "https://base.basescan.org/address/0xCC59595a3FCeF9A1A84732319f72a72Bd9868C4C",
			"timestamp": "2024-04-17T17:19:11.000Z",
			"txn": "https://base.basescan.org/tx/0xb1c6a59365e9dadf39c77d484eccf837d28d0fbd7a4ef81226334176dae824a3",
			"network": "base"
		},
		"CollateralShort": {
			"name": "CollateralShort",
			"address": "0x120Fd6abFa4821EACe5EBb5ce7558e1563347E47",
			"source": "CollateralShort",
			"link": "https://base.basescan.org/address/0x120Fd6abFa4821EACe5EBb5ce7558e1563347E47",
			"timestamp": "2024-04-17T17:19:15.000Z",
			"txn": "https://base.basescan.org/tx/0x52c3a8f8216fec26ad0a08a66d80f208fde312420554dcb6331ef853aed340dc",
			"network": "base"
		},
		"TokenStatepAVAX": {
			"name": "TokenStatepAVAX",
			"address": "0x52805D7FE3a5032260DAAA7e405059CfF9940f0F",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0x52805D7FE3a5032260DAAA7e405059CfF9940f0F",
			"timestamp": "2024-05-01T09:09:26.572Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pAVAX": {
			"name": "ProxyERC20pAVAX",
			"address": "0xa9B47197D8e68710F2dA6fB42bFaF7Ce0b150d30",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0xa9B47197D8e68710F2dA6fB42bFaF7Ce0b150d30",
			"timestamp": "2024-05-01T09:09:30.524Z",
			"txn": "",
			"network": "base"
		},
		"PynthpAVAX": {
			"name": "PynthpAVAX",
			"address": "0x19fE395F8034a645AE3f318168C72551900E4984",
			"source": "Pynth",
			"link": "https://base.basescan.org/address/0x19fE395F8034a645AE3f318168C72551900E4984",
			"timestamp": "2024-05-01T09:09:34.471Z",
			"txn": "",
			"network": "base"
		},
		"TokenStatepBNB": {
			"name": "TokenStatepBNB",
			"address": "0xb9c5F6760e9FA2f1B32dd02e557ED77e2AeCdCE3",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0xb9c5F6760e9FA2f1B32dd02e557ED77e2AeCdCE3",
			"timestamp": "2024-05-01T09:09:50.240Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pBNB": {
			"name": "ProxyERC20pBNB",
			"address": "0xA767085ef8d6731B39c9731b53969B7bA62F8678",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0xA767085ef8d6731B39c9731b53969B7bA62F8678",
			"timestamp": "2024-05-01T09:09:54.663Z",
			"txn": "",
			"network": "base"
		},
		"PynthpBNB": {
			"name": "PynthpBNB",
			"address": "0x10f20453aA46C806211064EE81776d4554946c65",
			"source": "Pynth",
			"link": "https://base.basescan.org/address/0x10f20453aA46C806211064EE81776d4554946c65",
			"timestamp": "2024-05-01T09:09:58.684Z",
			"txn": "",
			"network": "base"
		},
		"TokenStatepMATIC": {
			"name": "TokenStatepMATIC",
			"address": "0xfeE19d9c4f0E853213aEaA440C414D1D03EE5582",
			"source": "TokenState",
			"link": "https://base.basescan.org/address/0xfeE19d9c4f0E853213aEaA440C414D1D03EE5582",
			"timestamp": "2024-05-01T09:10:15.056Z",
			"txn": "",
			"network": "base"
		},
		"ProxyERC20pMATIC": {
			"name": "ProxyERC20pMATIC",
			"address": "0x10A1B364068ef7fD10544d46d8eF76d35E717403",
			"source": "ProxyERC20",
			"link": "https://base.basescan.org/address/0x10A1B364068ef7fD10544d46d8eF76d35E717403",
			"timestamp": "2024-05-01T09:10:18.888Z",
			"txn": "",
			"network": "base"
		},
		"PynthpMATIC": {
			"name": "PynthpMATIC",
			"address": "0x232a0621dF8b997c0d4EEea9aeac0DFDeCA441e1",
			"source": "Pynth",
			"link": "https://base.basescan.org/address/0x232a0621dF8b997c0d4EEea9aeac0DFDeCA441e1",
			"timestamp": "2024-05-01T09:10:22.959Z",
			"txn": "",
			"network": "base"
		}
	},
	"sources": {
		"SafeDecimalMath": {
			"bytecode": "610150610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061007c5760003560e01c80639d8e21771161005a5780639d8e2177146100c1578063d5e5e6e6146100c9578063def4419d146100d15761007c565b8063313ce56714610081578063864029e71461009f578063907af6c0146100b9575b600080fd5b6100896100d9565b6040805160ff9092168252519081900360200190f35b6100a76100de565b60408051918252519081900360200190f35b6100a76100ee565b6100a76100fa565b6100a7610106565b610089610116565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a72315820e396fa45b5a1a8f29cf283f2e13635922bd5758aec8006d8d935bdddb64f3fdd64736f6c63430005100032",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "PRECISE_UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x864029e7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9d8e2177"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "highPrecisionDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdef4419d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "preciseUnit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xd5e5e6e6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x907af6c0"
				}
			],
			"source": {
				"keccak256": "0x2a1a3fd4f7f1b6eefe5a9ba9559ab1cc15e66859dda00c41f5fb05ea1ac914f1",
				"urls": [
					"bzz-raw://a819e54a867f7109298fad3c0bb59b4dd96cdfda19c83e12233b9e195dc73d86",
					"dweb:/ipfs/QmdQCd8yMHa6ML8Vtwid16RXRRMVmoC4EciCjYfwTwhqep"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SafeDecimalMath.sol": "SafeDecimalMath"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"SafeDecimalMath.sol": {
						"keccak256": "0x2a1a3fd4f7f1b6eefe5a9ba9559ab1cc15e66859dda00c41f5fb05ea1ac914f1",
						"urls": [
							"bzz-raw://a819e54a867f7109298fad3c0bb59b4dd96cdfda19c83e12233b9e195dc73d86",
							"dweb:/ipfs/QmdQCd8yMHa6ML8Vtwid16RXRRMVmoC4EciCjYfwTwhqep"
						]
					}
				},
				"version": 1
			}
		},
		"Math": {
			"bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820b781020e3830c9d10c80ecaca1977564628943baef734e359f2d3014ac4d744064736f6c63430005100032",
			"abi": [],
			"source": {
				"keccak256": "0xc6cdc1971460418d5947602bf58ae08abf009557df2cdc90a32a23e639249818",
				"urls": [
					"bzz-raw://28595dbefd7f9fb05de72fc5e11ee9aeb3c55a74dab780579540f9eeb42b87e4",
					"dweb:/ipfs/QmQNzrtLjG32QfyzCoR362SpiToF65ZXDbWtSTgFwFTYsN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Math.sol": "Math"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Math.sol": {
						"keccak256": "0xc6cdc1971460418d5947602bf58ae08abf009557df2cdc90a32a23e639249818",
						"urls": [
							"bzz-raw://28595dbefd7f9fb05de72fc5e11ee9aeb3c55a74dab780579540f9eeb42b87e4",
							"dweb:/ipfs/QmQNzrtLjG32QfyzCoR362SpiToF65ZXDbWtSTgFwFTYsN"
						]
					}
				},
				"version": 1
			}
		},
		"AddressResolver": {
			"bytecode": "608060405234801561001057600080fd5b50604051610b23380380610b238339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050610a29806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806379ba5097116100815780639f42102f1161005b5780639f42102f146101f1578063ab0b8f77146102c7578063dacb2d0114610389576100c9565b806379ba5097146101c457806382b4c11c146101cc5780638da5cb5b146101e9576100c9565b806321f8a721116100b257806321f8a7211461012f57806353a47bb71461014c578063766f781514610154576100c9565b80631627540c146100ce578063187f7935146100f6575b600080fd5b6100f4600480360360208110156100e457600080fd5b50356001600160a01b0316610400565b005b6101136004803603602081101561010c57600080fd5b5035610469565b604080516001600160a01b039092168252519081900360200190f35b6101136004803603602081101561014557600080fd5b5035610484565b61011361049f565b6100f46004803603602081101561016a57600080fd5b81019060208101813564010000000081111561018557600080fd5b82018360208201111561019757600080fd5b803590602001918460208302840111640100000000831117156101b957600080fd5b5090925090506104ae565b6100f4610538565b610113600480360360208110156101e257600080fd5b5035610601565b610113610720565b6102b36004803603604081101561020757600080fd5b81019060208101813564010000000081111561022257600080fd5b82018360208201111561023457600080fd5b8035906020019184602083028401116401000000008311171561025657600080fd5b91939092909160208101903564010000000081111561027457600080fd5b82018360208201111561028657600080fd5b803590602001918460208302840111640100000000831117156102a857600080fd5b50909250905061072f565b604080519115158252519081900360200190f35b6100f4600480360360408110156102dd57600080fd5b8101906020810181356401000000008111156102f857600080fd5b82018360208201111561030a57600080fd5b8035906020019184602083028401116401000000008311171561032c57600080fd5b91939092909160208101903564010000000081111561034a57600080fd5b82018360208201111561035c57600080fd5b8035906020019184602083028401116401000000008311171561037e57600080fd5b5090925090506107b8565b6101136004803603604081101561039f57600080fd5b813591908101906040810160208201356401000000008111156103c157600080fd5b8201836020820111156103d357600080fd5b803590602001918460018302840111640100000000831117156103f557600080fd5b5090925090506108d1565b610408610945565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6001546001600160a01b031681565b60005b81811015610533578282828181106104c557fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050600190920191506104b19050565b505050565b6001546001600160a01b031633146105815760405162461bcd60e51b81526004018080602001828103825260358152602001806109916035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b7f4973737565720000000000000000000000000000000000000000000000000000600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806106a9576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166357ad4663846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d602081101561071757600080fd5b50519392505050565b6000546001600160a01b031681565b6000805b848110156107aa5783838281811061074757fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061077057fe5b60209081029290920135835250810191909152604001600020546001600160a01b0316146107a25760009150506107b0565b600101610733565b50600190505b949350505050565b6107c0610945565b828114610814576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108ca57600085858381811061082d57fe5b905060200201359050600084848481811061084457fe5b600085815260026020908152604091829020805493820295909501356001600160a01b031673ffffffffffffffffffffffffffffffffffffffff199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a15050600101610817565b5050505050565b6000838152600260205260408120546001600160a01b031683838261093a5760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b0316331461098e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806109c6602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820562497282c5a84dd10bd1c706a2e0e48dc2ff9577d133fc0cdf3b1ef94b79abd64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "AddressImported",
					"type": "event",
					"signature": "0xefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa91"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "areAddressesImported",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f42102f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						}
					],
					"name": "getAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f8a721"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "key",
							"type": "bytes32"
						}
					],
					"name": "getPynth",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x82b4c11c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "importAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab0b8f77"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract MixinResolver[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "rebuildCaches",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x766f7815"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "repository",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x187f7935"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "reason",
							"type": "string"
						}
					],
					"name": "requireAndGetAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdacb2d01"
				}
			],
			"source": {
				"keccak256": "0xe94e587ffbeb69e0a59533f0fcba593e30279e9b19f8299534704d9986921ab8",
				"urls": [
					"bzz-raw://c071a61276e8cb99e4de4b8f674eb7ad53a382174690c60f67308448e074aa18",
					"dweb:/ipfs/QmeDcgWKjATmTXquBzsyASXKiSnhjjknT7CGEPRteeruXG"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"AddressResolver.sol": "AddressResolver"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"AddressResolver.sol": {
						"keccak256": "0xe94e587ffbeb69e0a59533f0fcba593e30279e9b19f8299534704d9986921ab8",
						"urls": [
							"bzz-raw://c071a61276e8cb99e4de4b8f674eb7ad53a382174690c60f67308448e074aa18",
							"dweb:/ipfs/QmeDcgWKjATmTXquBzsyASXKiSnhjjknT7CGEPRteeruXG"
						]
					}
				},
				"version": 1
			}
		},
		"ReadProxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516104cc3803806104cc8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506103d2806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c806379ba50971161005057806379ba5097146101085780638da5cb5b14610110578063d4b839921461011857610072565b80631627540c1461009657806353a47bb7146100be578063776d1a01146100e2575b36600080376000803660006002545afa3d6000803e80610091573d6000fd5b3d6000f35b6100bc600480360360208110156100ac57600080fd5b50356001600160a01b0316610120565b005b6100c6610189565b604080516001600160a01b039092168252519081900360200190f35b6100bc600480360360208110156100f857600080fd5b50356001600160a01b0316610198565b6100bc610207565b6100c66102d0565b6100c66102df565b6101286102ee565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6101a06102ee565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102505760405162461bcd60e51b815260040180806020018281038252603581526020018061033a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b031633146103375760405162461bcd60e51b815260040180806020018281038252602f81526020018061036f602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820583ded1fbe3a83e3d4c02b6e456384bc4125d7f7d350e49f153d91edd914c25264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			],
			"source": {
				"keccak256": "0xe05976e6d520d79f52439f01ff6e2ab45ea0896f2fe940d12b9021d850f3dfe2",
				"urls": [
					"bzz-raw://83f79804a50833e9f618647e9ab6f4c3718dbe5349e0b13074081a885d578b4f",
					"dweb:/ipfs/QmXj6gkBaHPK6MT6WH6hvYr7HtZbFbw1BSaKBRqfbM1u6R"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ReadProxy.sol": "ReadProxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"ReadProxy.sol": {
						"keccak256": "0xe05976e6d520d79f52439f01ff6e2ab45ea0896f2fe940d12b9021d850f3dfe2",
						"urls": [
							"bzz-raw://83f79804a50833e9f618647e9ab6f4c3718dbe5349e0b13074081a885d578b4f",
							"dweb:/ipfs/QmXj6gkBaHPK6MT6WH6hvYr7HtZbFbw1BSaKBRqfbM1u6R"
						]
					}
				},
				"version": 1
			}
		},
		"FlexibleStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516127f53803806127f58339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055612790806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109dc578063f7833c5d14610a13578063f9c39d2f14610a36578063fdfc4c1314610aff576101c3565b8063c89eb562146108cd578063d658d2e914610996578063d71a9b01146109b3576101c3565b8063ab15985d116100d3578063ab15985d146106f3578063b67fa7ed146107bc578063c13a2b0c14610833578063c4f610ed146108aa576101c3565b80638ca0adaf146106365780638f6b95a3146106ad5780639ee5955a146106d0576101c3565b806335ab2708116101665780634dca0978116101405780634dca09781461053e5780635bda91e2146105705780636a59e4951461059b5780638408a5e5146105bf576101c3565b806335ab2708146104275780633bd6ad891461044a5780633f28a6fc14610513576101c3565b80631625e3ef116101a25780631625e3ef1461038357806318f662ed146103a65780631d5b277f146103c957806323257c2b146103f2576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102bc575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b22565b005b6101f16004803603606081101561020957600080fd5b8135919081019060408101602082013564010000000081111561022b57600080fd5b82018360208201111561023d57600080fd5b8035906020019184602083028401116401000000008311171561025f57600080fd5b91939092909160208101903564010000000081111561027d57600080fd5b82018360208201111561028f57600080fd5b803590602001918460208302840111640100000000831117156102b157600080fd5b509092509050610c12565b610333600480360360408110156102d257600080fd5b813591908101906040810160208201356401000000008111156102f457600080fd5b82018360208201111561030657600080fd5b8035906020019184602083028401116401000000008311171561032857600080fd5b509092509050610d90565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561036f578181015183820152602001610357565b505050509050019250505060405180910390f35b6101f16004803603604081101561039957600080fd5b5080359060200135610e37565b6101f1600480360360408110156103bc57600080fd5b5080359060200135610fab565b6101f1600480360360608110156103df57600080fd5b5080359060208101359060400135611114565b6104156004803603604081101561040857600080fd5b50803590602001356111fd565b60408051918252519081900360200190f35b6101f16004803603604081101561043d57600080fd5b5080359060200135611224565b6101f16004803603606081101561046057600080fd5b8135919081019060408101602082013564010000000081111561048257600080fd5b82018360208201111561049457600080fd5b803590602001918460208302840111640100000000831117156104b657600080fd5b9193909290916020810190356401000000008111156104d457600080fd5b8201836020820111156104e657600080fd5b8035906020019184602083028401116401000000008311171561050857600080fd5b50909250905061138d565b6101f16004803603606081101561052957600080fd5b5080359060208101359060400135151561150a565b6101f16004803603606081101561055457600080fd5b50803590602081013590604001356001600160a01b03166115f3565b6101f16004803603606081101561058657600080fd5b508035906020810135906040013515156116dc565b6105a361188e565b604080516001600160a01b039092168252519081900360200190f35b610333600480360360408110156105d557600080fd5b813591908101906040810160208201356401000000008111156105f757600080fd5b82018360208201111561060957600080fd5b8035906020019184602083028401116401000000008311171561062b57600080fd5b50909250905061189d565b6103336004803603604081101561064c57600080fd5b8135919081019060408101602082013564010000000081111561066e57600080fd5b82018360208201111561068057600080fd5b803590602001918460208302840111640100000000831117156106a257600080fd5b509092509050611939565b6101f1600480360360408110156106c357600080fd5b50803590602001356119f5565b6105a3600480360360408110156106e657600080fd5b5080359060200135611b81565b6101f16004803603606081101561070957600080fd5b8135919081019060408101602082013564010000000081111561072b57600080fd5b82018360208201111561073d57600080fd5b8035906020019184602083028401116401000000008311171561075f57600080fd5b91939092909160208101903564010000000081111561077d57600080fd5b82018360208201111561078f57600080fd5b803590602001918460208302840111640100000000831117156107b157600080fd5b509092509050611bb1565b610333600480360360408110156107d257600080fd5b813591908101906040810160208201356401000000008111156107f457600080fd5b82018360208201111561080657600080fd5b8035906020019184602083028401116401000000008311171561082857600080fd5b509092509050611d25565b6103336004803603604081101561084957600080fd5b8135919081019060408101602082013564010000000081111561086b57600080fd5b82018360208201111561087d57600080fd5b8035906020019184602083028401116401000000008311171561089f57600080fd5b509092509050611dc1565b610415600480360360408110156108c057600080fd5b5080359060200135611e6f565b6101f1600480360360608110156108e357600080fd5b8135919081019060408101602082013564010000000081111561090557600080fd5b82018360208201111561091757600080fd5b8035906020019184602083028401116401000000008311171561093957600080fd5b91939092909160208101903564010000000081111561095757600080fd5b82018360208201111561096957600080fd5b8035906020019184602083028401116401000000008311171561098b57600080fd5b509092509050611e96565b610415600480360360208110156109ac57600080fd5b503561200a565b6101f1600480360360608110156109c957600080fd5b508035906020810135906040013561201c565b6109ff600480360360408110156109f257600080fd5b5080359060200135612105565b604080519115158252519081900360200190f35b61041560048036036040811015610a2957600080fd5b508035906020013561212f565b6101f160048036036060811015610a4c57600080fd5b81359190810190604081016020820135640100000000811115610a6e57600080fd5b820183602082011115610a8057600080fd5b80359060200191846020830284011164010000000083111715610aa257600080fd5b919390929091602081019035640100000000811115610ac057600080fd5b820183602082011115610ad257600080fd5b80359060200191846020830284011164010000000083111715610af457600080fd5b509092509050612156565b6101f160048036036040811015610b1557600080fd5b50803590602001356122cc565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b158015610b8b57600080fd5b505afa158015610b9f573d6000803e3d6000fd5b505050506040513d6020811015610bb557600080fd5b505190506001600160a01b0381163314610c005760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b610c0b858585612435565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b158015610c7b57600080fd5b505afa158015610c8f573d6000803e3d6000fd5b505050506040513d6020811015610ca557600080fd5b505190506001600160a01b0381163314610cf05760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b848314610d44576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b85811015610d8657610d7e88888884818110610d5f57fe5b90506020020135878785818110610d7257fe5b905060200201356124a6565b600101610d47565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610dc0578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610e2c57816000878784818110610df757fe5b90506020020135815260200190815260200160002054838281518110610e1957fe5b6020908102919091010152600101610de0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b158015610ea057600080fd5b505afa158015610eb4573d6000803e3d6000fd5b505050506040513d6020811015610eca57600080fd5b505190506001600160a01b0381163314610f155760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b15801561101457600080fd5b505afa158015611028573d6000803e3d6000fd5b505050506040513d602081101561103e57600080fd5b505190506001600160a01b03811633146110895760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b15801561117d57600080fd5b505afa158015611191573d6000803e3d6000fd5b505050506040513d60208110156111a757600080fd5b505190506001600160a01b03811633146111f25760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b610c0b8585856124a6565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b15801561128d57600080fd5b505afa1580156112a1573d6000803e3d6000fd5b505050506040513d60208110156112b757600080fd5b505190506001600160a01b03811633146113025760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b1580156113f657600080fd5b505afa15801561140a573d6000803e3d6000fd5b505050506040513d602081101561142057600080fd5b505190506001600160a01b038116331461146b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b8483146114bf576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b85811015610d8657611502888888848181106114da57fe5b905060200201358787858181106114ed57fe5b905060200201356001600160a01b0316612517565b6001016114c2565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b15801561157357600080fd5b505afa158015611587573d6000803e3d6000fd5b505050506040513d602081101561159d57600080fd5b505190506001600160a01b03811633146115e85760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b610c0b8585856125ad565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b15801561165c57600080fd5b505afa158015611670573d6000803e3d6000fd5b505050506040513d602081101561168657600080fd5b505190506001600160a01b03811633146116d15760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b610c0b858585612517565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b15801561174557600080fd5b505afa158015611759573d6000803e3d6000fd5b505050506040513d602081101561176f57600080fd5b505190506001600160a01b03811633146117ba5760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b60008581526001602052604090205461181a576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611846576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b606080838390506040519080825280602002602001820160405280156118cd578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610e2c5781600087878481811061190457fe5b9050602002013581526020019081526020016000205483828151811061192657fe5b60209081029190910101526001016118ed565b60608083839050604051908082528060200260200182016040528015611969578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610e2c578160008787848181106119a057fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b03168382815181106119d557fe5b6001600160a01b0390921660209283029190910190910152600101611989565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b158015611a5e57600080fd5b505afa158015611a72573d6000803e3d6000fd5b505050506040513d6020811015611a8857600080fd5b505190506001600160a01b0381163314611ad35760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a15050506000918252600160209081526040808420548452600482528084209284529190529020805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b158015611c1a57600080fd5b505afa158015611c2e573d6000803e3d6000fd5b505050506040513d6020811015611c4457600080fd5b505190506001600160a01b0381163314611c8f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b848314611ce3576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b85811015610d8657611d1d88888884818110611cfe57fe5b90506020020135878785818110611d1157fe5b9050602002013561262c565b600101611ce6565b60608083839050604051908082528060200260200182016040528015611d55578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610e2c57816000878784818110611d8c57fe5b90506020020135815260200190815260200160002054838281518110611dae57fe5b6020908102919091010152600101611d75565b60608083839050604051908082528060200260200182016040528015611df1578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610e2c57816000878784818110611e2857fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611e5757fe5b91151560209283029190910190910152600101611e11565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b158015611eff57600080fd5b505afa158015611f13573d6000803e3d6000fd5b505050506040513d6020811015611f2957600080fd5b505190506001600160a01b0381163314611f745760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b848314611fc8576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b85811015610d865761200288888884818110611fe357fe5b90506020020135878785818110611ff657fe5b90506020020135612435565b600101611fcb565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b15801561208557600080fd5b505afa158015612099573d6000803e3d6000fd5b505050506040513d60208110156120af57600080fd5b505190506001600160a01b03811633146120fa5760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b610c0b85858561262c565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b1580156121bf57600080fd5b505afa1580156121d3573d6000803e3d6000fd5b505050506040513d60208110156121e957600080fd5b505190506001600160a01b03811633146122345760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b848314612288576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b85811015610d86576122c4888888848181106122a357fe5b905060200201358787858181106122b657fe5b9050602002013515156125ad565b60010161228b565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061270682396040019250505060206040518083038186803b15801561233557600080fd5b505afa158015612349573d6000803e3d6000fd5b505050506040513d602081101561235f57600080fd5b505190506001600160a01b03811633146123aa5760405162461bcd60e51b815260040180806020018281038252602e81526020018061272e602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006124438661269d565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b80600260006124b48661269d565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006125258661269d565b8152602080820192909252604090810160009081208682528352819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125bb8661269d565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b806003600061263a8661269d565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b600081815260016020526040812054806126ff5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374a265627a7a72315820eac8cb9be13b87b9a7e93978a04289077d60392c0ab33b708f328b080c422b2264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromContractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toContractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "removeAccessFromPreviousContract",
							"type": "bool"
						}
					],
					"name": "KeyMigrated",
					"type": "event",
					"signature": "0xa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "ValueDeletedAddress",
					"type": "event",
					"signature": "0xec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "ValueDeletedBool",
					"type": "event",
					"signature": "0x321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ValueDeletedBytes32",
					"type": "event",
					"signature": "0x1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd93"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "ValueDeletedInt",
					"type": "event",
					"signature": "0x78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ValueDeletedUInt",
					"type": "event",
					"signature": "0x8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d4662"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "ValueSetAddress",
					"type": "event",
					"signature": "0x524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "ValueSetBool",
					"type": "event",
					"signature": "0x9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ValueSetBytes32",
					"type": "event",
					"signature": "0x961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a95280"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "ValueSetInt",
					"type": "event",
					"signature": "0x0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ValueSetUInt",
					"type": "event",
					"signature": "0x60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8f6b95a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1625e3ef"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x35ab2708"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfdfc4c13"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x18f662ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ee5955a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getAddressValues",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ca0adaf"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBoolValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd994502d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getBoolValues",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "",
							"type": "bool[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc13a2b0c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf7833c5d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getBytes32Values",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8408a5e5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc4f610ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getIntValues",
					"outputs": [
						{
							"internalType": "int256[]",
							"name": "",
							"type": "int256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x142a391e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23257c2b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getUIntValues",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb67fa7ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "hashes",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd658d2e9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "fromContractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toContractName",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "removeAccessFromPreviousContract",
							"type": "bool"
						}
					],
					"name": "migrateContractKey",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5bda91e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6a59e495"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4dca0978"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "values",
							"type": "address[]"
						}
					],
					"name": "setAddressValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3bd6ad89"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f28a6fc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "bool[]",
							"name": "values",
							"type": "bool[]"
						}
					],
					"name": "setBoolValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf9c39d2f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x004b62d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "values",
							"type": "bytes32[]"
						}
					],
					"name": "setBytes32Values",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc89eb562"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd71a9b01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "int256[]",
							"name": "values",
							"type": "int256[]"
						}
					],
					"name": "setIntValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab15985d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d5b277f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "values",
							"type": "uint256[]"
						}
					],
					"name": "setUIntValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x03cdc017"
				}
			],
			"source": {
				"keccak256": "0xb93001c509bf22eb08ef067f25da2b88baacb092d4f5464b304e88ad0e4527bb",
				"urls": [
					"bzz-raw://47f2a5abdb9261a08e517b1ed1d8806519264f6bb6657123d78288c32bca675f",
					"dweb:/ipfs/QmWQNB3jJ3FUPkbcJw31v1KmB6kikjPu9RPMCzSA6T6uMx"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FlexibleStorage.sol": "FlexibleStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"FlexibleStorage.sol": {
						"keccak256": "0xb93001c509bf22eb08ef067f25da2b88baacb092d4f5464b304e88ad0e4527bb",
						"urls": [
							"bzz-raw://47f2a5abdb9261a08e517b1ed1d8806519264f6bb6657123d78288c32bca675f",
							"dweb:/ipfs/QmWQNB3jJ3FUPkbcJw31v1KmB6kikjPu9RPMCzSA6T6uMx"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettings": {
			"bytecode": "608060405234801561001057600080fd5b5060405162004006380380620040068339818101604052604081101561003557600080fd5b5080516020909101518080836001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050613edd80620001296000396000f3fe608060405234801561001057600080fd5b50600436106103eb5760003560e01c80637ce2cc7f1161021a578063b2ea705411610135578063d62ae399116100c8578063f1076b2511610097578063f344da671161007c578063f344da6714610a80578063fb1b4c7e14610a1d578063fc0d9f7b14610a88576103eb565b8063f1076b2514610a70578063f16fe2db14610a78576103eb565b8063d62ae399146109ab578063dc8f4a1b14610a25578063e0e6393d14610a4b578063e942204614610a53576103eb565b8063c1d20ca211610104578063c1d20ca2146109f0578063c58c9ae414610a0d578063c5cd121514610a15578063d2b376bc14610a1d576103eb565b8063b2ea705414610782578063b410a034146109c3578063bf9247f1146109cb578063c193f0d8146109e8576103eb565b8063967706e9116101ad578063a6ec40001161017c578063a6ec40001461098e578063add0989d146109ab578063af5355d8146109b3578063af8bc660146109bb576103eb565b8063967706e91461094457806396cec04514610961578063a0cf74511461097e578063a4ce5b7114610986576103eb565b8063899ffef4116101e9578063899ffef4146108bf5780638da5cb5b14610917578063946ce8cd1461091f578063962438031461093c576103eb565b80637ce2cc7f146107e5578063826098e8146107ed57806387c24d34146108af57806389257117146108b7576103eb565b8063372a395a1161030a5780636190dd7a1161029d578063741853601161026c578063741853601461079257806379ba50971461079a57806379cb657a146107a25780637bf82305146107bf576103eb565b80636190dd7a14610748578063635a387214610765578063657c6dc714610782578063680a17181461078a576103eb565b806353a47bb7116102d957806353a47bb71461065957806353e2cec614610661578063580a975c146107235780635e0117d61461072b576103eb565b8063372a395a146105685780634641ab66146105705780634987fcc21461058f5780634c36b83714610651576103eb565b80631e6e2190116103825780632806a743116103515780632806a743146104f55780632af64bd3146105125780632cce0e541461052e57806333c4e0861461054b576103eb565b80631e6e2190146104c057806322425fa4146104dd57806323f5589a146104e5578063242df9e1146104ed576103eb565b8063085f95cd116103be578063085f95cd146104825780630ee4951b1461048a5780631627540c146104925780631775765f146104b8576103eb565b8063038e47fe146103f057806304c49f2c1461042257806304f3bcec14610441578063054be0b714610465575b600080fd5b6104106004803603602081101561040657600080fd5b503560ff16610aa5565b60408051918252519081900360200190f35b61043f6004803603602081101561043857600080fd5b5035610ab8565b005b610449610c4d565b604080516001600160a01b039092168252519081900360200190f35b61043f6004803603602081101561047b57600080fd5b5035610c5c565b610410610d78565b610410610d84565b61043f600480360360208110156104a857600080fd5b50356001600160a01b0316610d94565b610410610dfd565b61043f600480360360208110156104d657600080fd5b5035610e07565b610410610eec565b610410610ef6565b610410610f00565b61043f6004803603602081101561050b57600080fd5b5035610f0a565b61051a611036565b604080519115158252519081900360200190f35b61043f6004803603602081101561054457600080fd5b5035611159565b61043f6004803603602081101561056157600080fd5b503561132a565b6104106113db565b61043f6004803603602081101561058657600080fd5b503515156113e5565b61043f600480360360408110156105a557600080fd5b8101906020810181356401000000008111156105c057600080fd5b8201836020820111156105d257600080fd5b803590602001918460208302840111640100000000831117156105f457600080fd5b91939092909160208101903564010000000081111561061257600080fd5b82018360208201111561062457600080fd5b8035906020019184602083028401116401000000008311171561064657600080fd5b5090925090506114e8565b61044961171d565b610449611727565b61043f6004803603604081101561067757600080fd5b81019060208101813564010000000081111561069257600080fd5b8201836020820111156106a457600080fd5b803590602001918460208302840111640100000000831117156106c657600080fd5b9193909290916020810190356401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184602083028401116401000000008311171561071857600080fd5b509092509050611736565b610410611a61565b61043f6004803603602081101561074157600080fd5b5035611a68565b61043f6004803603602081101561075e57600080fd5b5035611bfd565b61043f6004803603602081101561077b57600080fd5b5035611ce2565b610410611dc7565b610410611dd3565b61043f611ddd565b61043f611fcb565b61043f600480360360208110156107b857600080fd5b5035612094565b61043f600480360360208110156107d557600080fd5b50356001600160a01b0316612179565b6104106122de565b61043f6004803603604081101561080357600080fd5b81019060208101813564010000000081111561081e57600080fd5b82018360208201111561083057600080fd5b8035906020019184602083028401116401000000008311171561085257600080fd5b91939092909160208101903564010000000081111561087057600080fd5b82018360208201111561088257600080fd5b803590602001918460208302840111640100000000831117156108a457600080fd5b5090925090506122e5565b61041061251a565b610410612524565b6108c761252e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156109035781810151838201526020016108eb565b505050509050019250505060405180910390f35b61044961258d565b61043f6004803603602081101561093557600080fd5b503561259c565b610410612725565b6104106004803603602081101561095a57600080fd5b503561272f565b6104106004803603602081101561097757600080fd5b503561273a565b610410612745565b61041061274f565b610410600480360360208110156109a457600080fd5b503561275b565b610410612766565b61041061276d565b610410612777565b61041061277c565b61043f600480360360208110156109e157600080fd5b5035612786565b61051a61281c565b61043f60048036036020811015610a0657600080fd5b5035612826565b610410612952565b610410612959565b610410612963565b61043f60048036036040811015610a3b57600080fd5b5060ff813516906020013561296f565b610410612abd565b61043f60048036036020811015610a6957600080fd5b5035612ac7565b610410612c04565b610410612c0b565b610410612c17565b61043f60048036036020811015610a9e57600080fd5b5035612c1e565b6000610ab082612d4a565b90505b919050565b610ac0612dea565b62015180811015610b18576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610b70576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b610b78612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f666565506572696f644475726174696f6e000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610bfe57600080fd5b505af1158015610c12573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b610c64612dea565b670de0b6b3a7640000811115610cab5760405162461bcd60e51b8152600401808060200182810382526033815260200180613dfa6033913960400191505060405180910390fd5b610cb3612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610d2957600080fd5b505af1158015610d3d573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6703782dace9d9000081565b6000610d8e612e60565b90505b90565b610d9c612dea565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610d8e612f17565b610e0f612dea565b610e17612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f72000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610e9d57600080fd5b505af1158015610eb1573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610d8e612f9d565b6000610d8e613023565b6000610d8e6130a9565b610f12612dea565b6703782dace9d90000811115610f595760405162461bcd60e51b8152600401808060200182810382526021815260200180613d1c6021913960400191505060405180910390fd5b610f61612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6c69717569646174696f6e50656e616c74790000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610fe757600080fd5b505af1158015610ffb573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b6000606061104261252e565b905060005b815181101561115057600082828151811061105e57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156110df57600080fd5b505afa1580156110f3573d6000803e3d6000fd5b505050506040513d602081101561110957600080fd5b50516001600160a01b031614158061113657506000818152600360205260409020546001600160a01b0316155b156111475760009350505050610d91565b50600101611047565b50600191505090565b611161612dea565b60328111156111b7576040805162461bcd60e51b815260206004820152601260248201527f5468726573686f6c6420746f6f20686967680000000000000000000000000000604482015290519081900360640190fd5b600061124a606461123e73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561120557600080fd5b505af4158015611219573d6000803e3d6000fd5b505050506040513d602081101561122f57600080fd5b5051859063ffffffff61312f16565b9063ffffffff61319116565b9050611254612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f7461726765745468726573686f6c640000000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156112da57600080fd5b505af11580156112ee573d6000803e3d6000fd5b50506040805184815290517fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab129350908190036020019150a15050565b611332612dea565b61133a612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6272696467655472616e73666572476173436f73740000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156113c057600080fd5b505af11580156113d4573d6000803e3d6000fd5b5050505050565b6000610d8e6131fb565b6113ed612dea565b6113f5612e35565b604080517f3f28a6fc0000000000000000000000000000000000000000000000000000000081526d53797374656d53657474696e677360901b60048201527f74726164696e6752657761726473456e61626c656400000000000000000000006024820152831515604482015290516001600160a01b039290921691633f28a6fc9160648082019260009290919082900301818387803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b6114f0612dea565b828114611544576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156113d457670de0b6b3a764000083838381811061156457fe5b9050602002013511156115be576040805162461bcd60e51b815260206004820152601b60248201527f4d41585f49535355414e43455f524154494f2065786365656465640000000000604482015290519081900360640190fd5b6115c6612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6578546f6b656e49737375616e6365526174696f00000000000000000000000088888681811061161357fe5b9050602002013560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012086868681811061165357fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561169e57600080fd5b505af11580156116b2573d6000803e3d6000fd5b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e8585838181106116e357fe5b905060200201358484848181106116f657fe5b604080519485526020918202939093013590840152508051918290030190a1600101611547565b6000610d8e613281565b6001546001600160a01b031681565b61173e612dea565b828114611792576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156113d45761183c6118276117ab613023565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156117ef57600080fd5b505af4158015611803573d6000803e3d6000fd5b505050506040513d602081101561181957600080fd5b50519063ffffffff61330716565b670de0b6b3a76400009063ffffffff61336116565b83838381811061184857fe5b90506020020135111561188c5760405162461bcd60e51b8152600401808060200182810382526038815260200180613d726038913960400191505060405180910390fd5b60006118ae671bc16d674ec800006118a261337f565b9063ffffffff6133f516565b9050808484848181106118bd57fe5b9050602002013510156119015760405162461bcd60e51b8152600401808060200182810382526028815260200180613e2d6028913960400191505060405180910390fd5b611909612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6c69717569646174696f6e526174696f7300000000000000000000000000000089898781811061195657fe5b9050602002013560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012087878781811061199657fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156119e157600080fd5b505af11580156119f5573d6000803e3d6000fd5b505050507fc5af88786bd5ce36d4efede4608f8ce31b9e7cd7bb6d417f675f3a6a2ffbb4c5868684818110611a2657fe5b90506020020135858585818110611a3957fe5b604080519485526020918202939093013590840152508051918290030190a150600101611795565b62093a8081565b611a70612dea565b62278d00811115611ac8576040805162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e203330206461797300000000000000604482015290519081900360640190fd5b62015180811015611b20576040805162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e203120646179000000000000604482015290519081900360640190fd5b611b28612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6c69717569646174696f6e44656c617900000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611bae57600080fd5b505af1158015611bc2573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b611c05612dea565b611c0d612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f64656274536e617073686f745374616c6554696d650000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611c9357600080fd5b505af1158015611ca7573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b611cea612dea565b611cf2612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f77616974696e67506572696f6453656373000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611d7857600080fd5b505af1158015611d8c573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b670de0b6b3a764000081565b6000610d8e61341f565b6060611de761252e565b905060005b8151811015611fc7576000828281518110611e0357fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611ed2578181015183820152602001611eba565b50505050905090810190601f168015611eff5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611f1d57600080fd5b505afa158015611f31573d6000803e3d6000fd5b505050506040513d6020811015611f4757600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611dec565b5050565b6001546001600160a01b031633146120145760405162461bcd60e51b8152600401808060200182810382526035815260200180613d3d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b61209c612dea565b6120a4612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f726174655374616c65506572696f640000000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561212a57600080fd5b505af115801561213e573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b612181612dea565b6001600160a01b0381166121dc576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b6121e4612e35565b604080517f4dca09780000000000000000000000000000000000000000000000000000000081526d53797374656d53657474696e677360901b60048201527f61676772656761746f725761726e696e67466c6167730000000000000000000060248201526001600160a01b03848116604483015291519290911691634dca09789160648082019260009290919082900301818387803b15801561228657600080fd5b505af115801561229a573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b622dc6c081565b6122ed612dea565b828114612341576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156113d45767016345785d8a000083838381811061236157fe5b9050602002013511156123bb576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b6123c3612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f65786368616e676546656552617465000000000000000000000000000000000088888681811061241057fe5b9050602002013560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012086868681811061245057fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561249b57600080fd5b505af11580156124af573d6000803e3d6000fd5b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e8585838181106124e057fe5b905060200201358484848181106124f357fe5b604080519485526020918202939093013590840152508051918290030190a1600101612344565b6000610d8e6134a5565b6000610d8e61352b565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061257e57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6125a4612dea565b6125b26118276117ab613023565b8111156125f05760405162461bcd60e51b8152600401808060200182810382526038815260200180613d726038913960400191505060405180910390fd5b6000612606671bc16d674ec800006118a261337f565b9050808210156126475760405162461bcd60e51b8152600401808060200182810382526028815260200180613e2d6028913960400191505060405180910390fd5b61264f612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6c69717569646174696f6e526174696f00000000000000000000000000000000856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156126d557600080fd5b505af11580156126e9573d6000803e3d6000fd5b50506040805185815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a15050565b6000610d8e6135b1565b6000610ab082613637565b6000610ab0826136eb565b6000610d8e61379f565b671bc16d674ec8000081565b6000610ab082613825565b6201518081565b6000610d8e6138d9565b603281565b6000610d8e61337f565b61278e612dea565b612796612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f627269646765436c61696d476173436f73740000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156113c057600080fd5b6000610d8e61395f565b61282e612dea565b670b1a2bc2ec5000008111156128755760405162461bcd60e51b8152600401808060200182810382526028815260200180613e816028913960400191505060405180910390fd5b61287d612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f65787465726e616c546f6b656e51756f74610000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561290357600080fd5b505af1158015612917573d6000803e3d6000fd5b50506040805184815290517fab6fde4159cbba0eaae887ab25d5589a9f86c8161284e67ea3a981a5b1584eec9350908190036020019150a150565b627a120081565b6000610d8e6139e5565b67016345785d8a000081565b612977612dea565b622dc6c0811015801561298d5750627a12008111155b6129de576040805162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015290519081900360640190fd5b6129e6612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b612a0f85613a6b565b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612a5457600080fd5b505af1158015612a68573d6000803e3d6000fd5b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a828260405180836003811115612a9f57fe5b60ff1681526020018281526020019250505060405180910390a15050565b6000610d8e613ba5565b612acf612dea565b62093a80811115612b27576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b612b2f612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6d696e696d756d5374616b6554696d6500000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612bb557600080fd5b505af1158015612bc9573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b62278d0081565b670b1a2bc2ec50000081565b624f1a0081565b612c26612dea565b67016345785d8a0000811115612c6d5760405162461bcd60e51b815260040180806020018281038252602c815260200180613e55602c913960400191505060405180910390fd5b612c75612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f73796e635374616c5468726573686f6c64000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612cfb57600080fd5b505af1158015612d0f573d6000803e3d6000fd5b50506040805184815290517f8d6f97505ba6722039e804de1a5f93f0051d362bbf08bba7ce1c135a0be2deb69350908190036020019150a150565b6000612d54612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b612d7d85613a6b565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612db857600080fd5b505afa158015612dcc573d6000803e3d6000fd5b505050506040513d6020811015612de257600080fd5b505192915050565b6000546001600160a01b03163314612e335760405162461bcd60e51b815260040180806020018281038252602f815260200180613daa602f913960400191505060405180910390fd5b565b6000610d8e7f466c657869626c6553746f726167650000000000000000000000000000000000613c2b565b6000612e6a612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b505afa158015612efa573d6000803e3d6000fd5b505050506040513d6020811015612f1057600080fd5b5051905090565b6000612f21612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e526174696f000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b6000612fa7612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b600061302d612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e50656e616c747900000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60006130b3612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6d696e696d756d5374616b6554696d65000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60008261313e5750600061318b565b8282028284828161314b57fe5b04146131885760405162461bcd60e51b8152600401808060200182810382526021815260200180613dd96021913960400191505060405180910390fd5b90505b92915050565b60008082116131e7576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816131f257fe5b04949350505050565b6000613205612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b600061328b612e35565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b600082820183811015613188576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006131888261123e85670de0b6b3a764000063ffffffff61312f16565b6000613389612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b6000670de0b6b3a7640000613410848463ffffffff61312f16565b8161341757fe5b049392505050565b6000613429612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f73796e635374616c5468726573686f6c640000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60006134af612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f627269646765436c61696d476173436f737400000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b6000613535612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f77616974696e67506572696f64536563730000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60006135bb612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6272696467655472616e73666572476173436f737400000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b6000613641612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e6765466565526174650000000000000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612db857600080fd5b60006136f5612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6578546f6b656e49737375616e6365526174696f000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612db857600080fd5b60006137a9612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e44656c6179000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b600061382f612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e526174696f73000000000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612db857600080fd5b60006138e3612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f64656274536e617073686f745374616c6554696d6500000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b6000613969612e35565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b7f74726164696e6752657761726473456e61626c656400000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60006139ef612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65787465726e616c546f6b656e51756f746100000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b600080826003811115613a7a57fe5b1415613aa757507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000610ab3565b6001826003811115613ab557fe5b1415613ae257507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000610ab3565b6002826003811115613af057fe5b1415613b1d57507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000610ab3565b6003826003811115613b2b57fe5b1415613b5857507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000610ab3565b6040805162461bcd60e51b815260206004820152601660248201527f556e6b6e6f776e20676173206c696d6974207479706500000000000000000000604482015290519081900360640190fd5b6000613baf612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081613d145760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613cd9578181015183820152602001613cc1565b50505050905090810190601f168015613d065780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869706c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f6c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f6e6577207468726573686f6c642065786365656473206d6178696d756d203130302070657263656e746167656e65772071756f74612065786365656473206d6178696d756d203130302070657263656e74616765a265627a7a72315820aa3992f70485240e9b01a976bb22c113fb3334cc33c2b39e3a05e4d1f0dfbc6064736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "flags",
							"type": "address"
						}
					],
					"name": "AggregatorWarningFlagsUpdated",
					"type": "event",
					"signature": "0x0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "gasLimitType",
							"type": "uint8"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLimit",
							"type": "uint256"
						}
					],
					"name": "CrossDomainMessageGasLimitChanged",
					"type": "event",
					"signature": "0xbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtSnapshotStaleTime",
							"type": "uint256"
						}
					],
					"name": "DebtSnapshotStaleTimeUpdated",
					"type": "event",
					"signature": "0x9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exTokenIssuanceRatio",
							"type": "uint256"
						}
					],
					"name": "ExTokenIssuanceRatioUpdated",
					"type": "event",
					"signature": "0x45c302298d88ac8321976aa968bf90c0e55692af37431e4580ae3f84684f954f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeUpdated",
					"type": "event",
					"signature": "0xbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "quota",
							"type": "uint256"
						}
					],
					"name": "ExternalTokenQuotaUpdated",
					"type": "event",
					"signature": "0xab6fde4159cbba0eaae887ab25d5589a9f86c8161284e67ea3a981a5b1584eec"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newFeePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "FeePeriodDurationUpdated",
					"type": "event",
					"signature": "0x791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "IssuanceRatioUpdated",
					"type": "event",
					"signature": "0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDelay",
							"type": "uint256"
						}
					],
					"name": "LiquidationDelayUpdated",
					"type": "event",
					"signature": "0x9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c5398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event",
					"signature": "0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "types",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatiosUpdated",
					"type": "event",
					"signature": "0xc5af88786bd5ce36d4efede4608f8ce31b9e7cd7bb6d417f675f3a6a2ffbb4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimumStakeTime",
							"type": "uint256"
						}
					],
					"name": "MinimumStakeTimeUpdated",
					"type": "event",
					"signature": "0x2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e814477"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "threshold",
							"type": "uint256"
						}
					],
					"name": "PriceDeviationThresholdUpdated",
					"type": "event",
					"signature": "0x6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rateStalePeriod",
							"type": "uint256"
						}
					],
					"name": "RateStalePeriodUpdated",
					"type": "event",
					"signature": "0x16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "SyncStaleThresholdUpdated",
					"type": "event",
					"signature": "0x8d6f97505ba6722039e804de1a5f93f0051d362bbf08bba7ce1c135a0be2deb6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newTargetThreshold",
							"type": "uint256"
						}
					],
					"name": "TargetThresholdUpdated",
					"type": "event",
					"signature": "0xb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "TradingRewardsEnabled",
					"type": "event",
					"signature": "0xe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "WaitingPeriodSecsUpdated",
					"type": "event",
					"signature": "0xc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58c9ae4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXCHANGE_FEE_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb1b4c7e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXTERNAL_TOKEN_QUOTA",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf16fe2db"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf344da67"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ISSUANCE_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x657c6dc7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1076b25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_PENALTY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x085f95cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2ea7054"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINIMUM_STAKE_TIME",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x580a975c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_SYNC_STALE_THRESHOLD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd2b376bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_TARGET_THRESHOLD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf8bc660"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7ce2cc7f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd62ae399"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xadd0989d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "RATIO_FROM_TARGET_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4ce5b71"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeClaimGasCost",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x87c24d34"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeTransferGasCost",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x96243803"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "gasLimitType",
							"type": "uint8"
						}
					],
					"name": "crossDomainMessageGasLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x038e47fe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "tokenKey",
							"type": "bytes32"
						}
					],
					"name": "exTokenIssuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x96cec045"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x967706e9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "externalTokenQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc5cd1215"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "tokenKey",
							"type": "bytes32"
						}
					],
					"name": "liquidationRatios",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa6ec4000"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_flags",
							"type": "address"
						}
					],
					"name": "setAggregatorWarningFlags",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7bf82305"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_gasCost",
							"type": "uint256"
						}
					],
					"name": "setBridgeClaimGasCost",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbf9247f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_gasCost",
							"type": "uint256"
						}
					],
					"name": "setBridgeTransferGasCost",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x33c4e086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "_gasLimitType",
							"type": "uint8"
						},
						{
							"internalType": "uint256",
							"name": "_crossDomainMessageGasLimit",
							"type": "uint256"
						}
					],
					"name": "setCrossDomainMessageGasLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdc8f4a1b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setDebtSnapshotStaleTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6190dd7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "tokenKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exTokenIssuanceRatios",
							"type": "uint256[]"
						}
					],
					"name": "setExTokenIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4987fcc2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x826098e8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_newQuota",
							"type": "uint256"
						}
					],
					"name": "setExternalTokenQuota",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc1d20ca2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_feePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "setFeePeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04c49f2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						}
					],
					"name": "setIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x054be0b7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "setLiquidationDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5e0117d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2806a743"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_types",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_liquidationRatios",
							"type": "uint256[]"
						}
					],
					"name": "setLiquidationRatios",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x53e2cec6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setMinimumStakeTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9422046"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_priceDeviationThresholdFactor",
							"type": "uint256"
						}
					],
					"name": "setPriceDeviationThresholdFactor",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1e6e2190"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "setRateStalePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79cb657a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_percent",
							"type": "uint256"
						}
					],
					"name": "setSyncStaleThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfc0d9f7b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_percent",
							"type": "uint256"
						}
					],
					"name": "setTargetThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2cce0e54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_tradingRewardsEnabled",
							"type": "bool"
						}
					],
					"name": "setTradingRewardsEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4641ab66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "setWaitingPeriodSecs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x635a3872"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "syncStaleThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x680a1718"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0xf6234c570e3f445f48640eabec5df34df19760135deed1115d8b534b7ae1290d",
				"urls": [
					"bzz-raw://30ec5266bd7b7da5a152dd87ccec0aa971dfff6616ad49eca1acf57c7ea43c99",
					"dweb:/ipfs/QmUsg2142F9WDY1Dx4Wn7TQewMePXP8nvhyHZYsSo2w6Aw"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemSettings.sol": "SystemSettings"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"SystemSettings.sol": {
						"keccak256": "0xf6234c570e3f445f48640eabec5df34df19760135deed1115d8b534b7ae1290d",
						"urls": [
							"bzz-raw://30ec5266bd7b7da5a152dd87ccec0aa971dfff6616ad49eca1acf57c7ea43c99",
							"dweb:/ipfs/QmUsg2142F9WDY1Dx4Wn7TQewMePXP8nvhyHZYsSo2w6Aw"
						]
					}
				},
				"version": 1
			}
		},
		"SystemStatus": {
			"bytecode": "608060405234801561001057600080fd5b50604051611f84380380611f848339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050611e8a806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106102de5760003560e01c80634ef4a6431161018657806389bb3dfa116100e3578063c09290bb11610097578063f161620711610071578063f161620714610abf578063f405f65a14610ac7578063f8b4b08414610acf576102de565b8063c09290bb14610a15578063d7f2c38514610a85578063e470df5814610aa2576102de565b80638da5cb5b116100c85780638da5cb5b146109795780639f8a95ba14610981578063ad135a16146109a5576102de565b806389bb3dfa1461093f5780638c38729d1461095c576102de565b80637118d4311161013a57806379ba50971161011f57806379ba5097146108bf5780637c312541146108c757806387743c36146108cf576102de565b80637118d43114610894578063754a46411461089c576102de565b806353a47bb71161016b57806353a47bb714610845578063631070fc1461086957806367a280b21461088c576102de565b80634ef4a643146106c2578063517d60c6146106df576102de565b806320f2bf001161023f5780632e94d93d116101f35780633cb4d443116101cd5780633cb4d4431461065b57806348bf19711461067e5780634abdb44d146106ba576102de565b80632e94d93d146105c6578063387da90914610636578063396e258e1461063e576102de565b80632cb28bd8116102245780632cb28bd81461057f5780632dd8afdb146105a25780632e8d0b9e146105aa576102de565b806320f2bf001461050d5780632366245e14610554576102de565b8063157c51d3116102965780631627540c1161027b5780631627540c146104c25780631635b0ce146104e85780631d7e7789146104f0576102de565b8063157c51d31461049d5780631588e817146104a5576102de565b80630d2d7c28116102c75780630d2d7c281461030a57806312bde5141461041357806314acc95f1461042d576102de565b8063086dabd1146102e357806308d10e62146102ed575b600080fd5b6102eb610ad7565b005b6102eb6004803603602081101561030357600080fd5b5035610ae1565b61037a6004803603602081101561032057600080fd5b81019060208101813564010000000081111561033b57600080fd5b82018360208201111561034d57600080fd5b8035906020019184602083028401116401000000008311171561036f57600080fd5b509092509050610b2a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156103be5781810151838201526020016103a6565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156103fd5781810151838201526020016103e5565b5050505090500194505050505060405180910390f35b61041b610c53565b60408051918252519081900360200190f35b6102eb6004803603602081101561044357600080fd5b81019060208101813564010000000081111561045e57600080fd5b82018360208201111561047057600080fd5b8035906020019184602083028401116401000000008311171561049257600080fd5b509092509050610c60565b6102eb610c9c565b6102eb600480360360208110156104bb57600080fd5b5035610d06565b6102eb600480360360208110156104d857600080fd5b50356001600160a01b0316610d71565b61041b610dda565b6102eb6004803603602081101561050657600080fd5b5035610de6565b6105396004803603604081101561052357600080fd5b50803590602001356001600160a01b0316610dfa565b60408051921515835290151560208301528051918290030190f35b61055c610e23565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b6102eb6004803603604081101561059557600080fd5b5080359060200135610e3c565b61055c610e70565b6105b2610e89565b604080519115158252519081900360200190f35b6102eb600480360360208110156105dc57600080fd5b8101906020810181356401000000008111156105f757600080fd5b82018360208201111561060957600080fd5b8035906020019184602083028401116401000000008311171561062b57600080fd5b509092509050610eb3565b61041b610eef565b6102eb6004803603602081101561065457600080fd5b5035610f03565b6102eb6004803603604081101561067157600080fd5b5080359060200135610f6e565b6102eb6004803603608081101561069457600080fd5b508035906001600160a01b03602082013516906040810135151590606001351515610f76565b61041b610f90565b61055c600480360360208110156106d857600080fd5b5035610f9f565b6102eb600480360360808110156106f557600080fd5b81019060208101813564010000000081111561071057600080fd5b82018360208201111561072257600080fd5b8035906020019184602083028401116401000000008311171561074457600080fd5b91939092909160208101903564010000000081111561076257600080fd5b82018360208201111561077457600080fd5b8035906020019184602083028401116401000000008311171561079657600080fd5b9193909290916020810190356401000000008111156107b457600080fd5b8201836020820111156107c657600080fd5b803590602001918460208302840111640100000000831117156107e857600080fd5b91939092909160208101903564010000000081111561080657600080fd5b82018360208201111561081857600080fd5b8035906020019184602083028401116401000000008311171561083a57600080fd5b509092509050610fc4565b61084d6110b5565b604080516001600160a01b039092168252519081900360200190f35b6102eb6004803603604081101561087f57600080fd5b50803590602001356110c4565b6102eb61110f565b6102eb61117b565b6102eb600480360360408110156108b257600080fd5b508035906020013561118b565b6102eb6111d1565b6102eb61129a565b6102eb600480360360408110156108e557600080fd5b81019060208101813564010000000081111561090057600080fd5b82018360208201111561091257600080fd5b8035906020019184602083028401116401000000008311171561093457600080fd5b9193509150356112aa565b6102eb6004803603602081101561095557600080fd5b50356112e8565b61055c6004803603602081101561097257600080fd5b50356112f9565b61084d61131e565b61098961132d565b604080516001600160f81b039092168252519081900360200190f35b6102eb600480360360408110156109bb57600080fd5b8101906020810181356401000000008111156109d657600080fd5b8201836020820111156109e857600080fd5b80359060200191846020830284011164010000000083111715610a0a57600080fd5b919350915035611332565b61037a60048036036020811015610a2b57600080fd5b810190602081018135640100000000811115610a4657600080fd5b820183602082011115610a5857600080fd5b80359060200191846020830284011164010000000083111715610a7a57600080fd5b509092509050611370565b6102eb60048036036020811015610a9b57600080fd5b5035611491565b6102eb60048036036020811015610ab857600080fd5b50356114d6565b61041b61154b565b6102eb61155a565b61055c6115c6565b610adf6115df565b565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110610b1157fe5b602002602001018181525050610b26816116be565b5050565b60608083839050604051908082528060200260200182016040528015610b5a578160200160208202803883390190505b50604080518581526020808702820101909152909250838015610b87578160200160208202803883390190505b50905060005b83811015610c4b5760066000868684818110610ba557fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110610bd757fe5b9115156020928302919091019091015260066000868684818110610bf757fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110610c3857fe5b6020908102919091010152600101610b8d565b509250929050565b6553797374656d60d01b81565b610b268282808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506116be92505050565b610cae6553797374656d60d01b61176c565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b610d1a6745786368616e676560c01b6117c9565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b610d79611821565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b640a0f2dce8d60db1b81565b610dee6115df565b610df78161186a565b50565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60045460ff81169061010090046001600160f81b031682565b610e446115df565b610e4c6118b8565b610e55826118fa565b610e5e816118fa565b610e678261186a565b610b268161186a565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015610eae575060035461010090046001600160f81b03166001145b905090565b610b2682828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061194892505050565b6c50796e746845786368616e676560981b81565b610f176749737375616e636560c01b6117c9565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b610e5e6115df565b610f7e611821565b610f8a848484846119ee565b50505050565b6749737375616e636560c01b81565b60066020526000908152604090205460ff81169061010090046001600160f81b031682565b610fcc611821565b8685148015610fda57508483145b8015610fe557508281145b611036576040805162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d617463680000604482015290519081900360640190fd5b60005b878110156110aa576110a289898381811061105057fe5b9050602002013588888481811061106357fe5b905060200201356001600160a01b031687878581811061107f57fe5b90506020020135151586868681811061109457fe5b9050602002013515156119ee565b600101611039565b505050505050505050565b6001546001600160a01b031681565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106110f457fe5b60200260200101818152505061110a8183611b20565b505050565b6111236749737375616e636560c01b61176c565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b6111836115df565b610adf6118b8565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106111bb57fe5b60200260200101818152505061110a8183611bc6565b6001546001600160a01b0316331461121a5760405162461bcd60e51b8152600401808060200182810382526035815260200180611cb76035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6112a26115df565b610adf611c74565b61110a838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611b20915050565b6112f06115df565b610df7816118fa565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b6000546001600160a01b031681565b600181565b61110a838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611bc6915050565b606080838390506040519080825280602002602001820160405280156113a0578160200160208202803883390190505b506040805185815260208087028201019091529092508380156113cd578160200160208202803883390190505b50905060005b83811015610c4b57600760008686848181106113eb57fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061141d57fe5b911515602092830291909101909101526007600086868481811061143d57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b031682828151811061147e57fe5b60209081029190910101526001016113d3565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181106114c157fe5b602002602001018181525050610b2681611948565b6114e86553797374656d60d01b6117c9565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b6745786368616e676560c01b81565b61156e6745786368616e676560c01b61176c565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b031660011461161b576040518060600160405280602e8152602001611d45602e9139611635565b604051806060016040528060408152602001611dcd604091395b90610df75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561168357818101518382015260200161166b565b50505050905090810190601f1680156116b05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6116d76c50796e746845786368616e676560981b61176c565b60005b8151811015610b265760008282815181106116f157fe5b6020908102919091018101516000818152600683526040908190205481518381526101009091046001600160f81b03169381019390935280519193507fc6cc5bbf2969f74a5166d0bad983455bf7a65b6372af7260400f9b3b04338090928290030190a16000908152600660205260408120556001016116da565b6000818152600260209081526040808320338452909152902054610100900460ff16610df75760405162461bcd60e51b8152600401808060200182810382526021815260200180611e0d6021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff16610df75760405162461bcd60e51b8152600401808060200182810382526021815260200180611e0d6021913960400191505060405180910390fd5b6000546001600160a01b03163314610adf5760405162461bcd60e51b815260040180806020018281038252602f815260200180611d73602f913960400191505060405180910390fd5b60008181526007602052604090205460ff1615610df75760405162461bcd60e51b8152600401808060200182810382526028815260200180611e2e6028913960400191505060405180910390fd5b60055460ff1615610adf5760405162461bcd60e51b815260040180806020018281038252602b815260200180611da2602b913960400191505060405180910390fd5b60008181526006602052604090205460ff1615610df75760405162461bcd60e51b815260040180806020018281038252602e815260200180611d17602e913960400191505060405180910390fd5b611959640a0f2dce8d60db1b61176c565b60005b8151811015610b2657600082828151811061197357fe5b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b03169381019390935280519193507fddc88fc179cf33f24e5569dd8635c3cd44864e66a1b359bdd9d95e50d94a0d39928290030190a160009081526007602052604081205560010161195c565b6553797374656d60d01b841480611a0f57506749737375616e636560c01b84145b80611a2457506745786368616e676560c01b84145b80611a3e57506c50796e746845786368616e676560981b84145b80611a505750640a0f2dce8d60db1b84145b611aa1576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b611b31640a0f2dce8d60db1b6117c9565b60005b825181101561110a576000838281518110611b4b57fe5b60209081029190910181015160008181526007835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507ffd3feff79fa642f72408a90c33c6b2ae245bd7077eec45d2502714178e692c86928290030190a150600101611b34565b611bdf6c50796e746845786368616e676560981b6117c9565b60005b825181101561110a576000838281518110611bf957fe5b60209081029190910181015160008181526006835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507f0af76046e49b0af43f6e092983123f6fb3a25f63bd7096c1bb89649a75a9a494928290030190a150600101611be2565b60045460ff1615610adf5760405162461bcd60e51b815260040180806020018281038252602b815260200180611cec602b913960400191505060405180910390fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656450796e74682065786368616e67652073757370656e6465642e204f7065726174696f6e2070726f686962697465645065726946696e616e63652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645065726946696e616e63652069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e642062795265737472696374656420746f2061636365737320636f6e74726f6c206c69737450796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a72315820d5dfce6c552fd1369c5253eeaad3d682e71b30ed60de73ec644a53bdcb0ceef464736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "AccessControlUpdated",
					"type": "event",
					"signature": "0x95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeResumed",
					"type": "event",
					"signature": "0x07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeSuspended",
					"type": "event",
					"signature": "0x078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceResumed",
					"type": "event",
					"signature": "0x0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceSuspended",
					"type": "event",
					"signature": "0xee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthExchangeResumed",
					"type": "event",
					"signature": "0xc6cc5bbf2969f74a5166d0bad983455bf7a65b6372af7260400f9b3b04338090"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthExchangeSuspended",
					"type": "event",
					"signature": "0x0af76046e49b0af43f6e092983123f6fb3a25f63bd7096c1bb89649a75a9a494"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthResumed",
					"type": "event",
					"signature": "0xddc88fc179cf33f24e5569dd8635c3cd44864e66a1b359bdd9d95e50d94a0d39"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthSuspended",
					"type": "event",
					"signature": "0xfd3feff79fa642f72408a90c33c6b2ae245bd7077eec45d2502714178e692c86"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemResumed",
					"type": "event",
					"signature": "0xb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemSuspended",
					"type": "event",
					"signature": "0x86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1616207"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_ISSUANCE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4abdb44d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_PYNTH",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1635b0ce"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_PYNTH_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x387da909"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYSTEM",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x12bde514"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUSPENSION_REASON_UPGRADE",
					"outputs": [
						{
							"internalType": "uint248",
							"name": "",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f8a95ba"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accessControl",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x20f2bf00"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf8b4b084"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthExchangeSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "exchangeSuspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d2d7c28"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc09290bb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isSystemUpgrading",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e8d0b9e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2366245e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthExchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4ef4a643"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c38729d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7118d431"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireExchangeBetweenPynthsAllowed",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2cb28bd8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireIssuanceActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c312541"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1d7e7789"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89bb3dfa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthsActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3cb4d443"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireSystemActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086dabd1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf405f65a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x67a280b2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd7f2c385"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumePynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x08d10e62"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e94d93d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumePynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x14acc95f"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x157c51d3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1588e817"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x396e258e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x631070fc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x754a4641"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x87743c36"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xad135a16"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe470df58"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2dd8afdb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "updateAccessControl",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x48bf1971"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "sections",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "bool[]",
							"name": "canSuspends",
							"type": "bool[]"
						},
						{
							"internalType": "bool[]",
							"name": "canResumes",
							"type": "bool[]"
						}
					],
					"name": "updateAccessControls",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x517d60c6"
				}
			],
			"source": {
				"keccak256": "0x7ded4a8ed0d9a827c119a4bb92b4d56f6e8c0781677d21e3be70e6502fe9e44e",
				"urls": [
					"bzz-raw://436d07594e5f1e96edb733232dcb3773ebdac00ecf06671ae2a104374d7a0ae3",
					"dweb:/ipfs/QmPpAHMedqf6BAkiYTkfYeXvAGAatFGLwfRiJyXvQfbCuQ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemStatus.sol": "SystemStatus"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"SystemStatus.sol": {
						"keccak256": "0x7ded4a8ed0d9a827c119a4bb92b4d56f6e8c0781677d21e3be70e6502fe9e44e",
						"urls": [
							"bzz-raw://436d07594e5f1e96edb733232dcb3773ebdac00ecf06671ae2a104374d7a0ae3",
							"dweb:/ipfs/QmPpAHMedqf6BAkiYTkfYeXvAGAatFGLwfRiJyXvQfbCuQ"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeRates": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200517238038062005172833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82518660208202830111640100000000821117156200009f57600080fd5b82525081516020918201928201910280838360005b83811015620000ce578181015183820152602001620000b4565b5050505090500160405260200180516040519392919084640100000000821115620000f857600080fd5b9083019060208201858111156200010e57600080fd5b82518660208202830111640100000000821117156200012c57600080fd5b82525081516020918201928201910280838360005b838110156200015b57818101518382015260200162000141565b5050505090500160405250505082808660006001600160a01b0316816001600160a01b03161415620001d4576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055508051825114620002905760405162461bcd60e51b815260040180806020018281038252602f81526020018062005080602f913960400191505060405180910390fd5b83600560006101000a8154816001600160a01b0302191690836001600160a01b0316021790555062000346631c1554d160e21b73__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030857600080fd5b505af41580156200031d573d6000803e3d6000fd5b505050506040513d60208110156200033457600080fd5b5051426001600160e01b036200036816565b6200035c8282426001600160e01b03620003e116565b50505050505062000c59565b6000838152600c60209081526040808320805460010190819055815180830183526001600160d81b03968716815264ffffffffff958616818501908152978552600484528285209185529252909120905181549451909216600160d81b029183166001600160d81b031990941693909317909116179055565b60008251845114620004255760405162461bcd60e51b8152600401808060200182810382526038815260200180620051016038913960400191505060405180910390fd5b610258420182106200047e576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015620005975760008582815181106200049a57fe5b60200260200101519050848281518110620004b157fe5b602002602001015160001415620004fa5760405162461bcd60e51b8152600401808060200182810382526039815260200180620051396039913960400191505060405180910390fd5b80631c1554d160e21b1415620005425760405162461bcd60e51b8152600401808060200182810382526031815260200180620050d06031913960400191505060405180910390fd5b62000556816001600160e01b036200066216565b8410156200056557506200058e565b6200058c818684815181106200057757fe5b6020026020010151866200036860201b60201c565b505b60010162000481565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101562000601578181015183820152602001620005e7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156200064257818101518382015260200162000628565b5050505090500194505050505060405180910390a15060015b9392505050565b600062000678826001600160e01b036200068b16565b6020015164ffffffffff1690505b919050565b6200069562000c0f565b6000828152600760205260409020546001600160a01b0316620006c1836001600160e01b03620008f016565b15620008445760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b1781529151815191926000926060926001600160a01b0387169286928291908083835b60208310620007305780518252601f1990920191602091820191016200070f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811462000792576040519150601f19603f3d011682016040523d82523d6000602084013e62000797565b606091505b509150915081156200083b5760008060008380602001905160a0811015620007be57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080620008138b620007fa81876001600160e01b036200092c16565b6001600160501b0388166001600160e01b03620009f016565b6001600160d81b031681526020018264ffffffffff1681525097505050505050505062000686565b505050620008ea565b6000838152600c60205260409020546200085d62000c0f565b5060008481526004602090815260408083208484528252918290208251808401845290546001600160d81b038082168352600160d81b90910464ffffffffff1692820192909252825180840190935280519092918291620008c29189911686620009f0565b6001600160d81b03168152602001826020015164ffffffffff16815250935050505062000686565b50919050565b60008181526006602052604081205460ff161580156200092657506000828152600760205260409020546001600160a01b031615155b92915050565b60008082121562000984576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526008602052604090205460ff1615620008ea576000838152600860209081526040822054620009c89160129160ff16906200409862000b53821b17901c565b600a0a9050620009e7818462000bb160201b620038cd1790919060201c565b91505062000926565b6000620009fc62000c26565b506000848152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff808216151560608501526101009091041615156080830152158062000a5d575083155b1562000a6d57839150506200065b565b6000858152600d602052604090205484925080841080159062000a91575081606001515b1562000aa4578160200151925062000b4a565b80841015801562000ab6575081608001515b1562000ac9578160400151925062000b4a565b600062000aea6002846000015162000bb160201b620038cd1790919060201c565b905085811162000afe576000935062000b1b565b62000b18868262000b5360201b620040981790919060201c565b93505b8260200151841062000b34578260200151935062000b48565b8260400151841162000b4857826040015193505b505b50509392505050565b60008282111562000bab576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008262000bc25750600062000926565b8282028284828162000bd057fe5b04146200065b5760405162461bcd60e51b8152600401808060200182810382526021815260200180620050af6021913960400191505060405180910390fd5b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b6144178062000c696000396000f3fe608060405234801561001057600080fd5b50600436106103355760003560e01c8063728dec29116101b2578063af3aea86116100f9578063c8e5bbd5116100a2578063de02795e1161007c578063de02795e14610c8d578063de630ba714610caa578063eedb421e14610cb2578063fdadbc7e14610ccf57610335565b8063c8e5bbd514610b84578063c8e6f39514610c53578063ce8480ea14610c7057610335565b8063becb1954116100d3578063becb195414610a2d578063bfa005ce14610a52578063c2c8a67614610b1457610335565b8063af3aea861461099e578063b199c764146109bb578063b295ad34146109fa57610335565b80637f6e9d151161015b5780638da5cb5b116101355780638da5cb5b1461095c578063935f4abd14610964578063ac82f6081461098157610335565b80637f6e9d15146108f05780638295016a1461090d578063899ffef41461095457610335565b80637a018a1e1161018c5780637a018a1e146108985780637adbf973146108b55780637dc0d1d0146108e857610335565b8063728dec291461083c578063741853601461088857806379ba50971461089057610335565b80632bed9e0c116102815780634308a94f1161022a5780634f72def6116102045780634f72def6146107d157806353a47bb7146107ee578063654a60ac146107f65780637103353e1461081f57610335565b80634308a94f1461077657806345938849146107ac5780634c36b837146107c957610335565b80633375fcd11161025b5780633375fcd11461070357806338aa1b99146107205780633f0e084f1461073d57610335565b80632bed9e0c1461060d5780632d7371e11461062a5780632ea913d4146106e657610335565b8063109e46a2116102e3578063266da16b116102bd578063266da16b1461059d5780632678df96146105d25780632af64bd31461060557610335565b8063109e46a21461051c5780631627540c1461054b5780632528f0fe1461058057610335565b80630a7d36d1116103145780630a7d36d11461045c5780630c71cd23146104cc5780630ee4951b1461050257610335565b80629919c01461033a57806304f3bcec1461036b57806305a046e51461039c575b600080fd5b6103576004803603602081101561035057600080fd5b5035610cf2565b604080519115158252519081900360200190f35b610373610d0d565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61040c600480360360208110156103b257600080fd5b8101906020810181356401000000008111156103cd57600080fd5b8201836020820111156103df57600080fd5b8035906020019184602083028401116401000000008311171561040157600080fd5b509092509050610d29565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610448578181015183820152602001610430565b505050509050019250505060405180910390f35b6103576004803603602081101561047257600080fd5b81019060208101813564010000000081111561048d57600080fd5b82018360208201111561049f57600080fd5b803590602001918460208302840111640100000000831117156104c157600080fd5b509092509050610dab565b6104e9600480360360208110156104e257600080fd5b5035610e5e565b6040805192835290151560208301528051918290030190f35b61050a610f24565b60408051918252519081900360200190f35b61050a6004803603608081101561053257600080fd5b5080359060208101359060408101359060600135610f34565b61057e6004803603602081101561056157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f77565b005b6103576004803603602081101561059657600080fd5b5035610ff8565b61050a600480360360a08110156105b357600080fd5b5080359060208101359060408101359060608101359060800135611018565b61040c600480360360208110156105e857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611085565b610357611146565b61057e6004803603602081101561062357600080fd5b5035611290565b61064d6004803603604081101561064057600080fd5b50803590602001356113dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610691578181015183820152602001610679565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106d05781810151838201526020016106b8565b5050505090500194505050505060405180910390f35b61050a600480360360208110156106fc57600080fd5b50356114cd565b6103576004803603602081101561071957600080fd5b50356114eb565b6103576004803603602081101561073657600080fd5b50356115b1565b61057e6004803603604081101561075357600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff166115bf565b6107936004803603602081101561078c57600080fd5b503561186f565b6040805192835260208301919091528051918290030190f35b61057e600480360360208110156107c257600080fd5b50356118bb565b6103736119a8565b61050a600480360360208110156107e757600080fd5b50356119b2565b6103736119bf565b61050a6004803603606081101561080c57600080fd5b50803590602081013590604001356119db565b6103736004803603602081101561083557600080fd5b50356119f3565b6108596004803603602081101561085257600080fd5b5035611a1b565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b61057e611a4e565b61057e611c61565b61050a600480360360208110156108ae57600080fd5b5035611d5c565b61057e600480360360208110156108cb57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611d67565b610373611dee565b61050a6004803603602081101561090657600080fd5b5035611e0a565b6109366004803603606081101561092357600080fd5b5080359060208101359060400135611e1c565b60408051938452602084019290925282820152519081900360600190f35b61040c611e3c565b610373611eb8565b61050a6004803603602081101561097a57600080fd5b5035611ed4565b61050a6004803603602081101561099757600080fd5b5035611ee6565b610357600480360360208110156109b457600080fd5b5035611f15565b61057e600480360360c08110156109d157600080fd5b50803590602081013590604081013590606081013590608081013515159060a001351515611f20565b610a1760048036036020811015610a1057600080fd5b50356122f5565b6040805160ff9092168252519081900360200190f35b61057e60048036036040811015610a4357600080fd5b5080359060200135151561230a565b61035760048036036060811015610a6857600080fd5b810190602081018135640100000000811115610a8357600080fd5b820183602082011115610a9557600080fd5b80359060200191846020830284011164010000000083111715610ab757600080fd5b919390929091602081019035640100000000811115610ad557600080fd5b820183602082011115610ae757600080fd5b80359060200191846020830284011164010000000083111715610b0957600080fd5b919350915035612350565b61040c60048036036020811015610b2a57600080fd5b810190602081018135640100000000811115610b4557600080fd5b820183602082011115610b5757600080fd5b80359060200191846020830284011164010000000083111715610b7957600080fd5b5090925090506123d3565b610bf460048036036020811015610b9a57600080fd5b810190602081018135640100000000811115610bb557600080fd5b820183602082011115610bc757600080fd5b80359060200191846020830284011164010000000083111715610be957600080fd5b50909250905061244b565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015610c3e578181015183820152602001610c26565b50505050905001935050505060405180910390f35b61057e60048036036020811015610c6957600080fd5b50356125bf565b61050a60048036036020811015610c8657600080fd5b50356126cd565b61057e60048036036020811015610ca357600080fd5b50356126d8565b610936612900565b61035760048036036020811015610cc857600080fd5b503561290c565b61079360048036036040811015610ce557600080fd5b5080359060200135612921565b6000610d0582610d00612939565b612a0c565b90505b919050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60608083839050604051908082528060200260200182016040528015610d59578160200160208202803883390190505b50905060005b83811015610da157610d82858583818110610d7657fe5b90506020020135612a57565b828281518110610d8e57fe5b6020908102919091010152600101610d5f565b5090505b92915050565b600080610db6612939565b90506060610df6858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7392505050565b905060005b84811015610e5257818181518110610e0f57fe5b602002602001015180610e395750610e39868683818110610e2c57fe5b9050602002013584612a0c565b15610e4a5760019350505050610da5565b600101610dfb565b50600095945050505050565b600080610e6961415f565b610e7284612d21565b9050837f70555344000000000000000000000000000000000000000000000000000000001415610ec557517affffffffffffffffffffffffffffffffffffffffffffffffffffff16915060009050610f1f565b8051610ee3610ed2612939565b836020015164ffffffffff1661300c565b80610efa5750610efa85610ef5613027565b6130c9565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff90911693509150505b915091565b6000610f2e612939565b90505b90565b600083815b610f468783600101613201565b915050801580610f57575083850181115b15610f6457509050610f6f565b600190910190610f39565b949350505050565b610f7f613471565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600061100682610d00612939565b80610d055750610d0582610ef5613027565b60008386141561102957508361107c565b60006110358785613201565b50905060006110448685613201565b509050806110575760009250505061107c565b6110778161106b898563ffffffff6134c916565b9063ffffffff6134de16565b925050505b95945050505050565b6009546040805182815260208084028201019091526060916000919080156110b7578160200160208202803883390190505b50915060005b60095481101561113f576000600982815481106110d657fe5b6000918252602080832090910154808352600790915260409091205490915073ffffffffffffffffffffffffffffffffffffffff9081169086161415611136578084848060010195508151811061112957fe5b6020026020010181815250505b506001016110bd565b5050919050565b60006060611152611e3c565b905060005b815181101561128757600082828151811061116e57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a72100000000000000000000000000000000000000000000000000000000815260048101859052925193955073ffffffffffffffffffffffffffffffffffffffff918216949116926321f8a721926024808201939291829003018186803b1580156111fc57600080fd5b505afa158015611210573d6000803e3d6000fd5b505050506040513d602081101561122657600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614158061126d575060008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16155b1561127e5760009350505050610f31565b50600101611157565b50600191505090565b611298613471565b60008181526007602052604090205473ffffffffffffffffffffffffffffffffffffffff168061130f576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260076020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556008909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905561137e8360096134f3565b905080156113d7576040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b60608082604051908082528060200260200182016040528015611409578160200160208202803883390190505b50915082604051908082528060200260200182016040528015611436578160200160208202803883390190505b5090506000611444856135d3565b905060005b848110156114c35761145b8683613201565b85838151811061146757fe5b6020026020010185848151811061147a57fe5b6020908102919091010191909152528161149657506114c69050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910190600101611449565b50505b9250929050565b600b81815481106114da57fe5b600091825260209091200154905081565b60006114f5614176565b506000828152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580611558575080606001515b80611564575080608001515b15611573576000915050610d08565b600061157e84611ee6565b90506000811180156115a257508160200151811015806115a2575081604001518111155b92505050610d08565b50919050565b6000610d0582610ef5613027565b6115c7613471565b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561161457600080fd5b505afa158015611628573d6000803e3d6000fd5b505050506040513d602081101561163e57600080fd5b50511015611693576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156116db57600080fd5b505afa1580156116ef573d6000803e3d6000fd5b505050506040513d602081101561170557600080fd5b50519050601260ff8216111561174c5760405162461bcd60e51b81526004018080602001828103825260328152602001806143516032913960400191505060405180910390fd5b60008481526007602052604090205473ffffffffffffffffffffffffffffffffffffffff166117ab57600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018490555b600084815260076020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155600883529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff861617905580518781529182019290925281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a150505050565b60008061187a61415f565b61188384612d21565b80516020909101517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b6118c3613697565b60006118ce82611ee6565b11611920576040805162461bcd60e51b815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015290519081900360640190fd5b6000818152600460209081526040808320600c808452828520805486529184528285208590559385905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909255815183815291517fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae19281900390910190a150565b6000610f2e613027565b600981815481106114da57fe5b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60006119e88484846136ed565b509095945050505050565b60076020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b600a6020526000908152604090208054600182015460028301546003909301549192909160ff8082169161010090041685565b6060611a58611e3c565b905060005b8151811015611c5d576000828281518110611a7457fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d840152815195975060009673ffffffffffffffffffffffffffffffffffffffff9095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611b50578181015183820152602001611b38565b50505050905090810190601f168015611b7d5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611b9b57600080fd5b505afa158015611baf573d6000803e3d6000fd5b505050506040513d6020811015611bc557600080fd5b505160008381526003602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611a5d565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611cb75760405162461bcd60e51b81526004018080602001828103825260358152602001806141e76035913960400191505060405180910390fd5b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b6000610d05826135d3565b611d6f613471565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020908290030190a150565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b600d6020526000908152604090205481565b6000806000611e2c8686866136ed565b9250925092505b93509350939050565b606080611e4761373f565b60408051600180825281830190925291925060609190602080830190803883390190505090507f45786368616e676572000000000000000000000000000000000000000000000081600081518110611e9b57fe5b602002602001018181525050611eb1828261379e565b9250505090565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020526000908152604090205481565b6000611ef182612d21565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000610d058261385a565b611f28613471565b60008311611f7d576040805162461bcd60e51b815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b848411611fbb5760405162461bcd60e51b81526004018080602001828103825260278152602001806143bc6027913960400191505060405180910390fd5b611fcc85600263ffffffff6138cd16565b84106120095760405162461bcd60e51b815260040180806020018281038252602e815260200180614323602e913960400191505060405180910390fd5b8483106120475760405162461bcd60e51b81526004018080602001828103825260278152602001806142fc6027913960400191505060405180910390fd5b8180156120515750805b156120a3576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420667265657a6520617420626f7468206c696d69747300000000604482015290519081900360640190fd5b6000868152600a6020526040902080546120ed57600b80546001810182556000919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9018790555b858155600181018590556002810184905582806121075750815b156121dc576003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010084151502179055600061216f886135d3565b6000898152600d6020526040902081905590507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df088856121af57866121b1565b875b604080519283526020830191909152818101849052336060830152519081900360800190a150612216565b6003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556000878152600d60205260408120555b600061222188611ee6565b905080156122a457612231613926565b73ffffffffffffffffffffffffffffffffffffffff166357630a4089836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561228b57600080fd5b505af115801561229f573d6000803e3d6000fd5b505050505b60408051898152602081018990528082018890526060810187905290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050505050505050565b60086020526000908152604090205460ff1681565b612312613471565b60009182526006602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600061235a613697565b6123c986868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a02828101820190935289825290935089925088918291850190849080828437600092019190915250879250613951915050565b9695505050505050565b60608083839050604051908082528060200260200182016040528015612403578160200160208202803883390190505b50905060005b83811015610da15761242c85858381811061242057fe5b90506020020135611ee6565b82828151811061243857fe5b6020908102919091010152600101612409565b606060008383905060405190808252806020026020018201604052801561247c578160200160208202803883390190505b5091506000612489612939565b905060606124c9868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7392505050565b905060005b858110156125b5576124de61415f565b6124f98888848181106124ed57fe5b90506020020135612d21565b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff1686838151811061252957fe5b60200260200101818152505084158015612575575087878381811061254a57fe5b905060200201357f705553440000000000000000000000000000000000000000000000000000000014155b156125ac5782828151811061258657fe5b6020026020010151806125a957506125a984826020015164ffffffffff1661300c565b94505b506001016124ce565b5050509250929050565b6125c7613471565b6000818152600a6020526040902054612627576040805162461bcd60e51b815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015290519081900360640190fd5b6000818152600a60205260408120818155600181018290556002810182905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016905561267a82600b6134f3565b90508015611c5d5760408051838152600060208201819052818301819052606082015290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050565b6000610d0582612a57565b6000818152600a602052604090208054612739576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420667265657a65206e6f6e2d696e766572736520726174650000604482015290519081900360640190fd5b600381015460ff1615801561275857506003810154610100900460ff16155b6127a9576040805162461bcd60e51b815260206004820152601a60248201527f546865207261746520697320616c72656164792066726f7a656e000000000000604482015290519081900360640190fd5b60006127b483611ee6565b90506000811180156127d857508160010154811015806127d8575081600201548111155b156128b357600182015460038301805460028501548414610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090921693851493909317169190911790556000612851846135d3565b6000858152600d6020908152604091829020839055815187815290810185905280820183905233606082015290519192507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0919081900360800190a1506113d7565b6040805162461bcd60e51b815260206004820152601260248201527f526174652077697468696e20626f756e64730000000000000000000000000000604482015290519081900360640190fd5b42610258808201909192565b60066020526000908152604090205460ff1681565b60008061292e8484613201565b915091509250929050565b6000612943613bc5565b73ffffffffffffffffffffffffffffffffffffffff166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156129db57600080fd5b505afa1580156129ef573d6000803e3d6000fd5b505050506040513d6020811015612a0557600080fd5b5051905090565b6000827f70555344000000000000000000000000000000000000000000000000000000001415612a3e57506000610da5565b612a5082612a4b85612a57565b61300c565b9392505050565b6000612a6282612d21565b6020015164ffffffffff1692915050565b60606000612a7f613027565b905073ffffffffffffffffffffffffffffffffffffffff811615612cee5760608351604051908082528060200260200182016040528015612aca578160200160208202803883390190505b50905060005b8451811015612b595760076000868381518110612ae957fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110612b2c57fe5b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101612ad0565b506040517f7d723cac00000000000000000000000000000000000000000000000000000000815260206004820181815283516024840152835173ffffffffffffffffffffffffffffffffffffffff861693637d723cac93869392839260440191808601910280838360005b83811015612bdc578181015183820152602001612bc4565b505050509050019250505060006040518083038186803b158015612bff57600080fd5b505afa158015612c13573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612c5a57600080fd5b8101908080516040519392919084640100000000821115612c7a57600080fd5b908301906020820185811115612c8f57600080fd5b8251866020820283011164010000000082111715612cac57600080fd5b82525081516020918201928201910280838360005b83811015612cd9578181015183820152602001612cc1565b505050509050016040525050509250506115ab565b8251604051908082528060200260200182016040528015612d19578160200160208202803883390190505b509392505050565b612d2961415f565b60008281526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16612d5783613bf0565b15612f2b5760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffeaf968c0000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b60208310612e1c57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612ddf565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612e7c576040519150601f19603f3d011682016040523d82523d6000602084013e612e81565b606091505b50915091508115612f235760008060008380602001905160a0811015612ea657600080fd5b50805160208201516060909201516040805180820190915291955091935090915080612ee88b612ed68187613c35565b8769ffffffffffffffffffff16613cde565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff16815250975050505050505050610d08565b5050506115ab565b6000838152600c6020526040902054612f4261415f565b5060008481526004602090815260408083208484528252918290208251808401845290547affffffffffffffffffffffffffffffffffffffffffffffffffffff80821683527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff1692820192909252825180840190935280519092918291612fd19189911686613cde565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff168152602001826020015164ffffffffff168152509350505050610d08565b60004261301f838563ffffffff613e1c16565b109392505050565b6000613031613bc5565b73ffffffffffffffffffffffffffffffffffffffff16639ee5955a7f53797374656d53657474696e67730000000000000000000000000000000000007f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156129db57600080fd5b6000827f705553440000000000000000000000000000000000000000000000000000000014156130fb57506000610da5565b60008381526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16801580613141575073ffffffffffffffffffffffffffffffffffffffff8316155b15613150576000915050610da5565b8273ffffffffffffffffffffffffffffffffffffffff1663357e47fe826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156131cd57600080fd5b505afa1580156131e1573d6000803e3d6000fd5b505050506040513d60208110156131f757600080fd5b5051949350505050565b600082815260076020526040812054819073ffffffffffffffffffffffffffffffffffffffff1661323185613bf0565b156133c95760408051602480820187905282518083039091018152604490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9a6fc8f50000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b6020831061330557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016132c8565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613365576040519150601f19603f3d011682016040523d82523d6000602084013e61336a565b606091505b509150915081156133c1576000808280602001905160a081101561338d57600080fd5b50602081015160609091015190925090506133b28a6133ac8185613c35565b8b613cde565b975095506114c6945050505050565b505050613469565b6133d161415f565b5060008581526004602090815260408083208784528252918290208251808401909352547affffffffffffffffffffffffffffffffffffffffffffffffffffff81168084527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff169183019190915261345090879087613cde565b60209091015190935064ffffffffff1691506114c69050565b509250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146134c75760405162461bcd60e51b815260040180806020018281038252602f815260200180614243602f913960400191505060405180910390fd5b565b6000612a508383670de0b6b3a7640000613e76565b6000612a508383670de0b6b3a7640000613eb3565b6000805b82548110156135c9578383828154811061350d57fe5b906000526020600020015414156135c15782818154811061352a57fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061356557fe5b906000526020600020015483828154811061357c57fe5b60009182526020909120015582546135b6847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83016141a9565b506001915050610da5565b6001016134f7565b5060009392505050565b60008181526007602052604081205473ffffffffffffffffffffffffffffffffffffffff1661360183613bf0565b15613681578073ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561364c57600080fd5b505afa158015613660573d6000803e3d6000fd5b505050506040513d602081101561367657600080fd5b50519150610d089050565b50506000818152600c6020526040902054610d08565b60055473ffffffffffffffffffffffffffffffffffffffff1633146134c75760405162461bcd60e51b815260040180806020018281038252602781526020018061421c6027913960400191505060405180910390fd5b60008060006136fb86611ee6565b91508386141561370f575083915080611e33565b61371884611ee6565b90508015611e33576137348161106b878563ffffffff6134c916565b925093509350939050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061378f57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156137ce578160200160208202803883390190505b50905060005b8351811015613810578381815181106137e957fe5b60200260200101518282815181106137fd57fe5b60209081029190910101526001016137d4565b5060005b82518110156138535782818151811061382957fe5b602002602001015182828651018151811061384057fe5b6020908102919091010152600101613814565b5092915050565b6000613864614176565b506000828152600a6020908152604091829020825160a0810184528154815260018201549281019290925260028101549282019290925260039091015460ff808216151560608401819052610100909204161515608083015280612a5057506080015192915050565b6000826138dc57506000610da5565b828202828482816138e957fe5b0414612a505760405162461bcd60e51b81526004018080602001828103825260218152602001806142726021913960400191505060405180910390fd5b6000610f2e7f45786368616e6765720000000000000000000000000000000000000000000000613ee5565b600082518451146139935760405162461bcd60e51b81526004018080602001828103825260388152602001806142c46038913960400191505060405180910390fd5b610258420182106139eb576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015613aff576000858281518110613a0557fe5b60200260200101519050848281518110613a1b57fe5b602002602001015160001415613a625760405162461bcd60e51b81526004018080602001828103825260398152602001806143836039913960400191505060405180910390fd5b807f70555344000000000000000000000000000000000000000000000000000000001415613ac15760405162461bcd60e51b81526004018080602001828103825260318152602001806142936031913960400191505060405180910390fd5b613aca81612a57565b841015613ad75750613af7565b613af581868481518110613ae757fe5b602002602001015186613fdb565b505b6001016139ee565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613b67578181015183820152602001613b4f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613ba6578181015183820152602001613b8e565b5050505090500194505050505060405180910390a15060019392505050565b6000610f2e7f466c657869626c6553746f726167650000000000000000000000000000000000613ee5565b60008181526006602052604081205460ff16158015610d0557505060009081526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b600080821215613c8c576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526008602052604090205460ff16156115ab57600083815260086020526040812054613cc19060129060ff16614098565b600a0a9050613cd6838263ffffffff6138cd16565b915050610da5565b6000613ce8614176565b506000848152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580613d48575083155b15613d565783915050612a50565b6000858152600d6020526040902054849250808410801590613d79575081606001515b15613d8a5781602001519250613e13565b808410158015613d9b575081608001515b15613dac5781604001519250613e13565b8151600090613dc290600263ffffffff6138cd16565b9050858111613dd45760009350613de7565b613de4818763ffffffff61409816565b93505b82602001518410613dfe5782602001519350613e11565b82604001518411613e1157826040015193505b505b50509392505050565b600082820183811015612a50576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600a8304613e8d868663ffffffff6138cd16565b81613e9457fe5b0490506005600a825b0610613ea757600a015b600a9004949350505050565b600080613ed984613ecd87600a870263ffffffff6138cd16565b9063ffffffff6140f516565b90506005600a82613e9d565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a2000000000000000000000000000000093810193909352603180840186905282518085039091018152605190930190915273ffffffffffffffffffffffffffffffffffffffff1690816138535760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613fa0578181015183820152602001613f88565b50505050905090810190601f168015613fcd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000838152600c60209081526040808320805460010190819055815180830183527affffffffffffffffffffffffffffffffffffffffffffffffffffff968716815264ffffffffff9586168185019081529785526004845282852091855292529091209051815494519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090941693909317909116179055565b6000828211156140ef576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080821161414b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161415657fe5b04949350505050565b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b8154818355818111156113d7576000838152602090206113d7918101908301610f3191905b808211156141e257600081556001016141ce565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7752617465206f6620705553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e43757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e747279506f696e7475707065724c696d6974206d757374206265206c657373207468616e20646f75626c6520656e747279506f696e7441676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f2031385a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e75707065724c696d6974206d7573742062652061626f76652074686520656e747279506f696e74a265627a7a723158203a40a5439db971f737f81c8b1320487ba9d9fc02ef3d557b3be649ba1b74509d64736f6c6343000510003243757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7752617465206f6620705553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e43757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32[]",
							"name": "_currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_newRates",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorAdded",
					"type": "event",
					"signature": "0x0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorRemoved",
					"type": "event",
					"signature": "0xec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						}
					],
					"name": "InversePriceConfigured",
					"type": "event",
					"signature": "0x37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "initiator",
							"type": "address"
						}
					],
					"name": "InversePriceFrozen",
					"type": "event",
					"signature": "0xf72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOracle",
							"type": "address"
						}
					],
					"name": "OracleUpdated",
					"type": "event",
					"signature": "0x3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "RateDeleted",
					"type": "event",
					"signature": "0xe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						}
					],
					"name": "RatesUpdated",
					"type": "event",
					"signature": "0x1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba57"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "aggregatorAddress",
							"type": "address"
						}
					],
					"name": "addAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f0e084f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "aggregatorKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f72def6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "aggregators",
					"outputs": [
						{
							"internalType": "contract AggregatorV2V3Interface",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7103353e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "anyRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a7d36d1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "canFreezeRate",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3375fcd1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "currenciesUsingAggregator",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencies",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2678df96"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currencyByExternal",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeedb421e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currencyKeyDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb295ad34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currentRoundForRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x935f4abd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "deleteRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x45938849"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x654a60ac"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveValueAndRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "sourceRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "destinationRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8295016a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "effectiveValueAtRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x266da16b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "freezeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xde02795e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getCurrentRoundId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7a018a1e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "startingRoundId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startingTimestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timediff",
							"type": "uint256"
						}
					],
					"name": "getLastRoundIdBeforeElapsedSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x109e46a2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "inversePricing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "frozenAtUpperLimit",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "frozenAtLowerLimit",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x728dec29"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "invertedKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ea913d4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "lastRateUpdateTimes",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xce8480ea"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "lastRateUpdateTimesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05a046e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nowPlusLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde630ba7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oracle",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dc0d1d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateAndInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0c71cd23"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						}
					],
					"name": "rateAndTimestampAtRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfdadbc7e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateAndUpdatedTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4308a94f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateForCurrency",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac82f608"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsFlagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x38aa1b99"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsFrozen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf3aea86"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2528f0fe"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x009919c0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesAndInvalidForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8e5bbd5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "numRounds",
							"type": "uint256"
						}
					],
					"name": "ratesAndUpdatedTimeForCurrencyLastNRounds",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2d7371e1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc2c8a676"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2bed9e0c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeInversePricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc8e6f395"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "roundFrozen",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f6e9d15"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setCurrencyToExternalAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbecb1954"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "freezeAtUpperLimit",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "freezeAtLowerLimit",
							"type": "bool"
						}
					],
					"name": "setInversePricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb199c764"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						}
					],
					"name": "setOracle",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7adbf973"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "timeSent",
							"type": "uint256"
						}
					],
					"name": "updateRates",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbfa005ce"
				}
			],
			"source": {
				"keccak256": "0x0e78ee92bfcc11530858621ac5e320fd77fa410354251ae5015379a58098b166",
				"urls": [
					"bzz-raw://ccfd8ae31056d256e992ec9882307f35fae095d6e1995d07935ae7c1e570a9ed",
					"dweb:/ipfs/QmZwmC4Vd1rT9874AN19beuiGNV3NyE5AVMsgwedJeUoAd"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeRates.sol": "ExchangeRates"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 20000
					},
					"remappings": []
				},
				"sources": {
					"ExchangeRates.sol": {
						"keccak256": "0x0e78ee92bfcc11530858621ac5e320fd77fa410354251ae5015379a58098b166",
						"urls": [
							"bzz-raw://ccfd8ae31056d256e992ec9882307f35fae095d6e1995d07935ae7c1e570a9ed",
							"dweb:/ipfs/QmZwmC4Vd1rT9874AN19beuiGNV3NyE5AVMsgwedJeUoAd"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516113783803806113788339818101604052606081101561003357600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039384166001600160a01b0319918216179091556003805492909316911617905550611243806101356000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c80636b3905c4116100ee5780639b217f9011610097578063cb5147b211610071578063cb5147b21461048d578063d0cc82e3146104b3578063da7bd3e9146104bb578063ee1d036c146104e7576101a3565b80639b217f901461042d578063ae2e933b14610459578063b5ddb9c714610461576101a3565b806379ba5097116100c857806379ba5097146103f75780638da5cb5b146103ff57806397f4652714610407576101a3565b80636b3905c4146103a357806370a08231146103c957806371e780f3146103ef576101a3565b8063326a3cfb1161015057806345e5441f1161012a57806345e5441f146103455780634e5a60911461037757806353a47bb71461039b576101a3565b8063326a3cfb146102db578063449d0eb114610301578063458efde31461033d576101a3565b8063204b676a11610181578063204b676a1461022e578063227d517a146102545780632f5bb6611461027a576101a3565b80631627540c146101a857806319db2228146101d057806319e740c0146101f6575b600080fd5b6101ce600480360360208110156101be57600080fd5b50356001600160a01b0316610513565b005b6101ce600480360360208110156101e657600080fd5b50356001600160a01b031661057c565b61021c6004803603602081101561020c57600080fd5b50356001600160a01b03166105e5565b60408051918252519081900360200190f35b61021c6004803603602081101561024457600080fd5b50356001600160a01b0316610627565b61021c6004803603602081101561026a57600080fd5b50356001600160a01b0316610642565b6102a06004803603602081101561029057600080fd5b50356001600160a01b0316610654565b6040518082600260200280838360005b838110156102c85781810151838201526020016102b0565b5050505090500191505060405180910390f35b61021c600480360360208110156102f157600080fd5b50356001600160a01b03166106a5565b6103276004803603602081101561031757600080fd5b50356001600160a01b03166106b7565b60405181518152808261410080838360206102b0565b6101ce61073d565b61021c6004803603606081101561035b57600080fd5b506001600160a01b03813516906020810135906040013561093f565b61037f61097b565b604080516001600160a01b039092168252519081900360200190f35b61037f61098a565b61021c600480360360208110156103b957600080fd5b50356001600160a01b0316610999565b61021c600480360360208110156103df57600080fd5b50356001600160a01b03166109b2565b61021c6109cd565b6101ce6109d3565b61037f610a9c565b61021c6004803603602081101561041d57600080fd5b50356001600160a01b0316610aab565b61021c6004803603604081101561044357600080fd5b506001600160a01b038135169060200135610abd565b61037f610ad8565b6101ce6004803603604081101561047757600080fd5b506001600160a01b038135169060200135610ae7565b6101ce600480360360208110156104a357600080fd5b50356001600160a01b0316610b40565b61021c610ba9565b6102a0600480360360408110156104d157600080fd5b506001600160a01b038135169060200135610baf565b61021c600480360360408110156104fd57600080fd5b506001600160a01b038135169060200135610c1e565b61051b610c31565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610584610c31565b600380546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806105f183610627565b905060005b8181101561061e576106088482610abd565b156106165791506106229050565b6001016105f6565b5090505b919050565b6001600160a01b031660009081526004602052604090205490565b60066020526000908152604090205481565b61065c61102e565b6000610667836105e5565b905061067283610627565b8114156106945750506040805180820190915260008082526020820152610622565b61069e8382610baf565b9392505050565b60056020526000908152604090205481565b6106bf61104c565b6106c761104c565b60006106d284610627565b905060005b81811015610734576106e761102e565b6106f18683610baf565b80519091508460028402610208811061070657fe5b602002015280600160200201518483600202600101610208811061072657fe5b6020020152506001016106d7565b50909392505050565b600061074833610627565b90506000805b828110156107ed5760006107623383610abd565b90504281111561077257506107ed565b600061077e3384610c1e565b905080156107e3576040805180820182526000808252602080830182905233825260049052919091208054859081106107b357fe5b90600052602060002090600202019060026107cf92919061106c565b506107e0848263ffffffff610c7c16565b93505b505060010161074e565b50801561093b57600754610807908263ffffffff610cd616565b6007553360009081526005602052604090205461082a908263ffffffff610cd616565b33600090815260056020908152604080832093909355600690522054610856908263ffffffff610c7c16565b3360008181526006602090815260408083209490945560025484517fa9059cbb00000000000000000000000000000000000000000000000000000000815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b1580156108d457600080fd5b505af11580156108e8573d6000803e3d6000fd5b505050506040513d60208110156108fe57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b6004602052826000526040600020828154811061095857fe5b9060005260206000209060020201816002811061097157fe5b0154925083915050565b6002546001600160a01b031681565b6001546001600160a01b031681565b60006109a482610654565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b60075481565b6001546001600160a01b03163314610a1c5760405162461bcd60e51b81526004018080602001828103825260358152602001806110fb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000610ab682610654565b60016109a7565b6000610ac98383610baf565b60005b60200201519392505050565b6003546001600160a01b031681565b6003546001600160a01b0316331480610b315760405162461bcd60e51b81526004018080602001828103825260328152602001806111dd6032913960400191505060405180910390fd5b610b3b8383610d33565b505050565b610b48610c31565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee89181900360200190a150565b61010481565b610bb761102e565b6001600160a01b0383166000908152600460205260409020805483908110610bdb57fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610bfe575050505050905092915050565b6000610c2a8383610baf565b6001610acc565b6000546001600160a01b03163314610c7a5760405162461bcd60e51b815260040180806020018281038252602f8152602001806111ae602f913960400191505060405180910390fd5b565b60008282018381101561069e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610d2d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80610d85576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610d98908263ffffffff610c7c16565b600755600254604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dff57600080fd5b505afa158015610e13573d6000803e3d6000fd5b505050506040513d6020811015610e2957600080fd5b50516007541115610e6b5760405162461bcd60e51b81526004018080602001828103825260478152602001806111676047913960600191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054610104811115610edb576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe200420181610f07576001600160a01b0384166000908152600560205260409020839055610f94565b80610f158560018503610abd565b10610f515760405162461bcd60e51b81526004018080602001828103825260378152602001806111306037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610f7a908463ffffffff610c7c16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925284825281830187905280546001810180835591855292909320610fe392600290810290910191906110af565b5050604080514281526020810185905281516001600160a01b038716927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a250505050565b60405180604001604052806002906020820280388339509192915050565b604051806141000160405280610208906020820280388339509192915050565b826002810192821561109f579160200282015b8281111561109f578251829060ff1690559160200191906001019061107f565b506110ab9291506110dd565b5090565b826002810192821561109f579160200282015b8281111561109f5782518255916020019190600101906110c2565b6110f791905b808211156110ab57600081556001016110e3565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6ea265627a7a723158208be57e2d892f1d4920b8fee524a77ad6cd54c7ffa95c2f2e9fe2f679714b26dd64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newFeePool",
							"type": "address"
						}
					],
					"name": "FeePoolUpdated",
					"type": "event",
					"signature": "0x6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event",
					"signature": "0xedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5ddb9c7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[520]",
							"name": "",
							"type": "uint256[520]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "contract IFeePool",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e5a6091"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcb5147b2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x326a3cfb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x71e780f3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			],
			"source": {
				"keccak256": "0xe58e959006ac3ad4336a2cd3c95ad61c2d6e0dc49a8e188847f52477132328ca",
				"urls": [
					"bzz-raw://ab527c1d2c34f9063631e39aabec823a61e6f0435a4afea26eac5562f81afd97",
					"dweb:/ipfs/QmZw29vAB5gcCPvrVZKZihQ3FtFiWvTKrkTRmyHeUk1ohT"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrow.sol": "RewardEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrow.sol": {
						"keccak256": "0xe58e959006ac3ad4336a2cd3c95ad61c2d6e0dc49a8e188847f52477132328ca",
						"urls": [
							"bzz-raw://ab527c1d2c34f9063631e39aabec823a61e6f0435a4afea26eac5562f81afd97",
							"dweb:/ipfs/QmZw29vAB5gcCPvrVZKZihQ3FtFiWvTKrkTRmyHeUk1ohT"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrowV2": {
			"bytecode": "608060408190526303bfc400600c556224ea00600d5562093a80600e55630241ebdb60e61b815273__$58c62a0096148744468f14ce5088c1760d$__9063907af6c09060849060209060048186803b1580156200005b57600080fd5b505af415801562000070573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000969190810190620001f1565b6103e802601155348015620000aa57600080fd5b5060405162003d2638038062003d26833981016040819052620000cd91620001b2565b8181806249d400836001600160a01b038116620001075760405162461bcd60e51b8152600401620000fe9062000297565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200015491849062000271565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555050600160075550620003009050565b80516200019f81620002db565b92915050565b80516200019f81620002f5565b60008060408385031215620001c657600080fd5b6000620001d4858562000192565b9250506020620001e78582860162000192565b9150509250929050565b6000602082840312156200020457600080fd5b6000620002128484620001a5565b949350505050565b6200022581620002c7565b82525050565b6200022581620002b2565b600062000245601983620002a9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200028182856200021a565b6200029060208301846200022b565b9392505050565b602080825281016200019f8162000236565b90815260200190565b60006001600160a01b0382166200019f565b90565b60006200019f8260006200019f82620002b2565b620002e681620002b2565b8114620002f257600080fd5b50565b620002e681620002c4565b613a1680620003106000396000f3fe608060405234801561001057600080fd5b50600436106102ff5760003560e01c806370a082311161019c5780638da5cb5b116100ee578063b95375bd11610097578063e6b2cf6c11610071578063e6b2cf6c146105e7578063eac62489146105ef578063f0b882ba1461060f576102ff565b8063b95375bd146105ae578063cd7b43dd146105c1578063d621a169146105d4576102ff565b8063a0416ed3116100c8578063a0416ed314610575578063ae58254914610588578063b0fd59631461059b576102ff565b80638da5cb5b1461055d578063910a326d146105655780639ad6a7e51461056d576102ff565b80637839b92f116101505780637cc1d7561161012a5780637cc1d7561461051457806380d46f5814610527578063899ffef414610548576102ff565b80637839b92f146104e65780637993e699146104f957806379ba50971461050c576102ff565b806373307e401161018157806373307e40146104ab57806374185360146104be578063773ab39f146104c6576102ff565b806370a082311461049057806371e780f3146104a3576102ff565b8063326a3cfb1161025557806346ba2d90116102095780635eb8cf25116101e35780635eb8cf25146104625780636154c3431461046a5780636dc05bd31461047d576102ff565b806346ba2d901461043257806353a47bb71461043a5780635b85c2001461044f576102ff565b806337088ffc1161023a57806337088ffc146103f65780634525aabc146103fe57806345626bd614610411576102ff565b8063326a3cfb146103d057806334c7fec9146103e3576102ff565b8063178c5655116102b7578063227d517a11610291578063227d517a146103a25780632af64bd3146103b557806330104c5f146103bd576102ff565b8063178c5655146103745780631bb47b441461037c578063204b676a1461038f576102ff565b806305662986116102e857806305662986146103375780630fcdefb71461034c5780631627540c14610361576102ff565b8063018c6c551461030457806304f3bcec14610319575b600080fd5b610317610312366004612a31565b610622565b005b61032161066a565b60405161032e919061367c565b60405180910390f35b61033f610679565b60405161032e9190613632565b61035461069a565b60405161032e9190613640565b61031761036f36600461272d565b6106a0565b610317610700565b61031761038a366004612861565b61075d565b61035461039d36600461272d565b6107ae565b6103546103b036600461272d565b6107c9565b61033f6107db565b6103546103cb3660046127bf565b61090b565b6103546103de36600461272d565b61096b565b6103176103f13660046129d1565b61097d565b610354610a34565b61031761040c366004612a31565b610a3a565b61042461041f3660046127bf565b610a77565b60405161032e9291906138ba565b610354610aa8565b610442610aae565b60405161032e919061351c565b61031761045d366004612a31565b610abd565b610354610afa565b6104246104783660046127bf565b610b00565b61035461048b366004612769565b610b3b565b61035461049e36600461272d565b610be9565b610354610c04565b6104426104b936600461272d565b610c0a565b610317610c25565b6104d96104d4366004612861565b610d88565b60405161032e9190613610565b6103176104f436600461272d565b610f29565b610317610507366004612a31565b611229565b610317611288565b61031761052236600461272d565b611331565b61053a610535366004612769565b61148e565b60405161032e92919061380b565b6105506114a2565b60405161032e91906135ff565b610442611534565b610354611543565b610354611549565b610317610583366004612861565b61154f565b6103546105963660046127bf565b61161a565b6103546105a936600461272d565b611648565b6103176105bc366004612912565b61165a565b6103176105cf3660046127f9565b611845565b6103176105e23660046128ae565b611853565b610354611a15565b6106026105fd366004612861565b611a1b565b60405161032e9190613621565b61031761061d366004612769565b611b07565b61062a611e45565b600d8190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e9061065f908390613640565b60405180910390a150565b6003546001600160a01b031681565b600042610693600e54600f54611e7190919063ffffffff16565b1190505b90565b600f5481565b6106a8611e45565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061065f90839061351c565b610708611e45565b42600f819055600e547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd34445919061074590829063ffffffff611e7116565b60405161075392919061382b565b60405180910390a1565b610765611e96565b6001600160a01b0316336001600160a01b03161461079e5760405162461bcd60e51b8152600401610795906137cb565b60405180910390fd5b6107a9838383611eb0565b505050565b6001600160a01b031660009081526006602052604090205490565b60096020526000908152604090205481565b600060606107e76114a2565b905060005b815181101561090257600082828151811061080357fe5b60209081029190910181015160008181526004928390526040908190205460035491517f21f8a7210000000000000000000000000000000000000000000000000000000081529294506001600160a01b03908116939116916321f8a7219161086d91869101613640565b60206040518083038186803b15801561088557600080fd5b505afa158015610899573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108bd919081019061274b565b6001600160a01b03161415806108e857506000818152600460205260409020546001600160a01b0316155b156108f95760009350505050610697565b506001016107ec565b50600191505090565b600061091561259b565b506001600160a01b03831660009081526005602090815260408083208584528252918290208251808401909352805467ffffffffffffffff1683526001015490820152610961816120c9565b9150505b92915050565b60086020526000908152604090205481565b6000805b82811015610a2357336000908152600560205260408120818686858181106109a557fe5b90506020020135815260200190815260200160002090508060010154600014610a1a5760408051808201909152815467ffffffffffffffff168152600182015460208201526000906109f6906120c9565b90508015610a0657600060018301555b610a16848263ffffffff611e7116565b9350505b50600101610981565b5080156107a9576107a933826120fb565b600d5481565b610a42611e45565b600c8190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a49061065f908390613640565b60056020908152600092835260408084209091529082529020805460019091015467ffffffffffffffff9091169082565b60025481565b6001546001600160a01b031681565b610ac5611e45565b60118190556040517f7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef86729061065f908390613640565b600c5481565b6001600160a01b0391909116600090815260056020908152604080832093835292905220805460019091015467ffffffffffffffff90911691565b6000805b82811015610be157610b4f61259b565b6001600160a01b038616600090815260056020526040812090868685818110610b7457fe5b602090810292909201358352508181019290925260409081016000208151808301909252805467ffffffffffffffff16825260010154918101829052915015610bd8576000610bc2826120c9565b9050610bd4848263ffffffff611e7116565b9350505b50600101610b3f565b509392505050565b6001600160a01b031660009081526008602052604090205490565b600b5481565b600a602052600090815260409020546001600160a01b031681565b6060610c2f6114a2565b905060005b8151811015610d84576000828281518110610c4b57fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610c8d9190613511565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610cb992919061365c565b60206040518083038186803b158015610cd157600080fd5b505afa158015610ce5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d09919081019061274b565b60008381526004602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610d72908490849061364e565b60405180910390a15050600101610c34565b5050565b6060828201838111610dce576040805160008082526020820190925290610dc5565b610db26125b2565b815260200190600190039081610daa5790505b50915050610f22565b6001600160a01b038516600090815260066020526040902054811115610e0957506001600160a01b0384166000908152600660205260409020545b604080518583038082526020808202830101909252606090828015610e4857816020015b610e356125b2565b815260200190600190039081610e2d5790505b50905060005b82811015610f1c576001600160a01b03881660009081526006602052604081208054838a01908110610e7c57fe5b90600052602060002001549050610e9161259b565b506001600160a01b038916600090815260056020908152604080832084845282529182902082518084018452815467ffffffffffffffff908116825260019092015481840190815284516060810186528251909316835251928201929092529182018390528451909190859085908110610f0757fe5b60209081029190910101525050600101610e4e565b50925050505b9392505050565b610f31612216565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610f6957600080fd5b505afa158015610f7d573d6000803e3d6000fd5b505050506001600160a01b038116600090815260106020526040902054610fb65760405162461bcd60e51b81526004016107959061371b565b6001600160a01b038116600090815260086020526040902054610feb5760405162461bcd60e51b8152600401610795906137eb565b6011546001600160a01b03821660009081526010602052604090205411611077576110598160405180604001604052804267ffffffffffffffff16815260200160106000866001600160a01b03166001600160a01b0316815260200190815260200160002054815250612230565b6001600160a01b038116600090815260106020526040812055611226565b600061108161228e565b6001600160a01b031663204b676a836040518263ffffffff1660e01b81526004016110ac919061351c565b60206040518083038186803b1580156110c457600080fd5b505afa1580156110d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110fc9190810190612a4f565b905060015b8181116107a9576111106125dd565b61111861228e565b6001600160a01b031663da7bd3e9858486036040518363ffffffff1660e01b81526004016111479291906135e4565b604080518083038186803b15801561115e57600080fd5b505afa158015611172573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061119691908101906129b3565b8051602082015191925090428210156111b1575050506107a9565b6111d98660405180604001604052808567ffffffffffffffff16815260200184815250612230565b6001600160a01b038616600090815260106020526040902054611202908263ffffffff6122a816565b6001600160a01b038716600090815260106020526040902055505050600101611101565b50565b611231611e45565b600d548111156112535760405162461bcd60e51b8152600401610795906137bb565b600e8190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e69061065f908390613640565b6001546001600160a01b031633146112b25760405162461bcd60e51b81526004016107959061369b565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926112f5926001600160a01b03918216929116906135bb565b60405180910390a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6001600160a01b03811633141561135a5760405162461bcd60e51b81526004016107959061376b565b611362610679565b61137e5760405162461bcd60e51b81526004016107959061374b565b6113866122d0565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016113b1919061355a565b60206040518083038186803b1580156113c957600080fd5b505afa1580156113dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114019190810190612a4f565b1561141e5760405162461bcd60e51b8152600401610795906137fb565b336000818152600a602052604090819020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba48529061148390849061351c565b60405180910390a250565b6000606061149a6122e4565b935093915050565b6060806114ad6122fc565b6040805160028082526060808301845293945090916020830190803883390190505090506b526577617264457363726f7760a01b816000815181106114ee57fe5b6020026020010181815250506b53797374656d53746174757360a01b8160018151811061151757fe5b60200260200101818152505061152d8282612390565b9250505090565b6000546001600160a01b031681565b600e5481565b60115481565b6001600160a01b0383166115755760405162461bcd60e51b8152600401610795906136db565b61157d61244c565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b81526004016115ac9392919061352a565b602060405180830381600087803b1580156115c657600080fd5b505af11580156115da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115fe9190810190612a13565b61079e5760405162461bcd60e51b81526004016107959061375b565b6006602052816000526040600020818154811061163357fe5b90600052602060002001600091509150505481565b60106020526000908152604090205481565b600254421061167b5760405162461bcd60e51b8152600401610795906137ab565b611683611e45565b8483146116a25760405162461bcd60e51b8152600401610795906137db565b8481146116c15760405162461bcd60e51b81526004016107959061370b565b60005b8581101561183c5760008787838181106116da57fe5b90506020020160206116ef919081019061272d565b905060008686848181106116ff57fe5b905060200201359050600085858581811061171657fe5b6001600160a01b03861660009081526010602090815260409091205491029290920135925050156117595760405162461bcd60e51b8152600401610795906136ab565b600b5461176c908363ffffffff611e7116565b600b556001600160a01b038316600090815260086020526040902054611798908363ffffffff611e7116565b6001600160a01b0384166000908152600860209081526040808320939093556009905220546117cd908263ffffffff611e7116565b6001600160a01b0384166000818152600960209081526040808320949094556010905282902084905590517fa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d69061182990859085904290613839565b60405180910390a25050506001016116c4565b50505050505050565b61184d6122e4565b50505050565b60025442106118745760405162461bcd60e51b8152600401610795906137ab565b61187c611e45565b82811461189b5760405162461bcd60e51b81526004016107959061379b565b60005b83811015611a0e5760008585838181106118b457fe5b90506020020160206118c9919081019061272d565b905060008484848181106118d957fe5b905060200201359050600060086000846001600160a01b03166001600160a01b0316815260200190815260200160002054116119275760405162461bcd60e51b8152600401610795906137eb565b6001600160a01b03821660009081526010602052604090205461195c5760405162461bcd60e51b81526004016107959061371b565b6119848260405180604001604052804267ffffffffffffffff16815260200184815250612230565b6001600160a01b0382166000908152601060205260409020546119ad908263ffffffff6122a816565b6001600160a01b038316600081815260106020526040908190209290925590517f73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc4906119fc904290859061382b565b60405180910390a2505060010161189e565b5050505050565b60075481565b6001600160a01b03831660009081526006602052604090205460609083830190811115611a5d57506001600160a01b0384166000908152600660205260409020545b838111611a7a576040805160008082526020820190925290610dc5565b604080518583038082526020808202830101909252606090828015611aa9578160200160208202803883390190505b50905060005b82811015610f1c576001600160a01b03881660009081526006602052604090208054828901908110611add57fe5b9060005260206000200154828281518110611af457fe5b6020908102919091010152600101611aaf565b611b0f610679565b611b2b5760405162461bcd60e51b81526004016107959061374b565b611b336122d0565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611b5e91906135d6565b60206040518083038186803b158015611b7657600080fd5b505afa158015611b8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bae9190810190612a4f565b15611bcb5760405162461bcd60e51b8152600401610795906137fb565b6001600160a01b038381166000908152600a6020526040902054163314611c045760405162461bcd60e51b81526004016107959061378b565b6000805b82811015611d8557611c1861259b565b6001600160a01b038616600090815260056020526040812090868685818110611c3d57fe5b602090810292909201358352508181019290925260409081016000208151808301909252805467ffffffffffffffff16825260010154918101829052915015611d7c573360009081526005602052604081208291878786818110611c9d57fe5b60209081029290920135835250818101929092526040016000208251815467ffffffffffffffff191667ffffffffffffffff90911617815591810151600190920191909155810151611cf0908490611e71565b336000908152600660205260409020909350858584818110611d0e57fe5b8354600181018555600094855260208086209281029490940135910155506001600160a01b0388168252600590526040812090868685818110611d4d57fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611c08565b506001600160a01b038416600090815260086020526040902054611daf908263ffffffff6122a816565b6001600160a01b038516600090815260086020526040808220929092553381522054611de1908263ffffffff611e7116565b33600081815260086020526040908190209290925590516001600160a01b038616917f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c91611e3791908590889088904290613574565b60405180910390a250505050565b6000546001600160a01b03163314611e6f5760405162461bcd60e51b81526004016107959061377b565b565b600082820183811015610f225760405162461bcd60e51b8152600401610795906136bb565b6000611eab66119959541bdbdb60ca1b612461565b905090565b81611ecd5760405162461bcd60e51b81526004016107959061372b565b600081118015611edf5750600c548111155b611efb5760405162461bcd60e51b8152600401610795906136cb565b600b54611f0e908363ffffffff611e7116565b600b55611f1961244c565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611f44919061351c565b60206040518083038186803b158015611f5c57600080fd5b505afa158015611f70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f949190810190612a4f565b600b541115611fb55760405162461bcd60e51b81526004016107959061373b565b6001600160a01b03831660009081526008602052604090205442820190611fe2908463ffffffff611e7116565b6001600160a01b038516600081815260086020908152604080832094909455600780548551808701875267ffffffffffffffff88811682528185018b81528787526005865288872084885286528887209251835467ffffffffffffffff1916921691909117825551600191820155948452600683529483208054808601825590845291909220018390555461207691611e71565b6007556040516001600160a01b038616907f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0906120ba904290889088908790613854565b60405180910390a25050505050565b600080826020015160001461096557825167ffffffffffffffff164210156120f2576000610f22565b50506020015190565b61210582826124be565b6001600160a01b03821660009081526009602052604090205461212e908263ffffffff611e7116565b6001600160a01b03831660009081526009602052604090205561214f61244c565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161217c9291906135e4565b602060405180830381600087803b15801561219657600080fd5b505af11580156121aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121ce9190810190612a13565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6428360405161220a92919061382b565b60405180910390a25050565b6000611eab6b53797374656d53746174757360a01b612461565b600061223c838361251d565b602083015183516040519293506001600160a01b038616927fa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb92612281928692613892565b60405180910390a2505050565b6000611eab6b526577617264457363726f7760a01b612461565b6000828211156122ca5760405162461bcd60e51b8152600401610795906136eb565b50900390565b6000611eab6524b9b9bab2b960d11b612461565b60405162461bcd60e51b8152600401610795906136fb565b604080516003808252608082019092526060916020820183803883390190505090506a5065726946696e616e636560a81b8160008151811061233a57fe5b60200260200101818152505066119959541bdbdb60ca1b8160018151811061235e57fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061238157fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156123c0578160200160208202803883390190505b50905060005b8351811015612402578381815181106123db57fe5b60200260200101518282815181106123ef57fe5b60209081029190910101526001016123c6565b5060005b82518110156124455782818151811061241b57fe5b602002602001015182828651018151811061243257fe5b6020908102919091010152600101612406565b5092915050565b6000611eab6a5065726946696e616e636560a81b5b60008181526004602090815260408083205490516001600160a01b039091169182151591612491918691016134f1565b604051602081830303815290604052906124455760405162461bcd60e51b8152600401610795919061368a565b600b546124d1908263ffffffff6122a816565b600b556001600160a01b0382166000908152600860205260409020546124fd908263ffffffff6122a816565b6001600160a01b0390921660009081526008602052604090209190915550565b600780546001600160a01b038416600081815260056020908152604080832085845282528083208751815467ffffffffffffffff191667ffffffffffffffff909116178155878301516001918201559383526006825282208054808501825590835290822001839055925461259191611e71565b6007559392505050565b604080518082019091526000808252602082015290565b6040518060600160405280600067ffffffffffffffff16815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b8035610965816139ad565b8051610965816139ad565b60008083601f84011261262357600080fd5b50813567ffffffffffffffff81111561263b57600080fd5b60208301915083602082028301111561265357600080fd5b9250929050565b60008083601f84011261266c57600080fd5b50813567ffffffffffffffff81111561268457600080fd5b60208301915083604082028301111561265357600080fd5b600082601f8301126126ad57600080fd5b60026126c06126bb826138ef565b6138c8565b915081838560208402820111156126d657600080fd5b60005b8381101561270257816126ec8882612722565b84525060209283019291909101906001016126d9565b5050505092915050565b8051610965816139c1565b8035610965816139ca565b8051610965816139ca565b60006020828403121561273f57600080fd5b600061096184846125fb565b60006020828403121561275d57600080fd5b60006109618484612606565b60008060006040848603121561277e57600080fd5b600061278a86866125fb565b935050602084013567ffffffffffffffff8111156127a757600080fd5b6127b386828701612611565b92509250509250925092565b600080604083850312156127d257600080fd5b60006127de85856125fb565b92505060206127ef85828601612717565b9150509250929050565b6000806000806060858703121561280f57600080fd5b600061281b87876125fb565b945050602061282c87828801612717565b935050604085013567ffffffffffffffff81111561284957600080fd5b6128558782880161265a565b95989497509550505050565b60008060006060848603121561287657600080fd5b600061288286866125fb565b935050602061289386828701612717565b92505060406128a486828701612717565b9150509250925092565b600080600080604085870312156128c457600080fd5b843567ffffffffffffffff8111156128db57600080fd5b6128e787828801612611565b9450945050602085013567ffffffffffffffff81111561290657600080fd5b61285587828801612611565b6000806000806000806060878903121561292b57600080fd5b863567ffffffffffffffff81111561294257600080fd5b61294e89828a01612611565b9650965050602087013567ffffffffffffffff81111561296d57600080fd5b61297989828a01612611565b9450945050604087013567ffffffffffffffff81111561299857600080fd5b6129a489828a01612611565b92509250509295509295509295565b6000604082840312156129c557600080fd5b6000610961848461269c565b600080602083850312156129e457600080fd5b823567ffffffffffffffff8111156129fb57600080fd5b612a0785828601612611565b92509250509250929050565b600060208284031215612a2557600080fd5b6000610961848461270c565b600060208284031215612a4357600080fd5b60006109618484612717565b600060208284031215612a6157600080fd5b60006109618484612722565b6000612a798383612c5f565b505060200190565b6000612a8d8383613484565b505060600190565b6000612aa183836134bb565b505060400190565b612ab28161394e565b82525050565b612ab281613925565b6000612acc82613913565b612ad68185613917565b9350612ae18361390d565b8060005b83811015612b0f578151612af98882612a6d565b9750612b048361390d565b925050600101612ae5565b509495945050505050565b6000612b2582613913565b612b2f8185613917565b9350612b3a8361390d565b8060005b83811015612b0f578151612b528882612a81565b9750612b5d8361390d565b925050600101612b3e565b6000612b7382613913565b612b7d8185613917565b9350612b888361390d565b8060005b83811015612b0f578151612ba08882612a95565b9750612bab8361390d565b925050600101612b8c565b6000612bc28385613917565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115612bf157600080fd5b602083029250612c0283858461396b565b50500190565b6000612c1382613913565b612c1d8185613917565b9350612c288361390d565b8060005b83811015612b0f578151612c408882612a6d565b9750612c4b8361390d565b925050600101612c2c565b612ab281613930565b612ab281610697565b612ab2612c7482610697565b610697565b612ab281613955565b6000612c8d82613913565b612c978185613917565b9350612ca7818560208601613977565b612cb0816139a3565b9093019392505050565b6000612cc7603583613917565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000612d26602483613917565b7f4163636f756e74206d6967726174696f6e2069732070656e64696e6720616c7281527f6561647900000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000612d85601b83613917565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612dbe603383613917565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f5281527f2061626f7665206d61785f6475726174696f6e00000000000000000000000000602082015260400192915050565b6000612e1d602483613917565b7f43616e6e6f742063726561746520657363726f7720776974682061646472657381527f7328302900000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000612e7c601e83613917565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612eb5601b83613917565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000612eee603183613917565b7f4e756d626572206f66206163636f756e747320616e642076657374656442616c81527f616e63657320646f6e2774206d61746368000000000000000000000000000000602082015260400192915050565b6000612f4d601b83613917565b7f4e6f20657363726f77206d6967726174696f6e2070656e64696e670000000000815260200192915050565b6000612f86601183613920565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b6000612fbf601783613917565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b6000612ff8604783613917565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e60208201527f6720656e74727900000000000000000000000000000000000000000000000000604082015260600192915050565b600061307d601983613917565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b60006130b6601583613917565b7f746f6b656e207472616e73666572206661696c65640000000000000000000000815260200192915050565b60006130ef602483613917565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d81527f6572676500000000000000000000000000000000000000000000000000000000602082015260400192915050565b600061314e602f83613917565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b60006131ad602183613917565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d65726781527f6500000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b600061320c602983613917565b7f4163636f756e7420616e6420657363726f77416d6f756e7473204c656e67746881527f206d69736d617463680000000000000000000000000000000000000000000000602082015260400192915050565b600061326b602983613917565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b7f70555344000000000000000000000000000000000000000000000000000000009052565b60006132ef601c83613917565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b6000613328601983613920565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613361602883613917565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d2074686981527f7320616374696f6e000000000000000000000000000000000000000000000000602082015260400192915050565b60006133c0602b83613917565b7f4e756d626572206f66206163636f756e747320616e642062616c616e6365732081527f646f6e2774206d61746368000000000000000000000000000000000000000000602082015260400192915050565b600061341f601b83613917565b7f4164647265737320657363726f772062616c616e636520697320300000000000815260200192915050565b6000613458601f83613917565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b8051606083019061349584826134e8565b5060208201516134a86020850182612c5f565b50604082015161184d6040850182612c5f565b805160408301906134cc84826134e8565b50602082015161184d6020850182612c5f565b612ab281613960565b612ab281613941565b60006134fc82612f79565b91506135088284612c68565b50602001919050565b60006134fc8261331b565b602081016109658284612ab8565b606081016135388286612aa9565b6135456020830185612ab8565b6135526040830184612c5f565b949350505050565b604081016135688284612aa9565b610965602083016132bd565b608081016135828288612aa9565b61358f6020830187612c5f565b81810360408301526135a2818587612bb6565b90506135b16060830184612c5f565b9695505050505050565b604081016135c98285612ab8565b610f226020830184612ab8565b604081016135688284612ab8565b604081016135f28285612ab8565b610f226020830184612c5f565b60208082528101610f228184612ac1565b60208082528101610f228184612b1a565b60208082528101610f228184612c08565b602081016109658284612c56565b602081016109658284612c5f565b604081016135c98285612c5f565b6040810161366a8285612c5f565b81810360208301526135528184612c82565b602081016109658284612c79565b60208082528101610f228184612c82565b6020808252810161096581612cba565b6020808252810161096581612d19565b6020808252810161096581612d78565b6020808252810161096581612db1565b6020808252810161096581612e10565b6020808252810161096581612e6f565b6020808252810161096581612ea8565b6020808252810161096581612ee1565b6020808252810161096581612f40565b6020808252810161096581612fb2565b6020808252810161096581612feb565b6020808252810161096581613070565b60208082528101610965816130a9565b60208082528101610965816130e2565b6020808252810161096581613141565b60208082528101610965816131a0565b60208082528101610965816131ff565b602080825281016109658161325e565b60208082528101610965816132e2565b6020808252810161096581613354565b60208082528101610965816133b3565b6020808252810161096581613412565b602080825281016109658161344b565b604081016138198285612c5f565b81810360208301526135528184612b68565b604081016135f28285612c5f565b606081016138478286612c5f565b6135456020830185612c5f565b608081016138628287612c5f565b61386f6020830186612c5f565b61387c6040830185612c5f565b6138896060830184612c5f565b95945050505050565b606081016138a08286612c5f565b6138ad6020830185612c5f565b61355260408301846134df565b604081016135f282856134e8565b60405181810167ffffffffffffffff811182821017156138e757600080fd5b604052919050565b600067ffffffffffffffff82111561390657600080fd5b5060200290565b60200190565b5190565b90815260200190565b919050565b600061096582613935565b151590565b6001600160a01b031690565b67ffffffffffffffff1690565b6000610965825b600061096582613925565b600061096582613941565b82818337506000910152565b60005b8381101561399257818101518382015260200161397a565b8381111561184d5750506000910152565b601f01601f191690565b6139b681613925565b811461122657600080fd5b6139b681613930565b6139b68161069756fea365627a7a72315820cb054650bc9a25a8dd5f397d25136a5d3df053d9770390dcf4f6878090a973f66c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "accountToMerge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmountMerged",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountMerged",
					"type": "event",
					"signature": "0x48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "AccountMergingDurationUpdated",
					"type": "event",
					"signature": "0x723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "AccountMergingStarted",
					"type": "event",
					"signature": "0xceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd34445"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowedAmountMigrated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "BurnedForMigrationToL2",
					"type": "event",
					"signature": "0x929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "ImportedVestingEntry",
					"type": "event",
					"signature": "0xa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"name": "ImportedVestingSchedule",
					"type": "event",
					"signature": "0x73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxAccountMergingDurationUpdated",
					"type": "event",
					"signature": "0xe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxEscrowDurationUpdated",
					"type": "event",
					"signature": "0x6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newAmount",
							"type": "uint256"
						}
					],
					"name": "MigrateEntriesThresholdAmountUpdated",
					"type": "event",
					"signature": "0x7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "vestedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "MigratedAccountEscrow",
					"type": "event",
					"signature": "0xa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "NominateAccountToMerge",
					"type": "event",
					"signature": "0xcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event",
					"signature": "0x2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x910a326d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingIsOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05662986"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingStartTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0fcdefb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae582549"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bb47b44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"name": "burnForMigration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x80d46f58"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "deposit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "createEscrowEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa0416ed3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getAccountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeac62489"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntry",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6154c343"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntryClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x30104c5f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6dc05bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getVestingSchedules",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "entryID",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntryWithID[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x773ab39f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"name": "importVestingEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd7b43dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "escrowAmounts",
							"type": "uint256[]"
						}
					],
					"name": "importVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd621a169"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxAccountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37088ffc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "max_duration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5eb8cf25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "accountToMerge",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "mergeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf0b882ba"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "escrowBalances",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "vestedBalances",
							"type": "uint256[]"
						}
					],
					"name": "migrateAccountEscrowBalances",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb95375bd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "migrateEntriesThresholdAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ad6a7e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "addressToMigrate",
							"type": "address"
						}
					],
					"name": "migrateVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7839b92f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nextEntryId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe6b2cf6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "nominateAccountToMerge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7cc1d756"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "nominatedReceiver",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x73307e40"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setAccountMergingDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7993e699"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxAccountMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x018c6c55"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxEscrowDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4525aabc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setMigrateEntriesThresholdAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5b85c200"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "startMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x178c5655"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalBalancePendingMigration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb0fd5963"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x326a3cfb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x71e780f3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x34c7fec9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45626bd6"
				}
			],
			"source": {
				"keccak256": "0x3be6e2774cfd66c056c58a91e46ea1946f9cfd39424922cfddf3ae2db40888f4",
				"urls": [
					"bzz-raw://8aa770e4ec517effb8e7d45e1cfb0918cf274de0d73fa69a0e722f2470e1b48c",
					"dweb:/ipfs/QmcqbPFN3VC6nCoYwJihFub29jiK8q6r5SdfLY1fyQmQN6"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrowV2.sol": "RewardEscrowV2"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrowV2.sol": {
						"keccak256": "0x3be6e2774cfd66c056c58a91e46ea1946f9cfd39424922cfddf3ae2db40888f4",
						"urls": [
							"bzz-raw://8aa770e4ec517effb8e7d45e1cfb0918cf274de0d73fa69a0e722f2470e1b48c",
							"dweb:/ipfs/QmcqbPFN3VC6nCoYwJihFub29jiK8q6r5SdfLY1fyQmQN6"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516116e03803806116e08339818101604052606081101561003357600080fd5b50805160208201516040909201519091906249d400836001600160a01b0381166100a4576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055506115a28061013e6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80636b3905c4116100f9578063a15d59ce11610097578063d0cc82e311610071578063d0cc82e314610562578063da7bd3e91461056a578063ee04ad6e14610596578063ee1d036c146105bc576101c4565b8063a15d59ce14610462578063bb2a7d0c1461046a578063cb5147b21461053c576101c4565b80638ad58777116100d35780638ad58777146104005780638da5cb5b1461040857806397f46527146104105780639b217f9014610436576101c4565b80636b3905c4146103ac57806370a08231146103d257806379ba5097146103f8576101c4565b80632f5bb6611161016657806346ba2d901161014057806346ba2d901461038c5780634e5a60911461039457806353a47bb71461039c57806363667eb7146103a4576101c4565b80632f5bb661146102f1578063458efde31461035257806345e5441f1461035a576101c4565b806319e740c0116101a257806319e740c01461023b5780631bb47b4414610273578063204b676a146102a5578063227d517a146102cb576101c4565b806307ab82e4146101c9578063135c0701146101ed5780631627540c14610215575b600080fd5b6101d16105e8565b604080516001600160a01b039092168252519081900360200190f35b6102136004803603602081101561020357600080fd5b50356001600160a01b03166105f7565b005b6102136004803603602081101561022b57600080fd5b50356001600160a01b0316610839565b6102616004803603602081101561025157600080fd5b50356001600160a01b03166108a2565b60408051918252519081900360200190f35b6102136004803603606081101561028957600080fd5b506001600160a01b0381351690602081013590604001356108e4565b610261600480360360208110156102bb57600080fd5b50356001600160a01b0316610c1f565b610261600480360360208110156102e157600080fd5b50356001600160a01b0316610c3a565b6103176004803603602081101561030757600080fd5b50356001600160a01b0316610c4c565b6040518082600260200280838360005b8381101561033f578181015183820152602001610327565b5050505090500191505060405180910390f35b610213610c9d565b6102616004803603606081101561037057600080fd5b506001600160a01b038135169060208101359060400135610e5a565b610261610e96565b6101d1610e9c565b6101d1610eab565b610261610eba565b610261600480360360208110156103c257600080fd5b50356001600160a01b0316610ebf565b610261600480360360208110156103e857600080fd5b50356001600160a01b0316610ed8565b610213610ef3565b610261610fbc565b6101d1610fc1565b6102616004803603602081101561042657600080fd5b50356001600160a01b0316610fd0565b6102616004803603604081101561044c57600080fd5b506001600160a01b038135169060200135610fe2565b610261610ffd565b6102136004803603606081101561048057600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156104ab57600080fd5b8201836020820111156104bd57600080fd5b803590602001918460208302840111640100000000831117156104df57600080fd5b9193909290916020810190356401000000008111156104fd57600080fd5b82018360208201111561050f57600080fd5b8035906020019184602083028401116401000000008311171561053157600080fd5b509092509050611003565b6102136004803603602081101561055257600080fd5b50356001600160a01b031661108d565b6102616110f6565b6103176004803603604081101561058057600080fd5b506001600160a01b0381351690602001356110fb565b610213600480360360208110156105ac57600080fd5b50356001600160a01b031661116a565b610261600480360360408110156105d257600080fd5b506001600160a01b0381351690602001356111d3565b6007546001600160a01b031681565b6105ff6111e6565b600254421061063f5760405162461bcd60e51b81526004018080602001828103825260298152602001806114f26029913960400191505060405180910390fd5b6007546001600160a01b03166106865760405162461bcd60e51b81526004018080602001828103825260268152602001806114cc6026913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081206106a7916112e8565b6001600160a01b0381166000908152600560205260409020546006546106d29163ffffffff61123116565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561072057600080fd5b505afa158015610734573d6000803e3d6000fd5b505050506040513d602081101561074a57600080fd5b5051600654111561078c5760405162461bcd60e51b815260040180806020018281038252605381526020018061151b6053913960600191505060405180910390fd5b6003546007546001600160a01b03838116600090815260056020908152604080832054815163a9059cbb60e01b81529585166004870152602486015251929094169363a9059cbb936044808201949293918390030190829087803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b505050506040513d602081101561081d57600080fd5b50506001600160a01b0316600090815260056020526040812055565b6108416111e6565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806108ae83610c1f565b905060005b818110156108db576108c58482610fe2565b156108d35791506108df9050565b6001016108b3565b5090505b919050565b6108ec6111e6565b600254421061092c5760405162461bcd60e51b81526004018080602001828103825260298152602001806114f26029913960400191505060405180910390fd5b814210610980576040805162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b806109d2576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6006546109e5908263ffffffff61128e16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610a3357600080fd5b505afa158015610a47573d6000803e3d6000fd5b505050506040513d6020811015610a5d57600080fd5b50516006541115610a9f5760405162461bcd60e51b81526004018080602001828103825260478152602001806114566047913960600191505060405180910390fd5b6001600160a01b0383166000908152600460205260409020546014811115610b0e576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b80610b33576001600160a01b0384166000908152600560205260409020829055610bc8565b82610b49856001610b4388610c1f565b03610fe2565b10610b855760405162461bcd60e51b815260040180806020018281038252603781526020018061141f6037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610bae908363ffffffff61128e16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610c17926002908102909101919061130c565b505050505050565b6001600160a01b031660009081526004602052604090205490565b60056020526000908152604090205481565b610c5461134a565b6000610c5f836108a2565b9050610c6a83610c1f565b811415610c8c57505060408051808201909152600080825260208201526108df565b610c9683826110fb565b9392505050565b6000610ca833610c1f565b90506000805b82811015610d4d576000610cc23383610fe2565b905042811115610cd25750610d4d565b6000610cde33846111d3565b90508015610d4357604080518082018252600080825260208083018290523382526004905291909120805485908110610d1357fe5b9060005260206000209060020201906002610d2f929190611368565b50610d40848263ffffffff61128e16565b93505b5050600101610cae565b508015610e5657600654610d67908263ffffffff61123116565b60065533600090815260056020526040902054610d8a908263ffffffff61123116565b33600081815260056020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b505050506040513d6020811015610e1957600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b60046020528260005260406000208281548110610e7357fe5b90600052602060002090600202018160028110610e8c57fe5b0154925083915050565b60025481565b6003546001600160a01b031681565b6001546001600160a01b031681565b600081565b6000610eca82610c4c565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b03163314610f3c5760405162461bcd60e51b81526004018080602001828103825260358152602001806113ea6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b600181565b6000546001600160a01b031681565b6000610fdb82610c4c565b6001610ecd565b6000610fee83836110fb565b60005b60200201519392505050565b60065481565b61100b6111e6565b600254421061104b5760405162461bcd60e51b81526004018080602001828103825260298152602001806114f26029913960400191505060405180910390fd5b60005b83811015610c17576110858686868481811061106657fe5b9050602002013585858581811061107957fe5b905060200201356108e4565b60010161104e565b6110956111e6565b600380546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee89181900360200190a150565b601481565b61110361134a565b6001600160a01b038316600090815260046020526040902080548390811061112757fe5b600091825260209091206040805180820191829052926002908102909201919082845b81548152602001906001019080831161114a575050505050905092915050565b6111726111e6565b600780546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517fb46085655f12cc30a7603c9af22f9ed618a149dbb291c9d1c14cfe57e793ba9e9181900360200190a150565b60006111df83836110fb565b6001610ff1565b6000546001600160a01b0316331461122f5760405162461bcd60e51b815260040180806020018281038252602f81526020018061149d602f913960400191505060405180910390fd5b565b600082821115611288576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610c96576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b5080546000825560020290600052602060002090810190611309919061139b565b50565b826002810192821561133a579160200282015b8281111561133a57825182559160200191906001019061131f565b506113469291506113c1565b5090565b60405180604001604052806002906020820280388339509192915050565b826002810192821561133a579160200282015b8281111561133a578251829060ff1690559160200191906001019061137b565b6113be91905b808211156113465760006113b582826113db565b506002016113a1565b90565b6113be91905b8082111561134657600081556001016113c7565b50600081556001016000905556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e526566756e6420616464726573732063616e206e6f74206265207a65726f206164647265737343616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e672073657475704d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f207265747269657665207665737465642062616c616e6365206f6620707572676564206163636f756e74a265627a7a723158200d42df447a5b4638ce6ac5cf8264f5f176ad93b9be402e799f5c00894a0cbc9364736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_addressToRefund",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "addressToRefund",
							"type": "address"
						}
					],
					"name": "AddressToRefundUpdated",
					"type": "event",
					"signature": "0xb46085655f12cc30a7603c9af22f9ed618a149dbb291c9d1c14cfe57e793ba9e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "QUANTITY_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ad58777"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TIME_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x63667eb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "quantities",
							"type": "uint256[]"
						}
					],
					"name": "addVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb2a7d0c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "addressToRefund",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x07ab82e4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bb47b44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e5a6091"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "purgeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x135c0701"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_addressToRefund",
							"type": "address"
						}
					],
					"name": "setAddressToRefund",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee04ad6e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcb5147b2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalVestedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa15d59ce"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			],
			"source": {
				"keccak256": "0xbdb60799a00f777157a8f1d409ee7196c62980cc7f3f419a392597e21eb39d89",
				"urls": [
					"bzz-raw://19ee21c48ffe22162bb304656c947b891356b0a9e273aa10da54b4d526746fe5",
					"dweb:/ipfs/Qme7j7tfjP8TLa4bgpuQ1vu6Jq3cqfNvLefobvMT7vRN1T"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceEscrow.sol": "PeriFinanceEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceEscrow.sol": {
						"keccak256": "0xbdb60799a00f777157a8f1d409ee7196c62980cc7f3f419a392597e21eb39d89",
						"urls": [
							"bzz-raw://19ee21c48ffe22162bb304656c947b891356b0a9e273aa10da54b4d526746fe5",
							"dweb:/ipfs/Qme7j7tfjP8TLa4bgpuQ1vu6Jq3cqfNvLefobvMT7vRN1T"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610ad8380380610ad88339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050610932806101a66000396000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c80638b3f8088116100b2578063aefc4ccb11610081578063b992812e11610066578063b992812e1461029f578063ba08f299146102d9578063cd92eba9146102e15761011b565b8063aefc4ccb14610271578063b16c09f0146102795761011b565b80638b3f8088146101f65780638da5cb5b146102355780639371bede1461023d578063a764eb45146102455761011b565b806346317712116100ee578063463177121461019c57806352f445ca146101a457806353a47bb7146101ca57806379ba5097146101ee5761011b565b806308d95cd5146101205780631627540c1461014f5780631bfba595146101775780633d31e97b1461017f575b600080fd5b61013d6004803603602081101561013657600080fd5b50356102e9565b60408051918252519081900360200190f35b6101756004803603602081101561016557600080fd5b50356001600160a01b0316610307565b005b610175610370565b6101756004803603602081101561019557600080fd5b50356103d2565b61013d610450565b610175600480360360208110156101ba57600080fd5b50356001600160a01b0316610485565b6101d26104ee565b604080516001600160a01b039092168252519081900360200190f35b6101756104fd565b61021c6004803603602081101561020c57600080fd5b50356001600160a01b03166105c6565b6040805192835260208301919091528051918290030190f35b6101d26105df565b61013d6105ee565b6101756004803603604081101561025b57600080fd5b506001600160a01b0381351690602001356105f4565b6101d2610664565b6101756004803603602081101561028f57600080fd5b50356001600160a01b0316610673565b6102c5600480360360208110156102b557600080fd5b50356001600160a01b03166106dc565b604080519115158252519081900360200190f35b6101756106f9565b61013d610756565b600581815481106102f657fe5b600091825260209091200154905081565b61030f61075c565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146103b95760405162461bcd60e51b81526004018080602001828103825260348152602001806108ca6034913960400191505060405180910390fd5b6004546103cd90600163ffffffff6107a716565b600455565b6002546001600160a01b0316331461041b5760405162461bcd60e51b81526004018080602001828103825260348152602001806108ca6034913960400191505060405180910390fd5b600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00155565b60055460009061046257506000610482565b60058054600019810190811061047457fe5b906000526020600020015490505b90565b61048d61075c565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146105465760405162461bcd60e51b81526004018080602001828103825260358152602001806108666035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6003602052600090815260409020805460019091015482565b6000546001600160a01b031681565b60045481565b6002546001600160a01b0316331461063d5760405162461bcd60e51b81526004018080602001828103825260348152602001806108ca6034913960400191505060405180910390fd5b6001600160a01b039091166000908152600360205260409020908155600554600190910155565b6002546001600160a01b031681565b6002546001600160a01b031633146106bc5760405162461bcd60e51b81526004018080602001828103825260348152602001806108ca6034913960400191505060405180910390fd5b6001600160a01b0316600090815260036020526040812081815560010155565b6001600160a01b0316600090815260036020526040902054151590565b6002546001600160a01b031633146107425760405162461bcd60e51b81526004018080602001828103825260348152602001806108ca6034913960400191505060405180910390fd5b6004546103cd90600163ffffffff61080816565b60055490565b6000546001600160a01b031633146107a55760405162461bcd60e51b815260040180806020018281038252602f81526020018061089b602f913960400191505060405180910390fd5b565b600082820183811015610801576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60008282111561085f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582002d3885e33f92b7c33ae1e5a2b43fb55fbd0d2d8c7750168dfa7377b8d1668c164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "appendDebtLedgerValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d31e97b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb16c09f0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "debtLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x08d95cd5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtLedgerLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd92eba9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "decrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba08f299"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "hasIssued",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb992812e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bfba595"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "issuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b3f8088"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastDebtLedgerEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46317712"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						}
					],
					"name": "setCurrentIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa764eb45"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9371bede"
				}
			],
			"source": {
				"keccak256": "0xb0141a8cdb3f162c4c4aca87fcc9549e5f92c359880da6ba4789f545d776b6a4",
				"urls": [
					"bzz-raw://de19a656a09342b3635632ce9f11c5f9b3a86ee5bc90ae9cb372094bd39db0f3",
					"dweb:/ipfs/QmQJfcEjifY9rBBYwuW7XSaeyJzF6VoUe8sScjdFJrPmes"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceState.sol": "PeriFinanceState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceState.sol": {
						"keccak256": "0xb0141a8cdb3f162c4c4aca87fcc9549e5f92c359880da6ba4789f545d776b6a4",
						"urls": [
							"bzz-raw://de19a656a09342b3635632ce9f11c5f9b3a86ee5bc90ae9cb372094bd39db0f3",
							"dweb:/ipfs/QmQJfcEjifY9rBBYwuW7XSaeyJzF6VoUe8sScjdFJrPmes"
						]
					}
				},
				"version": 1
			}
		},
		"Proxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516107373803806107378339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061063d806100fa6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101ab5780638da5cb5b146101c0578063907dff97146101d5578063d4b839921461026a57610070565b80631627540c1461011257806353a47bb714610147578063776d1a0114610178575b600254604080517fbc67f83200000000000000000000000000000000000000000000000000000000815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b1580156100d557600080fd5b505af11580156100e9573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e8061010e573d82fd5b3d82f35b34801561011e57600080fd5b506101456004803603602081101561013557600080fd5b50356001600160a01b031661027f565b005b34801561015357600080fd5b5061015c6102e8565b604080516001600160a01b039092168252519081900360200190f35b34801561018457600080fd5b506101456004803603602081101561019b57600080fd5b50356001600160a01b03166102f7565b3480156101b757600080fd5b50610145610360565b3480156101cc57600080fd5b5061015c610429565b3480156101e157600080fd5b50610145600480360360c08110156101f857600080fd5b81019060208101813564010000000081111561021357600080fd5b82018360208201111561022557600080fd5b8035906020019184600183028401116401000000008311171561024757600080fd5b919350915080359060208101359060408101359060608101359060800135610438565b34801561027657600080fd5b5061015c61054a565b610287610559565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6102ff610559565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b031633146103a95760405162461bcd60e51b81526004018080602001828103825260358152602001806105a56035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610497576040805162461bcd60e51b815260206004820152601460248201527f4d7573742062652070726f787920746172676574000000000000000000000000604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610501576001811461050c5760028114610518576003811461052557600481146105335761053e565b8260208301a061053e565b868360208401a161053e565b85878460208501a261053e565b8486888560208601a361053e565b838587898660208701a45b50505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031633146105a25760405162461bcd60e51b815260040180806020018281038252602f8152602001806105da602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820138b8580f9cc444756e6abe006ee136972a0a12ac98005cc213c2b81a5b68e6a64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			],
			"source": {
				"keccak256": "0xc1bb58678ed039c45bf9cd38be9e7b7021f1bebf661ead7983ea0900a32747c7",
				"urls": [
					"bzz-raw://03d04f5688431a0b198589eebd56c3d90f11d137f17a73ee0135b7d64b69587c",
					"dweb:/ipfs/QmUr2dNKwqjyeCn914YYRU1UAwPBz7k8wPtzjDDVZQeNRu"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Proxy.sol": "Proxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Proxy.sol": {
						"keccak256": "0xc1bb58678ed039c45bf9cd38be9e7b7021f1bebf661ead7983ea0900a32747c7",
						"urls": [
							"bzz-raw://03d04f5688431a0b198589eebd56c3d90f11d137f17a73ee0135b7d64b69587c",
							"dweb:/ipfs/QmUr2dNKwqjyeCn914YYRU1UAwPBz7k8wPtzjDDVZQeNRu"
						]
					}
				},
				"version": 1
			}
		},
		"EternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516112243803806112248339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061107e806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104f9578063bdc963d814610516578063c9a52d2c14610533578063f5866066146105aa576101b9565b8063a209a29c146104b1578063a77aa49e146104ce578063aefc4ccb146104f1576101b9565b80638267a9ee116100d35780638267a9ee146104525780638da5cb5b1461046f5780639007127b1461047757806393fe424814610494576101b9565b806353a47bb7146104165780635a2bf25a1461041e57806379ba50971461044a576101b9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed21461030057806344bfa56e146103255780634c77e5ba146103b757806352f445ca146103f0576101b9565b806325cf512d1461029d5780633562fd20146102c05780633cc1635c146102e3576101b9565b8063124f241811610197578063124f2418146102295780631627540c1461024657806317e7dd221461026c576101b9565b8063025ec81a146101be578063043106c0146101ed5780630c55d9251461020c575b600080fd5b6101db600480360360208110156101d457600080fd5b5035610621565b60408051918252519081900360200190f35b61020a6004803603602081101561020357600080fd5b5035610633565b005b61020a6004803603602081101561022257600080fd5b503561069a565b61020a6004803603602081101561023f57600080fd5b50356106fd565b61020a6004803603602081101561025c57600080fd5b50356001600160a01b0316610757565b6102896004803603602081101561028257600080fd5b50356107b3565b604080519115158252519081900360200190f35b61020a600480360360408110156102b357600080fd5b50803590602001356107c8565b61020a600480360360408110156102d657600080fd5b5080359060200135610823565b61020a600480360360208110156102f957600080fd5b503561087e565b61020a6004803603604081101561031657600080fd5b508035906020013515156108df565b6103426004803603602081101561033b57600080fd5b5035610948565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561037c578181015183820152602001610364565b50505050905090810190601f1680156103a95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103d4600480360360208110156103cd57600080fd5b50356109e9565b604080516001600160a01b039092168252519081900360200190f35b61020a6004803603602081101561040657600080fd5b50356001600160a01b0316610a04565b6103d4610a60565b61020a6004803603604081101561043457600080fd5b50803590602001356001600160a01b0316610a6f565b61020a610ae6565b61020a6004803603602081101561046857600080fd5b5035610ba2565b6103d4610bfc565b6101db6004803603602081101561048d57600080fd5b5035610c0b565b61020a600480360360208110156104aa57600080fd5b5035610c1d565b610342600480360360208110156104c757600080fd5b5035610c77565b61020a600480360360408110156104e457600080fd5b5080359060200135610ce1565b6103d4610d3c565b61020a6004803603602081101561050f57600080fd5b5035610d4b565b6101db6004803603602081101561052c57600080fd5b5035610dab565b61020a6004803603604081101561054957600080fd5b8135919081019060408101602082013564010000000081111561056b57600080fd5b82018360208201111561057d57600080fd5b8035906020019184600183028401116401000000008311171561059f57600080fd5b509092509050610dbd565b61020a600480360360408110156105c057600080fd5b813591908101906040810160208201356401000000008111156105e257600080fd5b8201836020820111156105f457600080fd5b8035906020019184600183028401116401000000008311171561061657600080fd5b509092509050610e25565b60009081526007602052604090205490565b6002546001600160a01b0316331461067c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106e35760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b60008181526006602052604081206106fa91610ed2565b50565b6002546001600160a01b031633146107465760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b600090815260076020526040812055565b61075f610e87565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108115760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461086c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108c75760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109285760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109dd5780601f106109b2576101008083540402835291602001916109dd565b820191906000526020600020905b8154815290600101906020018083116109c057829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b610a0c610e87565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610ab85760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610b2f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610fb26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610beb5760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610c665760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109dd5780601f106109b2576101008083540402835291602001916109dd565b6002546001600160a01b03163314610d2a5760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610d945760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b60008181526004602052604081206106fa91610ed2565b60009081526003602052604090205490565b6002546001600160a01b03163314610e065760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b6000838152600660205260409020610e1f908383610f16565b50505050565b6002546001600160a01b03163314610e6e5760405162461bcd60e51b81526004018080602001828103825260348152602001806110166034913960400191505060405180910390fd5b6000838152600460205260409020610e1f908383610f16565b6000546001600160a01b03163314610ed05760405162461bcd60e51b815260040180806020018281038252602f815260200180610fe7602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f10610ef857506106fa565b601f0160209004906000526020600020908101906106fa9190610f94565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f575782800160ff19823516178555610f84565b82800160010185558215610f84579182015b82811115610f84578235825591602001919060010190610f69565b50610f90929150610f94565b5090565b610fae91905b80821115610f905760008155600101610f9a565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820120c524d9cc4af77374cfc4a12ac498a9fcf8606f8777f749fa1fc2d45e7f65d64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				}
			],
			"source": {
				"keccak256": "0x2e0e40e6c05fbe7a7a9123464107a999f084ebf53230e84fb2bde94a8880eb76",
				"urls": [
					"bzz-raw://a0b0b37d0c27eba7f13786654ac49735538919f954df973fc8aa063879d4ff11",
					"dweb:/ipfs/Qmaf2r2f8pdm6rhRsKebmwYZ9DbqgBwhPvwdEs9YxWdVjW"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EternalStorage.sol": "EternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"EternalStorage.sol": {
						"keccak256": "0x2e0e40e6c05fbe7a7a9123464107a999f084ebf53230e84fb2bde94a8880eb76",
						"urls": [
							"bzz-raw://a0b0b37d0c27eba7f13786654ac49735538919f954df973fc8aa063879d4ff11",
							"dweb:/ipfs/Qmaf2r2f8pdm6rhRsKebmwYZ9DbqgBwhPvwdEs9YxWdVjW"
						]
					}
				},
				"version": 1
			}
		},
		"DelegateApprovals": {
			"bytecode": "61012060405269105c1c1c9bdd99505b1b60b21b60809081526d4275726e466f724164647265737360901b60a0526e4973737565466f724164647265737360881b60c0526e436c61696d466f724164647265737360881b60e0527145786368616e6765466f724164647265737360701b61010052610081906002906005610195565b5034801561008e57600080fd5b50604051611003380380611003833981810160405260408110156100b157600080fd5b508051602090910151816001600160a01b038116610116576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600780546001600160a01b0319166001600160a01b0392909216919091179055506101f0565b82600581019282156101c3579160200282015b828111156101c35782518255916020019190600101906101a8565b506101cf9291506101d3565b5090565b6101ed91905b808211156101cf57600081556001016101d9565b90565b610e04806101ff6000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c80638da5cb5b116100ee578063b5bb561911610097578063c5e17ab011610071578063c5e17ab0146104a7578063d8eeb7c1146104af578063e32b3f52146104b7578063faf431bb146104bf576101ae565b8063b5bb561914610435578063b9156efa1461045b578063bc87acbf14610481576101ae565b80639cbc2ebe116100c85780639cbc2ebe146103d95780639f61d336146103e1578063b42e0f1514610407576101ae565b80638da5cb5b146103a357806398ff9c54146103ab5780639c79ce35146103b3576101ae565b8063447fbc631161015b5780636c8bc9fe116101355780636c8bc9fe146103215780636f95200b1461034757806379ba50971461036d5780637d3f0ba214610375576101ae565b8063447fbc63146102b157806353a47bb7146102d757806359cec3d6146102fb576101ae565b80632c70aecf1161018c5780632c70aecf1461024b5780634180e5b514610265578063431ce5401461028b576101ae565b806304872617146101b35780631627540c146101f557806321f4ae571461021d575b600080fd5b6101e1600480360360408110156101c957600080fd5b506001600160a01b03813581169160200135166104ed565b604080519115158252519081900360200190f35b61021b6004803603602081101561020b57600080fd5b50356001600160a01b0316610513565b005b6101e16004803603604081101561023357600080fd5b506001600160a01b038135811691602001351661057c565b61025361059b565b60408051918252519081900360200190f35b61021b6004803603602081101561027b57600080fd5b50356001600160a01b03166105b1565b61021b600480360360208110156102a157600080fd5b50356001600160a01b03166105d1565b61021b600480360360208110156102c757600080fd5b50356001600160a01b03166105ee565b6102df61060e565b604080516001600160a01b039092168252519081900360200190f35b61021b6004803603602081101561031157600080fd5b50356001600160a01b031661061d565b61021b6004803603602081101561033757600080fd5b50356001600160a01b0316610639565b61021b6004803603602081101561035d57600080fd5b50356001600160a01b0316610656565b61021b610687565b6101e16004803603604081101561038b57600080fd5b506001600160a01b0381358116916020013516610750565b6102df61076e565b6102df61077d565b61021b600480360360208110156103c957600080fd5b50356001600160a01b031661078c565b6102536107a8565b61021b600480360360208110156103f757600080fd5b50356001600160a01b03166107b9565b6101e16004803603604081101561041d57600080fd5b506001600160a01b03813581169160200135166107d6565b61021b6004803603602081101561044b57600080fd5b50356001600160a01b0316610869565b61021b6004803603602081101561047157600080fd5b50356001600160a01b031661091d565b61021b6004803603602081101561049757600080fd5b50356001600160a01b031661093d565b610253610955565b61025361096b565b610253610984565b6101e1600480360360408110156104d557600080fd5b506001600160a01b0381358116916020013516610999565b600061050c6e4973737565466f724164647265737360881b84846109b7565b9392505050565b61051b610a54565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600061050c6e436c61696d466f724164647265737360881b84846109b7565b6e4973737565466f724164647265737360881b81565b6105ce6e436c61696d466f724164647265737360881b3383610a9f565b50565b6105ce6e4973737565466f724164647265737360881b3383610bbf565b6105ce7145786368616e6765466f724164647265737360701b3383610a9f565b6001546001600160a01b031681565b6105ce6d4275726e466f724164647265737360901b3383610bbf565b6105ce6e436c61696d466f724164647265737360881b3383610bbf565b60005b60058110156106835761067b6002826005811061067257fe5b01543384610bbf565b600101610659565b5050565b6001546001600160a01b031633146106d05760405162461bcd60e51b8152600401808060200182810382526035815260200180610d6c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b600061050c6d4275726e466f724164647265737360901b84846109b7565b6000546001600160a01b031681565b6007546001600160a01b031681565b6105ce6d4275726e466f724164647265737360901b3383610a9f565b69105c1c1c9bdd99505b1b60b21b81565b6105ce6e4973737565466f724164647265737360881b3383610a9f565b6007546000906001600160a01b03166317e7dd2261080269105c1c1c9bdd99505b1b60b21b8686610cf9565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d602081101561086057600080fd5b50519392505050565b610871610a54565b6001600160a01b0381166108b65760405162461bcd60e51b8152600401808060200182810382526026815260200180610d466026913960400191505060405180910390fd5b6007805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105ce7145786368616e6765466f724164647265737360701b3383610bbf565b6105ce69105c1c1c9bdd99505b1b60b21b3383610a9f565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b600061050c7145786368616e6765466f724164647265737360701b84845b60006109c383836107d6565b156109d05750600161050c565b6007546001600160a01b03166317e7dd226109ec868686610cf9565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a2057600080fd5b505afa158015610a34573d6000803e3d6000fd5b505050506040513d6020811015610a4a57600080fd5b5051949350505050565b6000546001600160a01b03163314610a9d5760405162461bcd60e51b815260040180806020018281038252602f815260200180610da1602f913960400191505060405180910390fd5b565b6001600160a01b038116610afa576040805162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b6007546001600160a01b0316633eba9ed2610b16858585610cf9565b60016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610b5957600080fd5b505af1158015610b6d573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b6007546001600160a01b03166317e7dd22610bdb858585610cf9565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c0f57600080fd5b505afa158015610c23573d6000803e3d6000fd5b505050506040513d6020811015610c3957600080fd5b505115610cf4576007546001600160a01b0316633cc1635c610c5c858585610cf9565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c9257600080fd5b505af1158015610ca6573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526bffffffffffffffffffffffff19606086811b82168486015285901b1660548301528251604881840301815260689092019092528051910120939250505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158205ba8560c4e4d3601f57858c57ede5cc8c2e1a87d58029aeb9da0257980917ca964736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a26336"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newEternalStorage",
							"type": "address"
						}
					],
					"name": "EternalStorageUpdated",
					"type": "event",
					"signature": "0xe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "WithdrawApproval",
					"type": "event",
					"signature": "0x7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "APPROVE_ALL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbc2ebe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "BURN_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32b3f52"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CLAIM_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc5e17ab0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "EXCHANGE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd8eeb7c1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ISSUE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c70aecf"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc87acbf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9c79ce35"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4180e5b5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x447fbc63"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f61d336"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approvedAll",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb42e0f15"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canBurnFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7d3f0ba2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canClaimFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f4ae57"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canExchangeFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfaf431bb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canIssueFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04872617"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "eternalStorage",
					"outputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98ff9c54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f95200b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59cec3d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c8bc9fe"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb9156efa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x431ce540"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"name": "setEternalStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5bb5619"
				}
			],
			"source": {
				"keccak256": "0xfca995a0439828bc3ae16308c194f054447611b8bd934ca2366189d84350fcb9",
				"urls": [
					"bzz-raw://a34c1b50b5781e5fdd6c240fe77d721ea8d419d7c245b656edb57a157ed74cbb",
					"dweb:/ipfs/QmYVAAGyKD5JNSyGR64KViw2p8uKJEWkPZ2KLV8C7eBkhN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DelegateApprovals.sol": "DelegateApprovals"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"DelegateApprovals.sol": {
						"keccak256": "0xfca995a0439828bc3ae16308c194f054447611b8bd934ca2366189d84350fcb9",
						"urls": [
							"bzz-raw://a34c1b50b5781e5fdd6c240fe77d721ea8d419d7c245b656edb57a157ed74cbb",
							"dweb:/ipfs/QmYVAAGyKD5JNSyGR64KViw2p8uKJEWkPZ2KLV8C7eBkhN"
						]
					}
				},
				"version": 1
			}
		},
		"Liquidations": {
			"bytecode": "608060405234801561001057600080fd5b50604051612e03380380612e038339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050612cdd806101266000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806374e889c9116100e3578063974e9e7f1161008c578063ad2bc2d511610066578063ad2bc2d51461048a578063c49e80a6146104b0578063d45c0d7e146104d657610198565b8063974e9e7f146103fc57806398df0de214610422578063a0cf74511461048257610198565b8063828afc4b116100bd578063828afc4b14610376578063899ffef41461039c5780638da5cb5b146103f457610198565b806374e889c91461031157806379ba5097146103195780637f9358a21461032157610198565b80633bffbbe21161014557806361ec080f1161011f57806361ec080f146102db5780636a05896614610301578063741853601461030957610198565b80633bffbbe2146102845780633ed3b7c3146102aa57806353a47bb7146102d357610198565b80632af64bd3116101765780632af64bd31461020357806339a9df1b1461021f5780633b5f5b4e1461024557610198565b806304f3bcec1461019d5780631627540c146101c157806323f5589a146101e9575b600080fd5b6101a56104fc565b604080516001600160a01b039092168252519081900360200190f35b6101e7600480360360208110156101d757600080fd5b50356001600160a01b031661050b565b005b6101f1610574565b60408051918252519081900360200190f35b61020b610584565b604080519115158252519081900360200190f35b61020b6004803603602081101561023557600080fd5b50356001600160a01b03166106a7565b61026b6004803603602081101561025b57600080fd5b50356001600160a01b03166106b8565b6040805192835290151560208301528051918290030190f35b6101f16004803603602081101561029a57600080fd5b50356001600160a01b03166106e3565b6101f1600480360360608110156102c057600080fd5b50803590602081013590604001356106ee565b6101a5610703565b6101f1600480360360208110156102f157600080fd5b50356001600160a01b0316610712565b6101f161079c565b6101e76107b4565b6101f16109a2565b6101e76109bc565b61035d6004803603608081101561033757600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610a85565b6040805192835260208301919091528051918290030190f35b6101f16004803603602081101561038c57600080fd5b50356001600160a01b0316610f6a565b6103a4610f85565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103e05781810151838201526020016103c8565b505050509050019250505060405180910390f35b6101a56110da565b6101e76004803603602081101561041257600080fd5b50356001600160a01b03166110e9565b6104486004803603602081101561043857600080fd5b50356001600160a01b031661114c565b604080519788526020880196909652868601949094526060860192909252608085015260a0840152151560c0830152519081900360e00190f35b6101f161148f565b6101e7600480360360208110156104a057600080fd5b50356001600160a01b0316611499565b61020b600480360360208110156104c657600080fd5b50356001600160a01b03166116d5565b6101e7600480360360208110156104ec57600080fd5b50356001600160a01b031661177f565b6002546001600160a01b031681565b610513611af4565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600061057e611b3f565b90505b90565b60006060610590610f85565b905060005b815181101561069e5760008282815181106105ac57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561062d57600080fd5b505afa158015610641573d6000803e3d6000fd5b505050506040513d602081101561065757600080fd5b50516001600160a01b031614158061068457506000818152600360205260409020546001600160a01b0316155b156106955760009350505050610581565b50600101610595565b50600191505090565b60006106b282611bf6565b92915050565b6000806106c3612b72565b6106cc84611c1f565b8051935090506106db83611ccb565b915050915091565b60006106b282611cdd565b60006106fb848484611d76565b949350505050565b6001546001600160a01b031681565b60006106b261072083611cdd565b73__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561076457600080fd5b505af4158015610778573d6000803e3d6000fd5b505050506040513d602081101561078e57600080fd5b50519063ffffffff611e4216565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b60606107be610f85565b905060005b815181101561099e5760008282815181106107da57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156108a9578181015183820152602001610891565b50505050905090810190601f1680156108d65780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156108f457600080fd5b505afa158015610908573d6000803e3d6000fd5b505050506040513d602081101561091e57600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016107c3565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b03163314610a055760405162461bcd60e51b8152600401808060200182810382526035815260200180612b8a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b600080610a90611e57565b6001600160a01b0316336001600160a01b031614610adf5760405162461bcd60e51b815260040180806020018281038252603e815260200180612c23603e913960400191505060405180910390fd5b610ae7611e6b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610b1f57600080fd5b505afa158015610b33573d6000803e3d6000fd5b5050505060008411610b8c576040805162461bcd60e51b815260206004820152601f60248201527f4c69717569646174696f6e20616d6f756e742063616e206e6f74206265203000604482015290519081900360640190fd5b600080610b97611e85565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015610be057600080fd5b505afa158015610bf4573d6000803e3d6000fd5b505050506040513d6040811015610c0a57600080fd5b50805160209091015190925090508015610c6b576040805162461bcd60e51b815260206004820152601460248201527f50455249207261746520697320696e76616c6964000000000000000000000000604482015290519081900360640190fd5b6000610cff610c78611ea0565b6001600160a01b03166370a082318b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610ccd57600080fd5b505afa158015610ce1573d6000803e3d6000fd5b505050506040513d6020811015610cf757600080fd5b505184611eb9565b9050600080600080610d128d8b87611eea565b9296509094509092509050610d2d858363ffffffff61209d16565b9450610d3a8a8686611d76565b91508a8210610d49578a610d4b565b815b9750610ddd88610dd8610d5c611b3f565b73__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610da057600080fd5b505af4158015610db4573d6000803e3d6000fd5b505050506040513d6020811015610dca57600080fd5b50519063ffffffff61209d16565b611eb9565b985084891115610e0157849850610dfe85610df9610d5c611b3f565b6120f7565b97505b610e0b8982611eb9565b925060008311610e1c576000610eca565b610e24612115565b6001600160a01b0316635c833bfd8e858f6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001826001600160a01b03166001600160a01b031681526020019350505050602060405180830381600087803b158015610e9d57600080fd5b505af1158015610eb1573d6000803e3d6000fd5b505050506040513d6020811015610ec757600080fd5b50515b9050610eec83610ee08b8463ffffffff61209d16565b9063ffffffff61214016565b9850610ef889886120f7565b9850610f29610f0d868a63ffffffff61214016565b610f1d8c8b63ffffffff61214016565b9063ffffffff61219d16565b915081841180610f4c575064e8d4a51000610f4a838663ffffffff61214016565b105b15610f5a57610f5a8d6121c7565b5050505050505094509492505050565b6000610f74612b72565b610f7d83611c1f565b519392505050565b606080610f906121eb565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506b53797374656d53746174757360a01b81600081518110610fd457fe5b6020026020010181815250506a5065726946696e616e636560a81b81600181518110610ffc57fe5b6020026020010181815250507f457465726e616c53746f726167654c69717569646174696f6e730000000000008160028151811061103657fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061105957fe5b6020026020010181815250506c45786368616e6765526174657360981b8160048151811061108357fe5b6020026020010181815250507f45787465726e616c546f6b656e5374616b654d616e6167657200000000000000816005815181106110bd57fe5b6020026020010181815250506110d3828261224a565b9250505090565b6000546001600160a01b031681565b6110f1611e57565b6001600160a01b0316336001600160a01b0316146111405760405162461bcd60e51b815260040180806020018281038252603e815260200180612c23603e913960400191505060405180910390fd5b611149816121c7565b50565b600080600080600080600061115f611e57565b6001600160a01b031663d37c4d8b897f70555344000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156111dc57600080fd5b505afa1580156111f0573d6000803e3d6000fd5b505050506040513d602081101561120657600080fd5b505192506000611214611e85565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d604081101561128757600080fd5b5051905061131d611296611e57565b6001600160a01b031663a5fdc5de8b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112eb57600080fd5b505afa1580156112ff573d6000803e3d6000fd5b505050506040513d602081101561131557600080fd5b505182611eb9565b9250611327612115565b6001600160a01b031663ede459568a86866040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060c06040518083038186803b15801561138c57600080fd5b505afa1580156113a0573d6000803e3d6000fd5b505050506040513d60c08110156113b657600080fd5b50805160208201516040830151606090930151919a50985090965094506113db611ea0565b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561143057600080fd5b505afa158015611444573d6000803e3d6000fd5b505050506040513d602081101561145a57600080fd5b505192508661147061146b8a612306565b612399565b108015611481575061148189611bf6565b915050919395979092949650565b600061057e61247f565b635045524960e01b6114a9611e85565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156114ec57600080fd5b505afa158015611500573d6000803e3d6000fd5b505050506040513d602081101561151657600080fd5b50511561156a576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b611572611e6b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156115aa57600080fd5b505afa1580156115be573d6000803e3d6000fd5b505050506115ca612b72565b6115d383611c1f565b8051909150611629576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000604482015290519081900360640190fd5b600080611634611e57565b60408051630b693a5f60e21b81526001600160a01b0388811660048301526001602483015291519290911691632da4e97c9160448082019260c092909190829003018186803b15801561168657600080fd5b505afa15801561169a573d6000803e3d6000fd5b505050506040513d60c08110156116b057600080fd5b50805160209091015190925090508082106116ce576116ce85612505565b5050505050565b60008060006116e2611e57565b60408051630b693a5f60e21b81526001600160a01b0387811660048301526001602483015291519290911691632da4e97c9160448082019260c092909190829003018186803b15801561173457600080fd5b505afa158015611748573d6000803e3d6000fd5b505050506040513d60c081101561175e57600080fd5b508051602090910151909250905080821080156106fb57506106fb84611bf6565b635045524960e01b61178f611e85565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156117d257600080fd5b505afa1580156117e6573d6000803e3d6000fd5b505050506040513d60208110156117fc57600080fd5b505115611850576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b611858611e6b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561189057600080fd5b505afa1580156118a4573d6000803e3d6000fd5b5050505060006118b383611cdd565b11611905576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e20726174696f206e6f742073657400000000000000604482015290519081900360640190fd5b600061190f61247f565b11611961576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000604482015290519081900360640190fd5b611969612b72565b61197283611c1f565b8051909150156119b35760405162461bcd60e51b8152600401808060200182810382526027815260200180612c826027913960400191505060405180910390fd5b60006119bd611e57565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611a1257600080fd5b505afa158015611a26573d6000803e3d6000fd5b505050506040513d6020811015611a3c57600080fd5b50519050611a4984611cdd565b811015611a875760405162461bcd60e51b8152600401808060200182810382526035815260200180612bbf6035913960400191505060405180910390fd5b6000611aa1611a9461247f565b429063ffffffff61209d16565b9050611aae85823361264d565b6040805182815290516001600160a01b038716917fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996919081900360200190a25050505050565b6000546001600160a01b03163314611b3d5760405162461bcd60e51b815260040180806020018281038252602f815260200180612bf4602f913960400191505060405180910390fd5b565b6000611b4961277a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e50656e616c747900000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611bc557600080fd5b505afa158015611bd9573d6000803e3d6000fd5b505050506040513d6020811015611bef57600080fd5b5051905090565b6000611c00612b72565b611c0983611c1f565b9050611c188160000151611ccb565b9392505050565b611c27612b72565b611c2f6127a5565b6001600160a01b031663bdc963d8611c5d724c69717569646174696f6e446561646c696e6560681b856127d0565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611c9157600080fd5b505afa158015611ca5573d6000803e3d6000fd5b505050506040513d6020811015611cbb57600080fd5b5051815260006020820152919050565b600080821180156106b2575050421190565b6000611ce7611e57565b6001600160a01b031663506e4093836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611d3c57600080fd5b505afa158015611d50573d6000803e3d6000fd5b505050506040513d6020811015611d6657600080fd5b505190506106b261146b82612306565b60008073__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611dbd57600080fd5b505af4158015611dd1573d6000803e3d6000fd5b505050506040513d6020811015611de757600080fd5b50519050611e39611e1f611e12611e0c611dff611b3f565b859063ffffffff61209d16565b86611eb9565b839063ffffffff61214016565b610f1d611e2c8787611eb9565b889063ffffffff61214016565b95945050505050565b6000611c188383670de0b6b3a764000061280f565b600061057e6524b9b9bab2b960d11b612847565b600061057e6b53797374656d53746174757360a01b612847565b600061057e6c45786368616e6765526174657360981b612847565b600061057e6a5065726946696e616e636560a81b612847565b6000811580611ec6575082155b611ee157611edc611ed78484612930565b612962565b611c18565b50600092915050565b6000806000806000611efa612115565b6001600160a01b031663ede459568989896040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060c06040518083038186803b158015611f5f57600080fd5b505afa158015611f73573d6000803e3d6000fd5b505050506040513d60c0811015611f8957600080fd5b50805160208201516040830151606084015160809094015192985090965090945090925090508385108015611fc25750611fc288611bf6565b612013576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e74206e6f74206f70656e20666f72206c69717569646174696f6e604482015290519081900360640190fd5b61201d8282611eb9565b9050600081881161202f57600061203f565b61203f888363ffffffff61214016565b905061204d81610df9612984565b905080871061206b57612066818463ffffffff61209d16565b61207b565b61207b878463ffffffff61209d16565b945061208d838663ffffffff61219d16565b9350829450505093509350935093565b600082820183811015611c18576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000811580612104575082155b611ee157611edc611ed78484612a0a565b600061057e7f45787465726e616c546f6b656e5374616b654d616e6167657200000000000000612847565b600082821115612197576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611c18826121bb85670de0b6b3a764000063ffffffff612a3c16565b9063ffffffff612a9516565b6121cf612b72565b6121d882611c1f565b80519091501561099e5761099e82612505565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061223b57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561227a578160200160208202803883390190505b50905060005b83518110156122bc5783818151811061229557fe5b60200260200101518282815181106122a957fe5b6020908102919091010152600101612280565b5060005b82518110156122ff578281815181106122d557fe5b60200260200101518282865101815181106122ec57fe5b60209081029190910101526001016122c0565b5092915050565b60006706f05b59d3b2000082111561233e577f49000000000000000000000000000000000000000000000000000000000000006106b2565b612346612984565b8214612372577f43000000000000000000000000000000000000000000000000000000000000006106b2565b7f500000000000000000000000000000000000000000000000000000000000000092915050565b60006123a361277a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e526174696f73000000000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561244d57600080fd5b505afa158015612461573d6000803e3d6000fd5b505050506040513d602081101561247757600080fd5b505192915050565b600061248961277a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e44656c6179000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611bc557600080fd5b61250d6127a5565b6001600160a01b03166393fe424861253b724c69717569646174696f6e446561646c696e6560681b846127d0565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561257157600080fd5b505af1158015612585573d6000803e3d6000fd5b505050506125916127a5565b6001600160a01b031663043106c06125bd702634b8bab4b230ba34b7b721b0b63632b960791b846127d0565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156125f357600080fd5b505af1158015612607573d6000803e3d6000fd5b50506040805142815290516001600160a01b03851693507f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8792509081900360200190a250565b6126556127a5565b6001600160a01b0316633562fd20612683724c69717569646174696f6e446561646c696e6560681b866127d0565b846040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156126c157600080fd5b505af11580156126d5573d6000803e3d6000fd5b505050506126e16127a5565b6001600160a01b0316635a2bf25a61270d702634b8bab4b230ba34b7b721b0b63632b960791b866127d0565b836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561275d57600080fd5b505af1158015612771573d6000803e3d6000fd5b50505050505050565b600061057e7f466c657869626c6553746f726167650000000000000000000000000000000000612847565b600061057e7f457465726e616c53746f726167654c69717569646174696f6e73000000000000612847565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b600080612829846121bb87600a870263ffffffff612a3c16565b90506005600a825b061061283b57600a015b600a9004949350505050565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816122ff5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156128f55781810151838201526020016128dd565b50505050905090810190601f1680156129225780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600081158061293d575082155b611ee157611edc61294d83612aff565b61295685612aff565b9063ffffffff612b1516565b60006305f5e10082046005600a82061061297a57600a015b600a900492915050565b600061298e61277a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611bc557600080fd5b6000811580612a17575082155b611ee157611edc612a2783612aff565b612a3085612aff565b9063ffffffff612b2e16565b600082612a4b575060006106b2565b82820282848281612a5857fe5b0414611c185760405162461bcd60e51b8152600401808060200182810382526021815260200180612c616021913960400191505060405180910390fd5b6000808211612aeb576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481612af657fe5b04949350505050565b60006106b282633b9aca0063ffffffff612a3c16565b6000611c1883836b033b2e3c9fd0803ce8000000612b47565b6000611c1883836b033b2e3c9fd0803ce800000061280f565b600080600a8304612b5e868663ffffffff612a3c16565b81612b6557fe5b0490506005600a82612831565b60408051808201909152600080825260208201529056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4c69717569646174696f6e733a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6ea265627a7a7231582066ed88887264c6e5784563425cbde3dfad64c1c7687814b2ad36aa236a31331264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "deadline",
							"type": "uint256"
						}
					],
					"name": "AccountFlaggedForLiquidation",
					"type": "event",
					"signature": "0xc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountRemovedFromLiquidation",
					"type": "event",
					"signature": "0x9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c87"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_CALLER",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6a058966"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_DEADLINE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x74e889c9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "cRatioNDebtsCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "cRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periCol",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isLiquidateOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98df0de2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						}
					],
					"name": "calcAmtToFixCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountToFixRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3ed3b7c3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAndRemoveAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xad2bc2d5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "flagAccountForLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd45c0d7e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLiquidationDeadlineForAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x828afc4b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLiquidationInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "deadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b5f5b4e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isLiquidationDeadlinePassed",
					"outputs": [
						{
							"internalType": "bool",
							"name": "isPassed",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x39a9df1b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isOpenForLiquidation",
					"outputs": [
						{
							"internalType": "bool",
							"name": "isOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc49e80a6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						}
					],
					"name": "liquidateAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7f9358a2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "liquidationCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x61ec080f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3bffbbe2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "removeAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x974e9e7f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				}
			],
			"source": {
				"keccak256": "0x50abe6bdeda177e0921004e180e628a891be16967f733eb372c11f603030c0a3",
				"urls": [
					"bzz-raw://d8a01065e31de4cfab2f4bafba73f0e5e1e2b02ac1cbf93a965c174a3c824f47",
					"dweb:/ipfs/QmNxvEtkEgAEDZTfWs2FqHd4crkeLYChfPxJsfPPhMJCFm"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Liquidations.sol": "Liquidations"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Liquidations.sol": {
						"keccak256": "0x50abe6bdeda177e0921004e180e628a891be16967f733eb372c11f603030c0a3",
						"urls": [
							"bzz-raw://d8a01065e31de4cfab2f4bafba73f0e5e1e2b02ac1cbf93a965c174a3c824f47",
							"dweb:/ipfs/QmNxvEtkEgAEDZTfWs2FqHd4crkeLYChfPxJsfPPhMJCFm"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516114f03803806114f08339818101604052604081101561003357600080fd5b50805160209091015162375f00828280826001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610149576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050504201600a55505061133d806101b36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d9578063bdc963d8146105f6578063c9a52d2c14610613578063f58660661461068a576101cf565b8063a209a29c146104cf578063a77aa49e146104ec578063aefc4ccb1461050f578063b3ffbd9e14610517576101cf565b80638267a9ee116100de5780638267a9ee146104705780638da5cb5b1461048d5780639007127b1461049557806393fe4248146104b2576101cf565b806353a47bb7146104345780635a2bf25a1461043c57806379ba509714610468576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cd5780634c77e5ba146103d557806352f445ca1461040e576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b5035610701565b60408051918252519081900360200190f35b6102206004803603602081101561021957600080fd5b5035610713565b005b6102206004803603602081101561023857600080fd5b503561077a565b6102206004803603602081101561025557600080fd5b50356107dd565b6102206004803603602081101561027257600080fd5b50356001600160a01b0316610837565b61029f6004803603602081101561029857600080fd5b5035610893565b604080519115158252519081900360200190f35b610220600480360360408110156102c957600080fd5b50803590602001356108a8565b610220600480360360408110156102ec57600080fd5b5080359060200135610903565b6102206004803603602081101561030f57600080fd5b503561095e565b6102206004803603604081101561032c57600080fd5b508035906020013515156109bf565b6103586004803603602081101561035157600080fd5b5035610a28565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039257818101518382015260200161037a565b50505050905090810190601f1680156103bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610ac9565b6103f2600480360360208110156103eb57600080fd5b5035610acf565b604080516001600160a01b039092168252519081900360200190f35b6102206004803603602081101561042457600080fd5b50356001600160a01b0316610aea565b6103f2610b46565b6102206004803603604081101561045257600080fd5b50803590602001356001600160a01b0316610b55565b610220610bcc565b6102206004803603602081101561048657600080fd5b5035610c88565b6103f2610ce2565b6101f1600480360360208110156104ab57600080fd5b5035610cf1565b610220600480360360208110156104c857600080fd5b5035610d03565b610358600480360360208110156104e557600080fd5b5035610d5d565b6102206004803603604081101561050257600080fd5b5080359060200135610dc7565b6103f2610e22565b6102206004803603604081101561052d57600080fd5b81019060208101813564010000000081111561054857600080fd5b82018360208201111561055a57600080fd5b8035906020019184602083028401116401000000008311171561057c57600080fd5b91939092909160208101903564010000000081111561059a57600080fd5b8201836020820111156105ac57600080fd5b803590602001918460208302840111640100000000831117156105ce57600080fd5b509092509050610e31565b610220600480360360208110156105ef57600080fd5b5035610fe1565b6101f16004803603602081101561060c57600080fd5b5035611041565b6102206004803603604081101561062957600080fd5b8135919081019060408101602082013564010000000081111561064b57600080fd5b82018360208201111561065d57600080fd5b8035906020019184600183028401116401000000008311171561067f57600080fd5b509092509050611053565b610220600480360360408110156106a057600080fd5b813591908101906040810160208201356401000000008111156106c257600080fd5b8201836020820111156106d457600080fd5b803590602001918460018302840111640100000000831117156106f657600080fd5b5090925090506110bb565b60009081526007602052604090205490565b6002546001600160a01b0316331461075c5760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146107c35760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b60008181526006602052604081206107da91611168565b50565b6002546001600160a01b031633146108265760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b600090815260076020526040812055565b61083f61111d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108f15760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461094c5760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146109a75760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b03163314610a085760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610abd5780601f10610a9257610100808354040283529160200191610abd565b820191906000526020600020905b815481529060010190602001808311610aa057829003601f168201915b50505050509050919050565b600a5481565b6000908152600560205260409020546001600160a01b031690565b610af261111d565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b9e5760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610c155760405162461bcd60e51b81526004018080602001828103825260358152602001806112486035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610cd15760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610d4c5760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610abd5780601f10610a9257610100808354040283529160200191610abd565b6002546001600160a01b03163314610e105760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b610e3961111d565b600a544210610e795760405162461bcd60e51b81526004018080602001828103825260298152602001806112e06029913960400191505060405180910390fd5b828114610ecd576040805162461bcd60e51b815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b60005b60ff8116841115610fda5730633562fd207f6c6173745f6665655f7769746864726177616c00000000000000000000000000878760ff8616818110610f1157fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff16818110610f7257fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610fb657600080fd5b505af1158015610fca573d6000803e3d6000fd5b505060019092019150610ed09050565b5050505050565b6002546001600160a01b0316331461102a5760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b60008181526004602052604081206107da91611168565b60009081526003602052604090205490565b6002546001600160a01b0316331461109c5760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b60008381526006602052604090206110b59083836111ac565b50505050565b6002546001600160a01b031633146111045760405162461bcd60e51b81526004018080602001828103825260348152602001806112ac6034913960400191505060405180910390fd5b60008381526004602052604090206110b59083836111ac565b6000546001600160a01b031633146111665760405162461bcd60e51b815260040180806020018281038252602f81526020018061127d602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f1061118e57506107da565b601f0160209004906000526020600020908101906107da919061122a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111ed5782800160ff1982351617855561121a565b8280016001018555821561121a579182015b8281111561121a5782358255916020019190600101906111ff565b5061122692915061122a565b5090565b61124491905b808211156112265760008155600101611230565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a723158203084c1b0dad20435becab5c66b46f63a1c52ae82916d2ddae47dfbaf8b55d0cd64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "feePeriodIDs",
							"type": "uint256[]"
						}
					],
					"name": "importFeeWithdrawalData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3ffbd9e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				}
			],
			"source": {
				"keccak256": "0x893a78ae75bb4a2f35a17a30d3c69587da52c4531ad81f3dc9ebd920c4dae6ab",
				"urls": [
					"bzz-raw://36739bab7ead685dfecb0dda92d16a543d6b918ccec157359e4cc19578ecf4e6",
					"dweb:/ipfs/QmW8LKcgWyV4sqC3Xme5cUMBeKy2uHQiP2oEFVE9WxCMnz"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolEternalStorage.sol": "FeePoolEternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"FeePoolEternalStorage.sol": {
						"keccak256": "0x893a78ae75bb4a2f35a17a30d3c69587da52c4531ad81f3dc9ebd920c4dae6ab",
						"urls": [
							"bzz-raw://36739bab7ead685dfecb0dda92d16a543d6b918ccec157359e4cc19578ecf4e6",
							"dweb:/ipfs/QmW8LKcgWyV4sqC3Xme5cUMBeKy2uHQiP2oEFVE9WxCMnz"
						]
					}
				},
				"version": 1
			}
		},
		"FeePool": {
			"bytecode": "6080604052631c1554d160e21b6008553480156200001c57600080fd5b5060405162005262380380620052628339810160408190526200003f9162000221565b8080621baf8085856001600160a01b038116620000795760405162461bcd60e51b8152600401620000709062000343565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c69184906200030b565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000331565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9062000147908390620002fb565b60405180910390a1504201600555600680546001600160a01b0319166001600160a01b0392909216919091179055506001620001846000620001e2565b80546001600160401b0319166001600160401b039290921691909117905542620001af6000620001e2565b80546001600160401b0392909216600160801b02600160801b600160c01b0319909216919091179055506200039e915050565b60006009600260ff16836013540181620001f857fe5b06600281106200020457fe5b6005020192915050565b80516200021b8162000384565b92915050565b6000806000606084860312156200023757600080fd5b60006200024586866200020e565b935050602062000258868287016200020e565b92505060406200026b868287016200020e565b9150509250925092565b620002808162000370565b82525050565b62000280816200035e565b6000620002a060118362000355565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002cf60198362000355565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200021b828462000275565b604081016200031b828562000275565b6200032a602083018462000286565b9392505050565b602080825281016200021b8162000291565b602080825281016200021b81620002c0565b90815260200190565b60006001600160a01b0382166200021b565b60006200021b8260006200021b826200035e565b6200038f816200035e565b81146200039b57600080fd5b50565b614eb480620003ae6000396000f3fe608060405234801561001057600080fd5b50600436106102de5760003560e01c80636de813f111610186578063ac834193116100e3578063d67bdd2511610097578063eb1edd6111610071578063eb1edd611461055d578063ec55688914610565578063fd1f498d1461056d576102de565b8063d67bdd251461053a578063e0e6393d14610542578063e10dab061461054a576102de565b8063bc67f832116100c8578063bc67f8321461050a578063cff2ddad1461051d578063d294f09314610532576102de565b8063ac834193146104fa578063b410a03414610502576102de565b8063899ffef41161013a57806397107d6d1161011f57806397107d6d146104cc5780639cbdaeb6146104df578063a4d1489f146104e7576102de565b8063899ffef4146104af5780638da5cb5b146104c4576102de565b806379ba50971161016b57806379ba50971461048157806386645274146104895780638844578a1461049c576102de565b80636de813f1146104715780637418536014610479576102de565b80633ebc457a1161023f57806353a47bb7116101f357806362115496116101cd578063621154961461044e5780636466f45e146104565780636683051b14610469576102de565b806353a47bb71461041e578063569249d01461043357806359a2f19f1461043b576102de565b8063446530d111610224578063446530d1146103fb5780634531a2e31461040357806346ba2d9014610416576102de565b80633ebc457a146103cd5780633fcd2240146103d5576102de565b80631627540c1161029657806322bf55ef1161027b57806322bf55ef146103855780632af64bd31461039857806333140016146103ad576102de565b80631627540c1461036a57806322425fa41461037d576102de565b80630813071c116102c75780630813071c146103215780630de5861514610334578063131b0ae714610355576102de565b806304f3bcec146102e357806307ea50cd14610301575b600080fd5b6102eb610580565b6040516102f89190614b04565b60405180910390f35b61031461030f366004613ab2565b61058f565b6040516102f89190614a21565b61031461032f366004613aee565b610664565b610347610342366004613ab2565b6107b0565b6040516102f8929190614a3d565b610368610363366004613ab2565b610829565b005b610368610378366004613ab2565b610853565b6103146108b1565b610368610393366004613c11565b6108c1565b6103a0610a71565b6040516102f89190614a13565b6103c06103bb366004613ab2565b610ba1565b6040516102f891906149f4565b610368610e05565b6103e86103e3366004613c11565b611271565b6040516102f89796959493929190614cf1565b61031461131a565b610368610411366004613ce6565b611320565b6103146113da565b6104266113e0565b6040516102f89190614906565b6103146113ef565b6103a0610449366004613ab2565b61144a565b610314611457565b6103a0610464366004613ab2565b6114ac565b6103a06115d6565b6103146115df565b610368611637565b610368611789565b610368610497366004613b28565b611825565b6103686104aa366004613c11565b611965565b6104b7611a0c565b6040516102f89190614a02565b610426611cf2565b6103686104da366004613ab2565b611d01565b6102eb611d54565b6103686104f5366004613ab2565b611d63565b610314611f50565b610314611ffc565b610368610518366004613ab2565b612006565b610525612030565b6040516102f89190614d59565b6103a0612035565b6104266120ac565b6103146120bb565b610368610558366004613b75565b6120c5565b610426612513565b6102eb61252b565b61036861057b366004613c11565b61253a565b6006546001600160a01b031681565b60006105996125b7565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c00000000000000000000000000846040516020016105da929190614894565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161060c9190614a21565b60206040518083038186803b15801561062457600080fd5b505afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065c9190810190613bd5565b90505b919050565b60008161068c5760405162461bcd60e51b815260040161068390614cb3565b60405180910390fd5b600282106106ac5760405162461bcd60e51b815260040161068390614c53565b6106b8600183036125e2565b5468010000000000000000900467ffffffffffffffff166106db575060006107aa565b600061070b60016106ee600186036125e2565b5468010000000000000000900467ffffffffffffffff169061260c565b9050600080610718612634565b6001600160a01b031663d29c000a87856040518363ffffffff1660e01b8152600401610745929190614973565b604080518083038186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107949190810190613c2f565b90925090506107a483838361265f565b93505050505b92915050565b6000806107bb61396b565b6107c484610ba1565b905060015b6002811015610822576107ee8282600281106107e157fe5b602002015151859061279e565b93506108188282600281106107ff57fe5b602002015160016020020151849063ffffffff61279e16565b92506001016107c9565b5050915091565b6108316127c3565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b61085b6127c3565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a6908390614906565b60405180910390a150565b60006108bb6127ef565b90505b90565b60006108cb6128b6565b6001600160a01b0316331490506000806108e36128e1565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040161090e9190614914565b60206040518083038186803b15801561092657600080fd5b505afa15801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095e9190810190613bd5565b14159050600061096c6128f5565b6001600160a01b0316336001600160a01b0316149050600061098c612920565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b81526004016109b79190614914565b60206040518083038186803b1580156109cf57600080fd5b505afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a079190810190613bb7565b90508380610a125750825b80610a1a5750815b80610a225750805b610a3e5760405162461bcd60e51b815260040161068390614b43565b610a5c85610a4c60006125e2565b600101549063ffffffff61279e16565b610a6660006125e2565b600101555050505050565b60006060610a7d611a0c565b905060005b8151811015610b98576000828281518110610a9957fe5b602090810291909101810151600081815260079092526040918290205460065492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a72190610b03908590600401614a21565b60206040518083038186803b158015610b1b57600080fd5b505afa158015610b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b539190810190613ad0565b6001600160a01b0316141580610b7e57506000818152600760205260409020546001600160a01b0316155b15610b8f57600093505050506108be565b50600101610a82565b50600191505090565b610ba961396b565b6000806000610bb6612634565b6040517fb326f84e0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063b326f84e90610c01908890600090600401614958565b604080518083038186803b158015610c1857600080fd5b505afa158015610c2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c509190810190613c2f565b909350915081158015610c61575082155b15610c7957610c6e61396b565b935061065f92505050565b600080610c886000868661294b565b8751829052875160200181905290925090506000610ca58861058f565b905060015b8015610df95760001981016000610cc0826125e2565b5468010000000000000000900467ffffffffffffffff1690508015801590610cfa5750610cec836125e2565b5467ffffffffffffffff1684105b15610dee576000610d1282600163ffffffff61260c16565b6040517fd29c000a0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0389169063d29c000a90610d5c908f908590600401614973565b604080518083038186803b158015610d7357600080fd5b505afa158015610d87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dab9190810190613c2f565b909a509850610dbb848b8b61294b565b9097509550868b8560028110610dcd57fe5b602002015152858b8560028110610de057fe5b602002015160016020020152505b505060001901610caa565b50505050505050919050565b610e0d6129ed565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610e4557600080fd5b505afa158015610e59573d6000803e3d6000fd5b505050506000610e676127ef565b11610e845760405162461bcd60e51b815260040161068390614cc3565b610e8c6127ef565b4203610e9860006125e2565b54600160801b900467ffffffffffffffff161115610ec85760405162461bcd60e51b815260040161068390614b73565b60145460ff1680610fca575073__$f9217daff40bcb29719cec84f7ab900933$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015610f1857600080fd5b505af4158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f509190810190613bd5565b610f58612a18565b6001600160a01b03166302760d946040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9057600080fd5b505afa158015610fa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fc89190810190613bd5565b145b610fe65760405162461bcd60e51b815260040161068390614b83565b6000610ff1816125e2565b90506000610fff60016125e2565b905061103081600201546110248460010154846001015461279e90919063ffffffff16565b9063ffffffff61260c16565b61103a60006125e2565b600101556004810154600380840154908301546110629291611024919063ffffffff61279e16565b61106c60006125e2565b6003015560135461109d9060029061109190600190611024908463ffffffff61279e16565b9063ffffffff612a4316565b6013819055600990600281106110af57fe5b6005020180547fffffffffffffffff00000000000000000000000000000000000000000000000016815560006001808301829055600283018290556003830182905560049092015561111b90611104816125e2565b5467ffffffffffffffff169063ffffffff61279e16565b61112560006125e2565b805467ffffffffffffffff191667ffffffffffffffff9290921691909117905561114d612a73565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b15801561118557600080fd5b505afa158015611199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111bd9190810190613bd5565b6111c760006125e2565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff0000000000000000199092169190911790554261120760006125e2565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff9092169190911790556014805460ff1916905561126d61125d60016125e2565b5467ffffffffffffffff16612a9e565b5050565b6000806000806000806000611284613998565b61128d896125e2565b6040805160e081018252825467ffffffffffffffff808216808452680100000000000000008304821660208501819052600160801b909304909116938301849052600185015460608401819052600286015460808501819052600387015460a0860181905260049097015460c0909501859052919f929e50939c50929a5091985091965090945092505050565b60165481565b611328612b56565b6000611332612bac565b6004546001600160a01b039081169116149050806113625760405162461bcd60e51b815260040161068390614c73565b8167ffffffffffffffff1642101561138c5760405162461bcd60e51b815260040161068390614b23565b8161139760006125e2565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff9092169190911790555050565b60055481565b6001546001600160a01b031681565b60008060015b60028110156114445761141b61140a826125e2565b60010154839063ffffffff61279e16565b915061143a611429826125e2565b60020154839063ffffffff61260c16565b91506001016113f5565b50905090565b600061065c826000612c26565b60145460009060ff168061148e575061146e6127ef565b420361147a60006125e2565b54600160801b900467ffffffffffffffff16115b6114a55761149c60006125e2565b600101546108bb565b5060155490565b60006114b66129ed565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156114ee57600080fd5b505afa158015611502573d6000803e3d6000fd5b5050505061150e612b56565b611516612d37565b600480546040517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936321f4ae579361156193889392169101614922565b60206040518083038186803b15801561157957600080fd5b505afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b19190810190613bb7565b6115cd5760405162461bcd60e51b815260040161068390614bf3565b61065c82612d62565b60145460ff1690565b600060015b60028110156116335761160a6115f9826125e2565b60030154839063ffffffff61279e16565b9150611629611618826125e2565b60040154839063ffffffff61260c16565b91506001016115e4565b5090565b6060611641611a0c565b905060005b815181101561126d57600082828151811061165d57fe5b602002602001015190506000600660009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161169f91906148f0565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016116cb929190614a4b565b60206040518083038186803b1580156116e357600080fd5b505afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061171b9190810190613ad0565b6000838152600760205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906117779084908490614a2f565b60405180910390a15050600101611646565b6001546001600160a01b031633146117b35760405162461bcd60e51b815260040161068390614b53565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926117f6926001600160a01b0391821692911690614922565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061182f6128e1565b6001600160a01b0316336001600160a01b0316149050600061184f612a73565b6001600160a01b0316336001600160a01b0316149050818061186e5750805b61188a5760405162461bcd60e51b815260040161068390614b33565b611892612634565b6001600160a01b03166394e1a4488686866118ad60006125e2565b5460405160e086901b7fffffffff000000000000000000000000000000000000000000000000000000001681526119009493929168010000000000000000900467ffffffffffffffff16906004016149b6565b600060405180830381600087803b15801561191a57600080fd5b505af115801561192e573d6000803e3d6000fd5b5050505061195e85858561194260006125e2565b5468010000000000000000900467ffffffffffffffff16612e39565b5050505050565b61196d6127c3565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156119b157600080fd5b505af41580156119c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119e99190810190613bd5565b8110611a075760405162461bcd60e51b815260040161068390614cd3565b601655565b606080611a17612ed0565b60408051600c8082526101a082019092529192506060919060208201610180803883390190505090507f53797374656d537461747573000000000000000000000000000000000000000081600081518110611a6e57fe5b6020026020010181815250507f466565506f6f6c5374617465000000000000000000000000000000000000000081600181518110611aa857fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f72616765000000000000000000000081600281518110611ae257fe5b6020026020010181815250507f45786368616e676572000000000000000000000000000000000000000000000081600381518110611b1c57fe5b6020026020010181815250506524b9b9bab2b960d11b81600481518110611b3f57fe5b6020026020010181815250507f5065726946696e616e636553746174650000000000000000000000000000000081600581518110611b7957fe5b6020026020010181815250507f526577617264457363726f77563200000000000000000000000000000000000081600681518110611bb357fe5b6020026020010181815250507f44656c6567617465417070726f76616c7300000000000000000000000000000081600781518110611bed57fe5b6020026020010181815250507f4574686572436f6c6c61746572616c705553440000000000000000000000000081600881518110611c2757fe5b6020026020010181815250507f52657761726473446973747269627574696f6e0000000000000000000000000081600981518110611c6157fe5b6020026020010181815250507f436f6c6c61746572616c4d616e6167657200000000000000000000000000000081600a81518110611c9b57fe5b6020026020010181815250507f43726f7373436861696e4d616e6167657200000000000000000000000000000081600b81518110611cd557fe5b602002602001018181525050611ceb8282612f2f565b9250505090565b6000546001600160a01b031681565b611d096127c3565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906108a6908390614914565b6003546001600160a01b031681565b611d6b612feb565b6005544210611d8c5760405162461bcd60e51b815260040161068390614c63565b6001600160a01b038116611db25760405162461bcd60e51b815260040161068390614c13565b60005b600281101561126d576000806000806000806000886001600160a01b0316633fcd2240896040518263ffffffff1660e01b8152600401611df59190614a21565b60e06040518083038186803b158015611e0d57600080fd5b505afa158015611e21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e459190810190613d04565b965096509650965096509650965086611e5d896125e2565b805467ffffffffffffffff191667ffffffffffffffff9290921691909117905585611e87896125e2565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff00000000000000001990921691909117905584611ec6896125e2565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff90921691909117905583611f0f896125e2565b6001015582611f1d896125e2565b6002015581611f2b896125e2565b6003015580611f39896125e2565b60040155505060019095019450611db59350505050565b60006108bb611fe8611f60613070565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611fa457600080fd5b505af4158015611fb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fdc9190810190613bd5565b9063ffffffff61279e16565b611ff06130e7565b9063ffffffff61315e16565b60006108bb6130e7565b61200e613188565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b600061203f6129ed565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561207757600080fd5b505afa15801561208b573d6000803e3d6000fd5b50505050612097612b56565b6004546108bb906001600160a01b0316612d62565b6004546001600160a01b031681565b60006108bb613070565b6120cd612b56565b60006120d7612bac565b6004546001600160a01b039081169116149050806121075760405162461bcd60e51b815260040161068390614c73565b60006121116127ef565b1161212e5760405162461bcd60e51b815260040161068390614cc3565b6121366127ef565b420361214260006125e2565b54600160801b900467ffffffffffffffff1611156121725760405162461bcd60e51b815260040161068390614b63565b60145460ff16156121955760405162461bcd60e51b815260040161068390614c93565b6014805460ff191660011790556121ac60006125e2565b600101546015556000805b838110156121ee576121e48585838181106121ce57fe5b905060200201358361279e90919063ffffffff16565b91506001016121b7565b5060155461220390829063ffffffff61279e16565b905061229d612298612213612a18565b6001600160a01b03166302760d946040518163ffffffff1660e01b815260040160206040518083038186803b15801561224b57600080fd5b505afa15801561225f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122839190810190613bd5565b61228c846131c7565b9063ffffffff6131dd16565b6131f6565b6122a760006125e2565b600101556122b560006125e2565b6001015460155411156123de576122ca6128e1565b6001600160a01b03166357ad46636008546040518263ffffffff1660e01b81526004016122f79190614a21565b60206040518083038186803b15801561230f57600080fd5b505afa158015612323573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123479190810190613bf3565b6001600160a01b0316639dc29fac73feefeefeefeefeefeefeefeefeefeefeefeefeef61238a61237760006125e2565b600101546015549063ffffffff61260c16565b6040518363ffffffff1660e01b81526004016123a7929190614973565b600060405180830381600087803b1580156123c157600080fd5b505af11580156123d5573d6000803e3d6000fd5b5050505061250d565b6123e860006125e2565b60010154601554101561250d576123fd6128e1565b6001600160a01b03166357ad46636008546040518263ffffffff1660e01b815260040161242a9190614a21565b60206040518083038186803b15801561244257600080fd5b505afa158015612456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061247a9190810190613bf3565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef6124bd6015546124ad60006125e2565b600101549063ffffffff61260c16565b6040518363ffffffff1660e01b81526004016124da929190614973565b600060405180830381600087803b1580156124f457600080fd5b505af1158015612508573d6000803e3d6000fd5b505050505b50505050565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b6000612544613218565b6004549091506001600160a01b038083169116148061256b5750336001600160a01b038216145b6125875760405162461bcd60e51b815260040161068390614c03565b6125a58261259560006125e2565b600301549063ffffffff61279e16565b6125af60006125e2565b600301555050565b60006108bb7f466565506f6f6c457465726e616c53746f72616765000000000000000000000061323f565b60006009600260ff168360135401816125f757fe5b066002811061260257fe5b6005020192915050565b60008282111561262e5760405162461bcd60e51b815260040161068390614bb3565b50900390565b60006108bb7f466565506f6f6c5374617465000000000000000000000000000000000000000061323f565b60008061266a612a73565b905060006127928561228c846001600160a01b03166308d95cd5886040518263ffffffff1660e01b81526004016126a19190614a21565b60206040518083038186803b1580156126b957600080fd5b505afa1580156126cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126f19190810190613bd5565b6040517f08d95cd50000000000000000000000000000000000000000000000000000000081526001600160a01b038716906308d95cd590612736908d90600401614a21565b60206040518083038186803b15801561274e57600080fd5b505afa158015612762573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127869190810190613bd5565b9063ffffffff61329c16565b925050505b9392505050565b6000828201838110156127975760405162461bcd60e51b815260040161068390614ba3565b6000546001600160a01b031633146127ed5760405162461bcd60e51b815260040161068390614c23565b565b60006127f96132b5565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401612866929190614a3d565b60206040518083038186803b15801561287e57600080fd5b505afa158015612892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108bb9190810190613bd5565b60006108bb7f45786368616e676572000000000000000000000000000000000000000000000061323f565b60006108bb6524b9b9bab2b960d11b61323f565b60006108bb7f4574686572436f6c6c61746572616c705553440000000000000000000000000061323f565b60006108bb7f436f6c6c61746572616c4d616e6167657200000000000000000000000000000061323f565b6000808361295e575060009050806129e5565b83851561298957600061297860016106ee60018a036125e2565b905061298581878761265f565b9150505b60006129a882612998896125e2565b600101549063ffffffff61315e16565b905060006129c9836129b98a6125e2565b600301549063ffffffff61315e16565b90506129d4826131f6565b6129dd826131f6565b945094505050505b935093915050565b60006108bb7f53797374656d537461747573000000000000000000000000000000000000000061323f565b60006108bb7f43726f7373436861696e4d616e6167657200000000000000000000000000000061323f565b600081612a625760405162461bcd60e51b815260040161068390614be3565b818381612a6b57fe5b069392505050565b60006108bb7f5065726946696e616e636553746174650000000000000000000000000000000061323f565b6002546040516001600160a01b039091169063907dff9790612ac4908490602001614a21565b6040516020818303038152906040526001604051612ae1906148fb565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612b2893929160009081908190600401614a6b565b600060405180830381600087803b158015612b4257600080fd5b505af115801561195e573d6000803e3d6000fd5b6002546001600160a01b03163314801590612b7c57506003546001600160a01b03163314155b8015612b9357506004546001600160a01b03163314155b156127ed57600480546001600160a01b03191633179055565b6000612bb6612a18565b6001600160a01b03166360b3a0336040518163ffffffff1660e01b815260040160206040518083038186803b158015612bee57600080fd5b505afa158015612c02573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108bb9190810190613ad0565b6000806000806000612c366128e1565b6001600160a01b0316632da4e97c88886040518363ffffffff1660e01b8152600401612c6392919061493d565b60c06040518083038186803b158015612c7b57600080fd5b505afa158015612c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612cb39190810190613c5f565b9550955050509350935060019450838311158015612cd15750808211155b15612ce057506107aa92505050565b6000612cf385600a63ffffffff6132e016565b90506000612d12612d05611f60613070565b849063ffffffff61315e16565b905081851180612d2157508084115b15612d2b57600096505b50505050505092915050565b60006108bb7f44656c6567617465417070726f76616c7300000000000000000000000000000061323f565b600080600080600080612d76876001612c26565b905080612d955760405162461bcd60e51b815260040161068390614c33565b612d9e876107b0565b909350915082151580612db15750600082115b612dcd5760405162461bcd60e51b815260040161068390614bd3565b612deb87612ddb60016125e2565b5467ffffffffffffffff16613337565b8215612e0657612dfa836133ea565b9350612e0687856134b1565b8115612e2157612e158261364d565b9450612e218786613723565b612e2c87858761379d565b5060019695505050505050565b6002546040516001600160a01b039091169063907dff9790612e6390869086908690602001614ce3565b6040516020818303038152906040526002604051612e80906148c5565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526124da9392916001600160a01b038b16906000908190600401614aca565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f72616765000000000000000000000000000000000081600081518110612f2057fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612f5f578160200160208202803883390190505b50905060005b8351811015612fa157838181518110612f7a57fe5b6020026020010151828281518110612f8e57fe5b6020908102919091010152600101612f65565b5060005b8251811015612fe457828181518110612fba57fe5b6020026020010151828286510181518110612fd157fe5b6020908102919091010152600101612fa5565b5092915050565b6002546001600160a01b0316331480159061301157506003546001600160a01b03163314155b801561302857506004546001600160a01b03163314155b1561304057600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146127ed5760405162461bcd60e51b815260040161068390614b93565b600061307a6132b5565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401612866929190614a3d565b60006130f16132b5565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401612866929190614a3d565b6000670de0b6b3a7640000613179848463ffffffff61386216565b8161318057fe5b049392505050565b6002546001600160a01b03163314806131ab57506003546001600160a01b031633145b6127ed5760405162461bcd60e51b815260040161068390614ca3565b600061065c82633b9aca0063ffffffff61386216565b600061279783836b033b2e3c9fd0803ce800000061389c565b60006305f5e10082046005600a82061061320e57600a015b600a900492915050565b60006108bb7f52657761726473446973747269627574696f6e000000000000000000000000005b60008181526007602090815260408083205490516001600160a01b03909116918215159161326f918691016148d0565b60405160208183030381529060405290612fe45760405162461bcd60e51b81526004016106839190614b12565b600061279783836b033b2e3c9fd0803ce80000006138d9565b60006108bb7f466c657869626c6553746f72616765000000000000000000000000000000000061323f565b6000600a82900a818185816132f157fe5b06111561330f5761330c84600a85900a63ffffffff61279e16565b93505b61332f81613323868263ffffffff61390b16565b9063ffffffff61386216565b949350505050565b61333f6125b7565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001613380929190614894565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b81526004016133b4929190614a3d565b600060405180830381600087803b1580156133ce57600080fd5b505af11580156133e2573d6000803e3d6000fd5b505050505050565b60008160015b60028110156134aa576000613404826125e2565b6002015490506000613419826124ad856125e2565b9050801561349f5760008482106134305784613432565b815b9050613444838263ffffffff61279e16565b61344d856125e2565b60020155613461858263ffffffff61260c16565b9450613473868263ffffffff61279e16565b955084613485575061065f9350505050565b831580156134935750600085115b1561349d57600094505b505b5050600019016133f0565b5050919050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef14156134ef5760405162461bcd60e51b815260040161068390614c83565b60006134f96128e1565b6001600160a01b03166357ad46636008546040518263ffffffff1660e01b81526004016135269190614a21565b60206040518083038186803b15801561353e57600080fd5b505afa158015613552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135769190810190613bf3565b6040517f9dc29fac0000000000000000000000000000000000000000000000000000000081529091506001600160a01b03821690639dc29fac906135d49073feefeefeefeefeefeefeefeefeefeefeefeefeef908790600401614973565b600060405180830381600087803b1580156135ee57600080fd5b505af1158015613602573d6000803e3d6000fd5b50506040517f867904b40000000000000000000000000000000000000000000000000000000081526001600160a01b038416925063867904b491506124da9087908790600401614973565b60008160015b60028110156134aa57600061368761366a836125e2565b60040154613677846125e2565b600301549063ffffffff61260c16565b9050801561371957600083821061369e57836136a0565b815b90506136bf816136af856125e2565b600401549063ffffffff61279e16565b6136c8846125e2565b600401556136dc848263ffffffff61260c16565b93506136ee858263ffffffff61279e16565b9450836136ff575061065f92505050565b8215801561370d5750600084115b1561371757600093505b505b5060001901613653565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef14156137615760405162461bcd60e51b815260040161068390614c83565b6301dfe20061376e613940565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b81526004016124da9392919061498e565b6002546040516001600160a01b039091169063907dff97906137c79086908690869060200161498e565b60405160208183030381529060405260016040516137e4906148ba565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16825261382b93929160009081908190600401614a6b565b600060405180830381600087803b15801561384557600080fd5b505af1158015613859573d6000803e3d6000fd5b50505050505050565b600082613871575060006107aa565b8282028284828161387e57fe5b04146127975760405162461bcd60e51b815260040161068390614c43565b600080600a83046138b3868663ffffffff61386216565b816138ba57fe5b0490506005600a825b06106138cd57600a015b600a9004949350505050565b6000806138ff846138f387600a870263ffffffff61386216565b9063ffffffff61390b16565b90506005600a826138c3565b600080821161392c5760405162461bcd60e51b815260040161068390614bc3565b600082848161393757fe5b04949350505050565b60006108bb7f526577617264457363726f77563200000000000000000000000000000000000061323f565b60405180604001604052806002905b6139826139f3565b81526020019060019003908161397a5790505090565b6040518060e00160405280600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356107aa81614e36565b80516107aa81614e36565b60008083601f840112613a3957600080fd5b50813567ffffffffffffffff811115613a5157600080fd5b602083019150836020820283011115613a6957600080fd5b9250929050565b80516107aa81614e4d565b80516107aa81614e56565b80516107aa81614e5f565b80356107aa81614e56565b80356107aa81614e68565b80516107aa81614e68565b600060208284031215613ac457600080fd5b600061332f8484613a11565b600060208284031215613ae257600080fd5b600061332f8484613a1c565b60008060408385031215613b0157600080fd5b6000613b0d8585613a11565b9250506020613b1e85828601613a91565b9150509250929050565b600080600060608486031215613b3d57600080fd5b6000613b498686613a11565b9350506020613b5a86828701613a91565b9250506040613b6b86828701613a91565b9150509250925092565b60008060208385031215613b8857600080fd5b823567ffffffffffffffff811115613b9f57600080fd5b613bab85828601613a27565b92509250509250929050565b600060208284031215613bc957600080fd5b600061332f8484613a70565b600060208284031215613be757600080fd5b600061332f8484613a7b565b600060208284031215613c0557600080fd5b600061332f8484613a86565b600060208284031215613c2357600080fd5b600061332f8484613a91565b60008060408385031215613c4257600080fd5b6000613c4e8585613a7b565b9250506020613b1e85828601613a7b565b60008060008060008060c08789031215613c7857600080fd5b6000613c848989613a7b565b9650506020613c9589828a01613a7b565b9550506040613ca689828a01613a7b565b9450506060613cb789828a01613a7b565b9350506080613cc889828a01613a7b565b92505060a0613cd989828a01613a7b565b9150509295509295509295565b600060208284031215613cf857600080fd5b600061332f8484613a9c565b600080600080600080600060e0888a031215613d1f57600080fd5b6000613d2b8a8a613aa7565b9750506020613d3c8a828b01613aa7565b9650506040613d4d8a828b01613aa7565b9550506060613d5e8a828b01613a7b565b9450506080613d6f8a828b01613a7b565b93505060a0613d808a828b01613a7b565b92505060c0613d918a828b01613a7b565b91505092959891949750929550565b6000613dac8383613e96565b505060400190565b6000613dc08383613eeb565b505060200190565b613dd181614dba565b82525050565b613dd181614d80565b613dd1613dec82614d80565b614e15565b613dfa81614d6d565b613e04818461065f565b9250613e0f826108be565b8060005b838110156133e2578151613e278782613da0565b9650613e3283614d67565b925050600101613e13565b6000613e4882614d73565b613e528185614d77565b9350613e5d83614d67565b8060005b83811015613e8b578151613e758882613db4565b9750613e8083614d67565b925050600101613e61565b509495945050505050565b613e9f81614d6d565b613ea9818461065f565b9250613eb4826108be565b8060005b838110156133e2578151613ecc8782613db4565b9650613ed783614d67565b925050600101613eb8565b613dd181614d8b565b613dd1816108be565b613dd1613f00826108be565b6108be565b6000613f1082614d73565b613f1a8185614d77565b9350613f2a818560208601614de9565b613f3381614e26565b9093019392505050565b613dd181614d90565b613dd181614dc5565b613dd181614dd3565b6000613f65602483614d77565b7f43616e6e6f74206265206d6f7265207468616e207468652063757272656e742081527f74696d6500000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613fc4602083614d77565b7f49737375657220616e64205065726946696e616e63655374617465206f6e6c79815260200192915050565b6000613ffd601783614d77565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b6000614036603583614d77565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000614095602983614d77565b7f646973747269627574696e672066656520726577617264206e6f74207965742081527f617661696c61626c650000000000000000000000000000000000000000000000602082015260400192915050565b60006140f4601d83614d77565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b600061412d603783614d77565b7f66656520726577617264732073686f756c64206265206469737472696275746581527f64206265666f726520636c6f73696e6720706572696f64000000000000000000602082015260400192915050565b600061418c601383614d77565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b60006141c560248361065f565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b600061422460378361065f565b7f49737375616e636544656274526174696f456e74727928616464726573732c7581527f696e743235362c75696e743235362c75696e7432353629000000000000000000602082015260370192915050565b6000614283601b83614d77565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006142bc601e83614d77565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006142f5601a83614d77565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061432e604083614d77565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b600061438d60118361065f565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b60006143c6601883614d77565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b60006143ff601f83614d77565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b6000614438601e83614d77565b7f43616c6c6572206973206e6f742072657761726473417574686f726974790000815260200192915050565b6000614471602483614d77565b7f50726576696f757320466565506f6f6c2061646472657373206d75737420626581527f2073657400000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006144d0602f83614d77565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b600061452f601f83614d77565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b6000614568602183614d77565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006145c7601d83614d77565b7f4578636565647320746865204645455f504552494f445f4c454e475448000000815260200192915050565b6000614600602983614d77565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b600061465f60198361065f565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614698601183614d77565b7f64656274206d616e61676572206f6e6c79000000000000000000000000000000815260200192915050565b60006146d1601783614d77565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b600061470a603a83614d77565b7f446973747269627574696e6720666565207265776172647320697320706f737381527f69626c65206f6e6c79206f6e636520696e206120706572696f64000000000000602082015260400192915050565b600061476960188361065f565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b60006147a2601783614d77565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b60006147db602083614d77565b7f43757272656e7420706572696f64206973206e6f7420636c6f73656420796574815260200192915050565b6000614814601b83614d77565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b600061484d602083614d77565b7f546f6c6572616e63652076616c75652063616e6e6f7420657863656564732031815260200192915050565b613dd181614dde565b613dd181614da7565b613dd181614db4565b60006148a08285613ef4565b6020820191506148b08284613de0565b5060140192915050565b60006107aa826141b8565b60006107aa82614217565b60006148db82614380565b91506148e78284613ef4565b50602001919050565b60006148db82614652565b60006107aa8261475c565b602081016107aa8284613dd7565b602081016107aa8284613dc8565b604081016149308285613dd7565b6127976020830184613dd7565b6040810161494b8285613dd7565b6127976020830184613ee2565b604081016149668285613dd7565b6127976020830184613f4f565b604081016149818285613dd7565b6127976020830184613eeb565b6060810161499c8286613dd7565b6149a96020830185613eeb565b61332f6040830184613eeb565b608081016149c48287613dd7565b6149d16020830186613eeb565b6149de6040830185613eeb565b6149eb6060830184614879565b95945050505050565b608081016107aa8284613df1565b602080825281016127978184613e3d565b602081016107aa8284613ee2565b602081016107aa8284613eeb565b604081016149308285613eeb565b604081016149818285613eeb565b60408101614a598285613eeb565b818103602083015261332f8184613f05565b60c08082528101614a7c8189613f05565b9050614a8b6020830188613f4f565b614a986040830187613eeb565b614aa56060830186613f46565b614ab26080830185613f46565b614abf60a0830184613f46565b979650505050505050565b60c08082528101614adb8189613f05565b9050614aea6020830188613f4f565b614af76040830187613eeb565b614aa56060830186613eeb565b602081016107aa8284613f3d565b602080825281016127978184613f05565b6020808252810161065c81613f58565b6020808252810161065c81613fb7565b6020808252810161065c81613ff0565b6020808252810161065c81614029565b6020808252810161065c81614088565b6020808252810161065c816140e7565b6020808252810161065c81614120565b6020808252810161065c8161417f565b6020808252810161065c81614276565b6020808252810161065c816142af565b6020808252810161065c816142e8565b6020808252810161065c81614321565b6020808252810161065c816143b9565b6020808252810161065c816143f2565b6020808252810161065c8161442b565b6020808252810161065c81614464565b6020808252810161065c816144c3565b6020808252810161065c81614522565b6020808252810161065c8161455b565b6020808252810161065c816145ba565b6020808252810161065c816145f3565b6020808252810161065c8161468b565b6020808252810161065c816146c4565b6020808252810161065c816146fd565b6020808252810161065c81614795565b6020808252810161065c816147ce565b6020808252810161065c81614807565b6020808252810161065c81614840565b6060810161499c8286613eeb565b60e08101614cff828a614882565b614d0c6020830189614882565b614d196040830188614882565b614d266060830187613eeb565b614d336080830186613eeb565b614d4060a0830185613eeb565b614d4d60c0830184613eeb565b98975050505050505050565b602081016107aa828461488b565b60200190565b50600290565b5190565b90815260200190565b600061065c82614d9b565b151590565b600061065c82614d80565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b600061065c82614d90565b600061065c613f00836108be565b600061065c826108be565b600061065c82614da7565b60005b83811015614e04578181015183820152602001614dec565b8381111561250d5750506000910152565b600061065c82600061065c82614e30565b601f01601f191690565b60601b90565b614e3f81614d80565b8114614e4a57600080fd5b50565b614e3f81614d8b565b614e3f816108be565b614e3f81614d90565b614e3f81614da756fea365627a7a72315820a79405170ede05ebd78cef8b44f99221b6c26dafe17a04b7d7a20a38a3e94e956c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						}
					],
					"name": "FeePeriodClosed",
					"type": "event",
					"signature": "0xe2ca356e01eb0a4bb7caaf07d472b7d687db156713ffc3111c758e9fe0a17ea7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "pUSDAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRewards",
							"type": "uint256"
						}
					],
					"name": "FeesClaimed",
					"type": "event",
					"signature": "0x1ac537f0ad67b64ac68a04587ff3a4cb6977de22eb2c37ee560897a92c6d07c7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodStartingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x28dcdf40e6b6196065d54760038ab1a8c0c1d9cfa58a99e6b0cb6022f7e24775"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86645274"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimFees",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd294f093"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "claimingForAddress",
							"type": "address"
						}
					],
					"name": "claimOnBehalf",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6466f45e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeCurrentFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ebc457a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "feeRewards",
							"type": "uint256[]"
						}
					],
					"name": "distributeFeeRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe10dab06"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "effectiveDebtRatioForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0813071c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "everDistributedFeeRewards",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6683051b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feeRewardsToBeAllocated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x62115496"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalRewards",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0de58615"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesByPeriod",
					"outputs": [
						{
							"internalType": "uint256[2][2]",
							"name": "results",
							"type": "uint256[2][2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x33140016"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_claimingAddress",
							"type": "address"
						}
					],
					"name": "getLastFeeWithdrawal",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x07ea50cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPenaltyThresholdRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac834193"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFeesClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "feesClaimable",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59a2f19f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "quotaTolerance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x446530d1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "recentFeePeriods",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "feePeriodId",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startingDebtIndex",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fcd2240"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "recordFeePaid",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x22bf55ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "prevFeePool",
							"type": "address"
						}
					],
					"name": "setInitialFeePeriods",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa4d1489f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_val",
							"type": "uint256"
						}
					],
					"name": "setQuotaTolerance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8844578a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint64",
							"name": "_startTime",
							"type": "uint64"
						}
					],
					"name": "setRecentPeriodStartTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4531a2e3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setRewardsToDistribute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd1f498d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalFeesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x569249d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalRewardsAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRewards",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6de813f1"
				}
			],
			"source": {
				"keccak256": "0x77bb52cfac7fc91a2a061a568a3b3e316e84836b9a57f195ea23fba792a94167",
				"urls": [
					"bzz-raw://76832d3edac05d34678a6b3655064c705356ad7fec6d390f1115932573d76933",
					"dweb:/ipfs/QmUfaSDkmQrWMo1eqQxGJ7KQZ9uwAmjA16RuxvAyRqyjo4"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePool.sol": "FeePool"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1500
					},
					"remappings": []
				},
				"sources": {
					"FeePool.sol": {
						"keccak256": "0x77bb52cfac7fc91a2a061a568a3b3e316e84836b9a57f195ea23fba792a94167",
						"urls": [
							"bzz-raw://76832d3edac05d34678a6b3655064c705356ad7fec6d390f1115932573d76933",
							"dweb:/ipfs/QmUfaSDkmQrWMo1eqQxGJ7KQZ9uwAmjA16RuxvAyRqyjo4"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610cba380380610cba8339818101604052604081101561003357600080fd5b50805160209091015162375f00826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b039290921691909117905550610b908061012a6000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80637de655451161008c578063ae2e933b11610066578063ae2e933b146102c5578063b326f84e146102cd578063cff2ddad146102f9578063d29c000a14610317576100df565b80637de65545146102405780638da5cb5b1461028557806394e1a4481461028d576100df565b806346ba2d90116100bd57806346ba2d90146101fa57806353a47bb71461021457806379ba509714610238576100df565b80631627540c146100e457806319db22281461010c57806339a3f63f14610132575b600080fd5b61010a600480360360208110156100fa57600080fd5b50356001600160a01b0316610343565b005b61010a6004803603602081101561012257600080fd5b50356001600160a01b03166103ac565b61010a6004803603608081101561014857600080fd5b81019060208101813564010000000081111561016357600080fd5b82018360208201111561017557600080fd5b8035906020019184602083028401116401000000008311171561019757600080fd5b9193909290916020810190356401000000008111156101b557600080fd5b8201836020820111156101c757600080fd5b803590602001918460208302840111640100000000831117156101e957600080fd5b9193509150803590602001356103e3565b6102026105cb565b60408051918252519081900360200190f35b61021c6105d1565b604080516001600160a01b039092168252519081900360200190f35b61010a6105e0565b61026c6004803603604081101561025657600080fd5b506001600160a01b0381351690602001356106a9565b6040805192835260208301919091528051918290030190f35b61021c6106d6565b61010a600480360360808110156102a357600080fd5b506001600160a01b0381351690602081013590604081013590606001356106e5565b61021c61077e565b61026c600480360360408110156102e357600080fd5b506001600160a01b03813516906020013561078d565b61030161082e565b6040805160ff9092168252519081900360200190f35b61026c6004803603604081101561032d57600080fd5b506001600160a01b038135169060200135610833565b61034b610916565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6103b4610916565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6103eb610916565b600254421061042b5760405162461bcd60e51b8152600401808060200182810382526029815260200180610b336029913960400191505060405180910390fd5b84831461047f576040805162461bcd60e51b815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b60005b858110156105c25784848281811061049657fe5b90506020020135600460008989858181106104ad57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002084600681106104e857fe5b600202015581600460008989858181106104fe57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020846006811061053957fe5b600202016001018190555086868281811061055057fe5b905060200201356001600160a01b03166001600160a01b03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea86868481811061059657fe5b9050602002013584604051808381526020018281526020019250505060405180910390a2600101610482565b50505050505050565b60025481565b6001546001600160a01b031681565b6001546001600160a01b031633146106295760405162461bcd60e51b8152600401808060200182810382526035815260200180610a7b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b600460205281600052604060002081600681106106c257fe5b600202018054600190910154909250905082565b6000546001600160a01b031681565b6003546001600160a01b0316331461072e5760405162461bcd60e51b8152600401808060200182810382526031815260200180610ad36031913960400191505060405180910390fd5b6001600160a01b03841660009081526004602052604090206001015481111561075a5761075a84610961565b506001600160a01b0392909216600090815260046020526040902090815560010155565b6003546001600160a01b031681565b600080600683106107cf5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ab06023913960400191505060405180910390fd5b6001600160a01b038416600090815260046020526040902083600681106107f257fe5b60020201546001600160a01b0385166000908152600460205260409020909250836006811061081d57fe5b600202016001015490509250929050565b600681565b60008061083e610a33565b6001600160a01b038516600090815260046020526040808220815160c081019092529091600690835b828210156108a3578382600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610867565b509293506000925050505b600681101561090c578181600681106108c357fe5b6020020151602001518510610904578181600681106108de57fe5b6020020151518282600681106108f057fe5b60200201516020015193509350505061090f565b6001016108ae565b50505b9250929050565b6000546001600160a01b0316331461095f5760405162461bcd60e51b815260040180806020018281038252602f815260200180610b04602f913960400191505060405180910390fd5b565b60045b6006811015610a2f576001600160a01b03821660009081526004602052604090206001820190826006811061099557fe5b60020201546001600160a01b038416600090815260046020526040902082600681106109bd57fe5b60020201556001600160a01b038316600090815260046020526040902082600681106109e557fe5b600202016001015460046000856001600160a01b03166001600160a01b031681526020019081526020016000208260068110610a1d57fe5b60020201600101555060001901610964565b5050565b6040518060c001604052806006905b610a4a610a60565b815260200190600190039081610a425790505090565b60405180604001604052806000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970696e646578206578636565647320746865204645455f504552494f445f4c454e4754484f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a723158203e53c6fdea5c22516b41fb94c6f6d679ea18d4c0c6a1e4ef781289538416fa9f64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountIssuanceLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7de65545"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "currentPeriodStartDebtIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94e1a448"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "closingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "applicableIssuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd29c000a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getAccountsDebtEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb326f84e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "ratios",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "periodToInsert",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "importIssuerData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x39a3f63f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				}
			],
			"source": {
				"keccak256": "0xb9399802cd2569447279bc6f7030437d196a5befb9eeed9632099193534e7c4e",
				"urls": [
					"bzz-raw://f2dbc66e63699d2a85169bea3cdf22f334f19f8a1fbd05ed09a33e34fab25454",
					"dweb:/ipfs/QmQzMaRzhZ6xKwnBBfJ95TkvFgN6eybMDnsg9urDSPTbvT"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolState.sol": "FeePoolState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"FeePoolState.sol": {
						"keccak256": "0xb9399802cd2569447279bc6f7030437d196a5befb9eeed9632099193534e7c4e",
						"urls": [
							"bzz-raw://f2dbc66e63699d2a85169bea3cdf22f334f19f8a1fbd05ed09a33e34fab25454",
							"dweb:/ipfs/QmQzMaRzhZ6xKwnBBfJ95TkvFgN6eybMDnsg9urDSPTbvT"
						]
					}
				},
				"version": 1
			}
		},
		"RewardsDistribution": {
			"bytecode": "608060405234801561001057600080fd5b50604051611357380380611357833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b0319918216179091556003805494861694821694909417909355600480549285169284169290921790915560058054919093169116179055506111f2806101656000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c8063817a6951116100b2578063c1b7ca1111610081578063d12a701d11610066578063d12a701d146102f5578063d8297e44146102fd578063e54c16711461032357610136565b8063c1b7ca11146102c7578063c9e9cc4d146102ed57610136565b8063817a6951146102925780638da5cb5b146102af578063a430be6c146102b7578063bf7e214f146102bf57610136565b806359974e381161010957806360eb3ff2116100ee57806360eb3ff21461023857806379ba5097146102645780637a9e5e4b1461026c57610136565b806359974e38146101e15780635de399341461021257610136565b8063060ca2501461013b5780631627540c146101555780634487d3df1461017d57806353a47bb7146101bd575b600080fd5b610143610355565b60408051918252519081900360200190f35b61017b6004803603602081101561016b57600080fd5b50356001600160a01b031661035c565b005b61019a6004803603602081101561019357600080fd5b50356103b8565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101c56103ed565b604080516001600160a01b039092168252519081900360200190f35b6101fe600480360360208110156101f757600080fd5b50356103fc565b604080519115158252519081900360200190f35b61017b6004803603602081101561022857600080fd5b50356001600160a01b0316610ad0565b6101fe6004803603604081101561024e57600080fd5b506001600160a01b038135169060200135610afa565b61017b610ca4565b61017b6004803603602081101561028257600080fd5b50356001600160a01b0316610d60565b61017b600480360360208110156102a857600080fd5b5035610d8a565b6101c5610e7f565b6101c5610e8e565b6101c5610e9d565b61017b600480360360208110156102dd57600080fd5b50356001600160a01b0316610eac565b6101c5610ed6565b6101c5610ee5565b61017b6004803603602081101561031357600080fd5b50356001600160a01b0316610ef4565b6101fe6004803603606081101561033957600080fd5b508035906001600160a01b036020820135169060400135610f1e565b6006545b90565b610364610ff4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600681815481106103c557fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b6000808211610452576040805162461bcd60e51b815260206004820152601560248201527f4e6f7468696e6720746f20646973747269627574650000000000000000000000604482015290519081900360640190fd5b6002546001600160a01b031633146104b1576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b031661050e576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b031661056b576040805162461bcd60e51b815260206004820152601b60248201527f5065726946696e616e636550726f7879206973206e6f74207365740000000000604482015290519081900360640190fd5b6005546001600160a01b03166105c8576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561062b57600080fd5b505afa15801561063f573d6000803e3d6000fd5b505050506040513d602081101561065557600080fd5b505110156106945760405162461bcd60e51b81526004018080602001828103825260468152602001806111496046913960600191505060405180910390fd5b8160005b6006548110156109755760006001600160a01b0316600682815481106106ba57fe5b60009182526020909120600290910201546001600160a01b03161415806107005750600681815481106106e957fe5b906000526020600020906002020160010154600014155b1561096d576107366006828154811061071557fe5b9060005260206000209060020201600101548361103f90919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb91908490811061075d57fe5b6000918252602090912060029091020154600680546001600160a01b03909216918590811061078857fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107e957600080fd5b505af11580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b505060068054606091908390811061082757fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3c6b16ab000000000000000000000000000000000000000000000000000000001790526006805491935090849081106108b357fe5b60009182526020918290206002909102015460405184516001600160a01b0390921692859282918401908083835b602083106109005780518252601f1990920191602091820191016108e1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610962576040519150601f19603f3d011682016040523d82523d6000602084013e610967565b606091505b50505050505b600101610698565b5060035460048054604080517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b1580156109e957600080fd5b505af11580156109fd573d6000803e3d6000fd5b505050506040513d6020811015610a1357600080fd5b5050600554604080517ffd1f498d0000000000000000000000000000000000000000000000000000000081526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b158015610a7b57600080fd5b505af1158015610a8f573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b610ad8610ff4565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b04610ff4565b6001600160a01b038316610b5f576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610bb1576040805162461bcd60e51b815260206004820152601660248201527f43616e74206164642061207a65726f20616d6f756e7400000000000000000000604482015290519081900360640190fd5b610bb961109c565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610ced5760405162461bcd60e51b81526004018080602001828103825260358152602001806111146035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610d68610ff4565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610d92610ff4565b60065460001901811115610ded576040805162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e647300000000000000000000000000604482015290519081900360640190fd5b805b60065460001901811015610e675760068160010181548110610e0d57fe5b906000526020600020906002020160068281548110610e2857fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610def565b506006805490610e7b9060001983016110b3565b5050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6002546001600160a01b031681565b610eb4610ff4565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031681565b6003546001600160a01b031681565b610efc610ff4565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610f28610ff4565b60065460001901841115610f83576040805162461bcd60e51b815260206004820152601360248201527f696e646578206f7574206f6620626f756e647300000000000000000000000000604482015290519081900360640190fd5b8260068581548110610f9157fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160068581548110610fd457fe5b906000526020600020906002020160010181905550600190509392505050565b6000546001600160a01b0316331461103d5760405162461bcd60e51b815260040180806020018281038252602f81526020018061118f602f913960400191505060405180910390fd5b565b600082821115611096576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b8154818355818111156110df576002028160020283600052602060002091820191016110df91906110e4565b505050565b61035991905b8082111561110f5780546001600160a01b0319168155600060018201556002016110ea565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820761a8672d419b5eb0cb140b10e94245b6ef9e7b996520768b089a23c61c513ec64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_periFinanceProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardDistributionAdded",
					"type": "event",
					"signature": "0x08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardsDistributed",
					"type": "event",
					"signature": "0x6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be442"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "addRewardDistribution",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x60eb3ff2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "authority",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbf7e214f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "distributeRewards",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59974e38"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "distributions",
					"outputs": [
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4487d3df"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "distributionsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x060ca250"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "editRewardDistribution",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe54c1671"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePoolProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9e9cc4d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinanceProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd12a701d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "removeRewardDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x817a6951"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardEscrow",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa430be6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						}
					],
					"name": "setAuthority",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7a9e5e4b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"name": "setFeePoolProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8297e44"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_periFinanceProxy",
							"type": "address"
						}
					],
					"name": "setPeriFinanceProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc1b7ca11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						}
					],
					"name": "setRewardEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5de39934"
				}
			],
			"source": {
				"keccak256": "0x30b9c967b75dcf910892af06c9e88e3d19580d0a06861bf264bfc26f7ee64888",
				"urls": [
					"bzz-raw://a954fefc177a81d3e5c0eedae1d73168dc09d87c20b6d1315f35548bdff71d7f",
					"dweb:/ipfs/QmY8Gw78yduQsMNNLP8g8DyrbyjdfSnBWbRFPgLePuQsCB"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardsDistribution.sol": "RewardsDistribution"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"RewardsDistribution.sol": {
						"keccak256": "0x30b9c967b75dcf910892af06c9e88e3d19580d0a06861bf264bfc26f7ee64888",
						"urls": [
							"bzz-raw://a954fefc177a81d3e5c0eedae1d73168dc09d87c20b6d1315f35548bdff71d7f",
							"dweb:/ipfs/QmY8Gw78yduQsMNNLP8g8DyrbyjdfSnBWbRFPgLePuQsCB"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyERC20": {
			"bytecode": "608060405234801561001057600080fd5b506040516110903803806110908339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610f94806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610661565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610768565b005b34801561029457600080fd5b5061029d6107d1565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610860565b3480156102fe57600080fd5b50610307610970565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b506103326109ce565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b03166109dd565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b0316610a79565b3480156103c057600080fd5b50610286610ae2565b3480156103d557600080fd5b50610332610bab565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610bba565b34801561047f57600080fd5b50610191610ccc565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610d2a565b3480156104cd57600080fd5b50610332610dfc565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610e0b565b600254604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561056f57600080fd5b505afa158015610583573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156105ac57600080fd5b81019080805160405193929190846401000000008211156105cc57600080fd5b9083019060208201858111156105e157600080fd5b82516401000000008111828201881017156105fb57600080fd5b82525081516020918201929091019080838360005b83811015610628578181015183820152602001610610565b50505050905090810190601f1680156106555780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b1580156106ac57600080fd5b505af11580156106c0573d6000803e3d6000fd5b5050600254604080517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561073357600080fd5b505af1158015610747573d6000803e3d6000fd5b505050506040513d602081101561075d57600080fd5b506001949350505050565b610770610eb0565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561082f57600080fd5b505afa158015610843573d6000803e3d6000fd5b505050506040513d602081101561085957600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b1580156108ab57600080fd5b505af11580156108bf573d6000803e3d6000fd5b5050600254604080517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b15801561093a57600080fd5b505af115801561094e573d6000803e3d6000fd5b505050506040513d602081101561096457600080fd5b50600195945050505050565b600254604080517f313ce56700000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561082f57600080fd5b6001546001600160a01b031681565b600254604080517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a4757600080fd5b505afa158015610a5b573d6000803e3d6000fd5b505050506040513d6020811015610a7157600080fd5b505192915050565b610a81610eb0565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610b2b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610efc6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610c19576040805162461bcd60e51b815260206004820152601460248201527f4d7573742062652070726f787920746172676574000000000000000000000000604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610c835760018114610c8e5760028114610c9a5760038114610ca75760048114610cb557610cc0565b8260208301a0610cc0565b868360208401a1610cc0565b85878460208501a2610cc0565b8486888560208601a3610cc0565b838587898660208701a45b50505050505050505050565b600254604080517f95d89b4100000000000000000000000000000000000000000000000000000000815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561056f57600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610d7557600080fd5b505af1158015610d89573d6000803e3d6000fd5b5050600254604080517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561073357600080fd5b6002546001600160a01b031681565b600254604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610e7d57600080fd5b505afa158015610e91573d6000803e3d6000fd5b505050506040513d6020811015610ea757600080fd5b50519392505050565b6000546001600160a01b03163314610ef95760405162461bcd60e51b815260040180806020018281038252602f815260200180610f31602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820e9e23276b1fafb6f9aab6dc323d672a73d133392fa23218282691d5cf1ccc11664736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				}
			],
			"source": {
				"keccak256": "0xc7f4e6f1557878a0b3d3b6f6f771dd269a57e29ae448b4a9d0fee9eafa692a29",
				"urls": [
					"bzz-raw://f779a92ce9f23b92cacbdca8a66458293b8d0dd1d16c2624fc5f8e9435e17995",
					"dweb:/ipfs/QmNpcUb14feuVdM9XbmoFJWAjRLKX7eTprH9WenBCnw22C"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ProxyERC20.sol": "ProxyERC20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"ProxyERC20.sol": {
						"keccak256": "0xc7f4e6f1557878a0b3d3b6f6f771dd269a57e29ae448b4a9d0fee9eafa692a29",
						"urls": [
							"bzz-raw://f779a92ce9f23b92cacbdca8a66458293b8d0dd1d16c2624fc5f8e9435e17995",
							"dweb:/ipfs/QmNpcUb14feuVdM9XbmoFJWAjRLKX7eTprH9WenBCnw22C"
						]
					}
				},
				"version": 1
			}
		},
		"TokenState": {
			"bytecode": "608060405234801561001057600080fd5b506040516107a43803806107a48339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105fe806101a66000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80638da5cb5b11610076578063b46310f61161005b578063b46310f614610185578063da46098c146101b1578063dd62ed3e146101e7576100be565b80638da5cb5b14610175578063aefc4ccb1461017d576100be565b806353a47bb7116100a757806353a47bb71461011157806370a082311461013557806379ba50971461016d576100be565b80631627540c146100c357806352f445ca146100eb575b600080fd5b6100e9600480360360208110156100d957600080fd5b50356001600160a01b0316610215565b005b6100e96004803603602081101561010157600080fd5b50356001600160a01b031661027e565b6101196102e7565b604080516001600160a01b039092168252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b03166102f6565b60408051918252519081900360200190f35b6100e9610308565b6101196103d1565b6101196103e0565b6100e96004803603604081101561019b57600080fd5b506001600160a01b0381351690602001356103ef565b6100e9600480360360608110156101c757600080fd5b506001600160a01b03813581169160208101359091169060400135610454565b61015b600480360360408110156101fd57600080fd5b506001600160a01b03813581169160200135166104c9565b61021d6104e6565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6102866104e6565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103515760405162461bcd60e51b81526004018080602001828103825260358152602001806105326035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146104385760405162461bcd60e51b81526004018080602001828103825260348152602001806105966034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b0316331461049d5760405162461bcd60e51b81526004018080602001828103825260348152602001806105966034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b0316331461052f5760405162461bcd60e51b815260040180806020018281038252602f815260200180610567602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820169c4eecbaa71dcff2fc0081fcb58f2159774a8b52ee8e572ac5f81eea87424064736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenOwner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setAllowance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xda46098c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setBalanceOf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb46310f6"
				}
			],
			"source": {
				"keccak256": "0x3f14e6166fe51fd37f1007318b3bc58541fe01e78aecc945bad7dd32aba8f955",
				"urls": [
					"bzz-raw://a43dea33b593e303a42d5782ba5c8e46b098612f67c8a157c7dd0eb5f093414f",
					"dweb:/ipfs/QmdCuYkLEyAwrJX5NeMceaGyUa5ZT5rz4emAnEbKZvRnCy"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TokenState.sol": "TokenState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"TokenState.sol": {
						"keccak256": "0x3f14e6166fe51fd37f1007318b3bc58541fe01e78aecc945bad7dd32aba8f955",
						"urls": [
							"bzz-raw://a43dea33b593e303a42d5782ba5c8e46b098612f67c8a157c7dd0eb5f093414f",
							"dweb:/ipfs/QmdCuYkLEyAwrJX5NeMceaGyUa5ZT5rz4emAnEbKZvRnCy"
						]
					}
				},
				"version": 1
			}
		},
		"BlacklistManager": {
			"bytecode": "608060405234801561001057600080fd5b5060405161072d38038061072d8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050610633806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80637fc4261511610076578063a39fac121161005b578063a39fac1214610150578063b563545f146101a8578063cb2505cf146101c5576100a3565b80637fc42615146101225780638da5cb5b14610148576100a3565b80631627540c146100a85780632c272456146100d057806353a47bb7146100f657806379ba50971461011a575b600080fd5b6100ce600480360360208110156100be57600080fd5b50356001600160a01b03166101ff565b005b6100ce600480360360208110156100e657600080fd5b50356001600160a01b0316610268565b6100fe6102b9565b604080516001600160a01b039092168252519081900360200190f35b6100ce6102c8565b6100ce6004803603602081101561013857600080fd5b50356001600160a01b0316610391565b6100fe6104a2565b6101586104b1565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019457818101518382015260200161017c565b505050509050019250505060405180910390f35b6100fe600480360360208110156101be57600080fd5b5035610513565b6101eb600480360360208110156101db57600080fd5b50356001600160a01b031661053a565b604080519115158252519081900360200190f35b61020761054f565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61027061054f565b6001600160a01b038116600081815260026020526040808220805460ff19169055517f7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b9190a250565b6001546001600160a01b031681565b6001546001600160a01b031633146103115760405162461bcd60e51b815260040180806020018281038252603581526020018061059b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b61039961054f565b6001600160a01b0381166000908152600260205260408120805460ff19166001179055805b60035481101561040b57826001600160a01b0316600382815481106103df57fe5b6000918252602090912001546001600160a01b03161415610403576001915061040b565b6001016103be565b508061046a57600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790555b6040516001600160a01b038316907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a25050565b6000546001600160a01b031681565b6060600380548060200260200160405190810160405280929190818152602001828054801561050957602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104eb575b5050505050905090565b6003818154811061052057fe5b6000918252602090912001546001600160a01b0316905081565b60026020526000908152604090205460ff1681565b6000546001600160a01b031633146105985760405162461bcd60e51b815260040180806020018281038252602f8152602001806105d0602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158207a00b9ad3fa195b1e356e54e336b8511081bc8797a57a64b7c85b8350671e90764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "Blacklisted",
					"type": "event",
					"signature": "0xffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b855"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "Unblacklisted",
					"type": "event",
					"signature": "0x7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "flagAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7fc42615"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "flagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcb2505cf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getAddresses",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa39fac12"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "listedAddresses",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb563545f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "unflagAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2c272456"
				}
			],
			"source": {
				"keccak256": "0x1d16af817bb75e25e423f8a2393bb8aa1874d86da4c2e8c3b5e5efc339882d4b",
				"urls": [
					"bzz-raw://6ad0908c5b42f6bb41b114c67c706a7c2d9164068b10123bff2b2f1fc0d8cb33",
					"dweb:/ipfs/QmfEau2y32w64fmrBhp5symStJmQoUxhhzPMBjypjVmHrZ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BlacklistManager.sol": "BlacklistManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"BlacklistManager.sol": {
						"keccak256": "0x1d16af817bb75e25e423f8a2393bb8aa1874d86da4c2e8c3b5e5efc339882d4b",
						"urls": [
							"bzz-raw://6ad0908c5b42f6bb41b114c67c706a7c2d9164068b10123bff2b2f1fc0d8cb33",
							"dweb:/ipfs/QmfEau2y32w64fmrBhp5symStJmQoUxhhzPMBjypjVmHrZ"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinance": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005ff538038062005ff583398101604081905262000034916200033b565b878787878786818686604051806040016040528060128152602001712832b934902334b730b731b2902a37b5b2b760711b815250604051806040016040528060048152602001635045524960e01b8152508760128a868160006001600160a01b0316816001600160a01b03161415620000ca5760405162461bcd60e51b8152600401620000c190620004ca565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200011791849062000492565b60405180910390a1506000546001600160a01b03166200014b5760405162461bcd60e51b8152600401620000c190620004b8565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200019890839062000482565b60405180910390a150600580546001600160a01b0319166001600160a01b0388161790558451620001d190600690602088019062000269565b508351620001e790600790602087019062000269565b50506008919091556009805460ff191660ff9092169190911790555050600b80546001600160a01b03199081166001600160a01b0395861617909155600d80548216958516959095179094555050600e805483169a82169a909a1790995560108054909116969098169590951790965550620005489950505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002ac57805160ff1916838001178555620002dc565b82800160010185558215620002dc579182015b82811115620002dc578251825591602001919060010190620002bf565b50620002ea929150620002ee565b5090565b6200030b91905b80821115620002ea5760008155600101620002f5565b90565b80516200031b8162000518565b92915050565b80516200031b8162000532565b80516200031b816200053d565b600080600080600080600080610100898b0312156200035957600080fd5b6000620003678b8b6200030e565b98505060206200037a8b828c0162000321565b97505060406200038d8b828c016200030e565b9650506060620003a08b828c016200032e565b9550506080620003b38b828c016200030e565b94505060a0620003c68b828c016200030e565b93505060c0620003d98b828c016200030e565b92505060e0620003ec8b828c016200030e565b9150509295985092959890939650565b62000407816200050b565b82525050565b6200040781620004e5565b600062000427601183620004dc565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000456601983620004dc565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200031b8284620003fc565b60408101620004a28285620003fc565b620004b160208301846200040d565b9392505050565b602080825281016200031b8162000418565b602080825281016200031b8162000447565b90815260200190565b60006200031b82620004ff565b60006200031b82620004e5565b6001600160a01b031690565b60006200031b82620004f2565b6200052381620004e5565b81146200052f57600080fd5b50565b6200052381620004f2565b62000523816200030b565b615a9d80620005586000396000f3fe6080604052600436106104d15760003560e01c806391e56b6811610279578063d37c4d8b1161015e578063e22760f7116100d6578063ec5568891161008a578063ee52a2f31161006f578063ee52a2f314610cd5578063f084219e14610cf5578063f9eea80c14610d0a576104d1565b8063ec55688914610cc0578063edef719a146107f9576104d1565b8063e6203ed1116100bb578063e6203ed114610c76578063e90dd9e214610c96578063e9fad8ee14610cab576104d1565b8063e22760f714610c41578063e3c3af9814610c56576104d1565b8063d8a1f76f1161012d578063dd62ed3e11610112578063dd62ed3e14610be1578063ddd03a3f14610c01578063e12c4cea14610c21576104d1565b8063d8a1f76f14610bac578063d9dbf65714610bcc576104d1565b8063d37c4d8b14610b37578063d3a7120214610b57578063d67bdd2514610b77578063d6980ba114610b8c576104d1565b8063a311c7c2116101f1578063ace88afd116101c0578063bc67f832116101a5578063bc67f83214610ac9578063becf5ff814610ae9578063c836fa0a14610b17576104d1565b8063ace88afd14610aa1578063af5a5e4c14610ac1576104d1565b8063a311c7c214610a21578063a56c62cf14610a41578063a5fdc5de14610a61578063a9059cbb14610a81576104d1565b806397107d6d116102485780639a26669e1161022d5780639a26669e146109d95780639cbdaeb6146109ec5780639f76980714610a01576104d1565b806397107d6d14610999578063987757dd146109b9576104d1565b806391e56b681461092457806392d5011f14610944578063945d12291461096457806395d89b4114610984576104d1565b8063313ce567116103ba5780636f01a98611610332578063842efb01116102e6578063899ffef4116102cb578063899ffef4146108d85780638da5cb5b146108fa5780638e2ac0ea1461090f576104d1565b8063842efb011461089857806385d18d36146108b8576104d1565b80637418536011610317578063741853601461085957806379ba50971461086e5780637a725c6814610883576104d1565b80636f01a9861461081957806370a0823114610839576104d1565b806350d0573c1161038957806353a47bb71161036e57806353a47bb7146107c457806355182ccb146107d9578063666ed4f1146107f9576104d1565b806350d0573c1461079c578063534f079c146107a4576104d1565b8063313ce56714610723578063321ea17c146107385780633b09280a1461074d57806340c10f191461077c576104d1565b80631b99084c1161044d5780632a9053181161041c5780632bc93ad6116104015780632bc93ad6146106b45780632e0f2625146106e157806330ead76014610703576104d1565b80632a9053181461068a5780632af64bd31461069f576104d1565b80631b99084c146106175780631fce304d146106375780632190764c1461065757806323b872dd1461066a576104d1565b80630e30963c116104a45780631627540c116104895780631627540c146105c057806318160ddd146105e05780631882140014610602576104d1565b80630e30963c14610572578063131b0ae7146105a0576104d1565b806304f3bcec146104d657806306fdde0314610501578063095ea7b3146105235780630a057b7614610550575b600080fd5b3480156104e257600080fd5b506104eb610d1f565b6040516104f89190615745565b60405180910390f35b34801561050d57600080fd5b50610516610d2e565b6040516104f89190615753565b34801561052f57600080fd5b5061054361053e36600461447d565b610dbc565b6040516104f891906155ef565b34801561055c57600080fd5b5061057061056b36600461474e565b610e63565b005b34801561057e57600080fd5b5061059261058d3660046147e2565b610f15565b6040516104f89291906158e4565b3480156105ac57600080fd5b506105706105bb36600461438a565b610f29565b3480156105cc57600080fd5b506105706105db36600461438a565b610f53565b3480156105ec57600080fd5b506105f5610fb1565b6040516104f891906155fd565b34801561060e57600080fd5b50610516610fb7565b34801561062357600080fd5b506105706106323660046145c7565b610ff0565b34801561064357600080fd5b5061054361065236600461470f565b6110b2565b61057061066536600461438a565b611160565b34801561067657600080fd5b50610543610685366004614400565b6111d0565b34801561069657600080fd5b5061051661122e565b3480156106ab57600080fd5b50610543611267565b3480156106c057600080fd5b506106d46106cf36600461470f565b611398565b6040516104f891906153a7565b3480156106ed57600080fd5b506106f66113a3565b6040516104f8919061591b565b34801561070f57600080fd5b506105f561071e36600461476d565b6113a8565b34801561072f57600080fd5b506106f6611490565b34801561074457600080fd5b506106d4611499565b34801561075957600080fd5b5061076d61076836600461438a565b6114a8565b6040516104f89392919061590d565b34801561078857600080fd5b5061054361079736600461447d565b61153d565b6105706116a8565b3480156107b057600080fd5b506105706107bf36600461474e565b61171f565b3480156107d057600080fd5b506106d461179a565b3480156107e557600080fd5b506105f56107f436600461438a565b6117a9565b34801561080557600080fd5b5061057061081436600461447d565b611837565b34801561082557600080fd5b506105706108343660046144ad565b611843565b34801561084557600080fd5b506105f561085436600461438a565b6118c5565b34801561086557600080fd5b50610570611946565b34801561087a57600080fd5b50610570611a98565b34801561088f57600080fd5b50610543611b34565b3480156108a457600080fd5b506105706108b336600461438a565b611f23565b3480156108c457600080fd5b506105706108d336600461470f565b611f4d565b3480156108e457600080fd5b506108ed611ffc565b6040516104f891906155de565b34801561090657600080fd5b506106d4612115565b34801561091b57600080fd5b50610570612124565b34801561093057600080fd5b506105f561093f366004614540565b61219b565b34801561095057600080fd5b5061057061095f36600461444d565b612285565b34801561097057600080fd5b5061057061097f36600461438a565b6122b8565b34801561099057600080fd5b506105166122e2565b3480156109a557600080fd5b506105706109b436600461438a565b61233d565b3480156109c557600080fd5b5061076d6109d436600461470f565b612390565b6105706109e73660046148a0565b612466565b3480156109f857600080fd5b506104eb61275f565b348015610a0d57600080fd5b50610570610a1c366004614804565b61276e565b348015610a2d57600080fd5b506105f5610a3c36600461438a565b61279d565b348015610a4d57600080fd5b50610570610a5c36600461438a565b6127d2565b348015610a6d57600080fd5b506105f5610a7c36600461438a565b612822565b348015610a8d57600080fd5b50610543610a9c36600461447d565b612857565b348015610aad57600080fd5b50610570610abc3660046144ad565b6128b9565b610570612906565b348015610ad557600080fd5b50610570610ae436600461438a565b612adb565b348015610af557600080fd5b50610b09610b0436600461438a565b612b05565b6040516104f8929190615634565b348015610b2357600080fd5b506105f5610b323660046144df565b612b94565b348015610b4357600080fd5b506105f5610b5236600461447d565b612c22565b348015610b6357600080fd5b506105f5610b7236600461470f565b612cb0565b348015610b8357600080fd5b506106d4612d37565b348015610b9857600080fd5b506105f5610ba736600461470f565b612d46565b348015610bb857600080fd5b50610570610bc736600461470f565b612d7e565b348015610bd857600080fd5b506104eb612d86565b348015610bed57600080fd5b506105f5610bfc3660046143c6565b612d95565b348015610c0d57600080fd5b50610570610c1c36600461472d565b612dc8565b348015610c2d57600080fd5b50610570610c3c36600461438a565b612e5c565b348015610c4d57600080fd5b506106d4612e86565b348015610c6257600080fd5b506105f5610c7136600461438a565b612e95565b348015610c8257600080fd5b50610543610c9136600461447d565b612f47565b348015610ca257600080fd5b506104eb613050565b348015610cb757600080fd5b5061057061305f565b348015610ccc57600080fd5b506104eb6130d6565b348015610ce157600080fd5b506105f5610cf036600461472d565b6130e5565b348015610d0157600080fd5b506106d46131c7565b348015610d1657600080fd5b506105f56131d6565b600b546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610db45780601f10610d8957610100808354040283529160200191610db4565b820191906000526020600020905b815481529060010190602001808311610d9757829003601f168201915b505050505081565b6000610dc66131fa565b600480546005546040517fda46098c0000000000000000000000000000000000000000000000000000000081526001600160a01b0392831693919092169163da46098c91610e1a91859189918991016154a3565b600060405180830381600087803b158015610e3457600080fd5b505af1158015610e48573d6000803e3d6000fd5b50505050610e57818585613251565b60019150505b92915050565b610e6b6132d1565b610e736131fa565b6004546001600160a01b0316610e888161332b565b610e90613409565b600480546040517f6ac471c40000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693636ac471c493610ede939091169188918891016154d9565b600060405180830381600087803b158015610ef857600080fd5b505af1158015610f0c573d6000803e3d6000fd5b50505050505050565b600080610f20613422565b94509492505050565b610f3161343a565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610f5b61343a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610fa69083906153a7565b60405180910390a150565b60085481565b6040518060400160405280601281526020017f506572692046696e616e636520546f6b656e000000000000000000000000000081525081565b610ff8613464565b6002546040516001600160a01b039091169063907dff97906110269088908890889088908890602001615662565b60405160208183030381529060405260026040516110439061532f565b60405180910390206110548b61349c565b6000806040518763ffffffff1660e01b8152600401611078969594939291906156c4565b600060405180830381600087803b15801561109257600080fd5b505af11580156110a6573d6000803e3d6000fd5b50505050505050505050565b6000806110bd6134a8565b600480546040517f059c29ec0000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363059c29ec9361110993909116918891016154cb565b60206040518083038186803b15801561112157600080fd5b505afa158015611135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111599190810190614822565b1192915050565b61116861343a565b611170613409565b6001600160a01b03166394955cec826040518263ffffffff1660e01b815260040161119b91906153a7565b600060405180830381600087803b1580156111b557600080fd5b505af11580156111c9573d6000803e3d6000fd5b5050505050565b60006111da6131fa565b6111e26134bf565b6004546001600160a01b03166111f78161332b565b846112018161332b565b61120b86856134ff565b50600454611224906001600160a01b03168787876136dd565b9695505050505050565b6040518060400160405280600481526020017f504552490000000000000000000000000000000000000000000000000000000081525081565b60006060611273611ffc565b905060005b815181101561138e57600082828151811061128f57fe5b6020908102919091018101516000818152600c90925260409182902054600b5492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a721906112f99085906004016155fd565b60206040518083038186803b15801561131157600080fd5b505afa158015611325573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061134991908101906143a8565b6001600160a01b031614158061137457506000818152600c60205260409020546001600160a01b0316155b156113855760009350505050611395565b50600101611278565b5060019150505b90565b6000610e5d826137e4565b601281565b600085846113b68282613841565b6113be6131fa565b6004546001600160a01b03166113d38161332b565b6113db6134a8565b600480546040517f86baa45c0000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936386baa45c9361143193909116918e918e918e9185918f918f9101615536565b602060405180830381600087803b15801561144b57600080fd5b505af115801561145f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114839190810190614822565b9998505050505050505050565b60095460ff1681565b600f546001600160a01b031681565b60008060006114b5613409565b6001600160a01b0316633b09280a856040518263ffffffff1660e01b81526004016114e091906153a7565b60606040518083038186803b1580156114f857600080fd5b505afa15801561150c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061153091908101906148e3565b9250925092509193909250565b60006115476131fa565b600e546001600160a01b03166115785760405162461bcd60e51b815260040161156f90615834565b60405180910390fd5b600454600e546001600160a01b039081169116146115a85760405162461bcd60e51b815260040161156f90615814565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f690859061164490869085906370a08231906115e89086906004016153a7565b60206040518083038186803b15801561160057600080fd5b505afa158015611614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116389190810190614822565b9063ffffffff6138a216565b6040518363ffffffff1660e01b81526004016116619291906154cb565b600060405180830381600087803b15801561167b57600080fd5b505af115801561168f573d6000803e3d6000fd5b5050505061169f600084846138c7565b50600192915050565b6116b06132d1565b6116b86131fa565b6004546001600160a01b03166116cd8161332b565b6116d5613409565b600480546040517f94955cec0000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936394955cec9361119b9390911691016153a7565b6117276132d1565b61172f6131fa565b6004546001600160a01b03166117448161332b565b61174c613409565b600480546040517f08f95a620000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936308f95a6293610ede939091169188918891016154d9565b6001546001600160a01b031681565b60006117b3613409565b6001600160a01b03166355182ccb836040518263ffffffff1660e01b81526004016117de91906153a7565b60606040518083038186803b1580156117f657600080fd5b505afa15801561180a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061182e91908101906148e3565b50909392505050565b61183f613422565b5050565b61184b613464565b6002546040516001600160a01b039091169063907dff97906118739085908590602001615634565b604051602081830303815290604052600260405161189090615365565b60405180910390206118a18861349c565b6000806040518763ffffffff1660e01b8152600401610ede969594939291906156c4565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a08231906118f69085906004016153a7565b60206040518083038186803b15801561190e57600080fd5b505afa158015611922573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e5d9190810190614822565b6060611950611ffc565b905060005b815181101561183f57600082828151811061196c57fe5b602002602001015190506000600b60009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016119ae9190615391565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016119da929190615642565b60206040518083038186803b1580156119f257600080fd5b505afa158015611a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a2a91908101906143a8565b6000838152600c60205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611a86908490849061560b565b60405180910390a15050600101611955565b6001546001600160a01b03163314611ac25760405162461bcd60e51b815260040161156f90615784565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611b05926001600160a01b03918216929116906153de565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000611b3e6132d1565b600f546001600160a01b03163314611b685760405162461bcd60e51b815260040161156f90615814565b6000611b7261390a565b6001600160a01b03161415611b995760405162461bcd60e51b815260040161156f906157b4565b6000611ba361390a565b90506000611baf613935565b6001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015611be757600080fd5b505afa158015611bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c1f9190810190614822565b9050611c29613960565b6001600160a01b0316637e7961d7826040518263ffffffff1660e01b8152600401611c5491906155fd565b602060405180830381600087803b158015611c6e57600080fd5b505af1158015611c82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ca691908101906146f1565b506000611cb1613960565b6001600160a01b0316639bdd7ac76040518163ffffffff1660e01b815260040160206040518083038186803b158015611ce957600080fd5b505afa158015611cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d219190810190614822565b90506000611d35838363ffffffff61398b16565b6005546040516370a0823160e01b81529192506001600160a01b03169063b46310f6908690611d7690859085906370a08231906115e89086906004016153a7565b6040518363ffffffff1660e01b8152600401611d939291906154cb565b600060405180830381600087803b158015611dad57600080fd5b505af1158015611dc1573d6000803e3d6000fd5b50505050611dd03085836138c7565b6040517f59974e380000000000000000000000000000000000000000000000000000000081526001600160a01b038516906359974e3890611e159084906004016155fd565b602060405180830381600087803b158015611e2f57600080fd5b505af1158015611e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e6791908101906146f1565b506005546040516370a0823160e01b81526001600160a01b039091169063b46310f6903390611ea890869085906370a08231906115e89086906004016153b5565b6040518363ffffffff1660e01b8152600401611ec59291906153c3565b600060405180830381600087803b158015611edf57600080fd5b505af1158015611ef3573d6000803e3d6000fd5b50505050611f023033846138c7565b600854611f15908463ffffffff6138a216565b600855506001935050505090565b611f2b61343a565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b611f556132d1565b611f5d6131fa565b6004546001600160a01b0316611f728161332b565b611f7a613409565b600480546040517f171af0630000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363171af06393611fc693909116918791016154cb565b600060405180830381600087803b158015611fe057600080fd5b505af1158015611ff4573d6000803e3d6000fd5b505050505050565b6060806120076139b3565b60408051600480825260a0820190925291925060609190602082016080803883390190505090507f526577617264457363726f7756320000000000000000000000000000000000008160008151811061205c57fe5b6020026020010181815250507f537570706c795363686564756c650000000000000000000000000000000000008160018151811061209657fe5b6020026020010181815250507f43726f7373436861696e4d616e61676572000000000000000000000000000000816002815181106120d057fe5b6020026020010181815250506a427269646765537461746560a81b816003815181106120f857fe5b60200260200101818152505061210e8282613af9565b9250505090565b6000546001600160a01b031681565b61212c6132d1565b6121346131fa565b6004546001600160a01b03166121498161332b565b612151613409565b600480546040517ff0617e5b0000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363f0617e5b9361119b9390911691016153a7565b600085846121a98282613841565b6121b16131fa565b6004546001600160a01b03166121c68161332b565b896121d08161332b565b6121d86134a8565b6001600160a01b031663dfffca768c600460009054906101000a90046001600160a01b03168d8d8d8d8d6040518863ffffffff1660e01b8152600401612224979695949392919061543b565b602060405180830381600087803b15801561223e57600080fd5b505af1158015612252573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122769190810190614822565b9b9a5050505050505050505050565b61228d61343a565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6122c061343a565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6007805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610db45780601f10610d8957610100808354040283529160200191610db4565b61234561343a565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610fa69083906153b5565b600080600061239d6131fa565b6004546001600160a01b03166123b28161332b565b6123ba6134a8565b600480546040517f1b16802c0000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693631b16802c9361240693909116918a91016154cb565b606060405180830381600087803b15801561242057600080fd5b505af1158015612434573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061245891908101906148e3565b935093509350509193909250565b61246e6131fa565b6004546001600160a01b03166124838161332b565b600084116124a35760405162461bcd60e51b815260040161156f90615874565b60006124ad613409565b600480546005546040516370a0823160e01b81526001600160a01b0394851694638d542eb394938116939216916370a08231916124ec918591016153a7565b60206040518083038186803b15801561250457600080fd5b505afa158015612518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061253c9190810190614822565b6040518363ffffffff1660e01b81526004016125599291906154cb565b604080518083038186803b15801561257057600080fd5b505afa158015612584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125a89190810190614840565b509050848110156125cb5760405162461bcd60e51b815260040161156f90615894565b6125d3613bae565b6001600160a01b031663962438036040518163ffffffff1660e01b815260040160206040518083038186803b15801561260b57600080fd5b505afa15801561261f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126439190810190614822565b3410156126625760405162461bcd60e51b815260040161156f906158b4565b6010546040516001600160a01b03909116903480156108fc02916000818181858888f1935050505015801561269b573d6000803e3d6000fd5b506004546126b2906001600160a01b031686613bd9565b6126ce5760405162461bcd60e51b815260040161156f906157e4565b6126d6613c75565b600480546040517f62f0c06b0000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936362f0c06b9361272693909116918a918a918a91016155a0565b600060405180830381600087803b15801561274057600080fd5b505af1158015612754573d6000803e3d6000fd5b505050505050505050565b6003546001600160a01b031681565b612776613c8e565b600580546001600160a01b0319166001600160a01b03831617905561279a81613d13565b50565b60006127a7613409565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b81526004016118f691906153a7565b6127da61343a565b6001600160a01b0381166128005760405162461bcd60e51b815260040161156f90615834565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600061282c613409565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b81526004016118f691906153a7565b60006128616131fa565b6128696134bf565b6004546001600160a01b031661287e8161332b565b600454612894906001600160a01b0316846134ff565b506004546128ac906001600160a01b03168585613d9d565b50600191505b5092915050565b6128c1613464565b6002546040516001600160a01b039091169063907dff97906128e99085908590602001615634565b604051602081830303815290604052600260405161189090615324565b61290e6131fa565b6060612918613c75565b600480546040517f0a2da1780000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693630a2da178936129629390911691016153a7565b60006040518083038186803b15801561297a57600080fd5b505afa15801561298e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526129b691908101906146bc565b905060008151116129d95760405162461bcd60e51b815260040161156f906157c4565b6129e1613bae565b6001600160a01b03166387c24d346040518163ffffffff1660e01b815260040160206040518083038186803b158015612a1957600080fd5b505afa158015612a2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a519190810190614822565b341015612a705760405162461bcd60e51b815260040161156f906158b4565b6010546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015612aa9573d6000803e3d6000fd5b5060005b815181101561183f57612ad2828281518110612ac557fe5b6020026020010151613daa565b50600101612aad565b612ae3613f01565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080612b10613409565b6001600160a01b031663becf5ff8846040518263ffffffff1660e01b8152600401612b3b91906153a7565b604080518083038186803b158015612b5257600080fd5b505afa158015612b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b8a9190810190614870565b9094909350915050565b60008382612ba28282613841565b612baa6131fa565b6004546001600160a01b0316612bbf8161332b565b87612bc98161332b565b612bd16134a8565b600480546040517f6a1c47580000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693636a1c475893611431938f939216918e918e918e91016153f9565b6000612c2c613409565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b8152600401612c599291906154cb565b60206040518083038186803b158015612c7157600080fd5b505afa158015612c85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ca99190810190614822565b9392505050565b6000612cba613409565b6001600160a01b031663f023e8db8360006040518363ffffffff1660e01b8152600401612ce8929190615619565b604080518083038186803b158015612cff57600080fd5b505afa158015612d13573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128b29190810190614840565b6004546001600160a01b031681565b6000612d50613409565b6001600160a01b031663f023e8db8360016040518363ffffffff1660e01b8152600401612ce8929190615619565b61279a613422565b600d546001600160a01b031681565b600554604051636eb1769f60e11b81526000916001600160a01b03169063dd62ed3e90612c5990869086906004016153de565b612dd0613464565b6002546040516001600160a01b039091169063907dff9790612df89085908590602001615634565b6040516020818303038152906040526002604051612e1590615370565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252610ede939291899060009081906004016156c4565b612e6461343a565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6010546001600160a01b031681565b6000612e9f613409565b6005546040516370a0823160e01b81526001600160a01b0392831692638d542eb39286929116906370a0823190612eda9084906004016153a7565b60206040518083038186803b158015612ef257600080fd5b505afa158015612f06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f2a9190810190614822565b6040518363ffffffff1660e01b8152600401612ce89291906154cb565b6000612f516134bf565b612f596131fa565b6004546001600160a01b0316612f6e8161332b565b600080612f79613409565b600480546040517fa63c4df40000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363a63c4df493612fc7938c938c939091169101615578565b6040805180830381600087803b158015612fe057600080fd5b505af1158015612ff4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130189190810190614870565b6004549193509150613038908790849084906001600160a01b0316613f40565b6004546112249087906001600160a01b031684613d9d565b6005546001600160a01b031681565b6130676132d1565b61306f6131fa565b6004546001600160a01b03166130848161332b565b61308c613409565b600480546040517fb42652e90000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363b42652e99361119b9390911691016153a7565b6002546001600160a01b031681565b600083826130f38282613841565b6130fb6131fa565b6004546001600160a01b03166131108161332b565b6131186134a8565b600480546040517f0a1e187d0000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693630a1e187d9361316a93909116918c918c918c918591016154f4565b602060405180830381600087803b15801561318457600080fd5b505af1158015613198573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131bc9190810190614822565b979650505050505050565b600e546001600160a01b031681565b7f705553440000000000000000000000000000000000000000000000000000000081565b6002546001600160a01b0316331480159061322057506003546001600160a01b03163314155b801561323757506004546001600160a01b03163314155b1561324f57600480546001600160a01b031916331790555b565b6002546040516001600160a01b039091169063907dff97906132779084906020016155fd565b60405160208183030381529060405260036040516132949061535a565b60405180910390206132a58861349c565b6132ae8861349c565b60006040518763ffffffff1660e01b8152600401610ede969594939291906156fe565b6132d9613ff4565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561331157600080fd5b505afa158015613325573d6000803e3d6000fd5b50505050565b600d546001600160a01b03166133535760405162461bcd60e51b815260040161156f90615764565b600d546040517fcb2505cf0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063cb2505cf9061339c9084906004016153a7565b60206040518083038186803b1580156133b457600080fd5b505afa1580156133c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133ec91908101906146f1565b1561279a5760405162461bcd60e51b815260040161156f906158c4565b600061341d6524b9b9bab2b960d11b6137e4565b905090565b60405162461bcd60e51b815260040161156f90615804565b6000546001600160a01b0316331461324f5760405162461bcd60e51b815260040161156f90615864565b61346c6134a8565b6001600160a01b0316336001600160a01b03161461324f5760405162461bcd60e51b815260040161156f90615854565b6001600160a01b031690565b600061341d6822bc31b430b733b2b960b91b6137e4565b6134c7613ff4565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561331157600080fd5b60008061350a61400e565b6001600160a01b0316638b3f8088856040518263ffffffff1660e01b815260040161353591906153a7565b604080518083038186803b15801561354c57600080fd5b505afa158015613560573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135849190810190614870565b5090508015610e5757600080613598613409565b6005546040516370a0823160e01b81526001600160a01b0392831692638d542eb3928a929116906370a08231906135d39084906004016153a7565b60206040518083038186803b1580156135eb57600080fd5b505afa1580156135ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136239190810190614822565b6040518363ffffffff1660e01b81526004016136409291906154cb565b604080518083038186803b15801561365757600080fd5b505afa15801561366b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061368f9190810190614840565b91509150818511156136b35760405162461bcd60e51b815260040161156f90615884565b80156136d15760405162461bcd60e51b815260040161156f90615824565b50600195945050505050565b600554604051636eb1769f60e11b81526000916001600160a01b03169063da46098c908690889061377e908790869063dd62ed3e9061372290879087906004016153de565b60206040518083038186803b15801561373a57600080fd5b505afa15801561374e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137729190810190614822565b9063ffffffff61398b16565b6040518463ffffffff1660e01b815260040161379c939291906154a3565b600060405180830381600087803b1580156137b657600080fd5b505af11580156137ca573d6000803e3d6000fd5b505050506137d9848484614039565b90505b949350505050565b6000818152600c602090815260408083205490516001600160a01b0390911691821515916138149186910161533a565b604051602081830303815290604052906128b25760405162461bcd60e51b815260040161156f9190615753565b613849613ff4565b6001600160a01b0316632cb28bd883836040518363ffffffff1660e01b8152600401613876929190615634565b60006040518083038186803b15801561388e57600080fd5b505afa158015611ff4573d6000803e3d6000fd5b600082820183811015612ca95760405162461bcd60e51b815260040161156f906157d4565b6002546040516001600160a01b039091169063907dff97906138ed9084906020016155fd565b60405160208183030381529060405260036040516132949061539c565b600061341d7f52657761726473446973747269627574696f6e000000000000000000000000006137e4565b600061341d7f43726f7373436861696e4d616e616765720000000000000000000000000000006137e4565b600061341d7f537570706c795363686564756c650000000000000000000000000000000000006137e4565b6000828211156139ad5760405162461bcd60e51b815260040161156f906157f4565b50900390565b60408051600680825260e082019092526060916020820160c0803883390190505090507f5065726946696e616e636553746174650000000000000000000000000000000081600081518110613a0457fe5b6020026020010181815250506b53797374656d53746174757360a01b81600181518110613a2d57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600281518110613a5357fe5b6020026020010181815250506524b9b9bab2b960d11b81600381518110613a7657fe5b6020026020010181815250507f52657761726473446973747269627574696f6e0000000000000000000000000081600481518110613ab057fe5b6020026020010181815250507f53797374656d53657474696e677300000000000000000000000000000000000081600581518110613aea57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613b29578160200160208202803883390190505b50905060005b8351811015613b6b57838181518110613b4457fe5b6020026020010151828281518110613b5857fe5b6020908102919091010152600101613b2f565b5060005b82518110156128b257828181518110613b8457fe5b6020026020010151828286510181518110613b9b57fe5b6020908102919091010152600101613b6f565b600061341d7f53797374656d53657474696e67730000000000000000000000000000000000006137e4565b6005546040516370a0823160e01b81526000916001600160a01b03169063b46310f6908590613c1a90869085906370a08231906137229086906004016153a7565b6040518363ffffffff1660e01b8152600401613c379291906154cb565b600060405180830381600087803b158015613c5157600080fd5b505af1158015613c65573d6000803e3d6000fd5b5050505061169f836000846138c7565b600061341d6a427269646765537461746560a81b6137e4565b6002546001600160a01b03163314801590613cb457506003546001600160a01b03163314155b8015613ccb57506004546001600160a01b03163314155b15613ce357600480546001600160a01b031916331790555b6000546004546001600160a01b0390811691161461324f5760405162461bcd60e51b815260040161156f90615794565b6002546040516001600160a01b039091169063907dff9790613d399084906020016153a7565b6040516020818303038152906040526001604051613d569061537b565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16825261119b93929160009081908190600401615670565b60006137dc848484614039565b6000806000613db7613c75565b6001600160a01b0316631e1d164f856040518263ffffffff1660e01b8152600401613de291906155fd565b6101006040518083038186803b158015613dfb57600080fd5b505afa158015613e0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e339190810190614641565b505060045493955091935050506001600160a01b03808416911614613e6a5760405162461bcd60e51b815260040161156f906157a4565b613e72613c75565b6001600160a01b031663909f018a85836040518363ffffffff1660e01b8152600401613e9f929190615634565b600060405180830381600087803b158015613eb957600080fd5b505af1158015613ecd573d6000803e3d6000fd5b50505050613edb82826141f4565b613ef75760405162461bcd60e51b815260040161156f90615844565b5060019392505050565b6002546001600160a01b0316331480613f2457506003546001600160a01b031633145b61324f5760405162461bcd60e51b815260040161156f906158a4565b6002546040516001600160a01b039091169063907dff9790613f6a908690869086906020016158ff565b6040516020818303038152906040526002604051613f8790615386565b6040518091039020613f988961349c565b6000806040518763ffffffff1660e01b8152600401613fbc969594939291906156c4565b600060405180830381600087803b158015613fd657600080fd5b505af1158015613fea573d6000803e3d6000fd5b5050505050505050565b600061341d6b53797374656d53746174757360a01b6137e4565b600061341d7f5065726946696e616e63655374617465000000000000000000000000000000006137e4565b60006001600160a01b0383161580159061405c57506001600160a01b0383163014155b801561407657506002546001600160a01b03848116911614155b6140925760405162461bcd60e51b815260040161156f90615774565b6001600160a01b0384166000908152600a602052604090205460ff16156140cb5760405162461bcd60e51b815260040161156f906158d4565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f690869061410b90869085906370a08231906137229086906004016153a7565b6040518363ffffffff1660e01b81526004016141289291906154cb565b600060405180830381600087803b15801561414257600080fd5b505af1158015614156573d6000803e3d6000fd5b50506005546040516370a0823160e01b81526001600160a01b03909116925063b46310f69150859061419a90869085906370a08231906115e89086906004016153a7565b6040518363ffffffff1660e01b81526004016141b79291906154cb565b600060405180830381600087803b1580156141d157600080fd5b505af11580156141e5573d6000803e3d6000fd5b50505050613ef78484846138c7565b6005546040516370a0823160e01b81526000916001600160a01b03169063b46310f690859061164490869085906370a08231906115e89086906004016153a7565b8035610e5d81615a22565b8051610e5d81615a22565b600082601f83011261425c57600080fd5b815161426f61426a82615950565b615929565b9150818183526020840193506020810190508385602084028201111561429457600080fd5b60005b838110156142c057816142aa88826142eb565b8452506020928301929190910190600101614297565b5050505092915050565b8035610e5d81615a36565b8051610e5d81615a36565b8035610e5d81615a3f565b8051610e5d81615a3f565b8035610e5d81615a48565b60006060828403121561431357600080fd5b50919050565b60006060828403121561432b57600080fd5b6143356060615929565b9050600061434384846142eb565b8252506020614354848483016142eb565b60208301525060406143688482850161437f565b60408301525092915050565b8035610e5d81615a51565b8051610e5d81615a51565b60006020828403121561439c57600080fd5b60006137dc8484614235565b6000602082840312156143ba57600080fd5b60006137dc8484614240565b600080604083850312156143d957600080fd5b60006143e58585614235565b92505060206143f685828601614235565b9150509250929050565b60008060006060848603121561441557600080fd5b60006144218686614235565b935050602061443286828701614235565b9250506040614443868287016142e0565b9150509250925092565b6000806040838503121561446057600080fd5b600061446c8585614235565b92505060206143f6858286016142ca565b6000806040838503121561449057600080fd5b600061449c8585614235565b92505060206143f6858286016142e0565b6000806000606084860312156144c257600080fd5b60006144ce8686614235565b9350506020614432868287016142e0565b600080600080608085870312156144f557600080fd5b60006145018787614235565b9450506020614512878288016142e0565b9350506040614523878288016142e0565b9250506060614534878288016142e0565b91505092959194509250565b60008060008060008060c0878903121561455957600080fd5b60006145658989614235565b965050602061457689828a016142e0565b955050604061458789828a016142e0565b945050606061459889828a016142e0565b93505060806145a989828a01614235565b92505060a06145ba89828a016142e0565b9150509295509295509295565b60008060008060008060c087890312156145e057600080fd5b60006145ec8989614235565b96505060206145fd89828a016142e0565b955050604061460e89828a016142e0565b945050606061461f89828a016142e0565b935050608061463089828a016142e0565b92505060a06145ba89828a01614235565b600080600080600080610100878903121561465b57600080fd5b60006146678989614240565b965050602061467889828a016142eb565b955050604061468989828a016142eb565b945050606061469a89828a016142eb565b93505060806146ab89828a016142d5565b92505060a06145ba89828a01614319565b6000602082840312156146ce57600080fd5b815167ffffffffffffffff8111156146e557600080fd5b6137dc8482850161424b565b60006020828403121561470357600080fd5b60006137dc84846142d5565b60006020828403121561472157600080fd5b60006137dc84846142e0565b60008060006060848603121561474257600080fd5b60006144ce86866142e0565b6000806040838503121561476157600080fd5b600061449c85856142e0565b600080600080600060a0868803121561478557600080fd5b600061479188886142e0565b95505060206147a2888289016142e0565b94505060406147b3888289016142e0565b93505060606147c488828901614235565b92505060806147d5888289016142e0565b9150509295509295909350565b600080600080608085870312156147f857600080fd5b600061450187876142e0565b60006020828403121561481657600080fd5b60006137dc84846142f6565b60006020828403121561483457600080fd5b60006137dc84846142eb565b6000806040838503121561485357600080fd5b600061485f85856142eb565b92505060206143f6858286016142d5565b6000806040838503121561488357600080fd5b600061488f85856142eb565b92505060206143f6858286016142eb565b600080600060a084860312156148b557600080fd5b60006148c186866142e0565b93505060206148d2868287016142e0565b925050604061444386828701614301565b6000806000606084860312156148f857600080fd5b600061490486866142eb565b9350506020614915868287016142eb565b9250506040614443868287016142eb565b600061493283836149b4565b505060200190565b614943816159c8565b82525050565b614943816159a7565b600061495d82615977565b614967818561597b565b935061497283615971565b8060005b838110156149a057815161498a8882614926565b975061499583615971565b925050600101614976565b509495945050505050565b614943816159b2565b61494381611395565b6149436149c982611395565b611395565b60006149d982615977565b6149e3818561597b565b93506149f38185602086016159ec565b6149fc81615a18565b9093019392505050565b614943816159b7565b614943816159d3565b614943816159e1565b6000614a2e60138361597b565b7f436f6e7472616374206e6f742073657474656400000000000000000000000000815260200192915050565b6000614a67601f8361597b565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b6000614aa060358361597b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000614aff60138361597b565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b6000614b38600c8361597b565b7f436865636b416464726573730000000000000000000000000000000000000000815260200192915050565b6000614b7160168361597b565b7f4e6f2052657761726473446973747269627574696f6e00000000000000000000815260200192915050565b6000614baa600b8361597b565b7f4e6f436c61696d61626c65000000000000000000000000000000000000000000815260200192915050565b6000614be3601b8361597b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614c1c60088361597b565b7f4275726e4661696c000000000000000000000000000000000000000000000000815260200192915050565b6000614c55602883615984565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81527f75696e7432353629000000000000000000000000000000000000000000000000602082015260280192915050565b6000614cb4603e83615984565b7f50796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b6000614d13601e8361597b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614d4c601183615984565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b6000614d8560098361597b565b7f43616e27742072756e0000000000000000000000000000000000000000000000815260200192915050565b6000614dbe600a8361597b565b7f6f6e6c794d696e74657200000000000000000000000000000000000000000000815260200192915050565b6000614df7600c8361597b565b7f5261746520696e76616c69640000000000000000000000000000000000000000815260200192915050565b6000614e3060098361597b565b7f3020616464726573730000000000000000000000000000000000000000000000815260200192915050565b6000614e6960088361597b565b7f4d696e744661696c000000000000000000000000000000000000000000000000815260200192915050565b6000614ea2600d8361597b565b7f4f6e6c7945786368616e67657200000000000000000000000000000000000000815260200192915050565b6000614edb602f8361597b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000614f3a602183615984565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000614f7d602783615984565b7f45786368616e676552656261746528616464726573732c627974657333322c7581527f696e743235362900000000000000000000000000000000000000000000000000602082015260270192915050565b6000614fdc602983615984565b7f45786368616e6765547261636b696e6728627974657333322c6279746573333281527f2c75696e74323536290000000000000000000000000000000000000000000000602082015260290192915050565b600061503b601a83615984565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b6000615074603283615984565b7f4163636f756e744c69717569646174656428616464726573732c75696e74323581527f362c75696e743235362c61646472657373290000000000000000000000000000602082015260320192915050565b60006150d360088361597b565b7f3020616d6f756e74000000000000000000000000000000000000000000000000815260200192915050565b600061510c601983615984565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061514560128361597b565b7f436865636b205472616e7366657261626c650000000000000000000000000000815260200192915050565b600061517e600b8361597b565b7f436865636b416d6f756e74000000000000000000000000000000000000000000815260200192915050565b60006151b7602183615984565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b60006151fa60178361597b565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b600061523360058361597b565b7f4e6f466565000000000000000000000000000000000000000000000000000000815260200192915050565b600061526c600b8361597b565b7f426c61636b6c6973746564000000000000000000000000000000000000000000815260200192915050565b60006152a5600f8361597b565b7f426c6f636b656420616464726573730000000000000000000000000000000000815260200192915050565b606082016152df8280615989565b6152e984826149b4565b506152f76020830183615989565b61530460208501826149b4565b506153126040830183615998565b61332560408501825b614943816159c2565b6000610e5d82614c48565b6000610e5d82614ca7565b600061534582614d3f565b915061535182846149bd565b50602001919050565b6000610e5d82614f2d565b6000610e5d82614f70565b6000610e5d82614fcf565b6000610e5d8261502e565b6000610e5d82615067565b6000615345826150ff565b6000610e5d826151aa565b60208101610e5d8284614949565b60208101610e5d828461493a565b604081016153d1828561493a565b612ca960208301846149b4565b604081016153ec8285614949565b612ca96020830184614949565b60a081016154078288614949565b6154146020830187614949565b61542160408301866149b4565b61542e60608301856149b4565b61122460808301846149b4565b60e08101615449828a614949565b6154566020830189614949565b61546360408301886149b4565b61547060608301876149b4565b61547d60808301866149b4565b61548a60a0830185614949565b61549760c08301846149b4565b98975050505050505050565b606081016154b18286614949565b6154be6020830185614949565b6137dc60408301846149b4565b604081016153d18285614949565b606081016154e78286614949565b6154be60208301856149b4565b60a081016155028288614949565b61550f60208301876149b4565b61551c60408301866149b4565b61552960608301856149b4565b6112246080830184614949565b60e08101615544828a614949565b61555160208301896149b4565b61555e60408301886149b4565b61556b60608301876149b4565b61547d6080830186614949565b606081016155868286614949565b61559360208301856149b4565b6137dc6040830184614949565b60c081016155ae8287614949565b6155bb60208301866149b4565b6155c860408301856149b4565b6155d560608301846152d1565b95945050505050565b60208082528101612ca98184614952565b60208101610e5d82846149ab565b60208101610e5d82846149b4565b604081016153ec82856149b4565b6040810161562782856149b4565b612ca960208301846149ab565b604081016153d182856149b4565b6040810161565082856149b4565b81810360208301526137dc81846149ce565b60a0810161550282886149b4565b60c0808252810161568181896149ce565b90506156906020830188614a18565b61569d60408301876149b4565b6156aa6060830186614a0f565b6156b76080830185614a0f565b6131bc60a0830184614a0f565b60c080825281016156d581896149ce565b90506156e46020830188614a18565b6156f160408301876149b4565b6156aa60608301866149b4565b60c0808252810161570f81896149ce565b905061571e6020830188614a18565b61572b60408301876149b4565b61573860608301866149b4565b6156b760808301856149b4565b60208101610e5d8284614a06565b60208082528101612ca981846149ce565b60208082528101610e5d81614a21565b60208082528101610e5d81614a5a565b60208082528101610e5d81614a93565b60208082528101610e5d81614af2565b60208082528101610e5d81614b2b565b60208082528101610e5d81614b64565b60208082528101610e5d81614b9d565b60208082528101610e5d81614bd6565b60208082528101610e5d81614c0f565b60208082528101610e5d81614d06565b60208082528101610e5d81614d78565b60208082528101610e5d81614db1565b60208082528101610e5d81614dea565b60208082528101610e5d81614e23565b60208082528101610e5d81614e5c565b60208082528101610e5d81614e95565b60208082528101610e5d81614ece565b60208082528101610e5d816150c6565b60208082528101610e5d81615138565b60208082528101610e5d81615171565b60208082528101610e5d816151ed565b60208082528101610e5d81615226565b60208082528101610e5d8161525f565b60208082528101610e5d81615298565b604081016158f282856149b4565b612ca96020830184614a06565b6060810161558682866149b4565b606081016154e782866149b4565b60208101610e5d828461531b565b60405181810167ffffffffffffffff8111828210171561594857600080fd5b604052919050565b600067ffffffffffffffff82111561596757600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b6000612ca960208401846142e0565b6000612ca96020840184614374565b6000610e5d8261349c565b151590565b6000610e5d826159a7565b60ff1690565b6000610e5d826159b7565b6000610e5d6149c983611395565b6000610e5d82611395565b60005b83811015615a075781810151838201526020016159ef565b838111156133255750506000910152565b601f01601f191690565b615a2b816159a7565b811461279a57600080fd5b615a2b816159b2565b615a2b81611395565b615a2b816159b7565b615a2b816159c256fea365627a7a7231582004290d77c5dc06f05ac3fdf679a2df5331a9a6e01d021f6f5f0a63ee896db1b06c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_minterRole",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_blacklistManager",
							"type": "address"
						},
						{
							"internalType": "address payable",
							"name": "_bridgeValidator",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRedeemed",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "AccountLiquidated",
					"type": "event",
					"signature": "0xaadb11d74982254be0fa96d24a08db29d68f446bc96b3092a9c9120b5c89caf2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeRebate",
					"type": "event",
					"signature": "0x93751433c6897553c8950f14ccc193ccffb8f539f7421ffde9af83b9b7dae1a8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeReclaim",
					"type": "event",
					"signature": "0x491df6adf9cabe8ca514806effd6b6b6475572dc88fe4b8b58d0a20ecf45e105"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "ExchangeTracking",
					"type": "event",
					"signature": "0x9b39fce028952c685c9c73b2f5f825f8e369fbdaca2bec73c4abb52c2abc123c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "PynthExchange",
					"type": "event",
					"signature": "0x4a0ae13ecb43c31fb105d00f9bb9bb573465fe44c0e86d51dc9b6c36090f6e28"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_NAME",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18821400"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_SYMBOL",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2a905318"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "amountsToFitClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "burnAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTokenAmountToUnstake",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbecf5ff8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "blacklistManager",
					"outputs": [
						{
							"internalType": "contract IBlacklistManager",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd9dbf657"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeValidator",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe22760f7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_burnAmount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a057b76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "burnSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xedef719a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimAllBridgedAmounts",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xaf5a5e4c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeRebate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f01a986"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeReclaim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xace88afd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xddd03a3f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "emitPynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1b99084c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee52a2f3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc836fa0a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x91e56b68"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x30ead760"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0e30963c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9fad8ee"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "fitToClaimable",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x50d0573c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "forceFitToClaimable",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x2190764c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_contractName",
							"type": "bytes32"
						}
					],
					"name": "getRequiredAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2bc93ad6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "inflationMinter",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x321ea17c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "inflationalMint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7a725c68"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isWaitingPeriod",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1fce304d"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8e2ac0ea"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_issueAmount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x534f079c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "issuePynthsToMaxQuota",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x85d18d36"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6203ed1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55182ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x40c10f19"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x666ed4f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8a1f76f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minterRole",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf084219e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_destChainId",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct IBridgeState.Signature",
							"name": "_sign",
							"type": "tuple"
						}
					],
					"name": "overchainTransfer",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x9a26669e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pUSD",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf9eea80c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b09280a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_blacklistManager",
							"type": "address"
						}
					],
					"name": "setBlacklistManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa56c62cf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setBlockedAddress",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x92d5011f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_bridgeValidator",
							"type": "address"
						}
					],
					"name": "setBridgeValidator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x842efb01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newInflationMinter",
							"type": "address"
						}
					],
					"name": "setInflationMinter",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe12c4cea"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newMinter",
							"type": "address"
						}
					],
					"name": "setMinterRole",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x945d1229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x987757dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3a71202"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynthsExcludeEtherCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6980ba1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePeriFinance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c3af98"
				}
			],
			"source": {
				"keccak256": "0x45294d72771e4ee5c1a705f150c833f4a585c41b8a0e3e4ad88587901cb32906",
				"urls": [
					"bzz-raw://cee233de4ed8b7523275fd56d700bec1d8544f282d2990d5d94d4f652e1f84a0",
					"dweb:/ipfs/QmVwdBc7EyB2iyoA2VMRmCt6vBcNWrwENfih4c8gPv17Qa"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinance.sol": "PeriFinance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"PeriFinance.sol": {
						"keccak256": "0x45294d72771e4ee5c1a705f150c833f4a585c41b8a0e3e4ad88587901cb32906",
						"urls": [
							"bzz-raw://cee233de4ed8b7523275fd56d700bec1d8544f282d2990d5d94d4f652e1f84a0",
							"dweb:/ipfs/QmVwdBc7EyB2iyoA2VMRmCt6vBcNWrwENfih4c8gPv17Qa"
						]
					}
				},
				"version": 1
			}
		},
		"BridgeState": {
			"bytecode": "6080604052600a600c5561012c600d556000600e556000600f553480156200002657600080fd5b5060405162002f3738038062002f378339810160408190526200004991620002d9565b80826001600160a01b0381166200007d5760405162461bcd60e51b81526004016200007490620003e6565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000ca918490620003ae565b60405180910390a1506000546001600160a01b0316620000fe5760405162461bcd60e51b81526004016200007490620003d4565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200014b9083906200039e565b60405180910390a150604051806080016040528060008152602001428152602001600060405190808252806020026020018201604052801562000198578160200160208202803883390190505b5081526000602091820181905280526008815281517f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7908155828201517f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c85560408301518051919262000231927f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c9929091019062000256565b50606091909101516003909101805460ff191691151591909117905550620004419050565b82805482825590600052602060002090810192821562000294579160200282015b828111156200029457825182559160200191906001019062000277565b50620002a2929150620002a6565b5090565b620002c391905b80821115620002a25760008155600101620002ad565b90565b8051620002d38162000427565b92915050565b60008060408385031215620002ed57600080fd5b6000620002fb8585620002c6565b92505060206200030e85828601620002c6565b9150509250929050565b620003238162000413565b82525050565b620003238162000401565b600062000343601183620003f8565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000372601983620003f8565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002d3828462000329565b60408101620003be828562000318565b620003cd602083018462000329565b9392505050565b60208082528101620002d38162000334565b60208082528101620002d38162000363565b90815260200190565b60006001600160a01b038216620002d3565b6000620002d3826000620002d38262000401565b620004328162000401565b81146200043e57600080fd5b50565b612ae680620004516000396000f3fe608060405234801561001057600080fd5b50600436106102d35760003560e01c80636455c67f116101865780639c50a136116100e3578063da4172ef11610097578063f8fc08b911610071578063f8fc08b91461056e578063fc9ff12114610581578063fe9e903f14610589576102d3565b8063da4172ef14610556578063e650630d1461055e578063eeaf19ad14610566576102d3565b8063aefc4ccb116100c8578063aefc4ccb1461053e578063b470aade14610546578063b8c4dd571461054e576102d3565b80639c50a13614610518578063aa2002171461052b576102d3565b80637c2d6e011161013a5780638da5cb5b1161011f5780638da5cb5b146104ea578063909f018a146104f257806394a8b41914610505576102d3565b80637c2d6e01146104c45780637e3fd16a146104d7576102d3565b80636a9513161161016b5780636a95131614610496578063735b8bbc146104a957806379ba5097146104bc576102d3565b80636455c67f1461047b578063663c2dae1461048e576102d3565b80633a01662a1161023457806350db3a01116101e857806353a47bb7116101cd57806353a47bb71461044057806359e045aa1461045557806362f0c06b14610468576102d3565b806350db3a011461041a57806352f445ca1461042d576102d3565b8063481dd7e811610219578063481dd7e8146103f05780634a73d231146102d857806350b2e57d14610412576102d3565b80633a01662a146103b957806340a997b6146103cc576102d3565b80631e1d164f1161028b57806336870f4d1161027057806336870f4d1461037e5780633711991e1461039e5780633851eb0a146103a6576102d3565b80631e1d164f1461035157806320c39d1c14610376576102d3565b80631627540c116102bc5780631627540c14610314578063186f44ed146103295780631a8ec35714610349576102d3565b806303a97279146102d85780630a2da17814610301575b600080fd5b6102eb6102e6366004611d8d565b61059c565b6040516102f8919061281a565b60405180910390f35b6102eb61030f366004611d6f565b610612565b610327610322366004611d6f565b61067f565b005b61033c610337366004611dc7565b6106ea565b6040516102f891906129b6565b6102eb610725565b61036461035f36600461207d565b61077e565b6040516102f896959493929190612773565b61033c6107fc565b61039161038c366004611fec565b610802565b6040516102f8919061282b565b61033c61082d565b6102eb6103b436600461207d565b610833565b6103916103c73660046120cb565b610896565b6103df6103da36600461207d565b6108b6565b6040516102f89594939291906127ce565b6104036103fe36600461207d565b610926565b6040516102f8939291906129df565b61033c61094a565b610327610428366004611e75565b610950565b61032761043b366004611d6f565b6109e5565b610448610a45565b6040516102f8919061274a565b61033c6104633660046120cb565b610a54565b610327610476366004611e14565b610a71565b61032761048936600461207d565b610abb565b61033c610cab565b6103276104a436600461201c565b610cb1565b61033c6104b7366004611d8d565b610d1b565b610327610d49565b6103276104d236600461207d565b610df2565b6103276104e5366004611eea565b610e1f565b610448610f4d565b6103276105003660046120cb565b610f5c565b61033c6105133660046120cb565b611177565b61032761052636600461209b565b611194565b61039161053936600461207d565b6111f4565b610448611209565b61033c611218565b61033c61121e565b61033c611224565b61032761122a565b61033c6112b3565b61039161057c366004611fec565b6112b9565b61033c6112d9565b61032761059736600461207d565b6112df565b6001600160a01b038216600090815260056020908152604080832084845282529182902080548351818402810184019094528084526060939283018282801561060457602002820191906000526020600020905b8154815260200190600101908083116105f0575b505050505090505b92915050565b6001600160a01b03811660009081526006602090815260409182902080548351818402810184019094528084526060939283018282801561067257602002820191906000526020600020905b81548152602001906001019080831161065e575b505050505090505b919050565b61068761130c565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906106df90839061274a565b60405180910390a150565b6005602052826000526040600020602052816000526040600020818154811061070f57fe5b9060005260206000200160009250925050505481565b6060600980548060200260200160405190810160405280929190818152602001828054801561077357602002820191906000526020600020905b81548152602001906001019080831161075f575b505050505090505b90565b600a818154811061078b57fe5b600091825260209182902060089091020180546001820154600283015460038401546004850154604080516060810182526005880154815260068801549881019890985260079096015460ff908116968801969096526001600160a01b039094169650919490939192919091169086565b600a5490565b60009182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600f5481565b600081815260086020908152604091829020600201805483518184028101840190945280845260609392830182828015610672576020028201919060005260206000209081548152602001906001019080831161065e5750505050509050919050565b600760209081526000928352604080842090915290825290205460ff1681565b600b81815481106108c357fe5b60009182526020918290206007909102018054600182015460028301546003840154604080516060810182526004870154815260058701549781019790975260069095015460ff16948601949094526001600160a01b0390921694509290919085565b60086020526000908152604090208054600182015460039092015490919060ff1683565b600b5490565b3360009081527f6e26ed6241e2631dd5af774c1dcc7fd99eac19a8518cd3b9253a8b0c57950ec7602052604090205460ff166109a75760405162461bcd60e51b815260040161099e90612996565b60405180910390fd5b6109c2858585856109bd3687900387018761205f565b611336565b6109de5760405162461bcd60e51b815260040161099e90612966565b5050505050565b6109ed61130c565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906106df90839061274a565b6001546001600160a01b031681565b601160209081526000928352604080842090915290825290205481565b6002546001600160a01b03163314610a9b5760405162461bcd60e51b815260040161099e90612926565b610ab5848484610ab03686900386018661205f565b6115e5565b50505050565b3360009081527f6e26ed6241e2631dd5af774c1dcc7fd99eac19a8518cd3b9253a8b0c57950ec7602052604090205460ff16610b095760405162461bcd60e51b815260040161099e90612996565b600081815260086020526040902060010154610b375760405162461bcd60e51b815260040161099e906128c6565b610b40816118f5565b610b5c5760405162461bcd60e51b815260040161099e90612936565b60008181526008602052604090206003015460ff1615610b8e5760405162461bcd60e51b815260040161099e90612986565b60096000805b8254811015610bcb5783838281548110610baa57fe5b90600052602060002001541415610bc357809150610bcb565b600101610b94565b50815460001901811015610c2457805b825460001901811015610c2257828160010181548110610bf757fe5b9060005260206000200154838281548110610c0e57fe5b600091825260209091200155600101610bdb565b505b815482906000198101908110610c3657fe5b60009182526020822001558154610c51836000198301611bb7565b5060008381526008602052604090819020600301805460ff19166001179055517f7ade90a30921855a6ca1079e6ef718e03ede0902f7ba6bc5db995b3259299c6090610c9e9085906129b6565b60405180910390a1505050565b600e5490565b610cb961130c565b60008381526003602090815260408083206001600160a01b038616845290915290819020805460ff1916831515179055517f332a909457a11d98527bfc5a73912903b22c710ff0f6fd05d8fbec4330de728990610c9e90859085908590612839565b60066020528160005260406000208181548110610d3457fe5b90600052602060002001600091509150505481565b6001546001600160a01b03163314610d735760405162461bcd60e51b815260040161099e90612896565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610db6926001600160a01b0391821692911690612758565b60405180910390a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b610dfa61130c565b60008111610e1a5760405162461bcd60e51b815260040161099e906128f6565b600d55565b3360009081527f6e26ed6241e2631dd5af774c1dcc7fd99eac19a8518cd3b9253a8b0c57950ec7602052604090205460ff16610e6d5760405162461bcd60e51b815260040161099e90612996565b8689148015610e7b57508489145b8015610e8657508289145b8015610e9157508089145b610ead5760405162461bcd60e51b815260040161099e90612906565b60005b89811015610f4057610f378b8b83818110610ec757fe5b9050602002016020610edc9190810190611d6f565b8a8a84818110610ee857fe5b90506020020135898985818110610efb57fe5b90506020020135888886818110610f0e57fe5b90506020020135878787818110610f2157fe5b9050606002018036036109bd919081019061205f565b50600101610eb0565b5050505050505050505050565b6000546001600160a01b031681565b6002546001600160a01b03163314610f865760405162461bcd60e51b815260040161099e90612926565b6000600a8381548110610f9557fe5b60009182526020909120600890910201600481015490915060ff1615610fcd5760405162461bcd60e51b815260040161099e90612976565b805460405161101d916001600160a01b031690610fee90859060200161273e565b60408051601f19818403018152919052805160209091012060058401546006850154600786015460ff1661193d565b6110395760405162461bcd60e51b815260040161099e90612956565b60048101805460ff19166001179055600f5461105b908363ffffffff61196a16565b600f556040517f1dc67d0d3096a397c2e4b90881a4423dd7e4de587a85153ea174286382463c279061108e9085906129b6565b60405180910390a180546001600160a01b0316600090815260066020526040812090805b82548110156110e957858382815481106110c857fe5b906000526020600020015414156110e1578091506110e9565b6001016110b2565b5081546000190181101561114257805b8254600019018110156111405782816001018154811061111557fe5b906000526020600020015483828154811061112c57fe5b6000918252602090912001556001016110f9565b505b81548290600019810190811061115457fe5b6000918252602082200155815461116f836000198301611bb7565b505050505050565b600091825260116020908152604080842092845291905290205490565b61119c61130c565b60008281526004602052604090819020805460ff1916831515179055517fa6159d868cefcb0936fdbddf19e6303992256944fd4ea432eb0d533309aaa58c906111e890849084906129c4565b60405180910390a15050565b60046020526000908152604090205460ff1681565b6002546001600160a01b031681565b600d5481565b600c5481565b60105481565b3360009081527f6e26ed6241e2631dd5af774c1dcc7fd99eac19a8518cd3b9253a8b0c57950ec7602052604090205460ff166112785760405162461bcd60e51b815260040161099e90612996565b6010546000908152600860205260409020600201546112a95760405162461bcd60e51b815260040161099e906129a6565b6112b1611996565b565b600e5481565b600360209081526000928352604080842090915290825290205460ff1681565b600f5490565b6112e761130c565b600081116113075760405162461bcd60e51b815260040161099e90612916565b600c55565b6000546001600160a01b031633146112b15760405162461bcd60e51b815260040161099e906128e6565b600083815260076020908152604080832085845290915281205460ff16156113705760405162461bcd60e51b815260040161099e90612946565b600160076000868152602001908152602001600020600085815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600a805490509050600a6040518060c00160405280896001600160a01b03168152602001888152602001878152602001868152602001600015158152602001858152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555060a082015181600501600082015181600001556020820151816001015560408201518160020160006101000a81548160ff021916908360ff160217905550505050505060066000886001600160a01b03166001600160a01b0316815260200190815260200160002081908060018154018082558091505090600182039060005260206000200160009091929091909150555061155c866011600080600181111561152e57fe5b815260200190815260200160002060008881526020019081526020016000205461196a90919063ffffffff16565b60008681527f4ad3b33220dddc71b994a52d72c06b10862965f7d926534c05c00fb7e819e7b760205260409081902091909155516001600160a01b038816907f2ebeb3706ca5c1d47a81a4600f800f0a93e0504a8bae279764b4ef7bc7a83967906115ce9089908990899087906129fa565b60405180910390a260019150505b95945050505050565b60008281526004602052604090205460ff166116135760405162461bcd60e51b815260040161099e906128d6565b600b80546001600160a01b03868116600081815260056020908152604080832060108054855290835281842080546001808201835591865284862001889055825160a0810184529586528584018c81528684018c8152925460608801908152608088018c81528b549384018c559a90965295517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db96007909202918201805473ffffffffffffffffffffffffffffffffffffffff1916919098161790965593517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dba86015592517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbb85015590517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbc840155935180517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbd840155938401517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbe83015592909201517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbf909201805460ff191660ff90931692909217909155600e546117da908561196a565b600e5560008381527f17bc176d2408558f6e4111feebc3cab4e16b63e967be91cde721f4c8a488b552602052604090205461181b908563ffffffff61196a16565b60008481527f17bc176d2408558f6e4111feebc3cab4e16b63e967be91cde721f4c8a488b5526020908152604080832093909355601054825260089052206002015461187a576010546000908152600860205260409020426001909101555b60108054600090815260086020908152604080832060020180546001810182559084529190922001839055905490516001600160a01b038716917f87d832bd33d2f45e5e10d77d6bb119af690faef79aa2e4b36ca7b953baf47271916118e5918891889187916129fa565b60405180910390a26109de611a98565b6000805b60095481101561193457826009828154811061191157fe5b9060005260206000200154141561192c57600191505061067a565b6001016118f9565b50600092915050565b600061194b85858585611aad565b6001600160a01b0316866001600160a01b031614905095945050505050565b60008282018381101561198f5760405162461bcd60e51b815260040161099e906128a6565b9392505050565b601054600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018190556040517f5263beccfd97c2947207bf7254d7c0c216431d4b9cea8c9b3371e8187020851b916119fc916129b6565b60405180910390a1601054611a1890600163ffffffff61196a16565b6010819055604080516080810182528281524260208083019182528351600080825281830186528486019182526060850181905295865260088252939094208251815590516001820155915180519193611a7a92600285019290910190611be0565b50606091909101516003909101805460ff1916911515919091179055565b611aa0611b34565b156112b1576112b1611996565b60008085604051602001611ac1919061271e565b60405160208183030381529060405280519060200120905060018184878760405160008152602001604052604051611afc9493929190612861565b6020604051602081039080840390855afa158015611b1e573d6000803e3d6000fd5b505050602060405103519150505b949350505050565b60105460009081526008602052604081206001810154600c54600290920154909111611b6457600191505061077b565b600d54611b77428363ffffffff611b8f16565b1115611b8757600191505061077b565b600091505090565b600082821115611bb15760405162461bcd60e51b815260040161099e906128b6565b50900390565b815481835581811115611bdb57600083815260209020611bdb918101908301611c2b565b505050565b828054828255906000526020600020908101928215611c1b579160200282015b82811115611c1b578251825591602001919060010190611c00565b50611c27929150611c2b565b5090565b61077b91905b80821115611c275760008155600101611c31565b803561060c81612a71565b60008083601f840112611c6257600080fd5b50813567ffffffffffffffff811115611c7a57600080fd5b602083019150836020820283011115611c9257600080fd5b9250929050565b60008083601f840112611cab57600080fd5b50813567ffffffffffffffff811115611cc357600080fd5b602083019150836060820283011115611c9257600080fd5b803561060c81612a88565b803561060c81612a91565b600060608284031215611d0357600080fd5b50919050565b600060608284031215611d1b57600080fd5b611d256060612a15565b90506000611d338484611ce6565b8252506020611d4484848301611ce6565b6020830152506040611d5884828501611d64565b60408301525092915050565b803561060c81612a9a565b600060208284031215611d8157600080fd5b6000611b2c8484611c45565b60008060408385031215611da057600080fd5b6000611dac8585611c45565b9250506020611dbd85828601611ce6565b9150509250929050565b600080600060608486031215611ddc57600080fd5b6000611de88686611c45565b9350506020611df986828701611ce6565b9250506040611e0a86828701611ce6565b9150509250925092565b60008060008060c08587031215611e2a57600080fd5b6000611e368787611c45565b9450506020611e4787828801611ce6565b9350506040611e5887828801611ce6565b9250506060611e6987828801611cf1565b91505092959194509250565b600080600080600060e08688031215611e8d57600080fd5b6000611e998888611c45565b9550506020611eaa88828901611ce6565b9450506040611ebb88828901611ce6565b9350506060611ecc88828901611ce6565b9250506080611edd88828901611cf1565b9150509295509295909350565b60008060008060008060008060008060a08b8d031215611f0957600080fd5b8a3567ffffffffffffffff811115611f2057600080fd5b611f2c8d828e01611c50565b9a509a505060208b013567ffffffffffffffff811115611f4b57600080fd5b611f578d828e01611c50565b985098505060408b013567ffffffffffffffff811115611f7657600080fd5b611f828d828e01611c50565b965096505060608b013567ffffffffffffffff811115611fa157600080fd5b611fad8d828e01611c50565b945094505060808b013567ffffffffffffffff811115611fcc57600080fd5b611fd88d828e01611c99565b92509250509295989b9194979a5092959850565b60008060408385031215611fff57600080fd5b600061200b8585611ce6565b9250506020611dbd85828601611c45565b60008060006060848603121561203157600080fd5b600061203d8686611ce6565b935050602061204e86828701611c45565b9250506040611e0a86828701611cdb565b60006060828403121561207157600080fd5b6000611b2c8484611d09565b60006020828403121561208f57600080fd5b6000611b2c8484611ce6565b600080604083850312156120ae57600080fd5b60006120ba8585611ce6565b9250506020611dbd85828601611cdb565b600080604083850312156120de57600080fd5b6000611dac8585611ce6565b60006120f6838361216f565b505060200190565b61210781612a4f565b82525050565b600061211882612a42565b6121228185612a46565b935061212d83612a3c565b8060005b8381101561215b57815161214588826120ea565b975061215083612a3c565b925050600101612131565b509495945050505050565b61210781612a5a565b6121078161077b565b6121076121848261077b565b61077b565b6000612196603583612a46565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b60006121f5601c8361067a565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c0192915050565b600061222e601b83612a46565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612267601e83612a46565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006122a0602183612a46565b7f5468697320706572696f64206964206973206e6f7420737461727465642079658152601d60fa1b602082015260400192915050565b60006122e3601683612a46565b7f496e76616c696420746172676574206e6574776f726b00000000000000000000815260200192915050565b600061231c602f83612a46565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b600061237b601383612a46565b7f54696d652063616e6e6f74206265207a65726f00000000000000000000000000815260200192915050565b60006123b4601b83612a46565b7f496e707574206c656e677468206973206e6f74206d6174636865640000000000815260200192915050565b60006123ed601e83612a46565b7f4e756d6265722073686f756c64206c6172676572207468616e207a65726f0000815260200192915050565b6000612426603483612a46565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e81527f20706572666f726d207468697320616374696f6e000000000000000000000000602082015260400192915050565b6000612485602183612a46565b7f506572696f64206973206e6f74206f6e207468652070726f63657373206c69738152601d60fa1b602082015260400192915050565b60006124c8602b83612a46565b7f5265717565737420696420697320616c7265616479207265676973746572656481527f20746f20696e626f756e64000000000000000000000000000000000000000000602082015260400192915050565b6000612527601d83612a46565b7f746865207369676e6174757265206973206e6f74207665726966696564000000815260200192915050565b6000612560601883612a46565b7f417070656e6420696e626f756e64696e67206661696c65640000000000000000815260200192915050565b6000612599602883612a46565b7f5468697320696e626f756e64696e672068617320616c7265616479206265656e81527f20636c61696d6564000000000000000000000000000000000000000000000000602082015260400192915050565b60006125f8602183612a46565b7f506572696f642068617320616c7265616479206265656e2070726f636573736581527f6400000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000612657601783612a46565b7f43616c6c6572206973206e6f742076616c696461746f72000000000000000000815260200192915050565b6000612690602383612a46565b7f4e6f206f7574626f756e64696e67207265717565737420697320696e2070657281527f696f640000000000000000000000000000000000000000000000000000000000602082015260400192915050565b805160608301906126f3848261216f565b506020820151612706602085018261216f565b506040820151610ab560408501825b61210781612a6b565b6000612729826121e8565b91506127358284612178565b50602001919050565b60006127358284612178565b6020810161060c82846120fe565b6040810161276682856120fe565b61198f60208301846120fe565b610100810161278282896120fe565b61278f602083018861216f565b61279c604083018761216f565b6127a9606083018661216f565b6127b66080830185612166565b6127c360a08301846126e2565b979650505050505050565b60e081016127dc82886120fe565b6127e9602083018761216f565b6127f6604083018661216f565b612803606083018561216f565b61281060808301846126e2565b9695505050505050565b6020808252810161198f818461210d565b6020810161060c8284612166565b60608101612847828661216f565b61285460208301856120fe565b611b2c6040830184612166565b6080810161286f828761216f565b61287c6020830186612715565b612889604083018561216f565b6115dc606083018461216f565b6020808252810161060c81612189565b6020808252810161060c81612221565b6020808252810161060c8161225a565b6020808252810161060c81612293565b6020808252810161060c816122d6565b6020808252810161060c8161230f565b6020808252810161060c8161236e565b6020808252810161060c816123a7565b6020808252810161060c816123e0565b6020808252810161060c81612419565b6020808252810161060c81612478565b6020808252810161060c816124bb565b6020808252810161060c8161251a565b6020808252810161060c81612553565b6020808252810161060c8161258c565b6020808252810161060c816125eb565b6020808252810161060c8161264a565b6020808252810161060c81612683565b6020810161060c828461216f565b604081016129d2828561216f565b61198f6020830184612166565b606081016129ed828661216f565b612854602083018561216f565b60808101612a08828761216f565b61287c602083018661216f565b60405181810167ffffffffffffffff81118282101715612a3457600080fd5b604052919050565b60200190565b5190565b90815260200190565b600061060c82612a5f565b151590565b6001600160a01b031690565b60ff1690565b612a7a81612a4f565b8114612a8557600080fd5b50565b612a7a81612a5a565b612a7a8161077b565b612a7a81612a6b56fea365627a7a72315820a25bf503670dd2fdc11d14cdf4e77633b33e13cf176f1f8bc8eee26d05989d296c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcChainId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcOutboundingId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "inboundId",
							"type": "uint256"
						}
					],
					"name": "InboundingAppended",
					"type": "event",
					"signature": "0x2ebeb3706ca5c1d47a81a4600f800f0a93e0504a8bae279764b4ef7bc7a83967"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "inboundId",
							"type": "uint256"
						}
					],
					"name": "InboundingClaimed",
					"type": "event",
					"signature": "0x1dc67d0d3096a397c2e4b90881a4423dd7e4de587a85153ea174286382463c27"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "chainId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "changedTo",
							"type": "bool"
						}
					],
					"name": "NetworkStatusChanged",
					"type": "event",
					"signature": "0xa6159d868cefcb0936fdbddf19e6303992256944fd4ea432eb0d533309aaa58c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destChainId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "outboundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "OutboundingAppended",
					"type": "event",
					"signature": "0x87d832bd33d2f45e5e10d77d6bb119af690faef79aa2e4b36ca7b953baf47271"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "PeriodClosed",
					"type": "event",
					"signature": "0x5263beccfd97c2947207bf7254d7c0c216431d4b9cea8c9b3371e8187020851b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "PeriodProcessed",
					"type": "event",
					"signature": "0x7ade90a30921855a6ca1079e6ef718e03ede0902f7ba6bc5db995b3259299c60"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "role",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "target",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "set",
							"type": "bool"
						}
					],
					"name": "SetRole",
					"type": "event",
					"signature": "0x332a909457a11d98527bfc5a73912903b22c710ff0f6fd05d8fbec4330de7289"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountInboundings",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x735b8bbc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountOutboundings",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x186f44ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_period",
							"type": "uint256"
						}
					],
					"name": "accountOutboundingsInPeriod",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4a73d231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_srcChainId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_srcOutboundingId",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct BridgeState.Signature",
							"name": "_sign",
							"type": "tuple"
						}
					],
					"name": "appendInboundingRequest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x50db3a01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "_accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_srcChainIds",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_srcOutboundingIds",
							"type": "uint256[]"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct BridgeState.Signature[]",
							"name": "_sign",
							"type": "tuple[]"
						}
					],
					"name": "appendMultipleInboundingRequests",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7e3fd16a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_destChainIds",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct BridgeState.Signature",
							"name": "_sign",
							"type": "tuple"
						}
					],
					"name": "appendOutboundingRequest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x62f0c06b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "applicableInboundIds",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a2da178"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "claimInbound",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x909f018a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeOutboundPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe650630d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentOutboundPeriodId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda4172ef"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_inboundOutbound",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "targetNetworkId",
							"type": "uint256"
						}
					],
					"name": "getMovedAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x94a8b419"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTotalInboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc9ff121"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTotalOutboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x663c2dae"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "inboundings",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "srcChainId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "srcOutboundingId",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "claimed",
							"type": "bool"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct BridgeState.Signature",
							"name": "sign",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1e1d164f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "inboundingsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x20c39d1c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_roleKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "isOnRole",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x36870f4d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "movedAmounts",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59e045aa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "networkOpened",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaa200217"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "numberOfOutboundPerPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8c4dd57"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_outboundPeriodId",
							"type": "uint256"
						}
					],
					"name": "outboundIdsInPeriod",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3851eb0a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "outboundPeriods",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startTime",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "processed",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481dd7e8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_periodId",
							"type": "uint256"
						}
					],
					"name": "outboundRequestIdsInPeriod",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03a97279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "outboundings",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "destChainId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct BridgeState.Signature",
							"name": "sign",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x40a997b6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "outboundingsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x50b2e57d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb470aade"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodIdsToProcess",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a8ec357"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_outboundPeriodId",
							"type": "uint256"
						}
					],
					"name": "processOutboundPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6455c67f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "roles",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf8fc08b9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_chainId",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_setTo",
							"type": "bool"
						}
					],
					"name": "setNetworkStatus",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9c50a136"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_number",
							"type": "uint256"
						}
					],
					"name": "setNumberOfOutboundPerPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfe9e903f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_time",
							"type": "uint256"
						}
					],
					"name": "setPeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7c2d6e01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_roleKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setRole",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a951316"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "srcOutboundingIdRegistered",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3a01662a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalInboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3711991e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOutboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeeaf19ad"
				}
			],
			"source": {
				"keccak256": "0xf9bbf8711b115cd58debd3f7b3522c2fd08e41894261f97a595dd3c0a80e3f6a",
				"urls": [
					"bzz-raw://376ce2dd7738d9dfa43ed2be3a9e676aa8b20d2e365678aef8e94eaf7761f59e",
					"dweb:/ipfs/QmY8FHrp8NU8ydDMz5smLyc7KggqfuLkpAFbsQmvJVm8p7"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BridgeState.sol": "BridgeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"BridgeState.sol": {
						"keccak256": "0xf9bbf8711b115cd58debd3f7b3522c2fd08e41894261f97a595dd3c0a80e3f6a",
						"urls": [
							"bzz-raw://376ce2dd7738d9dfa43ed2be3a9e676aa8b20d2e365678aef8e94eaf7761f59e",
							"dweb:/ipfs/QmY8FHrp8NU8ydDMz5smLyc7KggqfuLkpAFbsQmvJVm8p7"
						]
					}
				},
				"version": 1
			}
		},
		"DebtCache": {
			"bytecode": "60806040526007805460ff1916600117905534801561001d57600080fd5b506040516127853803806127858339818101604052604081101561004057600080fd5b50805160209091015181818080836001600160a01b0381166100a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050505061264e806101376000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c80638da5cb5b116100e3578063dae3de981161008c578063fa9f18d311610066578063fa9f18d3146104b6578063fc52477314610526578063fca28f741461052e57610198565b8063dae3de9814610421578063e3476cd414610491578063f7cc999f1461049957610198565b8063af5355d8116100bd578063af5355d8146103f4578063d0fffafd146103fc578063d6576c841461040457610198565b80638da5cb5b146103225780639f98fb491461032a578063a5f27edb146103ec57610198565b806353a47bb71161014557806379ba50971161011f57806379ba50971461029f5780638376a782146102a7578063899ffef4146102ca57610198565b806353a47bb71461026e5780637418536014610276578063759076e51461027e57610198565b80631627540c116101765780631627540c146101fc5780632af64bd3146102225780633a900a2e1461023e57610198565b806304bd11e51461019d57806304f3bcec146101be57806305393262146101e2575b600080fd5b6101bc600480360360208110156101b357600080fd5b503515156105fd565b005b6101c6610611565b604080516001600160a01b039092168252519081900360200190f35b6101ea610620565b60408051918252519081900360200190f35b6101bc6004803603602081101561021257600080fd5b50356001600160a01b0316610627565b61022a610690565b604080519115158252519081900360200190f35b6102466107b3565b6040805194855260208501939093529015158383015215156060830152519081900360800190f35b6101c66107e4565b6101bc6107f3565b6102866109e1565b6040805192835290151560208301528051918290030190f35b6101bc6109f4565b6101bc600480360360408110156102bd57600080fd5b5080359060200135610abd565b6102d2610b50565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561030e5781810151838201526020016102f6565b505050509050019250505060405180910390f35b6101c6610cde565b6101bc6004803603604081101561034057600080fd5b81019060208101813564010000000081111561035b57600080fd5b82018360208201111561036d57600080fd5b8035906020019184602083028401116401000000008311171561038f57600080fd5b9193909290916020810190356401000000008111156103ad57600080fd5b8201836020820111156103bf57600080fd5b803590602001918460208302840111640100000000831117156103e157600080fd5b509092509050610ced565b61022a610d62565b6101ea610d6b565b6101ea610d7a565b6101bc6004803603602081101561041a57600080fd5b5035610d80565b6102d26004803603602081101561043757600080fd5b81019060208101813564010000000081111561045257600080fd5b82018360208201111561046457600080fd5b8035906020019184602083028401116401000000008311171561048657600080fd5b509092509050610e6d565b6101bc610eb4565b6101ea600480360360208110156104af57600080fd5b5035611149565b6101bc600480360360208110156104cc57600080fd5b8101906020810181356401000000008111156104e757600080fd5b8201836020820111156104f957600080fd5b8035906020019184602083028401116401000000008311171561051b57600080fd5b50909250905061115b565b61022a6112f2565b61059e6004803603602081101561054457600080fd5b81019060208101813564010000000081111561055f57600080fd5b82018360208201111561057157600080fd5b8035906020019184602083028401116401000000008311171561059357600080fd5b5090925090506112ff565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156105e85781810151838201526020016105d0565b50505050905001935050505060405180910390f35b61060561134a565b61060e81611459565b50565b6002546001600160a01b031681565b6004545b90565b61062f6114a6565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000606061069c610b50565b905060005b81518110156107aa5760008282815181106106b857fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561073957600080fd5b505afa15801561074d573d6000803e3d6000fd5b505050506040513d602081101561076357600080fd5b50516001600160a01b031614158061079057506000818152600360205260409020546001600160a01b0316155b156107a15760009350505050610624565b506001016106a1565b50600191505090565b6006546004546007546000928392839283929190829060ff166107d5826114f1565b94509450945094505090919293565b6001546001600160a01b031681565b60606107fd610b50565b905060005b81518110156109dd57600082828151811061081957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156108e85781810151838201526020016108d0565b50505050905090810190601f1680156109155780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561093357600080fd5b505afa158015610947573d6000803e3d6000fd5b505050506040513d602081101561095d57600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610802565b5050565b6000806109ec61150a565b915091509091565b6001546001600160a01b03163314610a3d5760405162461bcd60e51b81526004018080602001828103825260358152602001806125676035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b610ac561134a565b604080516001808252818301909252606091602080830190803883390190505090508281600081518110610af557fe5b60209081029190910101526040805160018082528183019092526060918160200160208202803883390190505090508281600081518110610b3257fe5b602002602001018181525050610b4a8282600061170a565b50505050565b606080610b5b6118bf565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506524b9b9bab2b960d11b81600081518110610b9a57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610bc057fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610bea57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610c1357fe5b6020026020010181815250507f4574686572436f6c6c61746572616c000000000000000000000000000000000081600481518110610c4d57fe5b6020026020010181815250507f4574686572436f6c6c61746572616c705553440000000000000000000000000081600581518110610c8757fe5b6020026020010181815250507f436f6c6c61746572616c4d616e6167657200000000000000000000000000000081600681518110610cc157fe5b602002602001018181525050610cd7828261191e565b9250505090565b6000546001600160a01b031681565b610cf561134a565b610b4a848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040805160208088028281018201909352878252909350879250869182918501908490808284376000920182905250925061170a915050565b60075460ff1690565b6000610d756119da565b905090565b60065490565b610d886114a6565b6000610d92611aa0565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610dd557600080fd5b505afa158015610de9573d6000803e3d6000fd5b505050506040513d6020811015610dff57600080fd5b50516001600160a01b031614610e5c576040805162461bcd60e51b815260206004820152600c60248201527f50796e7468206578697374730000000000000000000000000000000000000000604482015290519081900360640190fd5b600090815260056020526040812055565b6060610eab838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611ab492505050565b90505b92915050565b610ebc611b44565b6060610ec6611aa0565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015610efe57600080fd5b505afa158015610f12573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f3b57600080fd5b8101908080516040519392919084640100000000821115610f5b57600080fd5b908301906020820185811115610f7057600080fd5b8251866020820283011164010000000082111715610f8d57600080fd5b82525081516020918201928201910280838360005b83811015610fba578181015183820152602001610fa2565b50505050905001604052505050905060606000610fd683611baa565b915091506000610fe4611d25565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b15801561101b57600080fd5b505afa15801561102f573d6000803e3d6000fd5b505050506040513d604081101561104557600080fd5b505183519091506000805b828110156110ba57600086828151811061106657fe5b602002602001015190506110838184611d5090919063ffffffff16565b925080600560008a858151811061109657fe5b60209081029190910181015182528101919091526040016000205550600101611050565b506110cb818463ffffffff611daa16565b600455426006556040805182815290517f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999181900360200190a16040805142815290517fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f9181900360200190a161114184611459565b505050505050565b60009081526005602052604090205490565b611163611b44565b6060600061116f611e07565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b1580156111e157600080fd5b505afa1580156111f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561121e57600080fd5b810190808051604051939291908464010000000082111561123e57600080fd5b90830190602082018581111561125357600080fd5b825186602082028301116401000000008211171561127057600080fd5b82525081516020918201928201910280838360005b8381101561129d578181015183820152602001611285565b505050509190910160408181526020938401518a850280840186019092528a8352969850959650610b4a95909450899350889283925085019084908082843760009201919091525086925085915061170a9050565b6000610d756006546114f1565b6060600061133f848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611baa92505050565b915091509250929050565b6000611354611aa0565b6001600160a01b03166357ad4663631c1554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561139e57600080fd5b505afa1580156113b2573d6000803e3d6000fd5b505050506040513d60208110156113c857600080fd5b505190506113d4611aa0565b6001600160a01b0316336001600160a01b0316148061140b57506113f6611e22565b6001600160a01b0316336001600160a01b0316145b8061141e5750336001600160a01b038216145b61060e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806125ec602e913960400191505060405180910390fd5b60075460ff1615158115151461060e576007805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6000546001600160a01b031633146114ef5760405162461bcd60e51b815260040180806020018281038252602f81526020018061259c602f913960400191505060405180910390fd5b565b60008142036114fe6119da565b1080610eae5750501590565b6000806060600061162261151c611aa0565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561155457600080fd5b505afa158015611568573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561159157600080fd5b81019080805160405193929190846401000000008211156115b157600080fd5b9083019060208201858111156115c657600080fd5b82518660208202830111640100000000821117156115e357600080fd5b82525081516020918201928201910280838360005b838110156116105781810151838201526020016115f8565b50505050905001604052505050611baa565b815191935091506000805b828110156116655761165b85828151811061164457fe5b602002602001015183611d5090919063ffffffff16565b915060010161162d565b50600080611671611d25565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b1580156116a857600080fd5b505afa1580156116bc573d6000803e3d6000fd5b505050506040513d60408110156116d257600080fd5b50805160209091015190925090506116f0838363ffffffff611daa16565b925084806116fb5750805b92975091955050505050509091565b825182518114611761576040805162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015290519081900360640190fd5b60008060606117708787611e39565b905060005b848110156117ff57600088828151811061178b57fe5b6020026020010151905060008383815181106117a357fe5b602002602001015190506117d3600560008481526020019081526020016000205487611d5090919063ffffffff16565b95506117e5858263ffffffff611d5016565b600092835260056020526040909220559250600101611775565b508183146118a757600454808411156118495760405162461bcd60e51b81526004018080602001828103825260238152602001806125446023913960400191505060405180910390fd5b6118698361185d838763ffffffff611daa16565b9063ffffffff611d5016565b60048190556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a1505b84156118b6576118b685611459565b50505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061190f57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561194e578160200160208202803883390190505b50905060005b83518110156119905783818151811061196957fe5b602002602001015182828151811061197d57fe5b6020908102919091010152600101611954565b5060005b82518110156119d3578281815181106119a957fe5b60200260200101518282865101815181106119c057fe5b6020908102919091010152600101611994565b5092915050565b60006119e4612320565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f64656274536e617073686f745374616c6554696d6500000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611a6f57600080fd5b505afa158015611a83573d6000803e3d6000fd5b505050506040513d6020811015611a9957600080fd5b5051905090565b6000610d756524b9b9bab2b960d11b612347565b6060600082519050606081604051908082528060200260200182016040528015611ae8578160200160208202803883390190505b50905060005b82811015611b3c5760056000868381518110611b0657fe5b6020026020010151815260200190815260200160002054828281518110611b2957fe5b6020908102919091010152600101611aee565b509392505050565b6000546001600160a01b031633146114ef57611b5e612430565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015611b9657600080fd5b505afa158015610b4a573d6000803e3d6000fd5b6060600060606000611bba611e07565b6001600160a01b031663c8e5bbd5866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611c18578181015183820152602001611c00565b505050509050019250505060006040518083038186803b158015611c3b57600080fd5b505afa158015611c4f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611c7857600080fd5b8101908080516040519392919084640100000000821115611c9857600080fd5b908301906020820185811115611cad57600080fd5b8251866020820283011164010000000082111715611cca57600080fd5b82525081516020918201928201910280838360005b83811015611cf7578181015183820152602001611cdf565b50505050919091016040525060200151929450919250611d1b915086905083611e39565b9350915050915091565b6000610d757f436f6c6c61746572616c4d616e61676572000000000000000000000000000000612347565b600082820183811015610eab576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611e01576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610d756c45786368616e6765526174657360981b612347565b6000610d756822bc31b430b733b2b960b91b612347565b6060600083519050606081604051908082528060200260200182016040528015611e6d578160200160208202803883390190505b5090506060611e7a611aa0565b6001600160a01b0316631db63a33876040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611ed8578181015183820152602001611ec0565b505050509050019250505060006040518083038186803b158015611efb57600080fd5b505afa158015611f0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611f3857600080fd5b8101908080516040519392919084640100000000821115611f5857600080fd5b908301906020820185811115611f6d57600080fd5b8251866020820283011164010000000082111715611f8a57600080fd5b82525081516020918201928201910280838360005b83811015611fb7578181015183820152602001611f9f565b50505050905001604052505050905060008090505b83811015612315576000878281518110611fe257fe5b602002602001015190506000838381518110611ffa57fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316141561206c576040805162461bcd60e51b815260206004820152601460248201527f50796e746820646f6573206e6f74206578697374000000000000000000000000604482015290519081900360640190fd5b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156120a757600080fd5b505afa1580156120bb573d6000803e3d6000fd5b505050506040513d60208110156120d157600080fd5b505190506120dd611d25565b6001600160a01b03166342e32f13846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561212057600080fd5b505afa158015612134573d6000803e3d6000fd5b505050506040513d602081101561214a57600080fd5b5051156121f257600061215b611d25565b6001600160a01b031663d2f00475856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561219e57600080fd5b505afa1580156121b2573d6000803e3d6000fd5b505050506040513d60208110156121c857600080fd5b50519050818111156121dd57600091506121f0565b6121ed828263ffffffff611daa16565b91505b505b631c1554d160e21b8314808061222757507f704554480000000000000000000000000000000000000000000000000000000084145b156122c8576000816122405761223b61244a565b612248565b612248612475565b90506000816001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b15801561228557600080fd5b505afa158015612299573d6000803e3d6000fd5b505050506040513d60208110156122af57600080fd5b505190506122c3848263ffffffff611daa16565b935050505b6122ee8a86815181106122d757fe5b6020026020010151836124a090919063ffffffff16565b8786815181106122fa57fe5b6020908102919091010152505060019092019150611fcc9050565b509095945050505050565b6000610d757f466c657869626c6553746f7261676500000000000000000000000000000000005b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816119d35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123f55781810151838201526020016123dd565b50505050905090810190601f1680156124225780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610d756b53797374656d53746174757360a01b612347565b6000610d757f4574686572436f6c6c61746572616c0000000000000000000000000000000000612347565b6000610d757f4574686572436f6c6c61746572616c7055534400000000000000000000000000612347565b6000610eab8383670de0b6b3a7640000848067016345785d8a00006124c586866124ea565b816124cc57fe5b0490506005600a8206106124de57600a015b600a9004949350505050565b6000826124f957506000610eae565b8282028284828161250657fe5b0414610eab5760405162461bcd60e51b81526004018080602001828103825260218152602001806125cb6021913960400191505060405180910390fdfe4361636865642070796e74682073756d206578636565647320746f74616c2064656274596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753656e646572206973206e6f7420497373756572206f722045786368616e676572206f722070796e746870555344a265627a7a72315820c18b498efef2c6bd9dc1b15ed5c2563f31122be74ba64e8e32c38f717887ec3264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "DebtCacheSnapshotTaken",
					"type": "event",
					"signature": "0xc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "cachedDebt",
							"type": "uint256"
						}
					],
					"name": "DebtCacheUpdated",
					"type": "event",
					"signature": "0x294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"name": "DebtCacheValidityChanged",
					"type": "event",
					"signature": "0x8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "isStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3a900a2e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5f27edb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc524773"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0fffafd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cachedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05393262"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "cachedPynthDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf7cc999f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "cachedPynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "periIssuedDebts",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdae3de98"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x759076e5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "currentPynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "debtValues",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfca28f74"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "purgeCachedPynthDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd6576c84"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "takeDebtSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe3476cd4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "currencyRate",
							"type": "uint256"
						}
					],
					"name": "updateCachedPynthDebtWithRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8376a782"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "updateCachedPynthDebts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfa9f18d3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "currencyRates",
							"type": "uint256[]"
						}
					],
					"name": "updateCachedPynthDebtsWithRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f98fb49"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "currentlyInvalid",
							"type": "bool"
						}
					],
					"name": "updateDebtCacheValidity",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04bd11e5"
				}
			],
			"source": {
				"keccak256": "0x5de4c585ee9038fa99746ce03d71058ef05621885f0651fceb0287e9d9f21340",
				"urls": [
					"bzz-raw://b8a7334c7409f47d5675f26f8d64c9bc02350249c6a8b35a222c71f76e5fdd16",
					"dweb:/ipfs/QmRJfebNRNoSuCcUtenwgTH4PxxLj2y9sJGuPTGRF4gucx"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DebtCache.sol": "DebtCache"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"DebtCache.sol": {
						"keccak256": "0x5de4c585ee9038fa99746ce03d71058ef05621885f0651fceb0287e9d9f21340",
						"urls": [
							"bzz-raw://b8a7334c7409f47d5675f26f8d64c9bc02350249c6a8b35a222c71f76e5fdd16",
							"dweb:/ipfs/QmRJfebNRNoSuCcUtenwgTH4PxxLj2y9sJGuPTGRF4gucx"
						]
					}
				},
				"version": 1
			}
		},
		"Exchanger": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620049c1380380620049c1833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050614895806200012c6000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806357630a4011610104578063899ffef4116100a2578063d6f32e0611610071578063d6f32e06146105de578063dfffca761461060a578063f39952241461065a578063f450aa34146106c1576101da565b8063899ffef4146105595780638da5cb5b146105b1578063a4a9c266146105b9578063c193f0d8146105d6576101da565b806379ba5097116100de57806379ba5097146104dc5780637dd1a57a146104e457806386baa45c146105015780638925711714610551576101da565b806357630a401461046f5780636a1c47581461049257806374185360146104d4576101da565b80631a5c60951161017c578063372a395a1161014b578063372a395a1461041f5780633fa70f45146104275780634c268fc81461042f57806353a47bb714610467576101da565b80631a5c6095146103445780631b16802c1461036757806324286df0146103935780632af64bd314610403576101da565b80630a1e187d116101b85780630a1e187d146102735780630aed5b46146102b55780631627540c146102d457806319d5c665146102fa576101da565b806304f3bcec146101df578063059c29ec1461020357806305af62d314610241575b600080fd5b6101e76106ea565b604080516001600160a01b039092168252519081900360200190f35b61022f6004803603604081101561021957600080fd5b506001600160a01b0381351690602001356106f9565b60408051918252519081900360200190f35b61022f6004803603606081101561025757600080fd5b506001600160a01b03813516906020810135906040013561079d565b61022f600480360360a081101561028957600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608090910135166107b2565b6102d2600480360360208110156102cb57600080fd5b50356108ca565b005b6102d2600480360360208110156102ea57600080fd5b50356001600160a01b0316610b42565b6103266004803603604081101561031057600080fd5b506001600160a01b038135169060200135610bab565b60408051938452602084019290925282820152519081900360600190f35b61022f6004803603604081101561035a57600080fd5b5080359060200135610bc9565b6103266004803603604081101561037d57600080fd5b506001600160a01b038135169060200135610bd5565b6102d2600480360360208110156103a957600080fd5b8101906020810181356401000000008111156103c457600080fd5b8201836020820111156103d657600080fd5b803590602001918460208302840111640100000000831117156103f857600080fd5b509092509050610c56565b61040b610e55565b604080519115158252519081900360200190f35b61022f610f79565b61022f610f88565b61022f6004803603608081101561044557600080fd5b506001600160a01b038135169060208101359060408101359060600135610f8d565b6101e76110c6565b6102d26004803603604081101561048557600080fd5b50803590602001356110d5565b61022f600480360360a08110156104a857600080fd5b506001600160a01b038135811691602081013590911690604081013590606081013590608001356111a6565b6102d261138c565b6102d261157a565b61022f600480360360208110156104fa57600080fd5b5035611643565b61022f600480360360e081101561051757600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c00135611655565b61022f61177a565b610561611784565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561059d578181015183820152602001610585565b505050509050019250505060405180910390f35b6101e7611989565b61040b600480360360208110156105cf57600080fd5b5035611998565b61040b6119f1565b61040b600480360360408110156105f457600080fd5b506001600160a01b0381351690602001356119fb565b61022f600480360360e081101561062057600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135611a2d565b6106a0600480360360c081101561067057600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135611c1e565b604080519283526001600160a01b0390911660208301528051918290030190f35b610326600480360360608110156106d757600080fd5b5080359060208101359060400135611d4c565b6002546001600160a01b031681565b6000610794610706611d6c565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561076357600080fd5b505afa158015610777573d6000803e3d6000fd5b505050506040513d602081101561078d57600080fd5b5051611d87565b90505b92915050565b60006107aa828585611de6565b949350505050565b60006107bc611e1e565b6001600160a01b0316336001600160a01b03161480610864575060006107e0611e37565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561083557600080fd5b505afa158015610849573d6000803e3d6000fd5b505050506040513d602081101561085f57600080fd5b505114155b61089f5760405162461bcd60e51b81526004018080602001828103825260478152602001806147856047913960600191505060405180910390fd5b60006108b087878787876000611e4b565b5090925090506108c08184612277565b5095945050505050565b6108d2612326565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561090a57600080fd5b505afa15801561091e573d6000803e3d6000fd5b5050505060006001600160a01b0316610935611e37565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561097857600080fd5b505afa15801561098c573d6000803e3d6000fd5b505050506040513d60208110156109a257600080fd5b50516001600160a01b03161415610a00576040805162461bcd60e51b815260206004820152600d60248201527f4e6f20737563682070796e746800000000000000000000000000000000000000604482015290519081900360640190fd5b610a8081610a0c612340565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a4f57600080fd5b505afa158015610a63573d6000803e3d6000fd5b505050506040513d6020811015610a7957600080fd5b505161235b565b610ad1576040805162461bcd60e51b815260206004820152601460248201527f50796e74682070726963652069732076616c6964000000000000000000000000604482015290519081900360640190fd5b610ad9612326565b6001600160a01b031663631070fc8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610b2757600080fd5b505af1158015610b3b573d6000803e3d6000fd5b5050505050565b610b4a6125ab565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806000610bba85856125f6565b50919790965090945092505050565b600061079483836128c4565b6000806000610be2612326565b6001600160a01b0316631d7e7789856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015610c2557600080fd5b505afa158015610c39573d6000803e3d6000fd5b50505050610c4985856001612982565b9250925092509250925092565b610c5e6125ab565b60606000610c6a612340565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610d1957600080fd5b8101908080516040519392919084640100000000821115610d3957600080fd5b908301906020820185811115610d4e57600080fd5b8251866020820283011164010000000082111715610d6b57600080fd5b82525081516020918201928201910280838360005b83811015610d98578181015183820152602001610d80565b505050509190910160405250602001519294509192505081159050610e04576040805162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015290519081900360640190fd5b60005b83811015610b3b57828181518110610e1b57fe5b602002602001015160046000878785818110610e3357fe5b6020908102929092013583525081019190915260400160002055600101610e07565b60006060610e61611784565b905060005b8151811015610f6f576000828281518110610e7d57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610efe57600080fd5b505afa158015610f12573d6000803e3d6000fd5b505050506040513d6020811015610f2857600080fd5b50516001600160a01b0316141580610f5557506000818152600360205260409020546001600160a01b0316155b15610f665760009350505050610f76565b50600101610e66565b5060019150505b90565b6000610f83612cf1565b905090565b604181565b816000610f98611e37565b6001600160a01b03166357ad4663866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fdb57600080fd5b505afa158015610fef573d6000803e3d6000fd5b505050506040513d602081101561100557600080fd5b5051604080517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d602081101561109457600080fd5b50519050808211156110a4578091505b82156110bd576110ba828463ffffffff612da816565b91505b50949350505050565b6001546001600160a01b031681565b60006110df612340565b9050336001600160a01b0382161461113e576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b60008211611193576040805162461bcd60e51b815260206004820152601460248201527f52617465206d7573742062652061626f76652030000000000000000000000000604482015290519081900360640190fd5b5060009182526004602052604090912055565b60006111b0611e1e565b6001600160a01b0316336001600160a01b03161480611258575060006111d4611e37565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561122957600080fd5b505afa15801561123d573d6000803e3d6000fd5b505050506040513d602081101561125357600080fd5b505114155b6112935760405162461bcd60e51b81526004018080602001828103825260478152602001806147856047913960600191505060405180910390fd5b61129b612e02565b6040805163faf431bb60e01b81526001600160a01b03898116600483015288811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b1580156112ee57600080fd5b505afa158015611302573d6000803e3d6000fd5b505050506040513d602081101561131857600080fd5b505161136b576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b600061137c878686868b6000611e4b565b5090925090506108c08188612277565b6060611396611784565b905060005b81518110156115765760008282815181106113b257fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611481578181015183820152602001611469565b50505050905090810190601f1680156114ae5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156114cc57600080fd5b505afa1580156114e0573d6000803e3d6000fd5b505050506040513d60208110156114f657600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010161139b565b5050565b6001546001600160a01b031633146115c35760405162461bcd60e51b81526004018080602001828103825260358152602001806147506035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b600061165f611e1e565b6001600160a01b0316336001600160a01b0316148061170757506000611683611e37565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156116d857600080fd5b505afa1580156116ec573d6000803e3d6000fd5b505050506040513d602081101561170257600080fd5b505114155b6117425760405162461bcd60e51b81526004018080602001828103825260478152602001806147856047913960600191505060405180910390fd5b600061175389898989896000611e4b565b5090925090506117638185612277565b61176e838784612e2d565b50979650505050505050565b6000610f83612ea7565b60608061178f612f2d565b60408051600a80825261016082019092529192506060919060208201610140803883390190505090506b53797374656d53746174757360a01b816000815181106117d557fe5b6020026020010181815250506c45786368616e6765537461746560981b816001815181106117ff57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061182957fe5b6020026020010181815250506a5065726946696e616e636560a81b8160038151811061185157fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061187557fe5b6020026020010181815250507f54726164696e6752657761726473000000000000000000000000000000000000816005815181106118af57fe5b6020026020010181815250507f44656c6567617465417070726f76616c73000000000000000000000000000000816006815181106118e957fe5b6020026020010181815250506524b9b9bab2b960d11b8160078151811061190c57fe5b6020026020010181815250506844656274436163686560b81b8160088151811061193257fe5b6020026020010181815250507f5669727475616c50796e746849737375657200000000000000000000000000008160098151811061196c57fe5b6020026020010181815250506119828282612f8c565b9250505090565b6000546001600160a01b031681565b60006119e9826119a6612340565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a4f57600080fd5b90505b919050565b6000610f83613048565b6000611a0783836106f9565b15611a1457506001610797565b6000611a2084846125f6565b5050501515949350505050565b6000611a37611e1e565b6001600160a01b0316336001600160a01b03161480611adf57506000611a5b611e37565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611ab057600080fd5b505afa158015611ac4573d6000803e3d6000fd5b505050506040513d6020811015611ada57600080fd5b505114155b611b1a5760405162461bcd60e51b81526004018080602001828103825260478152602001806147856047913960600191505060405180910390fd5b611b22612e02565b6040805163faf431bb60e01b81526001600160a01b038b811660048301528a811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b158015611b7557600080fd5b505afa158015611b89573d6000803e3d6000fd5b505050506040513d6020811015611b9f57600080fd5b5051611bf2576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b6000611c03898888888d6000611e4b565b509092509050611c138185612277565b61176e838684612e2d565b600080611c29611e1e565b6001600160a01b0316336001600160a01b03161480611cd157506000611c4d611e37565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611ca257600080fd5b505afa158015611cb6573d6000803e3d6000fd5b505050506040513d6020811015611ccc57600080fd5b505114155b611d0c5760405162461bcd60e51b81526004018080602001828103825260478152602001806147856047913960600191505060405180910390fd5b6000611d1d89898989896001611e4b565b9194509092509050611d2f8186612277565b8315611d4057611d40848785612e2d565b50965096945050505050565b6000806000611d5c8686866130ce565b5092999198509650945050505050565b6000610f836c45786368616e6765537461746560981b6131a8565b600080611d92612ea7565b9050821580611db05750611dac838263ffffffff612da816565b4210155b15611dbf5760009150506119ec565b611ddf42611dd3858463ffffffff612da816565b9063ffffffff61329116565b9392505050565b6000806000611df785856000612982565b8895509093509150508015611e1557611e1285858885610f8d565b92505b50509392505050565b6000610f836a5065726946696e616e636560a81b6131a8565b6000610f836524b9b9bab2b960d11b6131a8565b6000806000611e5b8888886132ee565b6000611e68888b8b611de6565b905080611e7f57506000925082915081905061226b565b6000806000611e8f848d8c6130ce565b939a50919850945092509050611ea58c836134e3565b80611eb55750611eb58a826134e3565b15611ece57506000955085945084935061226b92505050565b611edd8c8e868d8b8e8e61357e565b94506001600160a01b03851615611ef2578498505b851561216357611f00612340565b6001600160a01b031663654a60ac8b88631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611f5a57600080fd5b505afa158015611f6e573d6000803e3d6000fd5b505050506040513d6020811015611f8457600080fd5b50519550611f90611e37565b6001600160a01b03166357ad4663631c1554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611fda57600080fd5b505afa158015611fee573d6000803e3d6000fd5b505050506040513d602081101561200457600080fd5b50516001600160a01b031663867904b461201c61385b565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561205457600080fd5b505afa158015612068573d6000803e3d6000fd5b505050506040513d602081101561207e57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b1580156120e557600080fd5b505af11580156120f9573d6000803e3d6000fd5b5050505061210561385b565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561214a57600080fd5b505af115801561215e573d6000803e3d6000fd5b505050505b61219560405180604001604052808e81526020018c815250604051806040016040528085815260200184815250613870565b61219d611e1e565b6001600160a01b0316631b99084c8e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801561222e57600080fd5b505af1158015612242573d6000803e3d6000fd5b505050506000612250612ea7565b111561226657612266898d868d8b888888613b2e565b505050505b96509650969350505050565b60008211801561228f57506001600160a01b03811615155b801561229e575061229e613048565b15611576576122ab613d83565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561230a57600080fd5b505af115801561231e573d6000803e3d6000fd5b505050505050565b6000610f836b53797374656d53746174757360a01b6131a8565b6000610f836c45786368616e6765526174657360981b6131a8565b60008161236a57506001610797565b6000838152600460205260409020548015612391576123898184613dae565b915050610797565b606061239b612340565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b1580156123e757600080fd5b505afa1580156123fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561242457600080fd5b810190808051604051939291908464010000000082111561244457600080fd5b90830190602082018581111561245957600080fd5b825186602082028301116401000000008211171561247657600080fd5b82525081516020918201928201910280838360005b838110156124a357818101518382015260200161248b565b50505050905001604052602001805160405193929190846401000000008211156124cc57600080fd5b9083019060208201858111156124e157600080fd5b82518660208202830111640100000000821117156124fe57600080fd5b82525081516020918201928201910280838360005b8381101561252b578181015183820152602001612513565b505050509050016040525050505090506000600190505b815181101561259f57600082828151811061255957fe5b6020026020010151118015612586575061258682828151811061257857fe5b602002602001015186613dae565b156125975760019350505050610797565b600101612542565b50600095945050505050565b6000546001600160a01b031633146125f45760405162461bcd60e51b815260040180806020018281038252602f8152602001806147cc602f913960400191505060405180910390fd5b565b60008060006060612605611d6c565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561266257600080fd5b505afa158015612676573d6000803e3d6000fd5b505050506040513d602081101561268c57600080fd5b50516040805182815260208084028201019091529092506060908380156126cd57816020015b6126ba614704565b8152602001906001900390816126b25790505b50905060005b838110156128b8576000806126e6614704565b6126f18b8b86613e0d565b90506000806126ff83613f28565b91509150600061270d612340565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b15801561277c57600080fd5b505afa158015612790573d6000803e3d6000fd5b505050506040513d60208110156127a657600080fd5b505160808501519091506000906127be908390614094565b90506127ce856060015182613dae565b61284357808560600151111561280c5760608501516127f3908263ffffffff61329116565b96506128058d8863ffffffff612da816565b9c50612843565b846060015181111561284357606085015161282e90829063ffffffff61329116565b95506128408c8763ffffffff612da816565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a0015181525089898151811061289957fe5b60200260200101819052505050505050505080806001019150506126d3565b50905092959194509250565b60006128cf82614126565b9050631c1554d160e21b8314806128ec5750631c1554d160e21b82145b156128f657610797565b600760fc1b6001600160f81b0319600085901a60f81b1614801561292e5750606960f81b6001600160f81b0319600084901a60f81b16145b8061296c5750606960f81b6001600160f81b0319600085901a60f81b1614801561296c5750600760fc1b6001600160f81b0319600084901a60f81b16145b156107975761079481600263ffffffff61420c16565b600080600061299186866106f9565b156129cd5760405162461bcd60e51b815260040180806020018281038252602381526020018061483e6023913960400191505060405180910390fd5b600080600060606129de8a8a6125f6565b935093509350935082841115612a10576129fe848463ffffffff61329116565b9650612a0b8a8a89614265565b612a35565b83831115612a3557612a28838563ffffffff61329116565b9550612a358a8a886143b5565b8715612b1c57604080516001808252818301909252606091602080830190803883390190505090508981600081518110612a6b57fe5b602002602001018181525050612a7f61451e565b6001600160a01b031663fa9f18d3826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612add578181015183820152602001612ac5565b5050505090500192505050600060405180830381600087803b158015612b0257600080fd5b505af1158015612b16573d6000803e3d6000fd5b50505050505b60005b8151811015612c61578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110612b5f57fe5b602002602001015160000151848481518110612b7757fe5b602002602001015160200151858581518110612b8f57fe5b602002602001015160400151868681518110612ba757fe5b602002602001015160600151878781518110612bbf57fe5b602002602001015160800151888881518110612bd757fe5b602002602001015160a00151898981518110612bef57fe5b602002602001015160c001518a8a81518110612c0757fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101612b1f565b50819450612c6d611d6c565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612ccc57600080fd5b505af1158015612ce0573d6000803e3d6000fd5b505050505050505093509350939050565b6000612cfb614535565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612d7757600080fd5b505afa158015612d8b573d6000803e3d6000fd5b505050506040513d6020811015612da157600080fd5b5051905090565b600082820183811015610794576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610f837f44656c6567617465417070726f76616c730000000000000000000000000000006131a8565b612e35611e1e565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612e8a57600080fd5b505af1158015612e9e573d6000803e3d6000fd5b50505050505050565b6000612eb1614535565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f77616974696e67506572696f64536563730000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612d7757600080fd5b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f72616765000000000000000000000000000000000081600081518110612f7d57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612fbc578160200160208202803883390190505b50905060005b8351811015612ffe57838181518110612fd757fe5b6020026020010151828281518110612feb57fe5b6020908102919091010152600101612fc2565b5060005b82518110156130415782818151811061301757fe5b602002602001015182828651018151811061302e57fe5b6020908102919091010152600101613002565b5092915050565b6000613052614535565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b7f74726164696e6752657761726473456e61626c656400000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612d7757600080fd5b6000806000806000806130df612340565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801561313257600080fd5b505afa158015613146573d6000803e3d6000fd5b505050506040513d606081101561315c57600080fd5b5080516020820151604090920151919450909250905061317c88886128c4565b93506131888185614094565b955061319a818763ffffffff61329116565b945050939792965093509350565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816130415760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561325657818101518382015260200161323e565b50505050905090810190601f1680156132835780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000828211156132e8576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80831415613343576040805162461bcd60e51b815260206004820152601360248201527f43616e27742062652073616d652070796e746800000000000000000000000000604482015290519081900360640190fd5b60008211613398576040805162461bcd60e51b815260206004820152600b60248201527f5a65726f20616d6f756e74000000000000000000000000000000000000000000604482015290519081900360640190fd5b604080516002808252606080830184529260208301908038833901905050905083816000815181106133c657fe5b60200260200101818152505081816001815181106133e057fe5b6020026020010181815250506133f4612340565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561345257818101518382015260200161343a565b505050509050019250505060206040518083038186803b15801561347557600080fd5b505afa158015613489573d6000803e3d6000fd5b505050506040513d602081101561349f57600080fd5b5051156134dd5760405162461bcd60e51b815260040180806020018281038252602281526020018061481c6022913960400191505060405180910390fd5b50505050565b60006134ef838361235b565b1561356b576134fc612326565b6001600160a01b031663631070fc8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561354a57600080fd5b505af115801561355e573d6000803e3d6000fd5b5050505060019050610797565b6000928352600460205260409092205590565b6000613588611e37565b6001600160a01b03166357ad4663896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156135cb57600080fd5b505afa1580156135df573d6000803e3d6000fd5b505050506040513d60208110156135f557600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561364957600080fd5b505af115801561365d573d6000803e3d6000fd5b50505050600061366b611e37565b6001600160a01b03166357ad4663876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136ae57600080fd5b505afa1580156136c2573d6000803e3d6000fd5b505050506040513d60208110156136d857600080fd5b5051905082156137d7576000819050613757816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b15801561372357600080fd5b505afa158015613737573d6000803e3d6000fd5b505050506040513d602081101561374d57600080fd5b505186888a614560565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156137b957600080fd5b505af11580156137cd573d6000803e3d6000fd5b505050505061176e565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561383757600080fd5b505af115801561384b573d6000803e3d6000fd5b5050505050979650505050505050565b6000610f8366119959541bdbdb60ca1b6131a8565b8151600090631c1554d160e21b148061389357506020830151631c1554d160e21b145b90506000816138a35760036138a6565b60025b60ff1690506060816040519080825280602002602001820160405280156138d7578160200160208202803883390190505b5090508460006020020151816000815181106138ef57fe5b602090810291909101015284600160200201518160018151811061390f57fe5b602002602001018181525050606082604051908082528060200260200182016040528015613947578160200160208202803883390190505b50905084600060200201518160008151811061395f57fe5b602090810291909101015284600160200201518160018151811061397f57fe5b60200260200101818152505083613a3d57631c1554d160e21b826002815181106139a557fe5b60200260200101818152505073__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156139f557600080fd5b505af4158015613a09573d6000803e3d6000fd5b505050506040513d6020811015613a1f57600080fd5b5051815182906002908110613a3057fe5b6020026020010181815250505b613a4561451e565b6001600160a01b0316639f98fb4983836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613aa8578181015183820152602001613a90565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613ae7578181015183820152602001613acf565b50505050905001945050505050600060405180830381600087803b158015613b0e57600080fd5b505af1158015613b22573d6000803e3d6000fd5b50505050505050505050565b6000613b38612340565b90506000816001600160a01b0316637a018a1e8a6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613b8057600080fd5b505afa158015613b94573d6000803e3d6000fd5b505050506040513d6020811015613baa57600080fd5b5051604080517f7a018a1e000000000000000000000000000000000000000000000000000000008152600481018a905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015613c1257600080fd5b505afa158015613c26573d6000803e3d6000fd5b505050506040513d6020811015613c3c57600080fd5b50519050613c48611d6c565b604080517f3ca9d85c0000000000000000000000000000000000000000000000000000000081526001600160a01b038e81166004830152602482018e9052604482018d9052606482018c9052608482018b905260a482018a90524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b158015613ce657600080fd5b505af1158015613cfa573d6000803e3d6000fd5b5050604080518d8152602081018d90528082018c9052606081018b9052608081018a905260a0810186905260c0810185905260e08101899052610100810188905290516001600160a01b038f1693507f753ece0a79a8fe2305cf1cb4535d36fac46ef4b8bf768e1abffe6fc2de2636fe9250908190036101200190a25050505050505050505050565b6000610f837f54726164696e67526577617264730000000000000000000000000000000000006131a8565b6000821580613dbb575081155b15613dc857506001610797565b600083831115613de957613de2838563ffffffff61461b16565b9050613dfc565b613df9848463ffffffff61461b16565b90505b613e04612cf1565b11159392505050565b613e15614704565b600080600080600080600080613e29611d6c565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b158015613e8f57600080fd5b505afa158015613ea3573d6000803e3d6000fd5b505050506040513d610100811015613eba57600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b6000806000613f35612340565b90506000613f41612ea7565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015613fab57600080fd5b505afa158015613fbf573d6000803e3d6000fd5b505050506040513d6020811015613fd557600080fd5b505160408087015160e088015160a089015183517f109e46a20000000000000000000000000000000000000000000000000000000081526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b15801561405e57600080fd5b505afa158015614072573d6000803e3d6000fd5b505050506040513d602081101561408857600080fd5b50519395939450505050565b60006107946141198373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156140e157600080fd5b505af41580156140f5573d6000803e3d6000fd5b505050506040513d602081101561410b57600080fd5b50519063ffffffff61329116565b849063ffffffff61464516565b6000614130614535565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e6765466565526174650000000000000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156141da57600080fd5b505afa1580156141ee573d6000803e3d6000fd5b505050506040513d602081101561420457600080fd5b505192915050565b60008261421b57506000610797565b8282028284828161422857fe5b04146107945760405162461bcd60e51b81526004018080602001828103825260218152602001806147fb6021913960400191505060405180910390fd5b61426d611e37565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156142b057600080fd5b505afa1580156142c4573d6000803e3d6000fd5b505050506040513d60208110156142da57600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561432e57600080fd5b505af1158015614342573d6000803e3d6000fd5b5050505061434e611e1e565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612e8a57600080fd5b6143bd611e37565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561440057600080fd5b505afa158015614414573d6000803e3d6000fd5b505050506040513d602081101561442a57600080fd5b5051604080517f867904b40000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b15801561449757600080fd5b505af11580156144ab573d6000803e3d6000fd5b505050506144b7611e1e565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612e8a57600080fd5b6000610f836844656274436163686560b81b6131a8565b6000610f837f466c657869626c6553746f7261676500000000000000000000000000000000006131a8565b600061456a61466f565b604080517ff7741add0000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152878116602483015260448201879052606482018690529151929091169163f7741add916084808201926020929091908290030181600087803b1580156145e657600080fd5b505af11580156145fa573d6000803e3d6000fd5b505050506040513d602081101561461057600080fd5b509095945050505050565b60006107948261463985670de0b6b3a764000063ffffffff61420c16565b9063ffffffff61469a16565b6000670de0b6b3a7640000614660848463ffffffff61420c16565b8161466757fe5b049392505050565b6000610f837f5669727475616c50796e746849737375657200000000000000000000000000006131a8565b60008082116146f0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816146fb57fe5b04949350505050565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c79207065726946696e616e6365206f7220612070796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820ae3dfd64c6063b58b07f82f218959f83f32791a322bd35e5c9d257ad104982c464736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcRate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntryAppended",
					"type": "event",
					"signature": "0x753ece0a79a8fe2305cf1cb4535d36fac46ef4b8bf768e1abffe6fc2de2636fe"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reclaim",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rebate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeTimestamp",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntrySettled",
					"type": "event",
					"signature": "0x8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fa70f45"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						}
					],
					"name": "calculateAmountAfterSettlement",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountAfterSettlement",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c268fc8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a1e187d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a1c4758"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdfffca76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86baa45c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf3995224"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a5c6095"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "getAmountsForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf450aa34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "hasWaitingPeriodOrSettlementOwing",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6f32e06"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isPynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4a9c266"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dd1a57a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "maxSecsLeftInWaitingPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x059c29ec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resetLastExchangeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24286df0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "setLastExchangeRateForPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x57630a40"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1b16802c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						}
					],
					"name": "settleAndCalcSourceAmountRemaining",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "sourceAmountAfterSettlement",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x05af62d3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settlementOwing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rebateAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntries",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19d5c665"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "suspendPynthWithInvalidRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aed5b46"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0x2afdeb260156e03a095396b11ac1041603665242b18fe949c844f990cba5fc70",
				"urls": [
					"bzz-raw://fd60d7a6c49e337c2452068617db0439aded00452ef8c3d35fad7fd9698cac64",
					"dweb:/ipfs/QmQiMoG8huWsP3rfm7mbcGCrrLQXggr4GrFQR98VkDat5E"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Exchanger.sol": "Exchanger"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Exchanger.sol": {
						"keccak256": "0x2afdeb260156e03a095396b11ac1041603665242b18fe949c844f990cba5fc70",
						"urls": [
							"bzz-raw://fd60d7a6c49e337c2452068617db0439aded00452ef8c3d35fad7fd9698cac64",
							"dweb:/ipfs/QmQiMoG8huWsP3rfm7mbcGCrrLQXggr4GrFQR98VkDat5E"
						]
					}
				},
				"version": 1
			}
		},
		"VirtualPynthIssuer": {
			"bytecode": "608060405234801561001057600080fd5b50604051611f66380380611f668339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050611e42806101246000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80637418536011610076578063899ffef41161005b578063899ffef4146101285780638da5cb5b14610180578063f7741add14610188576100a3565b8063741853601461011857806379ba509714610120576100a3565b806304f3bcec146100a85780631627540c146100cc5780632af64bd3146100f457806353a47bb714610110575b600080fd5b6100b06101c4565b604080516001600160a01b039092168252519081900360200190f35b6100f2600480360360208110156100e257600080fd5b50356001600160a01b03166101d3565b005b6100fc61023c565b604080519115158252519081900360200190f35b6100b0610360565b6100f261036f565b6100f2610544565b61013061060d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561016c578181015183820152602001610154565b505050509050019250505060405180910390f35b6100b0610658565b6100b06004803603608081101561019e57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610667565b6002546001600160a01b031681565b6101db6106eb565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000606061024861060d565b905060005b815181101561035657600082828151811061026457fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156102e557600080fd5b505afa1580156102f9573d6000803e3d6000fd5b505050506040513d602081101561030f57600080fd5b50516001600160a01b031614158061033c57506000818152600360205260409020546001600160a01b0316155b1561034d576000935050505061035d565b5060010161024d565b5060019150505b90565b6001546001600160a01b031681565b606061037961060d565b905060005b815181101561054057600082828151811061039557fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561044b578181015183820152602001610433565b50505050905090810190601f1680156104785780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561049657600080fd5b505afa1580156104aa573d6000803e3d6000fd5b505050506040513d60208110156104c057600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010161037e565b5050565b6001546001600160a01b0316331461058d5760405162461bcd60e51b8152600401808060200182810382526035815260200180611daa6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b604080516001808252818301909252606091602080830190803883390190505090506822bc31b430b733b2b960b91b8160008151811061064957fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000610671610736565b6001600160a01b0316336001600160a01b0316146106d6576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b6106e2858585856107f2565b95945050505050565b6000546001600160a01b031633146107345760405162461bcd60e51b815260040180806020018281038252602f815260200180611ddf602f913960400191505060405180910390fd5b565b6002546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b600482015260248101829052601960448201527f4d697373696e672045786368616e676572206164647265737300000000000000606482015290516000926001600160a01b03169163dacb2d01916084808301926020929190829003018186803b1580156107c157600080fd5b505afa1580156107d5573d6000803e3d6000fd5b505050506040513d60208110156107eb57600080fd5b5051905090565b60007f69000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000083831a60f81b161415610890576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732070796e746800000000604482015290519081900360640190fd5b60025460405186916001600160a01b0316908690869086906108b19061095d565b6001600160a01b0395861681529385166020850152919093166040808401919091526060830193909352608082015290519081900360a001906000f0801580156108ff573d6000803e3d6000fd5b50604080516001600160a01b03808416825260208201869052818301879052915192935081871692918816917f40d987c0a731a91929904e2b9a1a44b1aa1c6ab528b7ee2e35652fe1691cbd369181900360600190a3949350505050565b61143f8061096b8339019056fe60806040526004805460ff60a01b1916905534801561001d57600080fd5b506040516200143f3803806200143f833981810160405260a081101561004257600080fd5b508051602082015160408301516060840151608090940151600380546001600160a01b038087166001600160a01b03199283161790925560048054928616929091169190911790556007819055929391929091906100a983836001600160e01b036100b616565b5060055550610211915050565b6001600160a01b038216610111576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61012a816002546101b060201b610b6c1790919060201c565b6002556001600160a01b0382166000908152602081815260409091205461015a918390610b6c6101b0821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101561020a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b61121e80620002216000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c80633db3dc9b116100d85780638f7758391161008c578063a9059cbb11610066578063a9059cbb146103e2578063dbd06c851461040e578063dd62ed3e1461041657610182565b80638f775839146103a657806395d89b41146103ae578063a457c2d7146103b657610182565b80636a256b29116100bd5780636a256b291461035057806370a082311461037857806378f2ac261461039e57610182565b80633db3dc9b146103405780634be37cea1461034857610182565b806323b872dd1161013a578063378dc3dc11610114578063378dc3dc146102e657806339509351146102ee5780633af9e6691461031a57610182565b806323b872dd1461028a5780632c4e722e146102c0578063313ce567146102c857610182565b8063095ea7b31161016b578063095ea7b31461022857806318160ddd146102685780631d0cbc8b1461028257610182565b806304f3bcec1461018757806306fdde03146101ab575b600080fd5b61018f610444565b604080516001600160a01b039092168252519081900360200190f35b6101b3610453565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ed5781810151838201526020016101d5565b50505050905090810190601f16801561021a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102546004803603604081101561023e57600080fd5b506001600160a01b03813516906020013561049c565b604080519115158252519081900360200190f35b6102706104b3565b60408051918252519081900360200190f35b61018f6104b9565b610254600480360360608110156102a057600080fd5b506001600160a01b038135811691602081013590911690604001356104c8565b61027061051f565b6102d061052e565b6040805160ff9092168252519081900360200190f35b610270610533565b6102546004803603604081101561030457600080fd5b506001600160a01b038135169060200135610539565b6102706004803603602081101561033057600080fd5b50356001600160a01b0316610575565b610270610580565b610270610586565b6103766004803603602081101561036657600080fd5b50356001600160a01b0316610590565b005b6102706004803603602081101561038e57600080fd5b50356001600160a01b0316610644565b61025461065f565b61025461066f565b6101b361067f565b610254600480360360408110156103cc57600080fd5b506001600160a01b0381351690602001356106c7565b610254600480360360408110156103f857600080fd5b506001600160a01b038135169060200135610703565b610270610710565b6102706004803603604081101561042c57600080fd5b506001600160a01b0381358116916020013516610716565b6004546001600160a01b031681565b600754604080517f5669727475616c2050796e7468200000000000000000000000000000000000006020820152602e8082019390935281518082039093018352604e0190525b90565b60006104a9338484610741565b5060015b92915050565b60025490565b6003546001600160a01b031681565b60006104d584848461082d565b6001600160a01b038416600090815260016020908152604080832033808552925290912054610515918691610510908663ffffffff61096f16565b610741565b5060019392505050565b60006105296109cc565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104a9918590610510908663ffffffff610b6c16565b60006104ad82610bcd565b60065481565b6000610529610bf3565b610598610c8d565b6003546001600160a01b031663a9059cbb826105b381610bcd565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561060257600080fd5b505af1158015610616573d6000803e3d6000fd5b505050506040513d602081101561062c57600080fd5b5061064190508161063c81610644565b610e28565b50565b6001600160a01b031660009081526020819052604090205490565b6000610669610bf3565b15905090565b600454600160a01b900460ff1681565b600754604080517f7600000000000000000000000000000000000000000000000000000000000000602082015260218082019390935281518082039093018352604101905290565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104a9918590610510908663ffffffff61096f16565b60006104a933848461082d565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166107865760405162461bcd60e51b81526004018080602001828103825260248152602001806111c66024913960400191505060405180910390fd5b6001600160a01b0382166107cb5760405162461bcd60e51b815260040180806020018281038252602281526020018061113d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108725760405162461bcd60e51b81526004018080602001828103825260258152602001806111a16025913960400191505060405180910390fd5b6001600160a01b0382166108b75760405162461bcd60e51b815260040180806020018281038252602381526020018061111a6023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546108e0908263ffffffff61096f16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610915908263ffffffff610b6c16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156109c6576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000600554600014156109e157506000610499565b600454600090600160a01b900460ff16610b4d57600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610a4057600080fd5b505afa158015610a54573d6000803e3d6000fd5b505050506040513d6020811015610a6a57600080fd5b50519050600080610a79610f01565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610ad857600080fd5b505afa158015610aec573d6000803e3d6000fd5b505050506040513d6060811015610b0257600080fd5b50805160209091015190925090508115610b2d57610b26838363ffffffff61096f16565b9250610b46565b8015610b4657610b43838263ffffffff610b6c16565b92505b5050610b52565b506006545b600554610b6690829063ffffffff610fbd16565b91505090565b600082820183811015610bc6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080610bd983610644565b9050610bc6610be66109cc565b829063ffffffff610fd216565b6000610bfd610f01565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610c5c57600080fd5b505afa158015610c70573d6000803e3d6000fd5b505050506040513d6020811015610c8657600080fd5b5051905090565b600454600160a01b900460ff1615610ca457610e26565b600480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b179055610cda610f01565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015610d3b57600080fd5b505af1158015610d4f573d6000803e3d6000fd5b505050506040513d6060811015610d6557600080fd5b5050600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610db257600080fd5b505afa158015610dc6573d6000803e3d6000fd5b505050506040513d6020811015610ddc57600080fd5b50516006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610e0a6104b3565b6006546040805192835260208301919091528051918290030190a15b565b6001600160a01b038216610e6d5760405162461bcd60e51b81526004018080602001828103825260218152602001806111806021913960400191505060405180910390fd5b600254610e80908263ffffffff61096f16565b6002556001600160a01b038216600090815260208190526040902054610eac908263ffffffff61096f16565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b60048054604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f45786368616e67657200000000000000000000000000000000000000000000009381019390935260248301819052601c60448401527f45786368616e67657220636f6e7472616374206e6f7420666f756e64000000006064840152516000926001600160a01b039092169163dacb2d01916084808301926020929190829003018186803b158015610c5c57600080fd5b6000610bc68383670de0b6b3a7640000610fe7565b6000610bc68383670de0b6b3a764000061102b565b60008061100d8461100187600a870263ffffffff61105616565b9063ffffffff6110af16565b90506005600a825b061061101f57600a015b600a9004949350505050565b600080600a8304611042868663ffffffff61105616565b8161104957fe5b0490506005600a82611015565b600082611065575060006104ad565b8282028284828161107257fe5b0414610bc65760405162461bcd60e51b815260040180806020018281038252602181526020018061115f6021913960400191505060405180910390fd5b6000808211611105576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161111057fe5b0494935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820f8807d5e513e7a733b72e411f62f473ae4c5552862572c64711ad5f59b45548c64736f6c63430005100032596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158200f1acb36d15deec479df4c53a154dc90937b3896bb8aec8bee32ab902cfb606d64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "vPynth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "VirtualPynthCreated",
					"type": "event",
					"signature": "0x40d987c0a731a91929904e2b9a1a44b1aa1c6ab528b7ee2e35652fe1691cbd36"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "pynth",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "createVirtualPynth",
					"outputs": [
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf7741add"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				}
			],
			"source": {
				"keccak256": "0x7bb575f70d195d9abed55e3022cccedca97cb83cfce223416837ac55ec7151a2",
				"urls": [
					"bzz-raw://cb163643e52b2fb8f3d9421ee2771bf0cfa1d01fdcc3a1f09c498b1efdee1165",
					"dweb:/ipfs/QmfZShY7yLxR3FBxUxUzz7muwBj7M1ixG9SLfrz5N2bWhN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"VirtualPynthIssuer.sol": "VirtualPynthIssuer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"VirtualPynthIssuer.sol": {
						"keccak256": "0x7bb575f70d195d9abed55e3022cccedca97cb83cfce223416837ac55ec7151a2",
						"urls": [
							"bzz-raw://cb163643e52b2fb8f3d9421ee2771bf0cfa1d01fdcc3a1f09c498b1efdee1165",
							"dweb:/ipfs/QmfZShY7yLxR3FBxUxUzz7muwBj7M1ixG9SLfrz5N2bWhN"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeState": {
			"bytecode": "6080604052600c60045534801561001557600080fd5b50604051610bec380380610bec8339818101604052604081101561003857600080fd5b50805160209091015180826001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610148576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050610a41806101ab6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806379ba50971161008c578063b44e975311610066578063b44e975314610290578063cd8b94dc146102bc578063d0d3d62a146102d9578063f1406dc814610305576100ea565b806379ba5097146102785780638da5cb5b14610280578063aefc4ccb14610288576100ea565b80633ca9d85c116100c85780633ca9d85c146101a457806352f445ca146101fc57806353a47bb7146102225780636e13fe7614610246576100ea565b80630d40d0cf146100ef57806315987eb6146101095780631627540c1461017c575b600080fd5b6100f7610331565b60408051918252519081900360200190f35b61013b6004803603606081101561011f57600080fd5b506001600160a01b038135169060208101359060400135610337565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b6101a26004803603602081101561019257600080fd5b50356001600160a01b03166103dc565b005b6101a260048036036101208110156101bb57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610445565b6101a26004803603602081101561021257600080fd5b50356001600160a01b03166105b7565b61022a610620565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603606081101561025c57600080fd5b506001600160a01b03813516906020810135906040013561062f565b6101a2610699565b61022a610762565b61022a610771565b6100f7600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610780565b6101a2600480360360208110156102d257600080fd5b50356107a8565b6101a2600480360360408110156102ef57600080fd5b506001600160a01b0381351690602001356107b5565b6100f76004803603604081101561031b57600080fd5b506001600160a01b03813516906020013561082e565b60045481565b6000806000806000806000806000600360008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c81526020019081526020016000208a8154811061038657fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b6103e46108b4565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b0316331461048e5760405162461bcd60e51b81526004018080602001828103825260348152602001806109d96034913960400191505060405180910390fd5b6004546001600160a01b038a1660009081526003602090815260408083208a845290915290205410610507576040805162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b6001600160a01b03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b6105bf6108b4565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6003602052826000526040600020602052816000526040600020818154811061065457fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b6001546001600160a01b031633146106e25760405162461bcd60e51b81526004018080602001828103825260358152602001806109756035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b6107b06108b4565b600455565b6002546001600160a01b031633146107fe5760405162461bcd60e51b81526004018080602001828103825260348152602001806109d96034913960400191505060405180910390fd5b6001600160a01b0382166000908152600360209081526040808320848452909152812061082a916108ff565b5050565b6001600160a01b0382166000908152600360209081526040808320848452909152812081805b82548110156108ab578183828154811061086a57fe5b90600052602060002090600802016005015411156108a35782818154811061088e57fe5b90600052602060002090600802016005015491505b600101610854565b50949350505050565b6000546001600160a01b031633146108fd5760405162461bcd60e51b815260040180806020018281038252602f8152602001806109aa602f913960400191505060405180910390fd5b565b50805460008255600802906000526020600020908101906109209190610923565b50565b61097191905b8082111561096d5760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610929565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820cb17bec5be65f40aeb340c2c32dcc7cd12aca372c07744583a8d5ef4273d12be64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "appendExchangeEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ca9d85c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "exchanges",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6e13fe76"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getEntryAt",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15987eb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getLengthOfEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb44e9753"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getMaxTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1406dc8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEntriesInQueue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d40d0cf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0d3d62a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEntriesInQueue",
							"type": "uint256"
						}
					],
					"name": "setMaxEntriesInQueue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd8b94dc"
				}
			],
			"source": {
				"keccak256": "0x2ad0169ee39fc317088b550e4c0905464c31c49aba7f493f45b9f72ea077eb70",
				"urls": [
					"bzz-raw://2c4fd11b015d5054a4e30a89b803e40f46535a1a8f7696066e46164b89d59335",
					"dweb:/ipfs/QmR3dhLSZ51HMvmUrwGAPxBPGWyQt42ihTHd5Gaoj21u3z"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeState.sol": "ExchangeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"ExchangeState.sol": {
						"keccak256": "0x2ad0169ee39fc317088b550e4c0905464c31c49aba7f493f45b9f72ea077eb70",
						"urls": [
							"bzz-raw://2c4fd11b015d5054a4e30a89b803e40f46535a1a8f7696066e46164b89d59335",
							"dweb:/ipfs/QmR3dhLSZ51HMvmUrwGAPxBPGWyQt42ihTHd5Gaoj21u3z"
						]
					}
				},
				"version": 1
			}
		},
		"Issuer": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005e9e38038062005e9e833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050615d72806200012c6000396000f3fe608060405234801561001057600080fd5b50600436106102e95760003560e01c80637418536011610191578063ae3bbbbb116100e3578063d37c4d8b11610097578063f023e8db11610071578063f023e8db146109ca578063f0617e5b146109ef578063f5adc4f514610a15576102e9565b8063d37c4d8b14610970578063d99947de1461099c578063dd3d2b2e146109a4576102e9565b8063becf5ff8116100c8578063becf5ff8146108e6578063c29ea3141461090c578063c9a2f3ad1461094a576102e9565b8063ae3bbbbb1461089a578063b42652e9146108c0576102e9565b806394955cec11610145578063a311c7c21161011f578063a311c7c2146107ff578063a5fdc5de14610825578063a63c4df41461084b576102e9565b806394955cec1461079657806398df0de2146107bc5780639df95f9f146107e2576102e9565b8063899ffef411610176578063899ffef4146107415780638d542eb3146107495780638da5cb5b1461078e576102e9565b8063741853601461073157806379ba509714610739576102e9565b80634c29b0af1161024a5780635543dadc116101fe578063614d08f8116101d8578063614d08f8146106ef5780636ac471c4146106f757806372cb051f14610729576102e9565b80635543dadc1461063657806357ad4663146106a65780635ba9f145146106c3576102e9565b8063506e40931161022f578063506e4093146105d057806353a47bb71461060857806355182ccb14610610576102e9565b80634c29b0af146105855780634d6d83a4146105a2576102e9565b80632ae78fdb116102a15780632da4e97c116102865780632da4e97c1461049a5780633b09280a146104fb57806344c2cd041461053f576102e9565b80632ae78fdb146104585780632af64bd314610492576102e9565b80631627540c116102d25780631627540c14610346578063171af0631461036c5780631db63a3314610398576102e9565b806304f3bcec146102ee57806308f95a6214610312575b600080fd5b6102f6610a1d565b604080516001600160a01b039092168252519081900360200190f35b6103446004803603606081101561032857600080fd5b506001600160a01b038135169060208101359060400135610a2c565b005b6103446004803603602081101561035c57600080fd5b50356001600160a01b0316610c94565b6103446004803603604081101561038257600080fd5b506001600160a01b038135169060200135610cf0565b610408600480360360208110156103ae57600080fd5b8101906020810181356401000000008111156103c957600080fd5b8201836020820111156103db57600080fd5b803590602001918460208302840111640100000000831117156103fd57600080fd5b509092509050610e19565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561044457818101518382015260200161042c565b505050509050019250505060405180910390f35b61047e6004803603602081101561046e57600080fd5b50356001600160a01b0316610ec7565b604080519115158252519081900360200190f35b61047e610ed2565b6104c8600480360360408110156104b057600080fd5b506001600160a01b0381351690602001351515610ff6565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b6105216004803603602081101561051157600080fd5b50356001600160a01b03166110dc565b60408051938452602084019290925282820152519081900360600190f35b6105656004803603602081101561055557600080fd5b50356001600160a01b03166110f7565b604080519384526020840192909252151582820152519081900360600190f35b6103446004803603602081101561059b57600080fd5b50356111c4565b610521600480360360408110156105b857600080fd5b506001600160a01b03813516906020013515156112c5565b6105f6600480360360208110156105e657600080fd5b50356001600160a01b03166112e2565b60408051918252519081900360200190f35b6102f6611392565b6105216004803603602081101561062657600080fd5b50356001600160a01b03166113a1565b6103446004803603602081101561064c57600080fd5b81019060208101813564010000000081111561066757600080fd5b82018360208201111561067957600080fd5b8035906020019184602083028401116401000000008311171561069b57600080fd5b5090925090506113d3565b6102f6600480360360208110156106bc57600080fd5b503561147a565b6105f6600480360360408110156106d957600080fd5b506001600160a01b038135169060200135611495565b6105f661156f565b6103446004803603606081101561070d57600080fd5b506001600160a01b03813516906020810135906040013561157c565b61040861172c565b61034461173d565b61034461191a565b6104086119d6565b6107756004803603604081101561075f57600080fd5b506001600160a01b038135169060200135611d10565b6040805192835290151560208301528051918290030190f35b6102f6611e14565b610344600480360360208110156107ac57600080fd5b50356001600160a01b0316611e23565b6104c8600480360360208110156107d257600080fd5b50356001600160a01b0316611e43565b6102f6600480360360208110156107f857600080fd5b5035611fb5565b6105f66004803603602081101561081557600080fd5b50356001600160a01b0316611fdc565b6105f66004803603602081101561083b57600080fd5b50356001600160a01b0316611fee565b6108816004803603606081101561086157600080fd5b506001600160a01b03813581169160208101359160409091013516611ff9565b6040805192835260208301919091528051918290030190f35b610775600480360360208110156108b057600080fd5b50356001600160a01b03166122e0565b610344600480360360208110156108d657600080fd5b50356001600160a01b031661239d565b610881600480360360208110156108fc57600080fd5b50356001600160a01b03166123b2565b610344600480360360a081101561092257600080fd5b508035906001600160a01b036020820135169060408101359060608101359060800135612474565b6105f66004803603602081101561096057600080fd5b50356001600160a01b031661264a565b6105f66004803603604081101561098657600080fd5b506001600160a01b03813516906020013561265c565b6105f6612706565b6105f6600480360360208110156109ba57600080fd5b50356001600160a01b031661270c565b610775600480360360408110156109e057600080fd5b50803590602001351515612717565b61034460048036036020811015610a0557600080fd5b50356001600160a01b031661272f565b61047e61275e565b6002546001600160a01b031681565b610a346128c6565b610a3d8261291f565b60008111610a92576040805162461bcd60e51b815260206004820152600e60248201527f416d6f756e74206973207a65726f000000000000000000000000000000000000604482015290519081900360640190fd5b610b11610a9d61297b565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d6020811015610b0a57600080fd5b5051612996565b6000806000635045524960e01b8514610c19576000610b318760016129e9565b91945092509050610b4183612ac8565b610b49612b1d565b604080517fffb0a0810000000000000000000000000000000000000000000000000000000081526001600160a01b038a81166004830152602482018990526044820187905260648201859052608482018a9052631c1554d160e21b60a48301529151929091169163ffb0a0819160c4808201926020929091908290030181600087803b158015610bd857600080fd5b505af1158015610bec573d6000803e3d6000fd5b505050506040513d6020811015610c0257600080fd5b50519350610c1287858585612b48565b5050610c8c565b610c2286612d46565b9194509250905082841115610c7e576040805162461bcd60e51b815260206004820152601060248201527f416d6f756e7420746f6f206c6172676500000000000000000000000000000000604482015290519081900360640190fd5b610c8a86858484612b48565b505b505050505050565b610c9c612da2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610cf86128c6565b610d018161291f565b635045524960e01b811415610d475760405162461bcd60e51b8152600401808060200182810382526024815260200180615d1a6024913960400191505060405180910390fd5b6000806000610d578560016129e9565b925092509250610d6683612ac8565b6000610d70612b1d565b6001600160a01b0316636446406c878685896040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001848152602001838152602001828152602001945050505050602060405180830381600087803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b505050506040513d6020811015610e0957600080fd5b50519050610c8a86828686612b48565b60408051828152602080840282010190915260609082908290828015610e49578160200160208202803883390190505b50905060005b82811015610ebc5760056000878784818110610e6757fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610e9c57fe5b6001600160a01b0390921660209283029190910190910152600101610e4f565b509150505b92915050565b6000610ec182612deb565b60006060610ede6119d6565b905060005b8151811015610fec576000828281518110610efa57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610f7b57600080fd5b505afa158015610f8f573d6000803e3d6000fd5b505050506040513d6020811015610fa557600080fd5b50516001600160a01b0316141580610fd257506000818152600360205260409020546001600160a01b0316155b15610fe35760009350505050610ff3565b50600101610ee3565b5060019150505b90565b60008060008060008060008061100c8a8a6129e9565b9250509150611019612b1d565b6001600160a01b031663ede459568b84846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060c06040518083038186803b15801561107e57600080fd5b505afa158015611092573d6000803e3d6000fd5b505050506040513d60c08110156110a857600080fd5b508051602082015160408301516060840151608085015160a090950151939f929e50909c509a509198509650945050505050565b60008060006110ea84612d46565b9196909550909350915050565b60008060008061110e85631c1554d160e21b612e16565b935090915061111d9050612b1d565b604080517f1982de220000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152602482018590528251931692631982de2292604480840193919291829003018186803b15801561118357600080fd5b505afa158015611197573d6000803e3d6000fd5b505050506040513d60408110156111ad57600080fd5b508051602090910151909690955091935090915050565b6111cc612da2565b60006111d6613111565b9050806001600160a01b0316638376a7828360006040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561122757600080fd5b505af115801561123b573d6000803e3d6000fd5b5050604080517f04bd11e50000000000000000000000000000000000000000000000000000000081526001600482015290516001600160a01b03851693506304bd11e59250602480830192600092919082900301818387803b1580156112a057600080fd5b505af11580156112b4573d6000803e3d6000fd5b505050506112c182613128565b5050565b60008060006112d485856129e9565b9250925092505b9250925092565b6000806112f683631c1554d160e21b612e16565b50509050611302612b1d565b6001600160a01b0316633b1cd52b84836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561135f57600080fd5b505afa158015611373573d6000803e3d6000fd5b505050506040513d606081101561138957600080fd5b50519392505050565b6001546001600160a01b031681565b60008060006113b784631c1554d160e21b612e16565b509091506113c790508482613366565b90959094509092509050565b6113db612da2565b8060005b818110156114135761140b8484838181106113f657fe5b905060200201356001600160a01b0316613560565b6001016113df565b5061141c613111565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004018082151515158152602001915050600060405180830381600087803b15801561146657600080fd5b505af1158015610c8a573d6000803e3d6000fd5b6005602052600090815260409020546001600160a01b031681565b60008060006114a58560016129e9565b92505091506114b2612b1d565b6001600160a01b0316637d52c4ec868484886040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b0316815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561151f57600080fd5b505afa158015611533573d6000803e3d6000fd5b505050506040513d602081101561154957600080fd5b5051925061156661155985613714565b849063ffffffff6137fa16565b95945050505050565b6524b9b9bab2b960d11b81565b6115846128c6565b61158d8261291f565b635045524960e01b82141580156115a357508115155b156115ba576115b58382846000613824565b611727565b60008060006115d086631c1554d160e21b612e16565b9250925092506115df81612996565b84611699576116966115ef612b1d565b6001600160a01b031663dac6e5768887631c1554d160e21b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561165d57600080fd5b505af1158015611671573d6000803e3d6000fd5b505050506040513d602081101561168757600080fd5b5051859063ffffffff613a6916565b93505b6116a7868585856000613ac6565b9250635045524960e01b851415806116d657506116c2613dad565b6116d384600c63ffffffff613e6416565b11155b610c8c576040805162461bcd60e51b815260206004820152601760248201527f4f766572206d61782065787465726e616c2071756f7461000000000000000000604482015290519081900360640190fd5b505050565b60606117386000613e91565b905090565b60606117476119d6565b905060005b81518110156112c157600082828151811061176357fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561183257818101518382015260200161181a565b50505050905090810190601f16801561185f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561187d57600080fd5b505afa158015611891573d6000803e3d6000fd5b505050506040513d60208110156118a757600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010161174c565b6001546001600160a01b031633146119635760405162461bcd60e51b8152600401808060200182810382526035815260200180615c2a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806119e1613f6e565b60408051600f808252610200820190925291925060609190602082016101e0803883390190505090506a5065726946696e616e636560a81b81600081518110611a2657fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611a4c57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110611a7657fe5b6020026020010181815250507f5065726946696e616e636553746174650000000000000000000000000000000081600381518110611ab057fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110611ad457fe5b6020026020010181815250507f44656c6567617465417070726f76616c7300000000000000000000000000000081600581518110611b0e57fe5b6020026020010181815250507f4574686572436f6c6c61746572616c000000000000000000000000000000000081600681518110611b4857fe5b6020026020010181815250507f4574686572436f6c6c61746572616c705553440000000000000000000000000081600781518110611b8257fe5b6020026020010181815250507f526577617264457363726f77563200000000000000000000000000000000000081600881518110611bbc57fe5b6020026020010181815250507f5065726946696e616e6365457363726f7700000000000000000000000000000081600981518110611bf657fe5b6020026020010181815250506b4c69717569646174696f6e7360a01b81600a81518110611c1f57fe5b6020026020010181815250506844656274436163686560b81b81600b81518110611c4557fe5b6020026020010181815250507f436f6c6c61746572616c4d616e6167657200000000000000000000000000000081600c81518110611c7f57fe5b6020026020010181815250507f45787465726e616c546f6b656e5374616b654d616e616765720000000000000081600d81518110611cb957fe5b6020026020010181815250507f43726f7373436861696e4d616e6167657200000000000000000000000000000081600e81518110611cf357fe5b602002602001018181525050611d098282613fcd565b9250505090565b6000806000611d2685635045524960e01b612e16565b935090915060009050611d37612b1d565b6001600160a01b0316639c1b38f7876040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611d8c57600080fd5b505afa158015611da0573d6000803e3d6000fd5b505050506040513d6020811015611db657600080fd5b50519050808211611dc8576000611dd8565b611dd8828263ffffffff613a6916565b90506000611ded82611de8614082565b614108565b905080861115611e0a57611e07868263ffffffff613a6916565b94505b5050509250929050565b6000546001600160a01b031681565b611e2b6128c6565b611e40816000635045524960e01b6001613824565b50565b600080600080600080611e5d87631c1554d160e21b612e16565b5090925060009050611e6d61297b565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015611eb657600080fd5b505afa158015611eca573d6000803e3d6000fd5b505050506040513d6040811015611ee057600080fd5b50519050611eed88614127565b9150611ef7612b1d565b6001600160a01b031663ede459568985611f11868661428c565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060c06040518083038186803b158015611f6557600080fd5b505afa158015611f79573d6000803e3d6000fd5b505050506040513d60c0811015611f8f57600080fd5b50805160208201516040830151606090930151919b909a50919850965092945090925050565b60048181548110611fc257fe5b6000918252602090912001546001600160a01b0316905081565b6000611fe78261429e565b5092915050565b6000610ec182614127565b6000806120046128c6565b61200c614443565b6001600160a01b031663d6f32e0684631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561207057600080fd5b505afa158015612084573d6000803e3d6000fd5b505050506040513d602081101561209a57600080fd5b5051156120ee576040805162461bcd60e51b815260206004820152601860248201527f70555344206e6565647320746f20626520736574746c65640000000000000000604482015290519081900360640190fd5b631c1554d160e21b600052600560209081527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b54604080516370a0823160e01b81526001600160a01b0387811660048301529151889492909316926370a0823192602480840193919291829003018186803b15801561216c57600080fd5b505afa158015612180573d6000803e3d6000fd5b505050506040513d602081101561219657600080fd5b505110156121eb576040805162461bcd60e51b815260206004820152600f60248201527f4e6f7420656e6f75676820705553440000000000000000000000000000000000604482015290519081900360640190fd5b600080600061220188631c1554d160e21b612e16565b92509250925061221081612996565b61221861445a565b604080517f7f9358a20000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301528981166024830152604482018b9052606482018790528251931692637f9358a2926084808401939192918290030181600087803b15801561228f57600080fd5b505af11580156122a3573d6000803e3d6000fd5b505050506040513d60408110156122b957600080fd5b50805160209091015190955093506122d48887868686614474565b50505050935093915050565b6000806000806122ee613111565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b15801561232657600080fd5b505afa15801561233a573d6000803e3d6000fd5b505050506040513d608081101561235057600080fd5b506040810151606090910151909250905060008061236d8761429e565b91509150838061237a5750825b61238c5784806123875750805b61238f565b60015b945081955050505050915091565b6123a56128c6565b611e408160008080613824565b6000806000806123c38560016129e9565b92505091506123d0612b1d565b6001600160a01b0316635abebd078684846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060606040518083038186803b15801561243557600080fd5b505afa158015612449573d6000803e3d6000fd5b505050506040513d606081101561245f57600080fd5b50805160209091015190969095509350505050565b61247c612da2565b60006124866147e6565b9050600061249a858463ffffffff61481116565b905060006124ae868363ffffffff61486b16565b90506124d0826124c4888863ffffffff61481116565b9063ffffffff61486b16565b9050826001600160a01b031663a764eb4588836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561253257600080fd5b505af1158015612546573d6000803e3d6000fd5b50505050826001600160a01b0316633d31e97b6125e96125dc8473__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a457600080fd5b505af41580156125b8573d6000803e3d6000fd5b505050506040513d60208110156125ce57600080fd5b50519063ffffffff613a6916565b8b9063ffffffff61488416565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561261f57600080fd5b505af1158015612633573d6000803e3d6000fd5b505050506126408761489d565b5050505050505050565b60066020526000908152604090205481565b6000806126676147e6565b60408051631167f01160e31b81526001600160a01b038781166004830152825193945060009390851692638b3f80889260248082019391829003018186803b1580156126b257600080fd5b505afa1580156126c6573d6000803e3d6000fd5b505050506040513d60408110156126dc57600080fd5b50519050806126f057600092505050610ec1565b6126fa8585612e16565b50909695505050505050565b60045490565b6000610ec182614995565b6000806127248484614a56565b909590945092505050565b6127376128c6565b600080600061274584612d46565b92509250925061275784848484612b48565b5050505050565b600061276861297b565b6001600160a01b031663c8e5bbd56127806001613e91565b6040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156127cf5781810151838201526020016127b7565b505050509050019250505060006040518083038186803b1580156127f257600080fd5b505afa158015612806573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561282f57600080fd5b810190808051604051939291908464010000000082111561284f57600080fd5b90830190602082018581111561286457600080fd5b825186602082028301116401000000008211171561288157600080fd5b82525081516020918201928201910280838360005b838110156128ae578181015183820152602001612896565b50505050919091016040525060200151949350505050565b6128ce614e11565b6001600160a01b0316336001600160a01b03161461291d5760405162461bcd60e51b815260040180806020018281038252603d815260200180615c5f603d913960400191505060405180910390fd5b565b631c1554d160e21b811415611e40576040805162461bcd60e51b815260206004820152601360248201527f705553442069736e2774207374616b61626c6500000000000000000000000000604482015290519081900360640190fd5b60006117386c45786368616e6765526174657360981b614e26565b8015611e40576040805162461bcd60e51b815260206004820152601f60248201527f412070796e7468206f722050455249207261746520697320696e76616c696400604482015290519081900360640190fd5b600080600080612a0086631c1554d160e21b612e16565b91955093509050600080612a1261297b565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015612a5b57600080fd5b505afa158015612a6f573d6000803e3d6000fd5b505050506040513d6040811015612a8557600080fd5b50805160209091015190925090508615612aaa57612aaa8380612aa55750815b612996565b612abc612ab689614127565b8361428c565b93505050509250925092565b60008111611e40576040805162461bcd60e51b815260206004820152601060248201527f5573657220686173206e6f206465627400000000000000000000000000000000604482015290519081900360640190fd5b60006117387f45787465726e616c546f6b656e5374616b654d616e6167657200000000000000614e26565b600083612b56575081612d3e565b612b6285858585614f0f565b612b6b8561538b565b631c1554d160e21b600090815260056020527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b54604080517f867904b40000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152602482018990529151919092169263867904b4926044808201939182900301818387803b158015612c0657600080fd5b505af1158015612c1a573d6000803e3d6000fd5b50505050612c26613111565b6001600160a01b0316638376a782631c1554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612c8057600080fd5b505af4158015612c94573d6000803e3d6000fd5b505050506040513d6020811015612caa57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b158015612d0a57600080fd5b505af1158015612d1e573d6000803e3d6000fd5b50505050612d2b8561489d565b612d3b838563ffffffff61481116565b90505b949350505050565b600080600080612d5d85631c1554d160e21b612e16565b91945092509050612d6d81612996565b612d778584613366565b509350828411612d88576000612d98565b612d98848463ffffffff613a6916565b9350509193909250565b6000546001600160a01b0316331461291d5760405162461bcd60e51b815260040180806020018281038252602f815260200180615cca602f913960400191505060405180910390fd5b6000612e0d612df8615479565b612e0184614995565b9063ffffffff61481116565b42101592915050565b600080600080612e246147e6565b9050600080826001600160a01b0316638b3f8088896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050604080518083038186803b158015612e7e57600080fd5b505afa158015612e92573d6000803e3d6000fd5b505050506040513d6040811015612ea857600080fd5b5080516020909101519092509050612ebe6154ff565b6001600160a01b0316630ca1f911886040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015612f0057600080fd5b505afa158015612f14573d6000803e3d6000fd5b505050506040513d6040811015612f2a57600080fd5b508051602090910151909550935081612f4a5750600094506112db915050565b6000836001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015612f8557600080fd5b505afa158015612f99573d6000803e3d6000fd5b505050506040513d6020811015612faf57600080fd5b5051604080517f08d95cd50000000000000000000000000000000000000000000000000000000081526004810185905290519192506000916001600160a01b038716916308d95cd5916024808301926020929190829003018186803b15801561301757600080fd5b505afa15801561302b573d6000803e3d6000fd5b505050506040513d602081101561304157600080fd5b505190506000821580613052575081155b1561305f575060006130e7565b6130e4856130d884896001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b1580156130a057600080fd5b505afa1580156130b4573d6000803e3d6000fd5b505050506040513d60208110156130ca57600080fd5b50519063ffffffff61486b16565b9063ffffffff61488416565b90505b60006130f6826130d88b61552a565b905061310181615540565b9950505050505050509250925092565b60006117386844656274436163686560b81b614e26565b6000818152600560205260409020546001600160a01b031680613192576040805162461bcd60e51b815260206004820152601360248201527f50796e746820646f65736e277420657869737400000000000000000000000000604482015290519081900360640190fd5b806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156131cb57600080fd5b505afa1580156131df573d6000803e3d6000fd5b505050506040513d60208110156131f557600080fd5b505115613249576040805162461bcd60e51b815260206004820152601360248201527f50796e746820737570706c792065786973747300000000000000000000000000604482015290519081900360640190fd5b60005b60045481101561333057816001600160a01b03166004828154811061326d57fe5b6000918252602090912001546001600160a01b03161415613328576004818154811061329557fe5b600091825260209091200180546001600160a01b03191690556004805460001981019081106132c057fe5b600091825260209091200154600480546001600160a01b0390921691839081106132e657fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556004805490613322906000198301615bec565b50613330565b60010161324c565b506001600160a01b03166000908152600660209081526040808320839055928252600590522080546001600160a01b0319169055565b600080600061338c61337786614127565b613387635045524960e01b615562565b61428c565b9050600080613399612b1d565b6001600160a01b031663c70cc960886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060606040518083038186803b1580156133ee57600080fd5b505afa158015613402573d6000803e3d6000fd5b505050506040513d606081101561341857600080fd5b5080516020820151604090920151955090925090506000613437614082565b905061344384826155f6565b9350613455848363ffffffff61481116565b9550818711156134985761346f878363ffffffff613a6916565b935061347f83612e018684614108565b9350613491838563ffffffff61561016565b935061351b565b600087116134a7576000613518565b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156134eb57600080fd5b505af41580156134ff573d6000803e3d6000fd5b505050506040513d602081101561351557600080fd5b50515b93505b6000841161352a576000613553565b613553613546613540878463ffffffff613a6916565b866155f6565b829063ffffffff61481116565b9450505050509250929050565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561359b57600080fd5b505afa1580156135af573d6000803e3d6000fd5b505050506040513d60208110156135c557600080fd5b50516000818152600560205260409020549091506001600160a01b031615613634576040805162461bcd60e51b815260206004820152600c60248201527f50796e7468206578697374730000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600660205260409020541561369f576040805162461bcd60e51b815260206004820152601c60248201527f50796e7468206164647265737320616c72656164792065786973747300000000604482015290519081900360640190fd5b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b039093166001600160a01b0319938416811790915560008281526005602090815260408083208054909616841790955591815260069091529190912055565b600061371e61563a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6578546f6b656e49737375616e6365526174696f000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156137c857600080fd5b505afa1580156137dc573d6000803e3d6000fd5b505050506040513d60208110156137f257600080fd5b505192915050565b6000670de0b6b3a7640000613815848463ffffffff61566516565b8161381c57fe5b049392505050565b60008060006138348760016129e9565b9250925092506000831161388f576040805162461bcd60e51b815260206004820152601260248201527f4e6f206465627420746f20756e7374616b650000000000000000000000000000604482015290519081900360640190fd5b83156139375761389d612b1d565b6001600160a01b03166362197d9a8885846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561390457600080fd5b505af1158015613918573d6000803e3d6000fd5b505050506040513d602081101561392e57600080fd5b50519550613a5c565b846139bb57613944612b1d565b6001600160a01b031663b42652e9886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561399b57600080fd5b505af11580156139af573d6000803e3d6000fd5b50505050829550613a5c565b6139c3612b1d565b604080517fb23e50530000000000000000000000000000000000000000000000000000000081526001600160a01b038a81166004830152602482018a905260448201899052631c1554d160e21b60648301529151929091169163b23e50539160848082019260009290919082900301818387803b158015613a4357600080fd5b505af1158015613a57573d6000803e3d6000fd5b505050505b6126408787858588613ac6565b600082821115613ac0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808411613b1c576040805162461bcd60e51b815260206004820152601260248201527f4e6f206465627420746f20666f72676976650000000000000000000000000000604482015290519081900360640190fd5b81613cd057613b2a86612deb565b613b655760405162461bcd60e51b815260040180806020018281038252602e815260200180615c9c602e913960400191505060405180910390fd5b600080613b70614443565b6001600160a01b0316631b16802c89631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015613bd657600080fd5b505af1158015613bea573d6000803e3d6000fd5b505050506040513d6060811015613c0057600080fd5b50602081015160409091015190925090508015613ccd57613c1f614443565b604080517f4c268fc80000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152631c1554d160e21b6024830152604482018b90526064820186905291519290911691634c268fc891608480820192602092909190829003018186803b158015613c9e57600080fd5b505afa158015613cb2573d6000803e3d6000fd5b505050506040513d6020811015613cc857600080fd5b505196505b50505b6000613cdf8788888888614474565b9050613cf1858263ffffffff613a6916565b90506000613cff8883613366565b935090508082111580613d25575064e8d4a51000613d23838363ffffffff613a6916565b105b15613da257613d3261445a565b6001600160a01b031663974e9e7f896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015613d8957600080fd5b505af1158015613d9d573d6000803e3d6000fd5b505050505b505095945050505050565b6000613db761563a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65787465726e616c546f6b656e51756f746100000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613e3357600080fd5b505afa158015613e47573d6000803e3d6000fd5b505050506040513d6020811015613e5d57600080fd5b5051905090565b6000613e8a600a83900a613e7e858263ffffffff6156be16565b9063ffffffff61566516565b9392505050565b60608082613ea0576000613ea3565b60015b60ff1660048054905001604051908082528060200260200182016040528015613ed6578160200160208202803883390190505b50905060005b600454811015613f3d576006600060048381548110613ef757fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548251839083908110613f2a57fe5b6020908102919091010152600101613edc565b508215610ec1576004548151635045524960e01b9183918110613f5c57fe5b60200260200101818152505092915050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f72616765000000000000000000000000000000000081600081518110613fbe57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613ffd578160200160208202803883390190505b50905060005b835181101561403f5783818151811061401857fe5b602002602001015182828151811061402c57fe5b6020908102919091010152600101614003565b5060005b8251811015611fe75782818151811061405857fe5b602002602001015182828651018151811061406f57fe5b6020908102919091010152600101614043565b600061408c61563a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613e3357600080fd5b6000613e8a6141226141198461552a565b6124c48661552a565b615540565b600080614132614e11565b6001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561418757600080fd5b505afa15801561419b573d6000803e3d6000fd5b505050506040513d60208110156141b157600080fd5b5051905060006141bf615728565b6001600160a01b031614614269576142666141d8615728565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561422d57600080fd5b505afa158015614241573d6000803e3d6000fd5b505050506040513d602081101561425757600080fd5b5051829063ffffffff61481116565b90505b6000614273615753565b6001600160a01b031614610ec157613e8a6141d8615753565b6000613e8a838363ffffffff61577e16565b60008060006142ab612b1d565b6001600160a01b0316637a84b61785631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561430f57600080fd5b505afa158015614323573d6000803e3d6000fd5b505050506040513d602081101561433957600080fd5b50519050600061434885614127565b905080158015614356575081155b1561436757506000925061443e9050565b600061437a86631c1554d160e21b612e16565b9196509091506000905061438c61297b565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156143d557600080fd5b505afa1580156143e9573d6000803e3d6000fd5b505050506040513d60408110156143ff57600080fd5b5080516020909101519550905081806144155750845b945061442584612e01858461428c565b9250614437868463ffffffff61561016565b9550505050505b915091565b60006117386822bc31b430b733b2b960b91b614e26565b60006117386b4c69717569646174696f6e7360a01b614e26565b6000828411156144cb576040805162461bcd60e51b815260206004820152601d60248201527f547279696e6720746f206275726e206d6f7265207468616e2064656274000000604482015290519081900360640190fd5b6144d786858585615793565b631c1554d160e21b6000908152600560209081527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b54604080516370a0823160e01b81526001600160a01b038a811660048301529151859492909316926370a0823192602480840193919291829003018186803b15801561455757600080fd5b505afa15801561456b573d6000803e3d6000fd5b505050506040513d602081101561458157600080fd5b505190508086116145a15761459c818763ffffffff613a6916565b6145b1565b6145b1868263ffffffff613a6916565b9150600a82106145c157856145c3565b805b95508581101561461a576040805162461bcd60e51b815260206004820152601760248201527f4e6f7420656e6f756768207055534420746f206275726e000000000000000000604482015290519081900360640190fd5b631c1554d160e21b600090815260056020527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b54604080517f9dc29fac0000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152602482018b905291519190921692639dc29fac926044808201939182900301818387803b1580156146b557600080fd5b505af11580156146c9573d6000803e3d6000fd5b505050506146d5613111565b6001600160a01b0316638376a782631c1554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561472f57600080fd5b505af4158015614743573d6000803e3d6000fd5b505050506040513d602081101561475957600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b1580156147b957600080fd5b505af11580156147cd573d6000803e3d6000fd5b505050506147da8861489d565b50939695505050505050565b60006117387f5065726946696e616e6365537461746500000000000000000000000000000000614e26565b600082820183811015613e8a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000613e8a83836b033b2e3c9fd0803ce8000000615ade565b6000613e8a83836b033b2e3c9fd0803ce8000000615b16565b6000806148a86147e6565b60408051631167f01160e31b81526001600160a01b0386811660048301528251931692638b3f808892602480840193919291829003018186803b1580156148ee57600080fd5b505afa158015614902573d6000803e3d6000fd5b505050506040513d604081101561491857600080fd5b508051602090910151909250905061492e615b41565b6001600160a01b031663866452748484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801561146657600080fd5b600061499f61563a565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b7f6c61737449737375654576656e740000000000000000000000000000000000008560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156137c857600080fd5b6000806000806000614a66613111565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015614a9e57600080fd5b505afa158015614ab2573d6000803e3d6000fd5b505050506040513d6080811015614ac857600080fd5b5080516040820151606090920151909450909250905085614d3557600080614aee615b56565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b158015614b2557600080fd5b505afa158015614b39573d6000803e3d6000fd5b505050506040513d6040811015614b4f57600080fd5b5080516020909101519092509050614b6d858363ffffffff61481116565b9450614beb614b7a615b81565b6001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b158015614bb257600080fd5b505afa158015614bc6573d6000803e3d6000fd5b505050506040513d6020811015614bdc57600080fd5b5051869063ffffffff61481116565b9450600080614bf861297b565b6001600160a01b0316630c71cd237f70455448000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015614c5a57600080fd5b505afa158015614c6e573d6000803e3d6000fd5b505050506040513d6040811015614c8457600080fd5b50805160209091015190925090506000614d1083614ca0615bac565b6001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b158015614cd857600080fd5b505afa158015614cec573d6000803e3d6000fd5b505050506040513d6020811015614d0257600080fd5b50519063ffffffff61577e16565b9050614d22888263ffffffff61481116565b97508380614d2d5750815b985050505050505b8380614d3e5750815b80614d465750805b9350631c1554d160e21b871415614d625750909250614e0a9050565b600080614d6d61297b565b6001600160a01b0316630c71cd238a6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015614daf57600080fd5b505afa158015614dc3573d6000803e3d6000fd5b505050506040513d6040811015614dd957600080fd5b5080516020909101519092509050614df7858363ffffffff615bd716565b8680614e005750815b9650965050505050505b9250929050565b60006117386a5065726946696e616e636560a81b5b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611fe75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614ed4578181015183820152602001614ebc565b50505050905090810190601f168015614f015780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000614f196147e6565b90506000614f2d858463ffffffff61481116565b90506000614f41868363ffffffff61486b16565b90506000614f8d8273__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a457600080fd5b90508515614fb057614fa9836124c4898963ffffffff61481116565b9150615004565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b8152600401600060405180830381600087803b158015614feb57600080fd5b505af1158015614fff573d6000803e3d6000fd5b505050505b836001600160a01b031663a764eb4589846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561506457600080fd5b505af1158015615078573d6000803e3d6000fd5b505050506150846154ff565b6001600160a01b0316634e03d640886040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156150c957600080fd5b505af11580156150dd573d6000803e3d6000fd5b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b15801561511c57600080fd5b505afa158015615130573d6000803e3d6000fd5b505050506040513d602081101561514657600080fd5b50511180156151b85750836001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b15801561518957600080fd5b505afa15801561519d573d6000803e3d6000fd5b505050506040513d60208110156151b357600080fd5b505115155b1561529457836001600160a01b0316633d31e97b61524183876001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b15801561520957600080fd5b505afa15801561521d573d6000803e3d6000fd5b505050506040513d602081101561523357600080fd5b50519063ffffffff61488416565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561527757600080fd5b505af115801561528b573d6000803e3d6000fd5b50505050612640565b836001600160a01b0316633d31e97b73__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156152e757600080fd5b505af41580156152fb573d6000803e3d6000fd5b505050506040513d602081101561531157600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925251602480830192600092919082900301818387803b15801561536957600080fd5b505af115801561537d573d6000803e3d6000fd5b505050505050505050505050565b61539361563a565b604080517f6c61737449737375654576656e740000000000000000000000000000000000006020808301919091526bffffffffffffffffffffffff19606086901b16828401528251603481840301815260548301808552815191909201207f1d5b277f000000000000000000000000000000000000000000000000000000009091526524b9b9bab2b960d11b6058830152607882015242609882015290516001600160a01b039290921691631d5b277f9160b88082019260009290919082900301818387803b15801561546557600080fd5b505af1158015612757573d6000803e3d6000fd5b600061548361563a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6d696e696d756d5374616b6554696d65000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613e3357600080fd5b60006117387f43726f7373436861696e4d616e61676572000000000000000000000000000000614e26565b6000610ec182633b9aca0063ffffffff61566516565b60006305f5e10082046005600a82061061555857600a015b600a900492915050565b60008061556d61297b565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156155af57600080fd5b505afa1580156155c3573d6000803e3d6000fd5b505050506040513d60408110156155d957600080fd5b50805160209091015190925090506155f081612996565b50919050565b6000613e8a6141226156078461552a565b6130d88661552a565b6000613e8a8261562e85670de0b6b3a764000063ffffffff61566516565b9063ffffffff6156be16565b60006117387f466c657869626c6553746f726167650000000000000000000000000000000000614e26565b60008261567457506000610ec1565b8282028284828161568157fe5b0414613e8a5760405162461bcd60e51b8152600401808060200182810382526021815260200180615cf96021913960400191505060405180910390fd5b6000808211615714576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161571f57fe5b04949350505050565b60006117387f5065726946696e616e6365457363726f77000000000000000000000000000000614e26565b60006117387f526577617264457363726f775632000000000000000000000000000000000000614e26565b6000613e8a8383670de0b6b3a7640000615b16565b600061579d6147e6565b905060006157b1838663ffffffff613a6916565b9050600081156158535760006157cd878463ffffffff61486b16565b905061584f8173__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b15801561581757600080fd5b505af415801561582b573d6000803e3d6000fd5b505050506040513d602081101561584157600080fd5b50519063ffffffff61481116565b9150505b8486141561593357604080517fa764eb450000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015260006024830181905292519086169263a764eb45926044808201939182900301818387803b1580156158c357600080fd5b505af11580156158d7573d6000803e3d6000fd5b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561591657600080fd5b505af115801561592a573d6000803e3d6000fd5b505050506159d6565b6000615945868863ffffffff613a6916565b90506000615959828563ffffffff61486b16565b9050846001600160a01b031663a764eb458a836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156159bb57600080fd5b505af11580156159cf573d6000803e3d6000fd5b5050505050505b6159de6154ff565b6001600160a01b031663d5495e06876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015615a2357600080fd5b505af1158015615a37573d6000803e3d6000fd5b50505050826001600160a01b0316633d31e97b615a8783866001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b15801561520957600080fd5b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015615abd57600080fd5b505af1158015615ad1573d6000803e3d6000fd5b5050505050505050505050565b600080615af88461562e87600a870263ffffffff61566516565b90506005600a825b0610615b0a57600a015b600a9004949350505050565b600080600a8304615b2d868663ffffffff61566516565b81615b3457fe5b0490506005600a82615b00565b600061173866119959541bdbdb60ca1b614e26565b60006117387f436f6c6c61746572616c4d616e61676572000000000000000000000000000000614e26565b60006117387f4574686572436f6c6c61746572616c7055534400000000000000000000000000614e26565b60006117387f4574686572436f6c6c61746572616c0000000000000000000000000000000000614e26565b6000613e8a8383670de0b6b3a7640000615ade565b81548183558181111561172757600083815260209020611727918101908301610ff391905b80821115615c255760008155600101615c11565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704973737565723a204f6e6c7920746865207065726946696e616e636520636f6e74726163742063616e20706572666f726d207468697320616374696f6e4d696e207374616b652074696d65206e6f742072656163686564206f7220636861696e2073796e63207374616c654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c792065787465726e616c20746f6b656e20616c6c6f77656420746f207374616b65a265627a7a723158209ba383c97eb51fb83e53f22012929f4d134b01268fb680f22edb16326003574a64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPynth[]",
							"name": "pynthsToAdd",
							"type": "address[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5543dadc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "amountsToFitClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "burnAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exRefundAmt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbecf5ff8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf5adc4f5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd99947de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9df95f9f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_burnAmount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6ac471c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "cRatioNDebtsCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "cRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periCol",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98df0de2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnPynths",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ae78fdb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatioAndAnyRatesInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae3bbbbb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_checkRate",
							"type": "bool"
						}
					],
					"name": "debtsCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periCol",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4d6d83a4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "exStakingRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exSR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "maxSR",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "rateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44c2cd04"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						}
					],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb42652e9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						}
					],
					"name": "fitToClaimable",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94955cec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "prevLedgerValue",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "existingDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalDebtIssued",
							"type": "uint256"
						}
					],
					"name": "fixDebtRegister",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc29ea314"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "getPynths",
					"outputs": [
						{
							"internalType": "contract IPynth[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1db63a33"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_checkRate",
							"type": "bool"
						}
					],
					"name": "getRatios",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "cRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exSR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "maxSR",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2da4e97c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "getTargetRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x506e4093"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf0617e5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_issueAmount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x08f95a62"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "issuePynthsToMaxQuota",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x171af063"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "lastIssueEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd3d2b2e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa63c4df4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "maxExIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "issuables",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5ba9f145"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "existDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55182ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57ad4663"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9a2f3ad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b09280a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c29b0af"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "excludeEtherCollateral",
							"type": "bool"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf023e8db"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "transferablePeriFinanceAndAnyRateIsInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8d542eb3"
				}
			],
			"source": {
				"keccak256": "0xb36b13933c3b7b2cd57596d0015235a3d5f5da91d91fdf303f9430cd0794c348",
				"urls": [
					"bzz-raw://59ee5dcbacc0c4d5365c95b119bf97b632452443dce6f45f65fcf0a7842ae73f",
					"dweb:/ipfs/QmXJZW1tzW7u6h28hZBmgom45xDFbePZdoAfkRWm6dQjBq"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Issuer.sol": "Issuer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Issuer.sol": {
						"keccak256": "0xb36b13933c3b7b2cd57596d0015235a3d5f5da91d91fdf303f9430cd0794c348",
						"urls": [
							"bzz-raw://59ee5dcbacc0c4d5365c95b119bf97b632452443dce6f45f65fcf0a7842ae73f",
							"dweb:/ipfs/QmXJZW1tzW7u6h28hZBmgom45xDFbePZdoAfkRWm6dQjBq"
						]
					}
				},
				"version": 1
			}
		},
		"TradingRewards": {
			"bytecode": "608060405234801561001057600080fd5b506040516122db3803806122db8339818101604052606081101561003357600080fd5b5080516020820151604090920151600160005590919080836001600160a01b0381166100a6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506001546001600160a01b0316610152576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60048054610100600160a81b0319166101006001600160a01b039384160217905582166101c6576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b50600980546001600160a01b0319166001600160a01b0392909216919091179055506120e4806101f76000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063741853601161010f578063b225dbaa116100a2578063f32ffd6911610071578063f32ffd69146104e2578063f61f5df614610552578063f6b584791461057e578063fc9c99ac146105fe576101f0565b8063b225dbaa14610491578063ccb6e043146102c5578063ce7fccba146104ae578063dea021a5146104da576101f0565b806391b4ded9116100de57806391b4ded914610438578063937ffb8f146104405780639865fdb71461045d578063ae934a7a14610465576101f0565b806374185360146103c857806379ba5097146103d0578063899ffef4146103d85780638da5cb5b14610430576101f0565b80632af64bd31161018757806355aa41bf1161015657806355aa41bf1461037e5780635c975abb1461039b5780636fe4136b146103a3578063706848d2146103ab576101f0565b80632af64bd31461032257806338dfa8cf1461032a5780633dbf12fa1461035057806353a47bb714610376576101f0565b806316841952116101c3578063168419521461028957806316c38b3c146102a6578063175c5189146102c557806321cad774146102f6576101f0565b806304f3bcec146101f5578063056097ac14610219578063086146d2146102495780631627540c14610263575b600080fd5b6101fd610606565b604080516001600160a01b039092168252519081900360200190f35b6102476004803603604081101561022f57600080fd5b506001600160a01b038135811691602001351661061a565b005b6102516107e7565b60408051918252519081900360200190f35b6102476004803603602081101561027957600080fd5b50356001600160a01b03166107ee565b6102476004803603602081101561029f57600080fd5b5035610857565b610247600480360360208110156102bc57600080fd5b50351515610a80565b6102e2600480360360208110156102db57600080fd5b5035610afa565b604080519115158252519081900360200190f35b6102476004803603604081101561030c57600080fd5b50803590602001356001600160a01b0316610b0f565b6102e2610c39565b6102476004803603602081101561034057600080fd5b50356001600160a01b0316610d64565b6102476004803603602081101561036657600080fd5b50356001600160a01b0316610f2e565b6101fd610ff2565b6102516004803603602081101561039457600080fd5b5035611001565b6102e2611016565b6101fd61101f565b610251600480360360208110156103c157600080fd5b503561102e565b610247611043565b61024761122d565b6103e06112f6565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561041c578181015183820152602001610404565b505050509050019250505060405180910390f35b6101fd611367565b610251611376565b6102516004803603602081101561045657600080fd5b503561137c565b610251611391565b6102476004803603604081101561047b57600080fd5b506001600160a01b03813516906020013561142e565b610247600480360360208110156104a757600080fd5b503561159b565b610251600480360360408110156104c457600080fd5b506001600160a01b038135169060200135611648565b6101fd61165d565b610247600480360360208110156104f857600080fd5b81019060208101813564010000000081111561051357600080fd5b82018360208201111561052557600080fd5b8035906020019184602083028401116401000000008311171561054757600080fd5b50909250905061166c565b6102516004803603604081101561056857600080fd5b506001600160a01b03813516906020013561174a565b6102516004803603604081101561059457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460208302840111640100000000831117156105f357600080fd5b509092509050611775565b6102516117c5565b60045461010090046001600160a01b031681565b6106226117cb565b61062b81611816565b610633611886565b6001600160a01b0316826001600160a01b03161415610699576040805162461bcd60e51b815260206004820152601960248201527f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000604482015290519081900360640190fd5b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156106fd57600080fd5b505afa158015610711573d6000803e3d6000fd5b505050506040513d602081101561072757600080fd5b505190508061077d576040805162461bcd60e51b815260206004820152601460248201527f4e6f20746f6b656e7320746f207265636f766572000000000000000000000000604482015290519081900360640190fd5b6107976001600160a01b038316848363ffffffff61189f16565b604080516001600160a01b0380871682528516602082015280820183905290517f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe69181900360600190a150505050565b6006545b90565b6107f66117cb565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6009546001600160a01b031633146108b6576040805162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000604482015290519081900360640190fd5b60006108c0611886565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561091557600080fd5b505afa158015610929573d6000803e3d6000fd5b505050506040513d602081101561093f57600080fd5b505160075490915060009061095b90839063ffffffff61191f16565b9050808311156109b2576040805162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742066726565207265776172647300000000000000604482015290519081900360640190fd5b60065460009081526008602052604090206002810184905560038101849055805460ff191660011781556007546109ef908563ffffffff61197c16565b600755600654604080519182526020820186905280517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9281900390910190a1600654610a4390600163ffffffff61197c16565b600681905560408051918252517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329181900360200190a150505050565b610a886117cb565b60045460ff1615158115151415610a9e57610af7565b6004805460ff1916821515179081905560ff1615610abb57426003555b6004546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60009081526008602052604090205460ff1690565b610b176119d6565b6001600160a01b0316336001600160a01b031614610b7c576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b60065460009081526008602090815260408083206001600160a01b03851684526004810190925290912054610bb7908463ffffffff61197c16565b6001600160a01b03831660009081526004830160205260409020556001810154610be7908463ffffffff61197c16565b600182015560065460408051858152602081019290925280516001600160a01b038516927f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf86692908290030190a2505050565b60006060610c456112f6565b905060005b8151811015610d5b576000828281518110610c6157fe5b602090810291909101810151600081815260058352604090819020546004805483517f21f8a72100000000000000000000000000000000000000000000000000000000815291820185905292519395506001600160a01b0391821694610100909304909116926321f8a72192602480840193919291829003018186803b158015610cea57600080fd5b505afa158015610cfe573d6000803e3d6000fd5b505050506040513d6020811015610d1457600080fd5b50516001600160a01b0316141580610d4157506000818152600560205260409020546001600160a01b0316155b15610d5257600093505050506107eb565b50600101610c4a565b50600191505090565b610d6c6117cb565b610d7581611816565b6000610d7f611886565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610dd457600080fd5b505afa158015610de8573d6000803e3d6000fd5b505050506040513d6020811015610dfe57600080fd5b5051905080610e54576040805162461bcd60e51b815260206004820152601460248201527f4e6f20746f6b656e7320746f207265636f766572000000000000000000000000604482015290519081900360640190fd5b6000610e6b6007548361191f90919063ffffffff16565b905060008111610ec2576040805162461bcd60e51b815260206004820152601460248201527f4e6f20746f6b656e7320746f207265636f766572000000000000000000000000604482015290519081900360640190fd5b610ee58382610ecf611886565b6001600160a01b0316919063ffffffff61189f16565b604080516001600160a01b03851681526020810183905281517f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3929181900390910190a1505050565b610f366117cb565b6001600160a01b038116610f91576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600980546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc9181900360200190a150565b6002546001600160a01b031681565b60009081526008602052604090206001015490565b60045460ff1681565b6000611029611886565b905090565b60009081526008602052604090206003015490565b606061104d6112f6565b905060005b815181101561122957600082828151811061106957fe5b602002602001015190506000600460019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561113457818101518382015260200161111c565b50505050905090810190601f1680156111615780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561117f57600080fd5b505afa158015611193573d6000803e3d6000fd5b505050506040513d60208110156111a957600080fd5b5051600083815260056020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611052565b5050565b6002546001600160a01b031633146112765760405162461bcd60e51b8152600401808060200182810382526035815260200180611fc56035913960400191505060405180910390fd5b600154600254604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600280546001805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506822bc31b430b733b2b960b91b8160008151811061133057fe5b6020026020010181815250506a5065726946696e616e636560a81b8160018151811061135857fe5b60200260200101818152505090565b6001546001600160a01b031681565b60035481565b60009081526008602052604090206002015490565b60006110296007546113a1611886565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156113f657600080fd5b505afa15801561140a573d6000803e3d6000fd5b505050506040513d602081101561142057600080fd5b50519063ffffffff61191f16565b6114366117cb565b61143f82611816565b6006548110611495576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000604482015290519081900360640190fd5b600081815260086020526040902060038101546114f9576040805162461bcd60e51b815260206004820152601f60248201527f4e6f207265776172647320617661696c61626c6520746f207265636f76657200604482015290519081900360640190fd5b600381015461150b8482610ecf611886565b60075461151e908263ffffffff61191f16565b6007556000838152600860209081526040808320805460ff1916815560018101849055600281018490556003019290925581516001600160a01b038716815290810183905280820185905290517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9181900360600190a150505050565b600080546001019081905560045460ff16156115e85760405162461bcd60e51b815260040180806020018281038252603c81526020018061204a603c913960400191505060405180910390fd5b6115f233836119ed565b6000548114611229576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60006116548383611b55565b90505b92915050565b6009546001600160a01b031690565b600080546001019081905560045460ff16156116b95760405162461bcd60e51b815260040180806020018281038252603c81526020018061204a603c913960400191505060405180910390fd5b60005b828110156116ee5760008484838181106116d257fe5b9050602002013590506116e533826119ed565b506001016116bc565b506000548114611745576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b60009081526008602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b828110156117bd57600084848381811061178f57fe5b9050602002013590506117b26117a58783611b55565b849063ffffffff61197c16565b925050600101611779565b509392505050565b60075490565b6001546001600160a01b031633146118145760405162461bcd60e51b815260040180806020018281038252602f815260200180611ffa602f913960400191505060405180910390fd5b565b6001600160a01b038116158061183457506001600160a01b03811630145b15610af7576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964207265636f7665722061646472657373000000000000000000604482015290519081900360640190fd5b60006110296a5065726946696e616e636560a81b611bf9565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052611745908490611ce9565b600082821115611976576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015611654576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006110296822bc31b430b733b2b960b91b611bf9565b6000818152600860205260409020805460ff16611a51576040805162461bcd60e51b815260206004820152601760248201527f506572696f64206973206e6f742066696e616c697a6564000000000000000000604482015290519081900360640190fd5b6000611a5d8484611b55565b905060008111611ab4576040805162461bcd60e51b815260206004820152601460248201527f4e6f207265776172647320617661696c61626c65000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03841660009081526004830160205260408120556003820154611ae4908263ffffffff61191f16565b6003830155600754611afc908263ffffffff61191f16565b600755611b0c8482610ecf611886565b604080518281526020810185905281516001600160a01b038716927fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325928290030190a250505050565b600081815260086020526040812060038101541580611b7657506001810154155b80611b835750805460ff16155b15611b92576000915050611657565b6001600160a01b038416600090815260048201602052604090205480611bbd57600092505050611657565b6000611bd6836001015483611ea790919063ffffffff16565b9050611bef836002015482611ed190919063ffffffff16565b9695505050505050565b60008181526005602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611ce25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ca7578181015183820152602001611c8f565b50505050905090810190601f168015611cd45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b611cfb826001600160a01b0316611efb565b611d4c576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611d8a5780518252601f199092019160209182019101611d6b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611dec576040519150601f19603f3d011682016040523d82523d6000602084013e611df1565b606091505b509150915081611e48576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611ea157808060200190516020811015611e6457600080fd5b5051611ea15760405162461bcd60e51b815260040180806020018281038252602a815260200180612086602a913960400191505060405180910390fd5b50505050565b600061165482611ec585670de0b6b3a764000063ffffffff611f0116565b9063ffffffff611f5a16565b6000670de0b6b3a7640000611eec848463ffffffff611f0116565b81611ef357fe5b049392505050565b3b151590565b600082611f1057506000611657565b82820282848281611f1d57fe5b04146116545760405162461bcd60e51b81526004018080602001828103825260218152602001806120296021913960400191505060405180910390fd5b6000808211611fb0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611fbb57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e7472616374206973207061757365645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820ea7cbcca0b7bfb4d74fd42fa4e71dc59884063bc9b441fccde3d478ba80a6db364736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "periodController",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "AssignedRewardTokensRecovered",
					"type": "event",
					"signature": "0x60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeRecorded",
					"type": "event",
					"signature": "0x927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "NewPeriodStarted",
					"type": "event",
					"signature": "0x4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a230732"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriodController",
							"type": "address"
						}
					],
					"name": "PeriodControllerChanged",
					"type": "event",
					"signature": "0xb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rewards",
							"type": "uint256"
						}
					],
					"name": "PeriodFinalizedWithRewards",
					"type": "event",
					"signature": "0xfa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "RewardsClaimed",
					"type": "event",
					"signature": "0xdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "TokensRecovered",
					"type": "event",
					"signature": "0x401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "UnassignedRewardTokensRecovered",
					"type": "event",
					"signature": "0x14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "claimRewardsForPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb225dbaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "periodIDs",
							"type": "uint256[]"
						}
					],
					"name": "claimRewardsForPeriods",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf32ffd69"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rewards",
							"type": "uint256"
						}
					],
					"name": "closeCurrentPeriodWithRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16841952"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getAvailableRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc9c99ac"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getAvailableRewardsForAccountForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xce7fccba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "periodIDs",
							"type": "uint256[]"
						}
					],
					"name": "getAvailableRewardsForAccountForPeriods",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRewards",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf6b58479"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCurrentPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086146d2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodAvailableRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x706848d2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPeriodController",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdea021a5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodIsClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x175c5189"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodIsFinalized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xccb6e043"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodRecordedFees",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55aa41bf"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodTotalRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x937ffb8f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardsToken",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6fe4136b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getUnaccountedFeesForAccountForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf61f5df6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getUnassignedRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9865fdb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "usdFeeAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "recordExchangeFeeForAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x21cad774"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "recoverAssignedRewardTokensAndDestroyPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xae934a7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x056097ac"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverUnassignedRewardTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x38dfa8cf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "newPeriodController",
							"type": "address"
						}
					],
					"name": "setPeriodController",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3dbf12fa"
				}
			],
			"source": {
				"keccak256": "0x39648ce63b790277cdcd5bc13b44574a9ac7a8a6b5893da4444f3b70bfc31e1a",
				"urls": [
					"bzz-raw://d2b1214c58ccdeb0f4d97cc9e4eff3b1a6c0f706b3b6b0878bdd93f784658ffe",
					"dweb:/ipfs/QmPmaZZk9cnudzFdEA5AKTv93jPsjUqMSk2ogPMUg7ft4W"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TradingRewards.sol": "TradingRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"TradingRewards.sol": {
						"keccak256": "0x39648ce63b790277cdcd5bc13b44574a9ac7a8a6b5893da4444f3b70bfc31e1a",
						"urls": [
							"bzz-raw://d2b1214c58ccdeb0f4d97cc9e4eff3b1a6c0f706b3b6b0878bdd93f784658ffe",
							"dweb:/ipfs/QmPmaZZk9cnudzFdEA5AKTv93jPsjUqMSk2ogPMUg7ft4W"
						]
					}
				},
				"version": 1
			}
		},
		"EscrowChecker": {
			"bytecode": "608060405234801561001057600080fd5b506040516103493803806103498339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556102e4806100656000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063449d0eb11461003b57806359bd89761461009a575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100be565b604051808261020080838360005b8381101561008757818101518382015260200161006f565b5050505090500191505060405180910390f35b6100a2610263565b604080516001600160a01b039092168252519081900360200190f35b6100c6610272565b6100ce610272565b60008054604080517f204b676a0000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301529151919092169163204b676a916024808301926020929190829003018186803b15801561013557600080fd5b505afa158015610149573d6000803e3d6000fd5b505050506040513d602081101561015f57600080fd5b5051905060005b8181101561025a57610176610291565b600054604080517fda7bd3e90000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015260248201869052825193169263da7bd3e992604480840193919291829003018186803b1580156101df57600080fd5b505afa1580156101f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250604081101561021857600080fd5b50805190915084600284026010811061022d57fe5b6020020152806001602002015184836002026001016010811061024c57fe5b602002015250600101610166565b50909392505050565b6000546001600160a01b031681565b6040518061020001604052806010906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fea265627a7a723158207b80c231db6e4d0da84d8de60d92a9adb564094eb4ecbf5c59b7453cc14cbcde64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "_esc",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[16]",
							"name": "",
							"type": "uint256[16]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance_escrow",
					"outputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59bd8976"
				}
			],
			"source": {
				"keccak256": "0x94714dbb2fc2e128d18bdc113c9976a7a22d94fff7ab0b958693ac3daed880db",
				"urls": [
					"bzz-raw://96b141134d990bef189c3429fa44e17742eeeedb505620d338d8aa13d157a189",
					"dweb:/ipfs/QmcQoNA3z6Mhp9H9dD3jwK5UubRgyDLrTN4tcNdRcbYcKQ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EscrowChecker.sol": "EscrowChecker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"EscrowChecker.sol": {
						"keccak256": "0x94714dbb2fc2e128d18bdc113c9976a7a22d94fff7ab0b958693ac3daed880db",
						"urls": [
							"bzz-raw://96b141134d990bef189c3429fa44e17742eeeedb505620d338d8aa13d157a189",
							"dweb:/ipfs/QmcQoNA3z6Mhp9H9dD3jwK5UubRgyDLrTN4tcNdRcbYcKQ"
						]
					}
				},
				"version": 1
			}
		},
		"SupplySchedule": {
			"bytecode": "6080604052600060045534801561001557600080fd5b506040516110b93803806110b98339818101604052606081101561003857600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a5576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610fa2806101176000396000f3fe608060405234801561001057600080fd5b50600436106101a35760003560e01c80637e1b823f116100ee578063be801f0111610097578063d12a701d11610071578063d12a701d14610340578063d3bd4bde14610348578063dbd3a6a714610350578063df5a9fc114610358576101a3565b8063be801f011461030a578063c1b7ca1114610312578063cc5c095c14610338576101a3565b80639bdd7ac7116100c85780639bdd7ac7146102d7578063b3b2bcc0146102df578063badef30a14610302576101a3565b80637e1b823f146102aa5780637e7961d7146102b25780638da5cb5b146102cf576101a3565b806346b45af71161015057806353a47bb71161012a57806353a47bb71461027657806379ba50971461029a5780637c060557146102a2576101a3565b806346b45af7146102205780634ae265211461023c5780634e070f5014610259576101a3565b8063251330f111610181578063251330f1146101f2578063255420641461021057806346872a2314610218576101a3565b80631627540c146101a85780631de40e49146101d057806322af2bab146101ea575b600080fd5b6101ce600480360360208110156101be57600080fd5b50356001600160a01b0316610360565b005b6101d86103c9565b60408051918252519081900360200190f35b6101d86103d4565b6101fa6103e1565b6040805160ff9092168252519081900360200190f35b6101d86103e6565b6101d86103f1565b6102286103f8565b604080519115158252519081900360200190f35b6101ce6004803603602081101561025257600080fd5b5035610418565b6101d86004803603602081101561026f57600080fd5b50356104a3565b61027e610563565b604080516001600160a01b039092168252519081900360200190f35b6101ce610572565b6101fa61063b565b6101d8610640565b610228600480360360208110156102c857600080fd5b5035610648565b61027e6107ce565b6101d86107dd565b6101d8600480360360408110156102f557600080fd5b50803590602001356107e3565b6101d861091d565b6101d861092b565b6101ce6004803603602081101561032857600080fd5b50356001600160a01b0316610931565b6101d86109fb565b61027e610b71565b6101d8610b80565b6101d8610b86565b6101d8610bdb565b610368610be2565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b662c68af0bb1400081565b680ad78ebc5ac620000081565b603481565b66b1a2bc2ec5000081565b6201518081565b600062093a806002544203111561041157506001610415565b5060005b90565b610420610be2565b680ad78ebc5ac62000008111156104685760405162461bcd60e51b8152600401808060200182810382526026815260200180610f486026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b60008061053d83610531662c68af0bb1400073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f957600080fd5b505af415801561050d573d6000803e3d6000fd5b505050506040513d602081101561052357600080fd5b50519063ffffffff610c2d16565b9063ffffffff610c8a16565b9050600061055b69104a18ef4d3b7a9a2b208363ffffffff610d4616565b949350505050565b6001546001600160a01b031681565b6001546001600160a01b031633146105bb5760405162461bcd60e51b8152600401808060200182810382526035815260200180610e8e6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60ac81565b6360e8e30081565b600554604080517fd4b8399200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b1580156106a657600080fd5b505afa1580156106ba573d6000803e3d6000fd5b505050506040513d60208110156106d057600080fd5b50516001600160a01b031633146107185760405162461bcd60e51b8152600401808060200182810382526035815260200180610ec36035913960400191505060405180910390fd5b6000610722610b86565b600354909150610738908263ffffffff610d7016565b600381905561077a90620151809061076e9061075d9062093a8063ffffffff610dca16565b6360e8e3009063ffffffff610d7016565b9063ffffffff610d7016565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a150600192915050565b6000546001600160a01b031681565b60045481565b6000806108818361053161080566b1a2bc2ec50000603463ffffffff610e2316565b73__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561084957600080fd5b505af415801561085d573d6000803e3d6000fd5b505050506040513d602081101561087357600080fd5b50519063ffffffff610d7016565b905061091361090673__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156108cd57600080fd5b505af41580156108e1573d6000803e3d6000fd5b505050506040513d60208110156108f757600080fd5b5051839063ffffffff610c2d16565b859063ffffffff610d4616565b9150505b92915050565b69104a18ef4d3b7a9a2b2081565b60025481565b610939610be2565b6001600160a01b038116610994576040805162461bcd60e51b815260206004820152601360248201527f416464726573732063616e6e6f74206265203000000000000000000000000000604482015290519081900360640190fd5b6005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03838116919091179182905560408051929091168252517f4094b32859be9f48a78da629a4781a3dba62f3ac0c160db0d2b16fad5b7e4570916020908290030190a150565b600080610a066103f8565b610a11579050610415565b6000610a1b610b86565b6003549091505b8115610b69576001016034811015610a5c57610a4e8369104a18ef4d3b7a9a2b2063ffffffff610d7016565b925060001990910190610b64565b60ac8111610aa1576000610a7782603363ffffffff610c2d16565b9050610a92610a85826104a3565b859063ffffffff610d7016565b93505060001990910190610b64565b600554604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610aff57600080fd5b505afa158015610b13573d6000803e3d6000fd5b505050506040513d6020811015610b2957600080fd5b505190506000610b3f828663ffffffff610d7016565b9050610b5b610b4e82866107e3565b869063ffffffff610d7016565b94506000935050505b610a22565b509091505090565b6005546001600160a01b031681565b60035481565b600080600060025411610bac57610ba7426360e8e30063ffffffff610c2d16565b610bc0565b600254610bc090429063ffffffff610c2d16565b9050610bd58162093a8063ffffffff610e2316565b91505090565b62093a8081565b6000546001600160a01b03163314610c2b5760405162461bcd60e51b815260040180806020018281038252602f815260200180610ef8602f913960400191505060405180910390fd5b565b600082821115610c84576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd157600080fd5b505af4158015610ce5573d6000803e3d6000fd5b505050506040513d6020811015610cfb57600080fd5b505190505b8215610d3f576002830615610d2257610d1f818563ffffffff610d4616565b90505b610d32848063ffffffff610d4616565b9350600283049250610d00565b9392505050565b6000670de0b6b3a7640000610d61848463ffffffff610dca16565b81610d6857fe5b049392505050565b600082820183811015610d3f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082610dd957506000610917565b82820282848281610de657fe5b0414610d3f5760405162461bcd60e51b8152600401808060200182810382526021815260200180610f276021913960400191505060405180910390fd5b6000808211610e79576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610e8457fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c7920746865207065726946696e616e636520636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a7231582072d4975aa0f89a9d5086d65b5d74161ab27203df3d522814807c5201034b355c64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_lastMintEvent",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_currentWeek",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRewardAmount",
							"type": "uint256"
						}
					],
					"name": "MinterRewardUpdated",
					"type": "event",
					"signature": "0x036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d30"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newAddress",
							"type": "address"
						}
					],
					"name": "PeriFinanceProxyUpdated",
					"type": "event",
					"signature": "0x4094b32859be9f48a78da629a4781a3dba62f3ac0c160db0d2b16fad5b7e4570"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "supplyMinted",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "numberOfWeeksIssued",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lastMintEvent",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "SupplyMinted",
					"type": "event",
					"signature": "0x601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECAY_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1de40e49"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "INFLATION_START_DATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e1b823f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "INITIAL_WEEKLY_SUPPLY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbadef30a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINTER_REWARD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22af2bab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MINT_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46872a23"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MINT_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdf5a9fc1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUPPLY_DECAY_END",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c060557"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUPPLY_DECAY_START",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x251330f1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TERMINAL_SUPPLY_RATE_ANNUAL",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x25542064"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isMintable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46b45af7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastMintEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbe801f01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintableSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcc5c095c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minterReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9bdd7ac7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinanceProxy",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd12a701d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "supplyMinted",
							"type": "uint256"
						}
					],
					"name": "recordMintEvent",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7e7961d7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setMinterReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4ae26521"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinanceProxy",
							"type": "address"
						}
					],
					"name": "setPeriFinanceProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc1b7ca11"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numOfWeeks",
							"type": "uint256"
						}
					],
					"name": "terminalInflationSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xb3b2bcc0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "counter",
							"type": "uint256"
						}
					],
					"name": "tokenDecaySupplyForWeek",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x4e070f50"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weekCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3bd4bde"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weeksSinceLastIssuance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd3a6a7"
				}
			],
			"source": {
				"keccak256": "0x1ff8b127c6b01b21a91be9dbac73ab6d54556db8e2757b7f2debcf0e870c40f3",
				"urls": [
					"bzz-raw://c1e23b0c5e230908c73e915e3cba8b4577abeca730503f4b246a51dbe8334041",
					"dweb:/ipfs/QmdYZ77pzhB2R3zZQahYXZsxezecpztbZ5LsGS3geCkVi2"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SupplySchedule.sol": "SupplySchedule"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"SupplySchedule.sol": {
						"keccak256": "0x1ff8b127c6b01b21a91be9dbac73ab6d54556db8e2757b7f2debcf0e870c40f3",
						"urls": [
							"bzz-raw://c1e23b0c5e230908c73e915e3cba8b4577abeca730503f4b246a51dbe8334041",
							"dweb:/ipfs/QmdYZ77pzhB2R3zZQahYXZsxezecpztbZ5LsGS3geCkVi2"
						]
					}
				},
				"version": 1
			}
		},
		"MultiCollateralPynth": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200470838038062004708833981016040819052620000349162000383565b888888888888888880888888888660128a86816001600160a01b038116620000795760405162461bcd60e51b81526004016200007090620005dc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000580565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b81526004016200007090620005ca565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200014790839062000570565b60405180910390a150600580546001600160a01b0319166001600160a01b03881617905584516200018090600690602088019062000255565b5083516200019690600790602087019062000255565b50506008919091556009805460ff191660ff9092169190911790555050600b80546001600160a01b0319166001600160a01b0394851617905550508816620001f25760405162461bcd60e51b81526004016200007090620005a6565b6001600160a01b0384166200021b5760405162461bcd60e51b81526004016200007090620005b8565b5050600d555050600e80546001600160a01b0319166001600160a01b03959095169490941790935550620006dc9950505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200029857805160ff1916838001178555620002c8565b82800160010185558215620002c8579182015b82811115620002c8578251825591602001919060010190620002ab565b50620002d6929150620002da565b5090565b620002f791905b80821115620002d65760008155600101620002e1565b90565b80516200030781620006ac565b92915050565b80516200030781620006c6565b80516200030781620006d1565b600082601f8301126200033957600080fd5b8151620003506200034a8262000615565b620005ee565b915080825260208301602083018583830111156200036d57600080fd5b6200037a83828462000679565b50505092915050565b60008060008060008060008060006101208a8c031215620003a357600080fd5b6000620003b18c8c620002fa565b9950506020620003c48c828d016200031a565b98505060408a01516001600160401b03811115620003e157600080fd5b620003ef8c828d0162000327565b97505060608a01516001600160401b038111156200040c57600080fd5b6200041a8c828d0162000327565b96505060806200042d8c828d01620002fa565b95505060a0620004408c828d016200030d565b94505060c0620004538c828d016200030d565b93505060e0620004668c828d01620002fa565b9250506101006200047a8c828d01620002fa565b9150509295985092959850929598565b62000495816200066c565b82525050565b620004958162000646565b6000620004b56012836200063d565b7105f70726f78792063616e6e6f7420626520360741b815260200192915050565b6000620004e56012836200063d565b7105f6f776e65722063616e6e6f7420626520360741b815260200192915050565b6000620005156011836200063d565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620005446019836200063d565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200030782846200048a565b604081016200059082856200048a565b6200059f60208301846200049b565b9392505050565b602080825281016200030781620004a6565b602080825281016200030781620004d6565b60208082528101620003078162000506565b60208082528101620003078162000535565b6040518181016001600160401b03811182821017156200060d57600080fd5b604052919050565b60006001600160401b038211156200062c57600080fd5b506020601f91909101601f19160190565b90815260200190565b6000620003078262000660565b6000620003078262000646565b6001600160a01b031690565b6000620003078262000653565b60005b83811015620006965781810151838201526020016200067c565b83811115620006a6576000848401525b50505050565b620006b78162000646565b8114620006c357600080fd5b50565b620006b781620002f7565b620006b78162000653565b61401c80620006ec6000396000f3fe6080604052600436106102c65760003560e01c80638da5cb5b11610179578063b014c3a3116100d6578063e22760f71161008a578063eb1edd6111610064578063eb1edd6114610706578063ec5568891461071b578063f7ea7a3d14610730576102c6565b8063e22760f7146106bc578063e73cced3146106d1578063e90dd9e2146106f1576102c6565b8063d67bdd25116100bb578063d67bdd2514610672578063dbd06c8514610687578063dd62ed3e1461069c576102c6565b8063b014c3a314610632578063bc67f83214610652576102c6565b80639cbdaeb61161012d5780639f769807116101125780639f769807146105ea578063a9059cbb1461060a578063af5a5e4c1461062a576102c6565b80639cbdaeb6146105b55780639dc29fac146105ca576102c6565b806395d89b411161015e57806395d89b411461056d57806397107d6d146105825780639a26669e146105a2576102c6565b80638da5cb5b1461053857806392d5011f1461054d576102c6565b8063440c67781161022757806379ba5097116101db578063842efb01116101c0578063842efb01146104d6578063867904b4146104f6578063899ffef414610516576102c6565b806379ba5097146104a15780637f4dab2f146104b6576102c6565b806353a47bb71161020c57806353a47bb71461044a57806370a082311461046c578063741853601461048c576102c6565b8063440c6778146104155780634466ec2c14610435576102c6565b806318160ddd1161027e5780632af64bd3116102635780632af64bd3146103c95780632e0f2625146103de578063313ce56714610400576102c6565b806318160ddd1461038757806323b872dd146103a9576102c6565b8063095ea7b3116102af578063095ea7b314610318578063131b0ae7146103455780631627540c14610367576102c6565b806304f3bcec146102cb57806306fdde03146102f6575b600080fd5b3480156102d757600080fd5b506102e0610750565b6040516102ed9190613d60565b60405180910390f35b34801561030257600080fd5b5061030b61075f565b6040516102ed9190613d6e565b34801561032457600080fd5b506103386103333660046130c7565b6107ed565b6040516102ed9190613c28565b34801561035157600080fd5b50610365610360366004612fcc565b610894565b005b34801561037357600080fd5b50610365610382366004612fcc565b6108be565b34801561039357600080fd5b5061039c61091c565b6040516102ed9190613c36565b3480156103b557600080fd5b506103386103c436600461304a565b610922565b3480156103d557600080fd5b5061033861094b565b3480156103ea57600080fd5b506103f3610a7c565b6040516102ed9190613e9f565b34801561040c57600080fd5b506103f3610a81565b34801561042157600080fd5b50610365610430366004612fcc565b610a8a565b34801561044157600080fd5b506102e0610ab4565b34801561045657600080fd5b5061045f610ac3565b6040516102ed9190613b27565b34801561047857600080fd5b5061039c610487366004612fcc565b610ad2565b34801561049857600080fd5b50610365610b5b565b3480156104ad57600080fd5b50610365610cb1565b3480156104c257600080fd5b5061039c6104d1366004612fcc565b610d56565b3480156104e257600080fd5b506103656104f1366004612fcc565b610e96565b34801561050257600080fd5b506103656105113660046130c7565b610ec0565b34801561052257600080fd5b5061052b611040565b6040516102ed9190613c17565b34801561054457600080fd5b5061045f611191565b34801561055957600080fd5b50610365610568366004613097565b6111a0565b34801561057957600080fd5b5061030b6111d3565b34801561058e57600080fd5b5061036561059d366004612fcc565b61122e565b6103656105b036600461322c565b611281565b3480156105c157600080fd5b506102e061155d565b3480156105d657600080fd5b506103656105e53660046130c7565b61156c565b3480156105f657600080fd5b506103656106053660046131d2565b6116ed565b34801561061657600080fd5b506103386106253660046130c7565b61171c565b6103656117ad565b34801561063e57600080fd5b5061033861064d3660046130c7565b6119c0565b34801561065e57600080fd5b5061036561066d366004612fcc565b611b39565b34801561067e57600080fd5b5061045f611b63565b34801561069357600080fd5b5061039c611b72565b3480156106a857600080fd5b5061039c6106b7366004613010565b611b78565b3480156106c857600080fd5b5061045f611bfb565b3480156106dd57600080fd5b506103386106ec36600461304a565b611c0a565b3480156106fd57600080fd5b506102e0611d55565b34801561071257600080fd5b5061045f611d64565b34801561072757600080fd5b506102e0611d7c565b34801561073c57600080fd5b5061036561074b3660046131f0565b611d8b565b600b546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107e55780601f106107ba576101008083540402835291602001916107e5565b820191906000526020600020905b8154815290600101906020018083116107c857829003601f168201915b505050505081565b60006107f7611d98565b600480546005546040517fda46098c0000000000000000000000000000000000000000000000000000000081526001600160a01b0392831693919092169163da46098c9161084b9185918991899101613b5e565b600060405180830381600087803b15801561086557600080fd5b505af1158015610879573d6000803e3d6000fd5b50505050610888818585611def565b60019150505b92915050565b61089c611e6f565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6108c6611e6f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610911908390613b27565b60405180910390a150565b60085481565b600061092c611d98565b6109368483611e99565b610941848484611fce565b90505b9392505050565b60006060610957611040565b905060005b8151811015610a7257600082828151811061097357fe5b6020908102919091018101516000818152600c90925260409182902054600b5492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a721906109dd908590600401613c36565b60206040518083038186803b1580156109f557600080fd5b505afa158015610a09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a2d9190810190612ff2565b6001600160a01b0316141580610a5857506000818152600c60205260409020546001600160a01b0316155b15610a695760009350505050610a79565b5060010161095c565b5060019150505b90565b601281565b60095460ff1681565b610a92611e6f565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b600f546001600160a01b031681565b6001546001600160a01b031681565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610b03908590600401613b27565b60206040518083038186803b158015610b1b57600080fd5b505afa158015610b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b53919081019061320e565b90505b919050565b6060610b65611040565b905060005b8151811015610cad576000828281518110610b8157fe5b602002602001015190506000600b60009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610bc39190613b11565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610bef929190613c52565b60206040518083038186803b158015610c0757600080fd5b505afa158015610c1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c3f9190810190612ff2565b6000838152600c60205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610c9b9084908490613c44565b60405180910390a15050600101610b6a565b5050565b6001546001600160a01b03163314610ce45760405162461bcd60e51b8152600401610cdb90613d8f565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610d27926001600160a01b0391821692911690613b43565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600080610d6161215f565b6001600160a01b03166319d5c66584600d546040518363ffffffff1660e01b8152600401610d90929190613b86565b60606040518083038186803b158015610da857600080fd5b505afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de0919081019061326f565b50506005546040516370a0823160e01b81529192506000916001600160a01b03909116906370a0823190610e18908790600401613b27565b60206040518083038186803b158015610e3057600080fd5b505afa158015610e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e68919081019061320e565b905080821115610e7d57600092505050610b56565b610e8d818363ffffffff61217b16565b92505050610b56565b610e9e611e6f565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610eca6121a3565b6001600160a01b0316336001600160a01b03161490506000610eea61215f565b6001600160a01b0316336001600160a01b03161490506000610f0a6121b8565b6001600160a01b0316336001600160a01b03161490506000610f2a6121cc565b6001600160a01b0316336001600160a01b03161490506000610f4a6121f7565b6001600160a01b0316336001600160a01b03161490506000610f6a612222565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b8152600401610f959190613b35565b60206040518083038186803b158015610fad57600080fd5b505afa158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fe591908101906131b4565b90508580610ff05750845b80610ff85750835b806110005750825b806110085750815b806110105750805b61102c5760405162461bcd60e51b8152600401610cdb90613dcf565b611036888861224d565b5050505050505050565b60608061104b612365565b60408051600580825260c08201909252919250606091906020820160a0803883390190505090507f436f6c6c61746572616c4d616e61676572000000000000000000000000000000816000815181106110a057fe5b6020026020010181815250507f4574686572436f6c6c61746572616c0000000000000000000000000000000000816001815181106110da57fe5b6020026020010181815250507f4574686572436f6c6c61746572616c70555344000000000000000000000000008160028151811061111457fe5b6020026020010181815250507f53797374656d53657474696e67730000000000000000000000000000000000008160038151811061114e57fe5b6020026020010181815250506844656274436163686560b81b8160048151811061117457fe5b60200260200101818152505061118a8282612421565b9250505090565b6000546001600160a01b031681565b6111a8611e6f565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107e55780601f106107ba576101008083540402835291602001916107e5565b611236611e6f565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610911908390613b35565b611289611d98565b600f546001600160a01b03166112b15760405162461bcd60e51b8152600401610cdb90613e4f565b600083116112d15760405162461bcd60e51b8152600401610cdb90613e6f565b6112d96124dd565b6001600160a01b031663962438036040518163ffffffff1660e01b815260040160206040518083038186803b15801561131157600080fd5b505afa158015611325573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611349919081019061320e565b3410156113685760405162461bcd60e51b8152600401610cdb90613e0f565b60045461137e906001600160a01b031684611e99565b600e546040516001600160a01b03909116903480156108fc02916000818181858888f193505050501580156113b7573d6000803e3d6000fd5b506004546113ce906001600160a01b031684612508565b6113ea5760405162461bcd60e51b8152600401610cdb90613def565b6113f26125ce565b6001600160a01b0316638376a782631c1554d160e21b73__$403e5438a00a7d3d295861087c3305b322$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561144c57600080fd5b505af4158015611460573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611484919081019061320e565b6040518363ffffffff1660e01b81526004016114a1929190613c72565b600060405180830381600087803b1580156114bb57600080fd5b505af11580156114cf573d6000803e3d6000fd5b5050600f54600480546040517f62f0c06b0000000000000000000000000000000000000000000000000000000081526001600160a01b0393841695506362f0c06b9450611526939091169188918891889101613be2565b600060405180830381600087803b15801561154057600080fd5b505af1158015611554573d6000803e3d6000fd5b50505050505050565b6003546001600160a01b031681565b60006115766121a3565b6001600160a01b0316336001600160a01b0316149050600061159661215f565b6001600160a01b0316336001600160a01b031614905060006115b66121b8565b6001600160a01b0316336001600160a01b031614905060006115d66121cc565b6001600160a01b0316336001600160a01b031614905060006115f66121f7565b6001600160a01b0316336001600160a01b03161490506000611616612222565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b81526004016116419190613b35565b60206040518083038186803b15801561165957600080fd5b505afa15801561166d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169191908101906131b4565b9050858061169c5750845b806116a45750835b806116ac5750825b806116b45750815b806116bc5750805b6116d85760405162461bcd60e51b8152600401610cdb90613dcf565b6116e28888612508565b505050505050505050565b6116f56125e5565b600580546001600160a01b0319166001600160a01b0383161790556117198161266a565b50565b6000611726611d98565b60045461173c906001600160a01b031683611e99565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156117725761176b8383612729565b905061088e565b6001600160a01b0383166117965760045461176b906001600160a01b031683612508565b600454610944906001600160a01b0316848461288f565b6117b5611d98565b600f546001600160a01b03166117dd5760405162461bcd60e51b8152600401610cdb90613e4f565b600f54600480546040517f0a2da1780000000000000000000000000000000000000000000000000000000081526060936001600160a01b0390811693630a2da1789361182c9392169101613b27565b60006040518083038186803b15801561184457600080fd5b505afa158015611858573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611880919081019061317f565b905060008151116118a35760405162461bcd60e51b8152600401610cdb90613e2f565b6118ab6124dd565b6001600160a01b03166387c24d346040518163ffffffff1660e01b815260040160206040518083038186803b1580156118e357600080fd5b505afa1580156118f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061191b919081019061320e565b34101561193a5760405162461bcd60e51b8152600401610cdb90613e0f565b600e546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015611973573d6000803e3d6000fd5b5060005b8151811015610cad5761199c82828151811061198f57fe5b6020026020010151612a54565b6119b85760405162461bcd60e51b8152600401610cdb90613e1f565b600101611977565b60006119ca611d98565b60006119d461215f565b60048054600d546040517f1b16802c0000000000000000000000000000000000000000000000000000000081526001600160a01b0394851694631b16802c94611a2294909116929101613b86565b606060405180830381600087803b158015611a3c57600080fd5b505af1158015611a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a74919081019061326f565b9250849150508115611b0757600554600480546040516370a0823160e01b81526001600160a01b03938416936370a0823193611ab4939091169101613b27565b60206040518083038186803b158015611acc57600080fd5b505afa158015611ae0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b04919081019061320e565b90505b808411611b145783611b16565b805b600454909450611b30906001600160a01b0316868661288f565b95945050505050565b611b41612c68565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600d5481565b600554604051636eb1769f60e11b81526000916001600160a01b03169063dd62ed3e90611bab9086908690600401613b43565b60206040518083038186803b158015611bc357600080fd5b505afa158015611bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610944919081019061320e565b600e546001600160a01b031681565b6000611c14611d98565b6000611c1e61215f565b6001600160a01b0316631b16802c86600d546040518363ffffffff1660e01b8152600401611c4d929190613b86565b606060405180830381600087803b158015611c6757600080fd5b505af1158015611c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c9f919081019061326f565b9250849150508115611d2e576005546040516370a0823160e01b81526001600160a01b03909116906370a0823190611cdb908990600401613b27565b60206040518083038186803b158015611cf357600080fd5b505afa158015611d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d2b919081019061320e565b90505b80841015611d3c5783611d3e565b805b9350611d4b868686611fce565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611d936125e5565b600855565b6002546001600160a01b03163314801590611dbe57506003546001600160a01b03163314155b8015611dd557506004546001600160a01b03163314155b15611ded57600480546001600160a01b031916331790555b565b6002546040516001600160a01b039091169063907dff9790611e15908490602001613c36565b6040516020818303038152906040526003604051611e3290613af0565b6040518091039020611e4388612ca7565b611e4c88612ca7565b60006040518763ffffffff1660e01b815260040161152696959493929190613d19565b6000546001600160a01b03163314611ded5760405162461bcd60e51b8152600401610cdb90613dff565b611ea161215f565b6001600160a01b031663059c29ec83600d546040518363ffffffff1660e01b8152600401611ed0929190613b86565b60206040518083038186803b158015611ee857600080fd5b505afa158015611efc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f20919081019061320e565b15611f3d5760405162461bcd60e51b8152600401610cdb90613e5f565b80611f4783610d56565b1015611f655760405162461bcd60e51b8152600401610cdb90613dbf565b611f6d612cb3565b6001600160a01b0316631d7e7789600d546040518263ffffffff1660e01b8152600401611f9a9190613c36565b60006040518083038186803b158015611fb257600080fd5b505afa158015611fc6573d6000803e3d6000fd5b505050505050565b60055460048054604051636eb1769f60e11b8152600093600019936001600160a01b039182169363dd62ed3e9361200a938b9392169101613b43565b60206040518083038186803b15801561202257600080fd5b505afa158015612036573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061205a919081019061320e565b146121545760055460048054604051636eb1769f60e11b81526001600160a01b039384169363da46098c93899390911691612103918891879163dd62ed3e916120a7918891889101613b43565b60206040518083038186803b1580156120bf57600080fd5b505afa1580156120d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120f7919081019061320e565b9063ffffffff61217b16565b6040518463ffffffff1660e01b815260040161212193929190613b5e565b600060405180830381600087803b15801561213b57600080fd5b505af115801561214f573d6000803e3d6000fd5b505050505b61094184848461288f565b60006121766822bc31b430b733b2b960b91b612cc9565b905090565b60008282111561219d5760405162461bcd60e51b8152600401610cdb90613ddf565b50900390565b600061217666119959541bdbdb60ca1b612cc9565b60006121766524b9b9bab2b960d11b612cc9565b60006121767f4574686572436f6c6c61746572616c0000000000000000000000000000000000612cc9565b60006121767f4574686572436f6c6c61746572616c7055534400000000000000000000000000612cc9565b60006121767f436f6c6c61746572616c4d616e61676572000000000000000000000000000000612cc9565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f69084906122e990859085906370a082319061228d908690600401613b27565b60206040518083038186803b1580156122a557600080fd5b505afa1580156122b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122dd919081019061320e565b9063ffffffff612d2616565b6040518363ffffffff1660e01b8152600401612306929190613b86565b600060405180830381600087803b15801561232057600080fd5b505af1158015612334573d6000803e3d6000fd5b505060085461234c925090508263ffffffff612d2616565b60085561235b60008383612d4b565b610cad8282612d8e565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b816000815181106123a557fe5b6020026020010181815250506822bc31b430b733b2b960b91b816001815181106123cb57fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106123ee57fe5b60200260200101818152505066119959541bdbdb60ca1b8160038151811061241257fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612451578160200160208202803883390190505b50905060005b83518110156124935783818151811061246c57fe5b602002602001015182828151811061248057fe5b6020908102919091010152600101612457565b5060005b82518110156124d6578281815181106124ac57fe5b60200260200101518282865101815181106124c357fe5b6020908102919091010152600101612497565b5092915050565b60006121767f53797374656d53657474696e6773000000000000000000000000000000000000612cc9565b6005546040516370a0823160e01b81526000916001600160a01b03169063b46310f690859061254990869085906370a08231906120a7908690600401613b27565b6040518363ffffffff1660e01b8152600401612566929190613b86565b600060405180830381600087803b15801561258057600080fd5b505af1158015612594573d6000803e3d6000fd5b50506008546125ac925090508363ffffffff61217b16565b6008556125bb83600084612d4b565b6125c58383612e34565b50600192915050565b60006121766844656274436163686560b81b612cc9565b6002546001600160a01b0316331480159061260b57506003546001600160a01b03163314155b801561262257506004546001600160a01b03163314155b1561263a57600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614611ded5760405162461bcd60e51b8152600401610cdb90613d9f565b6002546040516001600160a01b039091169063907dff9790612690908490602001613b27565b60405160208183030381529060405260016040516126ad90613afb565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526126f493929160009081908190600401613c80565b600060405180830381600087803b15801561270e57600080fd5b505af1158015612722573d6000803e3d6000fd5b5050505050565b600080600d54631c1554d160e21b141561275d57506004548290612757906001600160a01b0316858361288f565b50612820565b61276561215f565b60048054600d546040517f0a1e187d0000000000000000000000000000000000000000000000000000000081526001600160a01b0394851694630a1e187d946127cb949091169291899173feefeefeefeefeefeefeefeefeefeefeefeefeef9101613ba1565b602060405180830381600087803b1580156127e557600080fd5b505af11580156127f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061281d919081019061320e565b90505b6128286121a3565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b81526004016128539190613c36565b600060405180830381600087803b15801561286d57600080fd5b505af1158015612881573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906128b257506001600160a01b0383163014155b80156128cc57506002546001600160a01b03848116911614155b6128e85760405162461bcd60e51b8152600401610cdb90613d7f565b6001600160a01b0384166000908152600a602052604090205460ff16156129215760405162461bcd60e51b8152600401610cdb90613e8f565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f690869061296190869085906370a08231906120a7908690600401613b27565b6040518363ffffffff1660e01b815260040161297e929190613b86565b600060405180830381600087803b15801561299857600080fd5b505af11580156129ac573d6000803e3d6000fd5b50506005546040516370a0823160e01b81526001600160a01b03909116925063b46310f6915085906129f090869085906370a082319061228d908690600401613b27565b6040518363ffffffff1660e01b8152600401612a0d929190613b86565b600060405180830381600087803b158015612a2757600080fd5b505af1158015612a3b573d6000803e3d6000fd5b50505050612a4a848484612d4b565b5060019392505050565b600f546040517f1e1d164f000000000000000000000000000000000000000000000000000000008152600091829182916001600160a01b031690631e1d164f90612aa2908790600401613c36565b6101006040518083038186803b158015612abb57600080fd5b505afa158015612acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612af391908101906130f7565b505060045493955091935050506001600160a01b03808416911614612b2a5760405162461bcd60e51b8152600401610cdb90613e3f565b600f546040517f909f018a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063909f018a90612b759087908590600401613c72565b600060405180830381600087803b158015612b8f57600080fd5b505af1158015612ba3573d6000803e3d6000fd5b50505050612bb1828261224d565b612bb96125ce565b6001600160a01b0316638376a782631c1554d160e21b73__$403e5438a00a7d3d295861087c3305b322$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612c1357600080fd5b505af4158015612c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c4b919081019061320e565b6040518363ffffffff1660e01b8152600401612853929190613c72565b6002546001600160a01b0316331480612c8b57506003546001600160a01b031633145b611ded5760405162461bcd60e51b8152600401610cdb90613e7f565b6001600160a01b031690565b60006121766b53797374656d53746174757360a01b5b6000818152600c602090815260408083205490516001600160a01b039091169182151591612cf991869101613ac5565b604051602081830303815290604052906124d65760405162461bcd60e51b8152600401610cdb9190613d6e565b6000828201838110156109445760405162461bcd60e51b8152600401610cdb90613daf565b6002546040516001600160a01b039091169063907dff9790612d71908490602001613c36565b6040516020818303038152906040526003604051611e3290613b1c565b6002546040516001600160a01b039091169063907dff9790612db4908490602001613c36565b6040516020818303038152906040526002604051612dd190613b06565b6040518091039020612de287612ca7565b6000806040518763ffffffff1660e01b8152600401612e0696959493929190613cdf565b600060405180830381600087803b158015612e2057600080fd5b505af1158015611fc6573d6000803e3d6000fd5b6002546040516001600160a01b039091169063907dff9790612e5a908490602001613c36565b6040516020818303038152906040526002604051612dd190613ae5565b803561088e81613fa1565b805161088e81613fa1565b600082601f830112612e9e57600080fd5b8151612eb1612eac82613ed4565b613ead565b91508181835260208401935060208101905083856020840282011115612ed657600080fd5b60005b83811015612f025781612eec8882612f2d565b8452506020928301929190910190600101612ed9565b5050505092915050565b803561088e81613fb5565b805161088e81613fb5565b803561088e81613fbe565b805161088e81613fbe565b803561088e81613fc7565b600060608284031215612f5557600080fd5b50919050565b600060608284031215612f6d57600080fd5b612f776060613ead565b90506000612f858484612f2d565b8252506020612f9684848301612f2d565b6020830152506040612faa84828501612fc1565b60408301525092915050565b803561088e81613fd0565b805161088e81613fd0565b600060208284031215612fde57600080fd5b6000612fea8484612e77565b949350505050565b60006020828403121561300457600080fd5b6000612fea8484612e82565b6000806040838503121561302357600080fd5b600061302f8585612e77565b925050602061304085828601612e77565b9150509250929050565b60008060006060848603121561305f57600080fd5b600061306b8686612e77565b935050602061307c86828701612e77565b925050604061308d86828701612f22565b9150509250925092565b600080604083850312156130aa57600080fd5b60006130b68585612e77565b925050602061304085828601612f0c565b600080604083850312156130da57600080fd5b60006130e68585612e77565b925050602061304085828601612f22565b600080600080600080610100878903121561311157600080fd5b600061311d8989612e82565b965050602061312e89828a01612f2d565b955050604061313f89828a01612f2d565b945050606061315089828a01612f2d565b935050608061316189828a01612f17565b92505060a061317289828a01612f5b565b9150509295509295509295565b60006020828403121561319157600080fd5b815167ffffffffffffffff8111156131a857600080fd5b612fea84828501612e8d565b6000602082840312156131c657600080fd5b6000612fea8484612f17565b6000602082840312156131e457600080fd5b6000612fea8484612f38565b60006020828403121561320257600080fd5b6000612fea8484612f22565b60006020828403121561322057600080fd5b6000612fea8484612f2d565b600080600060a0848603121561324157600080fd5b600061324d8686612f22565b935050602061325e86828701612f22565b925050604061308d86828701612f43565b60008060006060848603121561328457600080fd5b60006132908686612f2d565b93505060206132a186828701612f2d565b925050604061308d86828701612f2d565b60006132be8383613340565b505060200190565b6132cf81613f47565b82525050565b6132cf81613f26565b60006132e982613efb565b6132f38185613eff565b93506132fe83613ef5565b8060005b8381101561332c57815161331688826132b2565b975061332183613ef5565b925050600101613302565b509495945050505050565b6132cf81613f31565b6132cf81610a79565b6132cf61335582610a79565b610a79565b600061336582613efb565b61336f8185613eff565b935061337f818560208601613f6b565b61338881613f97565b9093019392505050565b6132cf81613f36565b6132cf81613f52565b6132cf81613f60565b60006133ba601f83613eff565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b60006133f3603583613eff565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000613452601383613eff565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b600061348b601b83613eff565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006134c4602f83613eff565b7f496e73756666696369656e742062616c616e636520616674657220616e79207381527f6574746c656d656e74206f77696e670000000000000000000000000000000000602082015260400192915050565b6000613523604483613eff565b7f4f6e6c7920466565506f6f6c2c2045786368616e6765722c204973737565722081527f6f72204d756c7469436f6c6c61746572616c20636f6e74726163747320616c6c60208201527f6f77656400000000000000000000000000000000000000000000000000000000604082015260600192915050565b60006135a8601e83613eff565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006135e1601183610b56565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b600061361a601783610b56565b7f4275726e656428616464726573732c75696e7432353629000000000000000000815260170192915050565b6000613653600e83613eff565b7f6275726e696e67206661696c6564000000000000000000000000000000000000815260200192915050565b600061368c602f83613eff565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b60006136eb602183610b56565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b600061372e601583613eff565b7f666565206973206e6f742073756666696369656e740000000000000000000000815260200192915050565b6000613767601a83610b56565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b60006137a0601783610b56565b7f49737375656428616464726573732c75696e7432353629000000000000000000815260170192915050565b631c1554d160e21b9052565b60006137e5600f83613eff565b7f4661696c656420746f20636c61696d0000000000000000000000000000000000815260200192915050565b600061381e601983610b56565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613857600c83613eff565b7f4e6f20636c61696d61626c650000000000000000000000000000000000000000815260200192915050565b6000613890601583613eff565b7f43616c6c6572206973206e6f74206d6174636865640000000000000000000000815260200192915050565b60006138c9602e83613eff565b7f427269646765205374617465206d7573742062652073657420746f2063616c6c81527f20746869732066756e6374696f6e000000000000000000000000000000000000602082015260400192915050565b6000613928602583613eff565b7f43616e6e6f74207472616e7366657220647572696e672077616974696e67207081527f6572696f64000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613987602183610b56565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b60006139ca601483613eff565b7f43616e6e6f74207472616e73666572207a65726f000000000000000000000000815260200192915050565b6000613a03601783613eff565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613a3c600f83613eff565b7f426c6f636b656420616464726573730000000000000000000000000000000000815260200192915050565b60608201613a768280613f08565b613a808482613340565b50613a8e6020830183613f08565b613a9b6020850182613340565b50613aa96040830183613f17565b613ab66040850182613abc565b50505050565b6132cf81613f41565b6000613ad0826135d4565b9150613adc8284613349565b50602001919050565b600061088e8261360d565b600061088e826136de565b600061088e8261375a565b600061088e82613793565b6000613ad082613811565b600061088e8261397a565b6020810161088e82846132d5565b6020810161088e82846132c6565b60408101613b5182856132d5565b61094460208301846132d5565b60608101613b6c82866132d5565b613b7960208301856132d5565b612fea6040830184613340565b60408101613b9482856132d5565b6109446020830184613340565b60a08101613baf82876132d5565b613bbc6020830186613340565b613bc96040830185613340565b613bd5606083016137cc565b611b3060808301846132d5565b60c08101613bf082876132d5565b613bfd6020830186613340565b613c0a6040830185613340565b611b306060830184613a68565b6020808252810161094481846132de565b6020810161088e8284613337565b6020810161088e8284613340565b60408101613b518285613340565b60408101613c608285613340565b8181036020830152610941818461335a565b60408101613b948285613340565b60c08082528101613c91818961335a565b9050613ca060208301886133a4565b613cad6040830187613340565b613cba606083018661339b565b613cc7608083018561339b565b613cd460a083018461339b565b979650505050505050565b60c08082528101613cf0818961335a565b9050613cff60208301886133a4565b613d0c6040830187613340565b613cba6060830186613340565b60c08082528101613d2a818961335a565b9050613d3960208301886133a4565b613d466040830187613340565b613d536060830186613340565b613cc76080830185613340565b6020810161088e8284613392565b60208082528101610944818461335a565b60208082528101610b53816133ad565b60208082528101610b53816133e6565b60208082528101610b5381613445565b60208082528101610b538161347e565b60208082528101610b53816134b7565b60208082528101610b5381613516565b60208082528101610b538161359b565b60208082528101610b5381613646565b60208082528101610b538161367f565b60208082528101610b5381613721565b60208082528101610b53816137d8565b60208082528101610b538161384a565b60208082528101610b5381613883565b60208082528101610b53816138bc565b60208082528101610b538161391b565b60208082528101610b53816139bd565b60208082528101610b53816139f6565b60208082528101610b5381613a2f565b6020810161088e8284613abc565b60405181810167ffffffffffffffff81118282101715613ecc57600080fd5b604052919050565b600067ffffffffffffffff821115613eeb57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006109446020840184612f22565b60006109446020840184612fb6565b6000610b5382612ca7565b151590565b6000610b5382613f26565b60ff1690565b6000610b5382613f36565b6000610b5361335583610a79565b6000610b5382610a79565b60005b83811015613f86578181015183820152602001613f6e565b83811115613ab65750506000910152565b601f01601f191690565b613faa81613f26565b811461171957600080fd5b613faa81613f31565b613faa81610a79565b613faa81613f36565b613faa81613f4156fea365627a7a72315820c0736dd21144d7faeaf75bb693d8a829f6baed0f5d3725b67eaccd10b15adbb96c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "string",
							"name": "_tokenName",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "_tokenSymbol",
							"type": "string"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address payable",
							"name": "_bridgeValidator",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event",
					"signature": "0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Issued",
					"type": "event",
					"signature": "0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeState",
					"outputs": [
						{
							"internalType": "contract IBridgeState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4466ec2c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeValidator",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe22760f7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9dc29fac"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimAllBridgedAmounts",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xaf5a5e4c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd06c85"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x867904b4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_destChainId",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct IBridgeState.Signature",
							"name": "_sign",
							"type": "tuple"
						}
					],
					"name": "overchainTransfer",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x9a26669e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setBlockedAddress",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x92d5011f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newBridgeState",
							"type": "address"
						}
					],
					"name": "setBridgeState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x440c6778"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_bridgeValidator",
							"type": "address"
						}
					],
					"name": "setBridgeValidator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x842efb01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setTotalSupply",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf7ea7a3d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb014c3a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFromAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe73cced3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f4dab2f"
				}
			],
			"source": {
				"keccak256": "0x564f74bcc62de46aabee2cfe0c854f1559836810b058a9fd4465bacd4ef3a31b",
				"urls": [
					"bzz-raw://6d18599a7342ffb0470a953aadd4283c26199092c4b8aa5f13521fac0e28a271",
					"dweb:/ipfs/QmZnxKhF7apLcb4QBgiZ9jdTdFJ7xP4Ea6njHbvXxtjFur"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MultiCollateralPynth.sol": "MultiCollateralPynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"MultiCollateralPynth.sol": {
						"keccak256": "0x564f74bcc62de46aabee2cfe0c854f1559836810b058a9fd4465bacd4ef3a31b",
						"urls": [
							"bzz-raw://6d18599a7342ffb0470a953aadd4283c26199092c4b8aa5f13521fac0e28a271",
							"dweb:/ipfs/QmZnxKhF7apLcb4QBgiZ9jdTdFJ7xP4Ea6njHbvXxtjFur"
						]
					}
				},
				"version": 1
			}
		},
		"Pynth": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162002e8a38038062002e8a83398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b5060409081526020820151908201516060830151608090930151919450925080888888888660128a86816001600160a01b0381166200022a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002d5576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200035790600690602088019062000453565b5083516200036d90600790602087019062000453565b50506008919091556009805460ff191660ff9092169190911790555050600b80546001600160a01b0319166001600160a01b0394851617905550508816620003f1576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b03841662000442576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600d5550620004f89350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049657805160ff1916838001178555620004c6565b82800160010185558215620004c6579182015b82811115620004c6578251825591602001919060010190620004a9565b50620004d4929150620004d8565b5090565b620004f591905b80821115620004d45760008155600101620004df565b90565b61298280620005086000396000f3fe608060405234801561001057600080fd5b50600436106102415760003560e01c80638da5cb5b11610145578063bc67f832116100bd578063e73cced31161008c578063eb1edd6111610071578063eb1edd6114610693578063ec5568891461069b578063f7ea7a3d146106a357610241565b8063e73cced314610655578063e90dd9e21461068b57610241565b8063bc67f832146105f1578063d67bdd2514610617578063dbd06c851461061f578063dd62ed3e1461062757610241565b80639cbdaeb6116101145780639f769807116100f95780639f76980714610573578063a9059cbb14610599578063b014c3a3146105c557610241565b80639cbdaeb61461053f5780639dc29fac1461054757610241565b80638da5cb5b146104db57806392d5011f146104e357806395d89b411461051157806397107d6d1461051957610241565b80632e0f2625116101d857806374185360116101a75780637f4dab2f1161018c5780637f4dab2f14610431578063867904b414610457578063899ffef41461048357610241565b8063741853601461042157806379ba50971461042957610241565b80632e0f2625146103cd578063313ce567146103eb57806353a47bb7146103f357806370a08231146103fb57610241565b80631627540c116102145780631627540c1461034f57806318160ddd1461037557806323b872dd1461038f5780632af64bd3146103c557610241565b806304f3bcec1461024657806306fdde031461026a578063095ea7b3146102e7578063131b0ae714610327575b600080fd5b61024e6106c0565b604080516001600160a01b039092168252519081900360200190f35b6102726106cf565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ac578181015183820152602001610294565b50505050905090810190601f1680156102d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610313600480360360408110156102fd57600080fd5b506001600160a01b03813516906020013561075d565b604080519115158252519081900360200190f35b61034d6004803603602081101561033d57600080fd5b50356001600160a01b0316610811565b005b61034d6004803603602081101561036557600080fd5b50356001600160a01b031661083b565b61037d610897565b60408051918252519081900360200190f35b610313600480360360608110156103a557600080fd5b506001600160a01b0381358116916020810135909116906040013561089d565b6103136108c4565b6103d56109e8565b6040805160ff9092168252519081900360200190f35b6103d56109ed565b61024e6109f6565b61037d6004803603602081101561041157600080fd5b50356001600160a01b0316610a05565b61034d610a8a565b61034d610c6b565b61037d6004803603602081101561044757600080fd5b50356001600160a01b0316610d27565b61034d6004803603604081101561046d57600080fd5b506001600160a01b038135169060200135610e6a565b61048b610f27565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c75781810151838201526020016104af565b505050509050019250505060405180910390f35b61024e610fe3565b61034d600480360360408110156104f957600080fd5b506001600160a01b0381351690602001351515610ff2565b610272611025565b61034d6004803603602081101561052f57600080fd5b50356001600160a01b0316611080565b61024e6110dc565b61034d6004803603604081101561055d57600080fd5b506001600160a01b0381351690602001356110eb565b61034d6004803603602081101561058957600080fd5b50356001600160a01b03166111a9565b610313600480360360408110156105af57600080fd5b506001600160a01b0381351690602001356111d8565b610313600480360360408110156105db57600080fd5b506001600160a01b038135169060200135611270565b61034d6004803603602081101561060757600080fd5b50356001600160a01b03166113e2565b61024e61140c565b61037d61141b565b61037d6004803603604081101561063d57600080fd5b506001600160a01b0381358116916020013516611421565b6103136004803603606081101561066b57600080fd5b506001600160a01b038135811691602081013590911690604001356114ad565b61024e6115fd565b61024e61160c565b61024e611624565b61034d600480360360208110156106b957600080fd5b5035611633565b600b546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107555780601f1061072a57610100808354040283529160200191610755565b820191906000526020600020905b81548152906001019060200180831161073857829003601f168201915b505050505081565b6000610767611640565b60048054600554604080517fda46098c0000000000000000000000000000000000000000000000000000000081526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b1580156107e257600080fd5b505af11580156107f6573d6000803e3d6000fd5b50505050610805818585611697565b60019150505b92915050565b6108196117d0565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6108436117d0565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b60006108a7611640565b6108b18483611819565b6108bc848484611990565b949350505050565b600060606108d0610f27565b905060005b81518110156109de5760008282815181106108ec57fe5b6020908102919091018101516000818152600c835260409081902054600b5482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561096d57600080fd5b505afa158015610981573d6000803e3d6000fd5b505050506040513d602081101561099757600080fd5b50516001600160a01b03161415806109c457506000818152600c60205260409020546001600160a01b0316155b156109d557600093505050506109e5565b506001016108d5565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a5657600080fd5b505afa158015610a6a573d6000803e3d6000fd5b505050506040513d6020811015610a8057600080fd5b505190505b919050565b6060610a94610f27565b905060005b8151811015610c67576000828281518110610ab057fe5b602090810291909101810151600b54604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610b7f578181015183820152602001610b67565b50505050905090810190601f168015610bac5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610bca57600080fd5b505afa158015610bde573d6000803e3d6000fd5b505050506040513d6020811015610bf457600080fd5b50516000838152600c602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a99565b5050565b6001546001600160a01b03163314610cb45760405162461bcd60e51b81526004018080602001828103825260358152602001806128216035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600080610d32611b51565b6001600160a01b03166319d5c66584600d546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610d9157600080fd5b505afa158015610da5573d6000803e3d6000fd5b505050506040513d6060811015610dbb57600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015610e1057600080fd5b505afa158015610e24573d6000803e3d6000fd5b505050506040513d6020811015610e3a57600080fd5b5051905080821115610e5157600092505050610a85565b610e61818363ffffffff611b6d16565b92505050610a85565b6000610e74611bca565b6001600160a01b0316336001600160a01b03161490506000610e94611b51565b6001600160a01b0316336001600160a01b03161490506000610eb4611bdf565b6001600160a01b0316336001600160a01b03161490508280610ed35750815b80610edb5750805b610f165760405162461bcd60e51b81526004018080602001828103825260338152602001806128856033913960400191505060405180910390fd5b610f208585611bf3565b5050505050565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110610f6757fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610f8d57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610fb057fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110610fd457fe5b60200260200101818152505090565b6000546001600160a01b031681565b610ffa6117d0565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107555780601f1061072a57610100808354040283529160200191610755565b6110886117d0565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b60006110f5611bca565b6001600160a01b0316336001600160a01b03161490506000611115611b51565b6001600160a01b0316336001600160a01b03161490506000611135611bdf565b6001600160a01b0316336001600160a01b031614905082806111545750815b8061115c5750805b6111975760405162461bcd60e51b81526004018080602001828103825260338152602001806128856033913960400191505060405180910390fd5b6111a18585611d1d565b505050505050565b6111b1611e1a565b600580546001600160a01b0319166001600160a01b0383161790556111d581611ed4565b50565b60006111e2611640565b6004546111f8906001600160a01b031683611819565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561122e57611227838361202c565b905061080b565b6001600160a01b03831661125257600454611227906001600160a01b031683611d1d565b600454611269906001600160a01b031684846121a8565b9392505050565b600061127a611640565b6000611284611b51565b60048054600d54604080517f1b16802c0000000000000000000000000000000000000000000000000000000081526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156112f857600080fd5b505af115801561130c573d6000803e3d6000fd5b505050506040513d606081101561132257600080fd5b506040015190508281156113b05760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561138157600080fd5b505afa158015611395573d6000803e3d6000fd5b505050506040513d60208110156113ab57600080fd5b505190505b8084116113bd57836113bf565b805b6004549094506113d9906001600160a01b031686866121a8565b95945050505050565b6113ea612443565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600d5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561147a57600080fd5b505afa15801561148e573d6000803e3d6000fd5b505050506040513d60208110156114a457600080fd5b50519392505050565b60006114b7611640565b60006114c1611b51565b6001600160a01b0316631b16802c86600d546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561152257600080fd5b505af1158015611536573d6000803e3d6000fd5b505050506040513d606081101561154c57600080fd5b506040015190508281156115d657600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156115a757600080fd5b505afa1580156115bb573d6000803e3d6000fd5b505050506040513d60208110156115d157600080fd5b505190505b808410156115e457836115e6565b805b93506115f3868686611990565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b61163b611e1a565b600855565b6002546001600160a01b0316331480159061166657506003546001600160a01b03163314155b801561167d57506004546001600160a01b03163314155b1561169557600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff97916003908060216128e78239602101905060405180910390206116ea886124b7565b6116f3886124b7565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561176257818101518382015260200161174a565b50505050905090810190601f16801561178f5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156117b357600080fd5b505af11580156117c7573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146116955760405162461bcd60e51b815260040180806020018281038252602f8152602001806128b8602f913960400191505060405180910390fd5b611821611b51565b6001600160a01b031663059c29ec83600d546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561188057600080fd5b505afa158015611894573d6000803e3d6000fd5b505050506040513d60208110156118aa57600080fd5b5051156118e85760405162461bcd60e51b81526004018080602001828103825260258152602001806129086025913960400191505060405180910390fd5b806118f283610d27565b101561192f5760405162461bcd60e51b815260040180806020018281038252602f815260200180612856602f913960400191505060405180910390fd5b6119376124c3565b6001600160a01b0316631d7e7789600d546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561197c57600080fd5b505afa1580156111a1573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b505114611b46576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c928892611ac5918891879163dd62ed3e91604480820192602092909190829003018186803b158015611a8d57600080fd5b505afa158015611aa1573d6000803e3d6000fd5b505050506040513d6020811015611ab757600080fd5b50519063ffffffff611b6d16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050505b6108bc8484846121a8565b6000611b686822bc31b430b733b2b960b91b6124d9565b905090565b600082821115611bc4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611b6866119959541bdbdb60ca1b6124d9565b6000611b686524b9b9bab2b960d11b6124d9565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611c8991869186916370a0823191602480820192602092909190829003018186803b158015611c5157600080fd5b505afa158015611c65573d6000803e3d6000fd5b505050506040513d6020811015611c7b57600080fd5b50519063ffffffff6125c916565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611cd857600080fd5b505af1158015611cec573d6000803e3d6000fd5b5050600854611d04925090508263ffffffff6125c916565b600855611d1360008383612623565b610c678282612676565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f6918691611d7d91879186916370a08231916024808301926020929190829003018186803b158015611a8d57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611dcc57600080fd5b505af1158015611de0573d6000803e3d6000fd5b5050600854611df8925090508363ffffffff611b6d16565b600855611e0783600084612623565b611e1183836127b7565b50600192915050565b6002546001600160a01b03163314801590611e4057506003546001600160a01b03163314155b8015611e5757506004546001600160a01b03163314155b15611e6f57600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614611695576040805162461bcd60e51b815260206004820152601360248201527f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a0183207f907dff97000000000000000000000000000000000000000000000000000000008452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015611fc7578181015183820152602001611faf565b50505050905090810190601f168015611ff45780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561201857600080fd5b505af1158015610f20573d6000803e3d6000fd5b600080600d54631c1554d160e21b14156120605750600454829061205a906001600160a01b031685836121a8565b50612139565b612068611b51565b60048054600d54604080517f0a1e187d0000000000000000000000000000000000000000000000000000000081526001600160a01b0393841694810194909452602484019190915260448301879052631c1554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b15801561210a57600080fd5b505af115801561211e573d6000803e3d6000fd5b505050506040513d602081101561213457600080fd5b505190505b612141611bca565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561218657600080fd5b505af115801561219a573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906121cb57506001600160a01b0383163014155b80156121e557506002546001600160a01b03848116911614155b612236576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b6001600160a01b0384166000908152600a602052604090205460ff16156122a4576040805162461bcd60e51b815260206004820152600f60248201527f426c6f636b656420616464726573730000000000000000000000000000000000604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161230291879186916370a0823191602480820192602092909190829003018186803b158015611a8d57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561235157600080fd5b505af1158015612365573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f6925086916123c791879186916370a0823191602480820192602092909190829003018186803b158015611c5157600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561241657600080fd5b505af115801561242a573d6000803e3d6000fd5b50505050612439848484612623565b5060019392505050565b6002546001600160a01b031633148061246657506003546001600160a01b031633145b611695576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6001600160a01b031690565b6000611b686b53797374656d53746174757360a01b5b6000818152600c602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816125c25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561258757818101518382015260200161256f565b50505050905090810190601f1680156125b45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082820183811015611269576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161292d8239602101905060405180910390206116ea886124b7565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926126df876124b7565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561275257818101518382015260200161273a565b50505050905090810190601f16801561277f5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156127a357600080fd5b505af11580156111a1573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926126df876124b756fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a7231582051272e26a82b7b55f0371d92af5fefd9ab5d7ccda5f784e30c6db3dbe035237864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "string",
							"name": "_tokenName",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "_tokenSymbol",
							"type": "string"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event",
					"signature": "0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Issued",
					"type": "event",
					"signature": "0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9dc29fac"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd06c85"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x867904b4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setBlockedAddress",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x92d5011f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setTotalSupply",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf7ea7a3d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb014c3a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFromAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe73cced3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f4dab2f"
				}
			],
			"source": {
				"keccak256": "0xadb3a05908fa3a1a9aa53c6130ef3efb4319f5ce6fc455544733c34c42f8aed2",
				"urls": [
					"bzz-raw://2ecc0d70e1a1be6747f9cc2ee76abb9ff5e01006c8c018cfefebccf81e718275",
					"dweb:/ipfs/QmRSMVV2XnZDV2RGAtoY1CcUeS2pczCaJEvybSoBfRUg37"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Pynth.sol": "Pynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Pynth.sol": {
						"keccak256": "0xadb3a05908fa3a1a9aa53c6130ef3efb4319f5ce6fc455544733c34c42f8aed2",
						"urls": [
							"bzz-raw://2ecc0d70e1a1be6747f9cc2ee76abb9ff5e01006c8c018cfefebccf81e718275",
							"dweb:/ipfs/QmRSMVV2XnZDV2RGAtoY1CcUeS2pczCaJEvybSoBfRUg37"
						]
					}
				},
				"version": 1
			}
		},
		"StakingState": {
			"bytecode": "608060405234801561001057600080fd5b506040516113d43803806113d48339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061122e806101a66000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c806377e15451116100cd57806397bb3ce9116100815780639ead7222116100665780639ead72221461044b578063a98b9ff414610468578063aefc4ccb1461049a5761016c565b806397bb3ce9146104095780639d88955f146104265761016c565b80638547dbd9116100b25780638547dbd9146103b25780638c610c8d146103cf5780638da5cb5b146104015761016c565b806377e154511461038d57806379ba5097146103aa5761016c565b806344aedc5f1161012457806352f445ca1161010957806352f445ca146102eb57806353a47bb7146103115780635b081237146103355761016c565b806344aedc5f1461028c578063480310bb146102bf5761016c565b8063370928641161015557806337092864146101c85780633f6a1607146102115780634020ed14146102465761016c565b80631627540c146101715780632c20fce214610199575b600080fd5b6101976004803603602081101561018757600080fd5b50356001600160a01b03166104a2565b005b6101b6600480360360208110156101af57600080fd5b503561050b565b60408051918252519081900360200190f35b6101e5600480360360208110156101de57600080fd5b503561051d565b604080516001600160a01b03909416845260ff9092166020840152151582820152519081900360600190f35b6101976004803603606081101561022757600080fd5b5080359060208101356001600160a01b0316906040013560ff1661054e565b6102786004803603606081101561025c57600080fd5b508035906001600160a01b0360208201351690604001356106ac565b604080519115158252519081900360200190f35b6102a9600480360360208110156102a257600080fd5b50356107f2565b6040805160ff9092168252519081900360200190f35b6101b6600480360360408110156102d557600080fd5b50803590602001356001600160a01b031661080e565b6101976004803603602081101561030157600080fd5b50356001600160a01b031661082b565b610319610894565b604080516001600160a01b039092168252519081900360200190f35b61033d6108a3565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610379578181015183820152602001610361565b505050509050019250505060405180910390f35b6101b6600480360360208110156103a357600080fd5b50356108fb565b61019761090d565b610278600480360360208110156103c857600080fd5b50356109d6565b610197600480360360608110156103e557600080fd5b508035906001600160a01b0360208201351690604001356109f2565b610319610bc0565b6103196004803603602081101561041f57600080fd5b5035610bcf565b6101976004803603604081101561043c57600080fd5b50803590602001351515610bea565b6101b66004803603602081101561046157600080fd5b5035610c26565b6101976004803603606081101561047e57600080fd5b508035906001600160a01b036020820135169060400135610c44565b610319610e4f565b6104aa610e5e565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60056020526000908152604090205481565b6003602052600090815260409020546001600160a01b0381169060ff600160a01b8204811691600160a81b90041683565b610556610e5e565b6001600160a01b0382166105b1576040805162461bcd60e51b815260206004820152601760248201527f416464726573732063616e6e6f7420626520656d707479000000000000000000604482015290519081900360640190fd5b6000838152600360205260409020546001600160a01b031661060357600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018390555b604080516060810182526001600160a01b03938416815260ff928316602080830191825260018385019081526000978852600390915292909520905181549551925173ffffffffffffffffffffffffffffffffffffffff199096169416939093177fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b91909216021760ff60a81b1916600160a81b92151592909202919091179055565b6002546000906001600160a01b031633146106f85760405162461bcd60e51b81526004018080602001828103825260348152602001806111a26034913960400191505060405180910390fd5b6000848152600360205260408120546012600160a01b90910460ff161061072057600061073d565b600085815260036020526040902054600160a01b900460ff166012035b60ff16905061074b85610ea9565b6001600160a01b031663a9059cbb8561076e86600a86900a63ffffffff610f2e16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107bd57600080fd5b505af11580156107d1573d6000803e3d6000fd5b505050506040513d60208110156107e757600080fd5b505195945050505050565b600090815260036020526040902054600160a01b900460ff1690565b600460209081526000928352604080842090915290825290205481565b610833610e5e565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b606060078054806020026020016040519081016040528092919081815260200182805480156108f157602002820191906000526020600020905b8154815260200190600101908083116108dd575b5050505050905090565b60066020526000908152604090205481565b6001546001600160a01b031633146109565760405162461bcd60e51b81526004018080602001828103825260358152602001806111156035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b600090815260036020526040902054600160a81b900460ff1690565b6002546001600160a01b03163314610a3b5760405162461bcd60e51b81526004018080602001828103825260348152602001806111a26034913960400191505060405180910390fd5b610a4483610f98565b600083815260036020526040902054600160a81b900460ff16610aae576040805162461bcd60e51b815260206004820152601d60248201527f54617267657420746f6b656e206973206e6f7420616374697661746564000000604482015290519081900360640190fd5b60008381526004602090815260408083206001600160a01b0386168452909152902054158015610ade5750600081115b15610aec57610aec83611004565b60008381526004602090815260408083206001600160a01b0386168452909152902054610b1f908263ffffffff61103616565b60008481526004602090815260408083206001600160a01b0387168452825280832093909355858252600590522054610b5e908263ffffffff61103616565b6000848152600560209081526040918290209290925580518581526001600160a01b03851692810192909252818101839052517ffba03de4f3817b65c8bbd83551b938ace8f4a72bfad6821d9b4088bd6a2079809181900360600190a1505050565b6000546001600160a01b031681565b6000908152600360205260409020546001600160a01b031690565b610bf2610e5e565b610bfb82610f98565b6000918252600360205260409091208054911515600160a81b0260ff60a81b19909216919091179055565b60078181548110610c3357fe5b600091825260209091200154905081565b6002546001600160a01b03163314610c8d5760405162461bcd60e51b81526004018080602001828103825260348152602001806111a26034913960400191505060405180910390fd5b60008381526004602090815260408083206001600160a01b0386168452909152902054811115610cee5760405162461bcd60e51b815260040180806020018281038252602981526020018061114a6029913960400191505060405180910390fd5b600083815260056020526040902054811115610d3b5760405162461bcd60e51b81526004018080602001828103825260248152602001806111d66024913960400191505060405180910390fd5b60008381526004602090815260408083206001600160a01b0386168452909152902054610d6e908263ffffffff61109716565b610d7b57610d7b836110f4565b60008381526004602090815260408083206001600160a01b0386168452909152902054610dae908263ffffffff61109716565b60008481526004602090815260408083206001600160a01b0387168452825280832093909355858252600590522054610ded908263ffffffff61109716565b6000848152600560209081526040918290209290925580518581526001600160a01b03851692810192909252818101839052517ffce1a9063ab422f6b95f8c9d5e2bee83ae07416cd5859af625809f3078f5d9589181900360600190a1505050565b6002546001600160a01b031681565b6000546001600160a01b03163314610ea75760405162461bcd60e51b815260040180806020018281038252602f815260200180611173602f913960400191505060405180910390fd5b565b6000818152600360205260408120546001600160a01b0316610f12576040805162461bcd60e51b815260206004820152601760248201527f546172676574206164647265737320697320656d707479000000000000000000604482015290519081900360640190fd5b506000908152600360205260409020546001600160a01b031690565b6000808211610f84576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610f8f57fe5b04949350505050565b6000818152600360205260409020546001600160a01b0316611001576040805162461bcd60e51b815260206004820152601e60248201527f54617267657420746f6b656e206973206e6f7420726567697374657265640000604482015290519081900360640190fd5b50565b60008181526006602052604090205461102490600163ffffffff61103616565b60009182526006602052604090912055565b600082820183811015611090576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156110ee576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008181526006602052604090205461102490600163ffffffff6110971656fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704163636f756e7420646f65736e2774206861766520656e6f756768207374616b656420616d6f756e744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e4e6f7420656e6f756768207374616b656420616d6f756e7420746f207769746864726177a265627a7a723158202268999102acdbcb7dafb2e4c962a7ce0e1d2ecbf7a4bbd489f163e6aa48243164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staking",
					"type": "event",
					"signature": "0xfba03de4f3817b65c8bbd83551b938ace8f4a72bfad6821d9b4088bd6a207980"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Unstaking",
					"type": "event",
					"signature": "0xfce1a9063ab422f6b95f8c9d5e2bee83ae07416cd5859af625809f3078f5d958"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTokenCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5b081237"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "refund",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4020ed14"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint8",
							"name": "_decimals",
							"type": "uint8"
						}
					],
					"name": "setTargetToken",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f6a1607"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "_activate",
							"type": "bool"
						}
					],
					"name": "setTokenActivation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9d88955f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8c610c8d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "stakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x480310bb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "targetTokens",
					"outputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint8",
							"name": "decimals",
							"type": "uint8"
						},
						{
							"internalType": "bool",
							"name": "activated",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37092864"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "tokenActivated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8547dbd9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "tokenAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97bb3ce9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "tokenDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44aedc5f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "tokenList",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ead7222"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "totalStakedAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c20fce2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "totalStakerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x77e15451"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "unstake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa98b9ff4"
				}
			],
			"source": {
				"keccak256": "0xb3dcda2f7510d0d4271049ce0ae58ef6b503121e9222eec9c7842fc0e0e04473",
				"urls": [
					"bzz-raw://793f877f854cc0bd63f467b774a5a3acc6c41a2aec54e534e11549cf20ab0574",
					"dweb:/ipfs/QmeZNFzsm2URpqaTjP3KFQLYK5dDxcsRnRzctLTMiCwdgf"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"StakingState.sol": "StakingState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"StakingState.sol": {
						"keccak256": "0xb3dcda2f7510d0d4271049ce0ae58ef6b503121e9222eec9c7842fc0e0e04473",
						"urls": [
							"bzz-raw://793f877f854cc0bd63f467b774a5a3acc6c41a2aec54e534e11549cf20ab0574",
							"dweb:/ipfs/QmeZNFzsm2URpqaTjP3KFQLYK5dDxcsRnRzctLTMiCwdgf"
						]
					}
				},
				"version": 1
			}
		},
		"ExternalTokenStakeManager": {
			"bytecode": "608060405234801561001057600080fd5b50604051620041ed380380620041ed8339818101604052606081101561003557600080fd5b50805160208201516040909201519091906249d4008180856001600160a01b0381166100a8576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039283166001600160a01b031991821617909155429093016004556005805495909116949092169390931790555050506140a1806200014c6000396000f3fe608060405234801561001057600080fd5b50600436106102415760003560e01c80637a84b61711610145578063b42652e9116100bd578063e082f1d41161008c578063f5faf9bd11610071578063f5faf9bd14610865578063ff18cf46146108b7578063ffb0a081146108ea57610241565b8063e082f1d4146107f8578063ede459561461080057610241565b8063b42652e914610631578063c23d798114610657578063c70cc960146107a0578063dac6e576146107c657610241565b80639c1b38f711610114578063ad47ffc5116100f9578063ad47ffc5146105aa578063b12e4410146105dc578063b23e5053146105f957610241565b80639c1b38f714610558578063a4678bd21461057e57610241565b80637a84b617146104e45780637d52c4ec14610510578063899ffef4146105485780638da5cb5b1461055057610241565b806353a47bb7116101d8578063614d08f8116101a75780636446406c1161018c5780636446406c1461049c57806374185360146104d457806379ba5097146104dc57610241565b8063614d08f81461046257806362197d9a1461046a57610241565b806353a47bb7146103d55780635abebd07146103dd5780635b6f39791461040f5780635c833bfd1461042c57610241565b8063273cbaa011610214578063273cbaa0146102fd5780632af64bd3146103555780633b1cd52b1461037157806346ba2d90146103bb57610241565b806304f3bcec146102465780630fc3fc8c1461026a5780631627540c146102925780631982de22146102b8575b600080fd5b61024e61092e565b604080516001600160a01b039092168252519081900360200190f35b6102906004803603602081101561028057600080fd5b50356001600160a01b031661093d565b005b610290600480360360208110156102a857600080fd5b50356001600160a01b0316610974565b6102e4600480360360408110156102ce57600080fd5b506001600160a01b0381351690602001356109dd565b6040805192835260208301919091528051918290030190f35b610305610a0e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610341578181015183820152602001610329565b505050509050019250505060405180910390f35b61035d610b22565b604080519115158252519081900360200190f35b61039d6004803603604081101561038757600080fd5b506001600160a01b038135169060200135610c45565b60408051938452602084019290925282820152519081900360600190f35b6103c3610c63565b60408051918252519081900360200190f35b61024e610c69565b61039d600480360360608110156103f357600080fd5b506001600160a01b038135169060208101359060400135610c78565b61035d6004803603602081101561042557600080fd5b5035610c98565b6103c36004803603606081101561044257600080fd5b506001600160a01b03813581169160208101359160409091013516610d2f565b6103c3610da2565b6103c36004803603606081101561048057600080fd5b506001600160a01b038135169060208101359060400135610dc6565b6103c3600480360360808110156104b257600080fd5b506001600160a01b038135169060208101359060408101359060600135610e68565b610290610f02565b6102906110f0565b6103c3600480360360408110156104fa57600080fd5b506001600160a01b0381351690602001356111b9565b6103c36004803603608081101561052657600080fd5b506001600160a01b0381351690602081013590604081013590606001356111ce565b6103056111e9565b61024e6112a1565b6103c36004803603602081101561056e57600080fd5b50356001600160a01b03166112b0565b6103c36004803603604081101561059457600080fd5b506001600160a01b0381351690602001356112bb565b6103c3600480360360608110156105c057600080fd5b506001600160a01b0381351690602081013590604001356112c7565b61024e600480360360208110156105f257600080fd5b50356112de565b6102906004803603608081101561060f57600080fd5b506001600160a01b03813516906020810135906040810135906060013561132a565b6102906004803603602081101561064757600080fd5b50356001600160a01b0316611362565b61067d6004803603602081101561066d57600080fd5b50356001600160a01b03166114f4565b6040518080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156106c95781810151838201526020016106b1565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156107085781810151838201526020016106f0565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561074757818101518382015260200161072f565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561078657818101518382015260200161076e565b505050509050019850505050505050505060405180910390f35b61039d600480360360208110156107b657600080fd5b50356001600160a01b03166118d8565b6103c3600480360360608110156107dc57600080fd5b506001600160a01b0381351690602081013590604001356118f3565b61024e611960565b6108326004803603606081101561081657600080fd5b506001600160a01b03813516906020810135906040013561196f565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b6108916004803603604081101561087b57600080fd5b506001600160a01b038135169060200135611999565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6108d4600480360360208110156108cd57600080fd5b50356119ba565b6040805160ff9092168252519081900360200190f35b6103c3600480360360c081101561090057600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a00135611a06565b6002546001600160a01b031681565b610945611a45565b6005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61097c611a45565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008060008060006109ee87611a90565b925092509250610a0086848484611b6d565b945094505050509250929050565b60055460408051635b08123760e01b815290516060926001600160a01b031691635b081237916004808301926000929190829003018186803b158015610a5357600080fd5b505afa158015610a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610a9057600080fd5b8101908080516040519392919084640100000000821115610ab057600080fd5b908301906020820185811115610ac557600080fd5b8251866020820283011164010000000082111715610ae257600080fd5b82525081516020918201928201910280838360005b83811015610b0f578181015183820152602001610af7565b5050505090500160405250505090505b90565b60006060610b2e6111e9565b905060005b8151811015610c3c576000828281518110610b4a57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610bcb57600080fd5b505afa158015610bdf573d6000803e3d6000fd5b505050506040513d6020811015610bf557600080fd5b50516001600160a01b0316141580610c2257506000818152600360205260409020546001600160a01b0316155b15610c335760009350505050610b1f565b50600101610b33565b50600191505090565b6000806000610c548585611c17565b50929891975095509350505050565b60045481565b6001546001600160a01b031681565b6000806000610c88868686611d94565b9250925092505b93509350939050565b600554604080517f8547dbd90000000000000000000000000000000000000000000000000000000081526004810184905290516000926001600160a01b031691638547dbd9916024808301926020929190829003018186803b158015610cfd57600080fd5b505afa158015610d11573d6000803e3d6000fd5b505050506040513d6020811015610d2757600080fd5b505192915050565b6000610d39611fa7565b6000610d4c85631c1554d160e21b612014565b9050808411610d5d57836000610d6e565b80610d6e858263ffffffff61218e16565b9094509150610d8785848684631c1554d160e21b6121eb565b9050610d99828263ffffffff61252316565b95945050505050565b7f45787465726e616c546f6b656e5374616b654d616e616765720000000000000081565b6000610dd061257d565b600080610dde868686611d94565b9194509250905082151580610df257508115155b610e43576040805162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c726561647920636c61696d61626c6500000000604482015290519081900360640190fd5b8115610e5f57610e5d86878484631c1554d160e21b6121eb565b505b50509392505050565b6000610e7261257d565b600080610e838787600088886125ea565b9094509250905081610edc576040805162461bcd60e51b815260206004820152601f60248201527f4e6f20617661696c61626c652065782d746f6b656e7320746f207374616b6500604482015290519081900360640190fd5b610ee58161290f565b610ef8878386631c1554d160e21b61297e565b5050949350505050565b6060610f0c6111e9565b905060005b81518110156110ec576000828281518110610f2857fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610ff7578181015183820152602001610fdf565b50505050905090810190601f1680156110245780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561104257600080fd5b505afa158015611056573d6000803e3d6000fd5b505050506040513d602081101561106c57600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610f11565b5050565b6001546001600160a01b031633146111395760405162461bcd60e51b8152600401808060200182810382526035815260200180613f726035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60006111c58383612014565b90505b92915050565b60006111de8585600086866125ea565b979650505050505050565b6060806111f4612c22565b60408051600380825260808201909252919250606091906020820183803883390190505090506524b9b9bab2b960d11b8160008151811061123157fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061125b57fe5b6020026020010181815250506b4c69717569646174696f6e7360a01b8160028151811061128457fe5b60200260200101818152505061129a8282612c81565b9250505090565b6000546001600160a01b031681565b60006111c882612d3d565b60006111c58383612d5a565b60006112d4848484612e59565b90505b9392505050565b600554604080516397bb3ce960e01b81526004810184905290516000926001600160a01b0316916397bb3ce9916024808301926020929190829003018186803b158015610cfd57600080fd5b61133261257d565b6113448361133f84612f1d565b612fd1565b925061135c8485611356848688613002565b85613068565b50505050565b61136a61257d565b60055460408051635b08123760e01b815290516060926001600160a01b031691635b081237916004808301926000929190829003018186803b1580156113af57600080fd5b505afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156113ec57600080fd5b810190808051604051939291908464010000000082111561140c57600080fd5b90830190602082018581111561142157600080fd5b825186602082028301116401000000008211171561143e57600080fd5b82525081516020918201928201910280838360005b8381101561146b578181015183820152602001611453565b50505050905001604052505050905060005b81518110156114ef5760006114b98484848151811061149857fe5b60200260200101518585815181106114ac57fe5b6020026020010151612e59565b9050806114c657506114e7565b6114e58485838686815181106114d857fe5b6020026020010151613068565b505b60010161147d565b505050565b606080606080600560009054906101000a90046001600160a01b03166001600160a01b0316635b0812376040518163ffffffff1660e01b815260040160006040518083038186803b15801561154857600080fd5b505afa15801561155c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561158557600080fd5b81019080805160405193929190846401000000008211156115a557600080fd5b9083019060208201858111156115ba57600080fd5b82518660208202830111640100000000821117156115d757600080fd5b82525081516020918201928201910280838360005b838110156116045781810151838201526020016115ec565b505050509050016040525050509350835160405190808252806020026020018201604052801561163e578160200160208202803883390190505b509250835160405190808252806020026020018201604052801561166c578160200160208202803883390190505b509150835160405190808252806020026020018201604052801561169a578160200160208202803883390190505b50905060005b84518110156118d05760055485516001600160a01b039091169063480310bb908790849081106116cc57fe5b6020026020010151886040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b15801561172257600080fd5b505afa158015611736573d6000803e3d6000fd5b505050506040513d602081101561174c57600080fd5b5051845185908390811061175c57fe5b602090810291909101015260055485516001600160a01b03909116906344aedc5f9087908490811061178a57fe5b60200260200101516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156117c657600080fd5b505afa1580156117da573d6000803e3d6000fd5b505050506040513d60208110156117f057600080fd5b5051835160ff9091169084908390811061180657fe5b60200260200101818152505061182e85828151811061182157fe5b60200260200101516132f3565b6001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561188357600080fd5b505afa158015611897573d6000803e3d6000fd5b505050506040513d60208110156118ad57600080fd5b505182518390839081106118bd57fe5b60209081029190910101526001016116a0565b509193509193565b60008060006118e684611a90565b9196909550909350915050565b60008060008061190287611a90565b925092509250858310156119475760405162461bcd60e51b81526004018080602001828103825260218152602001806140226021913960400191505060405180910390fd5b6119518682612fd1565b95506111de87888885896121eb565b6005546001600160a01b031681565b600080600080600080611983898989613380565b949e939d50919b50995097509095509350505050565b6000806000806119a986866133e1565b509299919850965090945092505050565b600554604080516344aedc5f60e01b81526004810184905290516000926001600160a01b0316916344aedc5f916024808301926020929190829003018186803b158015610cfd57600080fd5b6000611a1061257d565b6000611a1f88878988886125ea565b985092509050611a2e8161290f565b611a3a8888868661297e565b509695505050505050565b6000546001600160a01b03163314611a8e5760405162461bcd60e51b815260040180806020018281038252602f815260200180613fd2602f913960400191505060405180910390fd5b565b6000806000806000806000611aac88635553444360e01b6133e1565b9a5092965090945092509050611ac8818463ffffffff61252316565b955060008611611b475773__$e4b46e0653aafe5b37047ca1759a8b9777$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611b1657600080fd5b505af4158015611b2a573d6000803e3d6000fd5b505050506040513d6020811015611b4057600080fd5b5051611b61565b611b618483611b5c848a63ffffffff61374d16565b613777565b96989597505050505050565b60008083611b8057506000905080611c0e565b6000611b8a6137ef565b90506000868811611b9c576000611bac565b611bac888863ffffffff61218e16565b9050611bb88183612fd1565b9050611bca818763ffffffff61252316565b9050611bdc868263ffffffff61374d16565b9350611c09611bf983611bed6138a6565b9063ffffffff61218e16565b61133f878563ffffffff61218e16565b925050505b94509492505050565b60008080808085611cae57611c2a6137ef565b73__$e4b46e0653aafe5b37047ca1759a8b9777$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6e57600080fd5b505af4158015611c82573d6000803e3d6000fd5b505050506040513d6020811015611c9857600080fd5b5051909550935060009250829150819050611d8a565b6000611cb988611a90565b9650945090506000611cc96137ef565b905084611d58578073__$e4b46e0653aafe5b37047ca1759a8b9777$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611d1557600080fd5b505af4158015611d29573d6000803e3d6000fd5b505050506040513d6020811015611d3f57600080fd5b5051909750955060009450849350839250611d8a915050565b611d6488838789611b6d565b9094509250828411611d765783611d78565b825b9150611d85818784613777565b965050505b9295509295909350565b6000806000806000611da588611a90565b909450909250905082611df457611dc386611dbe6137ef565b61392c565b9150818711611dd3576000611de3565b611de3878363ffffffff61218e16565b945060009350839250610c8f915050565b6000611dfe6137ef565b90506000611e0a6138a6565b90506000611e31611e21838563ffffffff61218e16565b61133f868663ffffffff61218e16565b90506000611e3f8b84612fd1565b9050611e4b818361392c565b90506000611e598b8661392c565b90506000828911611e7957611e748d8963ffffffff61218e16565b611e93565b611e93611e86848961392c565b8e9063ffffffff61218e16565b905081811115611f7657611f2a611eaa8d8661392c565b61133f8673__$e4b46e0653aafe5b37047ca1759a8b9777$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611ef257600080fd5b505af4158015611f06573d6000803e3d6000fd5b505050506040513d6020811015611f1c57600080fd5b50519063ffffffff61218e16565b9250611f53838a11611f3c5788611f46565b611f46848961392c565b839063ffffffff61252316565b9750878d11611f63576000611f73565b611f738d8963ffffffff61218e16565b9a505b828911611f84576000611f94565b611f94898463ffffffff61218e16565b9950505050505050505093509350939050565b611faf61394a565b6001600160a01b0316336001600160a01b031614611a8e576040805162461bcd60e51b815260206004820152601a60248201527f53656e646572206973206e6f74204c69717569646174696f6e73000000000000604482015290519081900360640190fd5b60006060600560009054906101000a90046001600160a01b03166001600160a01b0316635b0812376040518163ffffffff1660e01b815260040160006040518083038186803b15801561206657600080fd5b505afa15801561207a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156120a357600080fd5b81019080805160405193929190846401000000008211156120c357600080fd5b9083019060208201858111156120d857600080fd5b82518660208202830111640100000000821117156120f557600080fd5b82525081516020918201928201910280838360005b8381101561212257818101518382015260200161210a565b50505050905001604052505050905060005b815181101561218657600061215d8684848151811061214f57fe5b602002602001015187612e59565b90508061216a575061217e565b61217a848263ffffffff61252316565b9350505b600101612134565b505092915050565b6000828211156121e5576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080600080600080601090506060600560009054906101000a90046001600160a01b03166001600160a01b0316635b0812376040518163ffffffff1660e01b815260040160006040518083038186803b15801561224857600080fd5b505afa15801561225c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561228557600080fd5b81019080805160405193929190846401000000008211156122a557600080fd5b9083019060208201858111156122ba57600080fd5b82518660208202830111640100000000821117156122d757600080fd5b82525081516020918201928201910280838360005b838110156123045781810151838201526020016122ec565b50505050905001604052505050905060005b81518110156124f05761233d8d83838151811061232f57fe5b60200260200101518b612e59565b965086612349576124e8565b612359878b63ffffffff61374d16565b93506123658b8561392c565b9550612377868963ffffffff61252316565b95508686116123885760008661239a565b612398868863ffffffff61218e16565b875b80975081995050506123c0898383815181106123b257fe5b602002602001015188613002565b60055483519197506001600160a01b0316906344aedc5f908490849081106123e457fe5b60200260200101516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561242057600080fd5b505afa158015612434573d6000803e3d6000fd5b505050506040513d602081101561244a57600080fd5b505160ff16945060128510156124d65785935061247e61247160128763ffffffff61218e16565b879063ffffffff61396916565b9550612490848763ffffffff61218e16565b93506124b08282815181106124a157fe5b60200260200101518a86613002565b93506124c2888563ffffffff61252316565b97508483116124d157826124d3565b845b92505b6124e88d8d888585815181106114d857fe5b600101612316565b50601282108015612506575081601203600a0a87115b612511576000612513565b865b9c9b505050505050505050505050565b6000828201838110156111c5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b61258561398f565b6001600160a01b0316336001600160a01b031614611a8e576040805162461bcd60e51b815260206004820152601460248201527f53656e646572206973206e6f7420497373756572000000000000000000000000604482015290519081900360640190fd5b6000808086612609576125fb6137ef565b925060009150819050612904565b60008080808061262d8d8a1561261f578a612628565b635553444360e01b5b6133e1565b939850919650945092509050600061264b838663ffffffff61252316565b90506000828e1161265d57600061266d565b61266d8e8463ffffffff61218e16565b90508c15158061267c57508a15155b1561288d578c6126f5576126b36126958d611dbe6137ef565b82116126ac576126a78261133f6137ef565b611f46565b828d612523565b98506126c2858886898d6139a3565b97506126ce8f8c612d5a565b98508789106126dd57876126df565b885b97506126ee88611dbe8d612f1d565b98506127b7565b8c6127038e61133f8e612f1d565b809950819a5050506127b46127a7600560009054906101000a90046001600160a01b03166001600160a01b03166344aedc5f8e6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561276a57600080fd5b505afa15801561277e573d6000803e3d6000fd5b505050506040513d602081101561279457600080fd5b505160129060ff1663ffffffff61218e16565b899063ffffffff61396916565b97505b6127c38c611dbe6137ef565b9b508b81116127d2578861280f565b6127e2818d63ffffffff61218e16565b89116127ef57600061280f565b61280f612802828e63ffffffff61218e16565b8a9063ffffffff61218e16565b9850612821848963ffffffff61252316565b9350612833848763ffffffff61252316565b9150612858612842878961392c565b61284c868861392c565b9063ffffffff61252316565b925061286a8e8a63ffffffff61252316565b9d50828e1161287a57600061288a565b61288a8e8463ffffffff61218e16565b90505b816128a95761289a6137ef565b99506129049650505050505050565b6128b58161133f6137ef565b90506128cc8786611b5c878663ffffffff61374d16565b99506128fa6128d96137ef565b8b611b5c6128ed868663ffffffff61252316565b869063ffffffff61374d16565b9950505050505050505b955095509592505050565b6129176138a6565b61292882600c63ffffffff61396916565b111561297b576040805162461bcd60e51b815260206004820152601760248201527f4f766572206d61782065787465726e616c2071756f7461000000000000000000604482015290519081900360640190fd5b50565b600061298b828486613002565b600554604080516344aedc5f60e01b81526004810187905290519293506000926001600160a01b03909216916344aedc5f91602480820192602092909190829003018186803b1580156129dd57600080fd5b505afa1580156129f1573d6000803e3d6000fd5b505050506040513d6020811015612a0757600080fd5b505160ff1690506012811115612a64576040805162461bcd60e51b815260206004820152601660248201527f496e76616c696420646563696d616c206e756d62657200000000000000000000604482015290519081900360640190fd5b612a7560128263ffffffff61218e16565b9050612a87828263ffffffff61396916565b9150612a92846132f3565b6005546001600160a01b03918216916323b872dd91899116612abe86600a87900a63ffffffff613a8516565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015612b2657600080fd5b505af1158015612b3a573d6000803e3d6000fd5b505050506040513d6020811015612b5057600080fd5b5051612b8d5760405162461bcd60e51b815260040180806020018281038252602a815260200180614043602a913960400191505060405180910390fd5b600554604080517f8c610c8d000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b0389811660248301526044820186905291519190921691638c610c8d91606480830192600092919082900301818387803b158015612c0257600080fd5b505af1158015612c16573d6000803e3d6000fd5b50505050505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f72616765000000000000000000000000000000000081600081518110612c7257fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612cb1578160200160208202803883390190505b50905060005b8351811015612cf357838181518110612ccc57fe5b6020026020010151828281518110612ce057fe5b6020908102919091010152600101612cb7565b5060005b8251811015612d3657828181518110612d0c57fe5b6020026020010151828286510181518110612d2357fe5b6020908102919091010152600101612cf7565b5092915050565b6000612d5082635553444360e01b6133e1565b9695505050505050565b600080612d6683613aef565b90506000612d73846132f3565b90506000612e47612db6836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561276a57600080fd5b600a0a836001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612e0f57600080fd5b505afa158015612e23573d6000803e3d6000fd5b505050506040513d6020811015612e3957600080fd5b50519063ffffffff613b7d16565b9050612d50818463ffffffff613bd616565b600554604080517f480310bb000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0386811660248301529151600093929092169163480310bb91604480820192602092909190829003018186803b158015612eca57600080fd5b505afa158015612ede573d6000803e3d6000fd5b505050506040513d6020811015612ef457600080fd5b5051905080612f05575060006112d7565b81831415612f12576112d7565b6112d4838383613002565b6000612f27613c00565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6578546f6b656e49737375616e6365526174696f000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015610cfd57600080fd5b6000811580612fde575082155b612ff957612ff4612fef8484613c2b565b613c5d565b6111c5565b50600092915050565b6000828414156130135750806112d7565b50806000631c1554d160e21b851461303d5761302e85613aef565b905061303a838261392c565b91505b631c1554d160e21b84146130605761305484613aef565b9050610d998282612fd1565b509392505050565b8061307281613c7f565b600554604080516344aedc5f60e01b81526004810185905290516000926001600160a01b0316916344aedc5f916024808301926020929190829003018186803b1580156130be57600080fd5b505afa1580156130d2573d6000803e3d6000fd5b505050506040513d60208110156130e857600080fd5b505160ff1690506012811115613145576040805162461bcd60e51b815260206004820152601660248201527f496e76616c696420646563696d616c206e756d62657200000000000000000000604482015290519081900360640190fd5b600061316861315b60128463ffffffff61218e16565b869063ffffffff61396916565b600554604080517fa98b9ff4000000000000000000000000000000000000000000000000000000008152600481018890526001600160a01b038b8116602483015260448201859052915193945091169163a98b9ff49160648082019260009290919082900301818387803b1580156131df57600080fd5b505af11580156131f3573d6000803e3d6000fd5b5050600554604080517f4020ed14000000000000000000000000000000000000000000000000000000008152600481018990526001600160a01b038b81166024830152604482018790529151919092169350634020ed14925060648083019260209291908290030181600087803b15801561326d57600080fd5b505af1158015613281573d6000803e3d6000fd5b505050506040513d602081101561329757600080fd5b50516132ea576040805162461bcd60e51b815260206004820152601660248201527f526566756e6420686173206265656e206661696c656400000000000000000000604482015290519081900360640190fd5b50505050505050565b6000816132ff81613c7f565b600554604080516397bb3ce960e01b81526004810186905290516001600160a01b03909216916397bb3ce991602480820192602092909190829003018186803b15801561334b57600080fd5b505afa15801561335f573d6000803e3d6000fd5b505050506040513d602081101561337557600080fd5b505191505b50919050565b6000806000806000806133938989611c17565b93995091965094509250905060006133b1888563ffffffff61252316565b9050600081116133c25760006133d2565b6133d2898263ffffffff61374d16565b95505093975093979195509350565b60008060008060006133f286612f1d565b60055460408051635b08123760e01b8152905192955060129283926060926001600160a01b0390911691635b08123791600480820192600092909190829003018186803b15801561344257600080fd5b505afa158015613456573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561347f57600080fd5b810190808051604051939291908464010000000082111561349f57600080fd5b9083019060208201858111156134b457600080fd5b82518660208202830111640100000000821117156134d157600080fd5b82525081516020918201928201910280838360005b838110156134fe5781810151838201526020016134e6565b50505050905001604052505050905060005b81518110156136f25761353e8b83838151811061352957fe5b6020026020010151631c1554d160e21b612e59565b945061355c82828151811061354f57fe5b6020026020010151612f1d565b87146136315761357182828151811061354f57fe5b9850841561362c57613589888663ffffffff61252316565b60055483519199506001600160a01b0316906344aedc5f908490849081106135ad57fe5b60200260200101516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156135e957600080fd5b505afa1580156135fd573d6000803e3d6000fd5b505050506040513d602081101561361357600080fd5b505160ff1694508483106136275784613629565b825b92505b6136ea565b84156136ea57613647868663ffffffff61252316565b60055483519197506001600160a01b0316906344aedc5f9084908490811061366b57fe5b60200260200101516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136a757600080fd5b505afa1580156136bb573d6000803e3d6000fd5b505050506040513d60208110156136d157600080fd5b505160ff1694508484106136e557846136e7565b835b93505b600101613510565b5061373e61372061370a60128563ffffffff61218e16565b6137148a8c61392c565b9063ffffffff61396916565b61284c61373460128763ffffffff61218e16565b613714898b61392c565b93505050509295509295909350565b60006111c58261376b85670de0b6b3a764000063ffffffff613b7d16565b9063ffffffff613a8516565b600080600084861161379a57613793858763ffffffff61218e16565b60006137ad565b6137aa868663ffffffff61218e16565b60015b91509150806137d5576137d06137c3838661392c565b879063ffffffff61252316565b612d50565b612d506137e2838661392c565b879063ffffffff61218e16565b60006137f9613c00565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561387557600080fd5b505afa158015613889573d6000803e3d6000fd5b505050506040513d602081101561389f57600080fd5b5051905090565b60006138b0613c00565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65787465726e616c546f6b656e51756f746100000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561387557600080fd5b6000811580613939575082155b612ff957612ff4612fef8484613d53565b60006139646b4c69717569646174696f6e7360a01b613d85565b905090565b60006111c5600a83900a613983858263ffffffff613a8516565b9063ffffffff613b7d16565b60006139646524b9b9bab2b960d11b613d85565b6000806139ae6137ef565b905060006139ba6138a6565b905060006139ce898463ffffffff61218e16565b90506139da818861392c565b9350613a04600089116139ee5760006139fe565b6139fe898563ffffffff61218e16565b8761392c565b9050613a16848263ffffffff61252316565b9350613a28828463ffffffff61218e16565b9050613a34818661392c565b905083811015613a4a5760009350505050610d99565b613a5a818563ffffffff61218e16565b9350613a6c898363ffffffff61218e16565b9050613a788482612fd1565b9998505050505050505050565b6000808211613adb576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613ae657fe5b04949350505050565b600080613afa613e6e565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015613b3c57600080fd5b505afa158015613b50573d6000803e3d6000fd5b505050506040513d6040811015613b6657600080fd5b508051602090910151909250905061337a81613e89565b600082613b8c575060006111c8565b82820282848281613b9957fe5b04146111c55760405162461bcd60e51b81526004018080602001828103825260218152602001806140016021913960400191505060405180910390fd5b6000670de0b6b3a7640000613bf1848463ffffffff613b7d16565b81613bf857fe5b049392505050565b60006139647f466c657869626c6553746f726167650000000000000000000000000000000000613d85565b6000811580613c38575082155b612ff957612ff4613c4883613ec6565b613c5185613ec6565b9063ffffffff613edc16565b60006305f5e10082046005600a820610613c7557600a015b600a900492915050565b600554604080516397bb3ce960e01b81526004810184905290516000926001600160a01b0316916397bb3ce9916024808301926020929190829003018186803b158015613ccb57600080fd5b505afa158015613cdf573d6000803e3d6000fd5b505050506040513d6020811015613cf557600080fd5b50516001600160a01b0316141561297b576040805162461bcd60e51b815260206004820152601e60248201527f54617267657420746f6b656e206973206e6f7420726567697374657265640000604482015290519081900360640190fd5b6000811580613d60575082155b612ff957612ff4613d7083613ec6565b613d7985613ec6565b9063ffffffff613ef516565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612d365760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e33578181015183820152602001613e1b565b50505050905090810190601f168015613e605780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006139646c45786368616e6765526174657360981b613d85565b801561297b5760405162461bcd60e51b815260040180806020018281038252602b815260200180613fa7602b913960400191505060405180910390fd5b60006111c882633b9aca0063ffffffff613b7d16565b60006111c583836b033b2e3c9fd0803ce8000000613f0e565b60006111c583836b033b2e3c9fd0803ce8000000613f46565b600080613f288461376b87600a870263ffffffff613b7d16565b90506005600a825b0610613f3a57600a015b600a9004949350505050565b600080600a8304613f5d868663ffffffff613b7d16565b81613f6457fe5b0490506005600a82613f3056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970412070796e7468206f7220612065787465726e616c20746f6b656e207261746520697320696e76616c69644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f7567682065787465726e616c207374616b656420616d6f756e745472616e7366657272696e67207374616b696e6720746f6b656e20686173206265656e206661696c6564a265627a7a72315820cfbd39bfcc87230b5e9aef41175923b35ce6712d42e1c3176bc6b48a8a8ba80164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_stakingState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_periCol",
							"type": "uint256"
						}
					],
					"name": "burnAmtToFitTR",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "burnAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exRefundAmt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5abebd07"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_unitCurrency",
							"type": "bytes32"
						}
					],
					"name": "combinedStakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "combinedSA",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7a84b617"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						}
					],
					"name": "exStakingRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exSR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "maxSR",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1982de22"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						}
					],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb42652e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "getExDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9c1b38f7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "getExEADebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc70cc960"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periCol",
							"type": "uint256"
						}
					],
					"name": "getRatios",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "cRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exSR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "maxSR",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xede45956"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						}
					],
					"name": "getTargetRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b1cd52b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenActivation",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5b6f3979"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb12e4410"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xff18cf46"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTokenList",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x273cbaa0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenPUSDValueOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4678bd2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_periCol",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_targetKey",
							"type": "bytes32"
						}
					],
					"name": "maxStakableAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7d52c4ec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_targetKey",
							"type": "bytes32"
						}
					],
					"name": "otherTokenIREA",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "otherIR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "otherEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "tokenIR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "tokenEA",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf5faf9bd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_unitKey",
							"type": "bytes32"
						}
					],
					"name": "proRataUnstake",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "remainAmt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdac6e576"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_liquidator",
							"type": "address"
						}
					],
					"name": "redeem",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "remainAmt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5c833bfd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_stakingState",
							"type": "address"
						}
					],
					"name": "setStakingState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0fc3fc8c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_periCol",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_targetKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_unitKey",
							"type": "bytes32"
						}
					],
					"name": "stake",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtChange",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xffb0a081"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_periCol",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_targetKey",
							"type": "bytes32"
						}
					],
					"name": "stakeToMaxExQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtChange",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6446406c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_unitCurrency",
							"type": "bytes32"
						}
					],
					"name": "stakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xad47ffc5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakingState",
					"outputs": [
						{
							"internalType": "contract IStakingState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe082f1d4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "tokenStakeStatus",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "tokenList",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "stakedAmts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "decimals",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "balances",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc23d7981"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_staker",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_targetKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_unitKey",
							"type": "bytes32"
						}
					],
					"name": "unstake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb23e5053"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_staker",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_periCol",
							"type": "uint256"
						}
					],
					"name": "unstakeToFitTR",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "burnAmt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x62197d9a"
				}
			],
			"source": {
				"keccak256": "0xec03ade0a395d2faa2f10058338dc07955e432bc5c9d8ebc2f28e54bc25d590b",
				"urls": [
					"bzz-raw://a9255079526947d422c47def6421d35f631493477b2f2e8b09b05acca4e2828f",
					"dweb:/ipfs/QmVZcgSjsvGLDCHq4YRi1YmiRtQnmYuo5N811oDeyyQCoT"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExternalTokenStakeManager.sol": "ExternalTokenStakeManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"ExternalTokenStakeManager.sol": {
						"keccak256": "0xec03ade0a395d2faa2f10058338dc07955e432bc5c9d8ebc2f28e54bc25d590b",
						"urls": [
							"bzz-raw://a9255079526947d422c47def6421d35f631493477b2f2e8b09b05acca4e2828f",
							"dweb:/ipfs/QmVZcgSjsvGLDCHq4YRi1YmiRtQnmYuo5N811oDeyyQCoT"
						]
					}
				},
				"version": 1
			}
		},
		"CrossChainState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610f9f380380610f9f8339818101604052606081101561003357600080fd5b508051602082015160409092015190919081836001600160a01b0381166100a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031661014b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1506003555050610dee806101b16000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806379ba5097116100cd578063aefc4ccb11610081578063dff4848811610066578063dff4848814610401578063f14c44ed1461041e578063fac0d5411461053257610151565b8063aefc4ccb146103f1578063b076f08b146103f957610151565b80638da5cb5b116100b25780638da5cb5b146103be578063a872485c146103c6578063ac96603e146103e957610151565b806379ba5097146103ae5780637f553513146103b657610151565b806352f445ca1161012457806353fb3b0d1161010957806353fb3b0d146102c7578063564b81ef146103895780636bc60d041461039157610151565b806352f445ca1461027d57806353a47bb7146102a357610151565b80630a5407fd146101565780631627540c1461021a578063385bb1a3146102405780633eb7671514610263575b600080fd5b6102186004803603604081101561016c57600080fd5b81019060208101813564010000000081111561018757600080fd5b82018360208201111561019957600080fd5b803590602001918460208302840111640100000000831117156101bb57600080fd5b9193909290916020810190356401000000008111156101d957600080fd5b8201836020820111156101eb57600080fd5b8035906020019184602083028401116401000000008311171561020d57600080fd5b50909250905061053a565b005b6102186004803603602081101561023057600080fd5b50356001600160a01b0316610606565b6102186004803603604081101561025657600080fd5b508035906020013561066f565b61026b61077a565b60408051918252519081900360200190f35b6102186004803603602081101561029357600080fd5b50356001600160a01b0316610780565b6102ab6107e9565b604080516001600160a01b039092168252519081900360200190f35b610218600480360360408110156102dd57600080fd5b8101906020810181356401000000008111156102f857600080fd5b82018360208201111561030a57600080fd5b8035906020019184602083028401116401000000008311171561032c57600080fd5b91939092909160208101903564010000000081111561034a57600080fd5b82018360208201111561035c57600080fd5b8035906020019184602083028401116401000000008311171561037e57600080fd5b5090925090506107f8565b61026b6108bd565b610218600480360360208110156103a757600080fd5b50356108c3565b61021861091c565b61026b6109e5565b6102ab610a03565b610218600480360360408110156103dc57600080fd5b5080359060200135610a12565b61026b610a8b565b6102ab610a91565b61026b610aa0565b6102186004803603602081101561041757600080fd5b5035610aa6565b6102186004803603608081101561043457600080fd5b81019060208101813564010000000081111561044f57600080fd5b82018360208201111561046157600080fd5b8035906020019184602083028401116401000000008311171561048357600080fd5b9193909290916020810190356401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460208302840111640100000000831117156104d557600080fd5b9193909290916020810190356401000000008111156104f357600080fd5b82018360208201111561050557600080fd5b8035906020019184602083028401116401000000008311171561052757600080fd5b919350915035610af4565b61026b610ba6565b6002546001600160a01b031633146105835760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b600060068190555b838110156105ff576003548585838181106105a257fe5b9050602002013514156105cc578282828181106105bb57fe5b6020029190910135600855506105f7565b6105f38383838181106105db57fe5b90506020020135600654610bac90919063ffffffff16565b6006555b60010161058b565b5050505050565b61060e610c0d565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146106b85760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b60035482141561071e578060075410156107035760405162461bcd60e51b8152600401808060200182810382526037815260200180610d836037913960400191505060405180910390fd5b600754610716908263ffffffff610c5816565b600755610776565b80600554101561075f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610d4e6035913960400191505060405180910390fd5b600554610772908263ffffffff610c5816565b6005555b5050565b60055490565b610788610c0d565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b031633146108415760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b600060058190555b838110156105ff5760035485858381811061086057fe5b90506020020135141561088a5782828281811061087957fe5b6020029190910135600755506108b5565b6108b183838381811061089957fe5b90506020020135600554610bac90919063ffffffff16565b6005555b600101610849565b60035490565b6002546001600160a01b0316331461090c5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b6007546109195760078190555b50565b6001546001600160a01b031633146109655760405162461bcd60e51b8152600401808060200182810382526035815260200180610cb66035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60006109fe600754600554610bac90919063ffffffff16565b905090565b6000546001600160a01b031681565b6002546001600160a01b03163314610a5b5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b600354821415610a7857600754610716908263ffffffff610bac16565b600554610772908263ffffffff610bac16565b60045490565b6002546001600160a01b031681565b60075490565b6002546001600160a01b03163314610aef5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b600455565b6002546001600160a01b03163314610b3d5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b6000600581905560068190555b86811015610b9a57600354888883818110610b6157fe5b9050602002013514610b9257610b7c86868381811061089957fe5b600555610b8e8484838181106105db57fe5b6006555b600101610b4a565b50600455505050505050565b60065490565b600082820183811015610c06576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000546001600160a01b03163314610c565760405162461bcd60e51b815260040180806020018281038252602f815260200180610ceb602f913960400191505060405180910390fd5b565b600082821115610caf576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e7375627472616374656420616d6f756e7420657863656564732063726f7373206e6574776f726b27732069737375656420646562747375627472616374656420616d6f756e7420657863656564732063757272656e74206e6574776f726b2773206973737565642064656274a265627a7a72315820624f94a7f46800313d6a5ce00f98954982ebd6c7ce67ae253daddd65e47db04a64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_chainId",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_chainID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "addIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa872485c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getChainID",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x564b81ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCrossNetworkActiveDebtAll",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfac0d541"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCrossNetworkIssuedDebtAll",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3eb76715"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCurrentNetworkIssuedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb076f08b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getOutboundSumToCurrentNetwork",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac96603e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTotalNetworkIssuedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f553513"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						}
					],
					"name": "setCrossNetworkActiveDebtAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a5407fd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_debts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_activeDebts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "_inbound",
							"type": "uint256"
						}
					],
					"name": "setCrossNetworkDebtsAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf14c44ed"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						}
					],
					"name": "setCrossNetworkIssuedDebtAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x53fb3b0d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setInitialCurrentIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6bc60d04"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setOutboundSumToCurrentNetwork",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdff48488"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_chainID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "subtractIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x385bb1a3"
				}
			],
			"source": {
				"keccak256": "0xd4de0d8894fb38842a778288586b6ce1e62daac432c7e6a8c5d5faf91da3305b",
				"urls": [
					"bzz-raw://ec50f62867c7ae8136cf1d869041f0f0afda3911220e550028ee6ebab92943d9",
					"dweb:/ipfs/QmSzYdcVC4U2jR4AmegpUVBX3m4zFPptUNS2L7Xrx5soFF"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CrossChainState.sol": "CrossChainState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"CrossChainState.sol": {
						"keccak256": "0xd4de0d8894fb38842a778288586b6ce1e62daac432c7e6a8c5d5faf91da3305b",
						"urls": [
							"bzz-raw://ec50f62867c7ae8136cf1d869041f0f0afda3911220e550028ee6ebab92943d9",
							"dweb:/ipfs/QmSzYdcVC4U2jR4AmegpUVBX3m4zFPptUNS2L7Xrx5soFF"
						]
					}
				},
				"version": 1
			}
		},
		"CrossChainManager": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620030b3380380620030b3833981016040819052620000349162000130565b6212750083856001600160a01b0381166200006c5760405162461bcd60e51b8152600401620000639062000217565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b9918490620001f1565b60405180910390a150600280546001600160a01b03199081166001600160a01b039384161790915542928301600455600580548216958316959095179094556006805490941692169190911790915560075550506008805460ff1916905562000272565b80516200012a8162000258565b92915050565b600080600080608085870312156200014757600080fd5b60006200015587876200011d565b945050602062000168878288016200011d565b93505060406200017b878288016200011d565b92505060606200018e878288016200011d565b91505092959194509250565b620001a58162000244565b82525050565b620001a58162000232565b6000620001c560198362000229565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200020182856200019a565b620002106020830184620001ab565b9392505050565b602080825281016200012a81620001b6565b90815260200190565b60006001600160a01b0382166200012a565b60006200012a8260006200012a8262000232565b620002638162000232565b81146200026f57600080fd5b50565b612e3180620002826000396000f3fe608060405234801561001057600080fd5b50600436106102c85760003560e01c80636b42e5b31161017b5780639bdd7ac7116100d8578063d9a63c011161008c578063e4c16da311610071578063e4c16da3146104dc578063f14c44ed146104e4578063f2de2dee146104f7576102c8565b8063d9a63c01146104c1578063dff48488146104c9576102c8565b8063b265e218116100bd578063b265e2181461049e578063cc5c095c146104a6578063d5495e06146104ae576102c8565b80639bdd7ac71461048e578063a02a406914610496576102c8565b8063884a48bc1161012f578063899ffef411610114578063899ffef41461045e5780638bfc007c146104735780638da5cb5b14610486576102c8565b8063884a48bc14610438578063889716011461044b576102c8565b806378a52a9c1161016057806378a52a9c1461041557806379ba50971461041d57806384e2c11614610425576102c8565b80636b42e5b314610405578063741853601461040d576102c8565b806340f68cdd116102295780635082fa3f116101dd57806353fb3b0d116101c257806353fb3b0d146103e2578063564b81ef146103f557806360b3a033146103fd576102c8565b80635082fa3f146103c557806353a47bb7146103da576102c8565b806346b45af71161020e57806346b45af7146103a257806346ba2d90146103aa5780634e03d640146103b2576102c8565b806340f68cdd1461038c57806343d37e0c1461039a576102c8565b806315712139116102805780631a26f447116102655780631a26f4471461036f5780632a222dfe146103495780632af64bd314610384576102c8565b806315712139146103495780631627540c1461035c576102c8565b80630a5407fd116102b15780630a5407fd146103005780630ca1f9111461031557806313cf458414610336576102c8565b806302760d94146102cd57806304f3bcec146102eb575b600080fd5b6102d561050a565b6040516102e29190612b67565b60405180910390f35b6102f361051a565b6040516102e29190612ba3565b61031361030e366004612367565b610529565b005b6103286103233660046124ab565b61064e565b6040516102e2929190612c72565b6103136103443660046122e9565b610739565b6103136103573660046124ab565b610763565b61031361036a3660046122e9565b610766565b6103776107c4565b6040516102e29190612b59565b6103776107cd565b6103136103573660046122e9565b6103776108fd565b61037761099c565b6102d5610a16565b6103136103c03660046124ab565b610a1c565b6103cd610bb6565b6040516102e29190612a97565b6103cd610bc5565b6103136103f0366004612367565b610bd4565b6102d5610ce9565b6103cd610d63565b6102d5610d72565b610313610db4565b6102d5610f0a565b610313610f4c565b6102d5610433366004612517565b610fe8565b6103286104463660046124ab565b611078565b6103136104593660046122e9565b611140565b61046661123a565b6040516102e29190612ac0565b6103136104813660046122e9565b61135e565b6103cd611388565b6102d5611397565b6102d56113d9565b6102d56113df565b6102d56113f0565b6103136104bc3660046124ab565b6115fb565b6102d561170c565b6103136104d73660046124ab565b61171e565b6102d561177b565b6103136104f23660046123d7565b6117bd565b61031361050536600461232d565b610f06565b60006105146118f6565b90505b90565b6002546001600160a01b031681565b6006546001600160a01b0316331461055c5760405162461bcd60e51b815260040161055390612c22565b60405180910390fd5b610564610bb6565b6001600160a01b0316630a5407fd858585856040518563ffffffff1660e01b81526004016105959493929190612ad1565b600060405180830381600087803b1580156105af57600080fd5b505af11580156105c3573d6000803e3d6000fd5b50504260075550506008805460ff1916905560005b83811015610647577fd367269632fc7ec6ce27b8601e408a38f2b78c693719a69e608ee343f3b3d2c185858381811061060d57fe5b9050602002013584848481811061062057fe5b905060200201354260405161063793929190612ca8565b60405180910390a16001016105d8565b5050505050565b600080610659611a16565b9092509050631c1554d160e21b83141561067257610734565b60008061067d611b7c565b6001600160a01b0316630c71cd23866040518263ffffffff1660e01b81526004016106a89190612b67565b604080518083038186803b1580156106bf57600080fd5b505afa1580156106d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106f791908101906124e7565b9150915061072461071f61070a84611b97565b61071387611b97565b9063ffffffff611bad16565b611bc6565b9350828061072f5750805b925050505b915091565b610741611be8565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b50565b61076e611be8565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107b9908390612a97565b60405180910390a150565b60085460ff1690565b600060606107d961123a565b905060005b81518110156108f45760008282815181106107f557fe5b602090810291909101810151600081815260039092526040918290205460025492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a7219061085f908590600401612b67565b60206040518083038186803b15801561087757600080fd5b505afa15801561088b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108af919081019061230f565b6001600160a01b03161415806108da57506000818152600360205260409020546001600160a01b0316155b156108eb5760009350505050610517565b506001016107de565b50600191505090565b600061090a600754611c14565b801561051457506109196118f6565b73__$ab44aa4d03cf506e3f86b9d3e8fcef9ff5$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b15801561095d57600080fd5b505af4158015610971573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061099591908101906124c9565b1415905090565b60006109a6611cad565b6001600160a01b03166346b45af76040518163ffffffff1660e01b815260040160206040518083038186803b1580156109de57600080fd5b505afa1580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610514919081019061248d565b60045481565b610a24610bb6565b6001600160a01b031663a872485c610a3a610bb6565b6001600160a01b031663564b81ef6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7257600080fd5b505afa158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aaa91908101906124c9565b836040518363ffffffff1660e01b8152600401610ac8929190612c8d565b600060405180830381600087803b158015610ae257600080fd5b505af1158015610af6573d6000803e3d6000fd5b50505050610b0381611cd8565b7f8bdd4f2c8e6f93acb14463a0ff56847cd66b543c8dc399d67d0a21eea71e190d81610b2d610bb6565b6001600160a01b031663b076f08b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6557600080fd5b505afa158015610b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9d91908101906124c9565b6008546040516107b9939291429160ff90911690612cd0565b6005546001600160a01b031690565b6001546001600160a01b031681565b6006546001600160a01b03163314610bfe5760405162461bcd60e51b815260040161055390612c22565b610c06610bb6565b6001600160a01b03166353fb3b0d858585856040518563ffffffff1660e01b8152600401610c379493929190612ad1565b600060405180830381600087803b158015610c5157600080fd5b505af1158015610c65573d6000803e3d6000fd5b50504260075550506008805460ff1916905560005b83811015610647577f573b615659a012b9fc6dc8612f02e92d026bab5fa453125ac5d97f6a07db9e0b858583818110610caf57fe5b90506020020135848484818110610cc257fe5b9050602002013542604051610cd993929190612ca8565b60405180910390a1600101610c7a565b6000610cf3610bb6565b6001600160a01b031663564b81ef6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b505afa158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061051491908101906124c9565b6006546001600160a01b031690565b6000610d7c610bb6565b6001600160a01b031663ac96603e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b6060610dbe61123a565b905060005b8151811015610f06576000828281518110610dda57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610e1c9190612a8c565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610e48929190612b83565b60206040518083038186803b158015610e6057600080fd5b505afa158015610e74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e98919081019061230f565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610ef49084908490612b75565b60405180910390a15050600101610dc3565b5050565b6000610f14610bb6565b6001600160a01b031663fac0d5416040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b6001546001600160a01b03163314610f765760405162461bcd60e51b815260040161055390612bc2565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610fb9926001600160a01b0391821692911690612aa5565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610ff2611e72565b6001600160a01b03166394a8b41984846040518363ffffffff1660e01b815260040161101f929190612c8d565b60206040518083038186803b15801561103757600080fd5b505afa15801561104b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061106f91908101906124c9565b90505b92915050565b600080611083611e9d565b9150631c1554d160e21b83141561109c57506000610734565b6000806110a7611b7c565b6001600160a01b0316630c71cd23866040518263ffffffff1660e01b81526004016110d29190612b67565b604080518083038186803b1580156110e957600080fd5b505afa1580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061112191908101906124e7565b9092509050611136848363ffffffff611edf16565b9350915050915091565b611148611be8565b60045442106111695760405162461bcd60e51b815260040161055390612c62565b611171610bb6565b6001600160a01b0316636bc60d04826001600160a01b031663b076f08b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111b857600080fd5b505afa1580156111cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111f091908101906124c9565b6040518263ffffffff1660e01b815260040161120c9190612b67565b600060405180830381600087803b15801561122657600080fd5b505af1158015610647573d6000803e3d6000fd5b60408051600580825260c082019092526060916020820160a0803883390190505090506844656274436163686560b81b8160008151811061127757fe5b6020026020010181815250507f4272696467655374617465705553440000000000000000000000000000000000816001815181106112b157fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106112db57fe5b6020026020010181815250507f537570706c795363686564756c650000000000000000000000000000000000008160038151811061131557fe5b6020026020010181815250507f53797374656d53657474696e67730000000000000000000000000000000000008160048151811061134f57fe5b60200260200101818152505090565b611366611be8565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b60006113a1611cad565b6001600160a01b0316639bdd7ac76040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b60075490565b6000806113ea611e9d565b91505090565b6000806113fb6118f6565b90508073__$ab44aa4d03cf506e3f86b9d3e8fcef9ff5$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b15801561144257600080fd5b505af4158015611456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061147a91908101906124c9565b10156114985760405162461bcd60e51b815260040161055390612bf2565b6114a3600754611c14565b158061152957508073__$ab44aa4d03cf506e3f86b9d3e8fcef9ff5$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ef57600080fd5b505af4158015611503573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061152791908101906124c9565b145b6115455760405162461bcd60e51b815260040161055390612c42565b61154d611cad565b6001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561158557600080fd5b505afa158015611599573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115bd91908101906124c9565b9150600082116115df5760405162461bcd60e51b815260040161055390612be2565b6113ea61071f826115ef85611b97565b9063ffffffff611ef416565b611603610bb6565b6001600160a01b031663385bb1a3611619610bb6565b6001600160a01b031663564b81ef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561165157600080fd5b505afa158015611665573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061168991908101906124c9565b836040518363ffffffff1660e01b81526004016116a7929190612c8d565b600060405180830381600087803b1580156116c157600080fd5b505af11580156116d5573d6000803e3d6000fd5b505050506116e281611cd8565b7ff63087d1db604445d3ddb331ee89a4dd39a1d58f912cbe690c63bb5fae0e6c9381610b2d610bb6565b600080611717611a16565b5091505090565b6006546001600160a01b031633146117485760405162461bcd60e51b815260040161055390612c22565b611750610bb6565b6001600160a01b031663dff48488826040518263ffffffff1660e01b815260040161120c9190612b67565b6000611785610bb6565b6001600160a01b0316633eb767156040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b6006546001600160a01b031633146117e75760405162461bcd60e51b815260040161055390612c22565b6117ef610bb6565b6001600160a01b031663f14c44ed888888888888886040518863ffffffff1660e01b81526004016118269796959493929190612b02565b600060405180830381600087803b15801561184057600080fd5b505af1158015611854573d6000803e3d6000fd5b50504260075550506008805460ff1916905560005b868110156118ec577f274cfe27e7b48429b318b8e3a5f1a15cf65877a6bc0ac509cbceb73cbab5478b88888381811061189e57fe5b905060200201358787848181106118b157fe5b905060200201358686858181106118c457fe5b90506020020135426040516118dc9493929190612d0e565b60405180910390a1600101611869565b5050505050505050565b600080611901610bb6565b6001600160a01b0316637f5535136040518163ffffffff1660e01b815260040160206040518083038186803b15801561193957600080fd5b505afa15801561194d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061197191908101906124c9565b9050801561199a5761199561198582611b97565b610713611990611e9d565b611b97565b6113ea565b73__$ab44aa4d03cf506e3f86b9d3e8fcef9ff5$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156119de57600080fd5b505af41580156119f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113ea91908101906124c9565b6000806000611a23611f0d565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015611a5b57600080fd5b505afa158015611a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a939190810190612536565b929550935090915082905080611aa65750805b9150600080611ab3611f24565b9092509050611ad882611acc878463ffffffff6120ad16565b9063ffffffff6120d216565b9450611b7361071f611ae86118f6565b6115ef611990611af6610bb6565b6001600160a01b031663fac0d5416040518163ffffffff1660e01b815260040160206040518083038186803b158015611b2e57600080fd5b505afa158015611b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b6691908101906124c9565b8a9063ffffffff6120ad16565b94505050509091565b60006105146c45786368616e6765526174657360981b6120fa565b600061107282633b9aca0063ffffffff61215e16565b600061106f83836b033b2e3c9fd0803ce8000000612198565b60006305f5e10082046005600a820610611bde57600a015b600a900492915050565b6000546001600160a01b03163314611c125760405162461bcd60e51b815260040161055390612c32565b565b6000814203611c216121de565b6001600160a01b031663af5355d86040518163ffffffff1660e01b815260040160206040518083038186803b158015611c5957600080fd5b505afa158015611c6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c9191908101906124c9565b1080611c9b575081155b8061107257505060085460ff16919050565b60006105147f537570706c795363686564756c650000000000000000000000000000000000006120fa565b6000611ce2610bb6565b6001600160a01b031663b076f08b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d1a57600080fd5b505afa158015611d2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d5291908101906124c9565b118015611e5d5750611d626121de565b6001600160a01b031663680a17186040518163ffffffff1660e01b815260040160206040518083038186803b158015611d9a57600080fd5b505afa158015611dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dd291908101906124c9565b611e5a611ddd610bb6565b6001600160a01b031663b076f08b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e1557600080fd5b505afa158015611e29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e4d91908101906124c9565b839063ffffffff611edf16565b10155b15610763576008805460ff1916600117905550565b60006105147f42726964676553746174657055534400000000000000000000000000000000006120fa565b6000611ea7610bb6565b6001600160a01b031663b076f08b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b600061106f8383670de0b6b3a7640000612198565b600061106f83836b033b2e3c9fd0803ce8000000612209565b60006105146844656274436163686560b81b6120fa565b600080611f2f611e72565b6001600160a01b031663663c2dae6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f6757600080fd5b505afa158015611f7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f9f91908101906124c9565b9050611fa9611e72565b6001600160a01b031663fc9ff1216040518163ffffffff1660e01b815260040160206040518083038186803b158015611fe157600080fd5b505afa158015611ff5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061201991908101906124c9565b91506000612025610bb6565b6001600160a01b031663ac96603e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561205d57600080fd5b505afa158015612071573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061209591908101906124c9565b90508083106120a457826120a6565b805b9250509091565b60008282018381101561106f5760405162461bcd60e51b815260040161055390612bd2565b6000828211156120f45760405162461bcd60e51b815260040161055390612c02565b50900390565b60008181526003602090815260408083205490516001600160a01b03909116918215159161212a91869101612a6c565b604051602081830303815290604052906121575760405162461bcd60e51b81526004016105539190612bb1565b5092915050565b60008261216d57506000611072565b8282028284828161217a57fe5b041461106f5760405162461bcd60e51b815260040161055390612c52565b6000806121be846121b287600a870263ffffffff61215e16565b9063ffffffff61223416565b90506005600a825b06106121d057600a015b600a900490505b9392505050565b60006105147f53797374656d53657474696e67730000000000000000000000000000000000006120fa565b600080600a8304612220868663ffffffff61215e16565b8161222757fe5b0490506005600a826121c6565b60008082116122555760405162461bcd60e51b815260040161055390612c12565b600082848161226057fe5b04949350505050565b803561107281612dc8565b805161107281612dc8565b60008083601f84011261229157600080fd5b50813567ffffffffffffffff8111156122a957600080fd5b6020830191508360208202830111156122c157600080fd5b9250929050565b805161107281612ddc565b803561107281612de5565b805161107281612de5565b6000602082840312156122fb57600080fd5b60006123078484612269565b949350505050565b60006020828403121561232157600080fd5b60006123078484612274565b6000806040838503121561234057600080fd5b600061234c8585612269565b925050602061235d858286016122d3565b9150509250929050565b6000806000806040858703121561237d57600080fd5b843567ffffffffffffffff81111561239457600080fd5b6123a08782880161227f565b9450945050602085013567ffffffffffffffff8111156123bf57600080fd5b6123cb8782880161227f565b95989497509550505050565b60008060008060008060006080888a0312156123f257600080fd5b873567ffffffffffffffff81111561240957600080fd5b6124158a828b0161227f565b9750975050602088013567ffffffffffffffff81111561243457600080fd5b6124408a828b0161227f565b9550955050604088013567ffffffffffffffff81111561245f57600080fd5b61246b8a828b0161227f565b9350935050606061247e8a828b016122d3565b91505092959891949750929550565b60006020828403121561249f57600080fd5b600061230784846122c8565b6000602082840312156124bd57600080fd5b600061230784846122d3565b6000602082840312156124db57600080fd5b600061230784846122de565b600080604083850312156124fa57600080fd5b600061250685856122de565b925050602061235d858286016122c8565b6000806040838503121561252a57600080fd5b600061234c85856122d3565b6000806000806080858703121561254c57600080fd5b600061255887876122de565b9450506020612569878288016122de565b935050604061257a878288016122c8565b925050606061258b878288016122c8565b91505092959194509250565b60006125a3838361266e565b505060200190565b6125b481612d5b565b82525050565b60006125c582612d49565b6125cf8185612d4d565b93506125da83612d43565b8060005b838110156126085781516125f28882612597565b97506125fd83612d43565b9250506001016125de565b509495945050505050565b600061261f8385612d4d565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561264e57600080fd5b60208302925061265f838584612d82565b50500190565b6125b481612d66565b6125b481610517565b6125b461268382610517565b610517565b6125b481612d77565b600061269c82612d49565b6126a68185612d4d565b93506126b6818560208601612d8e565b6126bf81612dbe565b9093019392505050565b60006126d6603583612d4d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000612735601b83612d4d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061276e601283612d4d565b7f4e6f206d696e7461626c6520737570706c790000000000000000000000000000815260200192915050565b60006127a7601483612d4d565b7f4e6574776f726b207261746520696e76616c6964000000000000000000000000815260200192915050565b60006127e0601e83612d4d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612819601a83612d4d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612852601183612d56565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b600061288b602d83612d4d565b7f4f6e6c79207468652064656274206d616e61676572206d617920706572666f7281527f6d207468697320616374696f6e00000000000000000000000000000000000000602082015260400192915050565b60006128ea602f83612d4d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000612949601983612d4d565b7f43726f737320636861696e2064656274206973207374616c6500000000000000815260200192915050565b6000612982602183612d4d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006129e1602983612d4d565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000612a40601983612d56565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612a7782612845565b9150612a838284612677565b50602001919050565b6000612a7782612a33565b6020810161107282846125ab565b60408101612ab382856125ab565b6121d760208301846125ab565b6020808252810161106f81846125ba565b60408082528101612ae3818688612613565b90508181036020830152612af8818486612613565b9695505050505050565b60808082528101612b1481898b612613565b90508181036020830152612b29818789612613565b90508181036040830152612b3e818587612613565b9050612b4d606083018461266e565b98975050505050505050565b602081016110728284612665565b60208101611072828461266e565b60408101612ab3828561266e565b60408101612b91828561266e565b81810360208301526123078184612691565b602081016110728284612688565b6020808252810161106f8184612691565b60208082528101611072816126c9565b6020808252810161107281612728565b6020808252810161107281612761565b602080825281016110728161279a565b60208082528101611072816127d3565b602080825281016110728161280c565b602080825281016110728161287e565b60208082528101611072816128dd565b602080825281016110728161293c565b6020808252810161107281612975565b60208082528101611072816129d4565b60408101612c80828561266e565b6121d76020830184612665565b60408101612c9b828561266e565b6121d7602083018461266e565b60608101612cb6828661266e565b612cc3602083018561266e565b612307604083018461266e565b60808101612cde828761266e565b612ceb602083018661266e565b612cf8604083018561266e565b612d056060830184612665565b95945050505050565b60808101612d1c828761266e565b612d29602083018661266e565b612d36604083018561266e565b612d05606083018461266e565b60200190565b5190565b90815260200190565b919050565b600061107282612d6b565b151590565b6001600160a01b031690565b600061107282612d5b565b82818337506000910152565b60005b83811015612da9578181015183820152602001612d91565b83811115612db8576000848401525b50505050565b601f01601f191690565b612dd181612d5b565b811461076357600080fd5b612dd181612d66565b612dd18161051756fea365627a7a723158203b7bbd2af1e6b45f7b3dad3ef93908da636cc2fca849ecfa5da1300039b9d84d6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_crossChainStateAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_debtManagerAddress",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "chainID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "activeDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "CrossChainActiveDebtSynced",
					"type": "event",
					"signature": "0xd367269632fc7ec6ce27b8601e408a38f2b78c693719a69e608ee343f3b3d2c1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "chainID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuedDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "CrossChainIssuedDebtSynced",
					"type": "event",
					"signature": "0x573b615659a012b9fc6dc8612f02e92d026bab5fa453125ac5d97f6a07db9e0b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "chainID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuedDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "activeDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "CrossChainSynced",
					"type": "event",
					"signature": "0x274cfe27e7b48429b318b8e3a5f1a15cf65877a6bc0ac509cbceb73cbab5478b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "latestNetworkDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "syncInvalid",
							"type": "bool"
						}
					],
					"name": "IssuedDebtAdded",
					"type": "event",
					"signature": "0x8bdd4f2c8e6f93acb14463a0ff56847cd66b543c8dc399d67d0a21eea71e190d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "latestNetworkDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "syncInvalid",
							"type": "bool"
						}
					],
					"name": "IssuedDebtSubtracted",
					"type": "event",
					"signature": "0xf63087d1db604445d3ddb331ee89a4dd39a1d58f912cbe690c63bb5fae0e6c93"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "addCurrentNetworkIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4e03d640"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "addTotalNetworkDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x15712139"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearCrossNetworkUserDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x40f68cdd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "crossChainState",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5082fa3f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "crossNetworkActiveDebtAll",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x78a52a9c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "crossNetworkIssuedDebtAll",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe4c16da3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentNetworkActiveDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd9a63c01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "currentNetworkActiveDebtOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalSystemValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ca1f911"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentNetworkDebtPercentage",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x02760d94"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentNetworkIssuedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb265e218"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "currentNetworkIssuedDebtOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalSystemValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x884a48bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtManager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x60b3a033"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getChainID",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x564b81ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isMintable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46b45af7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a26f447"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintableSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "supplyToMint",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcc5c095c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minterReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9bdd7ac7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_inboundOutbound",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "targetNetworkId",
							"type": "uint256"
						}
					],
					"name": "movedAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x84e2c116"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "outboundSumToCurrentNetwork",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b42e5b3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "crossChainStateAddress",
							"type": "address"
						}
					],
					"name": "setCrossChainState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x13cf4584"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						}
					],
					"name": "setCrossNetworkActiveDebtAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a5407fd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_issuedDebts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_activeDebts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "_inbound",
							"type": "uint256"
						}
					],
					"name": "setCrossNetworkDebtsAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf14c44ed"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						}
					],
					"name": "setCrossNetworkIssuedDebtAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x53fb3b0d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "userStateDebtLedgerIndex",
							"type": "uint256"
						}
					],
					"name": "setCrossNetworkUserDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf2de2dee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "debtManagerAddress",
							"type": "address"
						}
					],
					"name": "setDebtManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8bfc007c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_prevState",
							"type": "address"
						}
					],
					"name": "setInitialCurrentIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x88971601"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setOutboundSumToCurrentNetwork",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdff48488"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "subtractCurrentNetworkIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd5495e06"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "subtractTotalNetworkDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2a222dfe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "syncStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x43d37e0c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "syncTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa02a4069"
				}
			],
			"source": {
				"keccak256": "0xe0ae68d5b6e76605f10070c669274e85ce0058e31cbccfc9c1dab0d05b47c8a6",
				"urls": [
					"bzz-raw://1ae003c3b101f0f69b52d5d9fb23877907e3ff5e2627cd38083ea6f0184277b6",
					"dweb:/ipfs/QmS1vLkZ9dwhZFJ4p53HSVDhSWUFe6wxonxC9zSxJ9nXTy"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CrossChainManager.sol": "CrossChainManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"CrossChainManager.sol": {
						"keccak256": "0xe0ae68d5b6e76605f10070c669274e85ce0058e31cbccfc9c1dab0d05b47c8a6",
						"urls": [
							"bzz-raw://1ae003c3b101f0f69b52d5d9fb23877907e3ff5e2627cd38083ea6f0184277b6",
							"dweb:/ipfs/QmS1vLkZ9dwhZFJ4p53HSVDhSWUFe6wxonxC9zSxJ9nXTy"
						]
					}
				},
				"version": 1
			}
		},
		"Depot": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$5b1a0139898c1861867d128118276f8f0f$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051603202600c5560408051630241ebdb60e61b8152905173__$5b1a0139898c1861867d128118276f8f0f$__9163907af6c0916004808301926020929190829003018186803b158015620000c557600080fd5b505af4158015620000da573d6000803e3d6000fd5b505050506040513d6020811015620000f157600080fd5b50516101f402600d553480156200010757600080fd5b50604051620034cc380380620034cc833981810160405260608110156200012d57600080fd5b508051602082015160409092015190919080836001600160a01b0381166200019c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000247576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b039283166001600160a01b0319918216179091556007805494909216931692909217909155505061323e806200028e6000396000f3fe6080604052600436106102195760003560e01c806379ba50971161011d578063ae4133b2116100b0578063c3969b341161007f578063ce727e4111610064578063ce727e4114610803578063dcaa3e9f1461082d578063fd12167f1461084a57610219565b8063c3969b34146107a6578063c6abb7c7146107d057610219565b8063ae4133b2146106f0578063b02c43d01461071a578063b1338cc414610767578063bb7df1721461077c57610219565b8063a2c90838116100ec578063a2c908381461065e578063a705a8341461068e578063a8f98446146106b1578063aab483d6146106c657610219565b806379ba5097146105ba578063899ffef4146105cf5780638da5cb5b1461063457806391b4ded91461064957610219565b80634d0387fb116101b057806364e39b871161017f5780636fd62e8c116101645780636fd62e8c14610595578063741853601461059d57806376569fbf146105b257610219565b806364e39b871461054d5780636d5ab4a91461058057610219565b80634d0387fb146104e457806353a47bb7146104f95780635a81c3461461050e5780635c975abb1461053857610219565b80632194f3a2116101ec5780632194f3a2146104525780632af64bd31461046757806334d2e0f21461049057806343de4fd0146104ba57610219565b806304f3bcec14610399578063080c279a146103ca5780631627540c146103f157806316c38b3c14610426575b60048054600101908190556208aa8960eb1b61023361085f565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561027657600080fd5b505afa15801561028a573d6000803e3d6000fd5b505050506040513d60208110156102a057600080fd5b5051156102f4576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b60035460ff16156103365760405162461bcd60e51b815260040180806020018281038252603c8152602001806131a9603c913960400191505060405180910390fd5b61033e610880565b50506004548114610396576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50005b3480156103a557600080fd5b506103ae611070565b604080516001600160a01b039092168252519081900360200190f35b3480156103d657600080fd5b506103df61107f565b60408051918252519081900360200190f35b3480156103fd57600080fd5b506104246004803603602081101561041457600080fd5b50356001600160a01b0316611085565b005b34801561043257600080fd5b506104246004803603602081101561044957600080fd5b503515156110e1565b34801561045e57600080fd5b506103ae61115b565b34801561047357600080fd5b5061047c61116a565b604080519115158252519081900360200190f35b34801561049c57600080fd5b506103df600480360360208110156104b357600080fd5b503561128d565b3480156104c657600080fd5b506103df600480360360208110156104dd57600080fd5b5035611322565b3480156104f057600080fd5b506103df611447565b34801561050557600080fd5b506103ae61144d565b34801561051a57600080fd5b506104246004803603602081101561053157600080fd5b503561145c565b34801561054457600080fd5b5061047c611620565b34801561055957600080fd5b506104246004803603602081101561057057600080fd5b50356001600160a01b0316611629565b34801561058c57600080fd5b506103df61168b565b6103df611691565b3480156105a957600080fd5b50610424611885565b6103df611a66565b3480156105c657600080fd5b50610424611beb565b3480156105db57600080fd5b506105e4611ca7565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610620578181015183820152602001610608565b505050509050019250505060405180910390f35b34801561064057600080fd5b506103ae611d44565b34801561065557600080fd5b506103df611d53565b34801561066a57600080fd5b506103df6004803603604081101561068157600080fd5b5080359060200135611d59565b6103df600480360360408110156106a457600080fd5b5080359060200135611f3a565b3480156106bd57600080fd5b506104246122a5565b3480156106d257600080fd5b50610424600480360360208110156106e957600080fd5b50356124df565b3480156106fc57600080fd5b506103df6004803603602081101561071357600080fd5b50356125cf565b34801561072657600080fd5b506107446004803603602081101561073d57600080fd5b503561266a565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561077357600080fd5b506103df61268f565b34801561078857600080fd5b506104246004803603602081101561079f57600080fd5b5035612695565b3480156107b257600080fd5b506103df600480360360208110156107c957600080fd5b50356126d8565b3480156107dc57600080fd5b506103df600480360360208110156107f357600080fd5b50356001600160a01b0316612768565b34801561080f57600080fd5b506104246004803603602081101561082657600080fd5b503561277a565b6103df6004803603602081101561084357600080fd5b503561282b565b34801561085657600080fd5b506103df612a01565b600061087a6c45786368616e6765526174657360981b612a07565b90505b90565b6000600d543411156108c35760405162461bcd60e51b81526004018080602001828103825260258152602001806131546025913960400191505060405180910390fd5b6000806109536108d161085f565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561091a57600080fd5b505afa15801561092e573d6000803e3d6000fd5b505050506040513d602081101561094457600080fd5b5051349063ffffffff612af716565b60095490915081905b60008211801561096d5750600a5481105b15610f1b5761097a613039565b50600081815260086020908152604091829020825180840190935280546001600160a01b0316808452600190910154918301919091526109d0576009546109c890600163ffffffff612b2116565b600955610f12565b8281602001511115610c745760208101516000906109f4908563ffffffff612b7b16565b60408051808201825284516001600160a01b039081168252602080830185815260008981526008909252939020915182546001600160a01b03191691161781559051600190910155600b54909150610a4c9085612b7b565b600b55610adc610a5a61085f565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610aa357600080fd5b505afa158015610ab7573d6000803e3d6000fd5b505050506040513d6020811015610acd57600080fd5b5051859063ffffffff612bd816565b82516040519197506001600160a01b03169087156108fc029088906000818181858888f19350505050610b8a576007546040516001600160a01b039091169087156108fc029088906000818181858888f19350505050158015610b43573d6000803e3d6000fd5b5081516040805188815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610bd6565b81516040805188815260208101879052815186936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c929081900390910190a45b610bde612c02565b6001600160a01b031663a9059cbb33866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610c3d57600080fd5b505af1158015610c51573d6000803e3d6000fd5b505050506040513d6020811015610c6757600080fd5b5060009450610f12915050565b82816020015111610f1257600082815260086020526040812080546001600160a01b0319168155600190810191909155600954610cb69163ffffffff612b2116565b6009556020810151600b54610cd09163ffffffff612b7b16565b600b55610d64610cde61085f565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d2757600080fd5b505afa158015610d3b573d6000803e3d6000fd5b505050506040513d6020811015610d5157600080fd5b505160208301519063ffffffff612bd816565b81516040519196506001600160a01b03169086156108fc029087906000818181858888f19350505050610e12576007546040516001600160a01b039091169086156108fc029087906000818181858888f19350505050158015610dcb573d6000803e3d6000fd5b5080516040805187815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610e62565b80516020808301516040805189815292830191909152805185936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c92918290030190a45b610e6a612c02565b6001600160a01b031663a9059cbb3383602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ecd57600080fd5b505af1158015610ee1573d6000803e3d6000fd5b505050506040513d6020811015610ef757600080fd5b50506020810151610f0f90849063ffffffff612b7b16565b92505b5060010161095c565b508015610fdd57336108fc610fb3610f3161085f565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610f7a57600080fd5b505afa158015610f8e573d6000803e3d6000fd5b505050506040513d6020811015610fa457600080fd5b5051849063ffffffff612bd816565b6040518115909202916000818181858888f19350505050158015610fdb573d6000803e3d6000fd5b505b6000610fef838363ffffffff612b7b16565b9050801561106857604080513460208201526060810183905260808082526003908201526208aa8960eb1b60a082015260c0818301819052600490820152631c1554d160e21b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15b935050505090565b6005546001600160a01b031681565b600c5481565b61108d612c19565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6110e9612c19565b60035460ff16151581151514156110ff57611158565b6003805460ff1916821515179081905560ff161561111c57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b6007546001600160a01b031681565b60006060611176611ca7565b905060005b815181101561128457600082828151811061119257fe5b6020908102919091018101516000818152600683526040908190205460055482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561121357600080fd5b505afa158015611227573d6000803e3d6000fd5b505050506040513d602081101561123d57600080fd5b50516001600160a01b031614158061126a57506000818152600660205260409020546001600160a01b0316155b1561127b576000935050505061087d565b5060010161117b565b50600191505090565b600061131c61129a61085f565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156112e357600080fd5b505afa1580156112f7573d6000803e3d6000fd5b505050506040513d602081101561130d57600080fd5b5051839063ffffffff612af716565b92915050565b6000635045524960e01b61133461085f565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561137757600080fd5b505afa15801561138b573d6000803e3d6000fd5b505050506040513d60208110156113a157600080fd5b5051156113f5576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b60035460ff16156114375760405162461bcd60e51b815260040180806020018281038252603c8152602001806131a9603c913960400191505060405180910390fd5b61144083612c64565b9392505050565b600b5481565b6001546001600160a01b031681565b611464612c02565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b1580156114bc57600080fd5b505af11580156114d0573d6000803e3d6000fd5b505050506040513d60208110156114e657600080fd5b5050600c5481101561156f57336000908152600e6020526040902054611512908263ffffffff612b2116565b336000818152600e602090815260409182902093909355600c5481519283529282018490528181019290925290517fa53e8531fc7a8d8cd1aeccdc1b953e2b1bfcbeb6f5acb3a8fd571b8c57a5fd3d9181900360600190a1611158565b604080518082018252338082526020808301858152600a8054600090815260088452869020945185546001600160a01b0319166001600160a01b039091161785559051600190940193909355915483518581529351909391927f55037147ed62d28238c4ff02e6d4053961a9fdba94b336f5e2f1c94daf2732a0928290030190a3600a5461160490600163ffffffff612b2116565b600a55600b5461161a908263ffffffff612b2116565b600b5550565b60035460ff1681565b611631612c19565b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050916020908290030190a150565b60095481565b6000635045524960e01b6116a361085f565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156116e657600080fd5b505afa1580156116fa573d6000803e3d6000fd5b505050506040513d602081101561171057600080fd5b505115611764576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b6208aa8960eb1b61177361085f565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156117b657600080fd5b505afa1580156117ca573d6000803e3d6000fd5b505050506040513d60208110156117e057600080fd5b505115611834576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b60035460ff16156118765760405162461bcd60e51b815260040180806020018281038252603c8152602001806131a9603c913960400191505060405180910390fd5b61187e612e0e565b9250505090565b606061188f611ca7565b905060005b8151811015611a625760008282815181106118ab57fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561197a578181015183820152602001611962565b50505050905090810190601f1680156119a75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156119c557600080fd5b505afa1580156119d9573d6000803e3d6000fd5b505050506040513d60208110156119ef57600080fd5b505160008381526006602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611894565b5050565b60048054600101908190556000906208aa8960eb1b611a8361085f565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611ac657600080fd5b505afa158015611ada573d6000803e3d6000fd5b505050506040513d6020811015611af057600080fd5b505115611b44576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b60035460ff1615611b865760405162461bcd60e51b815260040180806020018281038252603c8152602001806131a9603c913960400191505060405180910390fd5b611b8e610880565b9250506004548114611be7576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b6001546001600160a01b03163314611c345760405162461bcd60e51b815260040180806020018281038252603581526020018061307c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160038082526080820190925260609160208201838038833901905050905068141e5b9d1a1c1554d160ba1b81600081518110611ce357fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110611d0d57fe5b6020026020010181815250506a5065726946696e616e636560a81b81600281518110611d3557fe5b60200260200101818152505090565b6000546001600160a01b031681565b60025481565b6000635045524960e01b611d6b61085f565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611dae57600080fd5b505afa158015611dc2573d6000803e3d6000fd5b505050506040513d6020811015611dd857600080fd5b505115611e2c576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b60035460ff1615611e6e5760405162461bcd60e51b815260040180806020018281038252603c8152602001806131a9603c913960400191505060405180910390fd5b611e7661085f565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611ec057600080fd5b505afa158015611ed4573d6000803e3d6000fd5b505050506040513d6020811015611eea57600080fd5b50518314611f295760405162461bcd60e51b81526004018080602001828103825260258152602001806131e56025913960400191505060405180910390fd5b611f3284612c64565b949350505050565b6000635045524960e01b611f4c61085f565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611f8f57600080fd5b505afa158015611fa3573d6000803e3d6000fd5b505050506040513d6020811015611fb957600080fd5b50511561200d576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b6208aa8960eb1b61201c61085f565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561205f57600080fd5b505afa158015612073573d6000803e3d6000fd5b505050506040513d602081101561208957600080fd5b5051156120dd576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b60035460ff161561211f5760405162461bcd60e51b815260040180806020018281038252603c8152602001806131a9603c913960400191505060405180910390fd5b61212761085f565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561217057600080fd5b505afa158015612184573d6000803e3d6000fd5b505050506040513d602081101561219a57600080fd5b505185146121d95760405162461bcd60e51b815260040180806020018281038252602b815260200180613051602b913960400191505060405180910390fd5b6121e161085f565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561222b57600080fd5b505afa15801561223f573d6000803e3d6000fd5b505050506040513d602081101561225557600080fd5b505184146122945760405162461bcd60e51b81526004018080602001828103825260328152602001806130b16032913960400191505060405180910390fd5b61229c612e0e565b95945050505050565b6009546000905b600a54811015612388576122be613039565b50600081815260086020908152604091829020825180840190935280546001600160a01b03168084526001909101549183019190915233141561237f57602081015161231190849063ffffffff612b2116565b600083815260086020908152604080832080546001600160a01b0319168155600101929092558351848201518351908152925193965085936001600160a01b03909116927fa3192e28d63900a325ec19d7b4c6a3690995015d92e4483f4b3ec54dea5e598492908290030190a35b506001016122ac565b50600b5461239c908263ffffffff612b7b16565b600b55336000908152600e60205260409020546123c090829063ffffffff612b2116565b336000908152600e602052604081205590508061240e5760405162461bcd60e51b81526004018080602001828103825260218152602001806130e36021913960400191505060405180910390fd5b612416612c02565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561247557600080fd5b505af1158015612489573d6000803e3d6000fd5b505050506040513d602081101561249f57600080fd5b5050604080513381526020810183905281517f561ed20453aa36ac35f599e6b1f20818af8d303c090fb9ffc306da39814757b2929181900390910190a150565b6124e7612c19565b73__$5b1a0139898c1861867d128118276f8f0f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561252b57600080fd5b505af415801561253f573d6000803e3d6000fd5b505050506040513d602081101561255557600080fd5b505181116125945760405162461bcd60e51b81526004018080602001828103825260308152602001806131796030913960400191505060405180910390fd5b600c8190556040805182815290517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679181900360200190a150565b60008061265f6125dd61085f565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561262657600080fd5b505afa15801561263a573d6000803e3d6000fd5b505050506040513d602081101561265057600080fd5b5051849063ffffffff612af716565b9050611440816126d8565b600860205260009081526040902080546001909101546001600160a01b039091169082565b600d5481565b61269d612c19565b600d8190556040805182815290517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439181900360200190a150565b600061131c6126e561085f565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561272f57600080fd5b505afa158015612743573d6000803e3d6000fd5b505050506040513d602081101561275957600080fd5b5051839063ffffffff612bd816565b600e6020526000908152604090205481565b612782612c19565b61278a612f5d565b60008054604080517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b039283166004820152602481018690529051939091169263a9059cbb92604480840193602093929083900390910190829087803b1580156127fc57600080fd5b505af1158015612810573d6000803e3d6000fd5b505050506040513d602081101561282657600080fd5b505050565b60006208aa8960eb1b61283c61085f565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561287f57600080fd5b505afa158015612893573d6000803e3d6000fd5b505050506040513d60208110156128a957600080fd5b5051156128fd576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b60035460ff161561293f5760405162461bcd60e51b815260040180806020018281038252603c8152602001806131a9603c913960400191505060405180910390fd5b61294761085f565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561299057600080fd5b505afa1580156129a4573d6000803e3d6000fd5b505050506040513d60208110156129ba57600080fd5b505183146129f95760405162461bcd60e51b81526004018080602001828103825260258152602001806131e56025913960400191505060405180910390fd5b611440610880565b600a5481565b60008181526006602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612af05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ab5578181015183820152602001612a9d565b50505050905090810190601f168015612ae25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6000670de0b6b3a7640000612b12848463ffffffff612f7616565b81612b1957fe5b049392505050565b600082820183811015611440576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115612bd2576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061144082612bf685670de0b6b3a764000063ffffffff612f7616565b9063ffffffff612fcf16565b600061087a68141e5b9d1a1c1554d160ba1b612a07565b6000546001600160a01b03163314612c625760405162461bcd60e51b815260040180806020018281038252602f815260200180613104602f913960400191505060405180910390fd5b565b600080612c70836126d8565b9050612c7a612c02565b600754604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905192909116916323b872dd916064808201926020929091908290030181600087803b158015612cd757600080fd5b505af1158015612ceb573d6000803e3d6000fd5b505050506040513d6020811015612d0157600080fd5b50612d0c9050612f5d565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612d6b57600080fd5b505af1158015612d7f573d6000803e3d6000fd5b505050506040513d6020811015612d9557600080fd5b505060408051602081018590526060810183905260808082526004908201819052631c1554d160e21b60a083015260c0828401819052820152635045524960e01b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a192915050565b600080612e1a346125cf565b6007546040519192506001600160a01b0316903480156108fc02916000818181858888f19350505050158015612e54573d6000803e3d6000fd5b50612e5d612f5d565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612ebc57600080fd5b505af1158015612ed0573d6000803e3d6000fd5b505050506040513d6020811015612ee657600080fd5b5050604080513460208201526060810183905260808082526003908201526208aa8960eb1b60a082015260c0818301819052600490820152635045524960e01b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a1905090565b600061087a6a5065726946696e616e636560a81b612a07565b600082612f855750600061131c565b82820282848281612f9257fe5b04146114405760405162461bcd60e51b81526004018080602001828103825260218152602001806131336021913960400191505060405180910390fd5b6000808211613025576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161303057fe5b04949350505050565b60408051808201909152600080825260208201529056fe47756172616e74656564206574686572207261746520776f756c64206e6f74206265207265636569766564596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697047756172616e7465656420706572692066696e616e6365207261746520776f756c64206e6f74206265207265636569766564596f752068617665206e6f206465706f7369747320746f2077697468647261772e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745544820616d6f756e742061626f7665206d61784574685075726368617365206c696d69744d696e696d756d206465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20554e49545468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656447756172616e74656564207261746520776f756c64206e6f74206265207265636569766564a265627a7a72315820b6d488a8dd98536a806944bb1018358c6bfd110bbe7ac9e75c410ab17f016d8264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address payable",
							"name": "_fundsWallet",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "fromAddress",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromETHAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "ClearedDeposit",
					"type": "event",
					"signature": "0x6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "string",
							"name": "fromCurrency",
							"type": "string"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "string",
							"name": "toCurrency",
							"type": "string"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "Exchange",
					"type": "event",
					"signature": "0xdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newFundsWallet",
							"type": "address"
						}
					],
					"name": "FundsWalletUpdated",
					"type": "event",
					"signature": "0x4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MaxEthPurchaseUpdated",
					"type": "event",
					"signature": "0xdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c8243"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MinimumDepositAmountUpdated",
					"type": "event",
					"signature": "0xa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc54267"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "receiver",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "NonPayableContract",
					"type": "event",
					"signature": "0xf2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "PynthDeposit",
					"type": "event",
					"signature": "0x55037147ed62d28238c4ff02e6d4053961a9fdba94b336f5e2f1c94daf2732a0"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimum",
							"type": "uint256"
						}
					],
					"name": "PynthDepositNotAccepted",
					"type": "event",
					"signature": "0xa53e8531fc7a8d8cd1aeccdc1b953e2b1bfcbeb6f5acb3a8fd571b8c57a5fd3d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "PynthDepositRemoved",
					"type": "event",
					"signature": "0xa3192e28d63900a325ec19d7b4c6a3690995015d92e4483f4b3ec54dea5e5984"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "PynthWithdrawal",
					"type": "event",
					"signature": "0x561ed20453aa36ac35f599e6b1f20818af8d303c090fb9ffc306da39814757b2"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositEndIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfd12167f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "depositPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a81c346"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositStartIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6d5ab4a9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "deposits",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "user",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb02c43d0"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForPERI",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x6fd62e8c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "guaranteedEtherRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "guaranteedPeriFinanceRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForPERIAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xa705a834"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x76569fbf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForPynthsAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xdcaa3e9f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "pynthAmount",
							"type": "uint256"
						}
					],
					"name": "exchangePynthsForPERI",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x43de4fd0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "pynthAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangePynthsForPERIAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa2c90838"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundsWallet",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2194f3a2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEthPurchase",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb1338cc4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumDepositAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x080c279a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "periFinanceReceivedForEther",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae4133b2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "periFinanceReceivedForPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc3969b34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "pynthsReceivedForEther",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x34d2e0f2"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_fundsWallet",
							"type": "address"
						}
					],
					"name": "setFundsWallet",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x64e39b87"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEthPurchase",
							"type": "uint256"
						}
					],
					"name": "setMaxEthPurchase",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb7df172"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setMinimumDepositAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaab483d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "smallDeposits",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6abb7c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSellableDeposits",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4d0387fb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "withdrawMyDepositedPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa8f98446"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdrawPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xce727e41"
				}
			],
			"source": {
				"keccak256": "0x9f39d1e1217dca41679e84cfc3cd51fb304579fd26649ef4312abed165e6658e",
				"urls": [
					"bzz-raw://41bf17e34570fb815a9ddb1856448a98841b99788a7fafcc4c466794cbf34217",
					"dweb:/ipfs/QmcPAwqfB8qVpJ4bpBfd1VDEEwhDPNqPSk2s1V74ELzZ8d"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Depot.sol": "Depot"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Depot.sol": {
						"keccak256": "0x9f39d1e1217dca41679e84cfc3cd51fb304579fd26649ef4312abed165e6658e",
						"urls": [
							"bzz-raw://41bf17e34570fb815a9ddb1856448a98841b99788a7fafcc4c466794cbf34217",
							"dweb:/ipfs/QmcPAwqfB8qVpJ4bpBfd1VDEEwhDPNqPSk2s1V74ELzZ8d"
						]
					}
				},
				"version": 1
			}
		},
		"EtherCollateral": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$09231a05ed34b6851f1018822ecfa0dcb8$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051607d0260075560408051630241ebdb60e61b8152905160649173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600855620001266301e133806008546200042f60201b620022221790919060201c565b6009556103e873__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600a5573__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b505161138802600b5560408051630241ebdb60e61b8152905173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c0916004808301926020929190829003018186803b1580156200027457600080fd5b505af415801562000289573d6000803e3d6000fd5b505050506040513d6020811015620002a057600080fd5b5051600c556032600d55600e805460ff19169055348015620002c157600080fd5b506040516200347d3803806200347d83398181016040526040811015620002e757600080fd5b50805160209091015180826001600160a01b0381166200034e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620003f9576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a0001600f556200049b565b600080821162000486576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816200049257fe5b04949350505050565b612fd280620004ab6000396000f3fe6080604052600436106102f25760003560e01c80637cc1f8671161018f578063ab6a34fa116100e1578063e220a8111161008a578063e5829d2011610064578063e5829d20146109ed578063eea8f5da14610a17578063f53dfb8414610a2c576102f2565b8063e220a8111461098a578063e3c1e58c146109c3578063e40108ed146109d8576102f2565b8063cf09b4ae116100bb578063cf09b4ae14610936578063d05951a01461094b578063dcaf9c4414610975576102f2565b8063ab6a34fa1461087f578063b410a034146108f5578063bb8c6d6c1461090a576102f2565b80638fdc8f3b11610143578063a1c515861161011d578063a1c51586146107a1578063a2e1734214610825578063a76cdfa514610855576102f2565b80638fdc8f3b1461074d57806391b4ded9146107775780639f7d56881461078c576102f2565b806389c937de1161017457806389c937de146106c65780638c463869146106ff5780638da5cb5b14610738576102f2565b80637cc1f86714610635578063899ffef4146106b1576102f2565b80634f069f66116102485780635d1a2229116101fc57806374185360116101d657806374185360146105f657806379ba50971461060b5780637c3a00fd14610620576102f2565b80635d1a22291461059a5780635f84f302146105c45780636b231938146105ee576102f2565b806353a47bb71161022d57806353a47bb71461055b57806357b21920146105705780635c975abb14610585576102f2565b80634f069f661461050757806350e3b2e714610531576102f2565b806323aa7f0f116102aa5780632f2bf15b116102845780632f2bf15b1461045a578063361e2086146104dd5780634189bb49146104f2576102f2565b806323aa7f0f146103e357806327cff2e5146103f85780632af64bd314610431576102f2565b80631474b279116102db5780631474b2791461036d5780631627540c1461038257806316c38b3c146103b7576102f2565b806304f3bcec146102f7578063089f7fb414610328575b600080fd5b34801561030357600080fd5b5061030c610a56565b604080516001600160a01b039092168252519081900360200190f35b34801561033457600080fd5b5061035b6004803603602081101561034b57600080fd5b50356001600160a01b0316610a65565b60408051918252519081900360200190f35b34801561037957600080fd5b5061035b610a77565b34801561038e57600080fd5b506103b5600480360360208110156103a557600080fd5b50356001600160a01b0316610a7d565b005b3480156103c357600080fd5b506103b5600480360360208110156103da57600080fd5b50351515610ae6565b3480156103ef57600080fd5b5061035b610b60565b34801561040457600080fd5b5061035b6004803603604081101561041b57600080fd5b506001600160a01b038135169060200135610b66565b34801561043d57600080fd5b50610446610b8f565b604080519115158252519081900360200190f35b34801561046657600080fd5b5061048d6004803603602081101561047d57600080fd5b50356001600160a01b0316610cb3565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c95781810151838201526020016104b1565b505050509050019250505060405180910390f35b3480156104e957600080fd5b5061035b610e71565b3480156104fe57600080fd5b5061035b610e77565b34801561051357600080fd5b506103b56004803603602081101561052a57600080fd5b5035610e7d565b34801561053d57600080fd5b506103b56004803603602081101561055457600080fd5b5035610ec0565b34801561056757600080fd5b5061030c610f03565b34801561057c57600080fd5b5061035b610f12565b34801561059157600080fd5b50610446610f18565b3480156105a657600080fd5b506103b5600480360360208110156105bd57600080fd5b5035610f21565b3480156105d057600080fd5b506103b5600480360360208110156105e757600080fd5b5035610fa6565b61035b6110f2565b34801561060257600080fd5b506103b5611595565b34801561061757600080fd5b506103b5611783565b34801561062c57600080fd5b5061035b61184c565b34801561064157600080fd5b5061064a611852565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b3480156106bd57600080fd5b5061048d6118bd565b3480156106d257600080fd5b5061035b600480360360408110156106e957600080fd5b506001600160a01b0381351690602001356119a4565b34801561070b57600080fd5b5061035b6004803603604081101561072257600080fd5b506001600160a01b0381351690602001356119de565b34801561074457600080fd5b5061030c6119fd565b34801561075957600080fd5b5061035b6004803603602081101561077057600080fd5b5035611a0c565b34801561078357600080fd5b5061035b611a26565b34801561079857600080fd5b5061035b611a2c565b3480156107ad57600080fd5b506107da600480360360408110156107c457600080fd5b506001600160a01b038135169060200135611a32565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b34801561083157600080fd5b5061035b6004803603604081101561084857600080fd5b5080359060200135611ab9565b34801561086157600080fd5b506103b56004803603602081101561087857600080fd5b5035611ae7565b34801561088b57600080fd5b506108b8600480360360408110156108a257600080fd5b506001600160a01b038135169060200135611b2a565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561090157600080fd5b5061035b611b85565b34801561091657600080fd5b506103b56004803603602081101561092d57600080fd5b50351515611baa565b34801561094257600080fd5b5061035b611c54565b34801561095757600080fd5b506103b56004803603602081101561096e57600080fd5b5035611c5a565b34801561098157600080fd5b5061035b611d95565b34801561099657600080fd5b506103b5600480360360408110156109ad57600080fd5b506001600160a01b038135169060200135611d9b565b3480156109cf57600080fd5b50610446611f74565b3480156109e457600080fd5b5061035b611f7d565b3480156109f957600080fd5b506103b560048036036020811015610a1057600080fd5b5035611f83565b348015610a2357600080fd5b5061035b612082565b348015610a3857600080fd5b5061035b60048036036020811015610a4f57600080fd5b5035612088565b6005546001600160a01b031681565b60146020526000908152604090205481565b600d5481565b610a856120ab565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610aee6120ab565b60035460ff1615158115151415610b0457610b5d565b6003805460ff1916821515179081905560ff1615610b2157426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60115481565b6000610b70612d23565b610b7a84846120f6565b9050610b8581612207565b9150505b92915050565b60006060610b9b6118bd565b905060005b8151811015610ca9576000828281518110610bb757fe5b6020908102919091018101516000818152600683526040908190205460055482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610c3857600080fd5b505afa158015610c4c573d6000803e3d6000fd5b505050506040513d6020811015610c6257600080fd5b50516001600160a01b0316141580610c8f57506000818152600660205260409020546001600160a01b0316155b15610ca05760009350505050610cb0565b50600101610ba0565b5060019150505b90565b6001600160a01b03811660009081526013602090815260408083208054825181850281018501909352808352606094859484015b82821015610d585760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101610ce7565b50505050905060608151604051908082528060200260200182016040528015610d8b578160200160208202803883390190505b5090506000805b8351811015610df957838181518110610da757fe5b602002602001015160a0015160001415610df157838181518110610dc757fe5b602002602001015160800151838381518110610ddf57fe5b60209081029190910101526001909101905b600101610d92565b50606081604051908082528060200260200182016040528015610e26578160200160208202803883390190505b50905060005b82811015610e6757838181518110610e4057fe5b6020026020010151828281518110610e5457fe5b6020908102919091010152600101610e2c565b5095945050505050565b600a5481565b60125481565b610e856120ab565b600b8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b610ec86120ab565b600c8190556040805182815290517f8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d5288399181900360200190a150565b6001546001600160a01b031681565b60105481565b60035460ff1681565b610f296120ab565b6103e8808210610f6a5760405162461bcd60e51b8152600401808060200182810382526025815260200180612dd66025913960400191505060405180910390fd5b600d8290556040805183815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a15050565b610fae6120ab565b6301e133808111610ff05760405162461bcd60e51b8152600401808060200182810382526037815260200180612f676037913960400191505060405180910390fd5b73__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561103457600080fd5b505af4158015611048573d6000803e3d6000fd5b505050506040513d602081101561105e57600080fd5b505181111561109e5760405162461bcd60e51b8152600401808060200182810382526025815260200180612f426025913960400191505060405180910390fd5b60088190556110b7816301e1338063ffffffff61222216565b60095560085460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b60035460009060ff16156111375760405162461bcd60e51b815260040180806020018281038252603c815260200180612f06603c913960400191505060405180910390fd5b600480546001019081905561114a61228c565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b15801561119457600080fd5b505afa1580156111a8573d6000803e3d6000fd5b505050506040513d60208110156111be57600080fd5b505115611212576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b61121a6122a7565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561125257600080fd5b505afa158015611266573d6000803e3d6000fd5b50505050600c543410156112ab5760405162461bcd60e51b815260040180806020018281038252603e815260200180612ec8603e913960400191505060405180910390fd5b600e5460ff1615611303576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600d5433600090815260136020526040902054106113525760405162461bcd60e51b8152600401808060200182810382526022815260200180612e336022913960400191505060405180910390fd5b600061135d34611a0c565b9050600b54611377826010546122c190919063ffffffff16565b106113b35760405162461bcd60e51b8152600401808060200182810382526023815260200180612e556023913960400191505060405180910390fd5b6113bb61231b565b92506113c5612d23565b506040805160c081018252338082523460208084019182528385018681524260608601908152608086018a8152600060a0880181815296815260138552978820805460018082018355918a52949098208751600690950201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909516949094178455935196830196909655516002820155935160038501555160048401555160059092019190915560105461147a90836122c1565b601055611485612353565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156114e457600080fd5b505af11580156114f8573d6000803e3d6000fd5b5050604080518781526020810186905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a250506004548114611591576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b606061159f6118bd565b905060005b815181101561177f5760008282815181106115bb57fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561168a578181015183820152602001611672565b50505050905090810190601f1680156116b75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156116d557600080fd5b505afa1580156116e9573d6000803e3d6000fd5b505050506040513d60208110156116ff57600080fd5b5051600083815260066020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016115a4565b5050565b6001546001600160a01b031633146117cc5760405162461bcd60e51b8152600401808060200182810382526035815260200180612d636035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60085481565b6007546000808080808080808080808061186a611b85565b9b506008549a506009549950600a549850600b549750600c549650601054955060115494506012549350479250600f549150600e60009054906101000a900460ff169050909192939495969798999a9b9c565b60408051600580825260c082019092526060916020820160a0803883390190505090506b53797374656d53746174757360a01b816000815181106118fd57fe5b602002602001018181525050680a0f2dce8d0e08aa8960bb1b8160018151811061192357fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160028151811061194957fe5b6020026020010181815250506411195c1bdd60da1b8160038151811061196b57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160048151811061199557fe5b60200260200101818152505090565b60006119ae612d23565b6119b884846120f6565b905060006119c58261236a565b90506119d5826040015182611ab9565b95945050505050565b60006119e8612d23565b6119f284846120f6565b9050610b858161236a565b6000546001600160a01b031681565b6000610b89611a19611b85565b839063ffffffff6123ad16565b60025481565b600f5481565b600080600080600080600080611a46612d23565b611a508b8b6120f6565b8051602082015160408301516060840151608085015160a0860151949e50929c50909a509850965094509050611a8e87611a898361236a565b611ab9565b9250611aa9611a9c82612207565b849063ffffffff6122c116565b9150509295985092959890939650565b6000611ae0611ad3836009546123d790919063ffffffff16565b849063ffffffff61243016565b9392505050565b611aef6120ab565b600a8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b60136020528160005260406000208181548110611b4357fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b03909416965091945092909186565b6000611ba560075468056bc75e2d6310000061244590919063ffffffff16565b905090565b611bb26120ab565b600f544211611c08576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600e805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b600c5481565b6004805460010190819055611c6d61228c565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b158015611cb757600080fd5b505afa158015611ccb573d6000803e3d6000fd5b505050506040513d6020811015611ce157600080fd5b505115611d35576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b611d3f338361245a565b600454811461177f576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60075481565b6004805460010190819055611dae61228c565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b158015611df857600080fd5b505afa158015611e0c573d6000803e3d6000fd5b505050506040513d6020811015611e2257600080fd5b505115611e76576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b600e5460ff16611ecd576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b611ed7838361245a565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a26004548114611f6f576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b600e5460ff1681565b60095481565b611f8b6120ab565b683635c9adc5dea00000811115611fe9576040805162461bcd60e51b815260206004820152600860248201527f546f6f2068696768000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b68056bc75e2d63100000811015612047576040805162461bcd60e51b815260206004820152600760248201527f546f6f206c6f7700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60078190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b600b5481565b6000610b89611a1968056bc75e2d6310000060075461244590919063ffffffff16565b6000546001600160a01b031633146120f45760405162461bcd60e51b815260040180806020018281038252602f815260200180612e78602f913960400191505060405180910390fd5b565b6120fe612d23565b6001600160a01b0383166000908152601360209081526040808320805482518185028101850190935280835260609492939192909184015b828210156121a75760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101612136565b509293506000925050505b81518110156121ff57838282815181106121c857fe5b60200260200101516080015114156121f7578181815181106121e657fe5b602002602001015192505050610b89565b6001016121b2565b505092915050565b6000610b89600a54836040015161243090919063ffffffff16565b6000808211612278576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161228357fe5b04949350505050565b6000611ba56c45786368616e6765526174657360981b612aa9565b6000611ba56b53797374656d53746174757360a01b612aa9565b600082820183811015611ae0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60125460009061233290600163ffffffff6122c116565b60125560115461234990600163ffffffff6122c116565b6011819055905090565b6000611ba5680a0f2dce8d0e08aa8960bb1b612aa9565b60a081015160009015158061239457606083015161238f90429063ffffffff612b9916565b611ae0565b606083015160a0840151611ae09163ffffffff612b9916565b6000670de0b6b3a76400006123c8848463ffffffff6123d716565b816123cf57fe5b049392505050565b6000826123e657506000610b89565b828202828482816123f357fe5b0414611ae05760405162461bcd60e51b8152600401808060200182810382526021815260200180612ea76021913960400191505060405180910390fd5b6000611ae08383670de0b6b3a7640000612bf6565b6000611ae08383670de0b6b3a7640000612c33565b6124626122a7565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561249a57600080fd5b505afa1580156124ae573d6000803e3d6000fd5b505050506124ba612d23565b6124c483836120f6565b9050600081608001511161251f576040805162461bcd60e51b815260206004820152601360248201527f4c6f616e20646f6573206e6f7420657869737400000000000000000000000000604482015290519081900360640190fd5b60a081015115612576576040805162461bcd60e51b815260206004820152601360248201527f4c6f616e20616c726561647920636c6f73656400000000000000000000000000604482015290519081900360640190fd5b8060400151612583612353565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156125d857600080fd5b505afa1580156125ec573d6000803e3d6000fd5b505050506040513d602081101561260257600080fd5b505110156126415760405162461bcd60e51b815260040180806020018281038252603e815260200180612d98603e913960400191505060405180910390fd5b61264a81612c65565b60408101516010546126619163ffffffff612b9916565b601055604081015160009061267990611a898461236a565b9050600061268683612207565b9050600061269a838363ffffffff6122c116565b90506126a4612353565b6001600160a01b0316639dc29fac3386604001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561270757600080fd5b505af115801561271b573d6000803e3d6000fd5b50505050612727612cf9565b6001600160a01b03166334d2e0f2826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561276a57600080fd5b505afa15801561277e573d6000803e3d6000fd5b505050506040513d602081101561279457600080fd5b505161279e612d0c565b6001600160a01b03166370a082316127b4612cf9565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156127fa57600080fd5b505afa15801561280e573d6000803e3d6000fd5b505050506040513d602081101561282457600080fd5b505110156128635760405162461bcd60e51b8152600401808060200182810382526038815260200180612dfb6038913960400191505060405180910390fd5b61286b612cf9565b6001600160a01b03166376569fbf826040518263ffffffff1660e01b81526004016020604051808303818588803b1580156128a557600080fd5b505af11580156128b9573d6000803e3d6000fd5b50505050506040513d60208110156128d057600080fd5b506128db9050612d0c565b6001600160a01b031663a9059cbb73feefeefeefeefeefeefeefeefeefeefeefeefeef612906612d0c565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561295b57600080fd5b505afa15801561296f573d6000803e3d6000fd5b505050506040513d602081101561298557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156129ee57600080fd5b505af1158015612a02573d6000803e3d6000fd5b505050506040513d6020811015612a1857600080fd5b5050602084015133906108fc90612a35908463ffffffff612b9916565b6040518115909202916000818181858888f19350505050158015612a5d573d6000803e3d6000fd5b50604080518681526020810183905281516001600160a01b038916927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a2505050505050565b60008181526006602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612b925760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612b57578181015183820152602001612b3f565b50505050905090810190601f168015612b845780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082821115612bf0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080600a8304612c0d868663ffffffff6123d716565b81612c1457fe5b0490506005600a825b0610612c2757600a015b600a9004949350505050565b600080612c5984612c4d87600a870263ffffffff6123d716565b9063ffffffff61222216565b90506005600a82612c1d565b80516001600160a01b03166000908152601360205260408120905b8154811015612cdd578260800151828281548110612c9a57fe5b9060005260206000209060060201600401541415612cd55742828281548110612cbf57fe5b9060005260206000209060060201600501819055505b600101612c80565b50601254612cf290600163ffffffff612b9916565b6012555050565b6000611ba56411195c1bdd60da1b612aa9565b6000611ba568141e5b9d1a1c1554d160ba1b612aa9565b6040518060c0016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970596f7520646f206e6f742068617665207468652072657175697265642050796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e4f776e65722063616e6e6f742073657420686967686572207468616e20484152445f4341505468652070555344204465706f7420646f6573206e6f74206861766520656e6f756768207055534420746f2062757920666f72206665657345616368206163636f756e74206973206c696d74656420746f203530206c6f616e734c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e53697a655468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f59454152a265627a7a72315820638cf8a612a8fb80ce0ad28b9629174589d26e0ca344a9a6f3892260ab9ff6ae64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanLimit",
							"type": "uint256"
						}
					],
					"name": "AccountLoanLimitUpdated",
					"type": "event",
					"signature": "0x59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "CollateralizationRatioUpdated",
					"type": "event",
					"signature": "0xfb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce07869530"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interestRate",
							"type": "uint256"
						}
					],
					"name": "InterestRateUpdated",
					"type": "event",
					"signature": "0xa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d74"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueLimit",
							"type": "uint256"
						}
					],
					"name": "IssueLimitUpdated",
					"type": "event",
					"signature": "0xbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feesPaid",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0x3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "LoanLiquidated",
					"type": "event",
					"signature": "0xde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "LoanLiquidationOpenUpdated",
					"type": "event",
					"signature": "0xaa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minLoanSize",
							"type": "uint256"
						}
					],
					"name": "MinLoanSizeUpdated",
					"type": "event",
					"signature": "0x8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d528839"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountLoanLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1474b279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accountOpenLoanCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x089f7fb4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountsPynthLoans",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab6a34fa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "accruedInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa2e17342"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "calculateMintingFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x27cff2e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "closeLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd05951a0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						}
					],
					"name": "collateralAmountForLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf53dfb84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralizationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdcaf9c44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "currentInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89c937de"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getContractInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "_collateralizationRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestPerSecond",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minLoanSize",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalIssuedPynths",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalLoansCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalOpenLoanCount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_ethBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_liquidationDeadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7cc1f867"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "interest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestPerSecond",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe40108ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c3a00fd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeea8f5da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "liquidateUnclosedLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe220a811"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDeadline",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f7d5688"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						}
					],
					"name": "loanAmountFromCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8fdc8f3b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "loanLifeSpan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanLifeSpanResult",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c463869"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "loanLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c1e58c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minLoanSize",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcf09b4ae"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "openLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x6b231938"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "openLoanIDsByAccount",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f2bf15b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanLimit",
							"type": "uint256"
						}
					],
					"name": "setAccountLoanLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5d1a2229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setCollateralizationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe5829d20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						}
					],
					"name": "setInterestRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5f84f302"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						}
					],
					"name": "setIssueLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4f069f66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "setLoanLiquidationOpen",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb8c6d6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minLoanSize",
							"type": "uint256"
						}
					],
					"name": "setMinLoanSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x50e3b2e7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57b21920"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoansCreated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23aa7f0f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOpenLoanCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4189bb49"
				}
			],
			"source": {
				"keccak256": "0xe281d46104fd60fd23b1f140a39284ca8c9210441c35a6f17422e17df27f1212",
				"urls": [
					"bzz-raw://0dbf0764daaa264312aa83130ed8edb7f4760bdab098ac360758e5fa7cff61c2",
					"dweb:/ipfs/QmRv93XoAifE2h3mZGHdFwuYvuYvA4C5wC7Ca5LPwB6U5t"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EtherCollateral.sol": "EtherCollateral"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"EtherCollateral.sol": {
						"keccak256": "0xe281d46104fd60fd23b1f140a39284ca8c9210441c35a6f17422e17df27f1212",
						"urls": [
							"bzz-raw://0dbf0764daaa264312aa83130ed8edb7f4760bdab098ac360758e5fa7cff61c2",
							"dweb:/ipfs/QmRv93XoAifE2h3mZGHdFwuYvuYvA4C5wC7Ca5LPwB6U5t"
						]
					}
				},
				"version": 1
			}
		},
		"EtherCollateralpUSD": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$17dde3ba6158fad0cde918737687de0a85$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b505160960260075560408051630241ebdb60e61b8152905160649173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600855620001266301e133806008546200053e60201b6200410b1790919060201c565b6009556103e873__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600a5573__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b50516298968002600b5560408051630241ebdb60e61b8152905173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c0916004808301926020929190829003018186803b1580156200027557600080fd5b505af41580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b5051600c556032600d55600e805460ff1916905560408051630241ebdb60e61b8152905160649173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c091600480820192602092909190829003018186803b1580156200030557600080fd5b505af41580156200031a573d6000803e3d6000fd5b505050506040513d60208110156200033157600080fd5b5051609602816200033e57fe5b04601055600a73__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038957600080fd5b505af41580156200039e573d6000803e3d6000fd5b505050506040513d6020811015620003b557600080fd5b505181620003bf57fe5b04601155348015620003d057600080fd5b506040516200522e3803806200522e83398181016040526040811015620003f657600080fd5b50805160209091015180826001600160a01b0381166200045d576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000508576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a0001600f55620005aa565b600080821162000595576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620005a157fe5b04949350505050565b614c7480620005ba6000396000f3fe60806040526004361061036b5760003560e01c8063767a7b05116101c6578063a5d5db0c116100f7578063e220a81111610095578063e5829d201161006f578063e5829d2014610c64578063eea8f5da14610c8e578063f45f08fb14610ca3578063f53dfb8414610cdc5761036b565b8063e220a81114610c01578063e3c1e58c14610c3a578063e40108ed14610c4f5761036b565b8063b410a034116100d1578063b410a03414610b81578063bb8c6d6c14610b96578063d05951a014610bc2578063dcaf9c4414610bec5761036b565b8063a5d5db0c14610a91578063a76cdfa514610abd578063ab6a34fa14610ae75761036b565b80638da5cb5b11610164578063946ce8cd1161013e578063946ce8cd1461099e5780639f7d5688146109c8578063a1c51586146109dd578063a2e1734214610a615761036b565b80638da5cb5b1461094a5780638fdc8f3b1461095f57806391b4ded9146109895761036b565b80637cc1f867116101a05780637cc1f8671461084157806380a5d3d8146108bd578063899ffef4146108fc57806389c937de146109115761036b565b8063767a7b05146107e757806379ba5097146108175780637c3a00fd1461082c5761036b565b806339735e37116102a057806357b219201161023e5780635f84f302116102185780635f84f3021461074157806360655ba71461076b578063675969be146107bd57806374185360146107d25761036b565b806357b21920146106ed5780635c975abb146107025780635d1a2229146107175761036b565b80634f069f661161027a5780634f069f66146106585780634f11815c1461068257806353a47bb7146106bb57806354e3e70d146106d05761036b565b806339735e37146105da5780634189bb491461060a578063462b97251461061f5761036b565b806323aa7f0f1161030d5780632af64bd3116102e75780632af64bd3146104da5780632f2bf15b14610503578063361e208614610586578063384585711461059b5761036b565b806323aa7f0f1461049b57806323f5589a146104b057806324bbab8b146104c55761036b565b80631627540c116103495780631627540c146103fb57806316c38b3c146104305780631775765f1461045c57806317da255e146104715761036b565b806304f3bcec14610370578063089f7fb4146103a15780631474b279146103e6575b600080fd5b34801561037c57600080fd5b50610385610d06565b604080516001600160a01b039092168252519081900360200190f35b3480156103ad57600080fd5b506103d4600480360360208110156103c457600080fd5b50356001600160a01b0316610d15565b60408051918252519081900360200190f35b3480156103f257600080fd5b506103d4610d27565b34801561040757600080fd5b5061042e6004803603602081101561041e57600080fd5b50356001600160a01b0316610d2d565b005b34801561043c57600080fd5b5061042e6004803603602081101561045357600080fd5b50351515610d96565b34801561046857600080fd5b506103d4610e10565b34801561047d57600080fd5b5061042e6004803603602081101561049457600080fd5b5035610e16565b3480156104a757600080fd5b506103d4610e59565b3480156104bc57600080fd5b506103d4610e5f565b3480156104d157600080fd5b506103d4610e65565b3480156104e657600080fd5b506104ef610e6f565b604080519115158252519081900360200190f35b34801561050f57600080fd5b506105366004803603602081101561052657600080fd5b50356001600160a01b0316610f93565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561057257818101518382015260200161055a565b505050509050019250505060405180910390f35b34801561059257600080fd5b506103d4611183565b3480156105a757600080fd5b5061042e600480360360608110156105be57600080fd5b506001600160a01b038135169060208101359060400135611189565b3480156105e657600080fd5b506103d4600480360360408110156105fd57600080fd5b508035906020013561178e565b34801561061657600080fd5b506103d4611881565b34801561062b57600080fd5b506103d46004803603604081101561064257600080fd5b506001600160a01b038135169060200135611887565b34801561066457600080fd5b5061042e6004803603602081101561067b57600080fd5b50356118a7565b34801561068e57600080fd5b506103d4600480360360408110156106a557600080fd5b506001600160a01b0381351690602001356118ea565b3480156106c757600080fd5b50610385611911565b6103d4600480360360208110156106e657600080fd5b5035611920565b3480156106f957600080fd5b506103d4611f94565b34801561070e57600080fd5b506104ef611f9a565b34801561072357600080fd5b5061042e6004803603602081101561073a57600080fd5b5035611fa3565b34801561074d57600080fd5b5061042e6004803603602081101561076457600080fd5b5035612026565b34801561077757600080fd5b506107a46004803603604081101561078e57600080fd5b506001600160a01b038135169060200135612172565b6040805192835260208301919091528051918290030190f35b3480156107c957600080fd5b506103d46121e2565b3480156107de57600080fd5b5061042e6121e8565b3480156107f357600080fd5b5061042e6004803603604081101561080a57600080fd5b50803590602001356123d6565b34801561082357600080fd5b5061042e612752565b34801561083857600080fd5b506103d461281b565b34801561084d57600080fd5b50610856612821565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b3480156108c957600080fd5b5061042e600480360360608110156108e057600080fd5b506001600160a01b03813516906020810135906040013561288c565b34801561090857600080fd5b50610536612c05565b34801561091d57600080fd5b506103d46004803603604081101561093457600080fd5b506001600160a01b038135169060200135612cc8565b34801561095657600080fd5b50610385612d2a565b34801561096b57600080fd5b506103d46004803603602081101561098257600080fd5b5035612d39565b34801561099557600080fd5b506103d4612ddf565b3480156109aa57600080fd5b5061042e600480360360208110156109c157600080fd5b5035612de5565b3480156109d457600080fd5b506103d4612eeb565b3480156109e957600080fd5b50610a1660048036036040811015610a0057600080fd5b506001600160a01b038135169060200135612ef1565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b348015610a6d57600080fd5b506103d460048036036040811015610a8457600080fd5b5080359060200135612f98565b61042e60048036036040811015610aa757600080fd5b506001600160a01b038135169060200135612fc6565b348015610ac957600080fd5b5061042e60048036036020811015610ae057600080fd5b503561318c565b348015610af357600080fd5b50610b2060048036036040811015610b0a57600080fd5b506001600160a01b0381351690602001356131cf565b604080516001600160a01b03909b168b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015264ffffffffff1661012083015251908190036101400190f35b348015610b8d57600080fd5b506103d461324d565b348015610ba257600080fd5b5061042e60048036036020811015610bb957600080fd5b50351515613272565b348015610bce57600080fd5b5061042e60048036036020811015610be557600080fd5b503561331c565b348015610bf857600080fd5b506103d4613458565b348015610c0d57600080fd5b5061042e60048036036040811015610c2457600080fd5b506001600160a01b03813516906020013561345e565b348015610c4657600080fd5b506104ef613633565b348015610c5b57600080fd5b506103d461363c565b348015610c7057600080fd5b5061042e60048036036020811015610c8757600080fd5b5035613642565b348015610c9a57600080fd5b506103d4613741565b348015610caf57600080fd5b506103d460048036036040811015610cc657600080fd5b506001600160a01b038135169060200135613747565b348015610ce857600080fd5b506103d460048036036020811015610cff57600080fd5b5035613771565b6005546001600160a01b031681565b60166020526000908152604090205481565b600d5481565b610d3561381e565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610d9e61381e565b60035460ff1615158115151415610db457610e0d565b6003805460ff1916821515179081905560ff1615610dd157426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60105481565b610e1e61381e565b600c8190556040805182815290517f9f45df4d81199bea8f20e88707b6f7d36b8e8f20a7def01c113746f67557ffb69181900360200190a150565b60135481565b60115481565b6208aa8960eb1b81565b60006060610e7b612c05565b905060005b8151811015610f89576000828281518110610e9757fe5b6020908102919091018101516000818152600683526040908190205460055482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610f1857600080fd5b505afa158015610f2c573d6000803e3d6000fd5b505050506040513d6020811015610f4257600080fd5b50516001600160a01b0316141580610f6f57506000818152600660205260409020546001600160a01b0316155b15610f805760009350505050610f90565b50600101610e80565b5060019150505b90565b6001600160a01b03811660009081526015602090815260408083208054825181850281018501909352808352606094859484015b8282101561106a5760008481526020908190206040805161014081018252600a860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e084015260088101546101008401526009015464ffffffffff166101208301529083529092019101610fc7565b5050505090506060815160405190808252806020026020018201604052801561109d578160200160208202803883390190505b5090506000805b835181101561110b578381815181106110b957fe5b602002602001015160c0015160001415611103578381815181106110d957fe5b602002602001015160a001518383815181106110f157fe5b60209081029190910101526001909101905b6001016110a4565b50606081604051908082528060200260200182016040528015611138578160200160208202803883390190505b50905060005b828110156111795783818151811061115257fe5b602002602001015182828151811061116657fe5b602090810291909101015260010161113e565b5095945050505050565b600a5481565b600480546001019081905561119c613869565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111e557600080fd5b505afa1580156111f9573d6000803e3d6000fd5b505050506040513d602081101561120f57600080fd5b505115611263576040805162461bcd60e51b815260206004820152601e60248201527f426c6f636b656420617320455448207261746520697320696e76616c69640000604482015290519081900360640190fd5b61126b613884565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156112a357600080fd5b505afa1580156112b7573d6000803e3d6000fd5b50505050816112c461389e565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561131957600080fd5b505afa15801561132d573d6000803e3d6000fd5b505050506040513d602081101561134357600080fd5b50511015611398576040805162461bcd60e51b815260206004820152601760248201527f4e6f7420656e6f75676820705553442062616c616e6365000000000000000000604482015290519081900360640190fd5b6113a06148f2565b6113aa85856138b5565b90506113b5816139f8565b60008060006113c384613aa8565b92509250925060105483106114095760405162461bcd60e51b81526004018080602001828103825260288152602001806149566028913960400191505060405180910390fd5b600061144061143a8361142e8861010001518960400151613b9890919063ffffffff16565b9063ffffffff613b9816565b8461178e565b905060008782106114515787611453565b815b905061145d61389e565b6001600160a01b0316639dc29fac33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156114bc57600080fd5b505af11580156114d0573d6000803e3d6000fd5b5050505060008060006114ff846114f5888c6101000151613b9890919063ffffffff16565b8b60400151613bf2565b509250925092506115108383613c6b565b600061151a613869565b6001600160a01b031663654a60ac631c1554d160e21b876208aa8960eb1b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561157a57600080fd5b505afa15801561158e573d6000803e3d6000fd5b505050506040513d60208110156115a457600080fd5b505160115460408051630241ebdb60e61b815290519293506000926116499261163c92909173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c0916004808301926020929190829003018186803b15801561160457600080fd5b505af4158015611618573d6000803e3d6000fd5b505050506040513d602081101561162e57600080fd5b50519063ffffffff613b9816565b839063ffffffff613d8a16565b905061166d8b611666868e60400151613db490919063ffffffff16565b8542613e11565b61168d8b611688838e60200151613db490919063ffffffff16565b613ef1565b50604051339082156108fc029083906000818181858888f193505050501580156116bb573d6000803e3d6000fd5b508e6001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58f33898560405180858152602001846001600160a01b03166001600160a01b0316815260200183815260200182815260200194505050505060405180910390a250505050505050505050506004548114611788576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50505050565b60008073__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156117d557600080fd5b505af41580156117e9573d6000803e3d6000fd5b505050506040513d60208110156117ff57600080fd5b5051601054909150600061182961181c868463ffffffff61401616565b879063ffffffff613db416565b905060006118626118558461184960115488613b9890919063ffffffff16565b9063ffffffff61401616565b859063ffffffff613db416565b9050611874828263ffffffff61401616565b9450505050505b92915050565b60145481565b60006118916148f2565b61189b84846138b5565b60600151949350505050565b6118af61381e565b600b8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b60006118f46148f2565b6118fe84846138b5565b905061190981614040565b949350505050565b6001546001600160a01b031681565b60035460009060ff16156119655760405162461bcd60e51b815260040180806020018281038252603c815260200180614b60603c913960400191505060405180910390fd5b6004805460010190819055611978613869565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156119c157600080fd5b505afa1580156119d5573d6000803e3d6000fd5b505050506040513d60208110156119eb57600080fd5b505115611a3f576040805162461bcd60e51b815260206004820152601e60248201527f426c6f636b656420617320455448207261746520697320696e76616c69640000604482015290519081900360640190fd5b611a47613884565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a7f57600080fd5b505afa158015611a93573d6000803e3d6000fd5b50505050600c54341015611ad85760405162461bcd60e51b8152600401808060200182810382526048815260200180614bf86048913960600191505060405180910390fd5b600e5460ff1615611b30576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600d543360009081526015602052604090205410611b7f5760405162461bcd60e51b8152600401808060200182810382526023815260200180614aed6023913960400191505060405180910390fd5b6000611b8a34612d39565b905080841115611bcb5760405162461bcd60e51b8152600401808060200182810382526027815260200180614a476027913960400191505060405180910390fd5b6000611bd6856140a7565b90506000611bea868363ffffffff613db416565b9050600b54611c0487601254613b9890919063ffffffff16565b1115611c415760405162461bcd60e51b8152600401808060200182810382526023815260200180614aca6023913960400191505060405180910390fd5b611c496140be565b9450611c536148f2565b5060408051610140810182523381523460208201529081018790526060810183905242608082015260a08101869052600060c0820181905260085460e083015261010082018190526101208201528215611da057611caf61389e565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611d2257600080fd5b505af1158015611d36573d6000803e3d6000fd5b50505050611d426140f6565b6001600160a01b03166322bf55ef846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611d8757600080fd5b505af1158015611d9b573d6000803e3d6000fd5b505050505b336000908152601560209081526040808320805460018082018355918552938390208551600a90950201805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390951694909417845591840151918301919091558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009909101805464ffffffffff191664ffffffffff909216919091179055601254611e759088613b98565b601255611e8061389e565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611edf57600080fd5b505af1158015611ef3573d6000803e3d6000fd5b505060408051898152602081018b905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505050506004548114611f8e576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50919050565b60125481565b60035460ff1681565b611fab61381e565b6103e88110611feb5760405162461bcd60e51b8152600401808060200182810382526033815260200180614a976033913960400191505060405180910390fd5b600d8190556040805182815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a150565b61202e61381e565b6301e1338081116120705760405162461bcd60e51b8152600401808060200182810382526037815260200180614bc16037913960400191505060405180910390fd5b73__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156120b457600080fd5b505af41580156120c8573d6000803e3d6000fd5b505050506040513d60208110156120de57600080fd5b505181111561211e5760405162461bcd60e51b8152600401808060200182810382526025815260200180614b9c6025913960400191505060405180910390fd5b6008819055612137816301e1338063ffffffff61410b16565b60095560085460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b60008061217d6148f2565b61218785856138b5565b905060006121a78261010001518360400151613b9890919063ffffffff16565b90506121d06121be826121b985614040565b612f98565b6101008401519063ffffffff613b9816565b93508160600151925050509250929050565b600c5481565b60606121f2612c05565b905060005b81518110156123d257600082828151811061220e57fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156122dd5781810151838201526020016122c5565b50505050905090810190601f16801561230a5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561232857600080fd5b505afa15801561233c573d6000803e3d6000fd5b505050506040513d602081101561235257600080fd5b5051600083815260066020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016121f7565b5050565b60035460ff16156124185760405162461bcd60e51b815260040180806020018281038252603c815260200180614b60603c913960400191505060405180910390fd5b600480546001019081905561242b613869565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561247457600080fd5b505afa158015612488573d6000803e3d6000fd5b505050506040513d602081101561249e57600080fd5b5051156124f2576040805162461bcd60e51b815260206004820152601e60248201527f426c6f636b656420617320455448207261746520697320696e76616c69640000604482015290519081900360640190fd5b600082116125315760405162461bcd60e51b8152600401808060200182810382526029815260200180614a6e6029913960400191505060405180910390fd5b612539613884565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561257157600080fd5b505afa158015612585573d6000803e3d6000fd5b5050600e5460ff161591506125e39050576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b6125eb6148f2565b6125f533856138b5565b9050612600816139f8565b6020810151600090612618908563ffffffff613db416565b90506126226148f2565b61262c8383613ef1565b9050600061263982613aa8565b50509050601054811161267d5760405162461bcd60e51b815260040180806020018281038252603181526020018061497e6031913960400191505060405180910390fd5b604051339087156108fc029088906000818181858888f193505050501580156126aa573d6000803e3d6000fd5b50602080830151604080518a8152928301899052828101919091525133917ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303919081900360600190a250505050600454811461274d576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b6001546001600160a01b0316331461279b5760405162461bcd60e51b81526004018080602001828103825260358152602001806149af6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60085481565b6007546000808080808080808080808061283961324d565b9b506008549a506009549950600a549850600b549750600c549650601254955060135494506014549350479250600f549150600e60009054906101000a900460ff169050909192939495969798999a9b9c565b612894613869565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156128dd57600080fd5b505afa1580156128f1573d6000803e3d6000fd5b505050506040513d602081101561290757600080fd5b50511561295b576040805162461bcd60e51b815260206004820152601e60248201527f426c6f636b656420617320455448207261746520697320696e76616c69640000604482015290519081900360640190fd5b612963613884565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561299b57600080fd5b505afa1580156129af573d6000803e3d6000fd5b50505050806129bc61389e565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612a1157600080fd5b505afa158015612a25573d6000803e3d6000fd5b505050506040513d6020811015612a3b57600080fd5b50511015612a90576040805162461bcd60e51b815260206004820152601760248201527f4e6f7420656e6f75676820705553442062616c616e6365000000000000000000604482015290519081900360640190fd5b612a986148f2565b612aa284846138b5565b9050612aad816139f8565b6000612acb8261010001518360400151613b9890919063ffffffff16565b90506000612adc826121b985614040565b90506000612af882856101000151613b9890919063ffffffff16565b9050600080600080612b0f89868a60400151613bf2565b9350935093509350612b1f61389e565b6001600160a01b0316639dc29fac338b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612b7e57600080fd5b505af1158015612b92573d6000803e3d6000fd5b50505050612ba08484613c6b565b612bac88828442613e11565b604080518b8152602081018b905280820183905290516001600160a01b038d16917f2cebe3c4a7e8e81ca2035a6cb3ee450bb6401d9b6636652e183583f047049572919081900360600190a25050505050505050505050565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110612c4557fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b81600181518110612c6b57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110612c9557fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110612cb957fe5b60200260200101818152505090565b6000612cd26148f2565b612cdc84846138b5565b90506000612d08612cff8361010001518460400151613b9890919063ffffffff16565b6121b984614040565b610100830151909150612d21908263ffffffff613b9816565b95945050505050565b6000546001600160a01b031681565b600061187b612d46613869565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612d8f57600080fd5b505afa158015612da3573d6000803e3d6000fd5b505050506040513d6020811015612db957600080fd5b5051612dd3612dc661324d565b859063ffffffff613d8a16565b9063ffffffff613d8a16565b60025481565b612ded61381e565b73__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612e3157600080fd5b505af4158015612e45573d6000803e3d6000fd5b505050506040513d6020811015612e5b57600080fd5b50518111612eb0576040805162461bcd60e51b815260206004820152601460248201527f526174696f206c657373207468616e2031303025000000000000000000000000604482015290519081900360640190fd5b60108190556040805182815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9181900360200190a150565b600f5481565b600080600080600080600080612f056148f2565b612f0f8b8b6138b5565b9050806000015198508060200151975080604001519650806080015195508060a0015194508060c001519350612f6f612f5d612cff8361010001518460400151613b9890919063ffffffff16565b6101008301519063ffffffff613b9816565b9250612f88816060015184613b9890919063ffffffff16565b9150509295985092959890939650565b6000612fbf612fb28360095461417590919063ffffffff16565b849063ffffffff6141ce16565b9392505050565b60035460ff16156130085760405162461bcd60e51b815260040180806020018281038252603c815260200180614b60603c913960400191505060405180910390fd5b600034116130475760405162461bcd60e51b8152600401808060200182810382526025815260200180614a226025913960400191505060405180910390fd5b61304f613884565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561308757600080fd5b505afa15801561309b573d6000803e3d6000fd5b5050600e5460ff161591506130f99050576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b6131016148f2565b61310b83836138b5565b9050613116816139f8565b602081015160009061312e903463ffffffff613b9816565b905061313a8282613ef1565b506040805184815234602082015280820183905290516001600160a01b038616917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c919081900360600190a250505050565b61319461381e565b600a8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b601560205281600052604060002081815481106131e857fe5b60009182526020909120600a909102018054600182015460028301546003840154600485015460058601546006870154600788015460088901546009909901546001600160a01b039098169a50959850939692959194909392909164ffffffffff168a565b600061326d60075468056bc75e2d631000006141e390919063ffffffff16565b905090565b61327a61381e565b600f5442116132d0576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600e805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b600480546001019081905561332f613869565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561337857600080fd5b505afa15801561338c573d6000803e3d6000fd5b505050506040513d60208110156133a257600080fd5b5051156133f6576040805162461bcd60e51b815260206004820152601e60248201527f426c6f636b656420617320455448207261746520697320696e76616c69640000604482015290519081900360640190fd5b613402338360006141f8565b60045481146123d2576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60075481565b6004805460010190819055613471613869565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156134ba57600080fd5b505afa1580156134ce573d6000803e3d6000fd5b505050506040513d60208110156134e457600080fd5b505115613538576040805162461bcd60e51b815260206004820152601e60248201527f426c6f636b656420617320455448207261746520697320696e76616c69640000604482015290519081900360640190fd5b600e5460ff1661358f576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b61359b838360016141f8565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a2600454811461274d576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600e5460ff1681565b60095481565b61364a61381e565b683635c9adc5dea000008111156136a8576040805162461bcd60e51b815260206004820152600860248201527f546f6f2068696768000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b68056bc75e2d63100000811015613706576040805162461bcd60e51b815260206004820152600760248201527f546f6f206c6f7700000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60078190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b600b5481565b60006137516148f2565b61375b84846138b5565b905061376681613aa8565b509095945050505050565b600061187b68056bc75e2d63100000613812612dc661378e613869565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156137d757600080fd5b505afa1580156137eb573d6000803e3d6000fd5b505050506040513d602081101561380157600080fd5b50516007549063ffffffff6141e316565b9063ffffffff6141e316565b6000546001600160a01b031633146138675760405162461bcd60e51b815260040180806020018281038252602f815260200180614b10602f913960400191505060405180910390fd5b565b600061326d6c45786368616e6765526174657360981b61470b565b600061326d6b53797374656d53746174757360a01b61470b565b600061326d68141e5b9d1a1c1554d160ba1b61470b565b6138bd6148f2565b6001600160a01b0383166000908152601560209081526040808320805482518185028101850190935280835260609492939192909184015b828210156139985760008481526020908190206040805161014081018252600a860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e084015260088101546101008401526009015464ffffffffff1661012083015290835290920191016138f5565b509293506000925050505b81518110156139f057838282815181106139b957fe5b602002602001015160a0015114156139e8578181815181106139d757fe5b60200260200101519250505061187b565b6001016139a3565b505092915050565b60008160a0015111613a51576040805162461bcd60e51b815260206004820152601360248201527f4c6f616e20646f6573206e6f7420657869737400000000000000000000000000604482015290519081900360640190fd5b60c081015115610e0d576040805162461bcd60e51b815260206004820152601360248201527f4c6f616e20616c726561647920636c6f73656400000000000000000000000000604482015290519081900360640190fd5b600080600080613aca8561010001518660400151613b9890919063ffffffff16565b9050613ad9816121b987614040565b9150613b6c613ae6613869565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613b2f57600080fd5b505afa158015613b43573d6000803e3d6000fd5b505050506040513d6020811015613b5957600080fd5b505160208701519063ffffffff613d8a16565b9250613b8e613b81828463ffffffff613b9816565b849063ffffffff61401616565b9350509193909250565b600082820183811015612fbf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808381868015801590613c075750600087115b15613c4257868111613c195780613c1b565b865b9450613c2d838663ffffffff613db416565b9250613c3f818663ffffffff613db416565b90505b8591508015613c6157613c5b828263ffffffff613db416565b91508093505b5093509350935093565b8115613d6a57613c7961389e565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015613cec57600080fd5b505af1158015613d00573d6000803e3d6000fd5b50505050613d0c6140f6565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613d5157600080fd5b505af1158015613d65573d6000803e3d6000fd5b505050505b80156123d257601254613d83908263ffffffff613db416565b6012555050565b6000670de0b6b3a7640000613da5848463ffffffff61417516565b81613dac57fe5b049392505050565b600082821115613e0b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b83516001600160a01b03166000908152601560205260408120905b8154811015613ee9578560a00151828281548110613e4657fe5b90600052602060002090600a0201600501541415613ee15784828281548110613e6b57fe5b90600052602060002090600a02016002018190555083828281548110613e8d57fe5b90600052602060002090600a02016008018190555082828281548110613eaf57fe5b90600052602060002090600a020160090160006101000a81548164ffffffffff021916908364ffffffffff1602179055505b600101613e2c565b505050505050565b613ef96148f2565b82516001600160a01b03166000908152601560205260408120905b81548110156139f0578460a00151828281548110613f2e57fe5b90600052602060002090600a020160050154141561400e5783828281548110613f5357fe5b90600052602060002090600a020160010181905550818181548110613f7457fe5b60009182526020918290206040805161014081018252600a90930290910180546001600160a01b031683526001810154938301939093526002830154908201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015460e0820152600882015461010082015260099091015464ffffffffff16610120820152925061187b915050565b600101613f14565b6000612fbf8261403485670de0b6b3a764000063ffffffff61417516565b9063ffffffff61410b16565b600080600083610120015164ffffffffff161161406157826080015161406f565b82610120015164ffffffffff165b905060008360c00151116140925761408d428263ffffffff613db416565b612fbf565b60c0830151612fbf908263ffffffff613db416565b600061187b600a54836141ce90919063ffffffff16565b6014546000906140d590600163ffffffff613b9816565b6014556013546140ec90600163ffffffff613b9816565b6013819055905090565b600061326d66119959541bdbdb60ca1b61470b565b6000808211614161576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161416c57fe5b04949350505050565b6000826141845750600061187b565b8282028284828161419157fe5b0414612fbf5760405162461bcd60e51b8152600401808060200182810382526021815260200180614b3f6021913960400191505060405180910390fd5b6000612fbf8383670de0b6b3a76400006147fb565b6000612fbf8383670de0b6b3a7640000614838565b614200613884565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561423857600080fd5b505afa15801561424c573d6000803e3d6000fd5b505050506142586148f2565b61426284846138b5565b905061426d816139f8565b600061428e612cff8361010001518460400151613b9890919063ffffffff16565b905060006142a9828460400151613b9890919063ffffffff16565b905060006142c583856101000151613b9890919063ffffffff16565b9050816142d061389e565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561432557600080fd5b505afa158015614339573d6000803e3d6000fd5b505050506040513d602081101561434f57600080fd5b5051101561438e5760405162461bcd60e51b815260040180806020018281038252603e8152602001806149e4603e913960400191505060405180910390fd5b6143978461485e565b6143c56143b68561010001518660400151613db490919063ffffffff16565b6012549063ffffffff613db416565b6012556143d061389e565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561442f57600080fd5b505af1158015614443573d6000803e3d6000fd5b5050505061444f61389e565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156144c257600080fd5b505af11580156144d6573d6000803e3d6000fd5b505050506144e26140f6565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561452757600080fd5b505af115801561453b573d6000803e3d6000fd5b5050505060208401518515614684576000614554613869565b6001600160a01b031663654a60ac631c1554d160e21b866208aa8960eb1b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156145b457600080fd5b505afa1580156145c8573d6000803e3d6000fd5b505050506040513d60208110156145de57600080fd5b505160115460408051630241ebdb60e61b8152905192935060009261463e9261163c92909173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c0916004808301926020929190829003018186803b15801561160457600080fd5b9050614650838263ffffffff613db416565b604051909350339082156108fc029083906000818181858888f19350505050158015614680573d6000803e3d6000fd5b5050505b84516040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156146bd573d6000803e3d6000fd5b50604080518881526020810184905281516001600160a01b038b16927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a25050505050505050565b60008181526006602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816147f45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156147b95781810151838201526020016147a1565b50505050905090810190601f1680156147e65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600080600a8304614812868663ffffffff61417516565b8161481957fe5b0490506005600a825b061061482c57600a015b600a9004949350505050565b6000806148528461403487600a870263ffffffff61417516565b90506005600a82614822565b80516001600160a01b03166000908152601560205260408120905b81548110156148d6578260a0015182828154811061489357fe5b90600052602060002090600a02016005015414156148ce57428282815481106148b857fe5b90600052602060002090600a0201600601819055505b600101614879565b506014546148eb90600163ffffffff613db416565b6014555050565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff168152509056fe436f6c6c61746572616c20726174696f2061626f7665206c69717569646174696f6e20726174696f436f6c6c61746572616c20726174696f2062656c6f77206c69717569646174696f6e206166746572207769746864726177596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970596f7520646f206e6f742068617665207468652072657175697265642050796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e4465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20304c6f616e20616d6f756e742065786365656473206d617820626f72726f77696e6720706f776572416d6f756e7420746f207769746864726177206d7573742062652067726561746572207468616e20304f776e65722063616e6e6f742073657420686967686572207468616e204143434f554e545f4c4f414e5f4c494d49545f4341504c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e45616368206163636f756e74206973206c696d6974656420746f203530206c6f616e734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f594541524e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e436f6c6c61746572616c53697a65a265627a7a72315820faa20a5856800eb1b70d5ad3a1d886a8851a0c81706083e36d0794c6638c2f4464736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanLimit",
							"type": "uint256"
						}
					],
					"name": "AccountLoanLimitUpdated",
					"type": "event",
					"signature": "0x59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "CollateralizationRatioUpdated",
					"type": "event",
					"signature": "0xfb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce07869530"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interestRate",
							"type": "uint256"
						}
					],
					"name": "InterestRateUpdated",
					"type": "event",
					"signature": "0xa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d74"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueLimit",
							"type": "uint256"
						}
					],
					"name": "IssueLimitUpdated",
					"type": "event",
					"signature": "0xbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feesPaid",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0x3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "LoanLiquidated",
					"type": "event",
					"signature": "0xde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "LoanLiquidationOpenUpdated",
					"type": "event",
					"signature": "0xaa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatedCollateral",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "repaidAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLoanAmount",
							"type": "uint256"
						}
					],
					"name": "LoanRepaid",
					"type": "event",
					"signature": "0x2cebe3c4a7e8e81ca2035a6cb3ee450bb6401d9b6636652e183583f047049572"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minLoanCollateralSize",
							"type": "uint256"
						}
					],
					"name": "MinLoanCollateralSizeUpdated",
					"type": "event",
					"signature": "0x9f45df4d81199bea8f20e88707b6f7d36b8e8f20a7def01c113746f67557ffb6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "COLLATERAL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x24bbab8b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountLoanLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1474b279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accountOpenLoanCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x089f7fb4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountsPynthLoans",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "mintingFee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanInterestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint40",
							"name": "lastInterestAccrued",
							"type": "uint40"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab6a34fa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "accruedInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa2e17342"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToLiquidate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x39735e37"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "closeLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd05951a0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						}
					],
					"name": "collateralAmountForLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf53dfb84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralizationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdcaf9c44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "currentInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89c937de"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "depositCollateral",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xa5d5db0c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getContractInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "_collateralizationRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestPerSecond",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minLoanCollateralSize",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalIssuedPynths",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalLoansCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalOpenLoanCount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_ethBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_liquidationDeadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7cc1f867"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoanCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanCollateralRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf45f08fb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getMintingFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x462b9725"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestPerSecond",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe40108ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c3a00fd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeea8f5da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_debtToCover",
							"type": "uint256"
						}
					],
					"name": "liquidateLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x38458571"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "liquidateUnclosedLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe220a811"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDeadline",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f7d5688"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						}
					],
					"name": "loanAmountFromCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8fdc8f3b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "loanLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c1e58c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minLoanCollateralSize",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x675969be"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						}
					],
					"name": "openLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x54e3e70d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "openLoanIDsByAccount",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f2bf15b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_repayAmount",
							"type": "uint256"
						}
					],
					"name": "repayLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x80a5d3d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanLimit",
							"type": "uint256"
						}
					],
					"name": "setAccountLoanLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5d1a2229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setCollateralizationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe5829d20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						}
					],
					"name": "setInterestRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5f84f302"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						}
					],
					"name": "setIssueLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4f069f66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "setLoanLiquidationOpen",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb8c6d6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minLoanCollateralSize",
							"type": "uint256"
						}
					],
					"name": "setMinLoanCollateralSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x17da255e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "timeSinceInterestAccrualOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f11815c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "totalFeesOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "mintingFee",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x60655ba7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57b21920"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoansCreated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23aa7f0f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOpenLoanCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4189bb49"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "withdrawAmount",
							"type": "uint256"
						}
					],
					"name": "withdrawCollateral",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x767a7b05"
				}
			],
			"source": {
				"keccak256": "0x280dc411c3a778167b92dc9d10a4eaad5ddc43f76f991d62425ee67bb6d8bb56",
				"urls": [
					"bzz-raw://8abd3af89a0a0d16c73e43a9d1198e3395ba8bd8a8f0cfce9fa0a733ac9906a8",
					"dweb:/ipfs/QmW5u4ms8RcU9yrhX7RyzKPs6DSVEkT73tvDj29yiGHEXf"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EtherCollateralpUSD.sol": "EtherCollateralpUSD"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"EtherCollateralpUSD.sol": {
						"keccak256": "0x280dc411c3a778167b92dc9d10a4eaad5ddc43f76f991d62425ee67bb6d8bb56",
						"urls": [
							"bzz-raw://8abd3af89a0a0d16c73e43a9d1198e3395ba8bd8a8f0cfce9fa0a733ac9906a8",
							"dweb:/ipfs/QmW5u4ms8RcU9yrhX7RyzKPs6DSVEkT73tvDj29yiGHEXf"
						]
					}
				},
				"version": 1
			}
		},
		"PynthUtil": {
			"bytecode": "608060405234801561001057600080fd5b506040516113e63803806113e68339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055611381806100656000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063ca2577e111610050578063ca2577e1146101db578063d18ab37614610219578063d55415231461023d57610072565b80632ebf118b14610077578063597ece84146100cf578063b2637a91146101d3575b600080fd5b61007f6102de565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100bb5781810151838201526020016100a3565b505050509050019250505060405180910390f35b6100f5600480360360208110156100e557600080fd5b50356001600160a01b03166105a0565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013d578181015183820152602001610125565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017c578181015183820152602001610164565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bb5781810151838201526020016101a3565b50505050905001965050505050505060405180910390f35b6100f5610937565b610207600480360360408110156101f157600080fd5b506001600160a01b038135169060200135610cb0565b60408051918252519081900360200190f35b610221610f60565b604080516001600160a01b039092168252519081900360200190f35b610245610f6f565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610289578181015183820152602001610271565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156102c85781810151838201526020016102b0565b5050505090500194505050505060405180910390f35b606060006102ea6111db565b905060006102f66112ac565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561033357600080fd5b505afa158015610347573d6000803e3d6000fd5b505050506040513d602081101561035d57600080fd5b505160408051828152602080840282010190915290915060609082801561038e578160200160208202803883390190505b50905060005b82811015610597576000856001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103e257600080fd5b505afa1580156103f6573d6000803e3d6000fd5b505050506040513d602081101561040c57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038088169263af3aea86929185169163dbd06c85916004808301926020929190829003018186803b15801561045c57600080fd5b505afa158015610470573d6000803e3d6000fd5b505050506040513d602081101561048657600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526004810192909252516024808301926020929190829003018186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d602081101561050757600080fd5b50511561058e57806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561054757600080fd5b505afa15801561055b573d6000803e3d6000fd5b505050506040513d602081101561057157600080fd5b5051835184908490811061058157fe5b6020026020010181815250505b50600101610394565b50935050505090565b606080606060006105af6111db565b905060006105bb6112ac565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105f857600080fd5b505afa15801561060c573d6000803e3d6000fd5b505050506040513d602081101561062257600080fd5b5051604080518281526020808402820101909152909150606090828015610653578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610682578160200160208202803883390190505b5090506060836040519080825280602002602001820160405280156106b1578160200160208202803883390190505b50905060005b84811015610926576000876001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561070557600080fd5b505afa158015610719573d6000803e3d6000fd5b505050506040513d602081101561072f57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b15801561077557600080fd5b505afa158015610789573d6000803e3d6000fd5b505050506040513d602081101561079f57600080fd5b505185518690849081106107af57fe5b602002602001018181525050806001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561081157600080fd5b505afa158015610825573d6000803e3d6000fd5b505050506040513d602081101561083b57600080fd5b5051845185908490811061084b57fe5b602002602001018181525050866001600160a01b031663654a60ac86848151811061087257fe5b602002602001015186858151811061088657fe5b6020026020010151631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156108d857600080fd5b505afa1580156108ec573d6000803e3d6000fd5b505050506040513d602081101561090257600080fd5b5051835184908490811061091257fe5b6020908102919091010152506001016106b7565b509199909850909650945050505050565b606080606060006109466111db565b905060006109526112ac565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561098f57600080fd5b505afa1580156109a3573d6000803e3d6000fd5b505050506040513d60208110156109b957600080fd5b50516040805182815260208084028201019091529091506060908280156109ea578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610a19578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610a48578160200160208202803883390190505b50905060005b84811015610ca0576000876001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a9c57600080fd5b505afa158015610ab0573d6000803e3d6000fd5b505050506040513d6020811015610ac657600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b158015610b0c57600080fd5b505afa158015610b20573d6000803e3d6000fd5b505050506040513d6020811015610b3657600080fd5b50518551869084908110610b4657fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8b57600080fd5b505afa158015610b9f573d6000803e3d6000fd5b505050506040513d6020811015610bb557600080fd5b50518451859084908110610bc557fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610bec57fe5b6020026020010151868581518110610c0057fe5b6020026020010151631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610c5257600080fd5b505afa158015610c66573d6000803e3d6000fd5b505050506040513d6020811015610c7c57600080fd5b50518351849084908110610c8c57fe5b602090810291909101015250600101610a4e565b5091975095509350505050909192565b600080610cbb6111db565b90506000610cc76112ac565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0457600080fd5b505afa158015610d18573d6000803e3d6000fd5b505050506040513d6020811015610d2e57600080fd5b5051905060005b81811015610f56576000846001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d8357600080fd5b505afa158015610d97573d6000803e3d6000fd5b505050506040513d6020811015610dad57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038087169263654a60ac929185169163dbd06c85916004808301926020929190829003018186803b158015610dfd57600080fd5b505afa158015610e11573d6000803e3d6000fd5b505050506040513d6020811015610e2757600080fd5b5051604080517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038d811660048301529151918616916370a0823191602480820192602092909190829003018186803b158015610e8c57600080fd5b505afa158015610ea0573d6000803e3d6000fd5b505050506040513d6020811015610eb657600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526024830191909152604482018b9052516064808301926020929190829003018186803b158015610f1c57600080fd5b505afa158015610f30573d6000803e3d6000fd5b505050506040513d6020811015610f4657600080fd5b5051959095019450600101610d35565b5050505092915050565b6000546001600160a01b031681565b6060806060610f7c6111db565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015610fb457600080fd5b505afa158015610fc8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610ff157600080fd5b810190808051604051939291908464010000000082111561101157600080fd5b90830190602082018581111561102657600080fd5b825186602082028301116401000000008211171561104357600080fd5b82525081516020918201928201910280838360005b83811015611070578181015183820152602001611058565b505050509050016040525050509050806110886112ac565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156110e65781810151838201526020016110ce565b505050509050019250505060006040518083038186803b15801561110957600080fd5b505afa15801561111d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561114657600080fd5b810190808051604051939291908464010000000082111561116657600080fd5b90830190602082018581111561117b57600080fd5b825186602082028301116401000000008211171561119857600080fd5b82525081516020918201928201910280838360005b838110156111c55781810151838201526020016111ad565b5050505090500160405250505092509250509091565b600080546040805163dacb2d0160e01b81527f4973737565720000000000000000000000000000000000000000000000000000600482015260248101829052601660448201527f4d697373696e6720497373756572206164647265737300000000000000000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561127b57600080fd5b505afa15801561128f573d6000803e3d6000fd5b505050506040513d60208110156112a557600080fd5b5051905090565b600080546040805163dacb2d0160e01b81527f45786368616e6765526174657300000000000000000000000000000000000000600482015260248101829052601d60448201527f4d697373696e672045786368616e676552617465732061646472657373000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561127b57600080fdfea265627a7a72315820e4eff0c9fadc922161ab213739f68c79c5a2831407e40bf8ec7ab4a7f464035264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "addressResolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd18ab376"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "frozenPynths",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ebf118b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "pynthsBalances",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x597ece84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsRates",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd5541523"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsTotalSupplies",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2637a91"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalPynthsInKey",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xca2577e1"
				}
			],
			"source": {
				"keccak256": "0x4a4600594059428ff7711d4d042ac0559e83d301e49d68e67a9d7f90846686d2",
				"urls": [
					"bzz-raw://a36a61cc01f10ae01da9542b98c776b95f0596b7221aa2e4d59b873e4eebb796",
					"dweb:/ipfs/QmNWYMq8zS52qtRenuP9kkYQaBDWLAxbEjvD8mCQkiAe8Y"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PynthUtil.sol": "PynthUtil"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"PynthUtil.sol": {
						"keccak256": "0x4a4600594059428ff7711d4d042ac0559e83d301e49d68e67a9d7f90846686d2",
						"urls": [
							"bzz-raw://a36a61cc01f10ae01da9542b98c776b95f0596b7221aa2e4d59b873e4eebb796",
							"dweb:/ipfs/QmNWYMq8zS52qtRenuP9kkYQaBDWLAxbEjvD8mCQkiAe8Y"
						]
					}
				},
				"version": 1
			}
		},
		"DappMaintenance": {
			"bytecode": "60806040526001805461ffff60a01b1916905534801561001e57600080fd5b506040516106fb3803806106fb8339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106db8339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106db8339815191529281900390910190a150610544806101976000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80638da5cb5b11610076578063b33a5a001161005b578063b33a5a001461013f578063c65a0ea21461015e578063ee02f27c14610166576100a3565b80638da5cb5b1461011b57806393c2212514610123576100a3565b80631627540c146100a85780631d008652146100d057806353a47bb7146100ef57806379ba509714610113575b600080fd5b6100ce600480360360208110156100be57600080fd5b50356001600160a01b0316610185565b005b6100ce600480360360208110156100e657600080fd5b503515156101ee565b6100f761028d565b604080516001600160a01b039092168252519081900360200190f35b6100ce61029c565b6100f7610365565b61012b610374565b604080519115158252519081900360200190f35b6100ce6004803603602081101561015557600080fd5b50351515610384565b61012b6103ea565b6100ce6004803603602081101561017c57600080fd5b503515156103fa565b61018d610460565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6101f6610460565b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146102e55760405162461bcd60e51b81526004018080602001828103825260358152602001806104ac6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b61038c610460565b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b610402610460565b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6000546001600160a01b031633146104a95760405162461bcd60e51b815260040180806020018281038252602f8152602001806104e1602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820a76d15f03d471907bfd746bcdd32447995021746bd4db67b6d34c2d4ed4274a064736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "SXMaintenance",
					"type": "event",
					"signature": "0x5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "StakingMaintenance",
					"type": "event",
					"signature": "0x628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedSX",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x93c22125"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedStaking",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc65a0ea2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d008652"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeSX",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee02f27c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeStaking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb33a5a00"
				}
			],
			"source": {
				"keccak256": "0x9811497c0a78b1c309d402a1a99da3716879031472d0e6507adc577a8dce08b7",
				"urls": [
					"bzz-raw://0fc6293d2deefe796e77ab4c54756e8c7a0b8f57c411d436874125e5c7a2b963",
					"dweb:/ipfs/QmVb7wQqLnBiuZhtwRWjxFjCtVZvftAtLe9dX48SUkNXBg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DappMaintenance.sol": "DappMaintenance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"DappMaintenance.sol": {
						"keccak256": "0x9811497c0a78b1c309d402a1a99da3716879031472d0e6507adc577a8dce08b7",
						"urls": [
							"bzz-raw://0fc6293d2deefe796e77ab4c54756e8c7a0b8f57c411d436874125e5c7a2b963",
							"dweb:/ipfs/QmVb7wQqLnBiuZhtwRWjxFjCtVZvftAtLe9dX48SUkNXBg"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManagerState": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620011f8380380620011f8833981016040819052620000349162000190565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f906200029d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000265565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f906200028b565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200013690839062000255565b60405180910390a150506004805460018101825560009182527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555042600555620002f8565b80516200018a81620002de565b92915050565b60008060408385031215620001a457600080fd5b6000620001b285856200017d565b9250506020620001c5858286016200017d565b9150509250929050565b620001da81620002ca565b82525050565b620001da81620002b8565b6000620001fa601183620002af565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000229601983620002af565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200018a8284620001e0565b60408101620002758285620001cf565b620002846020830184620001e0565b9392505050565b602080825281016200018a81620001eb565b602080825281016200018a816200021a565b90815260200190565b60006001600160a01b0382166200018a565b60006200018a8260006200018a82620002b8565b620002e981620002b8565b8114620002f557600080fd5b50565b610ef080620003086000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638da5cb5b11610104578063d2f00475116100a2578063e50a31b311610071578063e50a31b31461038f578063eb94bbde146103a2578063ed039154146103b5578063f53037b6146103c8576101cf565b8063d2f0047514610335578063d3a7120214610348578063e31f27c114610369578063e32261fe1461037c576101cf565b8063aefc4ccb116100de578063aefc4ccb146102ff578063af07aa9d14610307578063b52e0dc81461031a578063cc952b571461032d576101cf565b80638da5cb5b146102d1578063a0356f6e146102d9578063a29fe7b8146102ec576101cf565b806352f445ca116101715780636431e0bd1161014b5780636431e0bd146102a6578063781dc0e2146102b957806379ba5097146102c15780638c582503146102c9576101cf565b806352f445ca1461026b57806353a47bb71461027e5780635537479914610293576101cf565b806322e07b7a116101ad57806322e07b7a14610235578063246206391461023d578063381c5cb5146102505780635246f2b914610258576101cf565b806303f048b0146101d45780631627540c14610200578063173fcb4114610215575b600080fd5b6101e76101e2366004610b97565b6103db565b6040516101f79493929190610e38565b60405180910390f35b61021361020e366004610b71565b610415565b005b610228610223366004610bb5565b610480565b6040516101f79190610e0f565b6102286104ae565b61021361024b366004610bb5565b6104b4565b61022861051a565b610213610266366004610bb5565b610521565b610213610279366004610b71565b610586565b6102866105e6565b6040516101f79190610d96565b6102286102a1366004610b97565b6105f5565b6102136102b4366004610b97565b610607565b61022861064b565b610213610651565b6102286106fa565b610286610745565b6102286102e7366004610b97565b610754565b6102286102fa366004610b97565b610766565b610286610784565b6101e7610315366004610bb5565b610793565b610228610328366004610b97565b6107d3565b6102286107f4565b610228610343366004610b97565b6107fa565b61035b610356366004610b97565b61083a565b6040516101f7929190610e1d565b610213610377366004610bb5565b610853565b61022861038a366004610b97565b61089f565b61021361039d366004610bb5565b6108e2565b6102136103b0366004610bb5565b610941565b6102136103c3366004610b97565b61098a565b6102136103d6366004610b97565b6109fd565b6000806000806103e961051a565b90506103f4856107d3565b9350610402600182036107d3565b925061040c61064b565b91509193509193565b61041d610a60565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610475908390610d96565b60405180910390a150565b6006602052816000526040600020818154811061049957fe5b90600052602060002001600091509150505481565b60055481565b6002546001600160a01b031633146104e75760405162461bcd60e51b81526004016104de90610dff565b60405180910390fd5b60008281526006602090815260408083208054600181018255908452828420019390935592815260079092529020429055565b6004545b90565b6002546001600160a01b0316331461054b5760405162461bcd60e51b81526004016104de90610dff565b60008281526008602052604090206001015461056d908263ffffffff610a8c16565b6000928352600860205260409092206001019190915550565b61058e610a60565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610475908390610d96565b6001546001600160a01b031681565b60076020526000908152604090205481565b6002546001600160a01b031633146106315760405162461bcd60e51b81526004016104de90610dff565b600081815260066020526040812061064891610b24565b50565b60055490565b6001546001600160a01b0316331461067b5760405162461bcd60e51b81526004016104de90610dbf565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926106be926001600160a01b0391821692911690610da4565b60405180910390a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6002546000906001600160a01b031633146107275760405162461bcd60e51b81526004016104de90610dff565b60035461073b90600163ffffffff610ab916565b6003819055905090565b6000546001600160a01b031681565b60009081526006602052604090205490565b6004818154811061077357fe5b600091825260209091200154905081565b6002546001600160a01b031681565b6000806000806107a286610754565b90506107ae8686610ae5565b93506107bd8660018303610ae5565b92506107c886610b12565b915092959194509250565b6000600482815481106107e257fe5b90600052602060002001549050919050565b60035481565b6002546000906001600160a01b031633146108275760405162461bcd60e51b81526004016104de90610dff565b5060009081526008602052604090205490565b6008602052600090815260409020805460019091015482565b6002546001600160a01b0316331461087d5760405162461bcd60e51b81526004016104de90610dff565b60008281526008602052604090206001015461056d908263ffffffff610ab916565b6002546000906001600160a01b031633146108cc5760405162461bcd60e51b81526004016104de90610dff565b5060009081526008602052604090206001015490565b6002546001600160a01b0316331461090c5760405162461bcd60e51b81526004016104de90610dff565b60008281526008602052604090205461092b908263ffffffff610a8c16565b6000928352600860205260409092209190915550565b6002546001600160a01b0316331461096b5760405162461bcd60e51b81526004016104de90610dff565b60008281526008602052604090205461092b908263ffffffff610ab916565b6002546001600160a01b031633146109b45760405162461bcd60e51b81526004016104de90610dff565b600081815260066020526040902054156109cd57610648565b60008181526006602090815260408083208054600181018255908452828420018390559282526007905220429055565b6002546001600160a01b03163314610a275760405162461bcd60e51b81526004016104de90610dff565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b015542600555565b6000546001600160a01b03163314610a8a5760405162461bcd60e51b81526004016104de90610def565b565b600082821115610aae5760405162461bcd60e51b81526004016104de90610ddf565b508082035b92915050565b600082820183811015610ade5760405162461bcd60e51b81526004016104de90610dcf565b9392505050565b6000828152600660205260408120805483908110610aff57fe5b9060005260206000200154905092915050565b60009081526007602052604090205490565b5080546000825590600052602060002090810190610648919061051e91905b80821115610b575760008155600101610b43565b5090565b8035610ab381610e90565b8035610ab381610ea4565b600060208284031215610b8357600080fd5b6000610b8f8484610b5b565b949350505050565b600060208284031215610ba957600080fd5b6000610b8f8484610b66565b60008060408385031215610bc857600080fd5b6000610bd48585610b66565b9250506020610be585828601610b66565b9150509250929050565b610bf881610e7f565b82525050565b6000610c0b603583610e76565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000610c6a601b83610e76565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610ca3601e83610e76565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610cdc602f83610e76565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000610d3b603483610e76565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e81527f20706572666f726d207468697320616374696f6e000000000000000000000000602082015260400192915050565b610bf88161051e565b60208101610ab38284610bef565b60408101610db28285610bef565b610ade6020830184610bef565b60208082528101610ab381610bfe565b60208082528101610ab381610c5d565b60208082528101610ab381610c96565b60208082528101610ab381610ccf565b60208082528101610ab381610d2e565b60208101610ab38284610d8d565b60408101610e2b8285610d8d565b610ade6020830184610d8d565b60808101610e468287610d8d565b610e536020830186610d8d565b610e606040830185610d8d565b610e6d6060830184610d8d565b95945050505050565b90815260200190565b60006001600160a01b038216610ab3565b610e9981610e7f565b811461064857600080fd5b610e998161051e56fea365627a7a72315820b81646be32387ad52bc0e19aeb842eff569cf4f89d19815443fd324d113486c36c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "addShortCurrency",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xed039154"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "borrowRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa29fe7b8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "borrowRatesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22e07b7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe50a31b3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5246f2b9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRateAt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb52e0dc8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03f048b0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRatesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x381c5cb5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getShortRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf07aa9d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "getShortRatesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0356f6e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xeb94bbde"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe31f27c1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalLoans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8c582503"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "long",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd2f00475"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ratesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x781dc0e2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "removeShortCurrency",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6431e0bd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "short",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32261fe"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "shortRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x173fcb41"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortRatesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55374799"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "long",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "short",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3a71202"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcc952b57"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateBorrowRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf53037b6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateShortRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24620639"
				}
			],
			"source": {
				"keccak256": "0x58b37a3e042efb143786c43a0eb9ad09f854d1aa364941e14f2daafbf55227d9",
				"urls": [
					"bzz-raw://3e6c4a5b2d3dd3517f0bb4a4808f798a041e7adb040fbff009998abe5dd98ce7",
					"dweb:/ipfs/QmaANtLNCMXHuWwMbDv6CszyTEDJYFdCbZpS4eh3yNeKKN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralManagerState.sol": "CollateralManagerState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"CollateralManagerState.sol": {
						"keccak256": "0x58b37a3e042efb143786c43a0eb9ad09f854d1aa364941e14f2daafbf55227d9",
						"urls": [
							"bzz-raw://3e6c4a5b2d3dd3517f0bb4a4808f798a041e7adb040fbff009998abe5dd98ce7",
							"dweb:/ipfs/QmaANtLNCMXHuWwMbDv6CszyTEDJYFdCbZpS4eh3yNeKKN"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManager": {
			"bytecode": "670de0b6b3a7640000600e5560c06040526524b9b9bab2b960d11b60809081526c45786368616e6765526174657360981b60a052620000439060129060026200030a565b503480156200005157600080fd5b5060405162003e2f38038062003e2f83398101604081905262000074916200039a565b83856001600160a01b038116620000a85760405162461bcd60e51b81526004016200009f90620005a9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000f59184906200054d565b60405180910390a1506000546001600160a01b0316620001295760405162461bcd60e51b81526004016200009f9062000597565b60038054610100600160a81b0319166101006001600160a01b039384160217905560008054336001600160a01b031991821617909155600580549091169188169190911790556200017a83620001cf565b6200018e826001600160e01b036200024716565b620001a2816001600160e01b036200029116565b5050600080546001600160a01b0319166001600160a01b0394909416939093179092555062000637915050565b620001e26001600160e01b03620002db16565b60008111620002055760405162461bcd60e51b81526004016200009f9062000573565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906200023c908390620005bb565b60405180910390a150565b6200025a6001600160e01b03620002db16565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906200023c908390620005bb565b620002a46001600160e01b03620002db16565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906200023c908390620005bb565b6000546001600160a01b03163314620003085760405162461bcd60e51b81526004016200009f9062000585565b565b82601881019282156200033b579160200282015b828111156200033b5782518255916020019190600101906200031e565b50620003499291506200034d565b5090565b6200036a91905b8082111562000349576000815560010162000354565b90565b80516200037a8162000607565b92915050565b80516200037a8162000621565b80516200037a816200062c565b60008060008060008060c08789031215620003b457600080fd5b6000620003c2898962000380565b9650506020620003d589828a016200036d565b9550506040620003e889828a016200036d565b9450506060620003fb89828a016200038d565b93505060806200040e89828a016200038d565b92505060a06200042189828a016200038d565b9150509295509295509295565b6200043981620005fa565b82525050565b6200043981620005d4565b600062000459601683620005cb565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b600062000494602f83620005cb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000620004e7601183620005cb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000516601983620005cb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b62000439816200036a565b604081016200055d82856200042e565b6200056c60208301846200043f565b9392505050565b602080825281016200037a816200044a565b602080825281016200037a8162000485565b602080825281016200037a81620004d8565b602080825281016200037a8162000507565b602081016200037a828462000542565b90815260200190565b60006200037a82620005ee565b60006200037a82620005d4565b6001600160a01b031690565b60006200037a82620005e1565b6200061281620005d4565b81146200061e57600080fd5b50565b6200061281620005e1565b62000612816200036a565b6137e880620006476000396000f3fe608060405234801561001057600080fd5b50600436106103365760003560e01c80638da5cb5b116101b2578063c9e18015116100f9578063e32261fe116100a2578063ee81f7901161007c578063ee81f7901461064c578063f53037b61461065f578063fb5aa1e114610672578063ffa749cd1461068557610336565b8063e32261fe14610613578063e50a31b314610626578063eb94bbde1461063957610336565b8063d0064c00116100d3578063d0064c00146105e5578063d2f00475146105ed578063e31f27c11461060057610336565b8063c9e18015146105b7578063cc7ae663146105bf578063cd285020146105d257610336565b8063b3b467321161015b578063bbb601cd11610135578063bbb601cd14610594578063bf386682146105a7578063c19d93fb146105af57610336565b8063b3b4673214610563578063b4d6cb401461056b578063ba1c5e801461058c57610336565b8063ad79a8581161018c578063ad79a85814610535578063af07aa9d1461053d578063b38988f71461055057610336565b80638da5cb5b1461051257806391b4ded91461051a5780639f7eac371461052257610336565b80634db7764c116102815780636526941b1161022a578063744d646e11610204578063744d646e146104cf57806379ba5097146104e2578063899ffef4146104ea5780638b173e81146104ff57610336565b80636526941b146104a15780637060f9e8146104b457806374185360146104c757610336565b806355bd615c1161025b57806355bd615c1461047e5780635c975abb14610491578063614d08f81461049957610336565b80634db7764c146104415780635246f2b91461045657806353a47bb71461046957610336565b806316c38b3c116102e35780632af64bd3116102bd5780632af64bd3146104135780632e5de3891461041b57806342e32f131461042e57610336565b806316c38b3c146103d75780631e33fc6b146103ea578063246206391461040057610336565b80630c9c81a1116103145780630c9c81a1146103915780630e54a19b146103a45780631627540c146103c457610336565b806303f048b01461033b57806304f3bcec146103675780630692b1701461037c575b600080fd5b61034e610349366004612faa565b610698565b60405161035e9493929190613689565b60405180910390f35b61036f610749565b60405161035e91906135ca565b61038f61038a366004612ec5565b61075d565b005b61038f61039f366004612faa565b6108e1565b6103b76103b2366004612f35565b610929565b60405161035e9190613514565b61038f6103d2366004612e12565b6109da565b61038f6103e5366004612f6e565b610a2d565b6103f2610aa2565b60405161035e929190613559565b61038f61040e366004612fe6565b610d95565b6103b7610e41565b61038f610429366004612f35565b610f77565b6103b761043c366004612faa565b611046565b61044961105d565b60405161035e919061353d565b61038f610464366004612fe6565b611063565b6104716110d8565b60405161035e91906134da565b61038f61048c366004612f35565b6110e7565b6103b76111a3565b6104496111ac565b61038f6104af366004612faa565b6111d0565b6104496104c2366004612faa565b61122d565b61038f61123f565b6103b76104dd366004612e90565b611395565b61038f6113dd565b6104f2611479565b60405161035e9190613503565b61038f61050d366004612faa565b611631565b61047161166e565b61044961167d565b61038f610530366004612faa565b611683565b6103f26116b0565b61034e61054b366004612fe6565b611891565b6103b761055e366004612e12565b611945565b61044961195e565b61057e610579366004612fe6565b611a17565b60405161035e929190613522565b6103f2611b0a565b61038f6105a2366004612e4e565b611c2d565b610449611d0d565b61036f611d13565b610449611d22565b61038f6105cd366004612e4e565b611d28565b6104496105e0366004612faa565b611f11565b610449611f23565b6104496105fb366004612faa565b611f29565b61038f61060e366004612fe6565b611faa565b610449610621366004612faa565b61201f565b61038f610634366004612fe6565b612050565b61038f610647366004612fe6565b6120c5565b6103f261065a366004612faa565b61213a565b61038f61066d366004612faa565b612454565b6103b7610680366004612f35565b6124fd565b61038f610693366004612e4e565b612648565b6005546040517f03f048b00000000000000000000000000000000000000000000000000000000081526000918291829182916001600160a01b03909116906303f048b0906106ea90889060040161353d565b60806040518083038186803b15801561070257600080fd5b505afa158015610716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061073a9190810190613050565b92989197509550909350915050565b60035461010090046001600160a01b031681565b610765612701565b82811461078d5760405162461bcd60e51b8152600401610784906135e9565b60405180910390fd5b60005b838110156108d25760008585838181106107a657fe5b9050604002016000600281106107b857fe5b6020020135905060008686848181106107cd57fe5b9050604002016001600281106107df57fe5b602002013590506107f7600b8363ffffffff61272d16565b6108c85761080c600b8363ffffffff61277d16565b6000828152600d602052604090819020829055517f228eebae23ce843c98c840591345820f72bfe22ac0ba807deebe0ee7d467ebd39061084d90849061353d565b60405180910390a16005546001600160a01b031663ed03915486868681811061087257fe5b905060200201356040518263ffffffff1660e01b8152600401610895919061353d565b600060405180830381600087803b1580156108af57600080fd5b505af11580156108c3573d6000803e3d6000fd5b505050505b5050600101610790565b506108db61123f565b50505050565b6108e9612701565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec020557392470049061091e90839061353d565b60405180910390a150565b600854600090841461093d575060006109d2565b60005b848110156109cc5761096e86868381811061095757fe5b90506020020135600861272d90919063ffffffff16565b61097c5760009150506109d2565b85858281811061098857fe5b90506020020135600a600086868581811061099f57fe5b90506020020135815260200190815260200160002054146109c45760009150506109d2565b600101610940565b50600190505b949350505050565b6109e2612701565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061091e9083906134da565b610a35612701565b60035460ff1615158115151415610a4b57610a9f565b6003805460ff1916821515179081905560ff1615610a6857426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59161091e9160ff90911690613514565b50565b60088054604080516020808402820181019092528281526000938493606093830182828015610af057602002820191906000526020600020905b815481526020019060010190808311610adc575b50505050509050600081511115610d905760005b8151811015610d8e576000610b2b838381518110610b1e57fe5b60200260200101516127b5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6357600080fd5b505afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9b9190810190612fc8565b9050631c1554d160e21b811415610c425760055460405163d2f0047560e01b8152610c3b916001600160a01b03169063d2f0047590610bde90859060040161353d565b60206040518083038186803b158015610bf657600080fd5b505afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c2e9190810190612fc8565b869063ffffffff6127c016565b9450610d85565b600080610c4d6127ec565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610c78919061353d565b604080518083038186803b158015610c8f57600080fd5b505afa158015610ca3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cc79190810190613020565b60055460405163d2f0047560e01b8152929450909250600091610d629185916001600160a01b039091169063d2f0047590610d0690899060040161353d565b60206040518083038186803b158015610d1e57600080fd5b505afa158015610d32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d569190810190612fc8565b9063ffffffff61280c16565b9050610d74888263ffffffff6127c016565b97508115610d8157600196505b5050505b50600101610b04565b505b509091565b6000610da033611945565b905080610dbf5760405162461bcd60e51b815260040161078490613679565b6005546040517f246206390000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632462063990610e0a9086908690600401613587565b600060405180830381600087803b158015610e2457600080fd5b505af1158015610e38573d6000803e3d6000fd5b50505050505050565b60006060610e4d611479565b905060005b8151811015610f6d576000828281518110610e6957fe5b60209081029190910181015160008181526004928390526040908190205460035491517f21f8a7210000000000000000000000000000000000000000000000000000000081529294506001600160a01b039081169361010090920416916321f8a72191610ed89186910161353d565b60206040518083038186803b158015610ef057600080fd5b505afa158015610f04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f289190810190612e30565b6001600160a01b0316141580610f5357506000818152600460205260409020546001600160a01b0316155b15610f645760009350505050610f74565b50600101610e52565b5060019150505b90565b610f7f612701565b60005b8381101561103f57610f9985858381811061095757fe5b1561103757610fc4858583818110610fad57fe5b90506020020135600861283690919063ffffffff16565b600a6000848484818110610fd457fe5b905060200201358152602001908152602001600020600090557f7ff80d3b3127593365b40f9f83c5c8739a8d47febe308d40e9390839b5335cf185858381811061101a57fe5b9050602002013560405161102e919061353d565b60405180910390a15b600101610f82565b5050505050565b6000818152600a602052604090205415155b919050565b60115481565b600061106e33611945565b90508061108d5760405162461bcd60e51b815260040161078490613679565b6005546040517f5246f2b90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690635246f2b990610e0a9086908690600401613587565b6001546001600160a01b031681565b6110ef612701565b60005b8381101561103f5761110985858381811061095757fe5b61119b57600085858381811061111b57fe5b90506020020135905061113881600861277d90919063ffffffff16565b80600a600086868681811061114957fe5b905060200201358152602001908152602001600020819055507fab4de7cb0edc2a9cbd9d540b749091def16b96cfc8a28853eba7fd3d74f7184081604051611191919061353d565b60405180910390a1505b6001016110f2565b60035460ff1681565b7f436f6c6c61746572616c4d616e6167657200000000000000000000000000000081565b6111d8612701565b600081116111f85760405162461bcd60e51b815260040161078490613649565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f9061091e90839061353d565b600d6020526000908152604090205481565b6060611249611479565b905060005b815181101561139157600082828151811061126557fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016112a791906134cf565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016112d3929190613567565b60206040518083038186803b1580156112eb57600080fd5b505afa1580156112ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113239190810190612e30565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061137f908490849061354b565b60405180910390a1505060010161124e565b5050565b6000805b82518110156113d4576113be8382815181106113b157fe5b6020026020010151611945565b6113cc576000915050611058565b600101611399565b50600192915050565b6001546001600160a01b031633146114075760405162461bcd60e51b8152600401610784906135f9565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261144a926001600160a01b03918216929116906134e8565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160028082526060808301845292839291906020830190803883390190505090506524b9b9bab2b960d11b816000815181106114b457fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106114de57fe5b6020908102919091010152600b5460609080156115b25780600202604051908082528060200260200182016040528015611522578160200160208202803883390190505b50915060005b818110156115b057600b80548290811061153e57fe5b906000526020600020015483828151811061155557fe5b602002602001018181525050600d6000600b600001838154811061157557fe5b9060005260206000200154815260200190815260200160002054838383018151811061159d57fe5b6020908102919091010152600101611528565b505b600880546040805160208084028201810190925282815260609361160b93879383018282801561160157602002820191906000526020600020905b8154815260200190600101908083116115ed575b505050505061290a565b8051909150156116265761161f818561290a565b945061162a565b8394505b5050505090565b611639612701565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc99061091e90839061353d565b6000546001600160a01b031681565b60025481565b61168b612701565b600081116116ab5760405162461bcd60e51b815260040161078490613649565b600e55565b600b80546040805160208084028201810190925282815260009384936060938301828280156116fe57602002820191906000526020600020905b8154815260200190600101908083116116ea575b50505050509050600081511115610d905760005b8151811015610d8e57600061172c838381518110610b1e57fe5b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561176457600080fd5b505afa158015611778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061179c9190810190612fc8565b90506000806117a96127ec565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016117d4919061353d565b604080518083038186803b1580156117eb57600080fd5b505afa1580156117ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118239190810190613020565b60055460405163719130ff60e11b81529294509092506000916118629185916001600160a01b039091169063e32261fe90610d0690899060040161353d565b9050611874888263ffffffff6127c016565b9750811561188157600196505b5050600190920191506117129050565b6005546040517faf07aa9d0000000000000000000000000000000000000000000000000000000081526000918291829182916001600160a01b039091169063af07aa9d906118e59089908990600401613587565b60806040518083038186803b1580156118fd57600080fd5b505afa158015611911573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119359190810190613050565b9299919850965090945092505050565b600061195860068363ffffffff6129c616565b92915050565b60008061196a33611945565b9050806119895760405162461bcd60e51b815260040161078490613679565b600560009054906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156119d957600080fd5b505af11580156119ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a119190810190612fc8565b91505090565b6000806000611a246127ec565b6001600160a01b031663654a60ac8587631c1554d160e21b6040518463ffffffff1660e01b8152600401611a5a939291906135a2565b60206040518083038186803b158015611a7257600080fd5b505afa158015611a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aaa9190810190612fc8565b9050600080611ab7610aa2565b91509150600080611ac66116b0565b915091508280611ad35750805b600f54909650611af986611aed878663ffffffff6127c016565b9063ffffffff6127c016565b1115965050505050505b9250929050565b6000806000611b17612a33565b6001600160a01b031663f023e8db631c1554d160e21b60016040518363ffffffff1660e01b8152600401611b4c929190613559565b604080518083038186803b158015611b6357600080fd5b505afa158015611b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b9b9190810190613020565b509050600080611ba9610aa2565b90925090506000611bc0848463ffffffff6127c016565b90506000611bef6a1a1a7062e5185d7e380000611be3868563ffffffff612a4716565b9063ffffffff612a4716565b90506000611c08600e548361280c90919063ffffffff16565b9050611c1f601054826127c090919063ffffffff16565b989397509295505050505050565b611c35612701565b60005b81811015611d0857611c72838383818110611c4f57fe5b9050602002016020611c649190810190612e12565b60069063ffffffff6129c616565b611d0057611ca8838383818110611c8557fe5b9050602002016020611c9a9190810190612e12565b60069063ffffffff612a7116565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f838383818110611cd557fe5b9050602002016020611cea9190810190612e12565b604051611cf791906134da565b60405180910390a15b600101611c38565b505050565b60105481565b6005546001600160a01b031681565b600e5481565b611d30612701565b60005b81811015611d0857611d61838383818110611d4a57fe5b90506020020135600b61272d90919063ffffffff16565b15611f0957611d8c838383818110611d7557fe5b90506020020135600b61283690919063ffffffff16565b6000611da9848484818110611d9d57fe5b905060200201356127b5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015611de157600080fd5b505afa158015611df5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e199190810190612fc8565b6005546040517f6431e0bd0000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690636431e0bd90611e6390849060040161353d565b600060405180830381600087803b158015611e7d57600080fd5b505af1158015611e91573d6000803e3d6000fd5b50505050600d6000858585818110611ea557fe5b905060200201358152602001908152602001600020600090557fc82c7ce2215189b78c42565fd1d25136f008aab037634d9db1f1b801ac025248848484818110611eeb57fe5b90506020020135604051611eff919061353d565b60405180910390a1505b600101611d33565b600a6020526000908152604090205481565b600f5481565b60055460405163d2f0047560e01b81526000916001600160a01b03169063d2f0047590611f5a90859060040161353d565b60206040518083038186803b158015611f7257600080fd5b505afa158015611f86573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119589190810190612fc8565b6000611fb533611945565b905080611fd45760405162461bcd60e51b815260040161078490613679565b6005546040517fe31f27c10000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063e31f27c190610e0a9086908690600401613587565b60055460405163719130ff60e11b81526000916001600160a01b03169063e32261fe90611f5a90859060040161353d565b600061205b33611945565b90508061207a5760405162461bcd60e51b815260040161078490613679565b6005546040517fe50a31b30000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063e50a31b390610e0a9086908690600401613587565b60006120d033611945565b9050806120ef5760405162461bcd60e51b815260040161078490613679565b6005546040517feb94bbde0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063eb94bbde90610e0a9086908690600401613587565b6000806000612148846127b5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561218057600080fd5b505afa158015612194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121b89190810190612fc8565b90506121c26127ec565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004016121ed919061353d565b60206040518083038186803b15801561220557600080fd5b505afa158015612219573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061223d9190810190612f8c565b9150600061224a856127b5565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561228257600080fd5b505afa158015612296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122ba9190810190612fc8565b6000868152600d6020526040812054919250906122d6906127b5565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561230e57600080fd5b505afa158015612322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123469190810190612fc8565b60055460405163719130ff60e11b81529192506000916123d29184916001600160a01b039091169063e32261fe9061238290899060040161353d565b60206040518083038186803b15801561239a57600080fd5b505afa1580156123ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aed9190810190612fc8565b9050808311156123ea57506000945061244f92505050565b60006123fc828563ffffffff612ac316565b9050600061242f6a1a1a7062e5185d7e380000611be3612422888763ffffffff6127c016565b859063ffffffff612a4716565b9050612446601154826127c090919063ffffffff16565b97505050505050505b915091565b600061245f33611945565b90508061247e5760405162461bcd60e51b815260040161078490613679565b6005546040517ff53037b60000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063f53037b6906124c790859060040161353d565b600060405180830381600087803b1580156124e157600080fd5b505af11580156124f5573d6000803e3d6000fd5b505050505050565b600083821461251e5760405162461bcd60e51b8152600401610784906135e9565b600b54841461252f575060006109d2565b60005b8481101561259657600086868381811061254857fe5b90506020020135905061256581600b61272d90919063ffffffff16565b158061257d57506000818152600d6020526040902054155b1561258d576000925050506109d2565b50600101612532565b5060005b828110156109cc576005546001600160a01b031663a0356f6e8585848181106125bf57fe5b905060200201356040518263ffffffff1660e01b81526004016125e2919061353d565b60206040518083038186803b1580156125fa57600080fd5b505afa15801561260e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126329190810190612fc8565b6126405760009150506109d2565b60010161259a565b612650612701565b60005b81811015611d085761266a838383818110611c4f57fe5b156126f9576126a183838381811061267e57fe5b90506020020160206126939190810190612e12565b60069063ffffffff612aeb16565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a5938383838181106126ce57fe5b90506020020160206126e39190810190612e12565b6040516126f091906134da565b60405180910390a15b600101612653565b6000546001600160a01b0316331461272b5760405162461bcd60e51b815260040161078490613659565b565b815460009061273e57506000611958565b6000828152600184016020526040902054801515806109d25750828460000160008154811061276957fe5b906000526020600020015414949350505050565b612787828261272d565b6113915781546000828152600180850160209081526040832084905590830185558482529020018190555050565b600061195882612c01565b6000828201838110156127e55760405162461bcd60e51b815260040161078490613609565b9392505050565b60006128076c45786368616e6765526174657360981b612c01565b905090565b6000670de0b6b3a7640000612827848463ffffffff612c5e16565b8161282e57fe5b049392505050565b612840828261272d565b61285c5760405162461bcd60e51b815260040161078490613619565b60008181526001830160205260409020548254600019018082146128ca57600084600001828154811061288b57fe5b90600052602060002001549050808560000184815481106128a857fe5b6000918252602080832090910192909255918252600186019052604090208290555b83548490806128d557fe5b600190038181906000526020600020016000905590558360010160008481526020019081526020016000206000905550505050565b6060815183510160405190808252806020026020018201604052801561293a578160200160208202803883390190505b50905060005b835181101561297c5783818151811061295557fe5b602002602001015182828151811061296957fe5b6020908102919091010152600101612940565b5060005b82518110156129bf5782818151811061299557fe5b60200260200101518282865101815181106129ac57fe5b6020908102919091010152600101612980565b5092915050565b81546000906129d757506000611958565b6001600160a01b0382166000908152600184016020526040902054801515806109d25750826001600160a01b031684600001600081548110612a1557fe5b6000918252602090912001546001600160a01b031614949350505050565b60006128076524b9b9bab2b960d11b612c01565b60006127e582612a6585670de0b6b3a764000063ffffffff612c5e16565b9063ffffffff612c9816565b612a7b82826129c6565b6113915781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b600082821115612ae55760405162461bcd60e51b815260040161078490613629565b50900390565b612af582826129c6565b612b115760405162461bcd60e51b815260040161078490613619565b6001600160a01b0381166000908152600183016020526040902054825460001901808214612bb0576000846000018281548110612b4a57fe5b60009182526020909120015485546001600160a01b0390911691508190869085908110612b7357fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b8354849080612bbb57fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60008181526004602090815260408083205490516001600160a01b039091169182151591612c31918691016134af565b604051602081830303815290604052906129bf5760405162461bcd60e51b815260040161078491906135d8565b600082612c6d57506000611958565b82820282848281612c7a57fe5b04146127e55760405162461bcd60e51b815260040161078490613669565b6000808211612cb95760405162461bcd60e51b815260040161078490613639565b6000828481612cc457fe5b04949350505050565b80356119588161377f565b80516119588161377f565b60008083601f840112612cf557600080fd5b50813567ffffffffffffffff811115612d0d57600080fd5b602083019150836020820283011115611b0357600080fd5b600082601f830112612d3657600080fd5b8135612d49612d44826136ee565b6136c7565b91508181835260208401935060208101905083856020840282011115612d6e57600080fd5b60005b83811015612d9a5781612d848882612ccd565b8452506020928301929190910190600101612d71565b5050505092915050565b60008083601f840112612db657600080fd5b50813567ffffffffffffffff811115612dce57600080fd5b602083019150836040820283011115611b0357600080fd5b803561195881613793565b805161195881613793565b80356119588161379c565b80516119588161379c565b600060208284031215612e2457600080fd5b60006109d28484612ccd565b600060208284031215612e4257600080fd5b60006109d28484612cd8565b60008060208385031215612e6157600080fd5b823567ffffffffffffffff811115612e7857600080fd5b612e8485828601612ce3565b92509250509250929050565b600060208284031215612ea257600080fd5b813567ffffffffffffffff811115612eb957600080fd5b6109d284828501612d25565b60008060008060408587031215612edb57600080fd5b843567ffffffffffffffff811115612ef257600080fd5b612efe87828801612da4565b9450945050602085013567ffffffffffffffff811115612f1d57600080fd5b612f2987828801612ce3565b95989497509550505050565b60008060008060408587031215612f4b57600080fd5b843567ffffffffffffffff811115612f6257600080fd5b612efe87828801612ce3565b600060208284031215612f8057600080fd5b60006109d28484612de6565b600060208284031215612f9e57600080fd5b60006109d28484612df1565b600060208284031215612fbc57600080fd5b60006109d28484612dfc565b600060208284031215612fda57600080fd5b60006109d28484612e07565b60008060408385031215612ff957600080fd5b60006130058585612dfc565b925050602061301685828601612dfc565b9150509250929050565b6000806040838503121561303357600080fd5b600061303f8585612e07565b925050602061301685828601612df1565b6000806000806080858703121561306657600080fd5b60006130728787612e07565b945050602061308387828801612e07565b935050604061309487828801612e07565b92505060606130a587828801612e07565b91505092959194509250565b60006130bd8383613136565b505060200190565b6130ce81613722565b82525050565b60006130df82613715565b6130e98185613719565b93506130f48361370f565b8060005b8381101561312257815161310c88826130b1565b97506131178361370f565b9250506001016130f8565b509495945050505050565b6130ce8161372d565b6130ce81610f74565b6130ce61314b82610f74565b610f74565b6130ce8161373e565b600061316482613715565b61316e8185613719565b935061317e818560208601613749565b61318781613775565b9093019392505050565b600061319e601b83613719565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006131d7603583613719565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000613236601b83613719565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061326f601383613719565b7f456c656d656e74206e6f7420696e207365742e00000000000000000000000000815260200192915050565b60006132a8601e83613719565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006132e1601a83613719565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061331a601183611058565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b6000613353601683613719565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b600061338c602f83613719565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b60006133eb602183613719565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b600061344a601983613719565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b6000613483601983611058565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006134ba8261330d565b91506134c6828461313f565b50602001919050565b60006134ba82613476565b6020810161195882846130c5565b604081016134f682856130c5565b6127e560208301846130c5565b602080825281016127e581846130d4565b60208101611958828461312d565b60408101613530828561312d565b6127e5602083018461312d565b602081016119588284613136565b604081016134f68285613136565b604081016135308285613136565b604081016135758285613136565b81810360208301526109d28184613159565b604081016135958285613136565b6127e56020830184613136565b606081016135b08286613136565b6135bd6020830185613136565b6109d26040830184613136565b602081016119588284613150565b602080825281016127e58184613159565b6020808252810161195881613191565b60208082528101611958816131ca565b6020808252810161195881613229565b6020808252810161195881613262565b602080825281016119588161329b565b60208082528101611958816132d4565b6020808252810161195881613346565b602080825281016119588161337f565b60208082528101611958816133de565b602080825281016119588161343d565b608081016136978287613136565b6136a46020830186613136565b6136b16040830185613136565b6136be6060830184613136565b95945050505050565b60405181810167ffffffffffffffff811182821017156136e657600080fd5b604052919050565b600067ffffffffffffffff82111561370557600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061195882613732565b151590565b6001600160a01b031690565b600061195882613722565b60005b8381101561376457818101518382015260200161374c565b838111156108db5750506000910152565b601f01601f191690565b61378881613722565b8114610a9f57600080fd5b6137888161372d565b61378881610f7456fea365627a7a72315820e6d4c60f5570d9383d4aab9a439eceb021cc990b263306229af964009bca75ec6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralManagerState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_maxDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_baseBorrowRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_baseShortRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "baseBorrowRate",
							"type": "uint256"
						}
					],
					"name": "BaseBorrowRateUpdated",
					"type": "event",
					"signature": "0x08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "baseShortRate",
							"type": "uint256"
						}
					],
					"name": "BaseShortRateUpdated",
					"type": "event",
					"signature": "0xe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "CollateralAdded",
					"type": "event",
					"signature": "0x7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "CollateralRemoved",
					"type": "event",
					"signature": "0xd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a593"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidationPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event",
					"signature": "0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxDebt",
							"type": "uint256"
						}
					],
					"name": "MaxDebtUpdated",
					"type": "event",
					"signature": "0x3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "PynthAdded",
					"type": "event",
					"signature": "0xab4de7cb0edc2a9cbd9d540b749091def16b96cfc8a28853eba7fd3d74f71840"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "PynthRemoved",
					"type": "event",
					"signature": "0x7ff80d3b3127593365b40f9f83c5c8739a8d47febe308d40e9390839b5335cf1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "ShortablePynthAdded",
					"type": "event",
					"signature": "0x228eebae23ce843c98c840591345820f72bfe22ac0ba807deebe0ee7d467ebd3"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "ShortablePynthRemoved",
					"type": "event",
					"signature": "0xc82c7ce2215189b78c42565fd1d25136f008aab037634d9db1f1b801ac025248"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "addCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbbb601cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[2][]",
							"name": "requiredPynthAndInverseNamesInResolver",
							"type": "bytes32[2][]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addShortablePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0692b170"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredPynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredPynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areShortablePynthsSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb5aa1e1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbf386682"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4db7764c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe50a31b3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5246f2b9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "exceedsDebtLimit",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canIssue",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb4d6cb40"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "borrowRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba1c5e80"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getNewLoanId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3b46732"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03f048b0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "getShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "shortRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "rateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee81f790"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getShortRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf07aa9d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "hasAllCollaterals",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x744d646e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "hasCollateral",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb38988f7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xeb94bbde"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe31f27c1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isPynthManaged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x42e32f13"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "long",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd2f00475"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0064c00"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthToInversePynth",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7060f9e8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "removeCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xffa749cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e5de389"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "removeShortablePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcc7ae663"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_baseBorrowRate",
							"type": "uint256"
						}
					],
					"name": "setBaseBorrowRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c9c81a1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_baseShortRate",
							"type": "uint256"
						}
					],
					"name": "setBaseShortRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8b173e81"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxDebt",
							"type": "uint256"
						}
					],
					"name": "setMaxDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6526941b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_utilisationMultiplier",
							"type": "uint256"
						}
					],
					"name": "setUtilisationMultiplier",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f7eac37"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "short",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32261fe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralManagerState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLong",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "pusdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1e33fc6b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalShort",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "pusdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xad79a858"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateBorrowRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf53037b6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateShortRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24620639"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "utilisationMultiplier",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9e18015"
				}
			],
			"source": {
				"keccak256": "0x315876830cc82f439678cbd3b753004e371c7010ca156a27a7fcb2ebfe886456",
				"urls": [
					"bzz-raw://179caec9687d126d2f848a2720ae18e1d3a8f7beaae231b3816cdab42bc39678",
					"dweb:/ipfs/QmXi7NmKFTKJPrhHjdbDDNiLJYG1h8AZkE6eGuQh8f1X3L"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralManager.sol": "CollateralManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"CollateralManager.sol": {
						"keccak256": "0x315876830cc82f439678cbd3b753004e371c7010ca156a27a7fcb2ebfe886456",
						"urls": [
							"bzz-raw://179caec9687d126d2f848a2720ae18e1d3a8f7beaae231b3816cdab42bc39678",
							"dweb:/ipfs/QmXi7NmKFTKJPrhHjdbDDNiLJYG1h8AZkE6eGuQh8f1X3L"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralState": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162000fab38038062000fab83398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b610cd980620002d26000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806379ba509711610081578063a1c515861161005b578063a1c5158614610172578063aefc4ccb14610192578063e0b6adbc1461019a576100c9565b806379ba50971461013a5780638da5cb5b1461014257806398c61c371461014a576100c9565b806352f445ca116100b257806352f445ca146100f657806353a47bb7146101095780635c33120414610127576100c9565b80631627540c146100ce57806344dce41c146100e3575b600080fd5b6100e16100dc3660046108ac565b6101ba565b005b6100e16100f136600461090c565b610218565b6100e16101043660046108ac565b610372565b6101116103c5565b60405161011e9190610b1b565b60405180910390f35b6100e161013536600461090c565b6103d4565b6100e16104ad565b610111610549565b61015d6101583660046108d2565b610558565b60405161011e99989796959493929190610b98565b6101856101803660046108d2565b6105cd565b60405161011e9190610b7b565b610111610704565b6101ad6101a83660046108ac565b610713565b60405161011e9190610b8a565b6101c261072e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061020d908390610b1b565b60405180910390a150565b6002546001600160a01b0316331461024b5760405162461bcd60e51b815260040161024290610b6b565b60405180910390fd5b6020808201516001600160a01b03166000908152600390915260408120905b815481101561036d57826000015182828154811061028457fe5b906000526020600020906009020160000154141561036557826003600085602001516001600160a01b03166001600160a01b0316815260200190815260200160002082815481106102d157fe5b6000918252602091829020835160099290920201908155908201516001820180546001600160a01b0319166001600160a01b0390921691909117905560408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e08201516007820155610100909101516008909101555b60010161026a565b505050565b61037a61072e565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039061020d908390610b1b565b6001546001600160a01b031681565b6002546001600160a01b031633146103fe5760405162461bcd60e51b815260040161024290610b6b565b602081810180516001600160a01b03908116600090815260038085526040808320805460018082018355918552969093208751600990970201958655935191850180546001600160a01b03191692909316919091179091559083015160028301556060830151908201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e0820151600782015561010090910151600890910155565b6001546001600160a01b031633146104d75760405162461bcd60e51b815260040161024290610b4b565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261051a926001600160a01b0391821692911690610b29565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6003602052816000526040600020818154811061057157fe5b60009182526020909120600990910201805460018201546002830154600384015460048501546005860154600687015460078801546008909801549699506001600160a01b03909516975092959194909360ff90931692919089565b6105d561075a565b6001600160a01b0383166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b828210156106a3576000848152602090819020604080516101208101825260098602909201805483526001808201546001600160a01b0316848601526002820154928401929092526003810154606084015260048101546080840152600581015460ff16151560a0840152600681015460c0840152600781015460e084015260080154610100830152908352909201910161060d565b509293506000925050505b81518110156106fb57838282815181106106c457fe5b60200260200101516000015114156106f3578181815181106106e257fe5b6020026020010151925050506106fe565b6001016106ae565b50505b92915050565b6002546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146107585760405162461bcd60e51b815260040161024290610b5b565b565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b80356106fe81610c6d565b80356106fe81610c84565b80356106fe81610c8d565b600061012082840312156107e857600080fd5b6107f3610120610c1e565b9050600061080184846107ca565b8252506020610812848483016107b4565b6020830152506040610826848285016107ca565b604083015250606061083a848285016107ca565b606083015250608061084e848285016107ca565b60808301525060a0610862848285016107bf565b60a08301525060c0610876848285016107ca565b60c08301525060e061088a848285016107ca565b60e08301525061010061089f848285016107ca565b6101008301525092915050565b6000602082840312156108be57600080fd5b60006108ca84846107b4565b949350505050565b600080604083850312156108e557600080fd5b60006108f185856107b4565b9250506020610902858286016107ca565b9150509250929050565b6000610120828403121561091f57600080fd5b60006108ca84846107d5565b61093481610c4e565b82525050565b61093481610c59565b61093481610c5e565b6000610959603583610c45565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b60006109b8602f83610c45565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000610a17603483610c45565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e81527f20706572666f726d207468697320616374696f6e000000000000000000000000602082015260400192915050565b8051610120830190610a7b8482610943565b506020820151610a8e602085018261092b565b506040820151610aa16040850182610943565b506060820151610ab46060850182610943565b506080820151610ac76080850182610943565b5060a0820151610ada60a085018261093a565b5060c0820151610aed60c0850182610943565b5060e0820151610b0060e0850182610943565b50610100820151610b15610100850182610943565b50505050565b602081016106fe828461092b565b60408101610b37828561092b565b610b44602083018461092b565b9392505050565b602080825281016106fe8161094c565b602080825281016106fe816109ab565b602080825281016106fe81610a0a565b61012081016106fe8284610a69565b602081016106fe8284610943565b6101208101610ba7828c610943565b610bb4602083018b61092b565b610bc1604083018a610943565b610bce6060830189610943565b610bdb6080830188610943565b610be860a083018761093a565b610bf560c0830186610943565b610c0260e0830185610943565b610c10610100830184610943565b9a9950505050505050505050565b60405181810167ffffffffffffffff81118282101715610c3d57600080fd5b604052919050565b90815260200190565b60006106fe82610c61565b151590565b90565b6001600160a01b031690565b610c7681610c4e565b8114610c8157600080fd5b50565b610c7681610c59565b610c7681610c5e56fea365627a7a723158200c4120b12c0b0ed0ce2bb25a013d0b2fa1548546824125267286cc482448cbbb6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "createLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5c331204"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNumLoans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "numLoans",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0b6adbc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "loans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "address payable",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "short",
							"type": "bool"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "interestIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastInteraction",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98c61c37"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "updateLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x44dce41c"
				}
			],
			"source": {
				"keccak256": "0x653bca85fe9e2f6bd9e0517a463a26e5ca8bd72a45525eeefc6d21b51ad04ca9",
				"urls": [
					"bzz-raw://96946c9c79d5a216f633366a9220ae50c338cc4e42f06c6ede5382a71e90f25e",
					"dweb:/ipfs/QmXHs1GVtkmgm1bvUALMaS9TZxuyHqXW8JAYtQSWDxpKUw"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralState.sol": "CollateralState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"CollateralState.sol": {
						"keccak256": "0x653bca85fe9e2f6bd9e0517a463a26e5ca8bd72a45525eeefc6d21b51ad04ca9",
						"urls": [
							"bzz-raw://96946c9c79d5a216f633366a9220ae50c338cc4e42f06c6ede5382a71e90f25e",
							"dweb:/ipfs/QmXHs1GVtkmgm1bvUALMaS9TZxuyHqXW8JAYtQSWDxpKUw"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralEth": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b506040516200606e3803806200606e8339810160408190526200004c916200016c565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f9062000294565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d59184906200026e565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b5550506001601055506200031595505050505050565b80516200014c81620002e5565b92915050565b80516200014c81620002ff565b80516200014c816200030a565b600080600080600080600060e0888a0312156200018857600080fd5b6000620001968a8a6200015f565b9750506020620001a98a828b016200013f565b9650506040620001bc8a828b016200013f565b9550506060620001cf8a828b016200013f565b9450506080620001e28a828b0162000152565b93505060a0620001f58a828b0162000152565b92505060c0620002088a828b0162000152565b91505092959891949750929550565b6200022281620002d8565b82525050565b6200022281620002af565b600062000242601983620002a6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200027e828562000217565b6200028d602083018462000228565b9392505050565b602080825281016200014c8162000233565b90815260200190565b60006200014c82620002cc565b90565b60006200014c82620002af565b6001600160a01b031690565b60006200014c82620002bf565b620002f081620002af565b8114620002fc57600080fd5b50565b620002f081620002bc565b620002f081620002bf565b615d4980620003256000396000f3fe6080604052600436106102c65760003560e01c80635eb2ad0111610179578063b562a1ab116100d6578063d2b8035a1161008a578063e74337c611610064578063e74337c614610718578063eb8e3b6514610738578063f3f437031461074d576102c6565b8063d2b8035a146106b8578063dac8cf68146106d8578063de81eda9146106f8576102c6565b8063c19d93fb116100bb578063c19d93fb14610663578063cd28502014610678578063d0ebdbe714610698576102c6565b8063b562a1ab14610639578063ba2de9bc1461064e576102c6565b80638cd2e0c71161012d57806390abb4d91161011257806390abb4d9146105e4578063925ead1114610604578063a76cdfa514610619576102c6565b80638cd2e0c7146105af5780638da5cb5b146105cf576102c6565b806379ba50971161015e57806379ba5097146105585780637e1323551461056d578063899ffef41461058d576102c6565b80635eb2ad01146105235780637418536014610543576102c6565b8063361e20861161022757806347e7ef24116101db5780634c17ace4116101c05780634c17ace4146104ce57806353a47bb7146104ee57806355bd615c14610503576102c6565b806347e7ef2414610499578063481c6a75146104ac576102c6565b8063379607f51161020c578063379607f5146104445780634065b81b14610464578063441a3e7014610479576102c6565b8063361e20861461040f57806337551ec614610424576102c6565b80630cdd1c651161027e57806315aaf4dd1161026357806315aaf4dd146103c55780631627540c146103da5780632af64bd3146103fa576102c6565b80630cdd1c65146103785780630e54a19b14610398576102c6565b80630710285c116102af5780630710285c1461030b5780630a153c971461032b5780630aebeb4e14610358576102c6565b806304f3bcec146102cb57806306c19e3f146102f6575b600080fd5b3480156102d757600080fd5b506102e061076d565b6040516102ed91906159a5565b60405180910390f35b610309610304366004614e4f565b61077c565b005b34801561031757600080fd5b50610309610326366004614d08565b61078e565b34801561033757600080fd5b5061034b610346366004614e4f565b6107d4565b6040516102ed9190615933565b34801561036457600080fd5b50610309610373366004614e31565b610910565b34801561038457600080fd5b50610309610393366004614e31565b610953565b3480156103a457600080fd5b506103b86103b3366004614d55565b610a3e565b6040516102ed9190615925565b3480156103d157600080fd5b5061034b610b00565b3480156103e657600080fd5b506103096103f5366004614c92565b610b06565b34801561040657600080fd5b506103b8610b59565b34801561041b57600080fd5b5061034b610c8a565b34801561043057600080fd5b5061034b61043f366004614e31565b610c90565b34801561045057600080fd5b5061030961045f366004614e31565b610cae565b34801561047057600080fd5b506103b8610d83565b34801561048557600080fd5b50610309610494366004614e4f565b610d8c565b6103096104a7366004614cce565b610dd0565b3480156104b857600080fd5b506104c1610ddb565b6040516102ed91906158b4565b3480156104da57600080fd5b506103096104e9366004614e31565b610dea565b3480156104fa57600080fd5b506104c1610ec6565b34801561050f57600080fd5b5061030961051e366004614d55565b610ed5565b34801561052f57600080fd5b5061030961053e366004614cce565b610f9b565b34801561054f57600080fd5b50610309610fd1565b34801561056457600080fd5b50610309611123565b34801561057957600080fd5b5061034b610588366004614e4f565b6111bf565b34801561059957600080fd5b506105a2611268565b6040516102ed9190615914565b3480156105bb57600080fd5b506103096105ca366004614d08565b6113cd565b3480156105db57600080fd5b506104c16113d9565b3480156105f057600080fd5b506103096105ff366004614dc5565b6113e8565b34801561061057600080fd5b5061034b611434565b34801561062557600080fd5b50610309610634366004614e31565b61143a565b34801561064557600080fd5b5061034b611477565b34801561065a57600080fd5b5061034b61147d565b34801561066f57600080fd5b506102e0611483565b34801561068457600080fd5b5061034b610693366004614e31565b611492565b3480156106a457600080fd5b506103096106b3366004614c92565b6114a4565b3480156106c457600080fd5b506103096106d3366004614e4f565b6114fd565b3480156106e457600080fd5b5061034b6106f3366004614e6e565b611507565b34801561070457600080fd5b506104c1610713366004614e31565b611660565b34801561072457600080fd5b5061034b610733366004614e6e565b61167b565b34801561074457600080fd5b5061034b611965565b34801561075957600080fd5b5061034b610768366004614c92565b61196b565b6002546001600160a01b031681565b610789348383600061197d565b505050565b600061079b84848461213e565b336000908152601160205260409020549091506107be908263ffffffff61250916565b3360009081526011602052604090205550505050565b6000806107df612537565b90506107e9612603565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161081a9392919061597d565b60206040518083038186803b15801561083257600080fd5b505afa158015610846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061086a9190810190614eac565b91506109086108fb8273__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b757600080fd5b505af41580156108cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108ef9190810190614eac565b9063ffffffff61250916565b839063ffffffff61261e16565b949350505050565b600061091c3383612648565b3360009081526011602052604090205490915061093f908263ffffffff61250916565b336000908152601160205260409020555050565b61095b612b13565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561099f57600080fd5b505af41580156109b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109d79190810190614eac565b81116109fe5760405162461bcd60e51b81526004016109f5906159d4565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a590610a33908390615933565b60405180910390a150565b6007546000908414610a5257506000610908565b60005b84811015610af4576000868683818110610a6b57fe5b9050602002013590508060078381548110610a8257fe5b906000526020600020015414610a9d57600092505050610908565b60078281548110610aaa57fe5b906000526020600020015460086000878786818110610ac557fe5b9050602002013581526020019081526020016000205414610aeb57600092505050610908565b50600101610a55565b50600195945050505050565b600e5481565b610b0e612b13565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610a339083906158b4565b60006060610b65611268565b905060005b8151811015610c80576000828281518110610b8157fe5b602090810291909101810151600081815260039092526040918290205460025492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a72190610beb908590600401615933565b60206040518083038186803b158015610c0357600080fd5b505afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c3b9190810190614cb0565b6001600160a01b0316141580610c6657506000818152600360205260409020546001600160a01b0316155b15610c775760009350505050610c87565b50600101610b6a565b5060019150505b90565b600c5481565b60078181548110610c9d57fe5b600091825260209091200154905081565b601080546001019081905533600090815260116020526040902054610cd9908363ffffffff612b3f16565b336000818152601160205260408082209390935591518490610cfa906158a9565b60006040518083038185875af1925050503d8060008114610d37576040519150601f19603f3d011682016040523d82523d6000602084013e610d3c565b606091505b5050905080610d5d5760405162461bcd60e51b81526004016109f590615a14565b506010548114610d7f5760405162461bcd60e51b81526004016109f590615b74565b5050565b600f5460ff1681565b6000610d988383612b67565b33600090815260116020526040902054909150610dbb908263ffffffff61250916565b33600090815260116020526040902055505050565b610d7f828234612d6a565b6006546001600160a01b031681565b610df2612b13565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3657600080fd5b505af4158015610e4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e6e9190810190614eac565b610e1002811115610e915760405162461bcd60e51b81526004016109f590615ae4565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c236190610a33908390615933565b6001546001600160a01b031681565b610edd612b13565b828114610efc5760405162461bcd60e51b81526004016109f5906159c4565b60005b83811015610f8c576000858583818110610f1557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610f6957fe5b602090810292909201358352508101919091526040016000205550600101610eff565b50610f95610fd1565b50505050565b610fa3612b13565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610fdb611268565b905060005b8151811015610d7f576000828281518110610ff757fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001611039919061589e565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161106592919061595d565b60206040518083038186803b15801561107d57600080fd5b505afa158015611091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110b59190810190614cb0565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906111119084908490615941565b60405180910390a15050600101610fe0565b6001546001600160a01b0316331461114d5760405162461bcd60e51b81526004016109f590615a04565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611190926001600160a01b03918216929116906158eb565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006112616111cc612603565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b81526004016111fd9392919061597d565b60206040518083038186803b15801561121557600080fd5b505afa158015611229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061124d9190810190614eac565b611255612f61565b9063ffffffff61261e16565b9392505050565b606080611273612ff1565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b816000815181106112b257fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106112dc57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061130257fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061132b57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160048151811061135157fe5b60200260200101818152505060606113698383613050565b90506113c58160078054806020026020016040519081016040528092919081815260200182805480156113bb57602002820191906000526020600020905b8154815260200190600101908083116113a7575b5050505050613050565b935050505090565b6107898333848461310c565b6000546001600160a01b031681565b6113f0612b13565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa291610a339160ff90911690615925565b600a5481565b611442612b13565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610a33908390615933565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b6114ac612b13565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d92610a339216906158b4565b610d7f828261342d565b600080611512612603565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b815260040161154e9392919061597d565b60206040518083038186803b15801561156657600080fd5b505afa15801561157a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061159e9190810190614eac565b905060006115aa612603565b6001600160a01b031663654a60ac85606001516115d88760c00151886080015161250990919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016115fe9392919061597d565b60206040518083038186803b15801561161657600080fd5b505afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061164e9190810190614eac565b9050610908828263ffffffff61395316565b6009602052600090815260409020546001600160a01b031681565b600080611686612537565b90506000611692612603565b6001600160a01b031663654a60ac85606001516116c08760c00151886080015161250990919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016116e69392919061597d565b60206040518083038186803b1580156116fe57600080fd5b505afa158015611712573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117369190810190614eac565b90506000611742612603565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b815260040161177e9392919061597d565b60206040518083038186803b15801561179657600080fd5b505afa1580156117aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117ce9190810190614eac565b9050600073__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561181657600080fd5b505af415801561182a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061184e9190810190614eac565b9050600061187761186a600a548561395390919063ffffffff16565b859063ffffffff612b3f16565b905060006118b06118a3600a54611897898761250990919063ffffffff16565b9063ffffffff61395316565b849063ffffffff612b3f16565b905060006118c4838363ffffffff61395316565b90506118ce612603565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b81526004016119089392919061597d565b60206040518083038186803b15801561192057600080fd5b505afa158015611934573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119589190810190614eac565b9998505050505050505050565b600d5481565b60116020526000908152604090205481565b600061198761397d565b61198f613a1f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119c757600080fd5b505afa1580156119db573d6000803e3d6000fd5b5050600f5460ff169150611a0390505760405162461bcd60e51b81526004016109f590615ad4565b600083815260086020526040902054611a2e5760405162461bcd60e51b81526004016109f590615b34565b611a36612603565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b8152600401611a619190615933565b60206040518083038186803b158015611a7957600080fd5b505afa158015611a8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ab19190810190614de3565b15611ace5760405162461bcd60e51b81526004016109f590615a84565b600b54851015611af05760405162461bcd60e51b81526004016109f590615a74565b600d546005546040517fe0b6adbc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063e0b6adbc90611b3c9033906004016158c2565b60206040518083038186803b158015611b5457600080fd5b505afa158015611b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b8c9190810190614eac565b10611ba95760405162461bcd60e51b81526004016109f590615a54565b600080611bb4613a39565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401611be192919061594f565b604080518083038186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c309190810190614e01565b91509150818015611c3f575080155b611c5b5760405162461bcd60e51b81526004016109f590615b54565b611c6587866111bf565b861115611c845760405162461bcd60e51b81526004016109f590615b04565b6000611c9b600c5488613a4890919063ffffffff16565b90506000611caf888363ffffffff612b3f16565b9050611cb9613a39565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611cf357600080fd5b505af1158015611d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d2b9190810190614eac565b9450611d35614a0c565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050611d8d81613a5d565b6005546040517f5c3312040000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690635c33120490611dd7908490600401615ba4565b600060405180830381600087803b158015611df157600080fd5b505af1158015611e05573d6000803e3d6000fd5b50505050611e138389613f62565b861561200957611e2161414e565b6001600160a01b031663867904b433611e38612603565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b8152600401611e6e9392919061597d565b60206040518083038186803b158015611e8657600080fd5b505afa158015611e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ebe9190810190614eac565b6040518363ffffffff1660e01b8152600401611edb9291906158d0565b600060405180830381600087803b158015611ef557600080fd5b505af1158015611f09573d6000803e3d6000fd5b50505050611f15613a39565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401611f4292919061594f565b600060405180830381600087803b158015611f5c57600080fd5b505af1158015611f70573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050612004576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190611fd19033908d906004016158d0565b600060405180830381600087803b158015611feb57600080fd5b505af1158015611fff573d6000803e3d6000fd5b505050505b6120e8565b60008881526008602052604090205461202190614165565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040161204e9291906158d0565b600060405180830381600087803b15801561206857600080fd5b505af115801561207c573d6000803e3d6000fd5b50505050612088613a39565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b81526004016120b592919061594f565b600060405180830381600087803b1580156120cf57600080fd5b505af11580156120e3573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051612129959493929190615bf1565b60405180910390a25050505050949350505050565b600061214861397d565b612150613a1f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561218857600080fd5b505afa15801561219c573d6000803e3d6000fd5b50505050600082116121c05760405162461bcd60e51b81526004016109f590615a34565b6121c8614a0c565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906121fa9088908890600401615906565b6101206040518083038186803b15801561221357600080fd5b505afa158015612227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061224b9190810190614e8d565b905061225681614170565b61225f81613a5d565b9050612270338260600151856141d0565b600a5461227c82611507565b106122995760405162461bcd60e51b81526004016109f590615a64565b60006122a48261167b565b905060008482106122b557846122b7565b815b905060006122d68460c00151856080015161250990919063ffffffff16565b90508082106122f5576122ea883386614283565b945050505050611261565b6122ff8483614652565b935061230f8460600151836107d4565b6040850151909550612327908663ffffffff612b3f16565b60408501524261010085015261233b614875565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b815260040161236c9291906158d0565b60206040518083038186803b15801561238457600080fd5b505afa158015612398573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123bc9190810190614de3565b156123d95760405162461bcd60e51b81526004016109f590615b94565b60608401516000908152600860205260409020546123f690614165565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b81526004016124239291906158d0565b600060405180830381600087803b15801561243d57600080fd5b505af1158015612451573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612485908790600401615ba4565b600060405180830381600087803b15801561249f57600080fd5b505af11580156124b3573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5883385896040516124f69493929190615bb3565b60405180910390a2505050509392505050565b60008282018381101561252e5760405162461bcd60e51b81526004016109f590615a44565b90505b92915050565b600061254161488c565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f6c69717569646174696f6e50656e616c747900000000000000000000000000006040518363ffffffff1660e01b81526004016125ae92919061594f565b60206040518083038186803b1580156125c657600080fd5b505afa1580156125da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125fe9190810190614eac565b905090565b60006125fe6c45786368616e6765526174657360981b6148b3565b6000670de0b6b3a7640000612639848463ffffffff61491016565b8161264057fe5b049392505050565b600061265261397d565b61265a613a1f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561269257600080fd5b505afa1580156126a6573d6000803e3d6000fd5b505050506126b2614a0c565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906126e49087908790600401615906565b6101206040518083038186803b1580156126fd57600080fd5b505afa158015612711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127359190810190614e8d565b905061274081614170565b61274981613a5d565b905060006127688260c00151836080015161250990919063ffffffff16565b905061277d82602001518360600151836141d0565b612785614875565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b81526004016127b6929190615906565b60206040518083038186803b1580156127ce57600080fd5b505afa1580156127e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128069190810190614de3565b156128235760405162461bcd60e51b81526004016109f590615a94565b606082015160009081526008602052604090205461284090614165565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b815260040161286d929190615906565b600060405180830381600087803b15801561288757600080fd5b505af115801561289b573d6000803e3d6000fd5b505050508160a00151156129b9576128b1613a39565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b81526004016128e692919061594f565b600060405180830381600087803b15801561290057600080fd5b505af1158015612914573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156129b457606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391612981918991600401615906565b600060405180830381600087803b15801561299b57600080fd5b505af11580156129af573d6000803e3d6000fd5b505050505b612a29565b6129c1613a39565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b81526004016129f692919061594f565b600060405180830381600087803b158015612a1057600080fd5b505af1158015612a24573d6000803e3d6000fd5b505050505b81604001519250612a428260c001518360600151613f62565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612a98908590600401615ba4565b600060405180830381600087803b158015612ab257600080fd5b505af1158015612ac6573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f85604051612b039190615933565b60405180910390a2505092915050565b6000546001600160a01b03163314612b3d5760405162461bcd60e51b81526004016109f590615b14565b565b600082821115612b615760405162461bcd60e51b81526004016109f590615aa4565b50900390565b6000612b7161397d565b612b79613a1f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612bb157600080fd5b505afa158015612bc5573d6000803e3d6000fd5b50505050612bd1614a0c565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612c0390339088906004016158d0565b6101206040518083038186803b158015612c1c57600080fd5b505afa158015612c30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c549190810190614e8d565b9050612c5f81614170565b612c6881613a5d565b6040810151909150612c80908463ffffffff612b3f16565b604082015242610100820152600a54612c9882611507565b11612cb55760405162461bcd60e51b81526004016109f5906159e4565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612ce5908490600401615ba4565b600060405180830381600087803b158015612cff57600080fd5b505af1158015612d13573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330385858460400151604051612d5b9392919061597d565b60405180910390a25092915050565b612d7261397d565b612d7a613a1f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612db257600080fd5b505afa158015612dc6573d6000803e3d6000fd5b5050505060008111612dea5760405162461bcd60e51b81526004016109f590615b44565b612df2614a0c565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612e249087908790600401615906565b6101206040518083038186803b158015612e3d57600080fd5b505afa158015612e51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e759190810190614e8d565b9050612e8081614170565b612e8981613a5d565b6040810151909150612ea1908363ffffffff61250916565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612ee0908490600401615ba4565b600060405180830381600087803b158015612efa57600080fd5b505af1158015612f0e573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c84848460400151604051612f539392919061597d565b60405180910390a250505050565b60006125fe600a5473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612fad57600080fd5b505af4158015612fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612fe59190810190614eac565b9063ffffffff61494a16565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061304157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613080578160200160208202803883390190505b50905060005b83518110156130c25783818151811061309b57fe5b60200260200101518282815181106130af57fe5b6020908102919091010152600101613086565b5060005b8251811015613105578281815181106130db57fe5b60200260200101518282865101815181106130f257fe5b60209081029190910101526001016130c6565b5092915050565b61311461397d565b61311c613a1f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561315457600080fd5b505afa158015613168573d6000803e3d6000fd5b505050506000811161318c5760405162461bcd60e51b81526004016109f590615a34565b613194614a0c565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906131c69088908790600401615906565b6101206040518083038186803b1580156131df57600080fd5b505afa1580156131f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132179190810190614e8d565b905061322281614170565b61322b81613a5d565b905061323c848260600151846141d0565b6132468183614652565b426101008201529050613257614875565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401613288929190615906565b60206040518083038186803b1580156132a057600080fd5b505afa1580156132b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132d89190810190614de3565b156132f55760405162461bcd60e51b81526004016109f590615b94565b606081015160009081526008602052604090205461331290614165565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b815260040161333f929190615906565b600060405180830381600087803b15801561335957600080fd5b505af115801561336d573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506133a1908490600401615ba4565b600060405180830381600087803b1580156133bb57600080fd5b505af11580156133cf573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f8585856080015160405161341e9392919061597d565b60405180910390a35050505050565b61343561397d565b61343d613a1f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561347557600080fd5b505afa158015613489573d6000803e3d6000fd5b50505050613495614a0c565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906134c790339087906004016158d0565b6101206040518083038186803b1580156134e057600080fd5b505afa1580156134f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135189190810190614e8d565b905061352381614170565b61352c81613a5d565b6080810151909150613544908363ffffffff61250916565b6080820152600a5461355582611507565b116135725760405162461bcd60e51b81526004016109f5906159f4565b6000613589600c5484613a4890919063ffffffff16565b9050600061359d848363ffffffff612b3f16565b90508260a00151156137aa576135b1613a39565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b81526004016135e292919061594f565b600060405180830381600087803b1580156135fc57600080fd5b505af1158015613610573d6000803e3d6000fd5b5050505061361c61414e565b6001600160a01b031663867904b433613633612603565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b815260040161366d9392919061597d565b60206040518083038186803b15801561368557600080fd5b505afa158015613699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136bd9190810190614eac565b6040518363ffffffff1660e01b81526004016136da9291906158d0565b600060405180830381600087803b1580156136f457600080fd5b505af1158015613708573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156137a55760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061377290339088906004016158d0565b600060405180830381600087803b15801561378c57600080fd5b505af11580156137a0573d6000803e3d6000fd5b505050505b613892565b6137b2613a39565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b81526004016137e392919061594f565b600060405180830381600087803b1580156137fd57600080fd5b505af1158015613811573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546138329150614165565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161385f9291906158d0565b600060405180830381600087803b15801561387957600080fd5b505af115801561388d573d6000803e3d6000fd5b505050505b6138a0828460600151613f62565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c906138d7908690600401615ba4565b600060405180830381600087803b1580156138f157600080fd5b505af1158015613905573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161394492919061594f565b60405180910390a25050505050565b60006112618261397185670de0b6b3a764000063ffffffff61491016565b9063ffffffff61495f16565b613985612603565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016139b29190615933565b60206040518083038186803b1580156139ca57600080fd5b505afa1580156139de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a029190810190614de3565b15612b3d5760405162461bcd60e51b81526004016109f590615af4565b60006125fe6b53797374656d53746174757360a01b6148b3565b6006546001600160a01b031690565b60006112618383670de0b6b3a7640000614994565b613a65614a0c565b8190506000806000808560a00151613b0357613a7f613a39565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613aae9190615933565b60806040518083038186803b158015613ac657600080fd5b505afa158015613ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613afe9190810190614ee9565b613b90565b613b0b613a39565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613b4092919061594f565b60806040518083038186803b158015613b5857600080fd5b505afa158015613b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b909190810190614ee9565b93509350935093506000808760a00151613c2057613bac613a39565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613be357600080fd5b505afa158015613bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c1b9190810190614eca565b613cd1565b613c28613a39565b6060890151600090815260086020526040908190205490517fee81f7900000000000000000000000000000000000000000000000000000000081526001600160a01b03929092169163ee81f79091613c8291600401615933565b604080518083038186803b158015613c9957600080fd5b505afa158015613cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613cd19190810190614eca565b915091508015613cf35760405162461bcd60e51b81526004016109f590615ac4565b6000613d9073__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613d3c57600080fd5b505af4158015613d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d749190810190614eac565b613d84428863ffffffff612b3f16565b9063ffffffff61491016565b90506000613db4613da7858463ffffffff61261e16565b889063ffffffff61250916565b905060008a60e00151600014613ded57613de8613dd7838b63ffffffff612b3f16565b60808d01519063ffffffff61261e16565b613df0565b60005b90508a60a00151613e6557613e03613a39565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613e2e9190615933565b600060405180830381600087803b158015613e4857600080fd5b505af1158015613e5c573d6000803e3d6000fd5b50505050613ed1565b613e6d613a39565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613e9e92919061594f565b600060405180830381600087803b158015613eb857600080fd5b505af1158015613ecc573d6000803e3d6000fd5b505050505b60c08b0151613ee6908263ffffffff61250916565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613f22908d90600401615ba4565b600060405180830381600087803b158015613f3c57600080fd5b505af1158015613f50573d6000803e3d6000fd5b50505050505050505050505050919050565b8115610d7f57631c1554d160e21b811461400757613f7e612603565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b8152600401613fb49392919061597d565b60206040518083038186803b158015613fcc57600080fd5b505afa158015613fe0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140049190810190614eac565b91505b61400f61414e565b6001600160a01b031663867904b46140256149d1565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561405d57600080fd5b505afa158015614071573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140959190810190614cb0565b846040518363ffffffff1660e01b81526004016140b3929190615906565b600060405180830381600087803b1580156140cd57600080fd5b505af11580156140e1573d6000803e3d6000fd5b505050506140ed6149d1565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b81526004016141189190615933565b600060405180830381600087803b15801561413257600080fd5b505af1158015614146573d6000803e3d6000fd5b505050505050565b60006125fe68141e5b9d1a1c1554d160ba1b6148b3565b6000612531826148b3565b60008160e00151116141945760405162461bcd60e51b81526004016109f590615b64565b426141af600e5483610100015161250990919063ffffffff16565b11156141cd5760405162461bcd60e51b81526004016109f590615a24565b50565b60008281526008602052604090205481906141ea90614165565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161421591906158b4565b60206040518083038186803b15801561422d57600080fd5b505afa158015614241573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506142659190810190614eac565b10156107895760405162461bcd60e51b81526004016109f590615b84565b6000806142a18360c00151846080015161250990919063ffffffff16565b6080840151604085015193509091506142b8614875565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016142e9929190615906565b60206040518083038186803b15801561430157600080fd5b505afa158015614315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143399190810190614de3565b156143565760405162461bcd60e51b81526004016109f590615b94565b606084015160009081526008602052604090205461437390614165565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b81526004016143a0929190615906565b600060405180830381600087803b1580156143ba57600080fd5b505af11580156143ce573d6000803e3d6000fd5b505050508360a00151156144ec576143e4613a39565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161441992919061594f565b600060405180830381600087803b15801561443357600080fd5b505af1158015614447573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156144e757606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916144b4918a91600401615906565b600060405180830381600087803b1580156144ce57600080fd5b505af11580156144e2573d6000803e3d6000fd5b505050505b61455c565b6144f4613a39565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b815260040161452992919061594f565b600060405180830381600087803b15801561454357600080fd5b505af1158015614557573d6000803e3d6000fd5b505050505b61456e8460c001518560600151613f62565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906145c4908790600401615ba4565b600060405180830381600087803b1580156145de57600080fd5b505af11580156145f2573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516146419392919061597d565b60405180910390a350509392505050565b61465a614a0c565b5081811580159061466f575060008360c00151115b156146cc5760008360c001518311614687578261468d565b8360c001515b60c08501519091506146a5908263ffffffff612b3f16565b60c08301526146ba838263ffffffff612b3f16565b92506146ca818560600151613f62565b505b81156125315760808301516146e7908363ffffffff612b3f16565b608082015260a081015115614804576146fe613a39565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161472f92919061594f565b600060405180830381600087803b15801561474957600080fd5b505af115801561475d573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156147ff5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916147cc919086906004016158d0565b600060405180830381600087803b1580156147e657600080fd5b505af11580156147fa573d6000803e3d6000fd5b505050505b612531565b61480c613a39565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161483d92919061594f565b600060405180830381600087803b15801561485757600080fd5b505af115801561486b573d6000803e3d6000fd5b5050505092915050565b60006125fe6822bc31b430b733b2b960b91b6148b3565b60006125fe7f466c657869626c6553746f7261676500000000000000000000000000000000005b60008181526003602090815260408083205490516001600160a01b0390911691821515916148e39186910161587e565b604051602081830303815290604052906131055760405162461bcd60e51b81526004016109f591906159b3565b60008261491f57506000612531565b8282028284828161492c57fe5b041461252e5760405162461bcd60e51b81526004016109f590615b24565b60006112618383670de0b6b3a76400006149e6565b60008082116149805760405162461bcd60e51b81526004016109f590615ab4565b600082848161498b57fe5b04949350505050565b600080600a83046149ab868663ffffffff61491016565b816149b257fe5b0490506005600a825b06106149c557600a015b600a9004949350505050565b60006125fe66119959541bdbdb60ca1b6148b3565b600080614a008461397187600a870263ffffffff61491016565b90506005600a826149bb565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b803561253181615ce0565b805161253181615ce0565b60008083601f840112614a8e57600080fd5b50813567ffffffffffffffff811115614aa657600080fd5b602083019150836020820283011115614abe57600080fd5b9250929050565b803561253181615cf4565b805161253181615cf4565b803561253181615cfd565b805161253181615cfd565b60006101208284031215614b0457600080fd5b614b0f610120615c3d565b90506000614b1d8484614adb565b8252506020614b2e84848301614a66565b6020830152506040614b4284828501614adb565b6040830152506060614b5684828501614adb565b6060830152506080614b6a84828501614adb565b60808301525060a0614b7e84828501614ac5565b60a08301525060c0614b9284828501614adb565b60c08301525060e0614ba684828501614adb565b60e083015250610100614bbb84828501614adb565b6101008301525092915050565b60006101208284031215614bdb57600080fd5b614be6610120615c3d565b90506000614bf48484614ae6565b8252506020614c0584848301614a71565b6020830152506040614c1984828501614ae6565b6040830152506060614c2d84828501614ae6565b6060830152506080614c4184828501614ae6565b60808301525060a0614c5584828501614ad0565b60a08301525060c0614c6984828501614ae6565b60c08301525060e0614c7d84828501614ae6565b60e083015250610100614bbb84828501614ae6565b600060208284031215614ca457600080fd5b60006109088484614a66565b600060208284031215614cc257600080fd5b60006109088484614a71565b60008060408385031215614ce157600080fd5b6000614ced8585614a66565b9250506020614cfe85828601614adb565b9150509250929050565b600080600060608486031215614d1d57600080fd5b6000614d298686614a66565b9350506020614d3a86828701614adb565b9250506040614d4b86828701614adb565b9150509250925092565b60008060008060408587031215614d6b57600080fd5b843567ffffffffffffffff811115614d8257600080fd5b614d8e87828801614a7c565b9450945050602085013567ffffffffffffffff811115614dad57600080fd5b614db987828801614a7c565b95989497509550505050565b600060208284031215614dd757600080fd5b60006109088484614ac5565b600060208284031215614df557600080fd5b60006109088484614ad0565b60008060408385031215614e1457600080fd5b6000614e208585614ad0565b9250506020614cfe85828601614ad0565b600060208284031215614e4357600080fd5b60006109088484614adb565b60008060408385031215614e6257600080fd5b6000614ced8585614adb565b60006101208284031215614e8157600080fd5b60006109088484614af1565b60006101208284031215614ea057600080fd5b60006109088484614bc8565b600060208284031215614ebe57600080fd5b60006109088484614ae6565b60008060408385031215614edd57600080fd5b6000614e208585614ae6565b60008060008060808587031215614eff57600080fd5b6000614f0b8787614ae6565b9450506020614f1c87828801614ae6565b9350506040614f2d87828801614ae6565b9250506060614f3e87828801614ae6565b91505092959194509250565b6000614f568383614fd8565b505060200190565b614f6781615c98565b82525050565b614f6781615c7c565b6000614f8182615c6a565b614f8b8185615c6e565b9350614f9683615c64565b8060005b83811015614fc4578151614fae8882614f4a565b9750614fb983615c64565b925050600101614f9a565b509495945050505050565b614f6781615c87565b614f6781610c87565b614f67614fed82610c87565b610c87565b614f6781615c9f565b600061500682615c6a565b6150108185615c6e565b9350615020818560208601615caa565b61502981615cd6565b9093019392505050565b6000615040601b83615c6e565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000615079601683615c6e565b7f4d7573742062652067726561746572207468616e203100000000000000000000815260200192915050565b60006150b2600e83615c6e565b7f43726174696f20746f6f206c6f77000000000000000000000000000000000000815260200192915050565b60006150eb601583615c6e565b7f43616e6e6f7420647261772074686973206d7563680000000000000000000000815260200192915050565b6000615124603583615c6e565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000615183600f83615c6e565b7f5472616e73666572206661696c65640000000000000000000000000000000000815260200192915050565b60006151bc601d83615c6e565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006151f5601e83615c6e565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b600061522e601b83615c6e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615267601283615c6e565b7f4d6178206c6f616e732065786365656465640000000000000000000000000000815260200192915050565b60006152a0601e83615c6e565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b60006152d9601d83615c6e565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615312601883615c6e565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b600061534b602083615c6e565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b6000615384601e83615c6e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006153bd601a83615c6e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006153f6601183615c77565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b600061542f601183615c6e565b7f52617465732061726520696e76616c6964000000000000000000000000000000815260200192915050565b6000615468601383615c6e565b7f4f70656e696e672069732064697361626c656400000000000000000000000000815260200192915050565b60006154a1600a83615c6e565b7f4d6178203120686f757200000000000000000000000000000000000000000000815260200192915050565b60006154da601a83615c6e565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615513601b83615c6e565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b600061554c602f83615c6e565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b60006155ab602183615c6e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b600061560a601f83615c6e565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b6000615643601e83615c6e565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061567c601a83615c6e565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006156b5601983615c77565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612531600083615c77565b60006156fb601383615c6e565b7f4c6f616e20646f6573206e6f7420657869737400000000000000000000000000815260200192915050565b6000615734601f83615c6e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b600061576d601883615c6e565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b60006157a6601b83615c6e565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906157e48482614fd8565b5060208201516157f76020850182614f6d565b50604082015161580a6040850182614fd8565b50606082015161581d6060850182614fd8565b5060808201516158306080850182614fd8565b5060a082015161584360a0850182614fcf565b5060c082015161585660c0850182614fd8565b5060e082015161586960e0850182614fd8565b50610100820151610f95610100850182614fd8565b6000615889826153e9565b91506158958284614fe1565b50602001919050565b6000615889826156a8565b6000612531826156e1565b602081016125318284614f6d565b602081016125318284614f5e565b604081016158de8285614f5e565b6112616020830184614fd8565b604081016158f98285614f6d565b6112616020830184614f6d565b604081016158de8285614f6d565b602080825281016112618184614f76565b602081016125318284614fcf565b602081016125318284614fd8565b604081016158f98285614fd8565b604081016158de8285614fd8565b6040810161596b8285614fd8565b81810360208301526109088184614ffb565b6060810161598b8286614fd8565b6159986020830185614fd8565b6109086040830184614fd8565b602081016125318284614ff2565b602080825281016112618184614ffb565b6020808252810161253181615033565b602080825281016125318161506c565b60208082528101612531816150a5565b60208082528101612531816150de565b6020808252810161253181615117565b6020808252810161253181615176565b60208082528101612531816151af565b60208082528101612531816151e8565b6020808252810161253181615221565b602080825281016125318161525a565b6020808252810161253181615293565b60208082528101612531816152cc565b6020808252810161253181615305565b602080825281016125318161533e565b6020808252810161253181615377565b60208082528101612531816153b0565b6020808252810161253181615422565b602080825281016125318161545b565b6020808252810161253181615494565b60208082528101612531816154cd565b6020808252810161253181615506565b602080825281016125318161553f565b602080825281016125318161559e565b60208082528101612531816155fd565b6020808252810161253181615636565b602080825281016125318161566f565b60208082528101612531816156ee565b6020808252810161253181615727565b6020808252810161253181615760565b6020808252810161253181615799565b610120810161253182846157d2565b60808101615bc18287614fd8565b615bce6020830186614f5e565b615bdb6040830185614fd8565b615be86060830184614fd8565b95945050505050565b60a08101615bff8288614fd8565b615c0c6020830187614fd8565b615c196040830186614fd8565b615c266060830185614fd8565b615c336080830184614fd8565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615c5c57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061253182615c8c565b151590565b6001600160a01b031690565b6000612531825b600061253182615c7c565b60005b83811015615cc5578181015183820152602001615cad565b83811115610f955750506000910152565b601f01601f191690565b615ce981615c7c565b81146141cd57600080fd5b615ce981615c87565b615ce981610c8756fea365627a7a72315820b0464a1a5d5c443efbddd95bce3461e77d3797af06c67dbda8be0a033878ed346c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event",
					"signature": "0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event",
					"signature": "0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event",
					"signature": "0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event",
					"signature": "0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event",
					"signature": "0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "manager",
							"type": "address"
						}
					],
					"name": "ManagerUpdated",
					"type": "event",
					"signature": "0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxLoansPerAccount",
							"type": "uint256"
						}
					],
					"name": "MaxLoansPerAccountUpdated",
					"type": "event",
					"signature": "0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event",
					"signature": "0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						}
					],
					"name": "MinCratioRatioUpdated",
					"type": "event",
					"signature": "0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "claim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x379607f5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x47e7ef24"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x06c19e3f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pendingWithdrawals",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf3f43703"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8cd2e0c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x90abb4d9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c17ace4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newManager",
							"type": "address"
						}
					],
					"name": "setManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0ebdbe7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						}
					],
					"name": "setMinCratio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0cdd1c65"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde81eda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "withdrawAmount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x441a3e70"
				}
			],
			"source": {
				"keccak256": "0x27aa572b5cafa4e4c05fc96056cb3bebab9ce76beea30185524f0e907d3a797e",
				"urls": [
					"bzz-raw://6f1b0acfc19e3e74dee305a16b61f6bdff2588c88c88d2844b6fa8e4a8f98df7",
					"dweb:/ipfs/QmQzdbtgtFjqnywKJJ8cNcDKdxgwyVpxBVEBaLA4G2BMc2"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralEth.sol": "CollateralEth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"CollateralEth.sol": {
						"keccak256": "0x27aa572b5cafa4e4c05fc96056cb3bebab9ce76beea30185524f0e907d3a797e",
						"urls": [
							"bzz-raw://6f1b0acfc19e3e74dee305a16b61f6bdff2588c88c88d2844b6fa8e4a8f98df7",
							"dweb:/ipfs/QmQzdbtgtFjqnywKJJ8cNcDKdxgwyVpxBVEBaLA4G2BMc2"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralErc20": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162006170380380620061708339810160408190526200004c916200018c565b888888888888888380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f90620002e0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d5918490620002ba565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498831698821698909817909755600580549982169990971698909817909555600492909255600a55600b555050600f80549490921661010002610100600160a81b031990941693909317905560105550620003619650505050505050565b80516200016c8162000331565b92915050565b80516200016c816200034b565b80516200016c8162000356565b60008060008060008060008060006101208a8c031215620001ac57600080fd5b6000620001ba8c8c6200017f565b9950506020620001cd8c828d016200015f565b9850506040620001e08c828d016200015f565b9750506060620001f38c828d016200015f565b9650506080620002068c828d0162000172565b95505060a0620002198c828d0162000172565b94505060c06200022c8c828d0162000172565b93505060e06200023f8c828d016200015f565b925050610100620002538c828d0162000172565b9150509295985092959850929598565b6200026e8162000324565b82525050565b6200026e81620002fb565b60006200028e601983620002f2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002ca828562000263565b620002d9602083018462000274565b9392505050565b602080825281016200016c816200027f565b90815260200190565b60006200016c8262000318565b90565b60006200016c82620002fb565b6001600160a01b031690565b60006200016c826200030b565b6200033c81620002fb565b81146200034857600080fd5b50565b6200033c8162000308565b6200033c816200030b565b615dff80620003716000396000f3fe608060405234801561001057600080fd5b50600436106102e95760003560e01c80637418536011610191578063b562a1ab116100e3578063d2b8035a11610097578063e74337c611610071578063e74337c614610577578063eb8e3b651461058a578063f93451ed14610592576102e9565b8063d2b8035a1461053e578063dac8cf6814610551578063de81eda914610564576102e9565b8063c19d93fb116100c8578063c19d93fb14610510578063cd28502014610518578063d0ebdbe71461052b576102e9565b8063b562a1ab14610500578063ba2de9bc14610508576102e9565b80638cd2e0c711610145578063925ead111161011f578063925ead11146104d2578063a76cdfa5146104da578063b094f2c4146104ed576102e9565b80638cd2e0c7146104a45780638da5cb5b146104b757806390abb4d9146104bf576102e9565b80637e132355116101765780637e13235514610469578063883a22091461047c578063899ffef41461048f576102e9565b8063741853601461045957806379ba509714610461576102e9565b80632af64bd31161024a578063441a3e70116101fe57806353a47bb7116101d857806353a47bb71461042b57806355bd615c146104335780635eb2ad0114610446576102e9565b8063441a3e70146103fd578063481c6a75146104105780634c17ace414610418576102e9565b806337551ec61161022f57806337551ec6146103da5780633cc3ffc7146103ed5780634065b81b146103f5576102e9565b80632af64bd3146103ca578063361e2086146103d2576102e9565b80630e54a19b116102a157806310cfe9061161028657806310cfe9061461039a57806315aaf4dd146103af5780631627540c146103b7576102e9565b80630e54a19b146103675780630efe6a8b14610387576102e9565b80630a153c97116102d25780630a153c97146103215780630aebeb4e146103415780630cdd1c6514610354576102e9565b806304f3bcec146102ee5780630710285c1461030c575b600080fd5b6102f66105a5565b6040516103039190615a6b565b60405180910390f35b61031f61031a366004614dd5565b6105b4565b005b61033461032f366004614f1c565b610660565b6040516103039190615a06565b61031f61034f366004614efe565b61079c565b61031f610362366004614efe565b610845565b61037a610375366004614e22565b610930565b60405161030391906159f8565b61031f610395366004614dd5565b6109f2565b6103a2610b3a565b6040516103039190615951565b610334610b4e565b61031f6103c5366004614d5f565b610b54565b61037a610ba7565b610334610cd8565b6103346103e8366004614efe565b610cde565b610334610cfc565b61037a610d02565b61031f61040b366004614f1c565b610d0b565b6103a2610d24565b61031f610426366004614efe565b610d33565b6103a2610e0f565b61031f610441366004614e22565b610e1e565b61031f610454366004614d9b565b610ede565b61031f610f14565b61031f61106a565b610334610477366004614f1c565b611106565b61033461048a366004614efe565b6111af565b6104976111d4565b60405161030391906159e7565b61031f6104b2366004614dd5565b611339565b6103a261134a565b61031f6104cd366004614e92565b611359565b6103346113a5565b61031f6104e8366004614efe565b6113ab565b6103346104fb366004614efe565b6113e8565b61033461140d565b610334611413565b6102f6611419565b610334610526366004614efe565b611428565b61031f610539366004614d5f565b61143a565b61031f61054c366004614f1c565b611493565b61033461055f366004614f3b565b61149d565b6103a2610572366004614efe565b6115f6565b610334610585366004614f3b565b611611565b6103346118fb565b61031f6105a0366004614fb6565b611901565b6002546001600160a01b031681565b60006105c1848484611a52565b905060006105ce826113e8565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061060690339085906004016159b0565b602060405180830381600087803b15801561062057600080fd5b505af1158015610634573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106589190810190614eb0565b505050505050565b60008061066b611e1d565b9050610675611ee9565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b81526004016106a693929190615a50565b60206040518083038186803b1580156106be57600080fd5b505afa1580156106d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106f69190810190614f79565b91506107946107878273__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561074357600080fd5b505af4158015610757573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061077b9190810190614f79565b9063ffffffff611f0416565b839063ffffffff611f3216565b949350505050565b60006107a83383611f5c565b905060006107b5826113e8565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb906107ed90339085906004016159b0565b602060405180830381600087803b15801561080757600080fd5b505af115801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061083f9190810190614eb0565b50505050565b61084d612427565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561089157600080fd5b505af41580156108a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108c99190810190614f79565b81116108f05760405162461bcd60e51b81526004016108e790615a9a565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a590610925908390615a06565b60405180910390a150565b600754600090841461094457506000610794565b60005b848110156109e657600086868381811061095d57fe5b905060200201359050806007838154811061097457fe5b90600052602060002001541461098f57600092505050610794565b6007828154811061099c57fe5b9060005260206000200154600860008787868181106109b757fe5b90506020020135815260200190815260200160002054146109dd57600092505050610794565b50600101610947565b50600195945050505050565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e90610a28903390309060040161596d565b60206040518083038186803b158015610a4057600080fd5b505afa158015610a54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a789190810190614f79565b811115610a975760405162461bcd60e51b81526004016108e790615ada565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd90610acf90339030908690600401615988565b602060405180830381600087803b158015610ae957600080fd5b505af1158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b219190810190614eb0565b506000610b2d826111af565b905061083f848483612453565b600f5461010090046001600160a01b031681565b600e5481565b610b5c612427565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610925908390615951565b60006060610bb36111d4565b905060005b8151811015610cce576000828281518110610bcf57fe5b602090810291909101810151600081815260039092526040918290205460025492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a72190610c39908590600401615a06565b60206040518083038186803b158015610c5157600080fd5b505afa158015610c65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c899190810190614d7d565b6001600160a01b0316141580610cb457506000818152600360205260409020546001600160a01b0316155b15610cc55760009350505050610cd5565b50600101610bb8565b5060019150505b90565b600c5481565b60078181548110610ceb57fe5b600091825260209091200154905081565b60105481565b600f5460ff1681565b6000610d16826111af565b905060006105c1848361264a565b6006546001600160a01b031681565b610d3b612427565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610d7f57600080fd5b505af4158015610d93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610db79190810190614f79565b610e1002811115610dda5760405162461bcd60e51b81526004016108e790615baa565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c236190610925908390615a06565b6001546001600160a01b031681565b610e26612427565b828114610e455760405162461bcd60e51b81526004016108e790615a8a565b60005b83811015610ed5576000858583818110610e5e57fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610eb257fe5b602090810292909201358352508101919091526040016000205550600101610e48565b5061083f610f14565b610ee6612427565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610f1e6111d4565b905060005b8151811015611066576000828281518110610f3a57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610f7c9190615946565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fa8929190615a30565b60206040518083038186803b158015610fc057600080fd5b505afa158015610fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ff89190810190614d7d565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906110549084908490615a14565b60405180910390a15050600101610f23565b5050565b6001546001600160a01b031633146110945760405162461bcd60e51b81526004016108e790615aca565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110d7926001600160a01b03918216929116906159cb565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111a8611113611ee9565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161114493929190615a50565b60206040518083038186803b15801561115c57600080fd5b505afa158015611170573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111949190810190614f79565b61119c61284d565b9063ffffffff611f3216565b9392505050565b6000806111bf60126010546128dd565b600a0a90506111a8838263ffffffff61290516565b6060806111df61293f565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061121e57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061124857fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061126e57fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061129757fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b816004815181106112bd57fe5b60200260200101818152505060606112d5838361299e565b905061133181600780548060200260200160405190810160405280929190818152602001828054801561132757602002820191906000526020600020905b815481526020019060010190808311611313575b505050505061299e565b935050505090565b61134583338484612a5a565b505050565b6000546001600160a01b031681565b611361612427565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916109259160ff909116906159f8565b600a5481565b6113b3612427565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610925908390615a06565b6000806113f860126010546128dd565b600a0a90506111a8838263ffffffff612d7b16565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b611442612427565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d92610925921690615951565b6110668282612db0565b6000806114a8611ee9565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b81526004016114e493929190615a50565b60206040518083038186803b1580156114fc57600080fd5b505afa158015611510573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115349190810190614f79565b90506000611540611ee9565b6001600160a01b031663654a60ac856060015161156e8760c001518860800151611f0490919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b815260040161159493929190615a50565b60206040518083038186803b1580156115ac57600080fd5b505afa1580156115c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115e49190810190614f79565b9050610794828263ffffffff6132d616565b6009602052600090815260409020546001600160a01b031681565b60008061161c611e1d565b90506000611628611ee9565b6001600160a01b031663654a60ac85606001516116568760c001518860800151611f0490919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b815260040161167c93929190615a50565b60206040518083038186803b15801561169457600080fd5b505afa1580156116a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116cc9190810190614f79565b905060006116d8611ee9565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b815260040161171493929190615a50565b60206040518083038186803b15801561172c57600080fd5b505afa158015611740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117649190810190614f79565b9050600073__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156117ac57600080fd5b505af41580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117e49190810190614f79565b9050600061180d611800600a54856132d690919063ffffffff16565b859063ffffffff6128dd16565b90506000611846611839600a5461182d8987611f0490919063ffffffff16565b9063ffffffff6132d616565b849063ffffffff6128dd16565b9050600061185a838363ffffffff6132d616565b9050611864611ee9565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b815260040161189e93929190615a50565b60206040518083038186803b1580156118b657600080fd5b505afa1580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118ee9190810190614f79565b9998505050505050505050565b600d5481565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e90611937903390309060040161596d565b60206040518083038186803b15801561194f57600080fd5b505afa158015611963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119879190810190614f79565b8311156119a65760405162461bcd60e51b81526004016108e790615ada565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd906119de90339030908890600401615988565b602060405180830381600087803b1580156119f857600080fd5b505af1158015611a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a309190810190614eb0565b506000611a3c846111af565b9050611a4b8184846000613300565b5050505050565b6000611a5c613ac1565b611a64613b63565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a9c57600080fd5b505afa158015611ab0573d6000803e3d6000fd5b5050505060008211611ad45760405162461bcd60e51b81526004016108e790615afa565b611adc614ad9565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611b0e90889088906004016159d9565b6101206040518083038186803b158015611b2757600080fd5b505afa158015611b3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b5f9190810190614f5a565b9050611b6a81613b7d565b611b7381613bdd565b9050611b84338260600151856140e2565b600a54611b908261149d565b10611bad5760405162461bcd60e51b81526004016108e790615b2a565b6000611bb882611611565b90506000848210611bc95784611bcb565b815b90506000611bea8460c001518560800151611f0490919063ffffffff16565b9050808210611c0957611bfe883386614195565b9450505050506111a8565b611c138483614564565b9350611c23846060015183610660565b6040850151909550611c3b908663ffffffff6128dd16565b604085015242610100850152611c4f614787565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611c809291906159b0565b60206040518083038186803b158015611c9857600080fd5b505afa158015611cac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cd09190810190614eb0565b15611ced5760405162461bcd60e51b81526004016108e790615c4a565b6060840151600090815260086020526040902054611d0a9061479e565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611d379291906159b0565b600060405180830381600087803b158015611d5157600080fd5b505af1158015611d65573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d99908790600401615c5a565b600060405180830381600087803b158015611db357600080fd5b505af1158015611dc7573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611e0a9493929190615c69565b60405180910390a2505050509392505050565b6000611e276147a9565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f6c69717569646174696f6e50656e616c747900000000000000000000000000006040518363ffffffff1660e01b8152600401611e94929190615a22565b60206040518083038186803b158015611eac57600080fd5b505afa158015611ec0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ee49190810190614f79565b905090565b6000611ee46c45786368616e6765526174657360981b6147d0565b600082820183811015611f295760405162461bcd60e51b81526004016108e790615b0a565b90505b92915050565b6000670de0b6b3a7640000611f4d848463ffffffff61290516565b81611f5457fe5b049392505050565b6000611f66613ac1565b611f6e613b63565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611fa657600080fd5b505afa158015611fba573d6000803e3d6000fd5b50505050611fc6614ad9565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611ff890879087906004016159d9565b6101206040518083038186803b15801561201157600080fd5b505afa158015612025573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120499190810190614f5a565b905061205481613b7d565b61205d81613bdd565b9050600061207c8260c001518360800151611f0490919063ffffffff16565b905061209182602001518360600151836140e2565b612099614787565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b81526004016120ca9291906159d9565b60206040518083038186803b1580156120e257600080fd5b505afa1580156120f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061211a9190810190614eb0565b156121375760405162461bcd60e51b81526004016108e790615b5a565b60608201516000908152600860205260409020546121549061479e565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016121819291906159d9565b600060405180830381600087803b15801561219b57600080fd5b505af11580156121af573d6000803e3d6000fd5b505050508160a00151156122cd576121c561482d565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b81526004016121fa929190615a22565b600060405180830381600087803b15801561221457600080fd5b505af1158015612228573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156122c857606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916122959189916004016159d9565b600060405180830381600087803b1580156122af57600080fd5b505af11580156122c3573d6000803e3d6000fd5b505050505b61233d565b6122d561482d565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161230a929190615a22565b600060405180830381600087803b15801561232457600080fd5b505af1158015612338573d6000803e3d6000fd5b505050505b816040015192506123568260c00151836060015161483c565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906123ac908590600401615c5a565b600060405180830381600087803b1580156123c657600080fd5b505af11580156123da573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516124179190615a06565b60405180910390a2505092915050565b6000546001600160a01b031633146124515760405162461bcd60e51b81526004016108e790615bda565b565b61245b613ac1565b612463613b63565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561249b57600080fd5b505afa1580156124af573d6000803e3d6000fd5b50505050600081116124d35760405162461bcd60e51b81526004016108e790615c0a565b6124db614ad9565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061250d90879087906004016159d9565b6101206040518083038186803b15801561252657600080fd5b505afa15801561253a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061255e9190810190614f5a565b905061256981613b7d565b61257281613bdd565b604081015190915061258a908363ffffffff611f0416565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906125c9908490600401615c5a565b600060405180830381600087803b1580156125e357600080fd5b505af11580156125f7573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161263c93929190615a50565b60405180910390a250505050565b6000612654613ac1565b61265c613b63565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561269457600080fd5b505afa1580156126a8573d6000803e3d6000fd5b505050506126b4614ad9565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906126e690339088906004016159b0565b6101206040518083038186803b1580156126ff57600080fd5b505afa158015612713573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127379190810190614f5a565b905061274281613b7d565b61274b81613bdd565b6040810151909150612763908463ffffffff6128dd16565b604082015242610100820152600a5461277b8261149d565b116127985760405162461bcd60e51b81526004016108e790615aaa565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c906127c8908490600401615c5a565b600060405180830381600087803b1580156127e257600080fd5b505af11580156127f6573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038585846040015160405161283e93929190615a50565b60405180910390a25092915050565b6000611ee4600a5473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561289957600080fd5b505af41580156128ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128d19190810190614f79565b9063ffffffff614a2016565b6000828211156128ff5760405162461bcd60e51b81526004016108e790615b6a565b50900390565b60008261291457506000611f2c565b8282028284828161292157fe5b0414611f295760405162461bcd60e51b81526004016108e790615bea565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061298f57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156129ce578160200160208202803883390190505b50905060005b8351811015612a10578381815181106129e957fe5b60200260200101518282815181106129fd57fe5b60209081029190910101526001016129d4565b5060005b8251811015612a5357828181518110612a2957fe5b6020026020010151828286510181518110612a4057fe5b6020908102919091010152600101612a14565b5092915050565b612a62613ac1565b612a6a613b63565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612aa257600080fd5b505afa158015612ab6573d6000803e3d6000fd5b5050505060008111612ada5760405162461bcd60e51b81526004016108e790615afa565b612ae2614ad9565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612b1490889087906004016159d9565b6101206040518083038186803b158015612b2d57600080fd5b505afa158015612b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b659190810190614f5a565b9050612b7081613b7d565b612b7981613bdd565b9050612b8a848260600151846140e2565b612b948183614564565b426101008201529050612ba5614787565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612bd69291906159d9565b60206040518083038186803b158015612bee57600080fd5b505afa158015612c02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c269190810190614eb0565b15612c435760405162461bcd60e51b81526004016108e790615c4a565b6060810151600090815260086020526040902054612c609061479e565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612c8d9291906159d9565b600060405180830381600087803b158015612ca757600080fd5b505af1158015612cbb573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612cef908490600401615c5a565b600060405180830381600087803b158015612d0957600080fd5b505af1158015612d1d573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612d6c93929190615a50565b60405180910390a35050505050565b6000808211612d9c5760405162461bcd60e51b81526004016108e790615b7a565b6000828481612da757fe5b04949350505050565b612db8613ac1565b612dc0613b63565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612df857600080fd5b505afa158015612e0c573d6000803e3d6000fd5b50505050612e18614ad9565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612e4a90339087906004016159b0565b6101206040518083038186803b158015612e6357600080fd5b505afa158015612e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e9b9190810190614f5a565b9050612ea681613b7d565b612eaf81613bdd565b6080810151909150612ec7908363ffffffff611f0416565b6080820152600a54612ed88261149d565b11612ef55760405162461bcd60e51b81526004016108e790615aba565b6000612f0c600c5484614a3590919063ffffffff16565b90506000612f20848363ffffffff6128dd16565b90508260a001511561312d57612f3461482d565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401612f65929190615a22565b600060405180830381600087803b158015612f7f57600080fd5b505af1158015612f93573d6000803e3d6000fd5b50505050612f9f614a4a565b6001600160a01b031663867904b433612fb6611ee9565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b8152600401612ff093929190615a50565b60206040518083038186803b15801561300857600080fd5b505afa15801561301c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130409190810190614f79565b6040518363ffffffff1660e01b815260040161305d9291906159b0565b600060405180830381600087803b15801561307757600080fd5b505af115801561308b573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156131285760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906130f590339088906004016159b0565b600060405180830381600087803b15801561310f57600080fd5b505af1158015613123573d6000803e3d6000fd5b505050505b613215565b61313561482d565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401613166929190615a22565b600060405180830381600087803b15801561318057600080fd5b505af1158015613194573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546131b5915061479e565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016131e29291906159b0565b600060405180830381600087803b1580156131fc57600080fd5b505af1158015613210573d6000803e3d6000fd5b505050505b61322382846060015161483c565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061325a908690600401615c5a565b600060405180830381600087803b15801561327457600080fd5b505af1158015613288573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf35831065486866040516132c7929190615a22565b60405180910390a25050505050565b60006111a8826132f485670de0b6b3a764000063ffffffff61290516565b9063ffffffff612d7b16565b600061330a613ac1565b613312613b63565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561334a57600080fd5b505afa15801561335e573d6000803e3d6000fd5b5050600f5460ff16915061338690505760405162461bcd60e51b81526004016108e790615b9a565b6000838152600860205260409020546133b15760405162461bcd60e51b81526004016108e790615bfa565b6133b9611ee9565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016133e49190615a06565b60206040518083038186803b1580156133fc57600080fd5b505afa158015613410573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134349190810190614eb0565b156134515760405162461bcd60e51b81526004016108e790615b4a565b600b548510156134735760405162461bcd60e51b81526004016108e790615b3a565b600d546005546040517fe0b6adbc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063e0b6adbc906134bf90339060040161595f565b60206040518083038186803b1580156134d757600080fd5b505afa1580156134eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061350f9190810190614f79565b1061352c5760405162461bcd60e51b81526004016108e790615b1a565b60008061353761482d565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401613564929190615a22565b604080518083038186803b15801561357b57600080fd5b505afa15801561358f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135b39190810190614ece565b915091508180156135c2575080155b6135de5760405162461bcd60e51b81526004016108e790615c1a565b6135e88786611106565b8611156136075760405162461bcd60e51b81526004016108e790615bca565b600061361e600c5488614a3590919063ffffffff16565b90506000613632888363ffffffff6128dd16565b905061363c61482d565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561367657600080fd5b505af115801561368a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136ae9190810190614f79565b94506136b8614ad9565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a81526020018815158152602001600081526020016000815260200142815250905061371081613bdd565b6005546040517f5c3312040000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690635c3312049061375a908490600401615c5a565b600060405180830381600087803b15801561377457600080fd5b505af1158015613788573d6000803e3d6000fd5b50505050613796838961483c565b861561398c576137a4614a4a565b6001600160a01b031663867904b4336137bb611ee9565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b81526004016137f193929190615a50565b60206040518083038186803b15801561380957600080fd5b505afa15801561381d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138419190810190614f79565b6040518363ffffffff1660e01b815260040161385e9291906159b0565b600060405180830381600087803b15801561387857600080fd5b505af115801561388c573d6000803e3d6000fd5b5050505061389861482d565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b81526004016138c5929190615a22565b600060405180830381600087803b1580156138df57600080fd5b505af11580156138f3573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613987576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906139549033908d906004016159b0565b600060405180830381600087803b15801561396e57600080fd5b505af1158015613982573d6000803e3d6000fd5b505050505b613a6b565b6000888152600860205260409020546139a49061479e565b6001600160a01b031663867904b433846040518363ffffffff1660e01b81526004016139d19291906159b0565b600060405180830381600087803b1580156139eb57600080fd5b505af11580156139ff573d6000803e3d6000fd5b50505050613a0b61482d565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401613a38929190615a22565b600060405180830381600087803b158015613a5257600080fd5b505af1158015613a66573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051613aac959493929190615ca7565b60405180910390a25050505050949350505050565b613ac9611ee9565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401613af69190615a06565b60206040518083038186803b158015613b0e57600080fd5b505afa158015613b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b469190810190614eb0565b156124515760405162461bcd60e51b81526004016108e790615bba565b6000611ee46b53797374656d53746174757360a01b6147d0565b60008160e0015111613ba15760405162461bcd60e51b81526004016108e790615c2a565b42613bbc600e54836101000151611f0490919063ffffffff16565b1115613bda5760405162461bcd60e51b81526004016108e790615aea565b50565b613be5614ad9565b8190506000806000808560a00151613c8357613bff61482d565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613c2e9190615a06565b60806040518083038186803b158015613c4657600080fd5b505afa158015613c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c7e9190810190614fd7565b613d10565b613c8b61482d565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613cc0929190615a22565b60806040518083038186803b158015613cd857600080fd5b505afa158015613cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d109190810190614fd7565b93509350935093506000808760a00151613da057613d2c61482d565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613d6357600080fd5b505afa158015613d77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d9b9190810190614f97565b613e51565b613da861482d565b6060890151600090815260086020526040908190205490517fee81f7900000000000000000000000000000000000000000000000000000000081526001600160a01b03929092169163ee81f79091613e0291600401615a06565b604080518083038186803b158015613e1957600080fd5b505afa158015613e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e519190810190614f97565b915091508015613e735760405162461bcd60e51b81526004016108e790615b8a565b6000613f1073__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613ebc57600080fd5b505af4158015613ed0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ef49190810190614f79565b613f04428863ffffffff6128dd16565b9063ffffffff61290516565b90506000613f34613f27858463ffffffff611f3216565b889063ffffffff611f0416565b905060008a60e00151600014613f6d57613f68613f57838b63ffffffff6128dd16565b60808d01519063ffffffff611f3216565b613f70565b60005b90508a60a00151613fe557613f8361482d565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613fae9190615a06565b600060405180830381600087803b158015613fc857600080fd5b505af1158015613fdc573d6000803e3d6000fd5b50505050614051565b613fed61482d565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b815260040161401e929190615a22565b600060405180830381600087803b15801561403857600080fd5b505af115801561404c573d6000803e3d6000fd5b505050505b60c08b0151614066908263ffffffff611f0416565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c906140a2908d90600401615c5a565b600060405180830381600087803b1580156140bc57600080fd5b505af11580156140d0573d6000803e3d6000fd5b50505050505050505050505050919050565b60008281526008602052604090205481906140fc9061479e565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016141279190615951565b60206040518083038186803b15801561413f57600080fd5b505afa158015614153573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141779190810190614f79565b10156113455760405162461bcd60e51b81526004016108e790615c3a565b6000806141b38360c001518460800151611f0490919063ffffffff16565b6080840151604085015193509091506141ca614787565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016141fb9291906159d9565b60206040518083038186803b15801561421357600080fd5b505afa158015614227573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061424b9190810190614eb0565b156142685760405162461bcd60e51b81526004016108e790615c4a565b60608401516000908152600860205260409020546142859061479e565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b81526004016142b29291906159d9565b600060405180830381600087803b1580156142cc57600080fd5b505af11580156142e0573d6000803e3d6000fd5b505050508360a00151156143fe576142f661482d565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161432b929190615a22565b600060405180830381600087803b15801561434557600080fd5b505af1158015614359573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156143f957606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916143c6918a916004016159d9565b600060405180830381600087803b1580156143e057600080fd5b505af11580156143f4573d6000803e3d6000fd5b505050505b61446e565b61440661482d565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b815260040161443b929190615a22565b600060405180830381600087803b15801561445557600080fd5b505af1158015614469573d6000803e3d6000fd5b505050505b6144808460c00151856060015161483c565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906144d6908790600401615c5a565b600060405180830381600087803b1580156144f057600080fd5b505af1158015614504573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb8660000151848760405161455393929190615a50565b60405180910390a350509392505050565b61456c614ad9565b50818115801590614581575060008360c00151115b156145de5760008360c001518311614599578261459f565b8360c001515b60c08501519091506145b7908263ffffffff6128dd16565b60c08301526145cc838263ffffffff6128dd16565b92506145dc81856060015161483c565b505b8115611f2c5760808301516145f9908363ffffffff6128dd16565b608082015260a0810151156147165761461061482d565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b8152600401614641929190615a22565b600060405180830381600087803b15801561465b57600080fd5b505af115801561466f573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156147115760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916146de919086906004016159b0565b600060405180830381600087803b1580156146f857600080fd5b505af115801561470c573d6000803e3d6000fd5b505050505b611f2c565b61471e61482d565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161474f929190615a22565b600060405180830381600087803b15801561476957600080fd5b505af115801561477d573d6000803e3d6000fd5b5050505092915050565b6000611ee46822bc31b430b733b2b960b91b6147d0565b6000611f2c826147d0565b6000611ee47f466c657869626c6553746f7261676500000000000000000000000000000000005b60008181526003602090815260408083205490516001600160a01b03909116918215159161480091869101615926565b60405160208183030381529060405290612a535760405162461bcd60e51b81526004016108e79190615a79565b6006546001600160a01b031690565b811561106657631c1554d160e21b81146148e157614858611ee9565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b815260040161488e93929190615a50565b60206040518083038186803b1580156148a657600080fd5b505afa1580156148ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506148de9190810190614f79565b91505b6148e9614a4a565b6001600160a01b031663867904b46148ff614a61565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561493757600080fd5b505afa15801561494b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061496f9190810190614d7d565b846040518363ffffffff1660e01b815260040161498d9291906159d9565b600060405180830381600087803b1580156149a757600080fd5b505af11580156149bb573d6000803e3d6000fd5b505050506149c7614a61565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b81526004016149f29190615a06565b600060405180830381600087803b158015614a0c57600080fd5b505af1158015610658573d6000803e3d6000fd5b60006111a88383670de0b6b3a7640000614a76565b60006111a88383670de0b6b3a7640000614aae565b6000611ee468141e5b9d1a1c1554d160ba1b6147d0565b6000611ee466119959541bdbdb60ca1b6147d0565b600080614a90846132f487600a870263ffffffff61290516565b90506005600a825b0610614aa257600a015b600a9004949350505050565b600080600a8304614ac5868663ffffffff61290516565b81614acc57fe5b0490506005600a82614a98565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611f2c81615d96565b8051611f2c81615d96565b60008083601f840112614b5b57600080fd5b50813567ffffffffffffffff811115614b7357600080fd5b602083019150836020820283011115614b8b57600080fd5b9250929050565b8035611f2c81615daa565b8051611f2c81615daa565b8035611f2c81615db3565b8051611f2c81615db3565b60006101208284031215614bd157600080fd5b614bdc610120615cf3565b90506000614bea8484614ba8565b8252506020614bfb84848301614b33565b6020830152506040614c0f84828501614ba8565b6040830152506060614c2384828501614ba8565b6060830152506080614c3784828501614ba8565b60808301525060a0614c4b84828501614b92565b60a08301525060c0614c5f84828501614ba8565b60c08301525060e0614c7384828501614ba8565b60e083015250610100614c8884828501614ba8565b6101008301525092915050565b60006101208284031215614ca857600080fd5b614cb3610120615cf3565b90506000614cc18484614bb3565b8252506020614cd284848301614b3e565b6020830152506040614ce684828501614bb3565b6040830152506060614cfa84828501614bb3565b6060830152506080614d0e84828501614bb3565b60808301525060a0614d2284828501614b9d565b60a08301525060c0614d3684828501614bb3565b60c08301525060e0614d4a84828501614bb3565b60e083015250610100614c8884828501614bb3565b600060208284031215614d7157600080fd5b60006107948484614b33565b600060208284031215614d8f57600080fd5b60006107948484614b3e565b60008060408385031215614dae57600080fd5b6000614dba8585614b33565b9250506020614dcb85828601614ba8565b9150509250929050565b600080600060608486031215614dea57600080fd5b6000614df68686614b33565b9350506020614e0786828701614ba8565b9250506040614e1886828701614ba8565b9150509250925092565b60008060008060408587031215614e3857600080fd5b843567ffffffffffffffff811115614e4f57600080fd5b614e5b87828801614b49565b9450945050602085013567ffffffffffffffff811115614e7a57600080fd5b614e8687828801614b49565b95989497509550505050565b600060208284031215614ea457600080fd5b60006107948484614b92565b600060208284031215614ec257600080fd5b60006107948484614b9d565b60008060408385031215614ee157600080fd5b6000614eed8585614b9d565b9250506020614dcb85828601614b9d565b600060208284031215614f1057600080fd5b60006107948484614ba8565b60008060408385031215614f2f57600080fd5b6000614dba8585614ba8565b60006101208284031215614f4e57600080fd5b60006107948484614bbe565b60006101208284031215614f6d57600080fd5b60006107948484614c95565b600060208284031215614f8b57600080fd5b60006107948484614bb3565b60008060408385031215614faa57600080fd5b6000614eed8585614bb3565b600080600060608486031215614fcb57600080fd5b6000614df68686614ba8565b60008060008060808587031215614fed57600080fd5b6000614ff98787614bb3565b945050602061500a87828801614bb3565b935050604061501b87828801614bb3565b925050606061502c87828801614bb3565b91505092959194509250565b600061504483836150c6565b505060200190565b61505581615d4e565b82525050565b61505581615d32565b600061506f82615d20565b6150798185615d24565b935061508483615d1a565b8060005b838110156150b257815161509c8882615038565b97506150a783615d1a565b925050600101615088565b509495945050505050565b61505581615d3d565b61505581610cd5565b6150556150db82610cd5565b610cd5565b61505581615d55565b60006150f482615d20565b6150fe8185615d24565b935061510e818560208601615d60565b61511781615d8c565b9093019392505050565b600061512e601b83615d24565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000615167601683615d24565b7f4d7573742062652067726561746572207468616e203100000000000000000000815260200192915050565b60006151a0600e83615d24565b7f43726174696f20746f6f206c6f77000000000000000000000000000000000000815260200192915050565b60006151d9601583615d24565b7f43616e6e6f7420647261772074686973206d7563680000000000000000000000815260200192915050565b6000615212603583615d24565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000615271601983615d24565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b60006152aa601d83615d24565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006152e3601e83615d24565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b600061531c601b83615d24565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615355601283615d24565b7f4d6178206c6f616e732065786365656465640000000000000000000000000000815260200192915050565b600061538e601e83615d24565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b60006153c7601d83615d24565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615400601883615d24565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615439602083615d24565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b6000615472601e83615d24565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006154ab601a83615d24565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006154e4601183615d2d565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b600061551d601183615d24565b7f52617465732061726520696e76616c6964000000000000000000000000000000815260200192915050565b6000615556601383615d24565b7f4f70656e696e672069732064697361626c656400000000000000000000000000815260200192915050565b600061558f600a83615d24565b7f4d6178203120686f757200000000000000000000000000000000000000000000815260200192915050565b60006155c8601a83615d24565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615601601b83615d24565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b600061563a602f83615d24565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000615699602183615d24565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006156f8601f83615d24565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b6000615731601e83615d24565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061576a601a83615d24565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006157a3601983615d2d565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006157dc601383615d24565b7f4c6f616e20646f6573206e6f7420657869737400000000000000000000000000815260200192915050565b6000615815601883615d24565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b600061584e601b83615d24565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b805161012083019061588c84826150c6565b50602082015161589f602085018261505b565b5060408201516158b260408501826150c6565b5060608201516158c560608501826150c6565b5060808201516158d860808501826150c6565b5060a08201516158eb60a08501826150bd565b5060c08201516158fe60c08501826150c6565b5060e082015161591160e08501826150c6565b5061010082015161083f6101008501826150c6565b6000615931826154d7565b915061593d82846150cf565b50602001919050565b600061593182615796565b60208101611f2c828461505b565b60208101611f2c828461504c565b6040810161597b828561504c565b6111a8602083018461505b565b60608101615996828661504c565b6159a3602083018561505b565b61079460408301846150c6565b604081016159be828561504c565b6111a860208301846150c6565b6040810161597b828561505b565b604081016159be828561505b565b602080825281016111a88184615064565b60208101611f2c82846150bd565b60208101611f2c82846150c6565b6040810161597b82856150c6565b604081016159be82856150c6565b60408101615a3e82856150c6565b818103602083015261079481846150e9565b60608101615a5e82866150c6565b6159a360208301856150c6565b60208101611f2c82846150e0565b602080825281016111a881846150e9565b60208082528101611f2c81615121565b60208082528101611f2c8161515a565b60208082528101611f2c81615193565b60208082528101611f2c816151cc565b60208082528101611f2c81615205565b60208082528101611f2c81615264565b60208082528101611f2c8161529d565b60208082528101611f2c816152d6565b60208082528101611f2c8161530f565b60208082528101611f2c81615348565b60208082528101611f2c81615381565b60208082528101611f2c816153ba565b60208082528101611f2c816153f3565b60208082528101611f2c8161542c565b60208082528101611f2c81615465565b60208082528101611f2c8161549e565b60208082528101611f2c81615510565b60208082528101611f2c81615549565b60208082528101611f2c81615582565b60208082528101611f2c816155bb565b60208082528101611f2c816155f4565b60208082528101611f2c8161562d565b60208082528101611f2c8161568c565b60208082528101611f2c816156eb565b60208082528101611f2c81615724565b60208082528101611f2c8161575d565b60208082528101611f2c816157cf565b60208082528101611f2c81615808565b60208082528101611f2c81615841565b6101208101611f2c828461587a565b60808101615c7782876150c6565b615c84602083018661504c565b615c9160408301856150c6565b615c9e60608301846150c6565b95945050505050565b60a08101615cb582886150c6565b615cc260208301876150c6565b615ccf60408301866150c6565b615cdc60608301856150c6565b615ce960808301846150c6565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615d1257600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611f2c82615d42565b151590565b6001600160a01b031690565b6000611f2c825b6000611f2c82615d32565b60005b83811015615d7b578181015183820152602001615d63565b8381111561083f5750506000910152565b601f01601f191690565b615d9f81615d32565b8114613bda57600080fd5b615d9f81615d3d565b615d9f81610cd556fea365627a7a72315820744236171578406313ae87285376099875769df78a0f8822c539f2ae374990cd6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_underlyingContract",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_underlyingDecimals",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event",
					"signature": "0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event",
					"signature": "0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event",
					"signature": "0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event",
					"signature": "0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event",
					"signature": "0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "manager",
							"type": "address"
						}
					],
					"name": "ManagerUpdated",
					"type": "event",
					"signature": "0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxLoansPerAccount",
							"type": "uint256"
						}
					],
					"name": "MaxLoansPerAccountUpdated",
					"type": "event",
					"signature": "0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event",
					"signature": "0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						}
					],
					"name": "MinCratioRatioUpdated",
					"type": "event",
					"signature": "0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0efe6a8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf93451ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8cd2e0c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "scaleDownCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "scaledDown",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb094f2c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "scaleUpCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "scaledUp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x883a2209"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x90abb4d9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c17ace4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newManager",
							"type": "address"
						}
					],
					"name": "setManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0ebdbe7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						}
					],
					"name": "setMinCratio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0cdd1c65"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde81eda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "underlyingContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x10cfe906"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "underlyingContractDecimals",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3cc3ffc7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x441a3e70"
				}
			],
			"source": {
				"keccak256": "0xf99e682227231fa373bdbb766758bb4c46e77f86e997f6feb68cd4c4e03be93e",
				"urls": [
					"bzz-raw://3e3077ad2fc40630869ae478739c2ccdbdbdff36be373a389c28758eeddd813b",
					"dweb:/ipfs/QmYm7mAWT7am5dcBPbNi1pFF8nYSS2DASiTLqpLbUJ5hBi"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralErc20.sol": "CollateralErc20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"CollateralErc20.sol": {
						"keccak256": "0xf99e682227231fa373bdbb766758bb4c46e77f86e997f6feb68cd4c4e03be93e",
						"urls": [
							"bzz-raw://3e3077ad2fc40630869ae478739c2ccdbdbdff36be373a389c28758eeddd813b",
							"dweb:/ipfs/QmYm7mAWT7am5dcBPbNi1pFF8nYSS2DASiTLqpLbUJ5hBi"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralShort": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162006107380380620061078339810160408190526200004c9162000167565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f906200028f565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d591849062000269565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b555062000310975050505050505050565b80516200014781620002e0565b92915050565b80516200014781620002fa565b8051620001478162000305565b600080600080600080600060e0888a0312156200018357600080fd5b6000620001918a8a6200015a565b9750506020620001a48a828b016200013a565b9650506040620001b78a828b016200013a565b9550506060620001ca8a828b016200013a565b9450506080620001dd8a828b016200014d565b93505060a0620001f08a828b016200014d565b92505060c0620002038a828b016200014d565b91505092959891949750929550565b6200021d81620002d3565b82525050565b6200021d81620002aa565b60006200023d601983620002a1565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b6040810162000279828562000212565b62000288602083018462000223565b9392505050565b6020808252810162000147816200022e565b90815260200190565b60006200014782620002c7565b90565b60006200014782620002aa565b6001600160a01b031690565b60006200014782620002ba565b620002eb81620002aa565b8114620002f757600080fd5b50565b620002eb81620002b7565b620002eb81620002ba565b615de780620003206000396000f3fe608060405234801561001057600080fd5b50600436106102c85760003560e01c8063741853601161017b578063ba2de9bc116100d8578063dac8cf681161008c578063e74337c611610071578063e74337c614610533578063eb8e3b6514610546578063f93451ed1461054e576102c8565b8063dac8cf681461050d578063de81eda914610520576102c8565b8063cd285020116100bd578063cd285020146104d4578063d0ebdbe7146104e7578063d2b8035a146104fa576102c8565b8063ba2de9bc146104c4578063c19d93fb146104cc576102c8565b80638da5cb5b1161012f578063925ead1111610114578063925ead11146104a1578063a76cdfa5146104a9578063b562a1ab146104bc576102c8565b80638da5cb5b1461048657806390abb4d91461048e576102c8565b80637e132355116101605780637e1323551461044b578063899ffef41461045e5780638cd2e0c714610473576102c8565b8063741853601461043b57806379ba509714610443576102c8565b8063361e2086116102295780634c17ace4116101dd57806355bd615c116101c257806355bd615c1461040257806356dc04a1146104155780635eb2ad0114610428576102c8565b80634c17ace4146103e757806353a47bb7146103fa576102c8565b80634065b81b1161020e5780634065b81b146103b7578063441a3e70146103bf578063481c6a75146103d2576102c8565b8063361e20861461039c57806337551ec6146103a4576102c8565b80630e54a19b1161028057806315aaf4dd1161026557806315aaf4dd146103795780631627540c146103815780632af64bd314610394576102c8565b80630e54a19b146103465780630efe6a8b14610366576102c8565b80630a153c97116102b15780630a153c97146103005780630aebeb4e146103205780630cdd1c6514610333576102c8565b806304f3bcec146102cd5780630710285c146102eb575b600080fd5b6102d5610561565b6040516102e29190615a53565b60405180910390f35b6102fe6102f9366004614d8d565b610570565b005b61031361030e366004614f04565b61060d565b6040516102e291906159ee565b6102fe61032e366004614eb6565b610749565b6102fe610341366004614eb6565b6107e3565b610359610354366004614dda565b6108ce565b6040516102e291906159e0565b6102fe610374366004614d8d565b610990565b610313610ac9565b6102fe61038f366004614d17565b610acf565b610359610b22565b610313610c53565b6103136103b2366004614eb6565b610c59565b610359610c77565b6102fe6103cd366004614f04565b610c80565b6103da610d1b565b6040516102e29190615939565b6102fe6103f5366004614eb6565b610d2a565b6103da610e06565b6102fe610410366004614dda565b610e15565b6102fe610423366004614ed4565b610ed5565b6102fe610436366004614d53565b610f7f565b6102fe610fb5565b6102fe611107565b610313610459366004614f04565b6111a3565b61046661124c565b6040516102e291906159cf565b6102fe610481366004614d8d565b6113b1565b6103da6113bd565b6102fe61049c366004614e4a565b6113cc565b610313611418565b6102fe6104b7366004614eb6565b61141e565b61031361145b565b610313611461565b6102d5611467565b6103136104e2366004614eb6565b611476565b6102fe6104f5366004614d17565b611488565b6102fe610508366004614f04565b6114e1565b61031361051b366004614f23565b6114eb565b6103da61052e366004614eb6565b611644565b610313610541366004614f23565b61165f565b610313611949565b6102fe61055c366004614f9e565b61194f565b6002546001600160a01b031681565b600061057d848484611a38565b9050610587611e03565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b81526004016105b4929190615998565b602060405180830381600087803b1580156105ce57600080fd5b505af11580156105e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106069190810190614e68565b5050505050565b600080610618611e1f565b9050610622611ee6565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161065393929190615a38565b60206040518083038186803b15801561066b57600080fd5b505afa15801561067f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a39190810190614f61565b91506107416107348273__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156106f057600080fd5b505af4158015610704573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107289190810190614f61565b9063ffffffff611f0116565b839063ffffffff611f2f16565b949350505050565b60006107553383611f59565b905061075f611e03565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161078c929190615998565b602060405180830381600087803b1580156107a657600080fd5b505af11580156107ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107de9190810190614e68565b505050565b6107eb612424565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561082f57600080fd5b505af4158015610843573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108679190810190614f61565b811161088e5760405162461bcd60e51b815260040161088590615a82565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906108c39083906159ee565b60405180910390a150565b60075460009084146108e257506000610741565b60005b848110156109845760008686838181106108fb57fe5b905060200201359050806007838154811061091257fe5b90600052602060002001541461092d57600092505050610741565b6007828154811061093a57fe5b90600052602060002001546008600087878681811061095557fe5b905060200201358152602001908152602001600020541461097b57600092505050610741565b506001016108e5565b50600195945050505050565b610998611e03565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b81526004016109c5929190615955565b60206040518083038186803b1580156109dd57600080fd5b505afa1580156109f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a159190810190614f61565b811115610a345760405162461bcd60e51b815260040161088590615ac2565b610a3c611e03565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b8152600401610a6b93929190615970565b602060405180830381600087803b158015610a8557600080fd5b505af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610abd9190810190614e68565b506107de838383612450565b600e5481565b610ad7612424565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108c3908390615939565b60006060610b2e61124c565b905060005b8151811015610c49576000828281518110610b4a57fe5b602090810291909101810151600081815260039092526040918290205460025492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a72190610bb49085906004016159ee565b60206040518083038186803b158015610bcc57600080fd5b505afa158015610be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c049190810190614d35565b6001600160a01b0316141580610c2f57506000818152600360205260409020546001600160a01b0316155b15610c405760009350505050610c50565b50600101610b33565b5060019150505b90565b600c5481565b60078181548110610c6657fe5b600091825260209091200154905081565b600f5460ff1681565b6000610c8c8383612647565b9050610c96611e03565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610cc3929190615998565b602060405180830381600087803b158015610cdd57600080fd5b505af1158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d159190810190614e68565b50505050565b6006546001600160a01b031681565b610d32612424565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610d7657600080fd5b505af4158015610d8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dae9190810190614f61565b610e1002811115610dd15760405162461bcd60e51b815260040161088590615b92565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906108c39083906159ee565b6001546001600160a01b031681565b610e1d612424565b828114610e3c5760405162461bcd60e51b815260040161088590615a72565b60005b83811015610ecc576000858583818110610e5557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610ea957fe5b602090810292909201358352508101919091526040016000205550600101610e3f565b50610d15610fb5565b6000828152600960205260409020546001600160a01b031615610f7b57600082815260096020526040908190205490517fc00007b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063c00007b090610f48908490600401615939565b600060405180830381600087803b158015610f6257600080fd5b505af1158015610f76573d6000803e3d6000fd5b505050505b5050565b610f87612424565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610fbf61124c565b905060005b8151811015610f7b576000828281518110610fdb57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161101d919061592e565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611049929190615a18565b60206040518083038186803b15801561106157600080fd5b505afa158015611075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110999190810190614d35565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906110f590849084906159fc565b60405180910390a15050600101610fc4565b6001546001600160a01b031633146111315760405162461bcd60e51b815260040161088590615ab2565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611174926001600160a01b03918216929116906159b3565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006112456111b0611ee6565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b81526004016111e193929190615a38565b60206040518083038186803b1580156111f957600080fd5b505afa15801561120d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112319190810190614f61565b61123961284a565b9063ffffffff611f2f16565b9392505050565b6060806112576128da565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061129657fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106112c057fe5b6020026020010181815250506822bc31b430b733b2b960b91b816002815181106112e657fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061130f57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160048151811061133557fe5b602002602001018181525050606061134d8383612939565b90506113a981600780548060200260200160405190810160405280929190818152602001828054801561139f57602002820191906000526020600020905b81548152602001906001019080831161138b575b5050505050612939565b935050505090565b6107de833384846129f5565b6000546001600160a01b031681565b6113d4612424565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108c39160ff909116906159e0565b600a5481565b611426612424565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906108c39083906159ee565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b611490612424565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926108c3921690615939565b610f7b8282612d16565b6000806114f6611ee6565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b815260040161153293929190615a38565b60206040518083038186803b15801561154a57600080fd5b505afa15801561155e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115829190810190614f61565b9050600061158e611ee6565b6001600160a01b031663654a60ac85606001516115bc8760c001518860800151611f0190919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016115e293929190615a38565b60206040518083038186803b1580156115fa57600080fd5b505afa15801561160e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116329190810190614f61565b9050610741828263ffffffff61323c16565b6009602052600090815260409020546001600160a01b031681565b60008061166a611e1f565b90506000611676611ee6565b6001600160a01b031663654a60ac85606001516116a48760c001518860800151611f0190919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016116ca93929190615a38565b60206040518083038186803b1580156116e257600080fd5b505afa1580156116f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061171a9190810190614f61565b90506000611726611ee6565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b815260040161176293929190615a38565b60206040518083038186803b15801561177a57600080fd5b505afa15801561178e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b29190810190614f61565b9050600073__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156117fa57600080fd5b505af415801561180e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118329190810190614f61565b9050600061185b61184e600a548561323c90919063ffffffff16565b859063ffffffff61326616565b90506000611894611887600a5461187b8987611f0190919063ffffffff16565b9063ffffffff61323c16565b849063ffffffff61326616565b905060006118a8838363ffffffff61323c16565b90506118b2611ee6565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b81526004016118ec93929190615a38565b60206040518083038186803b15801561190457600080fd5b505afa158015611918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061193c9190810190614f61565b9998505050505050505050565b600d5481565b611957611e03565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b8152600401611984929190615955565b60206040518083038186803b15801561199c57600080fd5b505afa1580156119b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119d49190810190614f61565b8311156119f35760405162461bcd60e51b815260040161088590615ac2565b611a00838383600161328e565b50611a09611e03565b6001600160a01b03166323b872dd3330866040518463ffffffff1660e01b8152600401610cc393929190615970565b6000611a42613a4f565b611a4a613af1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a8257600080fd5b505afa158015611a96573d6000803e3d6000fd5b5050505060008211611aba5760405162461bcd60e51b815260040161088590615ae2565b611ac2614a91565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611af490889088906004016159c1565b6101206040518083038186803b158015611b0d57600080fd5b505afa158015611b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b459190810190614f42565b9050611b5081613b0b565b611b5981613b6b565b9050611b6a33826060015185614070565b600a54611b76826114eb565b10611b935760405162461bcd60e51b815260040161088590615b12565b6000611b9e8261165f565b90506000848210611baf5784611bb1565b815b90506000611bd08460c001518560800151611f0190919063ffffffff16565b9050808210611bef57611be4883386614123565b945050505050611245565b611bf984836144f2565b9350611c0984606001518361060d565b6040850151909550611c21908663ffffffff61326616565b604085015242610100850152611c35614715565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611c66929190615998565b60206040518083038186803b158015611c7e57600080fd5b505afa158015611c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cb69190810190614e68565b15611cd35760405162461bcd60e51b815260040161088590615c32565b6060840151600090815260086020526040902054611cf09061472c565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611d1d929190615998565b600060405180830381600087803b158015611d3757600080fd5b505af1158015611d4b573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d7f908790600401615c42565b600060405180830381600087803b158015611d9957600080fd5b505af1158015611dad573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611df09493929190615c51565b60405180910390a2505050509392505050565b6000611e1a68141e5b9d1a1c1554d160ba1b614733565b905090565b6000611e29614790565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f6c69717569646174696f6e50656e616c747900000000000000000000000000006040518363ffffffff1660e01b8152600401611e96929190615a0a565b60206040518083038186803b158015611eae57600080fd5b505afa158015611ec2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e1a9190810190614f61565b6000611e1a6c45786368616e6765526174657360981b614733565b600082820183811015611f265760405162461bcd60e51b815260040161088590615af2565b90505b92915050565b6000670de0b6b3a7640000611f4a848463ffffffff6147bb16565b81611f5157fe5b049392505050565b6000611f63613a4f565b611f6b613af1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611fa357600080fd5b505afa158015611fb7573d6000803e3d6000fd5b50505050611fc3614a91565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611ff590879087906004016159c1565b6101206040518083038186803b15801561200e57600080fd5b505afa158015612022573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120469190810190614f42565b905061205181613b0b565b61205a81613b6b565b905060006120798260c001518360800151611f0190919063ffffffff16565b905061208e8260200151836060015183614070565b612096614715565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b81526004016120c79291906159c1565b60206040518083038186803b1580156120df57600080fd5b505afa1580156120f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121179190810190614e68565b156121345760405162461bcd60e51b815260040161088590615b42565b60608201516000908152600860205260409020546121519061472c565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b815260040161217e9291906159c1565b600060405180830381600087803b15801561219857600080fd5b505af11580156121ac573d6000803e3d6000fd5b505050508160a00151156122ca576121c26147f5565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b81526004016121f7929190615a0a565b600060405180830381600087803b15801561221157600080fd5b505af1158015612225573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156122c557606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916122929189916004016159c1565b600060405180830381600087803b1580156122ac57600080fd5b505af11580156122c0573d6000803e3d6000fd5b505050505b61233a565b6122d26147f5565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b8152600401612307929190615a0a565b600060405180830381600087803b15801561232157600080fd5b505af1158015612335573d6000803e3d6000fd5b505050505b816040015192506123538260c001518360600151614804565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906123a9908590600401615c42565b600060405180830381600087803b1580156123c357600080fd5b505af11580156123d7573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f8560405161241491906159ee565b60405180910390a2505092915050565b6000546001600160a01b0316331461244e5760405162461bcd60e51b815260040161088590615bc2565b565b612458613a4f565b612460613af1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561249857600080fd5b505afa1580156124ac573d6000803e3d6000fd5b50505050600081116124d05760405162461bcd60e51b815260040161088590615bf2565b6124d8614a91565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061250a90879087906004016159c1565b6101206040518083038186803b15801561252357600080fd5b505afa158015612537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061255b9190810190614f42565b905061256681613b0b565b61256f81613b6b565b6040810151909150612587908363ffffffff611f0116565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906125c6908490600401615c42565b600060405180830381600087803b1580156125e057600080fd5b505af11580156125f4573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161263993929190615a38565b60405180910390a250505050565b6000612651613a4f565b612659613af1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561269157600080fd5b505afa1580156126a5573d6000803e3d6000fd5b505050506126b1614a91565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906126e39033908890600401615998565b6101206040518083038186803b1580156126fc57600080fd5b505afa158015612710573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127349190810190614f42565b905061273f81613b0b565b61274881613b6b565b6040810151909150612760908463ffffffff61326616565b604082015242610100820152600a54612778826114eb565b116127955760405162461bcd60e51b815260040161088590615a92565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c906127c5908490600401615c42565b600060405180830381600087803b1580156127df57600080fd5b505af11580156127f3573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038585846040015160405161283b93929190615a38565b60405180910390a25092915050565b6000611e1a600a5473__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561289657600080fd5b505af41580156128aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ce9190810190614f61565b9063ffffffff6149ba16565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061292a57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612969578160200160208202803883390190505b50905060005b83518110156129ab5783818151811061298457fe5b602002602001015182828151811061299857fe5b602090810291909101015260010161296f565b5060005b82518110156129ee578281815181106129c457fe5b60200260200101518282865101815181106129db57fe5b60209081029190910101526001016129af565b5092915050565b6129fd613a4f565b612a05613af1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612a3d57600080fd5b505afa158015612a51573d6000803e3d6000fd5b5050505060008111612a755760405162461bcd60e51b815260040161088590615ae2565b612a7d614a91565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612aaf90889087906004016159c1565b6101206040518083038186803b158015612ac857600080fd5b505afa158015612adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b009190810190614f42565b9050612b0b81613b0b565b612b1481613b6b565b9050612b2584826060015184614070565b612b2f81836144f2565b426101008201529050612b40614715565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612b719291906159c1565b60206040518083038186803b158015612b8957600080fd5b505afa158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612bc19190810190614e68565b15612bde5760405162461bcd60e51b815260040161088590615c32565b6060810151600090815260086020526040902054612bfb9061472c565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612c289291906159c1565b600060405180830381600087803b158015612c4257600080fd5b505af1158015612c56573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612c8a908490600401615c42565b600060405180830381600087803b158015612ca457600080fd5b505af1158015612cb8573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612d0793929190615a38565b60405180910390a35050505050565b612d1e613a4f565b612d26613af1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612d5e57600080fd5b505afa158015612d72573d6000803e3d6000fd5b50505050612d7e614a91565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612db09033908790600401615998565b6101206040518083038186803b158015612dc957600080fd5b505afa158015612ddd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e019190810190614f42565b9050612e0c81613b0b565b612e1581613b6b565b6080810151909150612e2d908363ffffffff611f0116565b6080820152600a54612e3e826114eb565b11612e5b5760405162461bcd60e51b815260040161088590615aa2565b6000612e72600c54846149cf90919063ffffffff16565b90506000612e86848363ffffffff61326616565b90508260a001511561309357612e9a6147f5565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401612ecb929190615a0a565b600060405180830381600087803b158015612ee557600080fd5b505af1158015612ef9573d6000803e3d6000fd5b50505050612f05611e03565b6001600160a01b031663867904b433612f1c611ee6565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b8152600401612f5693929190615a38565b60206040518083038186803b158015612f6e57600080fd5b505afa158015612f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612fa69190810190614f61565b6040518363ffffffff1660e01b8152600401612fc3929190615998565b600060405180830381600087803b158015612fdd57600080fd5b505af1158015612ff1573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b03161561308e5760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061305b9033908890600401615998565b600060405180830381600087803b15801561307557600080fd5b505af1158015613089573d6000803e3d6000fd5b505050505b61317b565b61309b6147f5565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b81526004016130cc929190615a0a565b600060405180830381600087803b1580156130e657600080fd5b505af11580156130fa573d6000803e3d6000fd5b505050606084015160009081526008602052604090205461311b915061472c565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401613148929190615998565b600060405180830381600087803b15801561316257600080fd5b505af1158015613176573d6000803e3d6000fd5b505050505b613189828460600151614804565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c906131c0908690600401615c42565b600060405180830381600087803b1580156131da57600080fd5b505af11580156131ee573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161322d929190615a0a565b60405180910390a25050505050565b60006112458261325a85670de0b6b3a764000063ffffffff6147bb16565b9063ffffffff6149e416565b6000828211156132885760405162461bcd60e51b815260040161088590615b52565b50900390565b6000613298613a4f565b6132a0613af1565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156132d857600080fd5b505afa1580156132ec573d6000803e3d6000fd5b5050600f5460ff16915061331490505760405162461bcd60e51b815260040161088590615b82565b60008381526008602052604090205461333f5760405162461bcd60e51b815260040161088590615be2565b613347611ee6565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b815260040161337291906159ee565b60206040518083038186803b15801561338a57600080fd5b505afa15801561339e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133c29190810190614e68565b156133df5760405162461bcd60e51b815260040161088590615b32565b600b548510156134015760405162461bcd60e51b815260040161088590615b22565b600d546005546040517fe0b6adbc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063e0b6adbc9061344d903390600401615947565b60206040518083038186803b15801561346557600080fd5b505afa158015613479573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061349d9190810190614f61565b106134ba5760405162461bcd60e51b815260040161088590615b02565b6000806134c56147f5565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b81526004016134f2929190615a0a565b604080518083038186803b15801561350957600080fd5b505afa15801561351d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135419190810190614e86565b91509150818015613550575080155b61356c5760405162461bcd60e51b815260040161088590615c02565b61357687866111a3565b8611156135955760405162461bcd60e51b815260040161088590615bb2565b60006135ac600c54886149cf90919063ffffffff16565b905060006135c0888363ffffffff61326616565b90506135ca6147f5565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561360457600080fd5b505af1158015613618573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061363c9190810190614f61565b9450613646614a91565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a81526020018815158152602001600081526020016000815260200142815250905061369e81613b6b565b6005546040517f5c3312040000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690635c331204906136e8908490600401615c42565b600060405180830381600087803b15801561370257600080fd5b505af1158015613716573d6000803e3d6000fd5b505050506137248389614804565b861561391a57613732611e03565b6001600160a01b031663867904b433613749611ee6565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b815260040161377f93929190615a38565b60206040518083038186803b15801561379757600080fd5b505afa1580156137ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137cf9190810190614f61565b6040518363ffffffff1660e01b81526004016137ec929190615998565b600060405180830381600087803b15801561380657600080fd5b505af115801561381a573d6000803e3d6000fd5b505050506138266147f5565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401613853929190615a0a565b600060405180830381600087803b15801561386d57600080fd5b505af1158015613881573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613915576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906138e29033908d90600401615998565b600060405180830381600087803b1580156138fc57600080fd5b505af1158015613910573d6000803e3d6000fd5b505050505b6139f9565b6000888152600860205260409020546139329061472c565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040161395f929190615998565b600060405180830381600087803b15801561397957600080fd5b505af115801561398d573d6000803e3d6000fd5b505050506139996147f5565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b81526004016139c6929190615a0a565b600060405180830381600087803b1580156139e057600080fd5b505af11580156139f4573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051613a3a959493929190615c8f565b60405180910390a25050505050949350505050565b613a57611ee6565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401613a8491906159ee565b60206040518083038186803b158015613a9c57600080fd5b505afa158015613ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ad49190810190614e68565b1561244e5760405162461bcd60e51b815260040161088590615ba2565b6000611e1a6b53797374656d53746174757360a01b614733565b60008160e0015111613b2f5760405162461bcd60e51b815260040161088590615c12565b42613b4a600e54836101000151611f0190919063ffffffff16565b1115613b685760405162461bcd60e51b815260040161088590615ad2565b50565b613b73614a91565b8190506000806000808560a00151613c1157613b8d6147f5565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613bbc91906159ee565b60806040518083038186803b158015613bd457600080fd5b505afa158015613be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c0c9190810190614fbf565b613c9e565b613c196147f5565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613c4e929190615a0a565b60806040518083038186803b158015613c6657600080fd5b505afa158015613c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c9e9190810190614fbf565b93509350935093506000808760a00151613d2e57613cba6147f5565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613cf157600080fd5b505afa158015613d05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d299190810190614f7f565b613ddf565b613d366147f5565b6060890151600090815260086020526040908190205490517fee81f7900000000000000000000000000000000000000000000000000000000081526001600160a01b03929092169163ee81f79091613d90916004016159ee565b604080518083038186803b158015613da757600080fd5b505afa158015613dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ddf9190810190614f7f565b915091508015613e015760405162461bcd60e51b815260040161088590615b72565b6000613e9e73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613e4a57600080fd5b505af4158015613e5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e829190810190614f61565b613e92428863ffffffff61326616565b9063ffffffff6147bb16565b90506000613ec2613eb5858463ffffffff611f2f16565b889063ffffffff611f0116565b905060008a60e00151600014613efb57613ef6613ee5838b63ffffffff61326616565b60808d01519063ffffffff611f2f16565b613efe565b60005b90508a60a00151613f7357613f116147f5565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613f3c91906159ee565b600060405180830381600087803b158015613f5657600080fd5b505af1158015613f6a573d6000803e3d6000fd5b50505050613fdf565b613f7b6147f5565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613fac929190615a0a565b600060405180830381600087803b158015613fc657600080fd5b505af1158015613fda573d6000803e3d6000fd5b505050505b60c08b0151613ff4908263ffffffff611f0116565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90614030908d90600401615c42565b600060405180830381600087803b15801561404a57600080fd5b505af115801561405e573d6000803e3d6000fd5b50505050505050505050505050919050565b600082815260086020526040902054819061408a9061472c565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016140b59190615939565b60206040518083038186803b1580156140cd57600080fd5b505afa1580156140e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141059190810190614f61565b10156107de5760405162461bcd60e51b815260040161088590615c22565b6000806141418360c001518460800151611f0190919063ffffffff16565b608084015160408501519350909150614158614715565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016141899291906159c1565b60206040518083038186803b1580156141a157600080fd5b505afa1580156141b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141d99190810190614e68565b156141f65760405162461bcd60e51b815260040161088590615c32565b60608401516000908152600860205260409020546142139061472c565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b81526004016142409291906159c1565b600060405180830381600087803b15801561425a57600080fd5b505af115801561426e573d6000803e3d6000fd5b505050508360a001511561438c576142846147f5565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b81526004016142b9929190615a0a565b600060405180830381600087803b1580156142d357600080fd5b505af11580156142e7573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561438757606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391614354918a916004016159c1565b600060405180830381600087803b15801561436e57600080fd5b505af1158015614382573d6000803e3d6000fd5b505050505b6143fc565b6143946147f5565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b81526004016143c9929190615a0a565b600060405180830381600087803b1580156143e357600080fd5b505af11580156143f7573d6000803e3d6000fd5b505050505b61440e8460c001518560600151614804565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c90614464908790600401615c42565b600060405180830381600087803b15801561447e57600080fd5b505af1158015614492573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516144e193929190615a38565b60405180910390a350509392505050565b6144fa614a91565b5081811580159061450f575060008360c00151115b1561456c5760008360c001518311614527578261452d565b8360c001515b60c0850151909150614545908263ffffffff61326616565b60c083015261455a838263ffffffff61326616565b925061456a818560600151614804565b505b8115611f29576080830151614587908363ffffffff61326616565b608082015260a0810151156146a45761459e6147f5565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b81526004016145cf929190615a0a565b600060405180830381600087803b1580156145e957600080fd5b505af11580156145fd573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b03161561469f5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161466c91908690600401615998565b600060405180830381600087803b15801561468657600080fd5b505af115801561469a573d6000803e3d6000fd5b505050505b611f29565b6146ac6147f5565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b81526004016146dd929190615a0a565b600060405180830381600087803b1580156146f757600080fd5b505af115801561470b573d6000803e3d6000fd5b5050505092915050565b6000611e1a6822bc31b430b733b2b960b91b614733565b6000611f29825b60008181526003602090815260408083205490516001600160a01b0390911691821515916147639186910161590e565b604051602081830303815290604052906129ee5760405162461bcd60e51b81526004016108859190615a61565b6000611e1a7f466c657869626c6553746f726167650000000000000000000000000000000000614733565b6000826147ca57506000611f29565b828202828482816147d757fe5b0414611f265760405162461bcd60e51b815260040161088590615bd2565b6006546001600160a01b031690565b8115610f7b57631c1554d160e21b81146148a957614820611ee6565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b815260040161485693929190615a38565b60206040518083038186803b15801561486e57600080fd5b505afa158015614882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506148a69190810190614f61565b91505b6148b1611e03565b6001600160a01b031663867904b46148c7614a19565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156148ff57600080fd5b505afa158015614913573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506149379190810190614d35565b846040518363ffffffff1660e01b81526004016149559291906159c1565b600060405180830381600087803b15801561496f57600080fd5b505af1158015614983573d6000803e3d6000fd5b5050505061498f614a19565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401610f4891906159ee565b60006112458383670de0b6b3a7640000614a2e565b60006112458383670de0b6b3a7640000614a66565b6000808211614a055760405162461bcd60e51b815260040161088590615b62565b6000828481614a1057fe5b04949350505050565b6000611e1a66119959541bdbdb60ca1b614733565b600080614a488461325a87600a870263ffffffff6147bb16565b90506005600a825b0610614a5a57600a015b600a9004949350505050565b600080600a8304614a7d868663ffffffff6147bb16565b81614a8457fe5b0490506005600a82614a50565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611f2981615d7e565b8051611f2981615d7e565b60008083601f840112614b1357600080fd5b50813567ffffffffffffffff811115614b2b57600080fd5b602083019150836020820283011115614b4357600080fd5b9250929050565b8035611f2981615d92565b8051611f2981615d92565b8035611f2981615d9b565b8051611f2981615d9b565b60006101208284031215614b8957600080fd5b614b94610120615cdb565b90506000614ba28484614b60565b8252506020614bb384848301614aeb565b6020830152506040614bc784828501614b60565b6040830152506060614bdb84828501614b60565b6060830152506080614bef84828501614b60565b60808301525060a0614c0384828501614b4a565b60a08301525060c0614c1784828501614b60565b60c08301525060e0614c2b84828501614b60565b60e083015250610100614c4084828501614b60565b6101008301525092915050565b60006101208284031215614c6057600080fd5b614c6b610120615cdb565b90506000614c798484614b6b565b8252506020614c8a84848301614af6565b6020830152506040614c9e84828501614b6b565b6040830152506060614cb284828501614b6b565b6060830152506080614cc684828501614b6b565b60808301525060a0614cda84828501614b55565b60a08301525060c0614cee84828501614b6b565b60c08301525060e0614d0284828501614b6b565b60e083015250610100614c4084828501614b6b565b600060208284031215614d2957600080fd5b60006107418484614aeb565b600060208284031215614d4757600080fd5b60006107418484614af6565b60008060408385031215614d6657600080fd5b6000614d728585614aeb565b9250506020614d8385828601614b60565b9150509250929050565b600080600060608486031215614da257600080fd5b6000614dae8686614aeb565b9350506020614dbf86828701614b60565b9250506040614dd086828701614b60565b9150509250925092565b60008060008060408587031215614df057600080fd5b843567ffffffffffffffff811115614e0757600080fd5b614e1387828801614b01565b9450945050602085013567ffffffffffffffff811115614e3257600080fd5b614e3e87828801614b01565b95989497509550505050565b600060208284031215614e5c57600080fd5b60006107418484614b4a565b600060208284031215614e7a57600080fd5b60006107418484614b55565b60008060408385031215614e9957600080fd5b6000614ea58585614b55565b9250506020614d8385828601614b55565b600060208284031215614ec857600080fd5b60006107418484614b60565b60008060408385031215614ee757600080fd5b6000614ef38585614b60565b9250506020614d8385828601614aeb565b60008060408385031215614f1757600080fd5b6000614d728585614b60565b60006101208284031215614f3657600080fd5b60006107418484614b76565b60006101208284031215614f5557600080fd5b60006107418484614c4d565b600060208284031215614f7357600080fd5b60006107418484614b6b565b60008060408385031215614f9257600080fd5b6000614ea58585614b6b565b600080600060608486031215614fb357600080fd5b6000614dae8686614b60565b60008060008060808587031215614fd557600080fd5b6000614fe18787614b6b565b9450506020614ff287828801614b6b565b935050604061500387828801614b6b565b925050606061501487828801614b6b565b91505092959194509250565b600061502c83836150ae565b505060200190565b61503d81615d36565b82525050565b61503d81615d1a565b600061505782615d08565b6150618185615d0c565b935061506c83615d02565b8060005b8381101561509a5781516150848882615020565b975061508f83615d02565b925050600101615070565b509495945050505050565b61503d81615d25565b61503d81610c50565b61503d6150c382610c50565b610c50565b61503d81615d3d565b60006150dc82615d08565b6150e68185615d0c565b93506150f6818560208601615d48565b6150ff81615d74565b9093019392505050565b6000615116601b83615d0c565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b600061514f601683615d0c565b7f4d7573742062652067726561746572207468616e203100000000000000000000815260200192915050565b6000615188600e83615d0c565b7f43726174696f20746f6f206c6f77000000000000000000000000000000000000815260200192915050565b60006151c1601583615d0c565b7f43616e6e6f7420647261772074686973206d7563680000000000000000000000815260200192915050565b60006151fa603583615d0c565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000615259601983615d0c565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000615292601d83615d0c565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006152cb601e83615d0c565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615304601b83615d0c565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061533d601283615d0c565b7f4d6178206c6f616e732065786365656465640000000000000000000000000000815260200192915050565b6000615376601e83615d0c565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b60006153af601d83615d0c565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b60006153e8601883615d0c565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615421602083615d0c565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b600061545a601e83615d0c565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000615493601a83615d0c565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006154cc601183615d15565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b6000615505601183615d0c565b7f52617465732061726520696e76616c6964000000000000000000000000000000815260200192915050565b600061553e601383615d0c565b7f4f70656e696e672069732064697361626c656400000000000000000000000000815260200192915050565b6000615577600a83615d0c565b7f4d6178203120686f757200000000000000000000000000000000000000000000815260200192915050565b60006155b0601a83615d0c565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b60006155e9601b83615d0c565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b6000615622602f83615d0c565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000615681602183615d0c565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006156e0601f83615d0c565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b6000615719601e83615d0c565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615752601a83615d0c565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b600061578b601983615d15565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006157c4601383615d0c565b7f4c6f616e20646f6573206e6f7420657869737400000000000000000000000000815260200192915050565b60006157fd601883615d0c565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b6000615836601b83615d0c565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b805161012083019061587484826150ae565b5060208201516158876020850182615043565b50604082015161589a60408501826150ae565b5060608201516158ad60608501826150ae565b5060808201516158c060808501826150ae565b5060a08201516158d360a08501826150a5565b5060c08201516158e660c08501826150ae565b5060e08201516158f960e08501826150ae565b50610100820151610d156101008501826150ae565b6000615919826154bf565b915061592582846150b7565b50602001919050565b60006159198261577e565b60208101611f298284615043565b60208101611f298284615034565b604081016159638285615034565b6112456020830184615043565b6060810161597e8286615034565b61598b6020830185615043565b61074160408301846150ae565b604081016159a68285615034565b61124560208301846150ae565b604081016159638285615043565b604081016159a68285615043565b60208082528101611245818461504c565b60208101611f2982846150a5565b60208101611f2982846150ae565b6040810161596382856150ae565b604081016159a682856150ae565b60408101615a2682856150ae565b818103602083015261074181846150d1565b60608101615a4682866150ae565b61598b60208301856150ae565b60208101611f2982846150c8565b6020808252810161124581846150d1565b60208082528101611f2981615109565b60208082528101611f2981615142565b60208082528101611f298161517b565b60208082528101611f29816151b4565b60208082528101611f29816151ed565b60208082528101611f298161524c565b60208082528101611f2981615285565b60208082528101611f29816152be565b60208082528101611f29816152f7565b60208082528101611f2981615330565b60208082528101611f2981615369565b60208082528101611f29816153a2565b60208082528101611f29816153db565b60208082528101611f2981615414565b60208082528101611f298161544d565b60208082528101611f2981615486565b60208082528101611f29816154f8565b60208082528101611f2981615531565b60208082528101611f298161556a565b60208082528101611f29816155a3565b60208082528101611f29816155dc565b60208082528101611f2981615615565b60208082528101611f2981615674565b60208082528101611f29816156d3565b60208082528101611f298161570c565b60208082528101611f2981615745565b60208082528101611f29816157b7565b60208082528101611f29816157f0565b60208082528101611f2981615829565b6101208101611f298284615862565b60808101615c5f82876150ae565b615c6c6020830186615034565b615c7960408301856150ae565b615c8660608301846150ae565b95945050505050565b60a08101615c9d82886150ae565b615caa60208301876150ae565b615cb760408301866150ae565b615cc460608301856150ae565b615cd160808301846150ae565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615cfa57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611f2982615d2a565b151590565b6001600160a01b031690565b6000611f29825b6000611f2982615d1a565b60005b83811015615d63578181015183820152602001615d4b565b83811115610d155750506000910152565b601f01601f191690565b615d8781615d1a565b8114613b6857600080fd5b615d8781615d25565b615d8781610c5056fea365627a7a7231582060d5a87286afea18066a0943726aa1b9abbdaf45ea0f88fc34000612e7e580b36c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event",
					"signature": "0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event",
					"signature": "0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event",
					"signature": "0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event",
					"signature": "0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event",
					"signature": "0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "manager",
							"type": "address"
						}
					],
					"name": "ManagerUpdated",
					"type": "event",
					"signature": "0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxLoansPerAccount",
							"type": "uint256"
						}
					],
					"name": "MaxLoansPerAccountUpdated",
					"type": "event",
					"signature": "0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event",
					"signature": "0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						}
					],
					"name": "MinCratioRatioUpdated",
					"type": "event",
					"signature": "0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0efe6a8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x56dc04a1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf93451ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8cd2e0c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x90abb4d9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c17ace4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newManager",
							"type": "address"
						}
					],
					"name": "setManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0ebdbe7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						}
					],
					"name": "setMinCratio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0cdd1c65"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde81eda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x441a3e70"
				}
			],
			"source": {
				"keccak256": "0x2df1c60266d3aa7f49f8b0e7fcd08a202e7f351a1b6057926a0a2f6eefd6ab03",
				"urls": [
					"bzz-raw://bb83bd9c68e06e208cef482472c6cc483bda5ccf63f21afe880a14058391f6ac",
					"dweb:/ipfs/QmdruPmxFh88gCAc3R4h2tEP81X2ihTTLu9BqK5YwZV5i6"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CollateralShort.sol": "CollateralShort"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"CollateralShort.sol": {
						"keccak256": "0x2df1c60266d3aa7f49f8b0e7fcd08a202e7f351a1b6057926a0a2f6eefd6ab03",
						"urls": [
							"bzz-raw://bb83bd9c68e06e208cef482472c6cc483bda5ccf63f21afe880a14058391f6ac",
							"dweb:/ipfs/QmdruPmxFh88gCAc3R4h2tEP81X2ihTTLu9BqK5YwZV5i6"
						]
					}
				},
				"version": 1
			}
		}
	}
}
