{
  "contractName": "HexSumTreeMock",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "height",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_time",
          "type": "uint64"
        }
      ],
      "name": "heightAt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "init",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_time",
          "type": "uint64"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "insert",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_key",
          "type": "uint256"
        }
      ],
      "name": "item",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_key",
          "type": "uint256"
        },
        {
          "internalType": "uint64",
          "name": "_time",
          "type": "uint64"
        }
      ],
      "name": "itemAt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "nextKey",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_level",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_key",
          "type": "uint256"
        }
      ],
      "name": "node",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_level",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_key",
          "type": "uint256"
        },
        {
          "internalType": "uint64",
          "name": "_time",
          "type": "uint64"
        }
      ],
      "name": "nodeAt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "uint256[]",
          "name": "_values",
          "type": "uint256[]"
        },
        {
          "internalType": "uint64",
          "name": "_time",
          "type": "uint64"
        }
      ],
      "name": "search",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "keys",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_key",
          "type": "uint256"
        },
        {
          "internalType": "uint64",
          "name": "_time",
          "type": "uint64"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "set",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "total",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "internalType": "uint64",
          "name": "_time",
          "type": "uint64"
        }
      ],
      "name": "totalAt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_key",
          "type": "uint256"
        },
        {
          "internalType": "uint64",
          "name": "_time",
          "type": "uint64"
        },
        {
          "internalType": "uint256",
          "name": "_delta",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "_positive",
          "type": "bool"
        }
      ],
      "name": "update",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506114c7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ca5760003560e01c80639d54fa271161007c5780639d54fa271461019a578063ae65def1146101c0578063b8aa19e5146101e3578063ce48a3281461021f578063e1c7392a14610251578063ea1652fa14610259578063fec5bc7e1461036b576100ca565b80630ef26743146100cf5780632339ff62146100e95780632ddbd13a1461011b578063555df3401461012357806368aaeb2e14610149578063898e6219146101755780638a9b2f2c14610192575b600080fd5b6100d7610397565b60408051918252519081900360200190f35b6100d7600480360360608110156100ff57600080fd5b50803590602081013590604001356001600160401b03166103a8565b6100d76103c4565b6100d76004803603602081101561013957600080fd5b50356001600160401b03166103d0565b6100d76004803603604081101561015f57600080fd5b50803590602001356001600160401b03166103ea565b6100d76004803603602081101561018b57600080fd5b5035610406565b6100d7610418565b6100d7600480360360208110156101b057600080fd5b50356001600160401b031661041e565b6100d7600480360360408110156101d657600080fd5b5080359060200135610430565b61021d600480360360808110156101f957600080fd5b508035906001600160401b0360208201351690604081013590606001351515610443565b005b61021d6004803603606081101561023557600080fd5b508035906001600160401b03602082013516906040013561045d565b61021d610475565b6102d26004803603604081101561026f57600080fd5b81019060208101813564010000000081111561028a57600080fd5b82018360208201111561029c57600080fd5b803590602001918460208302840111640100000000831117156102be57600080fd5b9193509150356001600160401b0316610481565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156103165781810151838201526020016102fe565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561035557818101518382015260200161033d565b5050505090500194505050505060405180910390f35b6100d76004803603604081101561038157600080fd5b506001600160401b0381351690602001356104d4565b60006103a360006104e7565b905090565b60006103bc8185858563ffffffff6104f516565b949350505050565b60006103a36000610529565b60006103e2818363ffffffff61054a16565b90505b919050565b60006103fd81848463ffffffff61056616565b90505b92915050565b60006103e2818363ffffffff61057516565b60005490565b60006103e2818363ffffffff61058316565b60006103fd81848463ffffffff61059816565b61045760008585858563ffffffff6105bc16565b50505050565b610470600084848463ffffffff6106dc16565b505050565b61047f60006107b7565b565b6060806104c885858080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509392508791505063ffffffff6107d416565b91509150935093915050565b60006103fd81848463ffffffff6109eb16565b60006103e282600101610a23565b600083815260028501602090815260408083208584529091528120610520908363ffffffff610a6e16565b95945050505050565b600080610535836104e7565b905061054383826000610598565b9392505050565b6000806105578484610583565b90506103bc84826000866104f5565b60006103bc84600085856104f5565b60006103fd83600084610598565b60006103fd600184018363ffffffff610a7a16565b6000828152600284016020908152604080832084845290915281206103bc90610a23565b845460408051808201909152601b81527a14d55357d514915157d2d15657d113d154d7d393d517d1561254d5602a1b602082015290851061067b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610640578181015183820152602001610628565b50505050905090810190601f16801561066d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060006106888686610575565b90506000826106a6576106a1828563ffffffff610a8616565b6106b6565b6106b6828563ffffffff610b0a16565b90506106c6876000888885610b90565b6106d38787878787610bbc565b50505050505050565b835460408051808201909152601b81527a14d55357d514915157d2d15657d113d154d7d393d517d1561254d5602a1b602082015290841061075e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b50600061076b8585610575565b905061077b856000868686610b90565b80821115610798576107938585858486036001610bbc565b6107b0565b808210156107b0576107b08585858585036000610bbc565b5050505050565b6107ce60018281019060009063ffffffff610cd616565b60009055565b60608060008451116040518060400160405280601e81526020017f53554d5f545245455f4d495353494e475f5345415243485f56414c55455300008152509061085e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b50600061086b8685610d67565b905060008111801561089357508460018651038151811061088857fe5b602002602001015181115b6040518060400160405280601d81526020017f53554d5f545245455f5345415243485f4f55545f4f465f424f554e4453000000815250906109155760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b5060006109228786610583565b905061092c61145a565b6040805160a081019091526001600160401b03871681526020810161095884600163ffffffff610a8616565b8152602001600081526020016000815260200160008152509050600087519050806040519080825280602002602001820160405280156109a2578160200160208202803883390190505b509550806040519080825280602002602001820160405280156109cf578160200160208202803883390190505b5094506109df8989848989610d83565b50505050935093915050565b8254600181018455600090610a01858286610eca565b82156103bc57610a15856000838787610b90565b6103bc858286866001610bbc565b80546000908015610a6557826000016001820381548110610a4057fe5b600091825260209091200154600160401b90046001600160c01b031691506103e59050565b50600092915050565b60006103fd8383610f23565b60006103fd83836110b0565b600082821115604051806040016040528060128152602001714d4154485f5355425f554e444552464c4f5760701b81525090610b035760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b5050900390565b6040805180820190915260118152704d4154485f4144445f4f564552464c4f5760781b60208201526000908383019084821015610b885760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b509392505050565b6000848152600286016020908152604080832086845290915290206107b090838363ffffffff610cd616565b600019846000610bcb886104e7565b905060015b818111610c365760049390931b92918316916000610bef8a8386610598565b9050600086610c0d57610c08828963ffffffff610a8616565b610c1d565b610c1d828963ffffffff610b0a16565b9050610c2c8b84878c85610b90565b5050600101610bd0565b50831580610c4e575084610c4b898385610598565b10155b6040518060400160405280601881526020017753554d5f545245455f5550444154455f4f564552464c4f5760401b81525090610ccb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b505050505050505050565b604080518082019091526018815277434845434b504f494e545f56414c55455f544f4f5f42494760401b60208201526001600160c01b03821115610d5b5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b50610470838383611167565b600080610d748484610583565b90506103bc84826000866112ef565b6020830151600090610d9c90600463ffffffff61131a16565b905060005b60108110156106d3578551856060015110610dbb576106d3565b6040850151600090610dd59083851b63ffffffff610b0a16565b90506000610ded898860200151848a600001516112ef565b90506000610e08828960800151610b0a90919063ffffffff16565b90506000610e1b8a8a60600151846113ae565b90508015610eba576020890151610e4357610e3e896060015182868b878c6113ec565b610e9f565b610e4b61145a565b6040518060a001604052808b600001516001600160401b0316815260200160018c602001510381526020018681526020018b6060015181526020018b608001518152509050610e9d8c8c838c8c610d83565b505b6060890151610eb4908263ffffffff610b0a16565b60608a01525b5060808801525050600101610da1565b6000610ed5846104e7565b9050610ee18184611434565b1561045757600181016000610ef7868483610598565b9050610f07868360008785610b90565b610f1b60018701858463ffffffff610cd616565b505050505050565b815460009080610f37576000915050610400565b8354600019820190859082908110610f4b57fe5b6000918252602090912001546001600160401b0390811690851610610f9f57846000018181548110610f7957fe5b600091825260209091200154600160401b90046001600160c01b03169250610400915050565b84600001600081548110610faf57fe5b6000918252602090912001546001600160401b039081169085161015610fda57600092505050610400565b6000815b8181111561107a5786546002838301600101049060009089908390811061100157fe5b600091825260209091200180549091506001600160401b0390811690891681101561102e57829450611072565b806001600160401b0316896001600160401b0316101561105357600183039350611072565b5054600160401b90046001600160c01b03169550610400945050505050565b505050610fde565b86600001828154811061108957fe5b600091825260209091200154600160401b90046001600160c01b0316979650505050505050565b8154600090806110c4576000915050610400565b83546000198201906000908690839081106110db57fe5b9060005260206000200190505b600082118015611104575080546001600160401b038087169116115b1561112f5785546000199092019186908390811061111e57fe5b9060005260206000200190506110e8565b80546001600160401b0380871691161161115a578054600160401b90046001600160c01b031661115d565b60005b9695505050505050565b82548015806111a5575083546001600160401b038416908590600019810190811061118e57fe5b6000918252602090912001546001600160401b0316105b1561121557604080518082019091526001600160401b0380851682526001600160c01b0380851660208085019182528854600181018a5560008a8152919091209451940180549151909216600160401b0293831667ffffffffffffffff1990911617909116919091179055610457565b600084600001600183038154811061122957fe5b6000918252602091829020018054604080518082019091528381527f434845434b504f494e545f43414e4e4f545f4144445f504153545f56414c5545938101939093529092506001600160401b038681169116146112c85760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b5080546001600160c01b038416600160401b026001600160401b0390911617905550505050565b600083815260028501602090815260408083208584529091528120610520908363ffffffff610a7a16565b60008261132957506000610400565b8282028284828161133657fe5b0414604051806040016040528060118152602001704d4154485f4d554c5f4f564552464c4f5760781b81525090610b885760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b6000825b8451811080156113d45750828582815181106113ca57fe5b6020026020010151105b156113e1576001016113b2565b929092039392505050565b60005b858110156106d35784848289018151811061140657fe5b60200260200101818152505082828289018151811061142157fe5b60209081029190910101526001016113ef565b60008061144884600463ffffffff61131a16565b600019901b8316151591505092915050565b6040518060a0016040528060006001600160401b0316815260200160008152602001600081526020016000815260200160008152509056fea265627a7a7231582039d7c27c5b2fe78da00e2e4b157421d76b105add1acfca8e66fff4c144e8ff0564736f6c63430005110032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ca5760003560e01c80639d54fa271161007c5780639d54fa271461019a578063ae65def1146101c0578063b8aa19e5146101e3578063ce48a3281461021f578063e1c7392a14610251578063ea1652fa14610259578063fec5bc7e1461036b576100ca565b80630ef26743146100cf5780632339ff62146100e95780632ddbd13a1461011b578063555df3401461012357806368aaeb2e14610149578063898e6219146101755780638a9b2f2c14610192575b600080fd5b6100d7610397565b60408051918252519081900360200190f35b6100d7600480360360608110156100ff57600080fd5b50803590602081013590604001356001600160401b03166103a8565b6100d76103c4565b6100d76004803603602081101561013957600080fd5b50356001600160401b03166103d0565b6100d76004803603604081101561015f57600080fd5b50803590602001356001600160401b03166103ea565b6100d76004803603602081101561018b57600080fd5b5035610406565b6100d7610418565b6100d7600480360360208110156101b057600080fd5b50356001600160401b031661041e565b6100d7600480360360408110156101d657600080fd5b5080359060200135610430565b61021d600480360360808110156101f957600080fd5b508035906001600160401b0360208201351690604081013590606001351515610443565b005b61021d6004803603606081101561023557600080fd5b508035906001600160401b03602082013516906040013561045d565b61021d610475565b6102d26004803603604081101561026f57600080fd5b81019060208101813564010000000081111561028a57600080fd5b82018360208201111561029c57600080fd5b803590602001918460208302840111640100000000831117156102be57600080fd5b9193509150356001600160401b0316610481565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156103165781810151838201526020016102fe565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561035557818101518382015260200161033d565b5050505090500194505050505060405180910390f35b6100d76004803603604081101561038157600080fd5b506001600160401b0381351690602001356104d4565b60006103a360006104e7565b905090565b60006103bc8185858563ffffffff6104f516565b949350505050565b60006103a36000610529565b60006103e2818363ffffffff61054a16565b90505b919050565b60006103fd81848463ffffffff61056616565b90505b92915050565b60006103e2818363ffffffff61057516565b60005490565b60006103e2818363ffffffff61058316565b60006103fd81848463ffffffff61059816565b61045760008585858563ffffffff6105bc16565b50505050565b610470600084848463ffffffff6106dc16565b505050565b61047f60006107b7565b565b6060806104c885858080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509392508791505063ffffffff6107d416565b91509150935093915050565b60006103fd81848463ffffffff6109eb16565b60006103e282600101610a23565b600083815260028501602090815260408083208584529091528120610520908363ffffffff610a6e16565b95945050505050565b600080610535836104e7565b905061054383826000610598565b9392505050565b6000806105578484610583565b90506103bc84826000866104f5565b60006103bc84600085856104f5565b60006103fd83600084610598565b60006103fd600184018363ffffffff610a7a16565b6000828152600284016020908152604080832084845290915281206103bc90610a23565b845460408051808201909152601b81527a14d55357d514915157d2d15657d113d154d7d393d517d1561254d5602a1b602082015290851061067b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610640578181015183820152602001610628565b50505050905090810190601f16801561066d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060006106888686610575565b90506000826106a6576106a1828563ffffffff610a8616565b6106b6565b6106b6828563ffffffff610b0a16565b90506106c6876000888885610b90565b6106d38787878787610bbc565b50505050505050565b835460408051808201909152601b81527a14d55357d514915157d2d15657d113d154d7d393d517d1561254d5602a1b602082015290841061075e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b50600061076b8585610575565b905061077b856000868686610b90565b80821115610798576107938585858486036001610bbc565b6107b0565b808210156107b0576107b08585858585036000610bbc565b5050505050565b6107ce60018281019060009063ffffffff610cd616565b60009055565b60608060008451116040518060400160405280601e81526020017f53554d5f545245455f4d495353494e475f5345415243485f56414c55455300008152509061085e5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b50600061086b8685610d67565b905060008111801561089357508460018651038151811061088857fe5b602002602001015181115b6040518060400160405280601d81526020017f53554d5f545245455f5345415243485f4f55545f4f465f424f554e4453000000815250906109155760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b5060006109228786610583565b905061092c61145a565b6040805160a081019091526001600160401b03871681526020810161095884600163ffffffff610a8616565b8152602001600081526020016000815260200160008152509050600087519050806040519080825280602002602001820160405280156109a2578160200160208202803883390190505b509550806040519080825280602002602001820160405280156109cf578160200160208202803883390190505b5094506109df8989848989610d83565b50505050935093915050565b8254600181018455600090610a01858286610eca565b82156103bc57610a15856000838787610b90565b6103bc858286866001610bbc565b80546000908015610a6557826000016001820381548110610a4057fe5b600091825260209091200154600160401b90046001600160c01b031691506103e59050565b50600092915050565b60006103fd8383610f23565b60006103fd83836110b0565b600082821115604051806040016040528060128152602001714d4154485f5355425f554e444552464c4f5760701b81525090610b035760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b5050900390565b6040805180820190915260118152704d4154485f4144445f4f564552464c4f5760781b60208201526000908383019084821015610b885760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b509392505050565b6000848152600286016020908152604080832086845290915290206107b090838363ffffffff610cd616565b600019846000610bcb886104e7565b905060015b818111610c365760049390931b92918316916000610bef8a8386610598565b9050600086610c0d57610c08828963ffffffff610a8616565b610c1d565b610c1d828963ffffffff610b0a16565b9050610c2c8b84878c85610b90565b5050600101610bd0565b50831580610c4e575084610c4b898385610598565b10155b6040518060400160405280601881526020017753554d5f545245455f5550444154455f4f564552464c4f5760401b81525090610ccb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b505050505050505050565b604080518082019091526018815277434845434b504f494e545f56414c55455f544f4f5f42494760401b60208201526001600160c01b03821115610d5b5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b50610470838383611167565b600080610d748484610583565b90506103bc84826000866112ef565b6020830151600090610d9c90600463ffffffff61131a16565b905060005b60108110156106d3578551856060015110610dbb576106d3565b6040850151600090610dd59083851b63ffffffff610b0a16565b90506000610ded898860200151848a600001516112ef565b90506000610e08828960800151610b0a90919063ffffffff16565b90506000610e1b8a8a60600151846113ae565b90508015610eba576020890151610e4357610e3e896060015182868b878c6113ec565b610e9f565b610e4b61145a565b6040518060a001604052808b600001516001600160401b0316815260200160018c602001510381526020018681526020018b6060015181526020018b608001518152509050610e9d8c8c838c8c610d83565b505b6060890151610eb4908263ffffffff610b0a16565b60608a01525b5060808801525050600101610da1565b6000610ed5846104e7565b9050610ee18184611434565b1561045757600181016000610ef7868483610598565b9050610f07868360008785610b90565b610f1b60018701858463ffffffff610cd616565b505050505050565b815460009080610f37576000915050610400565b8354600019820190859082908110610f4b57fe5b6000918252602090912001546001600160401b0390811690851610610f9f57846000018181548110610f7957fe5b600091825260209091200154600160401b90046001600160c01b03169250610400915050565b84600001600081548110610faf57fe5b6000918252602090912001546001600160401b039081169085161015610fda57600092505050610400565b6000815b8181111561107a5786546002838301600101049060009089908390811061100157fe5b600091825260209091200180549091506001600160401b0390811690891681101561102e57829450611072565b806001600160401b0316896001600160401b0316101561105357600183039350611072565b5054600160401b90046001600160c01b03169550610400945050505050565b505050610fde565b86600001828154811061108957fe5b600091825260209091200154600160401b90046001600160c01b0316979650505050505050565b8154600090806110c4576000915050610400565b83546000198201906000908690839081106110db57fe5b9060005260206000200190505b600082118015611104575080546001600160401b038087169116115b1561112f5785546000199092019186908390811061111e57fe5b9060005260206000200190506110e8565b80546001600160401b0380871691161161115a578054600160401b90046001600160c01b031661115d565b60005b9695505050505050565b82548015806111a5575083546001600160401b038416908590600019810190811061118e57fe5b6000918252602090912001546001600160401b0316105b1561121557604080518082019091526001600160401b0380851682526001600160c01b0380851660208085019182528854600181018a5560008a8152919091209451940180549151909216600160401b0293831667ffffffffffffffff1990911617909116919091179055610457565b600084600001600183038154811061122957fe5b6000918252602091829020018054604080518082019091528381527f434845434b504f494e545f43414e4e4f545f4144445f504153545f56414c5545938101939093529092506001600160401b038681169116146112c85760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b5080546001600160c01b038416600160401b026001600160401b0390911617905550505050565b600083815260028501602090815260408083208584529091528120610520908363ffffffff610a7a16565b60008261132957506000610400565b8282028284828161133657fe5b0414604051806040016040528060118152602001704d4154485f4d554c5f4f564552464c4f5760781b81525090610b885760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610640578181015183820152602001610628565b6000825b8451811080156113d45750828582815181106113ca57fe5b6020026020010151105b156113e1576001016113b2565b929092039392505050565b60005b858110156106d35784848289018151811061140657fe5b60200260200101818152505082828289018151811061142157fe5b60209081029190910101526001016113ef565b60008061144884600463ffffffff61131a16565b600019901b8316151591505092915050565b6040518060a0016040528060006001600160401b0316815260200160008152602001600081526020016000815260200160008152509056fea265627a7a7231582039d7c27c5b2fe78da00e2e4b157421d76b105add1acfca8e66fff4c144e8ff0564736f6c63430005110032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
