{
    "_format": "hh-sol-artifact-1",
    "contractName": "Verification",
    "sourceName": "contracts/Verification.sol",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "address payable",
                    "name": "sector_",
                    "type": "address"
                },
                {
                    "internalType": "bytes28",
                    "name": "seed_",
                    "type": "bytes28"
                },
                {
                    "internalType": "address payable",
                    "name": "seedSubmitter_",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "submitProofTimeout_",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "verifyProofTimeout_",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "verifyThreshold_",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "sectorReward_",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "seedReward_",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "verifyReward_",
                    "type": "uint256"
                }
            ],
            "stateMutability": "payable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes28",
                    "name": "sector_afid",
                    "type": "bytes28"
                },
                {
                    "indexed": true,
                    "internalType": "bytes28",
                    "name": "seed",
                    "type": "bytes28"
                },
                {
                    "indexed": false,
                    "internalType": "bytes28",
                    "name": "proof",
                    "type": "bytes28"
                }
            ],
            "name": "ProofSubmitted",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bytes28",
                    "name": "sector_afid",
                    "type": "bytes28"
                },
                {
                    "indexed": true,
                    "internalType": "bytes28",
                    "name": "seed",
                    "type": "bytes28"
                },
                {
                    "indexed": false,
                    "internalType": "bytes28",
                    "name": "proof",
                    "type": "bytes28"
                },
                {
                    "indexed": true,
                    "internalType": "bool",
                    "name": "result",
                    "type": "bool"
                }
            ],
            "name": "ProofVerified",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "uint8",
                    "name": "reward_type",
                    "type": "uint8"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "to",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "Reward",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "internalType": "bool",
                    "name": "result",
                    "type": "bool"
                }
            ],
            "name": "VerifyFinish",
            "type": "event"
        },
        {
            "inputs": [],
            "name": "REWARD_SECTOR",
            "outputs": [
                {
                    "internalType": "uint8",
                    "name": "",
                    "type": "uint8"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "REWARD_SEED",
            "outputs": [
                {
                    "internalType": "uint8",
                    "name": "",
                    "type": "uint8"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "REWARD_VERIFY",
            "outputs": [
                {
                    "internalType": "uint8",
                    "name": "",
                    "type": "uint8"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "STATUS_VERIFYING",
            "outputs": [
                {
                    "internalType": "uint8",
                    "name": "",
                    "type": "uint8"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "STATUS_WAITING",
            "outputs": [
                {
                    "internalType": "uint8",
                    "name": "",
                    "type": "uint8"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "abandoned",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "collectFunds",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "deadend",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "expireSubmitProofDDL",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "expireVerifyProofDDL",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "fail",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "",
                    "type": "address"
                }
            ],
            "name": "hasVerified",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "pass",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "proof",
            "outputs": [
                {
                    "internalType": "bytes28",
                    "name": "",
                    "type": "bytes28"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "sector",
            "outputs": [
                {
                    "internalType": "contract ISector",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "sectorReward",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "seed",
            "outputs": [
                {
                    "internalType": "bytes28",
                    "name": "",
                    "type": "bytes28"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "seedReward",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "seedSubmitter",
            "outputs": [
                {
                    "internalType": "address payable",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "status",
            "outputs": [
                {
                    "internalType": "uint8",
                    "name": "",
                    "type": "uint8"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bytes28",
                    "name": "proof_",
                    "type": "bytes28"
                }
            ],
            "name": "submitProof",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "submitProofDDL",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "turboFil",
            "outputs": [
                {
                    "internalType": "contract ITurboFil",
                    "name": "",
                    "type": "address"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "bool",
                    "name": "result_",
                    "type": "bool"
                }
            ],
            "name": "verifyProof",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "verifyProofDDL",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "verifyReward",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "verifyThreshold",
            "outputs": [
                {
                    "internalType": "uint256",
                    "name": "",
                    "type": "uint256"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "bytecode": "0x60806040526040516200152a3803806200152a8339810160408190526200002691620001a5565b6200003284826200024e565b6200003e838562000233565b6200004a919062000233565b341015620000de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f566572696669636174696f6e3a206e6f7420656e6f7567682066756e6473206660448201527f6f72207265776172647300000000000000000000000000000000000000000000606482015260840160405180910390fd5b60008054336001600160a01b0319918216179091556001805482166001600160a01b038c811691909117909155600280547fffffffff000000000000000000000000000000000000000000000000000000001660208c901c1790556003805490921690891617905560048390556005829055600681905562000161864362000233565b60098190556200017390869062000233565b600a55505050600755506200029f9350505050565b80516001600160a01b0381168114620001a057600080fd5b919050565b60008060008060008060008060006101208a8c031215620001c4578485fd5b620001cf8a62000188565b985060208a015163ffffffff1981168114620001e9578586fd5b9750620001f960408b0162000188565b965060608a0151955060808a0151945060a08a0151935060c08a0151925060e08a015191506101008a015190509295985092959850929598565b6000821982111562000249576200024962000270565b500190565b60008160001904831182151516156200026b576200026b62000270565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b61127b80620002af6000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c8063a0e45278116100f9578063c27c251411610097578063ed32cc6d11610071578063ed32cc6d14610329578063f69bce2414610331578063faf924cf1461033a578063fda5ee8914610342576101b9565b8063c27c2514146102f3578063d245fbe114610316578063eb273f97146102ba576101b9565b8063a9cc4718116100d3578063a9cc4718146102c2578063af22c359146102cf578063b5a85222146102d8578063b7aec7ff146102eb576101b9565b8063a0e45278146102a5578063a7a1ed72146102ad578063a9666725146102ba576101b9565b8063551edf6411610166578063675b591d11610140578063675b591d1461024e5780637d94792a146102725780638e3475fc1461029557806396ae8f7f1461029d576101b9565b8063551edf64146102565780635b9806281461025f5780635ddb379714610269576101b9565b8063200d2ed211610197578063200d2ed21461021c5780632e53c5b01461023b578063346b7ba21461024e576101b9565b8063047168e0146101be57806316f81cd8146101db578063177536ea146101f1575b600080fd5b6101c6610355565b60405190151581526020015b60405180910390f35b6101e3610382565b6040519081526020016101d2565b600154610204906001600160a01b031681565b6040516001600160a01b0390911681526020016101d2565b6008546102299060ff1681565b60405160ff90911681526020016101d2565b600054610204906001600160a01b031681565b610229600081565b6101e360055481565b6102676103f3565b005b6101e360045481565b60025461027f9060201b81565b60405163ffffffff1990911681526020016101d2565b610229600281565b6101c66104de565b6101c66104ef565b600754600c5410156101c6565b610229600181565b600754600d5410156101c6565b6101e360075481565b6102676102e63660046111b0565b6104f9565b6101e36107d8565b6101c6610301366004611139565b600b6020526000908152604090205460ff1681565b610267610324366004611178565b610846565b6101c6610cb6565b6101e360065481565b61027f610ce6565b600354610204906001600160a01b031681565b60085460009060ff1615801561036e575061036e6104de565b1561037b5750600161037f565b5060005b90565b600854600090819060ff16156103eb5760405162461bcd60e51b8152602060048201526024808201527f566572696669636174696f6e3a206e6f742061742072657175697265642073746044820152636174757360e01b60648201526084015b60405180910390fd5b505060095490565b600754600d541080156104095750600754600c54105b801561042657506104186104de565b8061042657506104266104ef565b6104985760405162461bcd60e51b815260206004820152602a60248201527f566572696669636174696f6e3a206e6f7420616c6c6f77656420746f20636f6c60448201527f6c6563742066756e64730000000000000000000000000000000000000000000060648201526084016103e2565b3031156104dc57600080546040516001600160a01b0390911691303180156108fc02929091818181858888f193505050501580156104da573d6000803e3d6000fd5b505b565b60006104e8610382565b4311905090565b60006104e86107d8565b60085460009060ff161561055b5760405162461bcd60e51b8152602060048201526024808201527f566572696669636174696f6e3a206e6f742061742072657175697265642073746044820152636174757360e01b60648201526084016103e2565b600154604080517f8da5cb5b000000000000000000000000000000000000000000000000000000008152905133926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156105b857600080fd5b505afa1580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f0919061115c565b6001600160a01b03161461066c5760405162461bcd60e51b815260206004820152602860248201527f566572696669636174696f6e3a2063616c6c6572206973206e6f74207365637460448201527f6f72206f776e657200000000000000000000000000000000000000000000000060648201526084016103e2565b6009544311156106ca5760405162461bcd60e51b815260206004820152602360248201527f566572696669636174696f6e3a207375626d69742070726f6f6620746f6f206c60448201526261746560e81b60648201526084016103e2565b6008805460017fffffff0000000000000000000000000000000000000000000000000000000000909116610100602086811c9190910260ff19169190911782179092556002549054604080516307fa4f9360e11b8152905192841b63ffffffff1916936001600160a01b0390921692630ff49f2692600480840193919291829003018186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906111cc565b60405163ffffffff19858116825291909116907f6d8409d5130d9982d8d4e6f32b95a9073d7f0e7aef72c00487f1507483a270ae9060200160405180910390a35050565b60085460009060019060ff16811461083e5760405162461bcd60e51b8152602060048201526024808201527f566572696669636174696f6e3a206e6f742061742072657175697265642073746044820152636174757360e01b60648201526084016103e2565b5050600a5490565b60085460019060ff1681146108a95760405162461bcd60e51b8152602060048201526024808201527f566572696669636174696f6e3a206e6f742061742072657175697265642073746044820152636174757360e01b60648201526084016103e2565b6000546040517fc3c56e660000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039091169063c3c56e669060240160206040518083038186803b15801561090557600080fd5b505afa158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093d9190611194565b6109af5760405162461bcd60e51b815260206004820152603560248201527f566572696669636174696f6e3a20646f6573206e6f742068617665207072697660448201527f696c65676520746f207665726966792070726f6f66000000000000000000000060648201526084016103e2565b600a54431115610a0d5760405162461bcd60e51b815260206004820152602360248201527f566572696669636174696f6e3a207665726966792070726f6f6620746f6f206c60448201526261746560e81b60648201526084016103e2565b336000908152600b602052604090205460ff1615610a935760405162461bcd60e51b815260206004820152602960248201527f566572696669636174696f6e3a2063616c6c65722068617320616c726561647960448201527f207665726966696564000000000000000000000000000000000000000000000060648201526084016103e2565b8115610aed57600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701805473ffffffffffffffffffffffffffffffffffffffff191633179055610b3d565b600d80546001810182556000919091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb501805473ffffffffffffffffffffffffffffffffffffffff1916331790555b336000908152600b60209081526040918290208054600160ff199091168117909155600254905483516307fa4f9360e11b815293518615159492841b63ffffffff1916936001600160a01b0390921692630ff49f26926004808301939192829003018186803b158015610baf57600080fd5b505afa158015610bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be791906111cc565b63ffffffff19167f34f93b456c3ffdb7064f4ce11127d2f8d8cb5d8a040b8afbdc223656648f56ef610c17610ce6565b60405163ffffffff19909116815260200160405180910390a4600754600c5410610c74576040516001907f22ef6b57ff0520c18bf784aafde82545aaf4682cfe59344462f5b1cbdf67040590600090a2610c6f610d5c565b610cb2565b600754600d5410610cb2576040516000907f22ef6b57ff0520c18bf784aafde82545aaf4682cfe59344462f5b1cbdf670405908290a2610cb2610fd3565b5050565b60085460009060ff166001148015610cd15750610cd16104ef565b15610cde5750600061037f565b50600161037f565b60085460009060019060ff168114610d4c5760405162461bcd60e51b8152602060048201526024808201527f566572696669636174696f6e3a206e6f742061742072657175697265642073746044820152636174757360e01b60648201526084016103e2565b5050600854610100900460201b90565b6001805460048054600254604051630e9af4c960e01b81526001600160a01b0390941694630e9af4c9949293610dad9360209390931b920163ffffffff199290921682521515602082015260400190565b6000604051808303818588803b158015610dc657600080fd5b505af1158015610dda573d6000803e3d6000fd5b50506001546004546040519081526001600160a01b039091169350600092507f5f0d8a7b2a35234a1623665f50a2ffb18dcc0b55afb65b95c44b94a9c4f2d4ce915060200160405180910390a36003546005546040516000926001600160a01b03169180156108fc029184818181858888f1935050505090508015610ea2576003546005546040519081526001600160a01b03909116906001907f5f0d8a7b2a35234a1623665f50a2ffb18dcc0b55afb65b95c44b94a9c4f2d4ce9060200160405180910390a35b60005b600c54811015610f90576000600c8281548110610ed257634e487b7160e01b600052603260045260246000fd5b60009182526020822001546006546040516001600160a01b039092169281156108fc029290818181858888f1935050505090508015610f7d57600c8281548110610f2c57634e487b7160e01b600052603260045260246000fd5b600091825260209182902001546006546040519081526001600160a01b03909116916002917f5f0d8a7b2a35234a1623665f50a2ffb18dcc0b55afb65b95c44b94a9c4f2d4ce910160405180910390a35b5080610f88816111e8565b915050610ea5565b503031156104da57600080546040516001600160a01b0390911691303180156108fc02929091818181858888f19350505050158015610cb2573d6000803e3d6000fd5b600154600254604051630e9af4c960e01b815260209190911b63ffffffff19166004820152600060248201526001600160a01b0390911690630e9af4c990604401600060405180830381600087803b15801561102e57600080fd5b505af1158015611042573d6000803e3d6000fd5b50506003546005546040516001600160a01b03909216935080156108fc029250906000818181858888f19350505050158015611082573d6000803e3d6000fd5b5060005b600d548110156110f657600d81815481106110b157634e487b7160e01b600052603260045260246000fd5b60009182526020822001546006546040516001600160a01b039092169281156108fc029290818181858888f193505050505080806110ee906111e8565b915050611086565b503031156104dc57600080546040516001600160a01b0390911691303180156108fc02929091818181858888f193505050501580156104da573d6000803e3d6000fd5b60006020828403121561114a578081fd5b81356111558161120f565b9392505050565b60006020828403121561116d578081fd5b81516111558161120f565b600060208284031215611189578081fd5b813561115581611224565b6000602082840312156111a5578081fd5b815161115581611224565b6000602082840312156111c1578081fd5b813561115581611232565b6000602082840312156111dd578081fd5b815161115581611232565b600060001982141561120857634e487b7160e01b81526011600452602481fd5b5060010190565b6001600160a01b03811681146104da57600080fd5b80151581146104da57600080fd5b63ffffffff19811681146104da57600080fdfea26469706673582212206583d6ed1d66fd72fc4917b1d1b252dea031e7936f361921930932f1d6e227d364736f6c63430008030033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101b95760003560e01c8063a0e45278116100f9578063c27c251411610097578063ed32cc6d11610071578063ed32cc6d14610329578063f69bce2414610331578063faf924cf1461033a578063fda5ee8914610342576101b9565b8063c27c2514146102f3578063d245fbe114610316578063eb273f97146102ba576101b9565b8063a9cc4718116100d3578063a9cc4718146102c2578063af22c359146102cf578063b5a85222146102d8578063b7aec7ff146102eb576101b9565b8063a0e45278146102a5578063a7a1ed72146102ad578063a9666725146102ba576101b9565b8063551edf6411610166578063675b591d11610140578063675b591d1461024e5780637d94792a146102725780638e3475fc1461029557806396ae8f7f1461029d576101b9565b8063551edf64146102565780635b9806281461025f5780635ddb379714610269576101b9565b8063200d2ed211610197578063200d2ed21461021c5780632e53c5b01461023b578063346b7ba21461024e576101b9565b8063047168e0146101be57806316f81cd8146101db578063177536ea146101f1575b600080fd5b6101c6610355565b60405190151581526020015b60405180910390f35b6101e3610382565b6040519081526020016101d2565b600154610204906001600160a01b031681565b6040516001600160a01b0390911681526020016101d2565b6008546102299060ff1681565b60405160ff90911681526020016101d2565b600054610204906001600160a01b031681565b610229600081565b6101e360055481565b6102676103f3565b005b6101e360045481565b60025461027f9060201b81565b60405163ffffffff1990911681526020016101d2565b610229600281565b6101c66104de565b6101c66104ef565b600754600c5410156101c6565b610229600181565b600754600d5410156101c6565b6101e360075481565b6102676102e63660046111b0565b6104f9565b6101e36107d8565b6101c6610301366004611139565b600b6020526000908152604090205460ff1681565b610267610324366004611178565b610846565b6101c6610cb6565b6101e360065481565b61027f610ce6565b600354610204906001600160a01b031681565b60085460009060ff1615801561036e575061036e6104de565b1561037b5750600161037f565b5060005b90565b600854600090819060ff16156103eb5760405162461bcd60e51b8152602060048201526024808201527f566572696669636174696f6e3a206e6f742061742072657175697265642073746044820152636174757360e01b60648201526084015b60405180910390fd5b505060095490565b600754600d541080156104095750600754600c54105b801561042657506104186104de565b8061042657506104266104ef565b6104985760405162461bcd60e51b815260206004820152602a60248201527f566572696669636174696f6e3a206e6f7420616c6c6f77656420746f20636f6c60448201527f6c6563742066756e64730000000000000000000000000000000000000000000060648201526084016103e2565b3031156104dc57600080546040516001600160a01b0390911691303180156108fc02929091818181858888f193505050501580156104da573d6000803e3d6000fd5b505b565b60006104e8610382565b4311905090565b60006104e86107d8565b60085460009060ff161561055b5760405162461bcd60e51b8152602060048201526024808201527f566572696669636174696f6e3a206e6f742061742072657175697265642073746044820152636174757360e01b60648201526084016103e2565b600154604080517f8da5cb5b000000000000000000000000000000000000000000000000000000008152905133926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156105b857600080fd5b505afa1580156105cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f0919061115c565b6001600160a01b03161461066c5760405162461bcd60e51b815260206004820152602860248201527f566572696669636174696f6e3a2063616c6c6572206973206e6f74207365637460448201527f6f72206f776e657200000000000000000000000000000000000000000000000060648201526084016103e2565b6009544311156106ca5760405162461bcd60e51b815260206004820152602360248201527f566572696669636174696f6e3a207375626d69742070726f6f6620746f6f206c60448201526261746560e81b60648201526084016103e2565b6008805460017fffffff0000000000000000000000000000000000000000000000000000000000909116610100602086811c9190910260ff19169190911782179092556002549054604080516307fa4f9360e11b8152905192841b63ffffffff1916936001600160a01b0390921692630ff49f2692600480840193919291829003018186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906111cc565b60405163ffffffff19858116825291909116907f6d8409d5130d9982d8d4e6f32b95a9073d7f0e7aef72c00487f1507483a270ae9060200160405180910390a35050565b60085460009060019060ff16811461083e5760405162461bcd60e51b8152602060048201526024808201527f566572696669636174696f6e3a206e6f742061742072657175697265642073746044820152636174757360e01b60648201526084016103e2565b5050600a5490565b60085460019060ff1681146108a95760405162461bcd60e51b8152602060048201526024808201527f566572696669636174696f6e3a206e6f742061742072657175697265642073746044820152636174757360e01b60648201526084016103e2565b6000546040517fc3c56e660000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039091169063c3c56e669060240160206040518083038186803b15801561090557600080fd5b505afa158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093d9190611194565b6109af5760405162461bcd60e51b815260206004820152603560248201527f566572696669636174696f6e3a20646f6573206e6f742068617665207072697660448201527f696c65676520746f207665726966792070726f6f66000000000000000000000060648201526084016103e2565b600a54431115610a0d5760405162461bcd60e51b815260206004820152602360248201527f566572696669636174696f6e3a207665726966792070726f6f6620746f6f206c60448201526261746560e81b60648201526084016103e2565b336000908152600b602052604090205460ff1615610a935760405162461bcd60e51b815260206004820152602960248201527f566572696669636174696f6e3a2063616c6c65722068617320616c726561647960448201527f207665726966696564000000000000000000000000000000000000000000000060648201526084016103e2565b8115610aed57600c80546001810182556000919091527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c701805473ffffffffffffffffffffffffffffffffffffffff191633179055610b3d565b600d80546001810182556000919091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb501805473ffffffffffffffffffffffffffffffffffffffff1916331790555b336000908152600b60209081526040918290208054600160ff199091168117909155600254905483516307fa4f9360e11b815293518615159492841b63ffffffff1916936001600160a01b0390921692630ff49f26926004808301939192829003018186803b158015610baf57600080fd5b505afa158015610bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be791906111cc565b63ffffffff19167f34f93b456c3ffdb7064f4ce11127d2f8d8cb5d8a040b8afbdc223656648f56ef610c17610ce6565b60405163ffffffff19909116815260200160405180910390a4600754600c5410610c74576040516001907f22ef6b57ff0520c18bf784aafde82545aaf4682cfe59344462f5b1cbdf67040590600090a2610c6f610d5c565b610cb2565b600754600d5410610cb2576040516000907f22ef6b57ff0520c18bf784aafde82545aaf4682cfe59344462f5b1cbdf670405908290a2610cb2610fd3565b5050565b60085460009060ff166001148015610cd15750610cd16104ef565b15610cde5750600061037f565b50600161037f565b60085460009060019060ff168114610d4c5760405162461bcd60e51b8152602060048201526024808201527f566572696669636174696f6e3a206e6f742061742072657175697265642073746044820152636174757360e01b60648201526084016103e2565b5050600854610100900460201b90565b6001805460048054600254604051630e9af4c960e01b81526001600160a01b0390941694630e9af4c9949293610dad9360209390931b920163ffffffff199290921682521515602082015260400190565b6000604051808303818588803b158015610dc657600080fd5b505af1158015610dda573d6000803e3d6000fd5b50506001546004546040519081526001600160a01b039091169350600092507f5f0d8a7b2a35234a1623665f50a2ffb18dcc0b55afb65b95c44b94a9c4f2d4ce915060200160405180910390a36003546005546040516000926001600160a01b03169180156108fc029184818181858888f1935050505090508015610ea2576003546005546040519081526001600160a01b03909116906001907f5f0d8a7b2a35234a1623665f50a2ffb18dcc0b55afb65b95c44b94a9c4f2d4ce9060200160405180910390a35b60005b600c54811015610f90576000600c8281548110610ed257634e487b7160e01b600052603260045260246000fd5b60009182526020822001546006546040516001600160a01b039092169281156108fc029290818181858888f1935050505090508015610f7d57600c8281548110610f2c57634e487b7160e01b600052603260045260246000fd5b600091825260209182902001546006546040519081526001600160a01b03909116916002917f5f0d8a7b2a35234a1623665f50a2ffb18dcc0b55afb65b95c44b94a9c4f2d4ce910160405180910390a35b5080610f88816111e8565b915050610ea5565b503031156104da57600080546040516001600160a01b0390911691303180156108fc02929091818181858888f19350505050158015610cb2573d6000803e3d6000fd5b600154600254604051630e9af4c960e01b815260209190911b63ffffffff19166004820152600060248201526001600160a01b0390911690630e9af4c990604401600060405180830381600087803b15801561102e57600080fd5b505af1158015611042573d6000803e3d6000fd5b50506003546005546040516001600160a01b03909216935080156108fc029250906000818181858888f19350505050158015611082573d6000803e3d6000fd5b5060005b600d548110156110f657600d81815481106110b157634e487b7160e01b600052603260045260246000fd5b60009182526020822001546006546040516001600160a01b039092169281156108fc029290818181858888f193505050505080806110ee906111e8565b915050611086565b503031156104dc57600080546040516001600160a01b0390911691303180156108fc02929091818181858888f193505050501580156104da573d6000803e3d6000fd5b60006020828403121561114a578081fd5b81356111558161120f565b9392505050565b60006020828403121561116d578081fd5b81516111558161120f565b600060208284031215611189578081fd5b813561115581611224565b6000602082840312156111a5578081fd5b815161115581611224565b6000602082840312156111c1578081fd5b813561115581611232565b6000602082840312156111dd578081fd5b815161115581611232565b600060001982141561120857634e487b7160e01b81526011600452602481fd5b5060010190565b6001600160a01b03811681146104da57600080fd5b80151581146104da57600080fd5b63ffffffff19811681146104da57600080fdfea26469706673582212206583d6ed1d66fd72fc4917b1d1b252dea031e7936f361921930932f1d6e227d364736f6c63430008030033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
