@settlemint/solidity-diamond-bond
Version:
Smart contract set to build an enterprise bond usecase in SettleMint
380 lines (379 loc) • 32.2 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "ERC1155Facet",
"sourceName": "contracts/facets/ERC1155Facet.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC1155InvalidReceiver",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "ApprovalForAll",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
}
],
"name": "TransferBatch",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "TransferSingle",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "value",
"type": "string"
},
{
"indexed": true,
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "URI",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "accounts",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
}
],
"name": "balanceOfBatch",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getSelectors",
"outputs": [
{
"internalType": "bytes4[]",
"name": "",
"type": "bytes4[]"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "isApprovedForAll",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeBatchTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "setApprovalForAll",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x6080806040523460155761178b908161001b8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c908162fdd58e146111795750806301ffc9a7146110d85780632eb2c2d614610cb55780634b503f0b14610a575780634e1273f414610890578063731133e9146106e5578063a22cb465146105a9578063e985e9c514610532578063f242432a1461027d5763f5298aca1461008c57600080fd5b34610278576060600319360112610278576100a561126f565b6044359073ffffffffffffffffffffffffffffffffffffffff1660243581156101f45733821480156101d1575b6100db906114ed565b8060005260006020526040600020826000526020526040600020549280841061014e57600093828552846020526040852084865260205281604086209103905560405191825260208201527fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260403392a4005b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e6365000000000000000000000000000000000000000000000000000000006064820152fd5b50600082815260016020908152604080832033845290915290205460ff166100d2565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b600080fd5b346102785760a06003193601126102785761029661126f565b61029e611292565b906064359060443560843567ffffffffffffffff81116102785773ffffffffffffffffffffffffffffffffffffffff926102df6102fe9236906004016112e6565b9490911693338514801561050f575b6102f7906114ed565b3691611456565b9173ffffffffffffffffffffffffffffffffffffffff851694610322861515611578565b82600052600060205260406000208260005260205260406000205461034986821015611603565b600084815260208181526040808320868452909152808220928890039092558781522080546103799087906114b1565b905585826040518581528760208201527fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260403392a43b6103b657005b61040d60209360405195869485947ff23a6e6100000000000000000000000000000000000000000000000000000000865233600487015260248601526044850152606484015260a0608484015260a48301906116c6565b03816000865af1600091816104de575b50610466575061042b611725565b8051908161046157827f57f447ce0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b602001fd5b7fffffffff000000000000000000000000000000000000000000000000000000007ff23a6e61000000000000000000000000000000000000000000000000000000009116036104b157005b7f57f447ce0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b61050191925060203d602011610508575b6104f98183611348565b81019061168e565b908361041d565b503d6104ef565b50600085815260016020908152604080832033845290915290205460ff166102ee565b346102785760406003193601126102785761054b61126f565b73ffffffffffffffffffffffffffffffffffffffff610568611292565b9116600052600160205273ffffffffffffffffffffffffffffffffffffffff60406000209116600052602052602060ff604060002054166040519015158152f35b34610278576040600319360112610278576105c261126f565b602435908115158092036102785773ffffffffffffffffffffffffffffffffffffffff16908133146106615733600052600160205260406000208260005260205260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c6600000000000000000000000000000000000000000000006064820152fd5b34610278576080600319360112610278576106fe61126f565b6044359060243560643567ffffffffffffffff8111610278576107259036906004016112e6565b73ffffffffffffffffffffffffffffffffffffffff84169491851561080c576107ab91846000526000602052604060002087600052602052604060002061076d8582546114b1565b90558660006040518781528660208201527fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260403392a43691611456565b923b6107b357005b60209161040d60405194859384937ff23a6e61000000000000000000000000000000000000000000000000000000008552336004860152600060248601526044850152606484015260a0608484015260a48301906116c6565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b346102785760406003193601126102785760043567ffffffffffffffff8111610278576108c19036906004016112b5565b60243567ffffffffffffffff8111610278576108e19036906004016112b5565b918281036109d3576108f2816113b8565b926109006040519485611348565b8184527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061092d836113b8565b0136602086013760005b828110610958576040516020808252819061095490820188611314565b0390f35b6109638183866114a1565b35600052600060205260406000209061097d8185896114a1565b359173ffffffffffffffffffffffffffffffffffffffff831683036102785760019260409173ffffffffffffffffffffffffffffffffffffffff60009216825260205220546109cc828861148d565b5201610937565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d6174636800000000000000000000000000000000000000000000006064820152fd5b3461027857600060031936011261027857604051610120610a788183611348565b600882527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0602083019101368237815115610c86577efdd58e000000000000000000000000000000000000000000000000000000008152815160011015610c86577f4e1273f4000000000000000000000000000000000000000000000000000000006040830152815160021015610c86577fa22cb465000000000000000000000000000000000000000000000000000000006060830152815160031015610c86577fe985e9c5000000000000000000000000000000000000000000000000000000006080830152815160041015610c86577ff242432a0000000000000000000000000000000000000000000000000000000060a0830152815160051015610c86577f2eb2c2d60000000000000000000000000000000000000000000000000000000060c0830152815160061015610c86577f731133e90000000000000000000000000000000000000000000000000000000060e0830152815160071015610c8657907ff5298aca000000000000000000000000000000000000000000000000000000006101008201526040519182916020830190602084525180915260408301919060005b818110610c4b575050500390f35b82517fffffffff0000000000000000000000000000000000000000000000000000000016845285945060209384019390920191600101610c3d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b346102785760a060031936011261027857610cce61126f565b610cd6611292565b60443567ffffffffffffffff811161027857610cf69036906004016112b5565b929060643567ffffffffffffffff811161027857610d189036906004016112b5565b9490926084359267ffffffffffffffff841161027857610d5173ffffffffffffffffffffffffffffffffffffffff9436906004016112e6565b9490921694338614801561109e575b1561101a57610d77610d7f92610d879536916113d0565b9736916113d0565b923691611456565b938051825103610f965773ffffffffffffffffffffffffffffffffffffffff841694610db4861515611578565b60005b8251811015610e395780610dcd6001928561148d565b51610dd8828761148d565b51908060005260006020526040806000206000908a82526020522054610e0083821015611603565b6000918252602082815260408084208b8552909152808320918490039091558a8252902080549091610e31916114b1565b905501610db7565b50929091938582604051604081527f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb610e756040830188611314565b91808303602082015280610e8a33948c611314565b0390a43b610e9457005b610f0c602093610efa610ee89660405197889687967fbc197c81000000000000000000000000000000000000000000000000000000008852336004890152602488015260a0604488015260a4870190611314565b90600319868303016064870152611314565b906003198483030160848501526116c6565b03816000865af160009181610f75575b50610f2a575061042b611725565b7fffffffff000000000000000000000000000000000000000000000000000000007fbc197c81000000000000000000000000000000000000000000000000000000009116036104b157005b610f8f91925060203d602011610508576104f98183611348565b9083610f1c565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f742060448201527f6f776e6572206e6f7220617070726f76656400000000000000000000000000006064820152fd5b50856000526001602052604060002073ffffffffffffffffffffffffffffffffffffffff331660005260205260ff60406000205416610d60565b34610278576020600319360112610278576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361027857807fd9b67a26000000000000000000000000000000000000000000000000000000006020921490811561114f575b506040519015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501482611144565b346102785760406003193601126102785761119261126f565b9073ffffffffffffffffffffffffffffffffffffffff8216156111ed5750602435600052600060205273ffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b807f08c379a0000000000000000000000000000000000000000000000000000000006084925260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201527f65726f20616464726573730000000000000000000000000000000000000000006064820152fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361027857565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361027857565b9181601f840112156102785782359167ffffffffffffffff8311610278576020808501948460051b01011161027857565b9181601f840112156102785782359167ffffffffffffffff8311610278576020838186019501011161027857565b906020808351928381520192019060005b8181106113325750505090565b8251845260209384019390920191600101611325565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116113895760051b60200190565b9291906113dc816113b8565b936113ea6040519586611348565b602085838152019160051b810192831161027857905b82821061140c57505050565b8135815260209182019101611400565b67ffffffffffffffff811161138957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926114628261141c565b916114706040519384611348565b829481845281830111610278578281602093846000960137010152565b8051821015610c865760209160051b010190565b9190811015610c865760051b0190565b919082018092116114be57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b156114f457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201527f20617070726f76656400000000000000000000000000000000000000000000006064820152fd5b1561157f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b1561160a57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e73666572000000000000000000000000000000000000000000006064820152fd5b9081602091031261027857517fffffffff00000000000000000000000000000000000000000000000000000000811681036102785790565b919082519283825260005b8481106117105750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b806020809284010151828286010152016116d1565b3d15611750573d906117368261141c565b916117446040519384611348565b82523d6000602084013e565b60609056fea2646970667358221220ea95c66b198e4f4f96bc432c2ec9ca61c92a406217b5aa64f9371ed9cd3fa15364736f6c634300081b0033",
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c908162fdd58e146111795750806301ffc9a7146110d85780632eb2c2d614610cb55780634b503f0b14610a575780634e1273f414610890578063731133e9146106e5578063a22cb465146105a9578063e985e9c514610532578063f242432a1461027d5763f5298aca1461008c57600080fd5b34610278576060600319360112610278576100a561126f565b6044359073ffffffffffffffffffffffffffffffffffffffff1660243581156101f45733821480156101d1575b6100db906114ed565b8060005260006020526040600020826000526020526040600020549280841061014e57600093828552846020526040852084865260205281604086209103905560405191825260208201527fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260403392a4005b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c60448201527f616e6365000000000000000000000000000000000000000000000000000000006064820152fd5b50600082815260016020908152604080832033845290915290205460ff166100d2565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b600080fd5b346102785760a06003193601126102785761029661126f565b61029e611292565b906064359060443560843567ffffffffffffffff81116102785773ffffffffffffffffffffffffffffffffffffffff926102df6102fe9236906004016112e6565b9490911693338514801561050f575b6102f7906114ed565b3691611456565b9173ffffffffffffffffffffffffffffffffffffffff851694610322861515611578565b82600052600060205260406000208260005260205260406000205461034986821015611603565b600084815260208181526040808320868452909152808220928890039092558781522080546103799087906114b1565b905585826040518581528760208201527fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260403392a43b6103b657005b61040d60209360405195869485947ff23a6e6100000000000000000000000000000000000000000000000000000000865233600487015260248601526044850152606484015260a0608484015260a48301906116c6565b03816000865af1600091816104de575b50610466575061042b611725565b8051908161046157827f57f447ce0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b602001fd5b7fffffffff000000000000000000000000000000000000000000000000000000007ff23a6e61000000000000000000000000000000000000000000000000000000009116036104b157005b7f57f447ce0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b61050191925060203d602011610508575b6104f98183611348565b81019061168e565b908361041d565b503d6104ef565b50600085815260016020908152604080832033845290915290205460ff166102ee565b346102785760406003193601126102785761054b61126f565b73ffffffffffffffffffffffffffffffffffffffff610568611292565b9116600052600160205273ffffffffffffffffffffffffffffffffffffffff60406000209116600052602052602060ff604060002054166040519015158152f35b34610278576040600319360112610278576105c261126f565b602435908115158092036102785773ffffffffffffffffffffffffffffffffffffffff16908133146106615733600052600160205260406000208260005260205260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c6600000000000000000000000000000000000000000000006064820152fd5b34610278576080600319360112610278576106fe61126f565b6044359060243560643567ffffffffffffffff8111610278576107259036906004016112e6565b73ffffffffffffffffffffffffffffffffffffffff84169491851561080c576107ab91846000526000602052604060002087600052602052604060002061076d8582546114b1565b90558660006040518781528660208201527fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6260403392a43691611456565b923b6107b357005b60209161040d60405194859384937ff23a6e61000000000000000000000000000000000000000000000000000000008552336004860152600060248601526044850152606484015260a0608484015260a48301906116c6565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b346102785760406003193601126102785760043567ffffffffffffffff8111610278576108c19036906004016112b5565b60243567ffffffffffffffff8111610278576108e19036906004016112b5565b918281036109d3576108f2816113b8565b926109006040519485611348565b8184527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061092d836113b8565b0136602086013760005b828110610958576040516020808252819061095490820188611314565b0390f35b6109638183866114a1565b35600052600060205260406000209061097d8185896114a1565b359173ffffffffffffffffffffffffffffffffffffffff831683036102785760019260409173ffffffffffffffffffffffffffffffffffffffff60009216825260205220546109cc828861148d565b5201610937565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d6174636800000000000000000000000000000000000000000000006064820152fd5b3461027857600060031936011261027857604051610120610a788183611348565b600882527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0602083019101368237815115610c86577efdd58e000000000000000000000000000000000000000000000000000000008152815160011015610c86577f4e1273f4000000000000000000000000000000000000000000000000000000006040830152815160021015610c86577fa22cb465000000000000000000000000000000000000000000000000000000006060830152815160031015610c86577fe985e9c5000000000000000000000000000000000000000000000000000000006080830152815160041015610c86577ff242432a0000000000000000000000000000000000000000000000000000000060a0830152815160051015610c86577f2eb2c2d60000000000000000000000000000000000000000000000000000000060c0830152815160061015610c86577f731133e90000000000000000000000000000000000000000000000000000000060e0830152815160071015610c8657907ff5298aca000000000000000000000000000000000000000000000000000000006101008201526040519182916020830190602084525180915260408301919060005b818110610c4b575050500390f35b82517fffffffff0000000000000000000000000000000000000000000000000000000016845285945060209384019390920191600101610c3d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b346102785760a060031936011261027857610cce61126f565b610cd6611292565b60443567ffffffffffffffff811161027857610cf69036906004016112b5565b929060643567ffffffffffffffff811161027857610d189036906004016112b5565b9490926084359267ffffffffffffffff841161027857610d5173ffffffffffffffffffffffffffffffffffffffff9436906004016112e6565b9490921694338614801561109e575b1561101a57610d77610d7f92610d879536916113d0565b9736916113d0565b923691611456565b938051825103610f965773ffffffffffffffffffffffffffffffffffffffff841694610db4861515611578565b60005b8251811015610e395780610dcd6001928561148d565b51610dd8828761148d565b51908060005260006020526040806000206000908a82526020522054610e0083821015611603565b6000918252602082815260408084208b8552909152808320918490039091558a8252902080549091610e31916114b1565b905501610db7565b50929091938582604051604081527f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb610e756040830188611314565b91808303602082015280610e8a33948c611314565b0390a43b610e9457005b610f0c602093610efa610ee89660405197889687967fbc197c81000000000000000000000000000000000000000000000000000000008852336004890152602488015260a0604488015260a4870190611314565b90600319868303016064870152611314565b906003198483030160848501526116c6565b03816000865af160009181610f75575b50610f2a575061042b611725565b7fffffffff000000000000000000000000000000000000000000000000000000007fbc197c81000000000000000000000000000000000000000000000000000000009116036104b157005b610f8f91925060203d602011610508576104f98183611348565b9083610f1c565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d617463680000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f742060448201527f6f776e6572206e6f7220617070726f76656400000000000000000000000000006064820152fd5b50856000526001602052604060002073ffffffffffffffffffffffffffffffffffffffff331660005260205260ff60406000205416610d60565b34610278576020600319360112610278576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361027857807fd9b67a26000000000000000000000000000000000000000000000000000000006020921490811561114f575b506040519015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501482611144565b346102785760406003193601126102785761119261126f565b9073ffffffffffffffffffffffffffffffffffffffff8216156111ed5750602435600052600060205273ffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b807f08c379a0000000000000000000000000000000000000000000000000000000006084925260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201527f65726f20616464726573730000000000000000000000000000000000000000006064820152fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361027857565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361027857565b9181601f840112156102785782359167ffffffffffffffff8311610278576020808501948460051b01011161027857565b9181601f840112156102785782359167ffffffffffffffff8311610278576020838186019501011161027857565b906020808351928381520192019060005b8181106113325750505090565b8251845260209384019390920191600101611325565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761138957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116113895760051b60200190565b9291906113dc816113b8565b936113ea6040519586611348565b602085838152019160051b810192831161027857905b82821061140c57505050565b8135815260209182019101611400565b67ffffffffffffffff811161138957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926114628261141c565b916114706040519384611348565b829481845281830111610278578281602093846000960137010152565b8051821015610c865760209160051b010190565b9190811015610c865760051b0190565b919082018092116114be57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b156114f457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201527f20617070726f76656400000000000000000000000000000000000000000000006064820152fd5b1561157f57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b1561160a57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201527f72207472616e73666572000000000000000000000000000000000000000000006064820152fd5b9081602091031261027857517fffffffff00000000000000000000000000000000000000000000000000000000811681036102785790565b919082519283825260005b8481106117105750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b806020809284010151828286010152016116d1565b3d15611750573d906117368261141c565b916117446040519384611348565b82523d6000602084013e565b60609056fea2646970667358221220ea95c66b198e4f4f96bc432c2ec9ca61c92a406217b5aa64f9371ed9cd3fa15364736f6c634300081b0033",
"linkReferences": {},
"deployedLinkReferences": {}
}