{
  "_format": "hh-sol-artifact-1",
  "contractName": "Quoter",
  "sourceName": "contracts/lens/Quoter.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_factory",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_WNativeToken",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_poolDeployer",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "WNativeToken",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "int256",
          "name": "amount0Delta",
          "type": "int256"
        },
        {
          "internalType": "int256",
          "name": "amount1Delta",
          "type": "int256"
        },
        {
          "internalType": "bytes",
          "name": "path",
          "type": "bytes"
        }
      ],
      "name": "algebraSwapCallback",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "factory",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "poolDeployer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "path",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        }
      ],
      "name": "quoteExactInput",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "uint16[]",
          "name": "fees",
          "type": "uint16[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenIn",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenOut",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "uint160",
          "name": "limitSqrtPrice",
          "type": "uint160"
        }
      ],
      "name": "quoteExactInputSingle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "uint16",
          "name": "fee",
          "type": "uint16"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "path",
          "type": "bytes"
        },
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        }
      ],
      "name": "quoteExactOutput",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "uint16[]",
          "name": "fees",
          "type": "uint16[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "tokenIn",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "tokenOut",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "internalType": "uint160",
          "name": "limitSqrtPrice",
          "type": "uint160"
        }
      ],
      "name": "quoteExactOutputSingle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "internalType": "uint16",
          "name": "fee",
          "type": "uint16"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60e06040523480156200001157600080fd5b506040516200167a3803806200167a83398101604081905262000034916200006e565b6001600160a01b03928316608052821660a0521660c052620000b8565b80516001600160a01b03811681146200006957600080fd5b919050565b6000806000606084860312156200008457600080fd5b6200008f8462000051565b92506200009f6020850162000051565b9150620000af6040850162000051565b90509250925092565b60805160a05160c051611585620000f5600039600061014401526000818160f8015281816101e001526108f80152600061017e01526115856000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638af3ac851161005b5780638af3ac851461013f5780639e73c81d14610166578063c45a015514610179578063cdca1753146101a057600080fd5b80632c8958f61461008d5780632d9ebd1d146100a25780632f80bb1d146100d25780633119049a146100f3575b600080fd5b6100a061009b366004611031565b6101b3565b005b6100b56100b03660046110a6565b610357565b6040805192835261ffff9091166020830152015b60405180910390f35b6100e56100e03660046110f9565b61051a565b6040516100c992919061113e565b61011a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100c9565b61011a7f000000000000000000000000000000000000000000000000000000000000000081565b6100b56101743660046110a6565b610600565b61011a7f000000000000000000000000000000000000000000000000000000000000000081565b6100e56101ae3660046110f9565b6107e5565b60008313806101c25750600082135b6101cb57600080fd5b6000806101d7836108b3565b915091506102067f000000000000000000000000000000000000000000000000000000000000000083836108d4565b506000806000808813610252578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610878961024d906111bf565b61028c565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1610888861028c906111bf565b925092509250600061029e86866108f1565b905060008173ffffffffffffffffffffffffffffffffffffffff1663e76c01e46040518163ffffffff1660e01b815260040160e060405180830381865afa1580156102ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610311919061121b565b5050509350505050841561033057604051838152816020820152604081fd5b6000541561034657600054831461034657600080fd5b604051848152816020820152604081fd5b60008073ffffffffffffffffffffffffffffffffffffffff8086169087161061038087876108f1565b73ffffffffffffffffffffffffffffffffffffffff1663128acb0830836103a68961092f565b73ffffffffffffffffffffffffffffffffffffffff8916156103c85788610401565b856103f1576103ec600173fffd8963efd1fc6a506488495d951d5263988d266112b5565b610401565b6104016401000276a360016112e9565b6040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608f811b821660208401528e901b1660348201526048016040516020818303038152906040526040518663ffffffff1660e01b815260040161046c959493929190611384565b60408051808303816000875af19250505080156104c4575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104c1918101906113d6565b60015b61050d573d8080156104f2576040519150601f19603f3d011682016040523d82523d6000602084013e6104f7565b606091505b5061050181610943565b90945092506105109050565b50505b5094509492505050565b6000606061052784610a2a565b67ffffffffffffffff81111561053f5761053f610f17565b604051908082528060200260200182016040528015610568578160200160208202803683370190505b50905060005b600061057986610a45565b9050600080610587886108b3565b915091506105988183896000610600565b8686815181106105aa576105aa6113fa565b602002602001018161ffff1661ffff16815250819850505082156105d8576105d188610a68565b97506105e4565b869550505050506105f9565b836105ee81611429565b94505050505061056e565b9250929050565b60008073ffffffffffffffffffffffffffffffffffffffff80861687821610908416820361062e5760008590555b61063887876108f1565b73ffffffffffffffffffffffffffffffffffffffff1663128acb08308361065e8961092f565b610667906111bf565b73ffffffffffffffffffffffffffffffffffffffff89161561068957886106c2565b856106b2576106ad600173fffd8963efd1fc6a506488495d951d5263988d266112b5565b6106c2565b6106c26401000276a360016112e9565b6040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608e811b821660208401528f901b1660348201526048016040516020818303038152906040526040518663ffffffff1660e01b815260040161072d959493929190611384565b60408051808303816000875af1925050508015610785575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610782918101906113d6565b60015b61050d573d8080156107b3576040519150601f19603f3d011682016040523d82523d6000602084013e6107b8565b606091505b508473ffffffffffffffffffffffffffffffffffffffff166000036107dc57600080555b61050181610943565b600060606107f284610a2a565b67ffffffffffffffff81111561080a5761080a610f17565b604051908082528060200260200182016040528015610833578160200160208202803683370190505b50905060005b600061084486610a45565b9050600080610852886108b3565b915091506108638282896000610357565b868681518110610875576108756113fa565b602002602001018161ffff1661ffff16815250819850505082156105d85761089c88610a68565b9750836108a881611429565b945050505050610839565b6000806108c08382610a84565b91506108cd836014610a84565b9050915091565b60006108e9846108e48585610b14565b610b8f565b949350505050565b60006109267f00000000000000000000000000000000000000000000000000000000000000006109218585610b14565b610bbf565b90505b92915050565b80600081121561093e57600080fd5b919050565b6000808251604014610a0d576044835110156109c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f556e6578706563746564206572726f720000000000000000000000000000000060448201526064015b60405180910390fd5b600483019250828060200190518101906109da9190611461565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b791906114d8565b82806020019051810190610a2191906114eb565b91509150915091565b60006014808351610a3b9190611517565b610929919061152a565b60006014610a538180611565565b610a5d9190611565565b825110159050919050565b60606109296014808451610a7c9190611517565b849190610d9d565b6000610a91826014611565565b83511015610afb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e6473000000000000000000000060448201526064016109b7565b5001602001516c01000000000000000000000000900490565b60408051808201909152600080825260208201528173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161115610b60579091905b506040805180820190915273ffffffffffffffffffffffffffffffffffffffff92831681529116602082015290565b6000610b9b8383610bbf565b90503373ffffffffffffffffffffffffffffffffffffffff82161461092957600080fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1610610c5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c6964206f72646572206f6620746f6b656e7300000000000000000060448201526064016109b7565b8282600001518360200151604051602001610c9c92919073ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290528051602091820120610d60939290917fa360004fb86ddf4cd7fe9aa67d0c6a7f7812d9069142659003dc503e1d7d241f91017fff00000000000000000000000000000000000000000000000000000000000000815260609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830191909152603582015260550190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101209392505050565b606081610dab81601f611565565b1015610e13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016109b7565b610e1d8284611565565b84511015610e87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e647300000000000000000000000000000060448201526064016109b7565b606082158015610ea65760405191506000825260208201604052610f0e565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610edf578051835260209283019201610ec7565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f8d57610f8d610f17565b604052919050565b600067ffffffffffffffff821115610faf57610faf610f17565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112610fec57600080fd5b8135610fff610ffa82610f95565b610f46565b81815284602083860101111561101457600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561104657600080fd5b8335925060208401359150604084013567ffffffffffffffff81111561106b57600080fd5b61107786828701610fdb565b9150509250925092565b73ffffffffffffffffffffffffffffffffffffffff811681146110a357600080fd5b50565b600080600080608085870312156110bc57600080fd5b84356110c781611081565b935060208501356110d781611081565b92506040850135915060608501356110ee81611081565b939692955090935050565b6000806040838503121561110c57600080fd5b823567ffffffffffffffff81111561112357600080fd5b61112f85828601610fdb565b95602094909401359450505050565b6000604082018483526020604081850152818551808452606086019150828701935060005b8181101561118357845161ffff1683529383019391830191600101611163565b5090979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007f800000000000000000000000000000000000000000000000000000000000000082036111f0576111f0611190565b5060000390565b8051600281900b811461093e57600080fd5b805161ffff8116811461093e57600080fd5b600080600080600080600060e0888a03121561123657600080fd5b875161124181611081565b965061124f602089016111f7565b955061125d604089016111f7565b945061126b60608901611209565b935061127960808901611209565b925060a088015160ff8116811461128f57600080fd5b60c089015190925080151581146112a557600080fd5b8091505092959891949750929550565b73ffffffffffffffffffffffffffffffffffffffff8281168282160390808211156112e2576112e2611190565b5092915050565b73ffffffffffffffffffffffffffffffffffffffff8181168382160190808211156112e2576112e2611190565b60005b83811015611331578181015183820152602001611319565b50506000910152565b60008151808452611352816020860160208601611316565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a060808301526113cb60a083018461133a565b979650505050505050565b600080604083850312156113e957600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361145a5761145a611190565b5060010190565b60006020828403121561147357600080fd5b815167ffffffffffffffff81111561148a57600080fd5b8201601f8101841361149b57600080fd5b80516114a9610ffa82610f95565b8181528560208385010111156114be57600080fd5b6114cf826020830160208601611316565b95945050505050565b602081526000610926602083018461133a565b600080604083850312156114fe57600080fd5b8251915061150e60208401611209565b90509250929050565b8181038181111561092957610929611190565b600082611560577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808201808211156109295761092961119056fea164736f6c6343000811000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638af3ac851161005b5780638af3ac851461013f5780639e73c81d14610166578063c45a015514610179578063cdca1753146101a057600080fd5b80632c8958f61461008d5780632d9ebd1d146100a25780632f80bb1d146100d25780633119049a146100f3575b600080fd5b6100a061009b366004611031565b6101b3565b005b6100b56100b03660046110a6565b610357565b6040805192835261ffff9091166020830152015b60405180910390f35b6100e56100e03660046110f9565b61051a565b6040516100c992919061113e565b61011a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100c9565b61011a7f000000000000000000000000000000000000000000000000000000000000000081565b6100b56101743660046110a6565b610600565b61011a7f000000000000000000000000000000000000000000000000000000000000000081565b6100e56101ae3660046110f9565b6107e5565b60008313806101c25750600082135b6101cb57600080fd5b6000806101d7836108b3565b915091506102067f000000000000000000000000000000000000000000000000000000000000000083836108d4565b506000806000808813610252578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610878961024d906111bf565b61028c565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1610888861028c906111bf565b925092509250600061029e86866108f1565b905060008173ffffffffffffffffffffffffffffffffffffffff1663e76c01e46040518163ffffffff1660e01b815260040160e060405180830381865afa1580156102ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610311919061121b565b5050509350505050841561033057604051838152816020820152604081fd5b6000541561034657600054831461034657600080fd5b604051848152816020820152604081fd5b60008073ffffffffffffffffffffffffffffffffffffffff8086169087161061038087876108f1565b73ffffffffffffffffffffffffffffffffffffffff1663128acb0830836103a68961092f565b73ffffffffffffffffffffffffffffffffffffffff8916156103c85788610401565b856103f1576103ec600173fffd8963efd1fc6a506488495d951d5263988d266112b5565b610401565b6104016401000276a360016112e9565b6040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608f811b821660208401528e901b1660348201526048016040516020818303038152906040526040518663ffffffff1660e01b815260040161046c959493929190611384565b60408051808303816000875af19250505080156104c4575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104c1918101906113d6565b60015b61050d573d8080156104f2576040519150601f19603f3d011682016040523d82523d6000602084013e6104f7565b606091505b5061050181610943565b90945092506105109050565b50505b5094509492505050565b6000606061052784610a2a565b67ffffffffffffffff81111561053f5761053f610f17565b604051908082528060200260200182016040528015610568578160200160208202803683370190505b50905060005b600061057986610a45565b9050600080610587886108b3565b915091506105988183896000610600565b8686815181106105aa576105aa6113fa565b602002602001018161ffff1661ffff16815250819850505082156105d8576105d188610a68565b97506105e4565b869550505050506105f9565b836105ee81611429565b94505050505061056e565b9250929050565b60008073ffffffffffffffffffffffffffffffffffffffff80861687821610908416820361062e5760008590555b61063887876108f1565b73ffffffffffffffffffffffffffffffffffffffff1663128acb08308361065e8961092f565b610667906111bf565b73ffffffffffffffffffffffffffffffffffffffff89161561068957886106c2565b856106b2576106ad600173fffd8963efd1fc6a506488495d951d5263988d266112b5565b6106c2565b6106c26401000276a360016112e9565b6040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608e811b821660208401528f901b1660348201526048016040516020818303038152906040526040518663ffffffff1660e01b815260040161072d959493929190611384565b60408051808303816000875af1925050508015610785575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610782918101906113d6565b60015b61050d573d8080156107b3576040519150601f19603f3d011682016040523d82523d6000602084013e6107b8565b606091505b508473ffffffffffffffffffffffffffffffffffffffff166000036107dc57600080555b61050181610943565b600060606107f284610a2a565b67ffffffffffffffff81111561080a5761080a610f17565b604051908082528060200260200182016040528015610833578160200160208202803683370190505b50905060005b600061084486610a45565b9050600080610852886108b3565b915091506108638282896000610357565b868681518110610875576108756113fa565b602002602001018161ffff1661ffff16815250819850505082156105d85761089c88610a68565b9750836108a881611429565b945050505050610839565b6000806108c08382610a84565b91506108cd836014610a84565b9050915091565b60006108e9846108e48585610b14565b610b8f565b949350505050565b60006109267f00000000000000000000000000000000000000000000000000000000000000006109218585610b14565b610bbf565b90505b92915050565b80600081121561093e57600080fd5b919050565b6000808251604014610a0d576044835110156109c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f556e6578706563746564206572726f720000000000000000000000000000000060448201526064015b60405180910390fd5b600483019250828060200190518101906109da9190611461565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b791906114d8565b82806020019051810190610a2191906114eb565b91509150915091565b60006014808351610a3b9190611517565b610929919061152a565b60006014610a538180611565565b610a5d9190611565565b825110159050919050565b60606109296014808451610a7c9190611517565b849190610d9d565b6000610a91826014611565565b83511015610afb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e6473000000000000000000000060448201526064016109b7565b5001602001516c01000000000000000000000000900490565b60408051808201909152600080825260208201528173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161115610b60579091905b506040805180820190915273ffffffffffffffffffffffffffffffffffffffff92831681529116602082015290565b6000610b9b8383610bbf565b90503373ffffffffffffffffffffffffffffffffffffffff82161461092957600080fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1610610c5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c6964206f72646572206f6620746f6b656e7300000000000000000060448201526064016109b7565b8282600001518360200151604051602001610c9c92919073ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290528051602091820120610d60939290917fa360004fb86ddf4cd7fe9aa67d0c6a7f7812d9069142659003dc503e1d7d241f91017fff00000000000000000000000000000000000000000000000000000000000000815260609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830191909152603582015260550190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101209392505050565b606081610dab81601f611565565b1015610e13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016109b7565b610e1d8284611565565b84511015610e87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e647300000000000000000000000000000060448201526064016109b7565b606082158015610ea65760405191506000825260208201604052610f0e565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610edf578051835260209283019201610ec7565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610f8d57610f8d610f17565b604052919050565b600067ffffffffffffffff821115610faf57610faf610f17565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112610fec57600080fd5b8135610fff610ffa82610f95565b610f46565b81815284602083860101111561101457600080fd5b816020850160208301376000918101602001919091529392505050565b60008060006060848603121561104657600080fd5b8335925060208401359150604084013567ffffffffffffffff81111561106b57600080fd5b61107786828701610fdb565b9150509250925092565b73ffffffffffffffffffffffffffffffffffffffff811681146110a357600080fd5b50565b600080600080608085870312156110bc57600080fd5b84356110c781611081565b935060208501356110d781611081565b92506040850135915060608501356110ee81611081565b939692955090935050565b6000806040838503121561110c57600080fd5b823567ffffffffffffffff81111561112357600080fd5b61112f85828601610fdb565b95602094909401359450505050565b6000604082018483526020604081850152818551808452606086019150828701935060005b8181101561118357845161ffff1683529383019391830191600101611163565b5090979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007f800000000000000000000000000000000000000000000000000000000000000082036111f0576111f0611190565b5060000390565b8051600281900b811461093e57600080fd5b805161ffff8116811461093e57600080fd5b600080600080600080600060e0888a03121561123657600080fd5b875161124181611081565b965061124f602089016111f7565b955061125d604089016111f7565b945061126b60608901611209565b935061127960808901611209565b925060a088015160ff8116811461128f57600080fd5b60c089015190925080151581146112a557600080fd5b8091505092959891949750929550565b73ffffffffffffffffffffffffffffffffffffffff8281168282160390808211156112e2576112e2611190565b5092915050565b73ffffffffffffffffffffffffffffffffffffffff8181168382160190808211156112e2576112e2611190565b60005b83811015611331578181015183820152602001611319565b50506000910152565b60008151808452611352816020860160208601611316565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a060808301526113cb60a083018461133a565b979650505050505050565b600080604083850312156113e957600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361145a5761145a611190565b5060010190565b60006020828403121561147357600080fd5b815167ffffffffffffffff81111561148a57600080fd5b8201601f8101841361149b57600080fd5b80516114a9610ffa82610f95565b8181528560208385010111156114be57600080fd5b6114cf826020830160208601611316565b95945050505050565b602081526000610926602083018461133a565b600080604083850312156114fe57600080fd5b8251915061150e60208401611209565b90509250929050565b8181038181111561092957610929611190565b600082611560577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808201808211156109295761092961119056fea164736f6c6343000811000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
