UNPKG

@oikos/oikos

Version:

The smart contracts which make up the Oikos system. (oikos.cash)

626 lines 544 kB
{ "targets": { "SafeDecimalMath": { "name": "SafeDecimalMath", "address": "4159e1876b27bbd74d1a16d51ee46d50011800d2f7", "source": "SafeDecimalMath", "link": "https://tronscan.org/#/address/TJATKAEivxiNnui51QQTN9gbM7p53i7FG3", "timestamp": "2020-04-30T01:21:29.303Z", "txn": "", "network": "mainnet" }, "ExchangeRates": { "name": "ExchangeRates", "address": "41609938ef4eaed907d8a76fa867cd7e25adb03669", "source": "ExchangeRates", "link": "https://tronscan.org/#/address/TJmyRZ5J1LqPPkQcQ1LRoStKRMqPw4CB8g", "timestamp": "2020-04-30T01:21:54.922Z", "txn": "", "network": "mainnet" }, "RewardEscrow": { "name": "RewardEscrow", "address": "4105f63ed0708d62ebc8ef77a3ba2ac1b8ed5d0e1b", "source": "RewardEscrow", "link": "https://tronscan.org/#/address/TAWjNSqWWZ6WuCdvJ2WjPtFDnzqY5yTh6G", "timestamp": "2020-04-30T01:22:01.390Z", "txn": "", "network": "mainnet" }, "SynthetixEscrow": { "name": "SynthetixEscrow", "address": "41c57350e7cedc727187ff0ae744b1ea6dd231890b", "source": "SynthetixEscrow", "link": "https://tronscan.org/#/address/TTyEG9ZBoB8kBR6ZPbqvNjvjX9AM51cv8L", "timestamp": "2020-04-30T01:22:06.219Z", "txn": "", "network": "mainnet" }, "SynthetixState": { "name": "SynthetixState", "address": "4162ce0ec713cd48d54e2066c7a592293d3277383a", "source": "SynthetixState", "link": "https://tronscan.org/#/address/TJye4zxfXgqdDXRKQbkQrC9vG65rjfCC5D", "timestamp": "2020-04-30T01:22:11.329Z", "txn": "", "network": "mainnet" }, "ProxyFeePool": { "name": "ProxyFeePool", "address": "4159e870ce8d376762dec015ab02226a9f9e847cb5", "source": "Proxy", "link": "https://tronscan.org/#/address/TJAbbPfLGoFQRbWGUPKeUQbZBG4mWWvJtZ", "timestamp": "2020-04-30T01:22:15.836Z", "txn": "", "network": "mainnet" }, "DelegateApprovals": { "name": "DelegateApprovals", "address": "416231c488b0ea62e8a8514fa7d1a816604838c8d8", "source": "DelegateApprovals", "link": "https://tronscan.org/#/address/TJvQqnAe5y8UccfmDTeyF81bnzKJuzxgFt", "timestamp": "2020-04-30T01:22:21.338Z", "txn": "", "network": "mainnet" }, "FeePoolEternalStorage": { "name": "FeePoolEternalStorage", "address": "41db545295db9567ac77100382169bcd8a955c5756", "source": "FeePoolEternalStorage", "link": "https://tronscan.org/#/address/TVxuzuYbtJWXkEuCAnfkiQbBhf7qGEnHRT", "timestamp": "2020-04-30T01:22:30.823Z", "txn": "", "network": "mainnet" }, "FeePool": { "name": "FeePool", "address": "41b3c992678d87a4a9612e1ffef823ae2e7fc1e71f", "source": "FeePool", "link": "https://tronscan.org/#/address/TSMqRrg86dUMEfFsMJ44Mg9dnxpVyhUXWJ", "timestamp": "2020-04-30T01:22:36.375Z", "txn": "", "network": "mainnet" }, "FeePoolState": { "name": "FeePoolState", "address": "41728b40f71e8b0bb4904285766ac551c686f15efc", "source": "FeePoolState", "link": "https://tronscan.org/#/address/TLQrrT1du8ip1iSMAt27hVDptdRbfwJJ9r", "timestamp": "2020-04-30T01:24:18.502Z", "txn": "", "network": "mainnet" }, "RewardsDistribution": { "name": "RewardsDistribution", "address": "4133c0546b30ce5abb225d73b57f7a8bb5f3149d7c", "source": "RewardsDistribution", "link": "https://tronscan.org/#/address/TEgqs9ZSfrocBj8bzUXbUKenhN9CKo3qye", "timestamp": "2020-04-30T01:24:25.024Z", "txn": "", "network": "mainnet" }, "SupplySchedule": { "name": "SupplySchedule", "address": "4124eed3896a6d43fe15de3e628101095150695e70", "source": "SupplySchedule", "link": "https://tronscan.org/#/address/TDLVRudUMVb2qwjWanozfA9sZE82WcvSrg", "timestamp": "2020-04-30T01:24:31.553Z", "txn": "", "network": "mainnet" }, "ProxySynthetix": { "name": "ProxySynthetix", "address": "41b20d4f75ba52e8574dad86fa2b8f8958392bc994", "source": "Proxy", "link": "https://tronscan.org/#/address/TSCfE2WrmrpyuK4JLicbJCfXzZnJJ2kdJJ", "timestamp": "2020-04-30T01:24:36.000Z", "txn": "", "network": "mainnet" }, "TokenStateSynthetix": { "name": "TokenStateSynthetix", "address": "417f4d4e49027200a60b47f59f6142878c83b375ae", "source": "TokenState", "link": "https://tronscan.org/#/address/TMaKRisUm3ddnxKGxQcX444wxpYmEuzFJP", "timestamp": "2020-04-30T01:24:40.425Z", "txn": "", "network": "mainnet" }, "Synthetix": { "name": "Synthetix", "address": "41e9502d082b1b81cec45c78636beacda246634640", "source": "Synthetix", "link": "https://tronscan.org/#/address/TXErVUWTMaL4EjjFZhkfAvPFY6AQfBiULn", "timestamp": "2021-03-30T22:23:52.388Z", "txn": "", "network": "mainnet" }, "EscrowChecker": { "name": "EscrowChecker", "address": "41ad77e2167046fa3054d036dd84f4c50fa87b3050", "source": "EscrowChecker", "link": "https://tronscan.org/#/address/TRnRWsc1LViAfvF1MfiaKsYfQS2cgNehcX", "timestamp": "2020-04-30T01:25:00.718Z", "txn": "", "network": "mainnet" }, "ProxyERC20": { "name": "ProxyERC20", "address": "41e11cdc164a9d8c1ae19d95b0165278690d39d84b", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TWVVcRqRmpyAi9dASvTXrqnS7FrwvDezMn", "timestamp": "2020-04-30T01:25:13.470Z", "txn": "", "network": "mainnet" }, "TokenStateODR": { "name": "TokenStateODR", "address": "41648d82dbf44e206cbee2908c662d99fc98038ba2", "source": "TokenState", "link": "https://tronscan.org/#/address/TK8t6cMha5YTCyM9g28XfVdtmSHWvzQxWG", "timestamp": "2020-04-30T01:25:26.802Z", "txn": "", "network": "mainnet" }, "ProxyODR": { "name": "ProxyODR", "address": "41c9044153263e1d3e736e226888a589fc23f9f9fd", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TUJ5vGi77SG8jtHBoU9e6mx1N8r64xo5QL", "timestamp": "2020-04-30T01:25:31.385Z", "txn": "", "network": "mainnet" }, "SynthODR": { "name": "SynthODR", "address": "411b7bcf9511b839561fb922859ae3b2f06c9d59f5", "source": "Synth", "link": "https://tronscan.org/#/address/TCUXZmX3LJi6mCR14E3BHLZ4CVA6ZFiEYz", "timestamp": "2020-04-30T01:25:37.235Z", "txn": "", "network": "mainnet" }, "TokenStatesEUR": { "name": "TokenStatesEUR", "address": "41256ce305bef9c664aacd275f0f59fd18b5a00064", "source": "TokenState", "link": "https://tronscan.org/#/address/TDP6Sk9KYbF22aYUAiUeVeZSYVpt1Ek57D", "timestamp": "2020-04-30T01:25:50.801Z", "txn": "", "network": "mainnet" }, "ProxysEUR": { "name": "ProxysEUR", "address": "4163a8a5a1b7e4f3c933685c03f81abaf80063a254", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TK49vrCh6WqLAo9SpoT26y78jt1SNEJZ9V", "timestamp": "2020-04-30T01:25:55.658Z", "txn": "", "network": "mainnet" }, "SynthsEUR": { "name": "SynthsEUR", "address": "419a917056775ed0d08559cf6eb85df1473e13a4ee", "source": "Synth", "link": "https://tronscan.org/#/address/TQ4VHsFYxZZWGTWiiqq3sBgPH5ALXxPSSv", "timestamp": "2020-04-30T01:26:02.903Z", "txn": "", "network": "mainnet" }, "TokenStatesUSD": { "name": "TokenStatesUSD", "address": "4188383ceed06b4a3776aefa0a304bd04707f136c2", "source": "TokenState", "link": "https://tronscan.org/#/address/TNPUGdj2kctWK4pmbQHT2MuU3VQCu1EDeY", "timestamp": "2020-04-30T01:26:18.851Z", "txn": "", "network": "mainnet" }, "ProxysUSD": { "name": "ProxysUSD", "address": "41da2853b2bede0e3018f56d47624a413b2abe0831", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TVricqsN3bHXeyZybX7Agw6hn8Y2XdKrMH", "timestamp": "2020-04-30T01:26:23.784Z", "txn": "", "network": "mainnet" }, "SynthsUSD": { "name": "SynthsUSD", "address": "416fe12d8ed302f0fc7829864a2286838b832fad2b", "source": "Synth", "link": "https://tronscan.org/#/address/TLAmkzSXVxseyZRS2q6o7NAoZ9pmpZSqqk", "timestamp": "2020-04-30T01:26:30.172Z", "txn": "", "network": "mainnet" }, "TokenStatesAUD": { "name": "TokenStatesAUD", "address": "412a0b780e27410002c02aac415273eed427429246", "source": "TokenState", "link": "https://tronscan.org/#/address/TDoX7zajPxc6J7sYw4MwZMUnEU7TurUyyv", "timestamp": "2020-04-30T01:26:40.844Z", "txn": "", "network": "mainnet" }, "ProxysAUD": { "name": "ProxysAUD", "address": "41d4b63eadc31926564fcf8dd06797cce23849e95e", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TVMvaKYENjbmgJYn7WcaLJqcdbKnyHTWyM", "timestamp": "2020-04-30T01:26:45.687Z", "txn": "", "network": "mainnet" }, "SynthsAUD": { "name": "SynthsAUD", "address": "41d2451332507b8ae594d7c2fbd4752a7e2e2a707f", "source": "Synth", "link": "https://tronscan.org/#/address/TV91ektnAmFFjhaoKNXk2j4fxbcBdKjdBZ", "timestamp": "2020-04-30T01:26:51.135Z", "txn": "", "network": "mainnet" }, "TokenStatesGBP": { "name": "TokenStatesGBP", "address": "41ab141880d22667fc3e9560a2e0f1f3384f669c98", "source": "TokenState", "link": "https://tronscan.org/#/address/TRZnd8tTZ1MUNZHviii8KNYmVryLPnu3pt", "timestamp": "2020-04-30T01:27:03.128Z", "txn": "", "network": "mainnet" }, "ProxysGBP": { "name": "ProxysGBP", "address": "41d3252ebcd7ee9319357e7c4091231fd291944d3d", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TVDe82RiXzPJNcdugAKdZ2QjRgF89h43VY", "timestamp": "2020-04-30T01:27:08.943Z", "txn": "", "network": "mainnet" }, "SynthsGBP": { "name": "SynthsGBP", "address": "411b8c72af5eaae233c6fe4c037ca951ecc0e9f504", "source": "Synth", "link": "https://tronscan.org/#/address/TCUsVjdGMh5SkhejeY1xnQavGdgqbpFism", "timestamp": "2020-04-30T01:27:14.985Z", "txn": "", "network": "mainnet" }, "TokenStatesCHF": { "name": "TokenStatesCHF", "address": "4134063da79c8396185d970f0beed467fc72a5b260", "source": "TokenState", "link": "https://tronscan.org/#/address/TEiHcexZH3ovqqUUE4rdXoLS5hEQnnfhhs", "timestamp": "2020-04-30T01:30:25.488Z", "txn": "", "network": "mainnet" }, "ProxysCHF": { "name": "ProxysCHF", "address": "4163d76bcf356161da858c3b9f4daf24a5d0aeab5e", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TK57xmmpQFUiPcggtG1EB2v7KBKeqr99dh", "timestamp": "2020-04-30T01:30:31.467Z", "txn": "", "network": "mainnet" }, "SynthsCHF": { "name": "SynthsCHF", "address": "4115bacdc8084ce88e61729e918c66ccf1bea27459", "source": "Synth", "link": "https://tronscan.org/#/address/TBx6ySnMYsxknsLzwnfpJq6TAfb6WBqe3n", "timestamp": "2020-04-30T01:30:37.299Z", "txn": "", "network": "mainnet" }, "TokenStatesBTC": { "name": "TokenStatesBTC", "address": "418683ccbf165c8152a853963ccb4b1bda62af1529", "source": "TokenState", "link": "https://tronscan.org/#/address/TNETSNfLTaKm8ZfxtPodDu1pE7289wU2wF", "timestamp": "2020-04-30T01:30:47.603Z", "txn": "", "network": "mainnet" }, "ProxysBTC": { "name": "ProxysBTC", "address": "41c0fcc47cb8431adbc9966125a5bd0bb6ca35728c", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TTZdYV9mtJa5LenGGNh4hr3WZetmCtmS53", "timestamp": "2020-04-30T01:30:52.526Z", "txn": "", "network": "mainnet" }, "SynthsBTC": { "name": "SynthsBTC", "address": "41666be5e4e4c48fda9d98173978805a7b1c374add", "source": "Synth", "link": "https://tronscan.org/#/address/TKJmBWe45zphych1syhbsQdykw9ya7mmcF", "timestamp": "2020-04-30T01:30:57.781Z", "txn": "", "network": "mainnet" }, "TokenStatesETH": { "name": "TokenStatesETH", "address": "410e914e0c997b2ce44dc049cfb0f0fb84cd0f5d05", "source": "TokenState", "link": "https://tronscan.org/#/address/TBJEXhpkBhM3cf5YK4VvCMMCkf9n7UBphk", "timestamp": "2020-04-30T01:31:07.604Z", "txn": "", "network": "mainnet" }, "ProxysETH": { "name": "ProxysETH", "address": "419a609902ca627381ebf8ac20d765f2df21bec7f3", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TQ3UnKu9aRqHN2tnwkSUj2aXmswc4emygc", "timestamp": "2020-04-30T01:31:12.560Z", "txn": "", "network": "mainnet" }, "SynthsETH": { "name": "SynthsETH", "address": "41a1402557c4c7a50f958e15c0527a60bf6666c77e", "source": "Synth", "link": "https://tronscan.org/#/address/TQfpdspC8hKxNzWPMzjq9aEQyjuUwa3VvQ", "timestamp": "2020-04-30T01:31:19.525Z", "txn": "", "network": "mainnet" }, "TokenStatesTRX": { "name": "TokenStatesTRX", "address": "41c6000d368922e9caa3dc2b59e0d821b50ffd526d", "source": "TokenState", "link": "https://tronscan.org/#/address/TU28rdMStNAabm5twFb9GdDGCxAg8hEuNN", "timestamp": "2020-04-30T01:31:29.883Z", "txn": "", "network": "mainnet" }, "ProxysTRX": { "name": "ProxysTRX", "address": "41a099cc498284ed6e25f3c99e6d55074e6ba42911", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TQcPMpkEp7Vq4RxEMhEtHWkE5wGhEtbNDz", "timestamp": "2020-04-30T01:31:34.618Z", "txn": "", "network": "mainnet" }, "SynthsTRX": { "name": "SynthsTRX", "address": "4115ddbad15288f96f5cf0b068b0e187eccbc0aa0b", "source": "Synth", "link": "https://tronscan.org/#/address/TBxpp98bjB6cumkSKLFssvSyQuEVeULBnt", "timestamp": "2020-04-30T01:31:40.073Z", "txn": "", "network": "mainnet" }, "TokenStateiBTC": { "name": "TokenStateiBTC", "address": "412999014a76d0632d5a12e1a892ae626e5a8e493b", "source": "TokenState", "link": "https://tronscan.org/#/address/TDm9zuCT3szyWAayZ7aBT5wDcpHrVWxdbL", "timestamp": "2020-04-30T01:31:50.558Z", "txn": "", "network": "mainnet" }, "ProxyiBTC": { "name": "ProxyiBTC", "address": "4169ae963dfc88749d95b9cbb9e21448cb90992161", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TKc16iAQfuVXkufdtqySbqSvpfV21Nj92U", "timestamp": "2020-04-30T01:31:55.665Z", "txn": "", "network": "mainnet" }, "SynthiBTC": { "name": "SynthiBTC", "address": "417cdcf9857d42e63cba77de0ecd56804834d9dcdd", "source": "PurgeableSynth", "link": "https://tronscan.org/#/address/TMMRWSHhtyWwo3t55zES2gnVwgiwsvzjti", "timestamp": "2020-04-30T01:32:01.681Z", "txn": "", "network": "mainnet" }, "TokenStateiTRX": { "name": "TokenStateiTRX", "address": "414b945fd7809c67a950a314e922e49c444c8daf38", "source": "TokenState", "link": "https://tronscan.org/#/address/TGrqRgLg8v7Eheskm44c4jmGNpqYSMW844", "timestamp": "2020-04-30T01:32:15.255Z", "txn": "", "network": "mainnet" }, "ProxyiTRX": { "name": "ProxyiTRX", "address": "41eff8d5c8a7d90541607df61bfa9592c6d43ff489", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TXr4bGihxMAEXh25DpDDHmWceMxC1NTbVa", "timestamp": "2020-04-30T01:32:20.106Z", "txn": "", "network": "mainnet" }, "SynthiTRX": { "name": "SynthiTRX", "address": "41bb82be8e7765af4e6fe4a04d6a81756ce20afaa0", "source": "PurgeableSynth", "link": "https://tronscan.org/#/address/TT4fzD4ZtYT7CHXPK8LS1eif8KGdNwU5z3", "timestamp": "2020-04-30T01:32:26.093Z", "txn": "", "network": "mainnet" }, "TokenStateiETH": { "name": "TokenStateiETH", "address": "414c5d5b1cd0feab3c2b3a7011034d83ee80eda2a2", "source": "TokenState", "link": "https://tronscan.org/#/address/TGvzC7w6fZS3MBAuYKuoV5ryC8EMoPcLyH", "timestamp": "2020-04-30T01:32:42.261Z", "txn": "", "network": "mainnet" }, "ProxyiETH": { "name": "ProxyiETH", "address": "419a3d075ac1c7dc6eabc1bd673f48530bcbc4543f", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TQ2kAx8NknmDjxEWT5XVXdEdJb4PwgC97J", "timestamp": "2020-04-30T01:32:47.064Z", "txn": "", "network": "mainnet" }, "SynthiETH": { "name": "SynthiETH", "address": "4108bfb3ae01fa6ba93514ccdb66daaab16e7cb952", "source": "PurgeableSynth", "link": "https://tronscan.org/#/address/TAmU4GoogZDcGgQyJqFvtnQCg4bxcHrceZ", "timestamp": "2020-04-30T01:32:52.974Z", "txn": "", "network": "mainnet" }, "Depot": { "name": "Depot", "address": "4179412a5b4dca0bc4eccee6aabaf2e8afdacb73e8", "source": "Depot", "link": "https://tronscan.org/#/address/TM2Lq3c3tU5h7o1o5w1Wi4kUmy7B9KVUg2", "timestamp": "2021-03-17T05:19:01.674Z", "txn": "", "network": "mainnet" }, "ArbRewarder": { "name": "ArbRewarder", "address": "41de19475ec96fe20785edf6789e8e518cba2a067e", "source": "ArbRewarder", "link": "https://tronscan.org/#/address/TWDZJ3ecKwcBhUwD61kEHxWRNhr97Z6Paf", "timestamp": "2020-04-30T01:33:14.442Z", "txn": "", "network": "mainnet" }, "DappMaintenance": { "name": "DappMaintenance", "address": "4111f52e05c7cc79199ab104b084c7997308e09c72", "source": "DappMaintenance", "link": "https://tronscan.org/#/address/TBcACi7HnGUayUgCJmHjrzrAcAcrzEwhug", "timestamp": "2020-04-30T01:33:25.241Z", "txn": "", "network": "mainnet" }, "TokenStatesLINK": { "name": "TokenStatesLINK", "address": "4106d2388f5e676b5aa07e6cd75ea7a060ad1f86bd", "source": "TokenState", "link": "https://tronscan.org/#/address/TAbGtcjA1FKD5VHkz8PfsLXXr3KZbBtRdq", "timestamp": "2020-08-11T16:16:19.834Z", "txn": "", "network": "mainnet" }, "ProxysLINK": { "name": "ProxysLINK", "address": "41d30302da9bef8dfb251ff87977d578db2c4e9e64", "source": "ProxyERC20", "link": "https://tronscan.org/#/address/TVCwBkeuRPaM4ZyKBywgoQZDYYxPh1HjJ5", "timestamp": "2020-08-11T16:16:24.417Z", "txn": "", "network": "mainnet" }, "SynthsLINK": { "name": "SynthsLINK", "address": "4183df1cb6a4231082c77dda12e672b3e83e75210f", "source": "Synth", "link": "https://tronscan.org/#/address/TMzUoHyoAAQMaV7ZcwmXXXLGNuWLWZVZEx", "timestamp": "2020-08-11T16:16:29.454Z", "txn": "", "network": "mainnet" } }, "sources": { "SafeDecimalMath": { "bytecode": "610159610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f300730000000000000000000000000000000000000000301460806040526004361061008e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663313ce5678114610093578063864029e7146100b1578063907af6c0146100cb5780639d8e2177146100d3578063d5e5e6e6146100db578063def4419d146100e3575b600080fd5b61009b6100eb565b6040805160ff9092168252519081900360200190f35b6100b96100f0565b60408051918252519081900360200190f35b6100b9610100565b6100b961010c565b6100b9610118565b61009b610128565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b815600a165627a7a723058203acd975f57a7b105355bcfb01eec31d60d48b5b47b85e5f5d78fb043221668b90029", "abi": [ { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "PRECISE_UNIT", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "unit", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [], "name": "UNIT", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "preciseUnit", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "pure", "type": "function" }, { "constant": true, "inputs": [], "name": "highPrecisionDecimals", "outputs": [ { "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" } ] }, "ExchangeRates": { "bytecode": "6080604052612a306008553480156200001757600080fd5b50604051620040883803806200408883398101604090815281516020830151918301516060840151919390810191018380600160a060020a0381161515620000c057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600160a060020a03811615156200019157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f776e6572206d757374206e6f74206265207a65726f00000000000000000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810261010060a860020a03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a15080518251146200028257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f43757272656e6379206b6579206c656e67746820616e642072617465206c656e60448201527f677468206d757374206d617463682e0000000000000000000000000000000000606482015290519081900360840190fd5b82600560006101000a815481600160a060020a030219169083600160a060020a031602179055506200036d7f735553440000000000000000000000000000000000000000000000000000000073__ExchangeRates.sol:SafeDecimalMath_____63907af6c06040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156200032f57600080fd5b505af415801562000344573d6000803e3d6000fd5b505050506040513d60208110156200035b57600080fd5b50514264010000000062000565810204565b6040805160a0810182527f735553440000000000000000000000000000000000000000000000000000000081527f734155440000000000000000000000000000000000000000000000000000000060208201527f7343484600000000000000000000000000000000000000000000000000000000918101919091527f734555520000000000000000000000000000000000000000000000000000000060608201527f734742500000000000000000000000000000000000000000000000000000000060808201526200044490600990600562000ed1565b50600e6020527fd5bf9ee44f917da5fb87fccf9bbe28ed88b1daf1911303038cde0bbfc7f02db48054600160ff1991821681179092557f454cb1132dc71998e5cab516fb2b1a952254a63e76da36fa003b0be1332bec8580548216831790557f9f9848786a04bdcbd6492a2e5e7b940a8e74df2ca361df2419cb747d98ab3bb180548216831790557f6236122a3a6e83f96e638f3925a358c0113f4ca29f62b853055b475aa180400980548216831790557f73474250000000000000000000000000000000000000000000000000000000006000527f09c0da6c09d34a25499c48763bfafcd007810f764fd301bbbc9e7da06c13f08a805490911690911790556200055a828242640100000000620005f0810204565b505050505062000f4d565b604080518082018252600160d860020a03938416815264ffffffffff9283166020808301918252600096875260049052919094209351845491519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090911617909116179055565b6000806000845186511415156200068e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f43757272656e6379206b6579206172726179206c656e677468206d757374206d60448201527f61746368207261746573206172726179206c656e6774682e0000000000000000606482015290519081900360840190fd5b426102580184106200070157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b600091505b85518210156200093e5785828151811015156200071f57fe5b90602001906020020151905084828151811015156200073a57fe5b602090810290910101511515620007d857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f5a65726f206973206e6f7420612076616c696420726174652c20706c6561736560448201527f2063616c6c2064656c6574655261746520696e73746561642e00000000000000606482015290519081900360840190fd5b7f73555344000000000000000000000000000000000000000000000000000000008114156200088e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f52617465206f6620735553442063616e6e6f7420626520757064617465642c2060448201527f6974277320616c7761797320554e49542e000000000000000000000000000000606482015290519081900360840190fd5b620008a28164010000000062000a09810204565b841015620008b05762000932565b620008e3818684815181101515620008c457fe5b9060200190602002015162000a30640100000000026401000000009004565b8583815181101515620008f257fe5b602090810290910101528451620009329082908790859081106200091257fe5b906020019060200201518662000565640100000000026401000000009004565b60019091019062000706565b7f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015620009a75781810151838201526020016200098d565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015620009e8578181015183820152602001620009ce565b5050505090500194505050505060405180910390a150600195945050505050565b600062000a1f8264010000000062000b61810204565b6020015164ffffffffff1692915050565b6000828152600f60205260408120805482908190811062000a545784935062000b58565b62000a688664010000000062000e43810204565b600384015490925060ff16151562000b5457825462000a97906002640100000000620026fd62000e6982021704565b905084811162000aab576000915062000ac8565b62000ac581866401000000006200309162000ea682021704565b91505b6001830154821062000ae1578260010154915062000af5565b6002830154821162000af557826002015491505b826001015482148062000b0b5750826002015482145b1562000b545760038301805460ff191660011790556040805187815290517f4b3d3f51dab37576ab4ca08ebdb81d4a4c587f25df5cc1f9a620a7faff84aba89181900360200190a15b8193505b50505092915050565b62000b6b62000f16565b600080600062000b7a62000f16565b7f4f4452000000000000000000000000000000000000000000000000000000000086141562000c62576000935060009250600091505b600582101562000c375762000bdd6009836005811062000bcc57fe5b015464010000000062000b61810204565b805190915062000c06908590600160d860020a0316640100000000620025dd62000ebe82021704565b935082816020015164ffffffffff16111562000c2b57806020015164ffffffffff1692505b60019091019062000bb0565b60408051808201909152600160d860020a038516815264ffffffffff84166020820152945062000e3a565b600086815260066020526040902054600160a060020a03161562000de65760408051808201808352600089815260066020908152848220547f50d25bcd00000000000000000000000000000000000000000000000000000000909352935192938493600160a060020a03909316926350d25bcd92604480870193929182880390910190829087803b15801562000cf757600080fd5b505af115801562000d0c573d6000803e3d6000fd5b505050506040513d602081101562000d2357600080fd5b50516402540be40002600160d860020a0316815260008881526006602090815260408083205481517f8205bf6a000000000000000000000000000000000000000000000000000000008152915194830194600160a060020a0390911693638205bf6a93600480850194919392918390030190829087803b15801562000da757600080fd5b505af115801562000dbc573d6000803e3d6000fd5b505050506040513d602081101562000dd357600080fd5b505164ffffffffff169052945062000e3a565b600086815260046020908152604091829020825180840190935254600160d860020a03811683527b01000000000000000000000000000000000000000000000000000000900464ffffffffff169082015294505b50505050919050565b600062000e598264010000000062000b61810204565b51600160d860020a031692915050565b60008083151562000e7e576000915062000e9f565b5082820282848281151562000e8f57fe5b041462000e9b57600080fd5b8091505b5092915050565b6000808383111562000eb757600080fd5b5050900390565b60008282018381101562000e9b57600080fd5b826005810192821562000f04579160200282015b8281111562000f04578251825560209092019160019091019062000ee5565b5062000f1292915062000f2d565b5090565b604080518082019091526000808252602082015290565b62000f4a91905b8082111562000f12576000815560010162000f34565b90565b61312b8062000f5d6000396000f3006080604052600436106101d65763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416629919c081146101db57806305a046e5146102075780630ee4951b146102ac5780631627540c146102d357806317c70de41461030357806320714f88146103185780632bed9e0c146103465780632d2276741461035e5780632ea913d41461037e5780633278c960146103965780633f0e084f146103ab57806345938849146103dc5780634f72def6146103f457806353a47bb71461040c578063654a60ac1461044a5780637103353e14610468578063728dec291461048057806379ba5097146104c057806379cb657a146104d55780637adbf973146104ed5780637dc0d1d01461051b5780638208e677146105305780638da5cb5b146105485780639cb8a26a1461055d578063a461fc8214610572578063aa687daf14610587578063ac82f6081461059f578063af3aea86146105b7578063b199c764146105cf578063b8225dec146105fa578063babcb4231461060f578063bd32aa44146106c3578063bfa005ce146106d8578063c2c8a67614610707578063c58aaae61461075c578063c8e6f39514610771578063ce8480ea14610789578063dc726205146107a1575b600080fd5b3480156101e757600080fd5b506101f36004356107b9565b604080519115158252519081900360200190f35b34801561021357600080fd5b506040805160206004803580820135838102808601850190965280855261025c953695939460249493850192918291850190849080828437509497506108109650505050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610298578181015183820152602001610280565b505050509050019250505060405180910390f35b3480156102b857600080fd5b506102c1610898565b60408051918252519081900360200190f35b3480156102df57600080fd5b5061030173ffffffffffffffffffffffffffffffffffffffff6004351661089e565b005b34801561030f57600080fd5b506102c16109c3565b34801561032457600080fd5b5061030173ffffffffffffffffffffffffffffffffffffffff600435166109c9565b34801561035257600080fd5b50610301600435610b79565b34801561036a57600080fd5b506101f36004803560248101910135610d5a565b34801561038a57600080fd5b506102c1600435610df5565b3480156103a257600080fd5b50610301610e14565b3480156103b757600080fd5b5061030160043573ffffffffffffffffffffffffffffffffffffffff60243516610f18565b3480156103e857600080fd5b506103016004356111b6565b34801561040057600080fd5b506102c1600435611322565b34801561041857600080fd5b50610421611330565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561045657600080fd5b506102c160043560243560443561134c565b34801561047457600080fd5b506104216004356114d3565b34801561048c57600080fd5b506104986004356114fb565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b3480156104cc57600080fd5b50610301611525565b3480156104e157600080fd5b50610301600435611676565b3480156104f957600080fd5b5061030173ffffffffffffffffffffffffffffffffffffffff6004351661175d565b34801561052757600080fd5b50610421611888565b34801561053c57600080fd5b506101f36004356118a4565b34801561055457600080fd5b506104216118b9565b34801561056957600080fd5b506103016118d5565b34801561057e57600080fd5b506102c1611ade565b34801561059357600080fd5b506102c1600435611ae5565b3480156105ab57600080fd5b506102c1600435611af9565b3480156105c357600080fd5b506101f3600435611b0a565b3480156105db57600080fd5b50610301600435602435604435606435608435151560a4351515611b22565b34801561060657600080fd5b506101f3611faf565b34801561061b57600080fd5b506040805160206004803580820135838102808601850190965280855261066495369593946024949385019291829185019084908082843750949750611fb89650505050505050565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156106ae578181015183820152602001610696565b50505050905001935050505060405180910390f35b3480156106cf57600080fd5b506103016120f1565b3480156106e457600080fd5b506101f36024600480358281019290820135918135918201910135604435612204565b34801561071357600080fd5b506040805160206004803580820135838102808601850190965280855261025c953695939460249493850192918291850190849080828437509497506123209650505050505050565b34801561076857600080fd5b506104216123a1565b34801561077d57600080fd5b506103016004356123c2565b34801561079557600080fd5b506102c1600435612592565b3480156107ad57600080fd5b506102c16004356125ae565b60007f73555344000000000000000000000000000000000000000000000000000000008214156107eb5750600061080b565b426108076008546107fb85612592565b9063ffffffff6125dd16565b1090505b919050565b60608060008351604051908082528060200260200182016040528015610840578160200160208202803883390190505b509150600090505b835181101561089157610871848281518110151561086257fe5b90602001906020020151612592565b828281518110151561087f57fe5b60209081029091010152600101610848565b5092915050565b60085481565b60005473ffffffffffffffffffffffffffffffffffffffff16331461094a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a7557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b73ffffffffffffffffffffffffffffffffffffffff81161515610af957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b6003805473ffffffffffffffffffffffffffffffffffffffff831661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b60008054819073ffffffffffffffffffffffffffffffffffffffff163314610c2857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60008381526006602052604090205473ffffffffffffffffffffffffffffffffffffffff169150811515610cbd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600083815260066020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610cfc8360076125f6565b90508015610d55576040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b6000805b82811015610deb57838382818110610d7257fe5b9050602002013560001916600019167f735553440000000000000000000000000000000000000000000000000000000014158015610dd5575042610dd36008546107fb8787868181101515610dc357fe5b9050602002013560001916612592565b105b15610de35760019150610891565b600101610d5e565b5060009392505050565b6010805482908110610e0357fe5b600091825260209091200154905081565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ec057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60006002819055600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b6000805473ffffffffffffffffffffffffffffffffffffffff163314610fc557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b81905060008173ffffffffffffffffffffffffffffffffffffffff16638205bf6a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561102e57600080fd5b505af1158015611042573d6000803e3d6000fd5b505050506040513d602081101561105857600080fd5b505110156110c757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b60008381526006602052604090205473ffffffffffffffffffffffffffffffffffffffff16151561112857600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018390555b60008381526006602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915582518681529182015281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a1505050565b60055473ffffffffffffffffffffffffffffffffffffffff16331461126257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4f6e6c7920746865206f7261636c652063616e20706572666f726d207468697360448201527f20616374696f6e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600061126d826125ae565b116112d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015290519081900360640190fd5b600081815260046020908152604080832092909255815183815291517fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae19281900390910190a150565b6007805482908110610e0357fe5b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600083611358816107b9565b156113ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f52617465207374616c65206f72206e6f6e6578697374616e742063757272656e60448201527f6379000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b826113f4816107b9565b1561148657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f52617465207374616c65206f72206e6f6e6578697374616e742063757272656e60448201527f6379000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b85841415611496578492506114ca565b6114c76114a285611af9565b6114bb6114ae89611af9565b889063ffffffff6126d316565b9063ffffffff6126e816565b92505b50509392505050565b60066020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b600f6020526000908152604090208054600182015460028301546003909301549192909160ff1684565b60015473ffffffffffffffffffffffffffffffffffffffff1633146115d157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b60005473ffffffffffffffffffffffffffffffffffffffff16331461172257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60088190556040805182815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669181900360200190a150565b60005473ffffffffffffffffffffffffffffffffffffffff16331461180957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020908290030190a150565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b600e6020526000908152604090205460ff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000805473ffffffffffffffffffffffffffffffffffffffff16331461198257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60035460ff1615156119f557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea0060025401101515611a6c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b506003546040805173ffffffffffffffffffffffffffffffffffffffff61010090930492909216808352905190917f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7919081900360200190a18073ffffffffffffffffffffffffffffffffffffffff16ff5b6224ea0081565b60098160058110611af257fe5b0154905081565b6000611b04826125ae565b92915050565b6000908152600f602052604090206003015460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff163314611bce57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60008511611c3d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f656e747279506f696e74206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b60008311611cac57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b848411611d4057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f75707065724c696d6974206d7573742062652061626f76652074686520656e7460448201527f7279506f696e7400000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611d5185600263ffffffff6126fd16565b8410611de457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f75707065724c696d6974206d757374206265206c657373207468616e20646f7560448201527f626c6520656e747279506f696e74000000000000000000000000000000000000606482015290519081900360840190fd5b848310611e7857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e7460448201527f7279506f696e7400000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6000868152600f602052604081205411611ec257601080546001810182556000919091527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672018690555b6000868152600f6020908152604091829020878155600181018790556002810186905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151517905581518881529081018790528082018690526060810185905290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a916080908290030190a18115611fa7576040805187815290517f4b3d3f51dab37576ab4ca08ebdb81d4a4c587f25df5cc1f9a620a7faff84aba89181900360200190a1611fa78682611f9f5784611fa1565b855b4261272b565b505050505050565b60035460ff1681565b6060600060606000806000611fcb6130a8565b8751604051908082528060200260200182016040528015611ff6578160200160208202803883390190505b509450600093506008549250600091505b87518210156120e357612030888381518110151561202157fe5b906020019060200201516127ca565b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff16858381518110151561206257fe5b602090810290910101528315156120d857878281518110151561208157fe5b602090810290910101517f7355534400000000000000000000000000000000000000000000000000000000148015906120d55750602081015142906120d39064ffffffffff168563ffffffff6125dd16565b105b93505b600190910190612007565b509296919550909350505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461219d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b42600255600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60055460009073ffffffffffffffffffffffffffffffffffffffff1633146122b357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4f6e6c7920746865206f7261636c652063616e20706572666f726d207468697360448201527f20616374696f6e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6123168686808060200260200160405190810160405280939291908181526020018383602002808284375050604080516020808c0282810182019093528b82529095508b94508a935083925085019084908082843750899450612afc9350505050565b9695505050505050565b60608060008351604051908082528060200260200182016040528015612350578160200160208202803883390190505b509150600090505b835181101561089157612381848281518110151561237257fe5b906020019060200201516125ae565b828281518110151561238f57fe5b60209081029091010152600101612358565b600354610100900473ffffffffffffffffffffffffffffffffffffffff1681565b6000805473ffffffffffffffffffffffffffffffffffffffff16331461246f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b6000828152600f6020526040812054116124ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015290519081900360640190fd5b6000828152600f6020526040812081815560018101829055600281019190915560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905561253e8260106125f6565b9050801561258e5760408051838152600060208201819052818301819052606082015290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15b5050565b600061259d826127ca565b6020015164ffffffffff1692915050565b60006125b9826127ca565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000828201838110156125ef57600080fd5b9392505050565b6000805b8254811015610deb578254849084908390811061261357fe5b60009182526020909120015414156126cb57828181548110151561263357fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061266e57fe5b9060005260206000200154838281548110151561268757fe5b60009182526020909120015582546126c1847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83016130bf565b5060019150610891565b6001016125fa565b60006125ef8383670de0b6b3a7640000612ed7565b60006125ef8383670de0b6b3a7640000612f16565b6000808315156127105760009150610891565b5082820282848281151561272057fe5b04146125ef57600080fd5b6040805180820182527affffffffffffffffffffffffffffffffffffffffffffffffffffff938416815264ffffffffff9283166020808301918252600096875260049052919094209351845491519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090911617909116179055565b6127d26130a8565b60008060006127df6130a8565b7f4f445200000000000000000000000000000000000000000000000000000000008614156128d4576000935060009250600091505b6005821015612896576128346009836005811061282d57fe5b01546127ca565b80519091506128679085907affffffffffffffffffffffffffffffffffffffffffffffffffffff1663ffffffff6125dd16565b935082816020015164ffffffffff16111561288b57806020015164ffffffffff1692505b600190910190612814565b604080518082019091527affffffffffffffffffffffffffffffffffffffffffffffffffffff8516815264ffffffffff841660208201529450612af3565b60008681526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612a8b5760408051808201808352600089815260066020908152848220547f50d25bcd0000000000000000000000000000000000000000000000000000000090935293519293849373ffffffffffffffffffffffffffffffffffffffff909316926350d25bcd92604480870193929182880390910190829087803b15801561298157600080fd5b505af1158015612995573d6000803e3d6000fd5b505050506040513d60208110156129ab57600080fd5b50516402540be400027affffffffffffffffffffffffffffffffffffffffffffffffffffff16815260008881526006602090815260408083205481517f8205bf6a00000000000000000000000000000000000000000000000000000000815291519483019473ffffffffffffffffffffffffffffffffffffffff90911693638205bf6a93600480850194919392918390030190829087803b158015612a4f57600080fd5b505af1158015612a63573d6000803e3d6000fd5b505050506040513d6020811015612a7957600080fd5b505164ffffffffff1690529450612af3565b6000868152600460209081526040918290208251808401909352547affffffffffffffffffffffffffffffffffffffffffffffffffffff811683527b01000000000000000000000000000000000000000000000000000000900464ffffffffff169082015294505b50505050919050565b60008060008451