[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" }, { "internalType": "uint256", "name": "sftId_", "type": "uint256" } ], "name": "burn", "outputs": [ { "internalType": "uint256", "name": "toSftId_", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "getSharesByValue", "outputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "getValueByShares", "outputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "holdingValueSftId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "wrappedSftAddress_", "type": "address" }, { "internalType": "uint256", "name": "wrappedSftSlot_", "type": "uint256" }, { "internalType": "address", "name": "navOracle_", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sftId_", "type": "uint256" }, { "internalType": "uint256", "name": "amount_", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "navOracle", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "fromSftId_", "type": "uint256" }, { "internalType": "uint256", "name": "sftId_", "type": "uint256" }, { "internalType": "uint256", "name": "value_", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "onERC3525Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "from_", "type": "address" }, { "internalType": "uint256", "name": "sftId_", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "onERC721Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "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": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "underlyingAsset", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "wrappedSftAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "wrappedSftSlot", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b61262180620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101115760003560e01c80629ce20b1461011657806301ffc9a71461014757806306fdde031461016a578063095ea7b31461017f578063150b7a021461019257806318160ddd146101a55780631b2ef1ca146101bb57806323b872dd146101d0578063313ce567146101e357806344b32bd1146101fd57806349d4640d146102065780634eb079811461022657806370a082311461022f5780637158da7c1461024257806371e26e001461024a57806395d89b411461025d578063a1dd6a2e14610265578063a9059cbb14610278578063b390c0ab1461028b578063baecd3261461029e578063dd62ed3e146102b1578063e31c3a90146102c4575b600080fd5b610129610124366004611c3e565b6102d7565b6040516001600160e01b031990911681526020015b60405180910390f35b61015a610155366004611cb0565b61057a565b604051901515815260200161013e565b6101726105cb565b60405161013e9190611ce1565b61015a61018d366004611d2f565b61066c565b6101296101a0366004611d5b565b610684565b6101ad61090c565b60405190815260200161013e565b6101ce6101c9366004611dcd565b610921565b005b61015a6101de366004611def565b610c43565b6101eb610c67565b60405160ff909116815260200161013e565b6101ad60035481565b600254610219906001600160a01b031681565b60405161013e9190611e30565b6101ad60015481565b6101ad61023d366004611e44565b610ce4565b610219610d0f565b6101ad610258366004611e61565b610dfd565b610172610ee1565b6101ce610273366004611f1c565b610efe565b61015a610286366004611d2f565b61115f565b6101ad610299366004611dcd565b61116d565b600054610219906001600160a01b031681565b6101ad6102bf366004611fb0565b611427565b6101ad6102d2366004611e61565b611463565b600080546001600160a01b0316331461030b5760405162461bcd60e51b815260040161030290611fe9565b60405180910390fd5b600080546040516331a9108f60e11b8152600481018990526001600160a01b0390911690636352211e90602401602060405180830381865afa158015610355573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610379919061202a565b9050306001600160a01b0382160361039a5750629ce20b60e01b9050610570565b600085116103ba5760405162461bcd60e51b815260040161030290612047565b6003546000036104f85760005460405163131f9f3f60e11b8152600481018890526001600160a01b039091169063263f3e7e90602401602060405180830381865afa15801561040d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610431919061208d565b600154146104515760405162461bcd60e51b8152600401610302906120a6565b6000546040516331a9108f60e11b8152600481018890526001600160a01b0390911690636352211e90602401602060405180830381865afa15801561049a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104be919061202a565b6001600160a01b0316306001600160a01b0316146104ee5760405162461bcd60e51b8152600401610302906120e8565b600386905561055b565b856003541461055b5760405162461bcd60e51b815260206004820152602960248201527f53667457726170706564546f6b656e3a206e6f7420686f6c64696e672076616c6044820152681d59481cd99d081a5960ba1b6064820152608401610302565b6105658186611555565b50629ce20b60e01b90505b9695505050505050565b60006001600160e01b03198216629ce20b60e01b14806105aa57506001600160e01b03198216630a85bd0160e11b145b806105c557506001600160e01b031982166301ffc9a760e01b145b92915050565b606060006105d761158b565b90508060030180546105e890612129565b80601f016020809104026020016040519081016040528092919081815260200182805461061490612129565b80156106615780601f1061063657610100808354040283529160200191610661565b820191906000526020600020905b81548152906001019060200180831161064457829003601f168201915b505050505091505090565b60003361067a8185856115af565b5060019392505050565b600080546001600160a01b031633146106af5760405162461bcd60e51b815260040161030290611fe9565b60005460405163131f9f3f60e11b8152600481018690526001600160a01b039091169063263f3e7e90602401602060405180830381865afa1580156106f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071c919061208d565b6001541461073c5760405162461bcd60e51b8152600401610302906120a6565b6000546040516331a9108f60e11b8152600481018690526001600160a01b0390911690636352211e90602401602060405180830381865afa158015610785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a9919061202a565b6001600160a01b0316306001600160a01b0316146107d95760405162461bcd60e51b8152600401610302906120e8565b306001600160a01b038616036107f75750630a85bd0160e11b610903565b60008054604051631398fee160e31b8152600481018790526001600160a01b0390911690639cc7f70890602401602060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610865919061208d565b9050600081116108875760405162461bcd60e51b815260040161030290612047565b60035460000361089b5760038590556108ed565b6000546003546108b7916001600160a01b0316908790846115c1565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018590555b6108f78682611555565b50630a85bd0160e11b90505b95945050505050565b60008061091761158b565b6002015492915050565b610929611632565b60005460405163131f9f3f60e11b8152600481018490526001600160a01b039091169063263f3e7e90602401602060405180830381865afa158015610972573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610996919061208d565b600154146109b65760405162461bcd60e51b815260040161030290612163565b6000546040516331a9108f60e11b8152600481018490526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156109ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a23919061202a565b6001600160a01b0316336001600160a01b031614610a945760405162461bcd60e51b815260206004820152602860248201527f53667457726170706564546f6b656e3a2063616c6c6572206973206e6f742073604482015267333a1037bbb732b960c11b6064820152608401610302565b60008111610af55760405162461bcd60e51b815260206004820152602860248201527f53667457726170706564546f6b656e3a206d696e7420616d6f756e742063616e60448201526706e6f7420626520360c41b6064820152608401610302565b60008054604051631398fee160e31b8152600481018590526001600160a01b0390911690639cc7f70890602401602060405180830381865afa158015610b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b63919061208d565b9050808203610b8857600054610b83906001600160a01b03163385611668565b610c36565b80821015610bd557600354600003610bb957600054610bb1906001600160a01b031684846116d2565b600355610c36565b600054600354610b83916001600160a01b0316908590856115c1565b60405162461bcd60e51b815260206004820152603060248201527f53667457726170706564546f6b656e3a206d696e7420616d6f756e742065786360448201526f65656473207366742062616c616e636560801b6064820152608401610302565b50610c3f61174a565b5050565b600033610c5185828561175b565b610c5c8585856117ae565b506001949350505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316633e7e86696040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdf91906121a7565b905090565b600080610cef61158b565b6001600160a01b0390931660009081526020939093525050604090205490565b60008054604080516308ba344760e41b8152905183926001600160a01b031691638ba344709160048083019260209291908290030181865afa158015610d59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7d919061202a565b90506000816001600160a01b03166394f7e23e6001546040518263ffffffff1660e01b8152600401610db191815260200190565b60e060405180830381865afa158015610dce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df291906121f6565b602001519392505050565b600080546001546040518392610e21926001600160a01b03909116916020016122a9565b60408051808303601f190181529082905280516020909101206002546395b4c46760e01b8352600483018290524260248401529092506000916001600160a01b03909116906395b4c467906044016040805180830381865afa158015610e8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf91906122c2565b509050610eba610c67565b610ec590600a6123e0565b610ecf82866123ef565b610ed99190612406565b949350505050565b60606000610eed61158b565b90508060040180546105e890612129565b6000610f0861180d565b805490915060ff600160401b82041615906001600160401b0316600081158015610f2f5750825b90506000826001600160401b03166001148015610f4b5750303b155b905081158015610f59575080155b15610f775760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315610fa057845460ff60401b1916600160401b1785555b6001600160a01b0388166110025760405162461bcd60e51b8152602060048201526024808201527f53667457726170706564546f6b656e3a20696e76616c696420736674206164646044820152637265737360e01b6064820152608401610302565b8660000361105c5760405162461bcd60e51b815260206004820152602160248201527f53667457726170706564546f6b656e3a20696e76616c69642073667420736c6f6044820152601d60fa1b6064820152608401610302565b6001600160a01b0386166110c65760405162461bcd60e51b815260206004820152602b60248201527f53667457726170706564546f6b656e3a20696e76616c6964206e6176206f726160448201526a636c65206164647265737360a81b6064820152608401610302565b6110d08a8a611831565b6110d8611843565b600080546001600160a01b03808b166001600160a01b03199283161790925560018990556002805492891692909116919091179055831561115357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b60003361067a8185856117ae565b6000611177611632565b600083116111d85760405162461bcd60e51b815260206004820152602860248201527f53667457726170706564546f6b656e3a206275726e20616d6f756e742063616e60448201526706e6f7420626520360c41b6064820152608401610302565b6111e23384611855565b816000036112a7576004546000036112165760005460035461120f916001600160a01b031690338661188b565b905061141f565b6004805461122690600190612428565b815481106112365761123661243b565b90600052602060002001549050600480548061125457611254612451565b6001900381819060005260206000200160009055905561128b60008054906101000a90046001600160a01b031660035483866115c1565b6000546112a2906001600160a01b03163383611903565b61141f565b60005460405163131f9f3f60e11b8152600481018490526001600160a01b039091169063263f3e7e90602401602060405180830381865afa1580156112f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611314919061208d565b600154146113345760405162461bcd60e51b815260040161030290612163565b6000546040516331a9108f60e11b8152600481018490526001600160a01b0390911690636352211e90602401602060405180830381865afa15801561137d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a1919061202a565b6001600160a01b0316336001600160a01b0316146114015760405162461bcd60e51b815260206004820152601e60248201527f53667457726170706564546f6b656e3a206e6f7420736674206f776e657200006044820152606401610302565b60005460035461141c916001600160a01b03169084866115c1565b50805b6105c561174a565b60008061143261158b565b6001600160a01b03948516600090815260019190910160209081526040808320959096168252939093525050205490565b600080546001546040518392611487926001600160a01b03909116916020016122a9565b60408051808303601f190181529082905280516020909101206002546395b4c46760e01b8352600483018290524260248401529092506000916001600160a01b03909116906395b4c467906044016040805180830381865afa1580156114f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061151591906122c2565b509050801561154b5780611527610c67565b61153290600a6123e0565b61153c90866123ef565b6115469190612406565b610ed9565b6000949350505050565b6001600160a01b03821661157f57600060405163ec442f0560e01b81526004016103029190611e30565b610c3f60008383611935565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0090565b6115bc8383836001611a5d565b505050565b604051630310ed7f60e41b815260048101849052602481018390526044810182905284906001600160a01b0382169063310ed7f090606401600060405180830381600087803b15801561161357600080fd5b505af1158015611627573d6000803e3d6000fd5b505050505050505050565b600061163c611b42565b80549091506001190161166257604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b604051632142170760e11b815283906001600160a01b038216906342842e0e9061169a90869030908790600401612467565b600060405180830381600087803b1580156116b457600080fd5b505af11580156116c8573d6000803e3d6000fd5b5050505050505050565b6040516307a42e0160e11b815260009084906001600160a01b03821690630f485c02906117079087903090889060040161248b565b6020604051808303816000875af1158015611726573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610903919061208d565b6000611754611b42565b6001905550565b60006117678484611427565b905060001981146117a8578181101561179957828183604051637dc7a0d960e11b8152600401610302939291906124aa565b6117a884848484036000611a5d565b50505050565b6001600160a01b0383166117d8576000604051634b637e8f60e11b81526004016103029190611e30565b6001600160a01b03821661180257600060405163ec442f0560e01b81526004016103029190611e30565b6115bc838383611935565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b611839611b66565b610c3f8282611b8b565b61184b611b66565b611853611bbc565b565b6001600160a01b03821661187f576000604051634b637e8f60e11b81526004016103029190611e30565b610c3f82600083611935565b6040516307a42e0160e11b815260009085906001600160a01b03821690630f485c02906118c09088908890889060040161248b565b6020604051808303816000875af11580156118df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610570919061208d565b6040516323b872dd60e01b815283906001600160a01b038216906323b872dd9061169a90309087908790600401612467565b600061193f61158b565b90506001600160a01b03841661196e578181600201600082825461196391906124cb565b909155506119cd9050565b6001600160a01b038416600090815260208290526040902054828110156119ae5784818460405163391434e360e21b8152600401610302939291906124aa565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b0383166119eb576002810180548390039055611a0a565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a4f91815260200190565b60405180910390a350505050565b6000611a6761158b565b90506001600160a01b038516611a9357600060405163e602df0560e01b81526004016103029190611e30565b6001600160a01b038416611abd576000604051634a1406b160e11b81526004016103029190611e30565b6001600160a01b03808616600090815260018301602090815260408083209388168352929052208390558115611b3b57836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051611b3291815260200190565b60405180910390a35b5050505050565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b611b6e611bc4565b61185357604051631afcd79f60e31b815260040160405180910390fd5b611b93611b66565b6000611b9d61158b565b905060038101611bad848261252c565b50600481016117a8838261252c565b61174a611b66565b6000611bce61180d565b54600160401b900460ff16919050565b6001600160a01b0381168114611bf357600080fd5b50565b60008083601f840112611c0857600080fd5b5081356001600160401b03811115611c1f57600080fd5b602083019150836020828501011115611c3757600080fd5b9250929050565b60008060008060008060a08789031215611c5757600080fd5b8635611c6281611bde565b955060208701359450604087013593506060870135925060808701356001600160401b03811115611c9257600080fd5b611c9e89828a01611bf6565b979a9699509497509295939492505050565b600060208284031215611cc257600080fd5b81356001600160e01b031981168114611cda57600080fd5b9392505050565b600060208083528351808285015260005b81811015611d0e57858101830151858201604001528201611cf2565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611d4257600080fd5b8235611d4d81611bde565b946020939093013593505050565b600080600080600060808688031215611d7357600080fd5b8535611d7e81611bde565b94506020860135611d8e81611bde565b93506040860135925060608601356001600160401b03811115611db057600080fd5b611dbc88828901611bf6565b969995985093965092949392505050565b60008060408385031215611de057600080fd5b50508035926020909101359150565b600080600060608486031215611e0457600080fd5b8335611e0f81611bde565b92506020840135611e1f81611bde565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b600060208284031215611e5657600080fd5b8135611cda81611bde565b600060208284031215611e7357600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611ea157600080fd5b81356001600160401b0380821115611ebb57611ebb611e7a565b604051601f8301601f19908116603f01168101908282118183101715611ee357611ee3611e7a565b81604052838152866020858801011115611efc57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215611f3457600080fd5b85356001600160401b0380821115611f4b57600080fd5b611f5789838a01611e90565b96506020880135915080821115611f6d57600080fd5b50611f7a88828901611e90565b9450506040860135611f8b81611bde565b9250606086013591506080860135611fa281611bde565b809150509295509295909350565b60008060408385031215611fc357600080fd5b8235611fce81611bde565b91506020830135611fde81611bde565b809150509250929050565b60208082526021908201527f53667457726170706564546f6b656e3a206f6e6c7920777261707065642073666040820152601d60fa1b606082015260800190565b60006020828403121561203c57600080fd5b8151611cda81611bde565b60208082526026908201527f53667457726170706564546f6b656e3a206d696e74207a65726f206e6f7420616040820152651b1b1bddd95960d21b606082015260800190565b60006020828403121561209f57600080fd5b5051919050565b60208082526022908201527f53667457726170706564546f6b656e3a20756e72656365697661626c6520736c6040820152611bdd60f21b606082015260800190565b60208082526021908201527f53667457726170706564546f6b656e3a206e6f74206f776e65642073667420696040820152601960fa1b606082015260800190565b600181811c9082168061213d57607f821691505b60208210810361215d57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526024908201527f53667457726170706564546f6b656e3a20736c6f7420646f6573206e6f74206d6040820152630c2e8c6d60e31b606082015260800190565b6000602082840312156121b957600080fd5b815160ff81168114611cda57600080fd5b80516001600160401b03811681146121e157600080fd5b919050565b805180151581146121e157600080fd5b600060e0828403121561220857600080fd5b60405160e081016001600160401b038111828210171561222a5761222a611e7a565b604052825161223881611bde565b8152602083015161224881611bde565b6020820152612259604084016121ca565b604082015261226a606084016121ca565b606082015261227b608084016121ca565b608082015261228c60a084016121e6565b60a082015261229d60c084016121e6565b60c08201529392505050565b6001600160a01b03929092168252602082015260400190565b600080604083850312156122d557600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561233757816000190482111561231d5761231d6122e6565b8085161561232a57918102915b93841c9390800290612301565b509250929050565b60008261234e575060016105c5565b8161235b575060006105c5565b8160018114612371576002811461237b57612397565b60019150506105c5565b60ff84111561238c5761238c6122e6565b50506001821b6105c5565b5060208310610133831016604e8410600b84101617156123ba575081810a6105c5565b6123c483836122fc565b80600019048211156123d8576123d86122e6565b029392505050565b6000611cda60ff84168361233f565b80820281158282048414176105c5576105c56122e6565b60008261242357634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156105c5576105c56122e6565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b9283526001600160a01b03919091166020830152604082015260600190565b6001600160a01b039390931683526020830191909152604082015260600190565b808201808211156105c5576105c56122e6565b601f8211156115bc57600081815260208120601f850160051c810160208610156125055750805b601f850160051c820191505b8181101561252457828155600101612511565b505050505050565b81516001600160401b0381111561254557612545611e7a565b612559816125538454612129565b846124de565b602080601f83116001811461258e57600084156125765750858301515b600019600386901b1c1916600185901b178555612524565b600085815260208120601f198616915b828110156125bd5788860151825594840194600190910190840161259e565b50858210156125db5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220b23d77c84a31d417c371d7b456f8c3ec9d04a4c69d59df7964c360bd3dfea68264736f6c63430008150033