{
  "contractName": "EVMScriptRegistry",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "_interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_script",
          "type": "bytes"
        }
      ],
      "name": "getScriptExecutor",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "hasInitialized",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "REGISTRY_ADD_EXECUTOR_ROLE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_script",
          "type": "bytes"
        }
      ],
      "name": "getEVMScriptExecutor",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getRecoveryVault",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_executorId",
          "type": "uint256"
        }
      ],
      "name": "disableScriptExecutor",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "token",
          "type": "address"
        }
      ],
      "name": "allowRecoverability",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "appId",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "initialize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_executor",
          "type": "address"
        }
      ],
      "name": "addScriptExecutor",
      "outputs": [
        {
          "name": "id",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getInitializationBlock",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "transferToVault",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_sender",
          "type": "address"
        },
        {
          "name": "_role",
          "type": "bytes32"
        },
        {
          "name": "_params",
          "type": "uint256[]"
        }
      ],
      "name": "canPerform",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getEVMScriptRegistry",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "REGISTRY_MANAGER_ROLE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_executorId",
          "type": "uint256"
        }
      ],
      "name": "enableScriptExecutor",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "kernel",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isPetrified",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "executors",
      "outputs": [
        {
          "name": "executor",
          "type": "address"
        },
        {
          "name": "enabled",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "executorId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "name": "executorAddress",
          "type": "address"
        }
      ],
      "name": "EnableExecutor",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "executorId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "name": "executorAddress",
          "type": "address"
        }
      ],
      "name": "DisableExecutor",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "executor",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "script",
          "type": "bytes"
        },
        {
          "indexed": false,
          "name": "input",
          "type": "bytes"
        },
        {
          "indexed": false,
          "name": "returnData",
          "type": "bytes"
        }
      ],
      "name": "ScriptResult",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "vault",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "token",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "RecoverToVault",
      "type": "event"
    }
  ],
  "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f60008051602062001c2e833981519152640100000000620015dc6200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b506200023060008051602062001c2e833981519152826401000000006200190c6200023782021704565b50565b5490565b9055565b6119e3806200024b6000396000f3006080604052600436106101115763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a7811461011657806304bf2a7f146101645780630803fac0146101e657806319f3d10f146101fb5780632914b9bd1461022257806332f0a3b51461027b5780635ca4d4bb146102905780637e7db6e1146102aa57806380afdea8146102d85780638129fc1c146102ed57806387a16f12146103025780638b3dd749146103305780639d4941d814610345578063a1658fad14610373578063a479e508146103e7578063bd8fde1c146103fc578063cff606a014610411578063d4aae0c414610429578063de4796ed1461043e578063f97a05df14610453575b600080fd5b34801561012257600080fd5b506101507fffffffff000000000000000000000000000000000000000000000000000000006004351661049b565b604080519115158252519081900360200190f35b34801561017057600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101bd9436949293602493928401919081908401838280828437509497506104f89650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101f257600080fd5b50610150610638565b34801561020757600080fd5b50610210610661565b60408051918252519081900360200190f35b34801561022e57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101bd9436949293602493928401919081908401838280828437509497506106859650505050505050565b34801561028757600080fd5b506101bd610791565b34801561029c57600080fd5b506102a860043561082f565b005b3480156102b657600080fd5b5061015073ffffffffffffffffffffffffffffffffffffffff60043516610a15565b3480156102e457600080fd5b50610210610a1b565b3480156102f957600080fd5b506102a8610a4b565b34801561030e57600080fd5b5061021073ffffffffffffffffffffffffffffffffffffffff60043516610aed565b34801561033c57600080fd5b50610210610c95565b34801561035157600080fd5b506102a873ffffffffffffffffffffffffffffffffffffffff60043516610cc0565b34801561037f57600080fd5b50604080516020600460443581810135838102808601850190965280855261015095833573ffffffffffffffffffffffffffffffffffffffff16956024803596369695606495939492019291829185019084908082843750949750610fac9650505050505050565b3480156103f357600080fd5b506101bd61113c565b34801561040857600080fd5b506102106111fe565b34801561041d57600080fd5b506102a8600435611222565b34801561043557600080fd5b506101bd6114bd565b34801561044a57600080fd5b506101506114e8565b34801561045f57600080fd5b5061046b6004356114fb565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835290151560208301528051918290030190f35b60006104a682611540565b806104f257507fffffffff0000000000000000000000000000000000000000000000000000000082167f54053e6c00000000000000000000000000000000000000000000000000000000145b92915050565b60008060006004845110156040805190810160405280601e81526020017f45564d5245475f5343524950545f4c454e4754485f544f4f5f53484f525400008152509015156105cc5760405160008051602061199883398151915281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610591578181015183820152602001610579565b50505050905090810190601f1680156105be5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506105d68461158a565b63ffffffff1660008181526001602052604090208054919350915074010000000000000000000000000000000000000000900460ff16610617576000610630565b805473ffffffffffffffffffffffffffffffffffffffff165b949350505050565b600080610643610c95565b9050801580159061065b575080610658611597565b10155b91505090565b7fc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed281565b600061068f61113c565b73ffffffffffffffffffffffffffffffffffffffff166304bf2a7f836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107135781810151838201526020016106fb565b50505050905090810190601f1680156107405780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506040513d602081101561078957600080fd5b505192915050565b600061079b6114bd565b73ffffffffffffffffffffffffffffffffffffffff166332f0a3b56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156107fe57600080fd5b505af1158015610812573d6000803e3d6000fd5b505050506040513d602081101561082857600080fd5b5051905090565b60007ff7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa361085b8361159b565b610866338383610fac565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156108f157604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b5060008481526001602090815260409182902080548351808501909452601884527f45564d5245475f4558454355544f525f44495341424c4544000000000000000092840192909252945074010000000000000000000000000000000000000000900460ff1615156109ad57604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50825474ff0000000000000000000000000000000000000000198116845560405173ffffffffffffffffffffffffffffffffffffffff9091169085907fc13cd9238f8ab1e5ab1f95cde77e89288fe5c328d04739adffd57b144b408fd190600090a350505050565b50600190565b6000610a467fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6115dc565b905090565b610a53610c95565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610add57604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50610ae66115e0565b6001600055565b6040805160008082526020820190925281907fc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed290610b2e9033908390610fac565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515610bb957604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50600080546001808201835560408051808201825273ffffffffffffffffffffffffffffffffffffffff808a1680835260208084018681528789529590528387209251835495511515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019919093167fffffffffffffffffffffffff00000000000000000000000000000000000000009096169590951794909416179055519194509184917f7697fa3288629310075a63816e294207c84f3cfc18ccf8e18eb917ec0bb566999190a35092915050565b6000610a467febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6115dc565b6000806000610cce84610a15565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610d5957604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50610d62610791565b9250610d6d836116b1565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610df857604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b5073ffffffffffffffffffffffffffffffffffffffff84161515610e63576040513031925073ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015610e5d573d6000803e3d6000fd5b50610f41565b5082610e8b73ffffffffffffffffffffffffffffffffffffffff82163063ffffffff6116eb16565b9150610eb473ffffffffffffffffffffffffffffffffffffffff8216848463ffffffff61181216565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515610f3f57604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b505b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610fb7610638565b1515610fc65760009150611134565b610fce6114bd565b905073ffffffffffffffffffffffffffffffffffffffff81161515610ff65760009150611134565b8073ffffffffffffffffffffffffffffffffffffffff1663fdef910686308761101e886118aa565b6040517c010000000000000000000000000000000000000000000000000000000063ffffffff871602815273ffffffffffffffffffffffffffffffffffffffff808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156110b657818101518382015260200161109e565b50505050905090810190601f1680156110e35780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561110557600080fd5b505af1158015611119573d6000803e3d6000fd5b505050506040513d602081101561112f57600080fd5b505191505b509392505050565b6000806111476114bd565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd616024820152905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561075f57600080fd5b7ff7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa381565b60007ff7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa361124e8361159b565b611259338383610fac565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156112e457604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50836000811180156112f7575060005481105b60408051808201909152601a81527f45564d5245475f494e4558495354454e545f4558454355544f52000000000000602082015290151561138257604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b5060008581526001602090815260409182902080548351808501909452601784527f45564d5245475f4558454355544f525f454e41424c454400000000000000000092840192909252955074010000000000000000000000000000000000000000900460ff161561143d57604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50835474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001780855560405173ffffffffffffffffffffffffffffffffffffffff9091169086907f7697fa3288629310075a63816e294207c84f3cfc18ccf8e18eb917ec0bb5669990600090a35050505050565b6000610a467f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6115dc565b60006000196114f5610c95565b14905090565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff81169074010000000000000000000000000000000000000000900460ff1682565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b60006104f28260006118b4565b4390565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811015156115cd57fe5b60209081029091010152919050565b5490565b6115e8610c95565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561167257604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b506116ab61167e611597565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61190c16565b565b5490565b60008073ffffffffffffffffffffffffffffffffffffffff831615156116da57600091506116e5565b823b90506000811191505b50919050565b6040805173ffffffffffffffffffffffffffffffffffffffff83166024808301919091528251808303909101815260449091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806117788684611910565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561180857604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b5095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906118a18582611941565b95945050505050565b8051602002815290565b6000806118c1848461198f565b7c01000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000090911604949350505050565b9055565b6000806000806040516020818751602089018a5afa9250600083111561193557805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115611985573d8015611972576020811461197b57611983565b60019350611983565b600183511493505b505b5090949350505050565b016020015190560008c379a000000000000000000000000000000000000000000000000000000000a165627a7a72305820d88d5a939b103dd3f1f4e509dd90328a8d905f712ddbafdd4b2d4025da083dc20029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e",
  "deployedBytecode": "0x6080604052600436106101115763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a7811461011657806304bf2a7f146101645780630803fac0146101e657806319f3d10f146101fb5780632914b9bd1461022257806332f0a3b51461027b5780635ca4d4bb146102905780637e7db6e1146102aa57806380afdea8146102d85780638129fc1c146102ed57806387a16f12146103025780638b3dd749146103305780639d4941d814610345578063a1658fad14610373578063a479e508146103e7578063bd8fde1c146103fc578063cff606a014610411578063d4aae0c414610429578063de4796ed1461043e578063f97a05df14610453575b600080fd5b34801561012257600080fd5b506101507fffffffff000000000000000000000000000000000000000000000000000000006004351661049b565b604080519115158252519081900360200190f35b34801561017057600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101bd9436949293602493928401919081908401838280828437509497506104f89650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101f257600080fd5b50610150610638565b34801561020757600080fd5b50610210610661565b60408051918252519081900360200190f35b34801561022e57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101bd9436949293602493928401919081908401838280828437509497506106859650505050505050565b34801561028757600080fd5b506101bd610791565b34801561029c57600080fd5b506102a860043561082f565b005b3480156102b657600080fd5b5061015073ffffffffffffffffffffffffffffffffffffffff60043516610a15565b3480156102e457600080fd5b50610210610a1b565b3480156102f957600080fd5b506102a8610a4b565b34801561030e57600080fd5b5061021073ffffffffffffffffffffffffffffffffffffffff60043516610aed565b34801561033c57600080fd5b50610210610c95565b34801561035157600080fd5b506102a873ffffffffffffffffffffffffffffffffffffffff60043516610cc0565b34801561037f57600080fd5b50604080516020600460443581810135838102808601850190965280855261015095833573ffffffffffffffffffffffffffffffffffffffff16956024803596369695606495939492019291829185019084908082843750949750610fac9650505050505050565b3480156103f357600080fd5b506101bd61113c565b34801561040857600080fd5b506102106111fe565b34801561041d57600080fd5b506102a8600435611222565b34801561043557600080fd5b506101bd6114bd565b34801561044a57600080fd5b506101506114e8565b34801561045f57600080fd5b5061046b6004356114fb565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835290151560208301528051918290030190f35b60006104a682611540565b806104f257507fffffffff0000000000000000000000000000000000000000000000000000000082167f54053e6c00000000000000000000000000000000000000000000000000000000145b92915050565b60008060006004845110156040805190810160405280601e81526020017f45564d5245475f5343524950545f4c454e4754485f544f4f5f53484f525400008152509015156105cc5760405160008051602061199883398151915281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610591578181015183820152602001610579565b50505050905090810190601f1680156105be5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506105d68461158a565b63ffffffff1660008181526001602052604090208054919350915074010000000000000000000000000000000000000000900460ff16610617576000610630565b805473ffffffffffffffffffffffffffffffffffffffff165b949350505050565b600080610643610c95565b9050801580159061065b575080610658611597565b10155b91505090565b7fc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed281565b600061068f61113c565b73ffffffffffffffffffffffffffffffffffffffff166304bf2a7f836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107135781810151838201526020016106fb565b50505050905090810190601f1680156107405780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561075f57600080fd5b505af1158015610773573d6000803e3d6000fd5b505050506040513d602081101561078957600080fd5b505192915050565b600061079b6114bd565b73ffffffffffffffffffffffffffffffffffffffff166332f0a3b56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156107fe57600080fd5b505af1158015610812573d6000803e3d6000fd5b505050506040513d602081101561082857600080fd5b5051905090565b60007ff7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa361085b8361159b565b610866338383610fac565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156108f157604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b5060008481526001602090815260409182902080548351808501909452601884527f45564d5245475f4558454355544f525f44495341424c4544000000000000000092840192909252945074010000000000000000000000000000000000000000900460ff1615156109ad57604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50825474ff0000000000000000000000000000000000000000198116845560405173ffffffffffffffffffffffffffffffffffffffff9091169085907fc13cd9238f8ab1e5ab1f95cde77e89288fe5c328d04739adffd57b144b408fd190600090a350505050565b50600190565b6000610a467fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6115dc565b905090565b610a53610c95565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015610add57604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50610ae66115e0565b6001600055565b6040805160008082526020820190925281907fc4e90f38eea8c4212a009ca7b8947943ba4d4a58d19b683417f65291d1cd9ed290610b2e9033908390610fac565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515610bb957604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50600080546001808201835560408051808201825273ffffffffffffffffffffffffffffffffffffffff808a1680835260208084018681528789529590528387209251835495511515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019919093167fffffffffffffffffffffffff00000000000000000000000000000000000000009096169590951794909416179055519194509184917f7697fa3288629310075a63816e294207c84f3cfc18ccf8e18eb917ec0bb566999190a35092915050565b6000610a467febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6115dc565b6000806000610cce84610a15565b60408051808201909152601281527f5245434f5645525f444953414c4c4f57454400000000000000000000000000006020820152901515610d5957604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50610d62610791565b9250610d6d836116b1565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e54524143540000000000006020820152901515610df857604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b5073ffffffffffffffffffffffffffffffffffffffff84161515610e63576040513031925073ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015610e5d573d6000803e3d6000fd5b50610f41565b5082610e8b73ffffffffffffffffffffffffffffffffffffffff82163063ffffffff6116eb16565b9150610eb473ffffffffffffffffffffffffffffffffffffffff8216848463ffffffff61181216565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515610f3f57604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b505b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b600080610fb7610638565b1515610fc65760009150611134565b610fce6114bd565b905073ffffffffffffffffffffffffffffffffffffffff81161515610ff65760009150611134565b8073ffffffffffffffffffffffffffffffffffffffff1663fdef910686308761101e886118aa565b6040517c010000000000000000000000000000000000000000000000000000000063ffffffff871602815273ffffffffffffffffffffffffffffffffffffffff808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b838110156110b657818101518382015260200161109e565b50505050905090810190601f1680156110e35780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561110557600080fd5b505af1158015611119573d6000803e3d6000fd5b505050506040513d602081101561112f57600080fd5b505191505b509392505050565b6000806111476114bd565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd616024820152905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b15801561075f57600080fd5b7ff7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa381565b60007ff7a450ef335e1892cb42c8ca72e7242359d7711924b75db5717410da3f614aa361124e8361159b565b611259338383610fac565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156112e457604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50836000811180156112f7575060005481105b60408051808201909152601a81527f45564d5245475f494e4558495354454e545f4558454355544f52000000000000602082015290151561138257604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b5060008581526001602090815260409182902080548351808501909452601784527f45564d5245475f4558454355544f525f454e41424c454400000000000000000092840192909252955074010000000000000000000000000000000000000000900460ff161561143d57604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b50835474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001780855560405173ffffffffffffffffffffffffffffffffffffffff9091169086907f7697fa3288629310075a63816e294207c84f3cfc18ccf8e18eb917ec0bb5669990600090a35050505050565b6000610a467f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6115dc565b60006000196114f5610c95565b14905090565b60016020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff81169074010000000000000000000000000000000000000000900460ff1682565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b60006104f28260006118b4565b4390565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811015156115cd57fe5b60209081029091010152919050565b5490565b6115e8610c95565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901561167257604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b506116ab61167e611597565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61190c16565b565b5490565b60008073ffffffffffffffffffffffffffffffffffffffff831615156116da57600091506116e5565b823b90506000811191505b50919050565b6040805173ffffffffffffffffffffffffffffffffffffffff83166024808301919091528251808303909101815260449091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f70a082310000000000000000000000000000000000000000000000000000000017905260009081806117788684611910565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561180857604051600080516020611998833981519152815260040180806020018281038252838181518152602001915080519060200190808383600083811015610591578181015183820152602001610579565b5095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906118a18582611941565b95945050505050565b8051602002815290565b6000806118c1848461198f565b7c01000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000090911604949350505050565b9055565b6000806000806040516020818751602089018a5afa9250600083111561193557805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115611985573d8015611972576020811461197b57611983565b60019350611983565b600183511493505b505b5090949350505050565b016020015190560008c379a000000000000000000000000000000000000000000000000000000000a165627a7a72305820d88d5a939b103dd3f1f4e509dd90328a8d905f712ddbafdd4b2d4025da083dc20029",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
