@acala-network/contracts
Version:
AcalaNetwork Smart Contract library for Solidity
511 lines (510 loc) • 29.2 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "StableAsset",
"sourceName": "contracts/stable-asset/StableAsset.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{
"indexed": false,
"internalType": "uint256",
"name": "minMintAmount",
"type": "uint256"
}
],
"name": "StableAssetMinted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "redeemAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
}
],
"name": "StableAssetRedeemed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{
"indexed": false,
"internalType": "uint256",
"name": "maxRedeemAmount",
"type": "uint256"
}
],
"name": "StableAssetRedeemedMulti",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "redeemAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint32",
"name": "i",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "minRedeemAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint32",
"name": "assetLength",
"type": "uint32"
}
],
"name": "StableAssetRedeemedSingle",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint32",
"name": "i",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint32",
"name": "j",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "dx",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "minDY",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint32",
"name": "assetLength",
"type": "uint32"
}
],
"name": "StableAssetSwapped",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
}
],
"name": "getStableAssetPoolMintFee",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
}
],
"name": "getStableAssetPoolPrecision",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
}
],
"name": "getStableAssetPoolRedeemFee",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
}
],
"name": "getStableAssetPoolSwapFee",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
}
],
"name": "getStableAssetPoolTokens",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
},
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
}
],
"name": "getStableAssetPoolTotalSupply",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
},
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "minMintAmount",
"type": "uint256"
}
],
"name": "stableAssetMint",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
},
{
"internalType": "uint256",
"name": "redeemAmount",
"type": "uint256"
},
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
}
],
"name": "stableAssetRedeem",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
},
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{
"internalType": "uint256",
"name": "maxRedeemAmount",
"type": "uint256"
}
],
"name": "stableAssetRedeemMulti",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
},
{
"internalType": "uint256",
"name": "redeemAmount",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "i",
"type": "uint32"
},
{
"internalType": "uint256",
"name": "minRedeemAmount",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "assetLength",
"type": "uint32"
}
],
"name": "stableAssetRedeemSingle",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "poolId",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "i",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "j",
"type": "uint32"
},
{
"internalType": "uint256",
"name": "dx",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "minDY",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "assetLength",
"type": "uint32"
}
],
"name": "stableAssetSwap",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b506111aa806100206000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80637172c6aa116100815780639ccdcf911161005b5780639ccdcf9114610192578063ba510ad6146101a5578063fb0f0f34146101b857600080fd5b80637172c6aa146101595780637f2f11ca1461016c578063819d3b161461017f57600080fd5b80633014495d116100b25780633014495d1461010957806362ff98751461011c57806368410f611461014657600080fd5b80630d3c278d146100ce5780630fde870d146100f6575b600080fd5b6100e16100dc366004610cee565b6101d9565b60405190151581526020015b60405180910390f35b6100e1610104366004610d48565b61032d565b6100e1610117366004610da2565b61046c565b61012f61012a366004610df9565b6105c7565b6040805192151583526020830191909152016100ed565b61012f610154366004610df9565b6106d2565b61012f610167366004610df9565b610754565b61012f61017a366004610df9565b6107d6565b6100e161018d366004610e1b565b610858565b61012f6101a0366004610df9565b6109c6565b6100e16101b3366004610d48565b610a48565b6101cb6101c6366004610df9565b610b87565b6040516100ed929190610e81565b600080600061040673ffffffffffffffffffffffffffffffffffffffff163388888888604051602401610210959493929190610f32565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167faa538d3400000000000000000000000000000000000000000000000000000000179052516102739190610f7f565b6000604051808303816000865af19150503d80600081146102b0576040519150601f19603f3d011682016040523d82523d6000602084013e6102b5565b606091505b509092509050816102c7573d60208201fd5b8663ffffffff163373ffffffffffffffffffffffffffffffffffffffff167fa0249f939730d9c322a114e8795dd8994f66f47128dfe154c0f22fce16ef69a288888860405161031893929190610fae565b60405180910390a35060019695505050505050565b600080600061040673ffffffffffffffffffffffffffffffffffffffff163388888888604051602401610364959493929190610fd1565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f84a1594300000000000000000000000000000000000000000000000000000000179052516103c79190610f7f565b6000604051808303816000865af19150503d8060008114610404576040519150601f19603f3d011682016040523d82523d6000602084013e610409565b606091505b5090925090508161041b573d60208201fd5b8663ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f47f670c5c3b12ab2863662bcd5070aeb401805649af7c4d3c9b3a3c9a80bfa538888886040516103189392919061101f565b60405133602482015263ffffffff808716604483015260648201869052808516608483015260a48201849052821660c4820152600090819081906104069060e40160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f6ca1634200000000000000000000000000000000000000000000000000000000179052516105109190610f7f565b6000604051808303816000865af19150503d806000811461054d576040519150601f19603f3d011682016040523d82523d6000602084013e610552565b606091505b50909250905081610564573d60208201fd5b6040805188815263ffffffff888116602083015291810187905285821660608201529089169033907f668c85be730d310ca959c534330f35a6175a218d0509c4e648af2264432b950c9060800160405180910390a3506001979650505050505050565b60405163ffffffff821660248201526000908190819081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f62ff987500000000000000000000000000000000000000000000000000000000179052516106499190610f7f565b600060405180830381855afa9150503d8060008114610684576040519150601f19603f3d011682016040523d82523d6000602084013e610689565b606091505b5090925090508161069b573d60208201fd5b80516000036106b1575060009485945092505050565b6001818060200190518101906106c79190611043565b935093505050915091565b60405163ffffffff821660248201526000908190819081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f68410f6100000000000000000000000000000000000000000000000000000000179052516106499190610f7f565b60405163ffffffff821660248201526000908190819081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7172c6aa00000000000000000000000000000000000000000000000000000000179052516106499190610f7f565b60405163ffffffff821660248201526000908190819081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7f2f11ca00000000000000000000000000000000000000000000000000000000179052516106499190610f7f565b60405133602482015263ffffffff80881660448301528087166064830152808616608483015260a4820185905260c48201849052821660e482015260009081908190610406906101040160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fff9bc03c00000000000000000000000000000000000000000000000000000000179052516109059190610f7f565b6000604051808303816000865af19150503d8060008114610942576040519150601f19603f3d011682016040523d82523d6000602084013e610947565b606091505b50909250905081610959573d60208201fd5b6040805163ffffffff8a811682528981166020830152918101889052606081018790528582166080820152908a169033907fa31a84baf925e01f4381f4fe953bf47db69c02ab4afde13ee2d30a95484c0e1b9060a00160405180910390a350600198975050505050505050565b60405163ffffffff821660248201526000908190819081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9ccdcf9100000000000000000000000000000000000000000000000000000000179052516106499190610f7f565b600080600061040673ffffffffffffffffffffffffffffffffffffffff163388888888604051602401610a7f959493929190610fd1565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f2acdb2ec0000000000000000000000000000000000000000000000000000000017905251610ae29190610f7f565b6000604051808303816000865af19150503d8060008114610b1f576040519150601f19603f3d011682016040523d82523d6000602084013e610b24565b606091505b50909250905081610b36573d60208201fd5b8663ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f14f1d461855756bee548d76b1d994b91a2c4eb3074e0596584630f2645cd20428888886040516103189392919061101f565b60405163ffffffff82166024820152600090606090829081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffb0f0f340000000000000000000000000000000000000000000000000000000017905251610c0a9190610f7f565b600060405180830381855afa9150503d8060008114610c45576040519150601f19603f3d011682016040523d82523d6000602084013e610c4a565b606091505b50909250905081610c5c573d60208201fd5b8051600003610c7357506000946060945092505050565b6001818060200190518101906106c791906110af565b803563ffffffff81168114610c9d57600080fd5b919050565b60008083601f840112610cb457600080fd5b50813567ffffffffffffffff811115610ccc57600080fd5b6020830191508360208260051b8501011115610ce757600080fd5b9250929050565b60008060008060608587031215610d0457600080fd5b610d0d85610c89565b935060208501359250604085013567ffffffffffffffff811115610d3057600080fd5b610d3c87828801610ca2565b95989497509550505050565b60008060008060608587031215610d5e57600080fd5b610d6785610c89565b9350602085013567ffffffffffffffff811115610d8357600080fd5b610d8f87828801610ca2565b9598909750949560400135949350505050565b600080600080600060a08688031215610dba57600080fd5b610dc386610c89565b945060208601359350610dd860408701610c89565b925060608601359150610ded60808701610c89565b90509295509295909350565b600060208284031215610e0b57600080fd5b610e1482610c89565b9392505050565b60008060008060008060c08789031215610e3457600080fd5b610e3d87610c89565b9550610e4b60208801610c89565b9450610e5960408801610c89565b93506060870135925060808701359150610e7560a08801610c89565b90509295509295509295565b60006040820184151583526020604081850152818551808452606086019150828701935060005b81811015610eda57845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101610ea8565b5090979650505050505050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115610f1957600080fd5b8260051b80836020870137939093016020019392505050565b73ffffffffffffffffffffffffffffffffffffffff8616815263ffffffff85166020820152836040820152608060608201526000610f74608083018486610ee7565b979650505050505050565b6000825160005b81811015610fa05760208186018101518583015201610f86565b506000920191825250919050565b838152604060208201526000610fc8604083018486610ee7565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815263ffffffff8516602082015260806040820152600061100d608083018587610ee7565b90508260608301529695505050505050565b604081526000611033604083018587610ee7565b9050826020830152949350505050565b60006020828403121561105557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b805173ffffffffffffffffffffffffffffffffffffffff81168114610c9d57600080fd5b600060208083850312156110c257600080fd5b825167ffffffffffffffff808211156110da57600080fd5b818501915085601f8301126110ee57600080fd5b8151818111156111005761110061105c565b8060051b604051601f19603f830116810181811085821117156111255761112561105c565b60405291825284820192508381018501918883111561114357600080fd5b938501935b82851015611168576111598561108b565b84529385019392850192611148565b9897505050505050505056fea26469706673582212204dfc5aa70005de8b4a6372495cfb55cca151482a9c176b201af90cef46f9416664736f6c63430008120033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80637172c6aa116100815780639ccdcf911161005b5780639ccdcf9114610192578063ba510ad6146101a5578063fb0f0f34146101b857600080fd5b80637172c6aa146101595780637f2f11ca1461016c578063819d3b161461017f57600080fd5b80633014495d116100b25780633014495d1461010957806362ff98751461011c57806368410f611461014657600080fd5b80630d3c278d146100ce5780630fde870d146100f6575b600080fd5b6100e16100dc366004610cee565b6101d9565b60405190151581526020015b60405180910390f35b6100e1610104366004610d48565b61032d565b6100e1610117366004610da2565b61046c565b61012f61012a366004610df9565b6105c7565b6040805192151583526020830191909152016100ed565b61012f610154366004610df9565b6106d2565b61012f610167366004610df9565b610754565b61012f61017a366004610df9565b6107d6565b6100e161018d366004610e1b565b610858565b61012f6101a0366004610df9565b6109c6565b6100e16101b3366004610d48565b610a48565b6101cb6101c6366004610df9565b610b87565b6040516100ed929190610e81565b600080600061040673ffffffffffffffffffffffffffffffffffffffff163388888888604051602401610210959493929190610f32565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167faa538d3400000000000000000000000000000000000000000000000000000000179052516102739190610f7f565b6000604051808303816000865af19150503d80600081146102b0576040519150601f19603f3d011682016040523d82523d6000602084013e6102b5565b606091505b509092509050816102c7573d60208201fd5b8663ffffffff163373ffffffffffffffffffffffffffffffffffffffff167fa0249f939730d9c322a114e8795dd8994f66f47128dfe154c0f22fce16ef69a288888860405161031893929190610fae565b60405180910390a35060019695505050505050565b600080600061040673ffffffffffffffffffffffffffffffffffffffff163388888888604051602401610364959493929190610fd1565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f84a1594300000000000000000000000000000000000000000000000000000000179052516103c79190610f7f565b6000604051808303816000865af19150503d8060008114610404576040519150601f19603f3d011682016040523d82523d6000602084013e610409565b606091505b5090925090508161041b573d60208201fd5b8663ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f47f670c5c3b12ab2863662bcd5070aeb401805649af7c4d3c9b3a3c9a80bfa538888886040516103189392919061101f565b60405133602482015263ffffffff808716604483015260648201869052808516608483015260a48201849052821660c4820152600090819081906104069060e40160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f6ca1634200000000000000000000000000000000000000000000000000000000179052516105109190610f7f565b6000604051808303816000865af19150503d806000811461054d576040519150601f19603f3d011682016040523d82523d6000602084013e610552565b606091505b50909250905081610564573d60208201fd5b6040805188815263ffffffff888116602083015291810187905285821660608201529089169033907f668c85be730d310ca959c534330f35a6175a218d0509c4e648af2264432b950c9060800160405180910390a3506001979650505050505050565b60405163ffffffff821660248201526000908190819081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f62ff987500000000000000000000000000000000000000000000000000000000179052516106499190610f7f565b600060405180830381855afa9150503d8060008114610684576040519150601f19603f3d011682016040523d82523d6000602084013e610689565b606091505b5090925090508161069b573d60208201fd5b80516000036106b1575060009485945092505050565b6001818060200190518101906106c79190611043565b935093505050915091565b60405163ffffffff821660248201526000908190819081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f68410f6100000000000000000000000000000000000000000000000000000000179052516106499190610f7f565b60405163ffffffff821660248201526000908190819081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7172c6aa00000000000000000000000000000000000000000000000000000000179052516106499190610f7f565b60405163ffffffff821660248201526000908190819081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7f2f11ca00000000000000000000000000000000000000000000000000000000179052516106499190610f7f565b60405133602482015263ffffffff80881660448301528087166064830152808616608483015260a4820185905260c48201849052821660e482015260009081908190610406906101040160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fff9bc03c00000000000000000000000000000000000000000000000000000000179052516109059190610f7f565b6000604051808303816000865af19150503d8060008114610942576040519150601f19603f3d011682016040523d82523d6000602084013e610947565b606091505b50909250905081610959573d60208201fd5b6040805163ffffffff8a811682528981166020830152918101889052606081018790528582166080820152908a169033907fa31a84baf925e01f4381f4fe953bf47db69c02ab4afde13ee2d30a95484c0e1b9060a00160405180910390a350600198975050505050505050565b60405163ffffffff821660248201526000908190819081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9ccdcf9100000000000000000000000000000000000000000000000000000000179052516106499190610f7f565b600080600061040673ffffffffffffffffffffffffffffffffffffffff163388888888604051602401610a7f959493929190610fd1565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f2acdb2ec0000000000000000000000000000000000000000000000000000000017905251610ae29190610f7f565b6000604051808303816000865af19150503d8060008114610b1f576040519150601f19603f3d011682016040523d82523d6000602084013e610b24565b606091505b50909250905081610b36573d60208201fd5b8663ffffffff163373ffffffffffffffffffffffffffffffffffffffff167f14f1d461855756bee548d76b1d994b91a2c4eb3074e0596584630f2645cd20428888886040516103189392919061101f565b60405163ffffffff82166024820152600090606090829081906104069060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffb0f0f340000000000000000000000000000000000000000000000000000000017905251610c0a9190610f7f565b600060405180830381855afa9150503d8060008114610c45576040519150601f19603f3d011682016040523d82523d6000602084013e610c4a565b606091505b50909250905081610c5c573d60208201fd5b8051600003610c7357506000946060945092505050565b6001818060200190518101906106c791906110af565b803563ffffffff81168114610c9d57600080fd5b919050565b60008083601f840112610cb457600080fd5b50813567ffffffffffffffff811115610ccc57600080fd5b6020830191508360208260051b8501011115610ce757600080fd5b9250929050565b60008060008060608587031215610d0457600080fd5b610d0d85610c89565b935060208501359250604085013567ffffffffffffffff811115610d3057600080fd5b610d3c87828801610ca2565b95989497509550505050565b60008060008060608587031215610d5e57600080fd5b610d6785610c89565b9350602085013567ffffffffffffffff811115610d8357600080fd5b610d8f87828801610ca2565b9598909750949560400135949350505050565b600080600080600060a08688031215610dba57600080fd5b610dc386610c89565b945060208601359350610dd860408701610c89565b925060608601359150610ded60808701610c89565b90509295509295909350565b600060208284031215610e0b57600080fd5b610e1482610c89565b9392505050565b60008060008060008060c08789031215610e3457600080fd5b610e3d87610c89565b9550610e4b60208801610c89565b9450610e5960408801610c89565b93506060870135925060808701359150610e7560a08801610c89565b90509295509295509295565b60006040820184151583526020604081850152818551808452606086019150828701935060005b81811015610eda57845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101610ea8565b5090979650505050505050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115610f1957600080fd5b8260051b80836020870137939093016020019392505050565b73ffffffffffffffffffffffffffffffffffffffff8616815263ffffffff85166020820152836040820152608060608201526000610f74608083018486610ee7565b979650505050505050565b6000825160005b81811015610fa05760208186018101518583015201610f86565b506000920191825250919050565b838152604060208201526000610fc8604083018486610ee7565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815263ffffffff8516602082015260806040820152600061100d608083018587610ee7565b90508260608301529695505050505050565b604081526000611033604083018587610ee7565b9050826020830152949350505050565b60006020828403121561105557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b805173ffffffffffffffffffffffffffffffffffffffff81168114610c9d57600080fd5b600060208083850312156110c257600080fd5b825167ffffffffffffffff808211156110da57600080fd5b818501915085601f8301126110ee57600080fd5b8151818111156111005761110061105c565b8060051b604051601f19603f830116810181811085821117156111255761112561105c565b60405291825284820192508381018501918883111561114357600080fd5b938501935b82851015611168576111598561108b565b84529385019392850192611148565b9897505050505050505056fea26469706673582212204dfc5aa70005de8b4a6372495cfb55cca151482a9c176b201af90cef46f9416664736f6c63430008120033",
"linkReferences": {},
"deployedLinkReferences": {}
}