0 txs
89 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getRequestedShares
viewfunction getRequestedShares(uint256 requestId) view returns (uint256)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isFinalizer
viewfunction isFinalizer(address finalizer) view returns (bool)
lastFinalizedRequestId
viewfunction lastFinalizedRequestId() view returns (uint256)
lastRequestId
viewfunction lastRequestId() view returns (uint256)
levvaVault
viewfunction levvaVault() view returns (address)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
renounceOwnership
purefunction renounceOwnership() pure
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
acceptOwnership
nonpayablefunction acceptOwnership()
addFinalizer
nonpayablefunction addFinalizer(address finalizer, bool add)
approve
nonpayablefunction approve(address to, uint256 tokenId)
claimWithdrawal
nonpayablefunction claimWithdrawal(uint256 requestId, address receiver) returns (uint256 claimedAssets)
finalizeRequests
nonpayablefunction finalizeRequests(uint256 requestId)
initialize
nonpayablefunction initialize(address owner, address levvaVault, string name, string symbol)
requestWithdrawal
nonpayablefunction requestWithdrawal(uint256 shares, address receiver) returns (uint256 requestId)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
FinalizerSet
event FinalizerSet(address indexed finalizer, bool added)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
RequestsFinalized
event RequestsFinalized(uint256 lastFinalizedRequest)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
WithdrawalClaimed
event WithdrawalClaimed(uint256 indexed requestId, address indexed receiver, uint256 claimedAssets)
WithdrawalRequested
event WithdrawalRequested(uint256 indexed requestId, address indexed receiver, uint256 shares)
errors
AlreadyFinalized
error AlreadyFinalized()
ERC721IncorrectOwner
error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner)
ERC721InsufficientApproval
error ERC721InsufficientApproval(address operator, uint256 tokenId)
ERC721InvalidApprover
error ERC721InvalidApprover(address approver)
ERC721InvalidOperator
error ERC721InvalidOperator(address operator)
ERC721InvalidOwner
error ERC721InvalidOwner(address owner)
ERC721InvalidReceiver
error ERC721InvalidReceiver(address receiver)
ERC721InvalidSender
error ERC721InvalidSender(address sender)
ERC721NonexistentToken
error ERC721NonexistentToken(uint256 tokenId)
Forbidden
error Forbidden()
FutureFinalization
error FutureFinalization()
InvalidInitialization
error InvalidInitialization()
NoAccess
error NoAccess(address sender)
NotFinalized
error NotFinalized()
NotInitializing
error NotInitializing()
NotRequestOwner
error NotRequestOwner()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ZeroAddress
error ZeroAddress()
creation bytecode
0x6080806040523460aa575f51602061303c5f395f51905f525460ff8160401c16609b576002600160401b03196001600160401b038216016049575b604051612f8d90816100af8239f35b6001600160401b0319166001600160401b039081175f51602061303c5f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80603a565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146123645750806306fdde0314612263578063081812fc146121de578063095ea7b31461201e5780632016a0d2146117e25780632075e9931461177257806321739779146111f857806323b872dd146111e15780633384d9fb14610dd557806342842e0e14610da6578063514d776114610cc55780635319a0e614610c5e5780635476857114610abf5780636352211e14610a65578063667a739e14610a0b57806370a082311461093a57806370fbe9ff146108ad578063715018a61461085757806379ba5097146107b65780638da5cb5b1461074657806395d89b41146105ee578063a22cb465146104fb578063b88d4fde1461046f578063c87b56dd146103f4578063e30c397814610383578063e985e9c5146102cc578063f2fde38b146101af5763fc2a88c314610152575f80fd5b346101ac57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ac5760207f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c60054604051908152f35b80fd5b50346101ac5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ac5773ffffffffffffffffffffffffffffffffffffffff6101fc612494565b610204612b95565b16807fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c005416177f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c005573ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b50346101ac5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ac57610304612494565b73ffffffffffffffffffffffffffffffffffffffff6103686103246124b7565b9273ffffffffffffffffffffffffffffffffffffffff165f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930560205260405f2090565b91165f52602052602060ff60405f2054166040519015158152f35b50346101ac57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101ac57602073ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c005416604051908152f35b3461046b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b5761042e600435612b01565b505f60405161043e6020826125d4565b526104676040516104506020826125d4565b5f8152604051918291602083526020830190612451565b0390f35b5f80fd5b3461046b5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b576104a6612494565b6104ae6124b7565b906044356064359267ffffffffffffffff841161046b573660238501121561046b576104e76104f994369060248160040135910161264f565b926104f38383836126d6565b33612d29565b005b3461046b5773ffffffffffffffffffffffffffffffffffffffff61051e3661257a565b91169081156105c257335f9081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930560205260409020825f526020526105928160405f209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b60405190151581527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b507f5b08ba18000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b3461046b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b576040515f7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793015461064b81612685565b80845290600181169081156107045750600114610687575b61046783610673818503826125d4565b604051918291602083526020830190612451565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793015f9081527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e939250905b8082106106ea57509091508101602001610673610663565b9192600181602092548385880101520191019092916106d2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506106739050610663565b3461046b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b57602073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416604051908152f35b3461046b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b573373ffffffffffffffffffffffffffffffffffffffff7f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054160361082b576104f933612c1a565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b3461046b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b577fee90c468000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461046b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b57602060ff61092e6108eb612494565b73ffffffffffffffffffffffffffffffffffffffff165f527f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c60360205260405f2090565b54166040519015158152f35b3461046b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b57610971612494565b73ffffffffffffffffffffffffffffffffffffffff8116156109df576109d660209173ffffffffffffffffffffffffffffffffffffffff165f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930360205260405f2090565b54604051908152f35b7f89c62b64000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461046b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b5760207f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c60154604051908152f35b3461046b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b576020610aa1600435612b01565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b3461046b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b5760043560ff610b3a3373ffffffffffffffffffffffffffffffffffffffff165f527f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c60360205260405f2090565b541615610c3257807f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c601541015610c0a57807f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c6005410610be2576020817fad988090d295d39420c3ed781764b52526ce9343789816a0569cecf3bacf2e43927f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c60155604051908152a1005b7f42963236000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f475a2535000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f60dba35c000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b3461046b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b576004355f527f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c604602052602060405f2054604051908152f35b3461046b5773ffffffffffffffffffffffffffffffffffffffff7fa9559b884080a9e19fd09db8dc653833caa2fd9557ab70057ef64a51fef7d8786020610d0b3661257a565b9390610d15612b95565b610d1e81612bd5565b610d9985610d698373ffffffffffffffffffffffffffffffffffffffff165f527f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c60360205260405f2090565b9060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b60405194151585521692a2005b3461046b576104f9610db736612508565b9060405192610dc76020856125d4565b5f84526104f38383836126d6565b3461046b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b57600435610e0f6124b7565b73ffffffffffffffffffffffffffffffffffffffff610e2d83612b01565b1633036111b9577f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c6015482116111915773ffffffffffffffffffffffffffffffffffffffff90825f527f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c604602052602060405f205491845f527f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c60482525f60408120556064847f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c6025416935f60405196879485937fba087652000000000000000000000000000000000000000000000000000000008552600485015216958660248401523060448401525af1918215611186575f92611152575b50610f8c835f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205273ffffffffffffffffffffffffffffffffffffffff60405f20541690565b73ffffffffffffffffffffffffffffffffffffffff811690845f831593841561108a575b8282527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079302602052604082207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a45061105e576020927f8adb7a84b2998a8d11cd9284395f95d5a99f160be785ae79998c654979bd3d9a84604051858152a3604051908152f35b827f7e273289000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6110e0835f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930460205260405f207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b6111278473ffffffffffffffffffffffffffffffffffffffff165f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930360205260405f2090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8154019055610fb0565b9091506020813d60201161117e575b8161116e602093836125d4565b8101031261046b57519083610f43565b3d9150611161565b6040513d5f823e3d90fd5b7f1bee0d5a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f517907dd000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461046b576104f96111f236612508565b916126d6565b3461046b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b576004356112326124b7565b9073ffffffffffffffffffffffffffffffffffffffff7f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c60254163303610c325760017f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c6005401807f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c60055805f527f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c6046020528160405f20556020916040516112f684826125d4565b5f815273ffffffffffffffffffffffffffffffffffffffff85169485156117465761135f845f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205273ffffffffffffffffffffffffffffffffffffffff60405f20541690565b73ffffffffffffffffffffffffffffffffffffffff8116908588831515938461167e575b6113ca8673ffffffffffffffffffffffffffffffffffffffff165f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930360205260405f2090565b60018154019055825f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793028a5260405f20827fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a450611652573b611487575b50817f6620e1bb18901e7cc06eb4c152cbf61f7f069350e9cf118060d463c4e5430ba0848693604051908152a3604051908152f35b836114d991604051809381927f150b7a020000000000000000000000000000000000000000000000000000000083523360048401525f6024840152876044840152608060648401526084830190612451565b03815f895af15f91816115fa575b50611557575050503d5f1461154f573d9061150182612615565b9161150f60405193846125d4565b82523d5f8284013e5b8151918261154c57837f64a0ae92000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b01fd5b606090611518565b7fffffffff000000000000000000000000000000000000000000000000000000007f150b7a0200000000000000000000000000000000000000000000000000000000919593949516036115ce577f6620e1bb18901e7cc06eb4c152cbf61f7f069350e9cf118060d463c4e5430ba093929193611452565b507f64a0ae92000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091508481813d831161164b575b61161281836125d4565b8101031261046b57517fffffffff000000000000000000000000000000000000000000000000000000008116810361046b5790866114e7565b503d611608565b7f73c6ac6e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b6116d4835f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930460205260405f207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b61171b8473ffffffffffffffffffffffffffffffffffffffff165f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930360205260405f2090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8154019055611383565b7f64a0ae92000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461046b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b57602073ffffffffffffffffffffffffffffffffffffffff7f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c6025416604051908152f35b3461046b5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b57611819612494565b6118216124b7565b60443567ffffffffffffffff811161046b576118419036906004016124da565b92909160643567ffffffffffffffff811161046b576118649036906004016124da565b94907ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159567ffffffffffffffff821680159081612016575b600114908161200c575b159081612003575b50611fdb5761192293828860017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000061191a9616177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055611f86575b50369161264f565b95369161264f565b9361192b612f00565b611933612f00565b80519067ffffffffffffffff8211611d875781906119717f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930054612685565b601f8111611ebc575b50602090601f8311600114611dbf575f92611db4575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916177f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300555b835167ffffffffffffffff8111611d8757611a1d7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930154612685565b601f8111611d05575b50602094601f8211600114611c27579481929394955f92611c1c575b50507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260011b9260031b1c1916177f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079301555b611a9c612f00565b611aa4612f00565b611aac612f00565b73ffffffffffffffffffffffffffffffffffffffff821615611bf057611ae673ffffffffffffffffffffffffffffffffffffffff92612c1a565b611aef81612bd5565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c6025416177f78f0351b059b6aed2e654ce4a38d42d975f3dcea3167a2d4518f5ef39639c60255611b5d57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7f1e4fbdf7000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b015190508580611a42565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216957f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793015f52805f20915f5b888110611ced57508360019596979810611cb6575b505050811b017f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930155611a94565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055858080611c89565b91926020600181928685015181550194019201611c74565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793015f527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e601f830160051c81019160208410611d7d575b601f0160051c01905b818110611d725750611a26565b5f8155600101611d65565b9091508190611d5c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b015190508680611990565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016917f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793005f527f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81925f5b818110611ea45750908460019594939210611e6d575b505050811b017f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300556119e2565b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88460031b161c19169055868080611e40565b92936020600181928786015181550195019301611e2a565b9091507f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793005f52601f830160051c7f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81019060208410611f5e575b90601f8493920160051c7f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf8101905b818110611f50575061197a565b5f8155849350600101611f43565b7f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf819150611f15565b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005589611912565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b905015896118b7565b303b1591506118af565b8891506118a5565b3461046b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b57612055612494565b60243561206181612b01565b331515806121be575b8061214c575b61212057819073ffffffffffffffffffffffffffffffffffffffff80851691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930460205273ffffffffffffffffffffffffffffffffffffffff60405f2091167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790555f80f35b7fa9fbf51f000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b506121948173ffffffffffffffffffffffffffffffffffffffff165f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930560205260405f2090565b73ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f20541615612070565b503373ffffffffffffffffffffffffffffffffffffffff8216141561206a565b3461046b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b576020610aa160043561221e81612b01565b505f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930460205273ffffffffffffffffffffffffffffffffffffffff60405f20541690565b3461046b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b576040515f7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079300546122c081612685565b808452906001811690811561070457506001146122e75761046783610673818503826125d4565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793005f9081527f37c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81939250905b80821061234a57509091508101602001610673610663565b919260018160209254838588010152019101909291612332565b3461046b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261046b57600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361046b57817f80ac58cd0000000000000000000000000000000000000000000000000000000060209314908115612427575b81156123fd575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836123f6565b7f5b5e139f00000000000000000000000000000000000000000000000000000000811491506123ef565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361046b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361046b57565b9181601f8401121561046b5782359167ffffffffffffffff831161046b576020838186019501011161046b57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc606091011261046b5760043573ffffffffffffffffffffffffffffffffffffffff8116810361046b579060243573ffffffffffffffffffffffffffffffffffffffff8116810361046b579060443590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc604091011261046b5760043573ffffffffffffffffffffffffffffffffffffffff8116810361046b5790602435801515810361046b5790565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d8757604052565b67ffffffffffffffff8111611d8757601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261265b82612615565b9161266960405193846125d4565b82948184528183011161046b578281602093845f960137010152565b90600182811c921680156126cc575b602083101461269f57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691612694565b91909173ffffffffffffffffffffffffffffffffffffffff83169081156117465761273f835f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205273ffffffffffffffffffffffffffffffffffffffff60405f20541690565b833315159384612974575b73ffffffffffffffffffffffffffffffffffffffff94506127b0858416978861286e5773ffffffffffffffffffffffffffffffffffffffff165f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930360205260405f2090565b60018154019055815f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205260405f20817fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055867fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4501680830361283d57505050565b7f64283d7b000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b6128c4845f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930460205260405f207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055565b61290b8573ffffffffffffffffffffffffffffffffffffffff165f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930360205260405f2090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff815401905573ffffffffffffffffffffffffffffffffffffffff165f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930360205260405f2090565b91929380915090612a04575b1561298e579083839261274a565b8373ffffffffffffffffffffffffffffffffffffffff83166129d5577f7e273289000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7f177e802f000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b503373ffffffffffffffffffffffffffffffffffffffff8316148015612a90575b8061298057503373ffffffffffffffffffffffffffffffffffffffff612a89865f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930460205273ffffffffffffffffffffffffffffffffffffffff60405f20541690565b1614612980565b50612ad88273ffffffffffffffffffffffffffffffffffffffff165f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930560205260405f2090565b73ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f205416612a25565b612b49815f527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205273ffffffffffffffffffffffffffffffffffffffff60405f20541690565b9073ffffffffffffffffffffffffffffffffffffffff821615612b6a575090565b7f7e273289000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416330361082b57565b73ffffffffffffffffffffffffffffffffffffffff1615612bf257565b7fd92e233d000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fffffffffffffffffffffffff00000000000000000000000000000000000000007f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c0054167f237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c005573ffffffffffffffffffffffffffffffffffffffff807f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054921691827fffffffffffffffffffffffff00000000000000000000000000000000000000008216177f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b93909293823b612d3b575b5050505050565b612da873ffffffffffffffffffffffffffffffffffffffff928360209516968460405197889687967f150b7a020000000000000000000000000000000000000000000000000000000088521660048701521660248501526044840152608060648401526084830190612451565b03815f865af15f9181612ea3575b50612e2457503d15612e1d573d612dcc81612615565b90612dda60405192836125d4565b81523d5f602083013e5b80519081612e1857827f64a0ae92000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b602001fd5b6060612de4565b7fffffffff000000000000000000000000000000000000000000000000000000007f150b7a0200000000000000000000000000000000000000000000000000000000911603612e7857505f80808080612d34565b7f64a0ae92000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011612ef8575b81612ebf602093836125d4565b8101031261046b57517fffffffff000000000000000000000000000000000000000000000000000000008116810361046b57905f612db6565b3d9150612eb2565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615612f2f57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffdfea2646970667358221220240153bd8534ea2e2328afcb506263f40f0a8544d444a2fcb9a02f37ec6e1cf764736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00