{
    "_format": "hh-sol-artifact-1",
    "contractName": "MockERC777",
    "sourceName": "contracts/test/MockERC777.sol",
    "abi": [
        {
            "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": true,
                    "internalType": "address",
                    "name": "operator",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "tokenHolder",
                    "type": "address"
                }
            ],
            "name": "AuthorizedOperator",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "operator",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "from",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "internalType": "bytes",
                    "name": "operatorData",
                    "type": "bytes"
                }
            ],
            "name": "Burned",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "internalType": "uint8",
                    "name": "version",
                    "type": "uint8"
                }
            ],
            "name": "Initialized",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "operator",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "to",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "internalType": "bytes",
                    "name": "operatorData",
                    "type": "bytes"
                }
            ],
            "name": "Minted",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "operator",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "tokenHolder",
                    "type": "address"
                }
            ],
            "name": "RevokedOperator",
            "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": "amount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "internalType": "bytes",
                    "name": "operatorData",
                    "type": "bytes"
                }
            ],
            "name": "Sent",
            "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": "holder",
                    "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": "operator",
                    "type": "address"
                }
            ],
            "name": "authorizeOperator",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "tokenHolder",
                    "type": "address"
                }
            ],
            "name": "balanceOf",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                }
            ],
            "name": "burn",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "decimals",
            "outputs": [
                {
                    "internalType": "uint8",
                    "name": "",
                    "type": "uint8"
                }
            ],
            "stateMutability": "pure",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "defaultOperators",
            "outputs": [
                {
                    "internalType": "address[]",
                    "name": "",
                    "type": "address[]"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "granularity",
            "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": "defaultOperators",
                    "type": "address[]"
                },
                {
                    "internalType": "uint256",
                    "name": "initialSupply",
                    "type": "uint256"
                },
                {
                    "internalType": "address",
                    "name": "owner",
                    "type": "address"
                }
            ],
            "name": "initialize",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "initialize",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "operator",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "tokenHolder",
                    "type": "address"
                }
            ],
            "name": "isOperatorFor",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "name",
            "outputs": [
                {
                    "internalType": "string",
                    "name": "",
                    "type": "string"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "account",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                },
                {
                    "internalType": "bytes",
                    "name": "operatorData",
                    "type": "bytes"
                }
            ],
            "name": "operatorBurn",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "sender",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                },
                {
                    "internalType": "bytes",
                    "name": "operatorData",
                    "type": "bytes"
                }
            ],
            "name": "operatorSend",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "operator",
                    "type": "address"
                }
            ],
            "name": "revokeOperator",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                }
            ],
            "name": "send",
            "outputs": [],
            "stateMutability": "nonpayable",
            "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": "recipient",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "transfer",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "holder",
                    "type": "address"
                },
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "transferFrom",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "bytecode": "0x608060405234801561001057600080fd5b50613acd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100fc5760003560e01c806306e485381461010157806306fdde031461011f578063095ea7b31461013d57806318160ddd1461016d57806323b872dd1461018b578063313ce567146101bb578063556f0dc7146101d957806362ad1b83146101f757806370a0823114610213578063768f950a146102435780638129fc1c1461025f578063959b8c3f1461026957806395d89b41146102855780639bd9bbc6146102a3578063a9059cbb146102bf578063d95b6371146102ef578063dd62ed3e1461031f578063fad8b32a1461034f578063fc673c4f1461036b578063fe9d930314610387575b600080fd5b6101096103a3565b60405161011691906123af565b60405180910390f35b610127610431565b6040516101349190612461565b60405180910390f35b610157600480360381019061015291906124f9565b6104c3565b6040516101649190612554565b60405180910390f35b6101756104e6565b604051610182919061257e565b60405180910390f35b6101a560048036038101906101a09190612599565b6104f0565b6040516101b29190612554565b60405180910390f35b6101c3610541565b6040516101d09190612608565b60405180910390f35b6101e161054a565b6040516101ee919061257e565b60405180910390f35b610211600480360381019061020c9190612758565b610553565b005b61022d6004803603810190610228919061280b565b6105b9565b60405161023a919061257e565b60405180910390f35b61025d600480360381019061025891906129a1565b610602565b005b61026761074a565b005b610283600480360381019061027e919061280b565b61090b565b005b61028d610b6b565b60405161029a9190612461565b60405180910390f35b6102bd60048036038101906102b89190612a70565b610bfd565b005b6102d960048036038101906102d491906124f9565b610c27565b6040516102e69190612554565b60405180910390f35b61030960048036038101906103049190612adf565b610c67565b6040516103169190612554565b60405180910390f35b61033960048036038101906103349190612adf565b610e18565b604051610346919061257e565b60405180910390f35b6103696004803603810190610364919061280b565b610e9f565b005b61038560048036038101906103809190612b1f565b6110ff565b005b6103a1600480360381019061039c9190612bbe565b611161565b005b6060603780548060200260200160405190810160405280929190818152602001828054801561042757602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116103dd575b5050505050905090565b60606035805461044090612c49565b80601f016020809104026020016040519081016040528092919081815260200182805461046c90612c49565b80156104b95780601f1061048e576101008083540402835291602001916104b9565b820191906000526020600020905b81548152906001019060200180831161049c57829003601f168201915b5050505050905090565b6000806104ce611187565b90506104db81858561118f565b600191505092915050565b6000603454905090565b6000806104fb611187565b9050610508858285611358565b610535858585604051806020016040528060008152506040518060200160405280600081525060006113e4565b60019150509392505050565b60006012905090565b60006001905090565b61056461055e611187565b86610c67565b6105a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059a90612cec565b60405180910390fd5b6105b2858585858560016113e4565b5050505050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060019054906101000a900460ff161590508080156106335750600160008054906101000a900460ff1660ff16105b80610660575061064230611502565b15801561065f5750600160008054906101000a900460ff1660ff16145b5b61069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690612d7e565b60405180910390fd5b60016000806101000a81548160ff021916908360ff16021790555080156106dc576001600060016101000a81548160ff0219169083151502179055505b6106e98686868686611525565b80156107425760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516107399190612de3565b60405180910390a15b505050505050565b60008060019054906101000a900460ff1615905080801561077b5750600160008054906101000a900460ff1660ff16105b806107a8575061078a30611502565b1580156107a75750600160008054906101000a900460ff1660ff16145b5b6107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90612d7e565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610824576001600060016101000a81548160ff0219169083151502179055505b60606108ae6040518060400160405280600a81526020017f4d6f636b455243373737000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f4d455243373700000000000000000000000000000000000000000000000000008152508369d3c21bcecceda10000006108a9611187565b611525565b5080156109085760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516108ff9190612de3565b60405180910390a15b50565b8073ffffffffffffffffffffffffffffffffffffffff1661092a611187565b73ffffffffffffffffffffffffffffffffffffffff1603610980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097790612e70565b60405180910390fd5b603860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a6a57603a60006109de611187565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055610b07565b600160396000610a78611187565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b610b0f611187565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a350565b606060368054610b7a90612c49565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba690612c49565b8015610bf35780601f10610bc857610100808354040283529160200191610bf3565b820191906000526020600020905b815481529060010190602001808311610bd657829003601f168201915b5050505050905090565b610c22610c08611187565b8484846040518060200160405280600081525060016113e4565b505050565b6000610c5d610c34611187565b8484604051806020016040528060008152506040518060200160405280600081525060006113e4565b6001905092915050565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610d7f5750603860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015610d7e5750603a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b80610e105750603960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b6000603b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ea7611187565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90612f02565b60405180910390fd5b603860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611007576001603a6000610f74611187565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061109b565b60396000611013611187565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690555b6110a3611187565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a350565b61111061110a611187565b85610c67565b61114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114690612cec565b60405180910390fd5b61115b84848484611593565b50505050565b61118361116c611187565b838360405180602001604052806000815250611593565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590612f94565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361126d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126490613026565b60405180910390fd5b80603b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161134b919061257e565b60405180910390a3505050565b60006113648484610e18565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113de57818110156113d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c790613092565b60405180910390fd5b6113dd848484840361118f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144a90613124565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036114c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b9906131b6565b60405180910390fd5b60006114cc611187565b90506114dc8188888888886117e7565b6114ea81888888888861194e565b6114f981888888888888611b6b565b50505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156b90613248565b60405180910390fd5b61157f858585611d3d565b61158c8585858585611fa0565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f9906132da565b60405180910390fd5b600061160c611187565b905061161d818660008787876117e7565b61162a8186600087612020565b6000603360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050848110156116b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a89061336c565b60405180910390fd5b848103603360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550846034600082825461170991906133bb565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a409887878760405161177193929190613444565b60405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516117d7919061257e565b60405180910390a3505050505050565b6000731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff1663aabbb8ca877f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956040518363ffffffff1660e01b81526004016118589291906134b1565b602060405180830381865afa158015611875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189991906134ef565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611945578073ffffffffffffffffffffffffffffffffffffffff166375ab97828888888888886040518763ffffffff1660e01b81526004016119129695949392919061351c565b600060405180830381600087803b15801561192c57600080fd5b505af1158015611940573d6000803e3d6000fd5b505050505b50505050505050565b61195a86868686612020565b6000603360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156119e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d8906135fd565b60405180910390fd5b838103603360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083603360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a76919061361d565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987878787604051611af593929190613444565b60405180910390a48473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611b5a919061257e565b60405180910390a350505050505050565b6000731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff1663aabbb8ca877fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6040518363ffffffff1660e01b8152600401611bdc9291906134b1565b602060405180830381865afa158015611bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1d91906134ef565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611ccc578073ffffffffffffffffffffffffffffffffffffffff166223de298989898989896040518763ffffffff1660e01b8152600401611c959695949392919061351c565b600060405180830381600087803b158015611caf57600080fd5b505af1158015611cc3573d6000803e3d6000fd5b50505050611d33565b8115611d3257611cf18673ffffffffffffffffffffffffffffffffffffffff16611502565b15611d31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d28906136e9565b60405180910390fd5b5b5b5050505050505050565b600060019054906101000a900460ff16611d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8390613248565b60405180910390fd5b8260359081611d9b91906138ab565b508160369081611dab91906138ab565b508060379080519060200190611dc2929190612218565b5060005b8151811015611e5457600160386000848481518110611de857611de761397d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611e4c906139ac565b915050611dc6565b50731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff166329965a1d307fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce2177054306040518463ffffffff1660e01b8152600401611ec6939291906139f4565b600060405180830381600087803b158015611ee057600080fd5b505af1158015611ef4573d6000803e3d6000fd5b50505050731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff166329965a1d307faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a306040518463ffffffff1660e01b8152600401611f69939291906139f4565b600060405180830381600087803b158015611f8357600080fd5b505af1158015611f97573d6000803e3d6000fd5b50505050505050565b600060019054906101000a900460ff16611fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe690613248565b60405180910390fd5b61201981836040518060200160405280600081525060405180602001604052806000815250612026565b5050505050565b50505050565b61203484848484600161203a565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036120a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a090613a77565b60405180910390fd5b60006120b3611187565b90506120c28160008888612020565b84603460008282546120d4919061361d565b9250508190555084603360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461212a919061361d565b925050819055506121418160008888888888611b6b565b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d8787876040516121a293929190613444565b60405180910390a38573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051612208919061257e565b60405180910390a3505050505050565b828054828255906000526020600020908101928215612291579160200282015b828111156122905782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612238565b5b50905061229e91906122a2565b5090565b5b808211156122bb5760008160009055506001016122a3565b5090565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612316826122eb565b9050919050565b6123268161230b565b82525050565b6000612338838361231d565b60208301905092915050565b6000602082019050919050565b600061235c826122bf565b61236681856122ca565b9350612371836122db565b8060005b838110156123a2578151612389888261232c565b975061239483612344565b925050600181019050612375565b5085935050505092915050565b600060208201905081810360008301526123c98184612351565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561240b5780820151818401526020810190506123f0565b60008484015250505050565b6000601f19601f8301169050919050565b6000612433826123d1565b61243d81856123dc565b935061244d8185602086016123ed565b61245681612417565b840191505092915050565b6000602082019050818103600083015261247b8184612428565b905092915050565b6000604051905090565b600080fd5b600080fd5b6124a08161230b565b81146124ab57600080fd5b50565b6000813590506124bd81612497565b92915050565b6000819050919050565b6124d6816124c3565b81146124e157600080fd5b50565b6000813590506124f3816124cd565b92915050565b600080604083850312156125105761250f61248d565b5b600061251e858286016124ae565b925050602061252f858286016124e4565b9150509250929050565b60008115159050919050565b61254e81612539565b82525050565b60006020820190506125696000830184612545565b92915050565b612578816124c3565b82525050565b6000602082019050612593600083018461256f565b92915050565b6000806000606084860312156125b2576125b161248d565b5b60006125c0868287016124ae565b93505060206125d1868287016124ae565b92505060406125e2868287016124e4565b9150509250925092565b600060ff82169050919050565b612602816125ec565b82525050565b600060208201905061261d60008301846125f9565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61266582612417565b810181811067ffffffffffffffff821117156126845761268361262d565b5b80604052505050565b6000612697612483565b90506126a3828261265c565b919050565b600067ffffffffffffffff8211156126c3576126c261262d565b5b6126cc82612417565b9050602081019050919050565b82818337600083830152505050565b60006126fb6126f6846126a8565b61268d565b90508281526020810184848401111561271757612716612628565b5b6127228482856126d9565b509392505050565b600082601f83011261273f5761273e612623565b5b813561274f8482602086016126e8565b91505092915050565b600080600080600060a086880312156127745761277361248d565b5b6000612782888289016124ae565b9550506020612793888289016124ae565b94505060406127a4888289016124e4565b935050606086013567ffffffffffffffff8111156127c5576127c4612492565b5b6127d18882890161272a565b925050608086013567ffffffffffffffff8111156127f2576127f1612492565b5b6127fe8882890161272a565b9150509295509295909350565b6000602082840312156128215761282061248d565b5b600061282f848285016124ae565b91505092915050565b600067ffffffffffffffff8211156128535761285261262d565b5b61285c82612417565b9050602081019050919050565b600061287c61287784612838565b61268d565b90508281526020810184848401111561289857612897612628565b5b6128a38482856126d9565b509392505050565b600082601f8301126128c0576128bf612623565b5b81356128d0848260208601612869565b91505092915050565b600067ffffffffffffffff8211156128f4576128f361262d565b5b602082029050602081019050919050565b600080fd5b600061291d612918846128d9565b61268d565b905080838252602082019050602084028301858111156129405761293f612905565b5b835b81811015612969578061295588826124ae565b845260208401935050602081019050612942565b5050509392505050565b600082601f83011261298857612987612623565b5b813561299884826020860161290a565b91505092915050565b600080600080600060a086880312156129bd576129bc61248d565b5b600086013567ffffffffffffffff8111156129db576129da612492565b5b6129e7888289016128ab565b955050602086013567ffffffffffffffff811115612a0857612a07612492565b5b612a14888289016128ab565b945050604086013567ffffffffffffffff811115612a3557612a34612492565b5b612a4188828901612973565b9350506060612a52888289016124e4565b9250506080612a63888289016124ae565b9150509295509295909350565b600080600060608486031215612a8957612a8861248d565b5b6000612a97868287016124ae565b9350506020612aa8868287016124e4565b925050604084013567ffffffffffffffff811115612ac957612ac8612492565b5b612ad58682870161272a565b9150509250925092565b60008060408385031215612af657612af561248d565b5b6000612b04858286016124ae565b9250506020612b15858286016124ae565b9150509250929050565b60008060008060808587031215612b3957612b3861248d565b5b6000612b47878288016124ae565b9450506020612b58878288016124e4565b935050604085013567ffffffffffffffff811115612b7957612b78612492565b5b612b858782880161272a565b925050606085013567ffffffffffffffff811115612ba657612ba5612492565b5b612bb28782880161272a565b91505092959194509250565b60008060408385031215612bd557612bd461248d565b5b6000612be3858286016124e4565b925050602083013567ffffffffffffffff811115612c0457612c03612492565b5b612c108582860161272a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c6157607f821691505b602082108103612c7457612c73612c1a565b5b50919050565b7f4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f60008201527f7220666f7220686f6c6465720000000000000000000000000000000000000000602082015250565b6000612cd6602c836123dc565b9150612ce182612c7a565b604082019050919050565b60006020820190508181036000830152612d0581612cc9565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000612d68602e836123dc565b9150612d7382612d0c565b604082019050919050565b60006020820190508181036000830152612d9781612d5b565b9050919050565b6000819050919050565b6000819050919050565b6000612dcd612dc8612dc384612d9e565b612da8565b6125ec565b9050919050565b612ddd81612db2565b82525050565b6000602082019050612df86000830184612dd4565b92915050565b7f4552433737373a20617574686f72697a696e672073656c66206173206f70657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b6000612e5a6024836123dc565b9150612e6582612dfe565b604082019050919050565b60006020820190508181036000830152612e8981612e4d565b9050919050565b7f4552433737373a207265766f6b696e672073656c66206173206f70657261746f60008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612eec6021836123dc565b9150612ef782612e90565b604082019050919050565b60006020820190508181036000830152612f1b81612edf565b9050919050565b7f4552433737373a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f7e6025836123dc565b9150612f8982612f22565b604082019050919050565b60006020820190508181036000830152612fad81612f71565b9050919050565b7f4552433737373a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006130106023836123dc565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f4552433737373a20696e73756666696369656e7420616c6c6f77616e63650000600082015250565b600061307c601e836123dc565b915061308782613046565b602082019050919050565b600060208201905081810360008301526130ab8161306f565b9050919050565b7f4552433737373a207472616e736665722066726f6d20746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061310e6026836123dc565b9150613119826130b2565b604082019050919050565b6000602082019050818103600083015261313d81613101565b9050919050565b7f4552433737373a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131a06024836123dc565b91506131ab82613144565b604082019050919050565b600060208201905081810360008301526131cf81613193565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000613232602b836123dc565b915061323d826131d6565b604082019050919050565b6000602082019050818103600083015261326181613225565b9050919050565b7f4552433737373a206275726e2066726f6d20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132c46022836123dc565b91506132cf82613268565b604082019050919050565b600060208201905081810360008301526132f3816132b7565b9050919050565b7f4552433737373a206275726e20616d6f756e7420657863656564732062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b60006133566023836123dc565b9150613361826132fa565b604082019050919050565b6000602082019050818103600083015261338581613349565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006133c6826124c3565b91506133d1836124c3565b92508282039050818111156133e9576133e861338c565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000613416826133ef565b61342081856133fa565b93506134308185602086016123ed565b61343981612417565b840191505092915050565b6000606082019050613459600083018661256f565b818103602083015261346b818561340b565b9050818103604083015261347f818461340b565b9050949350505050565b6134928161230b565b82525050565b6000819050919050565b6134ab81613498565b82525050565b60006040820190506134c66000830185613489565b6134d360208301846134a2565b9392505050565b6000815190506134e981612497565b92915050565b6000602082840312156135055761350461248d565b5b6000613513848285016134da565b91505092915050565b600060c0820190506135316000830189613489565b61353e6020830188613489565b61354b6040830187613489565b613558606083018661256f565b818103608083015261356a818561340b565b905081810360a083015261357e818461340b565b9050979650505050505050565b7f4552433737373a207472616e7366657220616d6f756e7420657863656564732060008201527f62616c616e636500000000000000000000000000000000000000000000000000602082015250565b60006135e76027836123dc565b91506135f28261358b565b604082019050919050565b60006020820190508181036000830152613616816135da565b9050919050565b6000613628826124c3565b9150613633836124c3565b925082820190508082111561364b5761364a61338c565b5b92915050565b7f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460008201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60208201527f6b656e73526563697069656e7400000000000000000000000000000000000000604082015250565b60006136d3604d836123dc565b91506136de82613651565b606082019050919050565b60006020820190508181036000830152613702816136c6565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261376b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261372e565b613775868361372e565b95508019841693508086168417925050509392505050565b60006137a86137a361379e846124c3565b612da8565b6124c3565b9050919050565b6000819050919050565b6137c28361378d565b6137d66137ce826137af565b84845461373b565b825550505050565b600090565b6137eb6137de565b6137f68184846137b9565b505050565b5b8181101561381a5761380f6000826137e3565b6001810190506137fc565b5050565b601f82111561385f5761383081613709565b6138398461371e565b81016020851015613848578190505b61385c6138548561371e565b8301826137fb565b50505b505050565b600082821c905092915050565b600061388260001984600802613864565b1980831691505092915050565b600061389b8383613871565b9150826002028217905092915050565b6138b4826123d1565b67ffffffffffffffff8111156138cd576138cc61262d565b5b6138d78254612c49565b6138e282828561381e565b600060209050601f8311600181146139155760008415613903578287015190505b61390d858261388f565b865550613975565b601f19841661392386613709565b60005b8281101561394b57848901518255600182019150602085019450602081019050613926565b868310156139685784890151613964601f891682613871565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006139b7826124c3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139e9576139e861338c565b5b600182019050919050565b6000606082019050613a096000830186613489565b613a1660208301856134a2565b613a236040830184613489565b949350505050565b7f4552433737373a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613a616020836123dc565b9150613a6c82613a2b565b602082019050919050565b60006020820190508181036000830152613a9081613a54565b905091905056fea2646970667358221220a95dfa9d698354a2dcc69957691f08b9823ac7db02f56ef29e40bf877838ddbd64736f6c63430008110033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100fc5760003560e01c806306e485381461010157806306fdde031461011f578063095ea7b31461013d57806318160ddd1461016d57806323b872dd1461018b578063313ce567146101bb578063556f0dc7146101d957806362ad1b83146101f757806370a0823114610213578063768f950a146102435780638129fc1c1461025f578063959b8c3f1461026957806395d89b41146102855780639bd9bbc6146102a3578063a9059cbb146102bf578063d95b6371146102ef578063dd62ed3e1461031f578063fad8b32a1461034f578063fc673c4f1461036b578063fe9d930314610387575b600080fd5b6101096103a3565b60405161011691906123af565b60405180910390f35b610127610431565b6040516101349190612461565b60405180910390f35b610157600480360381019061015291906124f9565b6104c3565b6040516101649190612554565b60405180910390f35b6101756104e6565b604051610182919061257e565b60405180910390f35b6101a560048036038101906101a09190612599565b6104f0565b6040516101b29190612554565b60405180910390f35b6101c3610541565b6040516101d09190612608565b60405180910390f35b6101e161054a565b6040516101ee919061257e565b60405180910390f35b610211600480360381019061020c9190612758565b610553565b005b61022d6004803603810190610228919061280b565b6105b9565b60405161023a919061257e565b60405180910390f35b61025d600480360381019061025891906129a1565b610602565b005b61026761074a565b005b610283600480360381019061027e919061280b565b61090b565b005b61028d610b6b565b60405161029a9190612461565b60405180910390f35b6102bd60048036038101906102b89190612a70565b610bfd565b005b6102d960048036038101906102d491906124f9565b610c27565b6040516102e69190612554565b60405180910390f35b61030960048036038101906103049190612adf565b610c67565b6040516103169190612554565b60405180910390f35b61033960048036038101906103349190612adf565b610e18565b604051610346919061257e565b60405180910390f35b6103696004803603810190610364919061280b565b610e9f565b005b61038560048036038101906103809190612b1f565b6110ff565b005b6103a1600480360381019061039c9190612bbe565b611161565b005b6060603780548060200260200160405190810160405280929190818152602001828054801561042757602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116103dd575b5050505050905090565b60606035805461044090612c49565b80601f016020809104026020016040519081016040528092919081815260200182805461046c90612c49565b80156104b95780601f1061048e576101008083540402835291602001916104b9565b820191906000526020600020905b81548152906001019060200180831161049c57829003601f168201915b5050505050905090565b6000806104ce611187565b90506104db81858561118f565b600191505092915050565b6000603454905090565b6000806104fb611187565b9050610508858285611358565b610535858585604051806020016040528060008152506040518060200160405280600081525060006113e4565b60019150509392505050565b60006012905090565b60006001905090565b61056461055e611187565b86610c67565b6105a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059a90612cec565b60405180910390fd5b6105b2858585858560016113e4565b5050505050565b6000603360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060019054906101000a900460ff161590508080156106335750600160008054906101000a900460ff1660ff16105b80610660575061064230611502565b15801561065f5750600160008054906101000a900460ff1660ff16145b5b61069f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069690612d7e565b60405180910390fd5b60016000806101000a81548160ff021916908360ff16021790555080156106dc576001600060016101000a81548160ff0219169083151502179055505b6106e98686868686611525565b80156107425760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516107399190612de3565b60405180910390a15b505050505050565b60008060019054906101000a900460ff1615905080801561077b5750600160008054906101000a900460ff1660ff16105b806107a8575061078a30611502565b1580156107a75750600160008054906101000a900460ff1660ff16145b5b6107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90612d7e565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610824576001600060016101000a81548160ff0219169083151502179055505b60606108ae6040518060400160405280600a81526020017f4d6f636b455243373737000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f4d455243373700000000000000000000000000000000000000000000000000008152508369d3c21bcecceda10000006108a9611187565b611525565b5080156109085760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516108ff9190612de3565b60405180910390a15b50565b8073ffffffffffffffffffffffffffffffffffffffff1661092a611187565b73ffffffffffffffffffffffffffffffffffffffff1603610980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097790612e70565b60405180910390fd5b603860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a6a57603a60006109de611187565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff0219169055610b07565b600160396000610a78611187565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b610b0f611187565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a350565b606060368054610b7a90612c49565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba690612c49565b8015610bf35780601f10610bc857610100808354040283529160200191610bf3565b820191906000526020600020905b815481529060010190602001808311610bd657829003601f168201915b5050505050905090565b610c22610c08611187565b8484846040518060200160405280600081525060016113e4565b505050565b6000610c5d610c34611187565b8484604051806020016040528060008152506040518060200160405280600081525060006113e4565b6001905092915050565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610d7f5750603860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015610d7e5750603a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b80610e105750603960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b6000603b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ea7611187565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90612f02565b60405180910390fd5b603860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611007576001603a6000610f74611187565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061109b565b60396000611013611187565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690555b6110a3611187565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a350565b61111061110a611187565b85610c67565b61114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114690612cec565b60405180910390fd5b61115b84848484611593565b50505050565b61118361116c611187565b838360405180602001604052806000815250611593565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f590612f94565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361126d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126490613026565b60405180910390fd5b80603b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161134b919061257e565b60405180910390a3505050565b60006113648484610e18565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113de57818110156113d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c790613092565b60405180910390fd5b6113dd848484840361118f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603611453576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144a90613124565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036114c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b9906131b6565b60405180910390fd5b60006114cc611187565b90506114dc8188888888886117e7565b6114ea81888888888861194e565b6114f981888888888888611b6b565b50505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611574576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156b90613248565b60405180910390fd5b61157f858585611d3d565b61158c8585858585611fa0565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f9906132da565b60405180910390fd5b600061160c611187565b905061161d818660008787876117e7565b61162a8186600087612020565b6000603360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050848110156116b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a89061336c565b60405180910390fd5b848103603360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550846034600082825461170991906133bb565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a409887878760405161177193929190613444565b60405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516117d7919061257e565b60405180910390a3505050505050565b6000731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff1663aabbb8ca877f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956040518363ffffffff1660e01b81526004016118589291906134b1565b602060405180830381865afa158015611875573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189991906134ef565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611945578073ffffffffffffffffffffffffffffffffffffffff166375ab97828888888888886040518763ffffffff1660e01b81526004016119129695949392919061351c565b600060405180830381600087803b15801561192c57600080fd5b505af1158015611940573d6000803e3d6000fd5b505050505b50505050505050565b61195a86868686612020565b6000603360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156119e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d8906135fd565b60405180910390fd5b838103603360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083603360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a76919061361d565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987878787604051611af593929190613444565b60405180910390a48473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051611b5a919061257e565b60405180910390a350505050505050565b6000731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff1663aabbb8ca877fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6040518363ffffffff1660e01b8152600401611bdc9291906134b1565b602060405180830381865afa158015611bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1d91906134ef565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611ccc578073ffffffffffffffffffffffffffffffffffffffff166223de298989898989896040518763ffffffff1660e01b8152600401611c959695949392919061351c565b600060405180830381600087803b158015611caf57600080fd5b505af1158015611cc3573d6000803e3d6000fd5b50505050611d33565b8115611d3257611cf18673ffffffffffffffffffffffffffffffffffffffff16611502565b15611d31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d28906136e9565b60405180910390fd5b5b5b5050505050505050565b600060019054906101000a900460ff16611d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8390613248565b60405180910390fd5b8260359081611d9b91906138ab565b508160369081611dab91906138ab565b508060379080519060200190611dc2929190612218565b5060005b8151811015611e5457600160386000848481518110611de857611de761397d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611e4c906139ac565b915050611dc6565b50731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff166329965a1d307fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce2177054306040518463ffffffff1660e01b8152600401611ec6939291906139f4565b600060405180830381600087803b158015611ee057600080fd5b505af1158015611ef4573d6000803e3d6000fd5b50505050731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff166329965a1d307faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a306040518463ffffffff1660e01b8152600401611f69939291906139f4565b600060405180830381600087803b158015611f8357600080fd5b505af1158015611f97573d6000803e3d6000fd5b50505050505050565b600060019054906101000a900460ff16611fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe690613248565b60405180910390fd5b61201981836040518060200160405280600081525060405180602001604052806000815250612026565b5050505050565b50505050565b61203484848484600161203a565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036120a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a090613a77565b60405180910390fd5b60006120b3611187565b90506120c28160008888612020565b84603460008282546120d4919061361d565b9250508190555084603360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461212a919061361d565b925050819055506121418160008888888888611b6b565b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d8787876040516121a293929190613444565b60405180910390a38573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051612208919061257e565b60405180910390a3505050505050565b828054828255906000526020600020908101928215612291579160200282015b828111156122905782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190612238565b5b50905061229e91906122a2565b5090565b5b808211156122bb5760008160009055506001016122a3565b5090565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612316826122eb565b9050919050565b6123268161230b565b82525050565b6000612338838361231d565b60208301905092915050565b6000602082019050919050565b600061235c826122bf565b61236681856122ca565b9350612371836122db565b8060005b838110156123a2578151612389888261232c565b975061239483612344565b925050600181019050612375565b5085935050505092915050565b600060208201905081810360008301526123c98184612351565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561240b5780820151818401526020810190506123f0565b60008484015250505050565b6000601f19601f8301169050919050565b6000612433826123d1565b61243d81856123dc565b935061244d8185602086016123ed565b61245681612417565b840191505092915050565b6000602082019050818103600083015261247b8184612428565b905092915050565b6000604051905090565b600080fd5b600080fd5b6124a08161230b565b81146124ab57600080fd5b50565b6000813590506124bd81612497565b92915050565b6000819050919050565b6124d6816124c3565b81146124e157600080fd5b50565b6000813590506124f3816124cd565b92915050565b600080604083850312156125105761250f61248d565b5b600061251e858286016124ae565b925050602061252f858286016124e4565b9150509250929050565b60008115159050919050565b61254e81612539565b82525050565b60006020820190506125696000830184612545565b92915050565b612578816124c3565b82525050565b6000602082019050612593600083018461256f565b92915050565b6000806000606084860312156125b2576125b161248d565b5b60006125c0868287016124ae565b93505060206125d1868287016124ae565b92505060406125e2868287016124e4565b9150509250925092565b600060ff82169050919050565b612602816125ec565b82525050565b600060208201905061261d60008301846125f9565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61266582612417565b810181811067ffffffffffffffff821117156126845761268361262d565b5b80604052505050565b6000612697612483565b90506126a3828261265c565b919050565b600067ffffffffffffffff8211156126c3576126c261262d565b5b6126cc82612417565b9050602081019050919050565b82818337600083830152505050565b60006126fb6126f6846126a8565b61268d565b90508281526020810184848401111561271757612716612628565b5b6127228482856126d9565b509392505050565b600082601f83011261273f5761273e612623565b5b813561274f8482602086016126e8565b91505092915050565b600080600080600060a086880312156127745761277361248d565b5b6000612782888289016124ae565b9550506020612793888289016124ae565b94505060406127a4888289016124e4565b935050606086013567ffffffffffffffff8111156127c5576127c4612492565b5b6127d18882890161272a565b925050608086013567ffffffffffffffff8111156127f2576127f1612492565b5b6127fe8882890161272a565b9150509295509295909350565b6000602082840312156128215761282061248d565b5b600061282f848285016124ae565b91505092915050565b600067ffffffffffffffff8211156128535761285261262d565b5b61285c82612417565b9050602081019050919050565b600061287c61287784612838565b61268d565b90508281526020810184848401111561289857612897612628565b5b6128a38482856126d9565b509392505050565b600082601f8301126128c0576128bf612623565b5b81356128d0848260208601612869565b91505092915050565b600067ffffffffffffffff8211156128f4576128f361262d565b5b602082029050602081019050919050565b600080fd5b600061291d612918846128d9565b61268d565b905080838252602082019050602084028301858111156129405761293f612905565b5b835b81811015612969578061295588826124ae565b845260208401935050602081019050612942565b5050509392505050565b600082601f83011261298857612987612623565b5b813561299884826020860161290a565b91505092915050565b600080600080600060a086880312156129bd576129bc61248d565b5b600086013567ffffffffffffffff8111156129db576129da612492565b5b6129e7888289016128ab565b955050602086013567ffffffffffffffff811115612a0857612a07612492565b5b612a14888289016128ab565b945050604086013567ffffffffffffffff811115612a3557612a34612492565b5b612a4188828901612973565b9350506060612a52888289016124e4565b9250506080612a63888289016124ae565b9150509295509295909350565b600080600060608486031215612a8957612a8861248d565b5b6000612a97868287016124ae565b9350506020612aa8868287016124e4565b925050604084013567ffffffffffffffff811115612ac957612ac8612492565b5b612ad58682870161272a565b9150509250925092565b60008060408385031215612af657612af561248d565b5b6000612b04858286016124ae565b9250506020612b15858286016124ae565b9150509250929050565b60008060008060808587031215612b3957612b3861248d565b5b6000612b47878288016124ae565b9450506020612b58878288016124e4565b935050604085013567ffffffffffffffff811115612b7957612b78612492565b5b612b858782880161272a565b925050606085013567ffffffffffffffff811115612ba657612ba5612492565b5b612bb28782880161272a565b91505092959194509250565b60008060408385031215612bd557612bd461248d565b5b6000612be3858286016124e4565b925050602083013567ffffffffffffffff811115612c0457612c03612492565b5b612c108582860161272a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c6157607f821691505b602082108103612c7457612c73612c1a565b5b50919050565b7f4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f60008201527f7220666f7220686f6c6465720000000000000000000000000000000000000000602082015250565b6000612cd6602c836123dc565b9150612ce182612c7a565b604082019050919050565b60006020820190508181036000830152612d0581612cc9565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000612d68602e836123dc565b9150612d7382612d0c565b604082019050919050565b60006020820190508181036000830152612d9781612d5b565b9050919050565b6000819050919050565b6000819050919050565b6000612dcd612dc8612dc384612d9e565b612da8565b6125ec565b9050919050565b612ddd81612db2565b82525050565b6000602082019050612df86000830184612dd4565b92915050565b7f4552433737373a20617574686f72697a696e672073656c66206173206f70657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b6000612e5a6024836123dc565b9150612e6582612dfe565b604082019050919050565b60006020820190508181036000830152612e8981612e4d565b9050919050565b7f4552433737373a207265766f6b696e672073656c66206173206f70657261746f60008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612eec6021836123dc565b9150612ef782612e90565b604082019050919050565b60006020820190508181036000830152612f1b81612edf565b9050919050565b7f4552433737373a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f7e6025836123dc565b9150612f8982612f22565b604082019050919050565b60006020820190508181036000830152612fad81612f71565b9050919050565b7f4552433737373a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006130106023836123dc565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f4552433737373a20696e73756666696369656e7420616c6c6f77616e63650000600082015250565b600061307c601e836123dc565b915061308782613046565b602082019050919050565b600060208201905081810360008301526130ab8161306f565b9050919050565b7f4552433737373a207472616e736665722066726f6d20746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061310e6026836123dc565b9150613119826130b2565b604082019050919050565b6000602082019050818103600083015261313d81613101565b9050919050565b7f4552433737373a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131a06024836123dc565b91506131ab82613144565b604082019050919050565b600060208201905081810360008301526131cf81613193565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000613232602b836123dc565b915061323d826131d6565b604082019050919050565b6000602082019050818103600083015261326181613225565b9050919050565b7f4552433737373a206275726e2066726f6d20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132c46022836123dc565b91506132cf82613268565b604082019050919050565b600060208201905081810360008301526132f3816132b7565b9050919050565b7f4552433737373a206275726e20616d6f756e7420657863656564732062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b60006133566023836123dc565b9150613361826132fa565b604082019050919050565b6000602082019050818103600083015261338581613349565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006133c6826124c3565b91506133d1836124c3565b92508282039050818111156133e9576133e861338c565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000613416826133ef565b61342081856133fa565b93506134308185602086016123ed565b61343981612417565b840191505092915050565b6000606082019050613459600083018661256f565b818103602083015261346b818561340b565b9050818103604083015261347f818461340b565b9050949350505050565b6134928161230b565b82525050565b6000819050919050565b6134ab81613498565b82525050565b60006040820190506134c66000830185613489565b6134d360208301846134a2565b9392505050565b6000815190506134e981612497565b92915050565b6000602082840312156135055761350461248d565b5b6000613513848285016134da565b91505092915050565b600060c0820190506135316000830189613489565b61353e6020830188613489565b61354b6040830187613489565b613558606083018661256f565b818103608083015261356a818561340b565b905081810360a083015261357e818461340b565b9050979650505050505050565b7f4552433737373a207472616e7366657220616d6f756e7420657863656564732060008201527f62616c616e636500000000000000000000000000000000000000000000000000602082015250565b60006135e76027836123dc565b91506135f28261358b565b604082019050919050565b60006020820190508181036000830152613616816135da565b9050919050565b6000613628826124c3565b9150613633836124c3565b925082820190508082111561364b5761364a61338c565b5b92915050565b7f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460008201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60208201527f6b656e73526563697069656e7400000000000000000000000000000000000000604082015250565b60006136d3604d836123dc565b91506136de82613651565b606082019050919050565b60006020820190508181036000830152613702816136c6565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261376b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261372e565b613775868361372e565b95508019841693508086168417925050509392505050565b60006137a86137a361379e846124c3565b612da8565b6124c3565b9050919050565b6000819050919050565b6137c28361378d565b6137d66137ce826137af565b84845461373b565b825550505050565b600090565b6137eb6137de565b6137f68184846137b9565b505050565b5b8181101561381a5761380f6000826137e3565b6001810190506137fc565b5050565b601f82111561385f5761383081613709565b6138398461371e565b81016020851015613848578190505b61385c6138548561371e565b8301826137fb565b50505b505050565b600082821c905092915050565b600061388260001984600802613864565b1980831691505092915050565b600061389b8383613871565b9150826002028217905092915050565b6138b4826123d1565b67ffffffffffffffff8111156138cd576138cc61262d565b5b6138d78254612c49565b6138e282828561381e565b600060209050601f8311600181146139155760008415613903578287015190505b61390d858261388f565b865550613975565b601f19841661392386613709565b60005b8281101561394b57848901518255600182019150602085019450602081019050613926565b868310156139685784890151613964601f891682613871565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006139b7826124c3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139e9576139e861338c565b5b600182019050919050565b6000606082019050613a096000830186613489565b613a1660208301856134a2565b613a236040830184613489565b949350505050565b7f4552433737373a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613a616020836123dc565b9150613a6c82613a2b565b602082019050919050565b60006020820190508181036000830152613a9081613a54565b905091905056fea2646970667358221220a95dfa9d698354a2dcc69957691f08b9823ac7db02f56ef29e40bf877838ddbd64736f6c63430008110033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
