Files
2026-03-02 12:14:09 -08:00

504 lines
30 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "OraclePriceFeed",
"sourceName": "contracts/reserve/OraclePriceFeed.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"internalType": "address",
"name": "reserveSystem_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "AccessControlBadConfirmation",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "neededRole",
"type": "bytes32"
}
],
"name": "AccessControlUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "aggregator",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "multiplier",
"type": "uint256"
}
],
"name": "AggregatorSet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "price",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"name": "PriceFeedUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "previousAdminRole",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "newAdminRole",
"type": "bytes32"
}
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleRevoked",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PRICE_FEED_UPDATER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "aggregators",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "asset",
"type": "address"
}
],
"name": "getAndUpdatePrice",
"outputs": [
{
"internalType": "uint256",
"name": "price",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "lastUpdateTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "asset",
"type": "address"
}
],
"name": "needsUpdate",
"outputs": [
{
"internalType": "bool",
"name": "updateNeeded",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "priceMultipliers",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "callerConfirmation",
"type": "address"
}
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "reserveSystem",
"outputs": [
{
"internalType": "contract IReserveSystem",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "asset",
"type": "address"
},
{
"internalType": "address",
"name": "aggregator",
"type": "address"
},
{
"internalType": "uint256",
"name": "multiplier",
"type": "uint256"
}
],
"name": "setAggregator",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "interval",
"type": "uint256"
}
],
"name": "setUpdateInterval",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "updateInterval",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "assets",
"type": "address[]"
}
],
"name": "updateMultiplePriceFeeds",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "asset",
"type": "address"
}
],
"name": "updatePriceFeed",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608034620000a757601f6200148b38819003918201601f19168301916001600160401b03831184841017620000ac578084926040948552833981010312620000a757620000766200005e60206200005684620000c2565b9301620000c2565b91601e6004556200006f81620000d7565b5062000157565b50600180546001600160a01b0319166001600160a01b03929092169190911790556040516112719081620001fa8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620000a757565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200015357818052816020526040822081835260205260408220600160ff1982541617905533916000805160206200146b8339815191528180a4600190565b5090565b6001600160a01b031660008181527f8692b18df38fa94afa0ac9cc0a355604ff546951447759f2d12b85d54953f8b160205260408120549091907f39bf58c4de7d62744698a7d1e0892b607ab56918378b4250081818edf8a4e7339060ff16620001f457808352826020526040832082845260205260408320600160ff198254161790556000805160206200146b833981519152339380a4600190565b50509056fe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610efa57508063023d952914610ecb578063112cdab914610e90578063248a9ca314610e675780632ce9aead14610e2f5780632f2ff15d14610e0657806336568abe14610dbf5780634ede932f14610a535780637124c683146109e857806381c4af5a146109bf57806391d148541461097b57806395877f78146106ab578063a217fddf14610690578063ad85bdff14610338578063d547741f146102fa578063d84c1fba1461018b578063e322180e14610150578063f12b32ab146101145763fd2c80ae146100f457600080fd5b3461011057826003193601126101105760209250549051908152f35b8280fd5b50503461014c57602036600319011261014c5760209181906001600160a01b0361013c610f4e565b1681526003845220549051908152f35b5080fd5b50503461014c578160031936011261014c57602090517f39bf58c4de7d62744698a7d1e0892b607ab56918378b4250081818edf8a4e7338152f35b509034610110576060366003190112610110576101a6610f4e565b6101ae610f69565b91604435916101bb6110c8565b6001600160a01b039081169384156102b7571693841561027557821561023357507fb5efcbaee81a797eb0f59fd37d9fa18e6b23eca9fd41bbe74a0945c4bd5042709160209184875260028352808720866bffffffffffffffffffffffff60a01b82541617905560038352818188205551908152a380f35b6020606492519162461bcd60e51b8352820152602060248201527f4f7261636c655072696365466565643a207a65726f206d756c7469706c6965726044820152fd5b6020606492519162461bcd60e51b8352820152602060248201527f4f7261636c655072696365466565643a207a65726f2061676772656761746f726044820152fd5b825162461bcd60e51b8152602081880152601b60248201527f4f7261636c655072696365466565643a207a65726f20617373657400000000006044820152606490fd5b509034610110578060031936011261011057610334913561032f600161031e610f69565b938387528660205286200154611102565b6111a6565b5080f35b503461011057602091826003193601126106805781359167ffffffffffffffff9384841161068c576023903660238601121561068857848301359586116106885760249460059036878960051b830101116106845761039561104e565b88805b8981106103a3575080f35b80841b83018901356001600160a01b0381811691829003610680576103c661104e565b818452808a600295868a52205416801561063457908d918b51928391633fabe5a360e21b8352828d60a09485935afa93841561062857819282956105d7575b50508113156105945782156105465761041e8342610f7f565b958b549660019780891b92818404149015171561053257116104ef57906104518f9285845260038b528d8420549061103b565b955416803b1561014c57818460648f938f8f918b8692519788968795631417710760e01b87528601528401528860448401525af180156104e557908c9392916104c8575b509460008051602061121c8339815191529291868560019852898b528342912055825191825289820152a2018990610398565b819293506104d590610fd8565b6104e257908a9138610495565b80fd5b8c513d84823e3d90fd5b508a5162461bcd60e51b8152808b01899052601c818e01527f4f7261636c655072696365466565643a207374616c65207072696365000000006044820152606490fd5b5050634e487b7160e01b8f5260118b528c8ffd5b508a5162461bcd60e51b8152808b018990526022818e01527f4f7261636c655072696365466565643a20696e76616c69642074696d6573746160448201526106d760f41b6064820152608490fd5b508a5162461bcd60e51b8152808b01899052601e818e01527f4f7261636c655072696365466565643a20696e76616c696420707269636500006044820152606490fd5b809295508193503d8311610621575b6105f08183611002565b810103126101105761060181611024565b5088810151610617608060608401519301611024565b5090923880610405565b503d6105e6565b508c51903d90823e3d90fd5b60848a8a8e8b8f519362461bcd60e51b85528401528201527f4f7261636c655072696365466565643a2061676772656761746f72206e6f74206044820152621cd95d60ea1b6064820152fd5b8380fd5b8880fd5b8680fd5b8580fd5b50503461014c578160031936011261014c5751908152602090f35b5090346101105760209081600319360112610680576106c8610f4e565b6106d061104e565b6001600160a01b0390811680865260028452828620549094908216801561092c5760a08291855193848092633fabe5a360e21b82525afa91821561092257879088936108d0575b508781131561088d57821561083f576107308342610f7f565b8254908160011b918083046002149015171561082c57116107e95790610762889288845260038852868420549061103b565b936001541690813b156101105787606484928389519586948593631417710760e01b85528401528960248401528860448401525af180156107df576107cb575b50938560008051602061121c83398151915295526005815242848820558351928352820152a280f35b6107d490610fd8565b61068c5785386107a2565b85513d84823e3d90fd5b845162461bcd60e51b8152808301879052601c60248201527f4f7261636c655072696365466565643a207374616c65207072696365000000006044820152606490fd5b634e487b7160e01b8a526011845260248afd5b845162461bcd60e51b8152808301879052602260248201527f4f7261636c655072696365466565643a20696e76616c69642074696d6573746160448201526106d760f41b6064820152608490fd5b845162461bcd60e51b8152808301879052601e60248201527f4f7261636c655072696365466565643a20696e76616c696420707269636500006044820152606490fd5b92505060a0823d60a01161091a575b816108ec60a09383611002565b81010312610688576108fd82611024565b5084820151610913608060608501519401611024565b5038610717565b3d91506108df565b84513d89823e3d90fd5b835162461bcd60e51b8152808301869052602360248201527f4f7261636c655072696365466565643a2061676772656761746f72206e6f74206044820152621cd95d60ea1b6064820152608490fd5b503461011057816003193601126101105781602093610998610f69565b92358152808552209060018060a01b0316600052825260ff81600020541690519015158152f35b50503461014c578160031936011261014c5760015490516001600160a01b039091168152602090f35b503461011057602036600319011261011057803591610a056110c8565b8215610a1057505580f35b906020606492519162461bcd60e51b8352820152601e60248201527f4f7261636c655072696365466565643a207a65726f20696e74657276616c00006044820152fd5b5082903461014c5760208060031936011261011057610a70610f4e565b610a7861104e565b6001600160a01b03908116808552600283528585205490919081168015610d705760a08591885192838092633fabe5a360e21b82525afa908115610d665786908792610d14575b5086811315610cd1578115610c8357610ad88242610f7f565b8654908160011b9180830460021490151715610c705711610c2d578387526003855287872054610b079161103b565b908260015416803b15610c295787809160648b5180948193631417710760e01b83528a8d8401528860248401528760448401525af18015610c1f5790899594939291610bf3575b5060008051602061121c83398151915285602494938693848c5260058a5242838d2055825191825289820152a26001541694835195869384926341976e0960e01b84528301525afa918215610be957838093610bb1575b50508351928352820152f35b91925092508383813d8311610be2575b610bcb8183611002565b810103126104e25750808251920151908480610ba5565b503d610bc1565b84513d85823e3d90fd5b856024949386939a610c1360008051602061121c83398151915294610fd8565b9a935093945050610b4e565b89513d8a823e3d90fd5b8780fd5b875162461bcd60e51b8152808701869052601c60248201527f4f7261636c655072696365466565643a207374616c65207072696365000000006044820152606490fd5b634e487b7160e01b895260118852602489fd5b875162461bcd60e51b8152808701869052602260248201527f4f7261636c655072696365466565643a20696e76616c69642074696d6573746160448201526106d760f41b6064820152608490fd5b875162461bcd60e51b8152808701869052601e60248201527f4f7261636c655072696365466565643a20696e76616c696420707269636500006044820152606490fd5b91505060a0813d60a011610d5e575b81610d3060a09383611002565b8101031261068c57610d4181611024565b5083810151610d57608060608401519301611024565b5088610abf565b3d9150610d23565b87513d88823e3d90fd5b865162461bcd60e51b8152808601859052602360248201527f4f7261636c655072696365466565643a2061676772656761746f72206e6f74206044820152621cd95d60ea1b6064820152608490fd5b5091903461014c578060031936011261014c57610dda610f69565b90336001600160a01b03831603610df757506103349192356111a6565b5163334bd91960e11b81528390fd5b5090346101105780600319360112610110576103349135610e2a600161031e610f69565b611128565b50503461014c57602036600319011261014c5760209181906001600160a01b03610e57610f4e565b1681526005845220549051908152f35b503461011057602036600319011261011057816020936001923581528085522001549051908152f35b50503461014c57602036600319011261014c576020916001600160a01b0390829082610eba610f4e565b168152600285522054169051908152f35b50503461014c57602036600319011261014c57602090610ef1610eec610f4e565b610fa2565b90519015158152f35b92505034610110576020366003190112610110573563ffffffff60e01b81168091036101105760209250637965db0b60e01b8114908115610f3d575b5015158152f35b6301ffc9a760e01b14905038610f36565b600435906001600160a01b0382168203610f6457565b600080fd5b602435906001600160a01b0382168203610f6457565b91908203918211610f8c57565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03166000908152600560205260409020548015610fd257610fca9042610f7f565b600454111590565b50600190565b67ffffffffffffffff8111610fec57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610fec57604052565b519069ffffffffffffffffffff82168203610f6457565b81810292918115918404141715610f8c57565b3360009081527f8692b18df38fa94afa0ac9cc0a355604ff546951447759f2d12b85d54953f8b160205260409020547f39bf58c4de7d62744698a7d1e0892b607ab56918378b4250081818edf8a4e7339060ff16156110aa5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff16156110aa5750565b80600052600060205260406000203360005260205260ff60406000205416156110aa5750565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146111a157808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146111a15780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fe7f0087464ace68eb51ed07d9daf1bd00eb6e1d36e4889a096a0eaf702f7af558a26469706673582212208104a7dadba9d0398d36bf6ee14f9f99a699b7bc3e0b327e4b3fe4ebe3d30d5764736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
"deployedBytecode": "0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610efa57508063023d952914610ecb578063112cdab914610e90578063248a9ca314610e675780632ce9aead14610e2f5780632f2ff15d14610e0657806336568abe14610dbf5780634ede932f14610a535780637124c683146109e857806381c4af5a146109bf57806391d148541461097b57806395877f78146106ab578063a217fddf14610690578063ad85bdff14610338578063d547741f146102fa578063d84c1fba1461018b578063e322180e14610150578063f12b32ab146101145763fd2c80ae146100f457600080fd5b3461011057826003193601126101105760209250549051908152f35b8280fd5b50503461014c57602036600319011261014c5760209181906001600160a01b0361013c610f4e565b1681526003845220549051908152f35b5080fd5b50503461014c578160031936011261014c57602090517f39bf58c4de7d62744698a7d1e0892b607ab56918378b4250081818edf8a4e7338152f35b509034610110576060366003190112610110576101a6610f4e565b6101ae610f69565b91604435916101bb6110c8565b6001600160a01b039081169384156102b7571693841561027557821561023357507fb5efcbaee81a797eb0f59fd37d9fa18e6b23eca9fd41bbe74a0945c4bd5042709160209184875260028352808720866bffffffffffffffffffffffff60a01b82541617905560038352818188205551908152a380f35b6020606492519162461bcd60e51b8352820152602060248201527f4f7261636c655072696365466565643a207a65726f206d756c7469706c6965726044820152fd5b6020606492519162461bcd60e51b8352820152602060248201527f4f7261636c655072696365466565643a207a65726f2061676772656761746f726044820152fd5b825162461bcd60e51b8152602081880152601b60248201527f4f7261636c655072696365466565643a207a65726f20617373657400000000006044820152606490fd5b509034610110578060031936011261011057610334913561032f600161031e610f69565b938387528660205286200154611102565b6111a6565b5080f35b503461011057602091826003193601126106805781359167ffffffffffffffff9384841161068c576023903660238601121561068857848301359586116106885760249460059036878960051b830101116106845761039561104e565b88805b8981106103a3575080f35b80841b83018901356001600160a01b0381811691829003610680576103c661104e565b818452808a600295868a52205416801561063457908d918b51928391633fabe5a360e21b8352828d60a09485935afa93841561062857819282956105d7575b50508113156105945782156105465761041e8342610f7f565b958b549660019780891b92818404149015171561053257116104ef57906104518f9285845260038b528d8420549061103b565b955416803b1561014c57818460648f938f8f918b8692519788968795631417710760e01b87528601528401528860448401525af180156104e557908c9392916104c8575b509460008051602061121c8339815191529291868560019852898b528342912055825191825289820152a2018990610398565b819293506104d590610fd8565b6104e257908a9138610495565b80fd5b8c513d84823e3d90fd5b508a5162461bcd60e51b8152808b01899052601c818e01527f4f7261636c655072696365466565643a207374616c65207072696365000000006044820152606490fd5b5050634e487b7160e01b8f5260118b528c8ffd5b508a5162461bcd60e51b8152808b018990526022818e01527f4f7261636c655072696365466565643a20696e76616c69642074696d6573746160448201526106d760f41b6064820152608490fd5b508a5162461bcd60e51b8152808b01899052601e818e01527f4f7261636c655072696365466565643a20696e76616c696420707269636500006044820152606490fd5b809295508193503d8311610621575b6105f08183611002565b810103126101105761060181611024565b5088810151610617608060608401519301611024565b5090923880610405565b503d6105e6565b508c51903d90823e3d90fd5b60848a8a8e8b8f519362461bcd60e51b85528401528201527f4f7261636c655072696365466565643a2061676772656761746f72206e6f74206044820152621cd95d60ea1b6064820152fd5b8380fd5b8880fd5b8680fd5b8580fd5b50503461014c578160031936011261014c5751908152602090f35b5090346101105760209081600319360112610680576106c8610f4e565b6106d061104e565b6001600160a01b0390811680865260028452828620549094908216801561092c5760a08291855193848092633fabe5a360e21b82525afa91821561092257879088936108d0575b508781131561088d57821561083f576107308342610f7f565b8254908160011b918083046002149015171561082c57116107e95790610762889288845260038852868420549061103b565b936001541690813b156101105787606484928389519586948593631417710760e01b85528401528960248401528860448401525af180156107df576107cb575b50938560008051602061121c83398151915295526005815242848820558351928352820152a280f35b6107d490610fd8565b61068c5785386107a2565b85513d84823e3d90fd5b845162461bcd60e51b8152808301879052601c60248201527f4f7261636c655072696365466565643a207374616c65207072696365000000006044820152606490fd5b634e487b7160e01b8a526011845260248afd5b845162461bcd60e51b8152808301879052602260248201527f4f7261636c655072696365466565643a20696e76616c69642074696d6573746160448201526106d760f41b6064820152608490fd5b845162461bcd60e51b8152808301879052601e60248201527f4f7261636c655072696365466565643a20696e76616c696420707269636500006044820152606490fd5b92505060a0823d60a01161091a575b816108ec60a09383611002565b81010312610688576108fd82611024565b5084820151610913608060608501519401611024565b5038610717565b3d91506108df565b84513d89823e3d90fd5b835162461bcd60e51b8152808301869052602360248201527f4f7261636c655072696365466565643a2061676772656761746f72206e6f74206044820152621cd95d60ea1b6064820152608490fd5b503461011057816003193601126101105781602093610998610f69565b92358152808552209060018060a01b0316600052825260ff81600020541690519015158152f35b50503461014c578160031936011261014c5760015490516001600160a01b039091168152602090f35b503461011057602036600319011261011057803591610a056110c8565b8215610a1057505580f35b906020606492519162461bcd60e51b8352820152601e60248201527f4f7261636c655072696365466565643a207a65726f20696e74657276616c00006044820152fd5b5082903461014c5760208060031936011261011057610a70610f4e565b610a7861104e565b6001600160a01b03908116808552600283528585205490919081168015610d705760a08591885192838092633fabe5a360e21b82525afa908115610d665786908792610d14575b5086811315610cd1578115610c8357610ad88242610f7f565b8654908160011b9180830460021490151715610c705711610c2d578387526003855287872054610b079161103b565b908260015416803b15610c295787809160648b5180948193631417710760e01b83528a8d8401528860248401528760448401525af18015610c1f5790899594939291610bf3575b5060008051602061121c83398151915285602494938693848c5260058a5242838d2055825191825289820152a26001541694835195869384926341976e0960e01b84528301525afa918215610be957838093610bb1575b50508351928352820152f35b91925092508383813d8311610be2575b610bcb8183611002565b810103126104e25750808251920151908480610ba5565b503d610bc1565b84513d85823e3d90fd5b856024949386939a610c1360008051602061121c83398151915294610fd8565b9a935093945050610b4e565b89513d8a823e3d90fd5b8780fd5b875162461bcd60e51b8152808701869052601c60248201527f4f7261636c655072696365466565643a207374616c65207072696365000000006044820152606490fd5b634e487b7160e01b895260118852602489fd5b875162461bcd60e51b8152808701869052602260248201527f4f7261636c655072696365466565643a20696e76616c69642074696d6573746160448201526106d760f41b6064820152608490fd5b875162461bcd60e51b8152808701869052601e60248201527f4f7261636c655072696365466565643a20696e76616c696420707269636500006044820152606490fd5b91505060a0813d60a011610d5e575b81610d3060a09383611002565b8101031261068c57610d4181611024565b5083810151610d57608060608401519301611024565b5088610abf565b3d9150610d23565b87513d88823e3d90fd5b865162461bcd60e51b8152808601859052602360248201527f4f7261636c655072696365466565643a2061676772656761746f72206e6f74206044820152621cd95d60ea1b6064820152608490fd5b5091903461014c578060031936011261014c57610dda610f69565b90336001600160a01b03831603610df757506103349192356111a6565b5163334bd91960e11b81528390fd5b5090346101105780600319360112610110576103349135610e2a600161031e610f69565b611128565b50503461014c57602036600319011261014c5760209181906001600160a01b03610e57610f4e565b1681526005845220549051908152f35b503461011057602036600319011261011057816020936001923581528085522001549051908152f35b50503461014c57602036600319011261014c576020916001600160a01b0390829082610eba610f4e565b168152600285522054169051908152f35b50503461014c57602036600319011261014c57602090610ef1610eec610f4e565b610fa2565b90519015158152f35b92505034610110576020366003190112610110573563ffffffff60e01b81168091036101105760209250637965db0b60e01b8114908115610f3d575b5015158152f35b6301ffc9a760e01b14905038610f36565b600435906001600160a01b0382168203610f6457565b600080fd5b602435906001600160a01b0382168203610f6457565b91908203918211610f8c57565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03166000908152600560205260409020548015610fd257610fca9042610f7f565b600454111590565b50600190565b67ffffffffffffffff8111610fec57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610fec57604052565b519069ffffffffffffffffffff82168203610f6457565b81810292918115918404141715610f8c57565b3360009081527f8692b18df38fa94afa0ac9cc0a355604ff546951447759f2d12b85d54953f8b160205260409020547f39bf58c4de7d62744698a7d1e0892b607ab56918378b4250081818edf8a4e7339060ff16156110aa5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff16156110aa5750565b80600052600060205260406000203360005260205260ff60406000205416156110aa5750565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146111a157808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146111a15780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fe7f0087464ace68eb51ed07d9daf1bd00eb6e1d36e4889a096a0eaf702f7af558a26469706673582212208104a7dadba9d0398d36bf6ee14f9f99a699b7bc3e0b327e4b3fe4ebe3d30d5764736f6c63430008160033",
"linkReferences": {},
"deployedLinkReferences": {}
}